<?xml version="1.0" encoding="utf-8"?>

			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>Brian Kotek: Inversion of Control - General</title>
			<link>http://www.briankotek.com/blog/index.cfm</link>
			<description>Brian Kotek on ExtJS, DeftJS, CoffeeScript, Java, Groovy, Grails, Design Patterns, and Object-Oriented Programming</description>
			<language>en-us</language>
			<pubDate>Fri, 24 May 2013 05:48:51 -0700</pubDate>
			<lastBuildDate>Fri, 17 Aug 2012 09:34:00 -0700</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>brian428@briankotek.com</managingEditor>
			<webMaster>brian428@briankotek.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>brian428@briankotek.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			
			<itunes:explicit>no</itunes:explicit>
			
			
			
			
			
			<item>
				<title>Pressing Pause while Compile, Dammit Ramps Up</title>
				<link>http://www.briankotek.com/blog/index.cfm/2012/8/17/Pressing-Pause-while-Compile-Dammit-Ramps-Up</link>
				<description>
				
				I know that my blogging here has been sporadic. And I&apos;m not alone: a number of my colleagues were in the same boat. So Joe Rinehart, Nic Tunney, Marc Esher, Scott Stroz, Todd Sharp and myself have decided to pool our resources. We&apos;ve started a group blog called &lt;a href=&quot;http://compiledammit.com/&quot; target=&quot;_blank&quot;&gt;Compile, Dammit&lt;/a&gt;.

This is an experiment, but so far it&apos;s going extremely well. Having multiple people working on the same blog means a lot more posts and a wider variety of perspectives. I think this is a very interesting idea that I haven&apos;t really seen tried before.

The focus over on Compile, Dammit will be in two main areas: server development (Groovy, Grails, Spring, etc.) and client development (RIAs, ExtJS, JavaScript, CoffeeScript, jQuery, etc.). This isn&apos;t a hard-and-fast rule, and we&apos;ll likely see content on a whole range of topics. But most of the content will probably fall under those two umbrellas.

So, I&apos;ll probably be pressing pause on this blog for a bit while I contribute to Compile, Dammit. If you&apos;re interested in topics like this, you should definitely add our new group blog to your reading list!
				
				</description>
				
				
				<category>General</category>
				
				<category>Personal</category>
				
				<pubDate>Fri, 17 Aug 2012 09:34:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2012/8/17/Pressing-Pause-while-Compile-Dammit-Ramps-Up</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Fix for Using Subclipse Keyboard Shortcuts</title>
				<link>http://www.briankotek.com/blog/index.cfm/2011/6/8/Fix-for-Using-Subclipse-Keyboard-Shortcuts</link>
				<description>
				
				Just a note for anyone who uses Subclipse within Eclipse to work with a Subversion repository. In the past, you could easily assign keyboard shortcuts within Eclipse for SVN update, commit, etc. In the newer builds of Eclipse I couldn&apos;t get this to work.

After searching Google, I found the answer in &lt;a href=&quot;http://subclipse.tigris.org/issues/show_bug.cgi?id=1159&quot; target=&quot;_blank&quot;&gt;this Subclipse ticket&lt;/a&gt;. In order to get the shortcuts to work, you must go to Window &gt; Customize Perspective, then under the Command Groups Availability tab, check the SVN option. It may require a restart of Eclipse, but the Subclipse keyboard shortcuts will now work.
				
				</description>
				
				
				<category>Development</category>
				
				<category>General</category>
				
				<pubDate>Wed, 08 Jun 2011 12:38:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2011/6/8/Fix-for-Using-Subclipse-Keyboard-Shortcuts</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>My cf.Objective() Dependency Injection Presentation</title>
				<link>http://www.briankotek.com/blog/index.cfm/2011/5/19/My-cfObjective-Dependency-Injection-Presentation</link>
				<description>
				
				Just a quick note that I&apos;ve &lt;a href=&quot;http://slidesix.com/view/Brian-Kotek--Dependency-Injection&quot; target=&quot;_blank&quot;&gt;uploaded the Dependency Injection presentation&lt;/a&gt; which I gave at cf.Objective(). Feel free to let me know what you think! Thanks.
				
				</description>
				
				
				<category>General</category>
				
				<category>Presentations</category>
				
				<category>Personal</category>
				
				<pubDate>Thu, 19 May 2011 12:47:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2011/5/19/My-cfObjective-Dependency-Injection-Presentation</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Trog Bar Outlook Add-On</title>
				<link>http://www.briankotek.com/blog/index.cfm/2011/5/10/Trog-Bar-Outlook-AddOn</link>
				<description>
				
				&lt;img src=&quot;/blog/images/trog/TrogBar_Screenshot.jpg&quot; alt=&quot;Trog Bar&quot; align=&quot;left&quot; width=&quot;230&quot; height=&quot;799&quot; style=&quot;padding: 0px 30px 30px 0px; border-style:none;&quot; border=&quot;0&quot; /&gt;

