ColdFusioning.com
Pronunciation \kold-fy-zhn-ing\ Noun: The actions of one that writes ColdFusion.

Please check out my new site: http://ja.mesbrown.com/

Adobe Max 2011 and Responsive CSS

Earlier this month, I attended Adobe Max 2011. It was a great conference and I highly recommend anybody who is considering attending to sign-up as soon as possible.

While on the cross-country flight out to Los Angeles, I saw post on Twitter that once of the pre-conference instructors was stuck in Europe and wouldn't be able to make it in time for his class. The class was "Adobe ColdFusion and Modern Web Front Ends" and a request was posted for a substitute teacher. Naturally, since I work with Adobe ColdFusion and modern web front ends everyday, I volunteered to teach the class (finding out later it was a 7 hour class :) ). I was sent the presentation and class materials on the plane and dove in.

The next morning, we explained the situation to the class and they were very understanding. We went through the course material throughout the day and, except for one ColdFusion bug in the demo code, everything went really smoothly. The class was amazing and asked great questions.

As promised, below is a list of links we reviewed in the class:

Responsive CSS Examples
http://meltmedia.com/
http://www.kayakcapers.co.uk/
http://2011.dconstruct.org/

Fluid Images
http://unstoppablerobotninja.com/entry/fluid-images/

Browser Tools
http://resizemybrowser.com/

HTML5 Resources
http://html5boilerplate.com
http://www.modernizr.com/
http://diveinto.html5doctor.com/
http://stuffandnonsense.co.uk/projects/320andup/

If anybody has an questions from the class or any of the material covered, please let me know.

I'm speaking at NCDevCon 2011!

I am very honored to have been selected to speak at NCDevCon 2011! The event is September 17-18th, 2011. If you'd like to come hear me (or these other great speakers ) be sure not to miss this event. My topic is "Building lightning fast mobile & desktop web applications". We'll be exploring different techniques to build extremely fast and responsive web applications. We'll also look at Backbone.js and using it to build Single Page Web Applications (SPWA).

If there is anything specific you'd like me to address or specifically speak on, either related to 'lightning fast mobile & desktop web applications" or Backbone.js specifically, let me know in the comments below.

See you in Raleigh, NC on September 17 - 18, 2011!

Undocumented and Off Script: ColdFusion & Ehcache (Rob Brooks-Bilson)

I had a lot of interest in this topic, so I decided to take notes during the meeting. Rob Brooks-Bilson covered a lot of data and I made bullet points as he spoke. He has since posted his slides online so you can see the slides that go with my notes. Please let me know if you have any questions.

