<?xml version="1.0" encoding="utf-8"?>          <rss version="2.0">     <channel>     <title>Cozmo&apos;s Dev Blog - Working Smart</title>     <link>http://www.myinternetisbroken.com/index.cfm</link>     <description>The Dev Blog</description>     <language>en-us</language>     <pubDate>Sun, 05 Sep 2010 08:25:15-0700</pubDate>     <lastBuildDate>Sun, 19 Jul 2009 05:15:00-0700</lastBuildDate>     <generator>BlogCFC</generator>     <docs>http://blogs.law.harvard.edu/tech/rss</docs>     <managingEditor>coz@myinternetisbroken.com</managingEditor>     <webMaster>coz@myinternetisbroken.com</webMaster>          <item>      <title>Why OO Rocks</title>      <link>http://www.myinternetisbroken.com/index.cfm/2009/7/19/Why-OO-Rocks</link>      <description>            It is late, I am really, really, tired but I am going to weigh in on this debate over whether OO is worth it or not. I offer this nugget of fun. I wrote a wrapper for the default CFC&apos;s created by Illudium a while back.   This is all the code I need to do the following database operations with only the contents of a struct (form in this case): INSERT, UPDATE, SELECT, DELETE, &lt;b&gt;AND&lt;/b&gt; UPDATE a many to many look up table &lt;code&gt; &lt;cfscript&gt;   databaseService.Update(MyTable, form);  Select_ARTISTS = databaseService.Select(MyTable, form, orderby, &quot;true&quot;);  databaseService.insertinto(MyTable, form);   databaseService.Delete(MyTable, form);   databaseService.saveManyToMany(&quot;ORDERITEMS&quot;, MyFK, MyFKvalue, manyfield, manyValueList); &lt;/cfscript&gt;   // I even wrote a custom tag for it  &lt;cf_query    dbaction = &quot;select/upsert/delete&quot;  table =&quot;sometable&quot;   variables=&quot;#somestruct#&quot;    cflocation=&quot;#script_name#?event=action.#section#.#nav#&quot; &gt;   &lt;/code&gt;  &lt;br /&gt;  Mind you I am one of those &quot;old skool&quot; CFers that picked up OO in the last couple of years. So it can be done. It just takes some (hard) work, but no harder than learning CF to begin with... No really. It just takes time and deliberate practice and it &lt;b&gt;will&lt;/b&gt; pay off. Just like anything else worth while.  Update: 7/20/2009 8:06:03 PM  I was asked about the wrapper for the Illudium CFC&apos;s and I will be releasing it later on this week   G OUT!!!       </description>            <category>OO</category>                <category>Learning</category>                <category>Meta programming</category>                <category>Working Smart</category>                <pubDate>Sun, 19 Jul 2009 05:15:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2009/7/19/Why-OO-Rocks</guid>           </item>          <item>      <title>Seeking  recommendations  for a drop down menu (tabs)</title>      <link>http://www.myinternetisbroken.com/index.cfm/2009/5/19/Seeking--recommendations--for-a-drop-down-menu-tabs</link>      <description>            I have a very finicky and non trivial CSS based layout that I have finally worked all the kinks out of. Actually it is only finicky in IE. Now the powers that be want to add drop down menus (tabs) the top nav bar that use the &lt;a href=&quot;http://www.alistapart.com/articles/slidingdoors/&quot; target=&quot;_blank&quot;&gt;sliding door rounded corner technique&lt;/a&gt;.  I have tried a bunch of menuing systems: Dynamic Drive menus, Spry, some jQuery plugins, Massimo&apos;s hiermenu and a bunch of stuff I found off of the Google and all of them have problems of one sort or another. I can&apos;t position it correctly, it trows off other page elementsm the drop down columns are mis-aligned etc... forever and ever, world with out end. Amen.  I posted this to CF_talk a few months back (the site got shelved since then and it is back in production) and though I would hit up the blogosphere.. Has anybody out there had any luck with this and can recommend a tabbed menu dropdown solution?  The primary requirement are: &lt;ul&gt;  &lt;li&gt;It can have sub menus&lt;/li&gt;  &lt;li&gt;W3C XHTML compliant.&lt;/li&gt;  &lt;li&gt;Allows for text based links&lt;/li&gt; &lt;/ul&gt;    These are the Menus that I have tried so far: &lt;ul&gt;     &lt;li&gt;&lt;a href=&quot;http://labs.adobe.com/technologies/spry/samples/menubar/MenuBarSample.html&quot;  target=&quot;_blank&quot;&gt;Spry Menu bar &lt;/a&gt;&lt;/li&gt;     &lt;li&gt;&lt;a href=&quot;http://www.massimocorner.com/&quot; target=&quot;_blank&quot;&gt;Massimo&apos;s hiermenu Hiermenu 1.1 &lt;/a&gt;&lt;/li&gt;     &lt;li&gt;&lt;a href=&quot;http://www.cssmenus.co.uk/&quot; target=&quot;_blank&quot;&gt;CSS menus&lt;/a&gt; &lt;/li&gt;     &lt;li&gt;&lt;a href=&quot;http://www.softcomplex.com/products/tigra_menu/&quot; target=&quot;_blank&quot;&gt;tigra menus &lt;/a&gt;&lt;/li&gt;     &lt;li&gt;&lt;a href=&quot;http://www.dynamicdrive.com&quot; target=&quot;_blank&quot;&gt;AnyLink CSS Menu (Dynamic Drive DHTML) &lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; (ot)     Pleas leave a comment below. Many TIA!!!       </description>            <category>Stupid Shite</category>                <category>Tools</category>                <category>Bad code</category>                <category>Interweb</category>                <category>Working Smart</category>                <pubDate>Tue, 19 May 2009 20:22:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2009/5/19/Seeking--recommendations--for-a-drop-down-menu-tabs</guid>           </item>          <item>      <title>The best  part about FOSS (Free and Open Source Software) is not that it is free.</title>      <link>http://www.myinternetisbroken.com/index.cfm/2009/5/7/The-best--part-about-FOSS-Free-and-Open-Source-Software-is-not-that-it-is-free</link>      <description>            I used to look at FOSS as a means to get free software: MySQL, Apache, Eclipse etc... FOSS is part of my day to day affairs and I dare say the best thing to ever happen to software and software developers.  But for me, FOSS is the best programming howto guide there is. It is like a living text book that is always getting better. I have learned more from reading other peoples source code than I have from any book, blog post or article. Being an autodidact, reading source code makes much sense than reading the English words used to describe the programming concepts.  Just this week I was asked to R&amp;D a bunch of stuff and I found solutions for all the CF stuff by going to either CFLib.org or RIAForge.org. (Mad props to Ray Camden for making those sites. You saved my ass twice this week dude! Rock On with your bad ass self!)  Those sites are gold mines for CF programming knowledge. I have been turned on to so many new ideas and concepts by the folks that have shared their work that I want to give a shout out and thank you to y&apos;all. &lt;h3&gt;Thank you!!&lt;/h3&gt; &lt;br /&gt;&lt;br /&gt;       </description>            <category>Working Smart</category>                <category>Tools</category>                <category>Open Sores</category>                <category>Learning</category>                <category>Gerneral Coolness</category>                <category>ColdFusion</category>                <pubDate>Thu, 07 May 2009 02:00:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2009/5/7/The-best--part-about-FOSS-Free-and-Open-Source-Software-is-not-that-it-is-free</guid>           </item>          <item>      <title>A Quick and Dirty CSS Viewer.</title>      <link>http://www.myinternetisbroken.com/index.cfm/2009/4/29/A-Quick-and-Dirty-CSS-browser</link>      <description>            When I work on a site with CSS that I am not familiar with I find this little widget to be very handy.  I simply took Shlomy Gantz&apos;s  &lt;a href=&quot;http://www.cflib.org/index.cfm?event=page.udfbyid&amp;udfid=1361&quot; target=&quot;_blank&quot;&gt;viewCSS() function&lt;/a&gt; from &lt;a href=&quot;http://www.cflib.org/&quot; target=&quot;_blank&quot;&gt;CFLib.org&lt;/a&gt;  and pointed it to my CSS files and voila I have a visual representation of all the CSS styles for the included style sheets. It is far from perfect and works best with text related CSS but the only real problem so far is that it tends to barf on /* CSS comments*/. But that is a pretty minor issue.   Here is a &lt;a href=&quot;http://www.myinternetisbroken.com/files/CSS_Browser.zip&quot; target=&quot;_blank&quot;&gt;zip file with the code&lt;/a&gt;.  &lt;a href=&quot;http://www.myinternetisbroken.com/CSS_Browser.cfm&quot; target=&quot;_blank&quot;&gt;Here are the Styles for this site&lt;/a&gt;  The code is ridiculously simple  &lt;code&gt; &lt;cfscript&gt; function viewCSS(cssCode) {  var i =&quot;&quot;;  var cssItem=&quot;&quot;;  var ret=&quot;&quot;;  for(i=1;i lte listlen(arguments.cssCode,&apos;}&apos;);i=i+1) {   cssItem = listgetAt(arguments.cssCode,i,&apos;}&apos;);   if(findNocase(&apos;{&apos;,cssItem)) ret = ret &amp; &apos;&lt;div style=&quot;#trim(mid(cssItem,findNocase(&quot;{&quot;,cssItem)+1,len(cssItem)))#&quot;&gt;#trim(mid(cssItem,1,findNocase(&quot;{&quot;,cssItem)-1))#&lt;/div&gt;&lt;br&gt;&apos;;  }  return ret; } &lt;/cfscript&gt;     &lt;!--- Include any CSS files you want to view ---&gt; &lt;cfsavecontent variable=&quot;cssTxt&quot;&gt;  &lt;cfinclude template=&quot;stylel_ie.css&quot;&gt;  &lt;cfinclude template=&quot;style.css&quot;&gt;  &lt;cfinclude template=&quot;form.css&quot;&gt; &lt;/cfsavecontent&gt; &lt;cfoutput&gt;#viewCSS(cssTxt)#&lt;/cfoutput&gt;  &lt;/code&gt;       </description>            <category>Tools</category>                <category>Working Smart</category>                <pubDate>Wed, 29 Apr 2009 17:28:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2009/4/29/A-Quick-and-Dirty-CSS-browser</guid>            <enclosure url="http://www.myinternetisbroken.com/enclosures/CSS_Browser.zip" length="1003" type="application/x-zip"/>           </item>          <item>      <title>A Paradigm shift (Or how to learn OOP on the job with out screwing up).</title>      <link>http://www.myinternetisbroken.com/index.cfm/2009/4/13/A-Paradigm-shift-Or-how-to-learn-OOP-on-the-job-with-out-screwing-up</link>      <description>            I have been banging my head against CFOOP for about a year or two and thought I would share some of my tricks, trials and tribulations.  I just noticed how my thinking has changed when developing apps these days.  Huh... Thinking about thinking is meta-cognition. So what do you call thinking about what you are thinking about when thinking about metadata? I smell a &lt;a href=&quot;http://www.youtube.com/watch?v=oep4mRpmrkQ&amp;feature=related&quot;  target=&quot;_blank&quot;&gt;cognitive infinite recursive loop&lt;/a&gt; in the making. (Note to self.. Tell brain to STFU for a minute so I can finish this blog entry FFS)&lt;br /&gt;&lt;br /&gt; Anyways...  1. I write the procedural code to get the things I need done. I don&apos;t even think about OO at this point.  2. I turn everything into functions and try to atomize things as much as I can (where  it makes sense to at least).  3. Then I create a CFC (or CFCs) to organise my functions  4. Then I rewrite my procedural code to incorporate my cfcs/functions  5. I turn THAT code into another function or set of functions   6. And then I turn THAT set of functions into another CFC (0ne ring to rule them all). IIRC this is your service layer.  I got into this whole head set from reading  &lt;a href=&quot;http://oreilly.com/catalog/9780596008673/&quot; target=&quot;_blank&quot;&gt;Head First Object-Oriented Analysis and Design&lt;/a&gt;. &lt;br /&gt; &lt;br /&gt;Taking on this approach has really helped me a lot. When you are getting into a new discipline /paradigm shift /cognitive restructuring such as OOP it can be *VERY* overwhelming and it is *all too easy* to think yourself utterly stupid to the point where you are a quivering blob of &quot;WTF?&quot; before you even &lt;b&gt;write your first line of code&lt;/b&gt;. So much so that you say fark it and go back to writing code like you used to (not good).   I have seen it time and time again both in my personal life and from reading interblargs. &lt;br /&gt;&lt;br /&gt; What I find with this iterative, incremental approach is that if you get into time crunch, or think yourself stupid, or get in over your head, or get stuck, you can always bail out and still have a functioning app that you can go back to and clean up at a later date.     This approach has really allowed me to push my limits when I can (Read: on the clock) and bail out when I have/need to. And after a while you just start to think differently about code and writing OO code becomes a natural part of your daily affairs. I find myself looking at legacy code and thinking &quot;What can I abstract into a function&quot; or &quot;How can I clean this heaping pile of spaghetti into something more useable&quot;. And the next thing you know you are seeing everything in those terms. Your thinking has changed.  The end result on my last foray into OOP was three tidy function calls to a cfc that turned (what was) 500 lines of copy and paste spaghetti code into:  usercfc.createAccount(somestruct)&lt;br /&gt; usercfc.updateAccount(somestruct)&lt;br /&gt; usercfc.deletedAccount(somestruct)&lt;br /&gt;  &lt;a href=&quot;http://www.mydamnchannel.com/Big_Fat_Brain/You_Suck_at_Photoshop__Season_1/YouSuckAtPhotoshop8_578.aspx&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Fergolicious!&lt;/strong&gt;&lt;/a&gt;       </description>            <category>OO</category>                <category>Simplicity</category>                <category>Learning</category>                <category>Working Smart</category>                <pubDate>Mon, 13 Apr 2009 23:25:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2009/4/13/A-Paradigm-shift-Or-how-to-learn-OOP-on-the-job-with-out-screwing-up</guid>           </item>          <item>      <title>WTF? Errr... I mean What the Font?</title>      <link>http://www.myinternetisbroken.com/index.cfm/2009/2/13/WTF-Errr-I-mean-What-the-Font</link>      <description>            This is a handy tool for figuring out what font is used in a graphic. All you do is upload an image that contains the font and it asks you to identify some highlighted letters and it will give the closest matches.  &lt;a href=&quot;http://new.myfonts.com/WhatTheFont/&quot; target=&quot;_blank&quot;&gt;http://new.myfonts.com/WhatTheFont/&lt;/a&gt;   It doesn&apos;t provide the font for download but if you Google the font name there is a good chance you can find a free version (or a free knock off version).       </description>            <category>Tools</category>                <category>Working Smart</category>                <pubDate>Fri, 13 Feb 2009 20:12:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2009/2/13/WTF-Errr-I-mean-What-the-Font</guid>           </item>          <item>      <title>Google Chrome Portable (Win only)</title>      <link>http://www.myinternetisbroken.com/index.cfm/2009/1/28/Google-Chrome-Portable-Win-only</link>      <description>            Download &lt;a href=&quot;http://www.softpedia.com/progDownload/Portable-Google-Chrome-Chromium-Download-108363.html&quot; target=&quot;_blank&quot;&gt;Google Chrome Portable&lt;/a&gt;  Google Chrome has some AWESOME debugging features including my favorite, Right Click &gt;&gt; Inspect Element. I would seriously recommend taking a look at Chrome for CSS debugging.  I looked at the user agent and it is nearly identical as Safari. It had almost the same build so (I would assume) they are essentially the same browser.  HTTP_USER_AGENT=Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.42 Safari/525.19       </description>            <category>Tools</category>                <category>Working Smart</category>                <pubDate>Wed, 28 Jan 2009 23:56:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2009/1/28/Google-Chrome-Portable-Win-only</guid>           </item>          <item>      <title>Portable version of the Safari Web Browser</title>      <link>http://www.myinternetisbroken.com/index.cfm/2009/1/27/Portable-version-of-Safari-Web-Browser</link>      <description>            I am a huge fan of portable apps. I like being able to drop an app in a folder and not have to install it. You just put them on a portable or thumb drive and you are good to go. Actually I have a version of almost my *entire* dev environment (sans MSSQL, that is next) on a thumb drive. I can literally set up shop anywhere (on a Win box).  Any who, I needed to test a design against the &lt;a href=&quot;http://webkit.org/&quot; target=&quot;_blank&quot;&gt;WebKit&lt;/a&gt; browser, the engine behind Chrome, Safari and (I think) it is used by DW for it&apos;s Live View feature. So here are links to versions for both Mac and Windows:  &lt;a href=&quot;http://www.thindownload.com/app-download/47/Safari-Browser&quot; target=&quot;_blank&quot;&gt;&quot;http://www.thindownload.com/app-download/47/Safari-Browser (&lt;b&gt;Win)&lt;/b&gt;&lt;/a&gt;  &lt;a href=&quot;http://osxportableapps.sourceforge.net/p_safari/&quot; target=&quot;_blank&quot;&gt;http://osxportableapps.sourceforge.net/p_safari/ &lt;b&gt; (Mac)&lt;/b&gt;&lt;/a&gt;       </description>            <category>Tools</category>                <category>Simplicity</category>                <category>Working Smart</category>                <pubDate>Tue, 27 Jan 2009 19:51:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2009/1/27/Portable-version-of-Safari-Web-Browser</guid>           </item>          <item>      <title>Amazing Website To Build (CF) Eclipse installs</title>      <link>http://www.myinternetisbroken.com/index.cfm/2008/11/2/Amazing-Website-To-Build-CF-Eclipse-installs</link>      <description>            One of the biggest pains in the arse when dealing with some FOSS apps (LAMP especially) is dependency hell. If the app you need is not part of the package manager you can get into a day(s) long hunt for dependencies.  The same is true for Eclipse (to a lesser degree). Or rather it was.  Someone on CF_talk was having problems with installing CFEclipse on the latest version of Eclipse 3.4 (Ganymede). In the past a few people recommended Pulse (myself included) to deal with Eclipse&apos;s dependencies. Pulse is a great app that resolves dependencies (most of the time) when building Eclipse Distros. Pulse is an excellent product but has a bad habit of downloading a gig or more of files (in my case) to its plugin cache (depending on your builds).  Another option, and in my opinion a better option, is yoxos.com&apos;s On Demand website.  &lt;a href=&quot;http://yoxos.com/ondemand/&quot; target=&quot;_blank&quot;&gt;http://yoxos.com/ondemand/&lt;/a&gt;  Yoxos.com&apos;s On Demand website is an online tool for building custom Eclipse distros/installs. This site is one of the most amazing web based apps I have seen to in my life. The front end is damn near that of a desk top app, and the back end is even more impressive. It allows you to pick and choose from hundreds of plugins and automatically resolves dependencies so you can create custom Eclipse installs that you can save, merge and share.  I started messing around with the various plugins and found some of the most amazing tools like editors for PHP, SQL, CSS, (X)HTML, JavaScript and XML with support for Adobe AIR apps, all the major JS/AJAX libraries with code assist and inline help; wussywig HTML editors, JavaScript debuggers, XML schema editors, JavaScript/CSS/html function/property  browsers, Database development tools and editors, snippets etc. etc. Not to mention Eclipse is the defacto standard for Java development and supports most of it&apos;s tool kits as well as having plugins for just about every language under the sun.   And keep in mind that a lot of the above editors are not just text editors with color coding and rudimentary code complete but first class, full featured tools/IDE&apos;s like the ones that we used to (and still do) pay hundreds of dollars for.  Oh yeah. It is all FREE!!! FOSS, me love you long time!!       </description>            <category>CFEclipse</category>                <category>Tools</category>                <category>Open Sores</category>                <category>Learning</category>                <category>Eclipse</category>                <category>Java</category>                <category>Working Smart</category>                <pubDate>Sun, 02 Nov 2008 23:16:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2008/11/2/Amazing-Website-To-Build-CF-Eclipse-installs</guid>           </item>          <item>      <title>InfoWorld story: Developers rank best application servers -  Adobe ColdFusion among their favorites</title>      <link>http://www.myinternetisbroken.com/index.cfm/2008/10/22/InfoWorld-story-Developers-rank-best-application-servers---Adobe-ColdFusion-among-their-favorites</link>      <description>            This is &lt;b&gt;AWESOME&lt;/b&gt;!! The story was included in the &quot;InfoWorld Platforms Report&quot; Newsletter.  &lt;b&gt;Developers rank best application servers&lt;/b&gt;&lt;br /&gt; &quot;The &apos;user&apos;s choice&apos; for application servers ranked Adobe ColdFusion, the open-source Apache Geronimo, and Oracle WebLogic Server among their favorites&quot;&lt;br&gt;  &lt;a href=&quot;http://www.infoworld.com/article/08/10/22/Developers_rank_best_application_servers_1.html?source=NLC-PLATFORMS&amp;amp;cgd=2008-10-22&quot; target=&quot;_blank&quot;&gt;http://www.infoworld.com/article/08/10/22/Developers_rank_best_application_servers_1.html?source=NLC-PLATFORMS&amp;cgd=2008-10-22&lt;/a&gt;   This has been a &lt;b&gt;LONG&lt;/b&gt; time coming. I am guessing that CF isn&apos;t all that dead. In fact it may be, to quote &lt;a href=&quot;http://www.youtube.com/watch?v=U8ezarCkmJA&quot; target=&quot;_blank&quot;&gt;Adam Lehman&lt;/a&gt;, the &lt;b&gt;&quot;Best dead language... evar!&quot;&lt;/b&gt;       </description>            <category>Working Smart</category>                <category>ColdFusion 8</category>                <category>ColdFusion</category>                <pubDate>Wed, 22 Oct 2008 20:15:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2008/10/22/InfoWorld-story-Developers-rank-best-application-servers---Adobe-ColdFusion-among-their-favorites</guid>           </item>          <item>      <title>Running on Railo - Breaking Radio Silence</title>      <link>http://www.myinternetisbroken.com/index.cfm/2008/10/5/Running-on-Railo--Breaking-Radio-Silence</link>      <description>            I moved my blog to a new VPS and it is running on Railo 3.0 Community. Hell YEAH!!!  I have a back log of blarg entries to get posted as well. I also posting a bunch of contributions to the community with more to come.  &lt;b&gt;&lt;u&gt;Uploaded so far are &lt;/b&gt;&lt;/u&gt;  - My CFEclipse Snippets&lt;br&gt; - Some UDFs &lt;br&gt; - CFC Generator Lite &lt;br&gt;  CFC Generator Lite is a HTML front end for creating cfc&apos;s for an entire database in one shot using Brian Rinaldi&apos;s outstanding Illudium PU-36 Code Generator.  &lt;b&gt;&lt;u&gt;In the pipe: &lt;/b&gt;&lt;/u&gt;  A how-to on getting Railo 3 running in a shared hosting environment with IIS on 2003 server using a hosting Control panel (Plesk 8.3) including gotchas and their work arounds.   A How-to on creating a simple ORM by abstracting your database using Brian Rinaldi&apos;s outstanding Illudium PU-36 Code Generator.       </description>            <category>CFEclipse</category>                <category>Tools</category>                <category>cfcgenerator</category>                <category>Open Sores</category>                <category>Working Smart</category>                <category>ColdFusion</category>                <pubDate>Sun, 05 Oct 2008 01:37:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2008/10/5/Running-on-Railo--Breaking-Radio-Silence</guid>           </item>          <item>      <title>Caching Functions: Creating variables that are executable.</title>      <link>http://www.myinternetisbroken.com/index.cfm/2008/5/24/Caching-Functions--Creating-variables-that-are-executable</link>      <description>            This is too cool. Either that or I am too much of a geek; or both.  There was a discussion of CF_Talk about the best way to make use of reusable functions (User definable Functions or UDF&apos;s). Dominic Watson pointed out you can &quot;declare&quot; the functions with out executing them and then store them in the application scope (i.e in memory).  It is like storing a variable in memory except that they contain executable code instead of data. Much like how you can instantiate a CF class (component) and then stick the instance of that object in memory. This makes sense with components because of the overhead involved with creating an object.  So instead of creating the object every time you want to use it, you cache it in memory.  Well is seems that you can do the same thing with functions.  Now that is a very cool idea. What is even cooler is that you can then create a structure (for ppl not acquainted with structures, think of them as a one dimensional array with their own scope, like FORM or URL variables) and then store the functions in the structure so they are all in one neat little package. I called them &quot;mini CFC&apos;s&quot;.   &lt;code&gt; &lt;!---  The function onApplicationStart and fires up when ever the app is started  ---&gt; &lt;cffunction name=&quot;onApplicationStart&quot;&gt;  &lt;!---  Include your UDF&apos;s  ---&gt;     &lt;cfinclude template=&quot;theUdfs.cfm&quot;&gt;     &lt;cfinclude template=&quot;theUdfs2.cfm&quot;&gt;  &lt;!---  Create a struct to hold the functions  ---&gt;     &lt;cfset application.udfs = StructNew()&gt; &lt;!---  Load the functions into the struct and load it in memory (The application scope)  ---&gt;      &lt;cfset application.udfs.MyFunction1 = MyFunction1&gt;     &lt;cfset application.udfs.MyFunction2 = MyFunction2&gt;     &lt;cfset application.udfs.MyFunction3 = MyFunction3&gt; &lt;/cffunction&gt;  &lt;!---  Then, to avoid verbosity when calling a udf, I&apos;d add this line in OnRequestStart() ---&gt;  &lt;cffunction name=&quot;onRequestStart&quot;&gt; &lt;cfset variables.udfs = application.udfs&gt; &lt;/cffunction&gt; &lt;/code&gt;    I asked Dominic more about it and he said &lt;blockquote &gt; When ColdFusion processes a &apos;page&apos; with a udf (either cffunction or scripted &apos;function&apos;); the function is parsed and created as an *object* in memory (a special function type object). By &apos;calling&apos; the function without the () you are actually referencing the object itself rather than invoking the function that it represents. So, the following code just makes the application.udfs.MyFunction1 variable a reference to the function named &apos;MyFunction1&apos;:  &lt;/blockquote&gt;  &lt;code&gt; &lt;cfset application.udfs.MyFunction1 = MyFunction1&gt; &lt;/code&gt;     Dave Watts (always a wealth of knowledge) further elucidated on this matter and said that: &lt;blockquote&gt; This is a pretty good explanation, but it&apos;s even simpler than that. Functions are really just one more type of variable, just like queries, structures, arrays, etc. They contain executable code instead of data, that&apos;s all. And, you&apos;re not &quot;calling&quot; the function unless you have the parentheses after the function name: &lt;/blockquote&gt;  You can read the full thread here:  http://www.houseoffusion.com/groups/cf-talk/thread.cfm/threadid:56438       </description>            <category>OO</category>                <category>ColdFusion</category>                <category>Working Smart</category>                <pubDate>Sat, 24 May 2008 20:13:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2008/5/24/Caching-Functions--Creating-variables-that-are-executable</guid>           </item>          <item>      <title>Hello Maxthon</title>      <link>http://www.myinternetisbroken.com/index.cfm/2008/5/23/Hello-Maxthon</link>      <description>            I have a love hate relationship with FireFox (FF). It has two plugins that are indespensible for web development: &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/1843&quot; target=&quot;_blank&quot;&gt;Firebug&lt;/a&gt; and &lt;a href=&quot;https://addons.mozilla.org/en-US/firefox/addon/60&quot; target=&quot;_blank&quot;&gt;The web developers tool bar&lt;/a&gt;. But as I have posted before, it all but renders my laptop useless. I had to tweak it to death to get it to run acceptibly  on the workstation at work  I don&apos;t like IE 7. No reason really. I just don&apos;t like it. IE 6 is ok by not having tabs or plugins sucks.  On a friends advice I tried out Maxthon. It is basically IE 6 with FF like shell. It is not the greatest but I have tabs , all the tools I need for regular browsing and it is *only* eating up about 28 megs ram with 10 tabs open and hardley uses any processor. FF would be crawling under this sort of load, eating a couple hundred megs of ram and pegging the proccessor.  So if you need an alternitive for regular browsing you should give it a try.  &lt;a href=&quot;http://www.maxthon.com/&quot; target=&quot;_blank&quot;&gt;http://www.maxthon.com/&lt;/a&gt;       </description>            <category>Tools</category>                <category>Working Smart</category>                <pubDate>Fri, 23 May 2008 21:56:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2008/5/23/Hello-Maxthon</guid>           </item>          <item>      <title>I am almost there</title>      <link>http://www.myinternetisbroken.com/index.cfm/2008/5/4/I-am-almost-there</link>      <description>            I have been working on yet another code generator for ColdFusion for the last six months. I have learned a &lt;b&gt;lot&lt;/b&gt;. When I am done.... it will read a databse and using the metadata and it will create a working app using the ENTIRE database. It is like a mini Ruby on Rails.&lt;br&gt;    &lt;p&gt;You point it to the data source and a destination dir, press enter, and you have a working app. You can go from zero to working admin for a 20 table database in about a minute.&lt;/p&gt; &lt;p&gt;It also:&lt;/p&gt;  &lt;ul &gt; &lt;li&gt;Generates client side validation based on the data type (string, numeric, float, date, etc.).&lt;/li&gt;  &lt;li&gt;Generates time and date pickers for date/time fields.&lt;/li&gt; &lt;li&gt;Generates inline wussywig text editors for Text fields &lt;/li&gt; &lt;li&gt;Automatically generates and populates drop down boxes using foreign keys .&lt;/li&gt; &lt;li&gt;Has optional secondary validation using key words in the column name (like email, phone, fax, zip, etc.).&lt;/li&gt; &lt;li&gt;It is almost entirely Object Oriented and uses a very simple MVC methodology.&lt;/li&gt; &lt;/ul&gt;  I am pretty pumped and have been working on this every chance I get. When I get it done, (It really snow balled from what seemed to be a very simple idea), I will be able to crank out a working app, with a couple of clicks, in a matter of minutes.   And yes, I will be releasing it open source.       </description>            <category>OO</category>                <category>ColdFusion</category>                <category>Open Sores</category>                <category>Meta programming</category>                <category>ColdFusion 8</category>                <category>Working Smart</category>                <pubDate>Sun, 04 May 2008 06:39:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2008/5/4/I-am-almost-there</guid>           </item>          <item>      <title>FireFox - Just like a disfunctional relationship</title>      <link>http://www.myinternetisbroken.com/index.cfm/2008/3/23/FireFox--Just-like-a-disfunctional-relationship</link>      <description>            I loved firefox at one time. She had everything I wanted and needed, and more, from a browser. She was fast, nimble, extensible, she had and did everything I needed. And I do mean EVERYTHING. She was HOT!!  Then we got married. She put on a lot of weight, she became very sluggish and started to really slow me down. She uses all of my resources and will sit there and do nothing for long periods of time so I cannot do anything else but wait for her.  It is over baby. You are a fat, sluggish, resource hogging glutton that is taking more than you give.  I still love you, but I have to move on. And even though I will be dating your red headed step sister I will still want to see you from time to time so I can use firebug.  Open Source used to be so sexy. What happened to you? Are you becoming like Britteny Spears?       </description>            <category>Tools</category>                <category>Bad code</category>                <category>FireFox</category>                <category>Working Smart</category>                <pubDate>Sun, 23 Mar 2008 02:05:00-0700</pubDate>      <guid>http://www.myinternetisbroken.com/index.cfm/2008/3/23/FireFox--Just-like-a-disfunctional-relationship</guid>           </item>     </channel></rss>