I recently installed a pretty cool add on for Microsoft Outlook called &lt;a href=&quot;http://www.priacta.com/trog/&quot; target=&quot;_blank&quot;&gt;Trog Bar&lt;/a&gt;. Not only does it offer some nice features that Outlook alone doesn&apos;t have, but it wraps a nice task management system as well.

To the left you can see what Trog Bar looks like. It docks to the edge of the screen, and can be set to autohide if desired. Across the top are quick links to mail, calendar, task list, contacts, compose, and send/receive.

The calendar is great for the simple reason that you can specify more than one calendar to show events for. The fact that the Outlook To-Do bar would only show events from one calendar always drove me crazy. I have a personal account and a work account that uses Exchange, and Outlook will only show one. People have been asking for this simple feature for years. It&apos;s great to see someone add this.

The main area is your task list. You can quickly search, view all tasks, view complete tasks, incomplete tasks, etc. If you use Outlook&apos;s categories option, you can also assign categories to tasks and view the list by category. Last but not least is a view called Task Sense. Trog Bar has some nice algorithms that populate this list automatically to show the most likely tasks to do at the current time. More on this in a moment. (And no, the tasks shown here aren&apos;t my tasks, I grabbed this screen shot off of the product page. Feed mammoth??)

The notepad lets you quickly type in new tasks and store them as &quot;unprocessed&quot;. It&apos;s very easy to fire off tasks into this application (as it should be). When you have more time, you can click on the Unprocessed Tasks link to show the tasks that still need &quot;processing&quot;.

If that sounds annoying or time consuming, don&apos;t worry, it isn&apos;t. Processing new tasks is really easy. You just click the task to open the task editor (see below).

For a task to be processed, you have to enter in a due date and ideally one or more Categories (think Tags) and Projects (a parent task containing multiple child tasks). This takes about 10 seconds, and then you save it. That&apos;s it. The way Trog Bar works is largely based on the Due Date you specify. It is smart enough to treat the Due Date as both a target date as well as an indicator of the urgency of the task. So you are free to treat it as a  sort of strength indicator if you choose. 

&lt;img src=&quot;/blog/images/trog/trogbar_edittask.gif&quot; alt=&quot;Trog Bar task editor&quot; width=&quot;600&quot; height=&quot;356&quot; align=&quot;left&quot; style=&quot;padding: 20px 5px 30px 0px; border-style:none;&quot; border=&quot;0&quot; /&gt;

&lt;br clear=&quot;all&quot; /&gt;

The Task Sense list seems largely based on this &quot;urgency value&quot;. In other words, if you set the Due Date for two weeks later, it isn&apos;t that &quot;worried&quot; about you actually doing it on that date (though you can, of course). Instead, this is an indicator that the task is probably of medium-ish priority, and it places it in the Task Sense list accordingly. Three weeks out, lower priority. One week out, higher priority. You get the idea.

It is also has some extra configuration options which, if you choose to set them up, make this list more accurate. For example, you can define a category as an &quot;80/20&quot; category, meaning 80% result for 20% effort. In other words, biggest return on investment. Task Sense will rank these higher in your list. You can also set up an additional calendar containing high-level time blocks, like 8-5 M-F is Work, 6-12 is Home, etc. If tasks with a corresponding Work tag are created, Task Sense will weight them higher between 8 and 5, and Home tasks between 6 and 12. The point being that it builds up the Task Sense list in a fairly intelligent way.

Anyway, I&apos;ve been using it for a few weeks now and I really like it. First, it is a handy, souped-up version of the Outlook To-Do bar. Second, it is a rapid task entry and organization tool. And third, it does a pretty good job of predicting and showing you relevant tasks at the right time.

The full version costs $35, and there is a free 30 day trial version available. To be clear, I&apos;m not getting a free copy or anything, and am not affiliated in any way with the folks who make it. I just found it useful enough that it seemed worth a blog entry. ;-)
				
				</description>
				
				
				<category>Computers</category>
				
				<category>General</category>
				
				<category>Personal</category>
				
				<pubDate>Tue, 10 May 2011 07:49:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2011/5/10/Trog-Bar-Outlook-AddOn</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>66% Performance Improvement for Almost Any Desktop System for $279</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/12/6/66-Performance-Improvement-for-Almost-Any-Desktop-System-for-279</link>
				<description>
				
				I was recently contemplating the purchase of a new workstation, since my current system is about two years old. After some research, I ended up choosing NOT to buy a new system just yet, for a few reasons. Read on for an explanation of why, and how a small upgrade kicked up my system performance by two-thirds.