More notes here:
  • Lot of different areas to cache... multiple opportunities
  • Multiple caching architectures
    • In-Process (L1 Cache)
      • Operates in the same process as application server
      • Super fast
    • Out of Process (L2 Cache)
      • Add on Terracoda
      • Much more scalable but slower than in-process
      • Data/objects must be serialized/deserialized
  • Non-deterministic (cache-aside)
    • Look in the cache, if not there, hit the db
    • most popular
  • Deterministic (cache as sor)
    • Always go to the cache
    • All cache data is pre-populated
  • Cache Eviction Algorithms
    • Time-based
    • Cost based
      • FIFO
      • LRU
      • LFU
        • Unique to Ehcache
  • Ehcache
    • De facto cache for enterprise Java and ColdFusion
    • Over 500K implementations
    • Can be configured to run
      • Local: In-process
      • Replicated: in-process
      • Distributed: In-process and Out of process
    • Super fast for in-process
    • No serializations required for objects written to memory
    • Supports multiple expiration algoritms
  • Coldfusion
    • page fragment
    • objects and data
    • ORM
    • 9.0.1 addedl more support
    • Ehcache 2.0 added a lot more support
  • Don't cache to disk unless you absolutely have to
    • Consider using RAM based
    • "Put as much in memory as you can, use disk for failover"
  • Every ColdFusion application has two available caches by default
    • cfcache - template based, fairly automatic
    • object cache - put queries, objects, etc - 'cache anything'
  • Default caches are bound to named applications (Application.cfc or Application.cfm)
    • Caches are NOT tied to ColdFusion scopes
    • Caches persist even if the bound application scope times out
  • Additional user-defined caches can be defined
  • ehcache.xml
    • Tons of options to configure
    • Can be set dynamically using cacheSetProperties() or set in the xml
    • Get the cache properties using the cacheGetProperties()
  • Ehcache vs Persistent Variable Scopes
    • Why use Ehcache instead?
    • Limit to session scope
    • Ehcache advantages
      • Performs well regardless of load
      • Easily replicated/distributed
      • Self-managing
      • Comprehensive monitoring and statistics
      • Search
      • Big memory
    • Performance is about the same
  • Object Caching Considerations
    • Carefully consider how you plan to use keys to avoid potential key collision
    • No namespace, but simulate them using User_, Product_, Item_, etc.
    • Or use multiple caches regions
    • Objects (including queries) are stored by reference - BE CAREFUL! - Or you can turn it off
    • Only serializable objects can be written to the disk cache
    • Be careful using cacheGetAllIDs() - with millions of items, could be a problem
  • Cache Replication
    • Object, Template & Hibernate caches can be replicated
    • Simple config
    • Cache replications can be done via RMI, JMS, jGroups or Terracotta
    • Replication can be synchronous or async
    • Sync vs Async
      • Async is fastest
      • Potential for data inconsistency 
  • Upgrading to Newer versions of Ehcache or Terracotta
    • Adobe won't support but shouldn't have any problems
    • Ehcache upgrade is easy
    • Terracotta takes a few more steps
  • Using Ehcache with Terracotta
    • Tiered Caching Architecture
    • L1 in process, L2 out of process
    • Enterprise Terracotta lets you scale out and setup terabytes
    • 80/20 rule
    • Terracotta has a great dashboard / dev tools
  • Slides available afterwards - 20-30 more slides
  • Ehcache Monitor
    • Free for development, commercial license for production
    • Monitor multiple cache servers from a single web console
    • Two components, probe and server
    • Simple config
    • Stats are transmitted via XML over HTTP
  • Cache Search
    • Available starting in Ehcache 2.4.0
    • Single node for open source
      • Multi node requires Enterprise
    • Support for simple and compound functions
      • Provides search operators (think AND, EQ, GT, LE, NOT, OR)
    • Very powerful - no ColdFusion functions exposed but Java/Ehcache commands are very easy to use
  • Ehcache 2.x Engancements
    • Cachewriters
    • Read-through
    • Blocking-cache
    • SelfPopulatingCache
    • Support for distributed transactions
    • Big Memory
  • Resources

cfObjective Keynote Notes

This week, I'm attending cfObjective for the first time. Below are some of my quick notes from the cfObjective Keynote. They are down and dirty but if you have any questions, leave a comment. Also, make sure you check out the cfObjective Twitter Feed. There's some great presentations over the next day.