The main reason for the purchase delay has to do with SATA-III. While this new disk connection standard supports up to 6 Gb/sec transfer, and SATA-II is 3 Gb/sec, the reality is that right now the 6 Gb/sec speed is unusable in real life. No traditional hard drive comes close to saturating the SATA-II bandwidth, and they will NEVER get into SATA-III transfer speed due to the physical limitation of the spinning platters. And even the new solid state drives (SSDs) barely fill up the 3 Gb/sec pipe, and come nowhere close to 6 Gb/sec. So spending a bunch of money on a SATA-III motherboard and SATA-III drives is pointless right now.

Over the next 6 months or so, this will change. New SSDs will come out that have faster transfer, and more space, for decreasing price. But until an SSD comes out that actually uses the new bandwidth limit, SATA-III is little more than a marketing gimmick. Once they finally get to the SATA-III speed then I will reconsider.

In the meantime, what I did instead was drop about $279 on a new 600 Gb Western Digital Velociraptor drive. These spin at 10,000 RPM, compared to the normal 7,200 RPM, and this is the fastest non-SSD hard drive on the market. They are roughly 66% faster than a normal drive, basically approaching standard drives in RAID-0. Also, at 600 Gb in size, it can hold my existing system partition (which is about 400 Gb). It came with a  program called Arconis TrueImage, so I used it to clone my existing 1 Tb system drive onto the 600 Gb Velociraptor, then pull out the old system drive and put the new drive in its place. Windows 7 boots from the new drive without knowing the difference. The cloning process took about an hour and worked perfectly. So I&apos;m now running off of the 600 Gb drive.

Speed-wise, it&apos;s a big difference. I did a few real-world tests:

&lt;ul&gt;
&lt;li&gt;I timed the system boot time from POST until the desktop was fully loaded. By fully loaded I don&apos;t just mean seeing the desktop, but having ALL desktop widgets loaded, ALL system tray icons loaded, and until the CPU activity drops back to idle usage. It went from 180 seconds before to 110 seconds after. Result: 63% improvement.&lt;/li&gt;
&lt;li&gt;I timed launching and building large Eclipse workspace. It went from 56 seconds before to 35 seconds after, a 60% improvement.&lt;/li&gt;
&lt;/ul&gt;

So basically, for $279 I&apos;ve boosted my system speed by nearly two-thirds. That&apos;s pretty crazy, considering that swapping the CPU for a faster i7 or going from 1333 to 1600 RAM would probably only generate a 5% or 10% increase, and would cost way more than $279. 

The surprising lesson is apparently: do NOT underestimate the impact that a really fast hard drive will have! This should be a nice boost to carry me forward until the SSDs get faster, bigger and cheaper.
				
				</description>
				
				
				<category>Computers</category>
				
				<category>General</category>
				
				<category>Personal</category>
				
				<pubDate>Mon, 06 Dec 2010 11:45:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/12/6/66-Performance-Improvement-for-Almost-Any-Desktop-System-for-279</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Apple HTML 5 Fail</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/6/21/Apple-HTML-5-Fail</link>
				<description>
				
				This isn&apos;t new news, but I&apos;ve been meaning to make this picture for a week or two and finally got around to it. :-)

&lt;img src=&quot;http://www.briankotek.com/blog/images/apple_html_5_fail.jpg&quot; /&gt;
				
				</description>
				
				
				<category>General</category>
				
				<category>Flex</category>
				
				<pubDate>Mon, 21 Jun 2010 09:37:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/6/21/Apple-HTML-5-Fail</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>A New Look for the Blog</title>
				<link>http://www.briankotek.com/blog/index.cfm/2010/2/4/A-New-Look-for-the-Blog</link>
				<description>
				
				Since I had a little spare time, I decided it was time to update the look of the blog. I call the color scheme &quot;Orange Cream Blues&quot;. I went with it for a few reasons. First, I like dreamsicles and hadn&apos;t used orange for anything before, and I thought it went nicely with the dark blue (complimentary colors on the color wheel, even!).

The second reason is a longer story but I&apos;ll keep it short. I Googled around a lot looking for nice CSS skins. And even though there are lots of free CSS template sites out there, most of the layouts didn&apos;t strike me as very nice. I wanted a liquid layout, as I always feel like fixed-width sites are wasting my screen space. I wanted something clean yet modern. Probably all the standard desires nowadays. Anyway, the only one I could find was the Arclite theme, which as some of you may know is already in use on a number of other blogs. Since I was jumping on the bandwagon in this respect, I decided to tweak the layout a bit and to create a custom color scheme and graphics to avoid looking like everyone else. Hopefully, I succeeded (at least a little).

In any event, more blog entries are in the works, so stay tuned. And I hope you find the new look refreshing.
				
				</description>
				
				
				<category>General</category>
				
				<pubDate>Thu, 04 Feb 2010 10:38:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2010/2/4/A-New-Look-for-the-Blog</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Upgrading from Vista to Windows 7 (And How to Deal with Warnings about iTunes)</title>
				<link>http://www.briankotek.com/blog/index.cfm/2009/10/23/Upgrading-from-Vista-to-Windows-7-And-How-to-Deal-with-Warnings-about-iTunes</link>
				<description>
				
				Last night I crossed my fingers and upgraded my Vista Professional workstation to Windows 7 Ultimate. I have multiple backups, including Mozy, Windows Backup every night, and a Windows Complete PC Backup (essentially a disk image) every week. As a result, I was very confident that even if all hell broke loose I could restore things quickly. Happily, the upgrade went smoothly and Windows 7 is running great. All of my programs and settings were migrated perfectly.

The upgrade compatibility analysis at the beginning highlighted two potential problems that I dealt with. First, I run two ATI Radeon 4850 video cards to power my three monitors for work, but I enable CrossfireX when gaming, which disables the two outer monitors and puts all the GPU power into the center screen. Windows 7 warned me that my ATI drivers might be a problem after the upgrade. So I simply uninstalled the existing ATI drivers, ran the upgrade, and the installed the Windows 7 64-bit ATI Catalyst drivers after the upgrade. Everything works fine.

The other item flagged was iTunes. I did some research, and it turns out that Apple appears to be using an older and/or unsigned GEAR driver in iTunes. This has to do with CD/DVD recording/burning. I&apos;m not sure why they would do this, but there is an updated driver available &lt;a href=&quot;http://www.gearsoftware.com/support/drivers.php&quot; target=&quot;_blank&quot;&gt;at the GEAR Software site&lt;/a&gt;. I installed that update and then proceeded with the Windows upgrade, and everything works fine after the update finishes. So if you&apos;re getting this warning and want to be sure it won&apos;t mess anything up afterwards, I&apos;d install the updated driver.

Overall, Windows 7 is very nice. It looks better than Vista and has many new features like the taskbar, improved Explorer interface, better window management, etc. I&apos;d been using Vista for about 10 months and unlike most people I never had any real issues with it, it worked just fine with no crashes or problems. Even so, the new Windows is definitely an improvement as things seem snappier, and the enhancements are welcome. So as long as your backups are up-to-date and you look over any upgrade warnings carefully, I&apos;d definitely recommend installing it. Hopefully this entry might help others who see these types of warnings, especially the iTunes one.
				
				</description>
				
				
				<category>Computers</category>
				
				<category>General</category>
				
				<category>Personal</category>
				
				<pubDate>Fri, 23 Oct 2009 11:43:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2009/10/23/Upgrading-from-Vista-to-Windows-7-And-How-to-Deal-with-Warnings-about-iTunes</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>SilverFlash Beta Released: A Joint RIA Platform from Adobe and Microsoft?!</title>
				<link>http://www.briankotek.com/blog/index.cfm/2009/4/1/SilverFlash-Beta-Released-A-Joint-RIA-Platform-from-Adobe-and-Microsoft</link>
				<description>
				
				Microsoft and Adobe just announced the public availability of a joint RIA platform called SilverFlash. While it is only in early beta, and the future plans are somewhat vague, this looks like it could be something quite interesting for Flash and Flex developers for several reasons.

First, it actually goes far beyond Microsoft&apos;s current Silverlight platform, in that it actually merges the Flash platform with the Windows Presentation Foundation (WPF). In some ways this seems similar to what Adobe AIR provides, except that the WPF extends much more deeply into the Windows operating system. That means a lot more power when doing desktop integration.

But obviously the real draw here is that we&apos;ll have a unified RIA platform that is backed by all the major players in the industry (even Sun is on board) and that runs on any operating system. Just imagine: the power and ubiquity of Flash combined with the stunning calendar widgets of Sliverlight, all wrapped in a Java applet. You can download the beta at &lt;a href=&quot;http://www.techcrunch.com/2009/04/01/april-fools-youtube-flails-amazon-cloud-computing-in-a-blimp-3d-chrome-browsing-google-master-ai/&quot; target=&quot;_blank&quot;&gt;the SilverFlash Launch website&lt;/a&gt;. This is going to do for RIAs what the Apple Newton did for handheld computing!
				
				</description>
				
				
				<category>Development</category>
				
				<category>General</category>
				
				<category>Flex</category>
				
				<pubDate>Wed, 01 Apr 2009 06:41:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2009/4/1/SilverFlash-Beta-Released-A-Joint-RIA-Platform-from-Adobe-and-Microsoft</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Is the ColdFusion Community&apos;s Generosity Encouraging Laziness?</title>
				<link>http://www.briankotek.com/blog/index.cfm/2009/3/27/Is-the-ColdFusion-Communitys-Generosity-Encouraging-Laziness</link>
				<description>
				
				I&apos;ve been using ColdFusion for a long time. When I started back in late 1997, I was a very novice programmer. There wasn&apos;t much in the way of mailing lists, online forums, or books. There was no Google, and there were no blogs. As a result, I developed what I&apos;d consider a pretty self-reliant nature on the subject of programming. I had to read the documentation, experiment, and try things out. And doing this, I was able to solve my problems.