Scott Stroz

  • "God is a PHP Developer, it took him 6 days to create everything, if he was a CF developer it would only take 4 days, and then a 3 day weekend"
  • The thing that sets us apart is the community
  • Ray Camden

  • Speaking about CFB2
  • "If you see 4 numbers at the bottom of your file, you're doing it wrong.
  • Jason Dean

  • Speaking about ColdFusion developers and jobs
  • Use students and interns
  • Bob Silverberg

  • Speaking about open source involvement
  • Contributing to documentation helps too
  • Mark Esher

  • Next version of ColdFusion
  • jRun is going away and Verity is too
  • Apache Solr is going to continue to be included for search
  • Apache Axis2 included in the next version of ColdFusion
  • Great scheduled tasks support. Application specific tasks.
  • Async job queue in next version of ColdFusion
  • "Something cool" coming with HTML5 and jQuery
  • Next version of ColdFusion will include support for closures
  • Big advances in Security in the next version
  • Also check out this online shared Google Doc for more notes.

    AdobeMAX Session Posted About AdobeTV

    If you missed my presentation on AdobeTV at AdobeMAX, you can check it out below or AdobeTV.

    Is this thing on?

    Welcome to the new layout for ColdFusioning.com and ibjhb.com!

    The new site layout contains many improvements and will allow me more room to post code and add features on ibjhb.com.

    Let me know what you think or if you have any other ideas!

    Could Not Find The ColdFusion Component Or Interface

    I recently ran into this error while using ColdFusion 9 on a Mac. I was trying to use the new feed() function in cfscript. So naturally, I Googled it to see if anybody else had ran into the same thing. Well, Todd Sharp had, so I went into my cfadmin and checked my Custom Tag Paths.

    Oddly enough, my tag path was there!

    Really weird. I opened the path in Finder, and there were a few cfcs, but feed was specifically missing (there were others too).

    So I checked another server (Windows) and it had them all! I copied them from one server to the other, and everything worked. I'm not sure why they didn't install on the Mac but they weren't there.

    Thanks Todd for sending me in the right direction.

    Tour de ColdFusion Contribution Night - CS5 Web Premium & CFB Giveaway

    On Wednesday night, I have the pleasure of traveling to San Francisco and attending the Tour de ColdFusion Contribution Night.

    I am pleased to announce that at the Tour de ColdFusion Contribution Night, thanks to Adobe and Greg Wilson, we will be giving away a copy of Adobe CS5 Web Premium (Windows) and a copy of ColdFusion Builder!



    Come out to the Adobe San Francisco Offices at 6:30 PM on Wednesday, September 15th and help contribute to the Tour de ColdFusion. I will be leaving it up to the User Group organizers on how to determine the winners but we will be giving away a copy of each piece of software.

    Hope to see everyone there. Look for a large update to the Tour de ColdFusion later this week!

    ColdFusion / Railo Object Relational Mapping - ORM Source Code and Notes

    Tonight I gave a presentation on using ORM with ColdFusion or Railo. You can watch the recorded presentation on Adobe Connect. As promised, I'm publishing the source code from the meeting.

    Since the code uses ColdBox and a database, it requires some setup. If you follow the steps below, you'll be able to get setup to run the examples:

    • Setup ColdBox with a mapping ("/coldbox") to the ColdBox source
      (I'm using Version 3115)
    • Unzip the source files to a empty directory
    • Setup a new site (I'm using "http://office.scribble/" in the examples)
    • In ColdFusion Admin
      • Setup a mapping "scribble" that points at the directory
      • Create a datasource pointing at a new database
    • Update Application.cfc with the new datasource (line 24)
    • Call the application from the browser

    At this point, you should see the ColdBox version number and a list of actions. You'll want to run the "Reload" link first so the tables are all created. I'm not sure why, but if you receive an error on the "Reload" page, refresh the browser a couple times and I'll complete properly.

    If you have problems setting up ColdBox, please refer to the ColdBox Documentation at http://wiki.coldbox.org/

    Most of the code you'll be utilizing is in either /handlers/dev/ or /model/objects/

    Also, I added a deleteContact example that wasn't covered in the presentation. It should be pretty self explanatory.

    Lastly, this code is a basis to build on and should not be used in a production environment.

    If you have any questions or problems, please leave a comment below.

    Download Source Code



    Object Relational Mapping (ORM) in ColdFusion 9 and Railo Free Presentation

    Tomorrow night I will be presenting on using ORM with ColdFusion and Railo. We'll be looking at the concepts behind ORM but will also be exploring code samples and practical, real-world utilization of ORM.

    The presentation will be in Tampa, FL and will also be offered via Adobe Acrobat Connect. That's right, we'll be broadcasting live and accepting questions from remote attendees!

    If you ever have wondered what ORM was and how you could use it or if you're already using ORM but would like to learn more and solidify your understanding, this is the presentation to attend.

    View more information or register over on Meetup.

    More Entries

    Recent Comments

    RSS

    Subscribe