I am a member of a number of public discussion forums and mailing lists, and have been for many years. I moderate several forums and lists. Over the years, I&apos;ve tried to help others by answering questions or pointing them in the right direction to solve their problems. I&apos;d like to hope that I&apos;ve helped save some people some of the pain and time that I had to go through when I was learning ColdFusion.

Lately I&apos;ve been seeing a disturbing trend: a rapidly increasing number of what I will call &quot;lazy questioners&quot;. Sure, some of these folks have always been around. But in the last six to twelve months it seems like the number of these people has been making a rapid upturn.

On the one hand, this might be good news: it seems to indicate that more new people are coming into the community. I think that&apos;s great. However, what I don&apos;t think is great is their approach to asking questions.

If you are also a member of one or more forums or mailing lists, have you also noticed the increasing number of questions like these?

&lt;ul&gt;&lt;li&gt;How do I invoke a trigger from ColdFusion?&lt;/li&gt;
&lt;li&gt;Why doesn&apos;t this work: &amp;lt;cfif IsDefined(&quot;#url.id#&quot;)&amp;gt;...&lt;/li&gt;
&lt;li&gt;Why does my if block always run: &amp;lt;cfparam name=&quot;url.id&quot; default=&quot;0&quot; /&amp;gt; &amp;lt;cfif IsDefined(&apos;url.id&apos;)&amp;gt;...&lt;/li&gt;
&lt;li&gt;How do I zip something in ColdFusion?&lt;/li&gt;
&lt;li&gt;What is wrong with my query? [paste SQL]&lt;/li&gt;
&lt;li&gt;This doesn&apos;t work please help me. [paste 300 lines of code]&lt;/li&gt;
&lt;li&gt;Why doesn&apos;t this work? #XMLParse( [string with invalid xml characters in it] )#&lt;/li&gt;
&lt;li&gt;Will this work? [paste code]
&lt;/li&gt;&lt;/ul&gt;

The list really goes on and on, these are just a few of the ones I recall seeing recently. If you&apos;re asking yourself &quot;what&apos;s wrong with those questions?&quot;, I&apos;ll tell you: either they&apos;re horribly presented questions or they could be solved in 30 seconds just by doing a Google search or actually looking at the documentation.

So what&apos;s the problem? The next response is probably &quot;just ignore the question if you don&apos;t have anything nice to say.&quot; That&apos;s a valid response. And it would work, provided that everyone else also followed it. But they don&apos;t. When questions like these come up (daily at this point), at least one good-natured person decides to try and help. They politely provide a useful answer. Which is admirable. I often do this myself. But after thinking about the overall situation, I&apos;ve come to the conclusion that it&apos;s actually a harmful choice. Here are some of the reasons why:

First, all this does is encourage the questioner&apos;s laziness. In fact, it encourages laziness for anyone asking a question. Why would someone bother to find an answer on their own when they see they can just ask someone else and know they&apos;ll get an answer?

It also means the person probably hasn&apos;t really learned much. They certainly haven&apos;t learned how to find the solution to a similar problem when (not if) they encounter one. The old adage &quot;Give a man a fish, feed him for a day. Teach a man to fish, feed him for a lifetime.&quot; has never been more applicable. Answering a lazy question almost guarantees more lazy questions in the future. The questioner is banking on the generosity of others, and allowing them to shift the time and effort onto a bunch of other people. And, unfortunately, it works.

Which leads directly into the next negative result, which is an overall decrease in the usefulness of the list or forum. Lazy questions decrease the signal to noise ratio of a resource. They take time and attention away from valid and well presented questions. And it&apos;s not just the initial answer. Often, when a lazy question is answered, it triggers a long exchange where the questioner says &quot;that still doesn&apos;t work&quot; or &quot;what about this variation&quot;. In response, the kind folks answering keep feeding into it, many times offering additional information that the questioner would have discovered themselves if they had put even minimal effort into solving their problem through Google or the documentation.

In essence, I think the ColdFusion community is too forgiving of lazy questions. I might get flak for saying this, but it&apos;s true: we&apos;re too nice when it comes to this issue.

Now to be clear, I&apos;m not saying we should be mean, or that we should stop answering questions. We should absolutely keep answering questions. I certainly will keep trying to help people. But anyone asking a question should understand that there is a certain minimum level of effort that should be met before you ask. To me, the minimum level of effort is:

&lt;ul&gt;&lt;li&gt;Have you actually tried to run the code? What was the result?&lt;/li&gt;
&lt;li&gt;If there is an error, be able to provide the exact error to the best of your ability&lt;/li&gt;
&lt;li&gt;Have you read the documentation?&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;Have you searched Google?&lt;/li&gt;
&lt;li&gt;Have you searched the past threads/messages?&lt;/li&gt;
&lt;li&gt;If the problem is SQL-related, have you run the query directly against the database, outside of CF?&lt;/li&gt;
&lt;li&gt;If you plan to paste code, have you eliminated all extraneous code and limited the code to only what is involved in the problem?&lt;/li&gt;
&lt;li&gt;Have you attempted minimal debugging with cfdump, cfabort, or cftrace?
&lt;/li&gt;&lt;/ul&gt;

This is not a lot to ask. In fact, this should be done out of common sense and common courtesy. If someone chooses not to meet this minimum level of effort, they should be met with a terse, blunt response, and NOT the answer to their question. There is a much more general and lengthy resource on this subject at &lt;a href=&quot;http://www.catb.org/~esr/faqs/smart-questions.html&quot; target=&quot;_blank&quot;&gt;the Smart Questions FAQ&lt;/a&gt;.

Here are a few situations where I say the questioner&apos;s laziness should be called out:

&lt;ul&gt;&lt;li&gt;The answer could be found by simply reading the documentation on the tag or function, and it is obvious that they have not&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;The answer could be found with a 30 second Google search&lt;/li&gt;
&lt;li&gt;The questioner is asking an advanced question on a complex subject when it is clear they have limited understanding of the subject or what they&apos;re even asking about, and they&apos;re expecting a free class on the subject (i.e. &quot;I don&apos;t know much SQL, but how do I write this complicated query&quot;)&lt;/li&gt;
&lt;li&gt;The questioner is asking if something will work when they haven&apos;t even tried to run it&lt;/li&gt;
&lt;li&gt;The questioner is asking others to write their code for them&lt;/li&gt;
&lt;li&gt;The questioner is pasting huge amounts of code and expecting others to sift through it
&lt;/li&gt;&lt;/ul&gt;

In many other communities, lazy questions are met with harsh responses that range from &quot;RTFM&quot; to &quot;JFGI&quot; to derisive abuse. I&apos;m not asking the community to go down that road. I love the fact that for the most part, the CF community is a very open and encouraging place. I just think that a small but growning number of people are taking advantage of that generous spirit. It&apos;s time to impose some minimal expectations on those who would ask for our time and assistance.

I&apos;m expecting this to trigger some interesting feedback (hopefully nothing too rough, but if you disagree and can point out some flaw with my logic here, by all means go for it). What do folks think about this issue, and what is the best way to deal with it?
				
				</description>
				
				
				<category>Development</category>
				
				<category>ColdFusion</category>
				
				<category>General</category>
				
				<category>Personal</category>
				
				<pubDate>Fri, 27 Mar 2009 15:10:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2009/3/27/Is-the-ColdFusion-Communitys-Generosity-Encouraging-Laziness</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Finally Using CFFormProtect, And Getting Zero Spam</title>
				<link>http://www.briankotek.com/blog/index.cfm/2009/3/20/Finally-Using-CFFormProtect-And-Getting-Zero-Spam</link>
				<description>
				
				I&apos;m probably the last person on earth to do this, but I recently added Jake Munson&apos;s &lt;a href=&quot;http://cfformprotect.riaforge.org/&quot; target=&quot;_blank&quot;&gt;CFFormProtect&lt;/a&gt; library to my blog. Why oh why didn&apos;t I do this six months ago? Oh yeah, because I&apos;m really busy heh. But better late than never, especially when the result is ZERO blog spam!

I normally got between 5 and 10 comment spam notifications a day. Which I immediately deleted, but it forced me to enable comment moderation on the blog. Well, moderation is off now, and I&apos;m thrilled to say no spam has come in yet. I absolutely love the idea of some person wasting time trying to spam my comments and failing every time. It brings a smile to my face. An evil smile.

Anyway, in case I am NOT the last person on earth to do this, and YOU are, then update your blog to include it. As a bonus, if you&apos;re on BlogCFC, the latest version includes it for you. One of these days I need to get back to the latest build of BlogCFC (right now mine has a number of tweaks, like using the Google SyntaxHighlighter).
				
				</description>
				
				
				<category>Development</category>
				
				<category>ColdFusion</category>
				
				<category>General</category>
				
				<pubDate>Fri, 20 Mar 2009 09:49:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2009/3/20/Finally-Using-CFFormProtect-And-Getting-Zero-Spam</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Preemptive New Year&apos;s Resolution: Back to Blogging!</title>
				<link>http://www.briankotek.com/blog/index.cfm/2008/12/30/Preemptive-New-Years-Resolution-Back-to-Blogging</link>
				<description>
				
				As anyone who has frequented my blog in the past is probably aware, I haven&apos;t been doing much blogging lately. Work at &lt;a href=&quot;http://www.broadchoice.com&quot; target=&quot;_blank&quot;&gt;Broadchoice&lt;/a&gt; has continued to be very intense, and what little time I have away from code has been spent slaughtering zombies in Left 4 Dead! On top of this, I haven&apos;t been doing much work with ColdFusion lately, as all of my effort has been directed into learning and coding in Flex, AIR, and Groovy. So I&apos;ve actually been a bit uncertain about what I have to say that anyone else might care about.

I&apos;ve decided that my blogging slackness has to change! So I&apos;m hereby laying out a preemptive New Year&apos;s Resolution that I will be back to blogging more in 2009.

The focus here will likely expand to include entries on learning and using AIR, Flex, and Groovy since that&apos;s been the core of what I&apos;ve been doing for the last several months. I&apos;d also like to talk about some more general topics that apply regardless of language: things like object-oriented programming, test-driven development, refactoring, and application design. I realize that many folks out there haven&apos;t yet taken the plunge into Flex or AIR, so I&apos;ll try to keep those topics loose and ensure that any underlying themes are (hopefully!) useful to both RIA and non-RIA developers. With AIR and Flex rapidly gaining traction, I think 2009 will see a large number of ColdFusion developers at least looking seriously at these technologies and learning them, if not using them on full-blown applications.

ColdFusion 9 is also coming and will most likely be released some time in 2009, and hopefully earlier rather than later! When I can, I want to start writing about some of the new features that have been announced for the next release, including Hibernate support, AIR integration, and language enhancements. I think that some of these may trigger fairly fundamental changes in how CF apps are built and maintained, and I have no doubt that there will be an avalanche of blog posts and discussion forum threads on these topics once Adobe pulls the curtain back.

Do these sound like topics folks in the CF blogosphere would be interested in reading about? Am I missing anything that folks might want to hear about that I haven&apos;t mentioned? If so, please comment and let me know.

In the meantime, I&apos;m already working on a few new posts in tandem and will get them ready for publication shortly. Thanks for sticking with me through the slow period! I hope everyone has had a good holiday so far, and has a great New Years.
				
				</description>
				
				
				<category>Development</category>
				
				<category>ColdFusion</category>
				
				<category>General</category>
				
				<category>Flex</category>
				
				<category>Personal</category>
				
				<pubDate>Tue, 30 Dec 2008 14:19:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2008/12/30/Preemptive-New-Years-Resolution-Back-to-Blogging</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>My Take on Mac vs. PC</title>
				<link>http://www.briankotek.com/blog/index.cfm/2008/8/13/My-Take-on-Mac-vs-PC</link>
				<description>
				
				At Broadchoice, everyone uses a Mac. Except me. In fact, it seems like just about everyone in the programming world is jumping onto the Mac bandwagon. Which is fine, I say use whatever you think works best for you. However, that&apos;s usually not good enough. When I tell someone I work on an XP box, the floodgates of hate open! Well, not really HATE, but people sure are happy to let you know what they think of Windows and why Macs are so utterly superior. And I&apos;ve got to tell you, it makes me feel like this:

&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;/blog/images/mac_vs_pc.jpg&quot; /&gt;&lt;/div&gt;

It can be downright depressing being a &quot;poor PC guy&quot;! It might be blasphemy in this day and age, but I &lt;strong&gt;like&lt;/strong&gt; my PC. It runs just fine. It never crashes. I&apos;ve got everything set up on it just how I want it, and I&apos;m talking about a lot of stuff: games, development tools, servers (ColdFusion, JBoss, etc.), databases, and all the rest. I don&apos;t really want to have to go through all that effort again just to say I&apos;m working off a Mac. Plus, not to brag, but my PC is a monster. 500 GB RAID 0, 4 GB RAM, 4 GHz dual-core Athlon 64, dual GeForce 8600&apos;s. And for display:

&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;/blog/images/pc_workstation.jpg&quot; /&gt;&lt;/div&gt;

Yes, that is &lt;strong&gt;three&lt;/strong&gt; 19 inch LCDs. And I use them all, all of the time. I know the Mac has Spaces but its not the same thing. I can actually see everything instead of having to switch to different spaces. I know that I am completely spoiled by this setup but it results in very high productivity for me.

Now compare that to the admittedly very nice Macbook Pro that Broadchoice set me up with:

&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;/blog/images/macbook.jpg&quot; /&gt;&lt;/div&gt;

Yes, it&apos;s very nice. Yes, I like OS X. I have nothing &lt;strong&gt;against&lt;/strong&gt; Macs, it&apos;s just not my preference. I have this set up with my basic tools and applications. I use it when I&apos;m traveling or presenting, or whenever I&apos;m not at my desk. But surely it wouldn&apos;t surprise anyone that I would prefer to work on my very well-appointed PC workstation than on this 15&quot; Macbook.

So please Mac folks, stop giving people the third degree just because they are actually fine working on a PC! I get it, you love your Macs. But seriously, the attitude is starting to go from enthusiastic to arrogant and overbearing.

So I&apos;ll open the floodgates to see what the Mac folks have to say, as well as to see if there are any other PC users who feel like they are supposed to be ashamed of daring to use a Windows-based system.
				
				</description>
				
				
				<category>Development</category>
				
				<category>Computers</category>
				
				<category>General</category>
				
				<category>Personal</category>
				
				<pubDate>Wed, 13 Aug 2008 12:17:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2008/8/13/My-Take-on-Mac-vs-PC</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>FormUtilities CFC Code Released (Create Implicit Arrays and Structures from Form Fields)</title>
				<link>http://www.briankotek.com/blog/index.cfm/2007/9/5/FormUtilities-CFC-Code-Released-Create-Implicit-Arrays-and-Structures-from-Form-Fields</link>
				<description>
				
				OK, folks were clamoring for the code so I&apos;ve released it. You can download it from the Links sidebar pod. Please let me know if you find any problems with it. Assuming testing goes well, I&apos;ll release it as a project on RIAForge.
				
				</description>
				
				
				<category>Development</category>
				
				<category>ColdFusion</category>
				
				<category>General</category>
				
				<category>FormUtilities CFC</category>
				
				<pubDate>Wed, 05 Sep 2007 20:43:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2007/9/5/FormUtilities-CFC-Code-Released-Create-Implicit-Arrays-and-Structures-from-Form-Fields</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>What&apos;s With All The Negativity Lately? (Part 1)</title>
				<link>http://www.briankotek.com/blog/index.cfm/2007/8/2/Whats-With-All-The-Negativity-Lately-Part-1</link>
				<description>
				
				Maybe I&apos;m just naive, or maybe I just don&apos;t pay enough attention to what people say in the greater technology world. But lately it seems there has been more negativity and bashing going on from the outside world when it comes to the technologies I use or am learning about. I know this is nothing new, but either its gotten worse lately or I just happen to have come across it more frequently.

The release of ColdFusion 8 prompted a long a vicious tirade of comments on Digg. There is also another article on why Flash sucks on Digg that is getting a lot of attention. I&apos;m sure there is a long list of items like this, look at any mention of ColdFusion or Flash or PDF on Slashdot.

From looking at these sorts of comments, the majority seem to be from what I would call &quot;open source zealots&quot;, typically PHP or Rails developers. I know we all have opinions on things, and I know there are things we all like or dislike. But these people seem to take this one (or many) step(s) further. They are just downright mean. And on top of that, they are also often ignorant. A simple glance at their comments reveals that most of them don&apos;t have any idea what they hell they are talking about when they bash on something. Instead of bothering to confirm their opinion (which seems to be based on pure hearsay or terribly outdated experience), they just spew vitriol. And together, they turn into an angry mob.

Why is this? Are they just blinded as soon as they see a technology that is not open source? Is it, OSS = Good and NonOSS = Bad, in every circumstance and without fail or question? Is it because many of these vocal knee-jerk posters are actually about 17 years old? Or something else? Or, more likely, all of the above?

I have nothing against open source software. Rails is very cool. PHP is a very popular and useful language. Linux is a great OS. I try to be open about other technologies and weigh them on their merits to produce an informed opinion. I even have nothing against Microsoft, the ultimate OSS whipping boy. So why doesn&apos;t this work the other way? I&apos;m sure (or at least I hope) that there is a silent minority (or even majority) of OSS supporters who try to judge other technologies fairly. Is it just the vocal and abusive group that gives the impression that all OSS supporters are the same?

All online communities have their less desirable participants. That&apos;s just a fact of social interaction on the internet. But I don&apos;t think anyone can disagree that the OSS zealot crowd is particularly nasty. I&apos;d like to ignore them, but they make so much noise I&apos;m afraid others will hear and assume they are right. Is there anything to be done, either by Adobe or by our community, to try to counter the knee-jerk criticism?
				
				</description>
				
				
				<category>ColdFusion</category>
				
				<category>General</category>
				
				<pubDate>Thu, 02 Aug 2007 11:07:00 -0700</pubDate>
				<guid>http://www.briankotek.com/blog/index.cfm/2007/8/2/Whats-With-All-The-Negativity-Lately-Part-1</guid>
				
				
			</item>
			
		 	
			</channel></rss>