<?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>The No-Dans Club</title>
			<link>http://www.nodans.com/index.cfm</link>
			<description>ColdFusion, Flex, Ajax and other items of interest</description>
			<language>en-us</language>
			<pubDate>Thu, 17 May 2012 06:31:28 -0700</pubDate>
			<lastBuildDate>Fri, 20 Apr 2012 10:34:00 -0700</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>sipacate@gmail.com</managingEditor>
			<webMaster>sipacate@gmail.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>sipacate@gmail.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			
			<itunes:explicit>no</itunes:explicit>
			
			<item>
				<title>Reporting Querys and COUNT(*) vs COUNT(1)</title>
				<link>http://www.nodans.com/index.cfm/2012/4/20/Reporting-Querys-and-COUNT-vs-COUNT1</link>
				<description>
				
				&lt;p&gt;I was working on a reporting query today and used several legacy queries as a base. When debugging and optimizing the query I found the query took 35+ seconds to crunch down to 72 records. Before worrying about indexes, I went over the query syntax and structure and found a COUNT(*) in one of the subqueries. Changing the COUNT(*) to a COUNT(1) turned the 35 second query into a 300ms query. Take a look for yourself:
&lt;/p&gt;
&lt;h3&gt;Query with COUNT(*)&lt;/h3&gt;
&lt;p&gt;
&lt;img src=&quot;/images/extras/StartSpeedSlow.jpg&quot; /&gt;
&lt;/p&gt;

&lt;h3&gt;Query with COUNT(1)&lt;/h3&gt;
&lt;p&gt;
&lt;img src=&quot;/images/extras/NoStarSpeed.jpg&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
While the use of the * in SQL Queries is always a bad idea and considered very poor form, it can be baffling how bad it affect query performance. What other common mistakes do you see that have dramatic effects on queries?&lt;/p&gt;
&lt;p&gt;&lt;small&gt;The database in question is a development SQL Server 2005 database. I&apos;d be interested to know if other databases suffer equally.&lt;/small&gt;&lt;/p&gt; 
				</description>
				
				<category>Software Development</category>
				
				<pubDate>Fri, 20 Apr 2012 10:34:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2012/4/20/Reporting-Querys-and-COUNT-vs-COUNT1</guid>
				
				
			</item>
			
			<item>
				<title>Getting USB Device Drivers Working for HTC Android Development</title>
				<link>http://www.nodans.com/index.cfm/2012/2/1/Getting-USB-Device-Drivers-Working-for-HTC-Android-Development</link>
				<description>
				
				I set up a new Eclipse environment today and wanted to use my HTC Thunderbolt for testing. Usually, the way this works is you right click on your project then select your manual run target of your phone. My HTC Thunderbolt was not recognized for some reason.

After digging around for a bit, I found the USB device driver provided by Google does not support some HTC phones out of the box. I have no idea why. However, fixing it is pretty simple.

All you have to do is update the device driver .inf file. It&apos;s pretty simple to do this. Here is what you do:

&lt;ol&gt;
&lt;li&gt;Follow the steps here: &lt;a href=&quot;http://developer.android.com/guide/developing/device.html&quot;&gt;http://developer.android.com/guide/developing/device.html&lt;/a&gt; to start the process (if you found this blog article, you have likely done this step already)&lt;/li&gt;
&lt;li&gt;If you are on Windows, you&apos;ll have to get the Microsoft specific USB driver  at the &lt;a href=&quot;http://developer.android.com/sdk/win-usb.html&quot;&gt;Google Windows USB Driver&lt;/a&gt; link.&lt;/li&gt;
&lt;li&gt;Once you install the Google Windows USB Driver and follow the instructions on that page for your specific OS, your device will not be recognized.  &lt;/li&gt;
&lt;li&gt;Use the Device Manager to find your phone. Right Click and choose properties, then choose the Details Tab. On the Details Tab, Change the Property selector to Hardware Ids. Write down the (4?) digits in the VID_1234 (where 1234 is likely different for you) and for PID_1234 (where once again 1234 is likely different for you) You will need them later. If this is confusing, check the screenshot at the bottom of this page. &lt;/li&gt;
&lt;li&gt;Use a text editor to open [Android SDK Root]\android-sdk\extras\google\usb_driver\android_winusb.inf&lt;/li&gt;
&lt;li&gt;Find the section [Google.NTx86] and copy the lines for the HTC Dream. Paste them and change the dream to your HTC phone model.&lt;/li&gt;
&lt;li&gt;Then, update the driver specific lines with the VID_1234 number and PID_1234 number you copied above. Mine looks like this:
&lt;code&gt;
; HTC Thunderbolt
%SingleAdbInterface%        = USB_Install, USB\VID_0BB4&amp;PID_0CA4
%CompositeAdbInterface%     = USB_Install, USB\VID_0BB4&amp;PID_0CA4&amp;MI_01
%SingleBootLoaderInterface% = USB_Install, USB\VID_0BB4&amp;PID_0CA4
&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Copy and paste this code for the [Google.NTamd64] section also.&lt;/li&gt;
&lt;li&gt;When finished, try the driver update once again and you should have better luck this time.&lt;/li&gt;
&lt;/ol&gt;

This should improve the situation. Hat tip to Kostya Vasilyev on the Android Developers mailing list for the idea.

&lt;img src=&quot;/images/extras/AndroidDeviceDriverHardwareIds.png&quot; style=&quot;margin 2em&quot;&gt; 
				</description>
				
				<category>Tutorials</category>
				
				<category>Mobile Development</category>
				
				<pubDate>Wed, 01 Feb 2012 11:26:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2012/2/1/Getting-USB-Device-Drivers-Working-for-HTC-Android-Development</guid>
				
				
			</item>
			
			<item>
				<title>ColdSpring 2.0 Alpha 1 Released! Your Help Needed!</title>
				<link>http://www.nodans.com/index.cfm/2011/10/25/ColdSpring-20-Alpha-1-Released-Your-Help-Needed</link>
				<description>
				
				&lt;p&gt;
&lt;a href=&quot;http://www.compoundtheory.com&quot;&gt;Mark Mandel&lt;/a&gt; posted information about the ColdSpring 2.0 Alpha release and I wanted to make sure it got out to the general public. There is a documentation contest running and your help is requested in trying out the release and helping to identify issues. Make sure you have joined the &lt;a href=&quot;http://groups.google.com/group/coldspring-users&quot;&gt;ColdSpring Users Group&lt;/a&gt; as this is the best way to give and get information about &lt;a href=&quot;http://coldspringframework.org&quot;&gt;ColdSpring&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;Mark&apos;s Post is below for your reference&lt;/p&gt;


&lt;h3&gt;ColdSpring 2.0 Alpha 1 is now available for you to download and test!&lt;/h3&gt;
&lt;h4&gt;Major features included in this release:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Enhanced underlying architecture for greater extensibility&lt;/li&gt;
&lt;li&gt;XML Schema For ColdSpring configuration files&lt;/li&gt;
&lt;li&gt;New BeanDefinition architecture&lt;/li&gt;
&lt;li&gt;BeanFactoryInterceptors for intercepting BeanFactory lifecyle events&lt;/li&gt;
&lt;li&gt;BeanProcessInterceptors for intercepting Bean lifecyle events&lt;/li&gt;
&lt;li&gt;XML Custom Namespaces for defining your own XML dialect for creating and configurating beans&lt;/li&gt;
&lt;li&gt;Aspect Oriented Programming (AOP) Custom XML Namespaces&lt;/li&gt;
&lt;li&gt;Greatly extended AOP functionality with AOP expressions&lt;/li&gt;
&lt;li&gt;ColdFusion 9 ORM Integration classes&lt;/li&gt;
&lt;li&gt;Utility Custom XML Namespace for creation of data structures&lt;/li&gt;
&lt;li&gt;Enhanced error reporting&lt;/li&gt;
&lt;li&gt;Multiple Bean Scope support – beans can be prototype (transient), singleton, as well as request or session scope bound&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;More details can be found in the release notes, and my blog post:
&lt;a href=&quot;https://sourceforge.net/apps/trac/coldspring/wiki/NewInColdSpring2.0&quot;&gt;https://sourceforge.net/apps/trac/coldspring/wiki/NewInColdSpring2.0&lt;/a&gt;
&lt;a href=&quot;http://www.compoundtheory.com/?action=displayPost&amp;ID=537&quot;&gt;http://www.compoundtheory.com/?action=displayPost&amp;ID=537&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
We are also running a competition to help flesh out the missing pieces of the documentation, with an opportunity to win a copy of ColdFusion Builder!
&lt;/p&gt;
&lt;p&gt;
Details can be found here:
&lt;a href=&quot;http://www.compoundtheory.com/?action=displayPost&amp;ID=538&quot;&gt;http://www.compoundtheory.com/?action=displayPost&amp;ID=538&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Happy testing!
&lt;/p&gt;
&lt;p&gt;
Thanks to all have been involved in this release!
&lt;/p&gt; 
				</description>
				
				<category>Software Development</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Tue, 25 Oct 2011 06:31:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/10/25/ColdSpring-20-Alpha-1-Released-Your-Help-Needed</guid>
				
				
			</item>
			
			<item>
				<title>Quirk in MySQL Join Conditions</title>
				<link>http://www.nodans.com/index.cfm/2011/10/24/Quirk-in-MySQL-Join-Conditions</link>
				<description>
				
				&lt;p&gt;
I found a quirk in a join condition today that caused too many records to display. Look at the following query and notice the two AND clauses after the LEFT JOIN to activitytype.
&lt;/p&gt;
&lt;code&gt;
SELECT *
FROM  organization grouptable 
INNER JOIN (
	SELECT c.CommunityID, o.OrganizationID, d.DivisionID
	FROM
		community c
		LEFT JOIN organization o ON c.communityID = o.communityID 
		LEFT JOIN  division d ON o.organizationID  = d.organizationID
	WHERE c.communityID = 1
	) orgmodel ON (  grouptable.OrganizationID = orgmodel.OrganizationID )
INNER JOIN member m ON orgmodel.OrganizationID =  m.OrganizationID	
LEFT JOIN activity a ON a.memberID = m.memberID 
LEFT JOIN activitytype at ON a.activityTypeID = at.activityTypeID
AND hasDistance = 1
AND activityDate BETWEEN &apos;2011-08-01 00:00:00&apos; AND &apos;2011-10-24 13:38:14&apos;
ORDER BY activitydate
&lt;/code&gt;

&lt;p&gt;This query runs and returns 2918 rows. However, when I audit this data, I get rows back that are outside of the time bounds specified in the BETWEEN clause: ( AND activityDate BETWEEN &apos;2011-08-01 00:00:00&apos; AND &apos;2011-10-24 13:38:14&apos; ). There is no activityDate column on the table activitytype. There is an activityDate column on the activity table however. This means the query is parsed and executed without MySQL throwing an error, but the expression is not used to limit the number of joined rows. The correct recordset (428 rows) is easily obtained by moving the join condition to the correct join statement.
&lt;code&gt;
SELECT *
FROM  organization grouptable 
	INNER JOIN (
		SELECT c.CommunityID, o.OrganizationID, d.DivisionID
		FROM
			community c
			LEFT JOIN organization o ON c.communityID = o.communityID 
			LEFT JOIN  division d ON o.organizationID  = d.organizationID
		WHERE c.communityID = 1
		) orgmodel ON (  grouptable.OrganizationID = orgmodel.OrganizationID )
	INNER JOIN member m ON orgmodel.OrganizationID =  m.OrganizationID	
	LEFT JOIN activity a ON a.memberID = m.memberID AND activityDate BETWEEN &apos;2011-08-01 00:00:00&apos; AND &apos;2011-10-24 13:38:14&apos;
	LEFT JOIN activitytype at ON a.activityTypeID = at.activityTypeID
	AND hasDistance = 1
ORDER BY activitydate
&lt;/code&gt;

&lt;p&gt; I hope this helps someone else with their MySQL queries. &lt;/p&gt; 
				</description>
				
				<category>Software Development</category>
				
				<pubDate>Mon, 24 Oct 2011 12:30:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/10/24/Quirk-in-MySQL-Join-Conditions</guid>
				
				
			</item>
			
			<item>
				<title>Long Live the Conference!</title>
				<link>http://www.nodans.com/index.cfm/2011/8/16/Long-Live-the-Conference</link>
				<description>
				
				Last year, one of the major tech conferences, CFUnited, closed it&apos;s doors for good. This left a hole in the learning and networking opportunities for ColdFusion developers. I gained much from going to CFUnited over the years. It helped me personally and also professionally. The opportunities to learn from the best minds in the business and develop my skills have been some of my fonder memories of my career.

I would like to invite you to take part of a Technology Conference my group is organizing on Sept. 17-18. The price is minimal, only $60 for 40 sessions and 2 hands on classes! This is our third conference and we guarantee you will have a good time.

&lt;h3&gt;Space is very limited so register as soon as you can!&lt;/h3&gt;

The conference will cover a wide variety of web development and design topics including Web and Mobile technologies. See the schedule here: &lt;a href=&quot;http://ncdevcon.com/page.cfm/schedule&quot;&gt;NCDevCon 2011 schedule&lt;/a&gt;

&lt;h3&gt;Registration for the event will be $60 which includes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;li&gt;Entry to the weekend event and all presentations&lt;/li&gt;
&lt;li&gt;Lunch (both days)&lt;/li&gt;
&lt;li&gt;Coffee, drinks and snacks (both days)&lt;/li&gt;
&lt;li&gt;Conference shirt&lt;/li&gt;
&lt;/ul&gt;

Also available are 2 hands on sessions. We will walk you through building your first web application and also building your first mobile application. These hands on courses are included in your admission fee.

&lt;h3&gt;Registration:&lt;/h3&gt;
&lt;a href=&quot;http://ncdevcon.eventbrite.com/&quot;&gt;Our EventBrite Registration Link&lt;/a&gt;

&lt;h2&gt;Can&apos;t go? You can still help!&lt;/h2&gt;
We have a &lt;a href=&quot;/enclosures/ncdevcon-flyer-2011.pdf&quot;&gt;nice NCDevCon flyer&lt;/a&gt; for you to forward to your co-workers or hang in your break room. We&apos;d appreciate it! 
				</description>
				
				<category>ColdFusion</category>
				
				<category>Conferences</category>
				
				<pubDate>Tue, 16 Aug 2011 07:21:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/8/16/Long-Live-the-Conference</guid>
				
				
			</item>
			
			<item>
				<title>Thinking Like a Cupcake Kingpin</title>
				<link>http://www.nodans.com/index.cfm/2011/8/2/Thinking-Like-a-Cupcake-Kingpin</link>
				<description>
				
				As you know, my company ChallengeWave is a tool for &lt;a href=&quot;http://www.challengewave.com/index.cfm?event=HealthyWorkforce&quot;&gt;healthy challenges at work.&lt;/a&gt; at ChallengeWave, we&apos;ve got a number of very large prospects (VLPs) in our sales pipeline. These prospects represent many millions of dollars of revenue. Each sale is complicated and requires approval at numerous levels. Each sale also requires a significant budgetary appropriation. These factors increase the sales cycle, or the length of time it take to close the deal and start receiving funds. 

Dealing with complex sales is a work of art. It requires skills in information gathering, positioning and patience. Many months pass before we get to an implementation. This is not only frustrating, but it causes delay in verifying our newest capability with users. We&apos;ve been looking at ways to increase our feedback loop with our customers. We&apos;ve chosen to do this by finding customers with smaller sales cycles.  

Now, the good things about smaller markets is the shorter line to decision makers and budget wranglers. We can get feedback on our business much quicker. We can validate our results without going through a 9-18 month sales cycle.

This presents us with an interesting problem. As we compete with companies many times our size, our nimbleness and ability to deliver customized solutions is a large  asset for us. This asset isn&apos;t of great interest for smaller markets who may not even have a wellness strategy at all. Much less, have complicated systems to integrate with. We need to carve out a compelling, simplified offering to help small business.

&lt;h3&gt;Cupcake Kingpin&lt;/h3&gt;
Getting to an understanding of this problem and defining a strategy has taken many months. When running a daily business one gets mired in details and it can be tough to see the forest for the proverbial trees. One trick I use to help me step back from details and focus on the big picture is to imagine I&apos;m a cupcake kingpin in the cupcake business. (My years of making cupcakes for my nieces makes me an expert :) ) So I ask myself, if I ran a cupcake business, how might I handle this problem?

The first thing we must do is rephrase the issues in cupcake-ese. This helps us to over-simply the details and look at the bug picture from an outsiders perspective.

&lt;h3&gt;My Problem in Cupcake-ese&lt;/h3&gt;
In cupcake-ese, the problem is we have a new, unproven recipe and we need to see if people like it enough to buy it.

How would you approach this if it was your cupcake business? 
&lt;ul&gt;
&lt;li&gt;Would you hire an army of SEO consultants to build link backs and press releases?&lt;/li&gt;
&lt;li&gt;Would you hire a market research firm to ascertain which part of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Magic_Quadrant&quot;&gt;Gartner Magic Quadrant&lt;/a&gt; you fit into? &lt;/li&gt;
&lt;li&gt;Would you just discontinue your current offerings and just offer your new product to the public at large? ( Ha Ha, you may laugh at the absurdity of this, but that is what happened with &lt;a href=&quot;http://en.wikipedia.org/wiki/New_Coke&quot;&gt;New Coke&lt;/a&gt; in the &apos;80s)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;My Solution In Cupcake-ese&lt;/h3&gt;
The way to solve this problem for the cupcake business is to just make up a few batches and hand them out on the street. If people vomit in the nearest garbage can after ingesting your newest cupcake treat, your mix needs adjusting. However, if the test subjects come back with their friends, you have a winner.

So, we at ChallengeWave have a new cupcake recipe and we are looking for &lt;strike&gt;suckers&lt;/strike&gt; a trial group. Group members will get 2 months of ChallengeWave for their use. Employees will be able to track their activities, challenge other employees, compete on teams and compete against other companies.

In exchange for the free service, ChallengeWave wants unvarnished feedback and help with case studies or press releases as appropriate. If you think your company might be interested in giving ChallengeWave a shot and your company is:

&lt;ul&gt;
&lt;li&gt;10-50 employees&lt;/li&gt;
&lt;li&gt;flexible&lt;/li&gt;
&lt;li&gt;somewhat motivated (especially to change their lifestyle)&lt;/li&gt;
&lt;li&gt;somewhat competitive&lt;/li&gt;
&lt;li&gt;computer literate&lt;/li&gt;
&lt;li&gt;team oriented&lt;/li&gt;
&lt;/ul&gt;

If your organization is interested in applying for &lt;a href=&quot;http://www.challengewave.com/index.cfm?event=ContactUs&quot;&gt;a trial of ChallengeWave for your organization, let us know&lt;/a&gt;.
&lt;hr&gt;
Have you considered the cupcake kingpin approach to problem solving? Have you solved problems with the cupcake (or similar) method?
Tell me about it in the comments.... 
				</description>
				
				<category>entrepreneurism</category>
				
				<pubDate>Tue, 02 Aug 2011 11:16:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/8/2/Thinking-Like-a-Cupcake-Kingpin</guid>
				
				
			</item>
			
			<item>
				<title>On What Is Important</title>
				<link>http://www.nodans.com/index.cfm/2011/7/25/On-What-Is-Important</link>
				<description>
				
				An article showed up in my inbox today titled &lt;a href=&quot;http://blog.asmartbear.com/startup-weekend.html&quot;&gt;
Startup Weekend pep talk: It ain&apos;t the code&lt;/a&gt;. The background of this article is a pep talk delivered by Jason Cohen, of &lt;a href=&quot;http://smartbear.com&quot; target=&quot;_blank&quot;&gt;Smart Bear Software&lt;/a&gt; to the audience at Startup Weekend in Austin. I happen to agree strongly with the meat of this article and want to share it with you.

Rather than paraphrase the article and add my own opinions, I&apos;d like for you to read it and apply the points it to your own start up company.

Read:  &lt;a href=&quot;http://blog.asmartbear.com/startup-weekend.html&quot;&gt;
Startup Weekend pep talk: It ain&apos;t the code&lt;/a&gt; 
				</description>
				
				<category>entrepreneurism</category>
				
				<pubDate>Mon, 25 Jul 2011 13:18:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/7/25/On-What-Is-Important</guid>
				
				
			</item>
			
			<item>
				<title>To Free or Not to Free</title>
				<link>http://www.nodans.com/index.cfm/2011/7/6/To-Free-or-Not-to-Free</link>
				<description>
				
				It&apos;s pretty common for web based services to offer a free sign-up account as a trial period or self-directed demonstration. An advantage of offering free sign-ups is to give a potential customer a good look at the system in order to make a buying decision. For services with automated enrollment and simple service structures,  free sign-ups can be a good idea. Converting a free sign-up customer to a paying customer helps lower sales costs. At &lt;a href=&quot;http://www.challengewave.com&quot;&gt;ChallengeWave&lt;/a&gt;, we&apos;ve decided not to offer a free sign-ups. Let&apos;s talk a little bit about why that is.  [More]
				</description>
				
				<category>entrepreneurism</category>
				
				<pubDate>Wed, 06 Jul 2011 08:08:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/7/6/To-Free-or-Not-to-Free</guid>
				
				
			</item>
			
			<item>
				<title>Gmail Gmail, how thou hast forsaken me</title>
				<link>http://www.nodans.com/index.cfm/2011/7/5/Gmail-Gmail-how-thou-hast-forsaken-me</link>
				<description>
				
				&lt;ul&gt;
&lt;li&gt;Oh Gmail, Gmail&lt;/li&gt;
&lt;li&gt;How thou hath forsaken me&lt;/li&gt;
&lt;li&gt;Thou makest me to switch accounts where there used to be no problems&lt;/li&gt;
&lt;li&gt;Thou loggest me out at inopportune moments when I&apos;ve emails to write&lt;/li&gt;
&lt;li&gt;Thou ignorest my pleas to open different accounts in multiple tabs&lt;/li&gt;
&lt;li&gt;I beat my breast and tear my clothes in anguish...&lt;/li&gt;
&lt;li&gt;I regreteth having multiple email accounts running off thine servers...&lt;/li&gt;
&lt;/ul&gt;

Alas, there is no answer....

( yes I know all about enabling multiple accounts. I&apos;ve done that and gmail still sucketh. I want it back the way it was. Back when each tab seemed to be a sufficient separation....) 
				</description>
				
				<category>Personal</category>
				
				<pubDate>Tue, 05 Jul 2011 19:58:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/7/5/Gmail-Gmail-how-thou-hast-forsaken-me</guid>
				
				
			</item>
			
			<item>
				<title>The worst entreprenurial sin</title>
				<link>http://www.nodans.com/index.cfm/2011/7/1/The-worst-entreprenurial-sin</link>
				<description>
				
				In my opinion, the worst entrepreneurial sin is building a product without a revenue stream. Sure there are strategies to build a web application, go viral and sell to GoogFaceYahooSoft.... but most of my readers live outside of the reality distortion field of Silicon Valley and must actually build a business that makes money.
&lt;h3&gt;A business is&lt;/h3&gt;
A business is defined as the exchange of a good or a service for a profit. If you do not know who will give you a profitable sum for your good or service, stop what you are doing right now and go figure it out.

By figure it out, I mean get some real details. For example, advertising is a choice for a revenue model. Advertising can be a successful strategy and it can also be the lazy man&apos;s version of revenue planning. If your monetization strategy is &quot;Advertising&quot;, you should get a good understanding of your value as an advertising partner. Some things to think of:  [More]
				</description>
				
				<category>entrepreneurism</category>
				
				<pubDate>Fri, 01 Jul 2011 07:59:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/7/1/The-worst-entreprenurial-sin</guid>
				
				
			</item>
			
			<item>
				<title>Perfection is the Enemy of the Good</title>
				<link>http://www.nodans.com/index.cfm/2011/6/30/Perfection-is-the-Enemy-of-the-Good</link>
				<description>
				
				Remember when you used to work at BigCompanyCo as an employee? Remember all the dumb stuff they did there and how you would do it differently when you get in charge? Honestly, that feeling was one of the major drivers for me to start my own company. I felt like I could do it better, cheaper and faster.

I was right, of course, (thankfully!), but I must admit I&apos;ve learned a whole lot along the way. I&apos;m a software developer/program manager by trade and I&apos;ve spend the last 12 years building products and services for various companies. This means I&apos;ve got a very strong technical focus and I&apos;m able to craft and deliver very good technical strategies for lots of situations.

Like, do you need a quick and dirty reporting application to get insight in to your daily sale composition? Do you need an enterprise quality lease contract risk scoring application? Are you in need of an e-commerce infrastructure that can handle the surge of being on all 5 major television networks to raise money for cancer? I&apos;m your guy.

&lt;h3&gt;Specialization at the expense of Generalization&lt;/h3&gt;  [More]
				</description>
				
				<category>entrepreneurism</category>
				
				<pubDate>Thu, 30 Jun 2011 09:04:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/6/30/Perfection-is-the-Enemy-of-the-Good</guid>
				
				
			</item>
			
			<item>
				<title>So you&apos;ve got a good idea, do you?</title>
				<link>http://www.nodans.com/index.cfm/2011/6/28/So-youve-got-a-good-idea-do-you</link>
				<description>
				
				There is an old saying, &quot;Ideas are cheap, &apos;tis execution that pays the bills&quot;. It&apos;s possible to have a good idea and use poor execution. It is possible to have a poor idea and use good execution. Allow me to pontificate:

&lt;h3&gt;Good idea, bad execution&lt;/h3&gt;

An example of a good idea that was executed poorly is &lt;a href=&quot;http://en.wikipedia.org/wiki/Webvan&quot;&gt;WebVan&lt;/a&gt;. Founded in the late 1990&apos;s, WebVan promised to let you order groceries online and deliver them to your home. This is a good idea and one I would pay a premium on. Mostly because I&apos;d be able to avoid maniacal coupon clipping crazies clogging up the isles with their grocery carts and coupon flip books.

The good part of the idea is in taking friction out of the grocery shopping experience. Many a good business model has been in offering convenience at a slightly increased cost.

The bad execution comes in how WebVan allocated it&apos;s funds. Since huge tranches of money was raised through Venture Capital and though an IPO, Webvan was not careful with it&apos;s funds and collapsed under it&apos;s own overbuilt, overspent and underutilized weight. WebVan was voted the #1 Dot-com flop by C-Net in 2008.  [More]
				</description>
				
				<category>entrepreneurism</category>
				
				<pubDate>Tue, 28 Jun 2011 12:11:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/6/28/So-youve-got-a-good-idea-do-you</guid>
				
				
			</item>
			
			<item>
				<title>I&apos;m going to write about Entrepreneurialism at nodans.com</title>
				<link>http://www.nodans.com/index.cfm/2011/6/28/Im-going-to-write-about-Entrepreneurialism-at-nodanscom</link>
				<description>
				
				I use this blog to write about things that interest me. I&apos;ve been growing &lt;a href=&quot;http://challengewave.com&quot;&gt;ChallengeWave.com&lt;/a&gt; for the last few years and lately I&apos;m interested in doing the right things to see our company grow.

ChallengeWave is a service to help employees start and stick with healthier lifestyles. Healthier employees are less expensive and more productive that less healthy employees. ChallengeWave works by giving tools to all users to build an online community providing entertainment and accountability in shared lifestyle goals.

Many people over the years have been helped by my technical writings at nodans.com and have been kind enough to share their gratitude. These days, the majority of what I&apos;m learning has to do with founding and growing a health technology related start up and I&apos;d like to be able to help others with entrepreneurial tendencies.

I help other small companies from time to time with their growing pains. I&apos;m fortunate enough to have several world class business mentors to help me with the growing pains of ChallengeWave. If you have specific things you would like me to write about, please send me a message. As always, you are free to agree or disagree with my opinions and to tell me all about it in the blog comments.
&lt;hr&gt;
If you are interested in &lt;a href=&quot;http://www.challengewave.com/index.cfm?event=ContactUs&quot;&gt;a demonstration of ChallengeWave for your organization, let us know&lt;/a&gt;. 
				</description>
				
				<category>entrepreneurism</category>
				
				<pubDate>Tue, 28 Jun 2011 11:27:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/6/28/Im-going-to-write-about-Entrepreneurialism-at-nodanscom</guid>
				
				
			</item>
			
			<item>
				<title>Job Opportunity Near Boston for Mid-Level CF Developer</title>
				<link>http://www.nodans.com/index.cfm/2011/4/13/Job-Opportunity-Near-Boston-for-MidLevel-CF-Developer</link>
				<description>
				
				&lt;em&gt;I&apos;m posting this job opportunity for a friend. This opportunity is for a mid-level ColdFusion developer who is entrepreneurially minded and wants to be a key member of a growing and exciting team. Slackers need not apply! If you are interested, &lt;a href=&quot;contact.cfm&quot;&gt;Contact Me&lt;/a&gt; with your resume text and contact info and I&apos;ll pass the information on to the right person.&lt;/em&gt;

&lt;h3&gt;Job Description&lt;/h3&gt;
We need a mid-level programmer to aid in the development on our Coldfusion platform. The system was developed in 2005 as a Content Management, Ecommerce, and Ticketing system. The Company has been growing very quickly over the past 2 years, with explosive growth in 2010. In order for the Company to continue to grow they must increase their efficiency and build more automated processes into the platform. 

This programmer will report to the team lead and will be responsible for delivering well-written, quality software as a team member both on time and within scope.

&lt;h3&gt;Responsibilities&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Function both independently as well as within a team, participating in on-going prioritization, management, development, testing and delivery of internal and external-facing web applications&lt;/li&gt;
&lt;li&gt;Consult with management to identify requirements and priorities for web product development, as well as opportunities to improve Paid&apos;s performance of this function.
Administer, tune and troubleshoot any of the applications in our web applications portfolio&lt;/li&gt;
&lt;li&gt;Estimate, justify, and communicate budget requirements for projects&lt;/li&gt;
&lt;li&gt;Aid in post-project documentation&lt;/li&gt;
&lt;li&gt;Keep abreast of industry trends and developments.  Research new technologies and provide recommendations&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;MINIMUM QUALIFICATIONS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
3+ years experience with ecommerce platforms &amp; content management systems&lt;/li&gt;
&lt;li&gt;Experience dealing with large-scale order processing and manifesting systems a plus&lt;/li&gt;
&lt;li&gt;Direct experience in high-volume, large-scale, web-based applications&lt;/li&gt;
&lt;li&gt;3+ years building web applications in a code managed, multi-tier development environment with process release management in place&lt;/li&gt;
&lt;li&gt;1+ years experience with SQL Server specifically, including experience with:
Relational Database design, along with creation of stored procedures and user-defined functions&lt;/li&gt;
&lt;li&gt;3+ years experience with ColdFusion specifically, including experience with:
Coldfusion specific development - CFCs, custom tags&lt;/li&gt;
&lt;li&gt;Understanding of ColdFusion Server development environment (mappings, application architecture, variable scoping, client/session management, error handling, transactions, etc.)&lt;/li&gt;
&lt;li&gt;Proficiency with Subversion&lt;/li&gt;
&lt;li&gt;Ability to handle multiple competing priorities in a fast-paced environment&lt;/li&gt;
&lt;li&gt;Position available in our new Westborough, MA offices. While the role will require interaction with the actual day-to-day processes and individuals performing those tasks, we are flexible and allow for day(s) of telecommuting per week.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Direct candidates only at this time. (No agencies please)&lt;/h3&gt; 
				</description>
				
				<category>ColdFusion</category>
				
				<pubDate>Wed, 13 Apr 2011 10:22:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2011/4/13/Job-Opportunity-Near-Boston-for-MidLevel-CF-Developer</guid>
				
				
			</item>
			
			<item>
				<title>Filter Directory Contents By Multiple File Extensions</title>
				<link>http://www.nodans.com/index.cfm/2010/12/23/Filter-Directory-Contents-By-Multiple-File-Extensions</link>
				<description>
				
				Query of Queries really helped me out this morning. The Model-Glue team is working on a ColdFusion Builder extension and we need to get a list of files to inspect. There could be many types of files in a project that aren&apos;t relevant to our purposes and I wanted to filter only the ones I need.

My Directory query contained lots of SVN specific files, which make for a good example of what we want to filter, before doing our inspection work.

&lt;h3&gt;Original Directory Query&lt;/h3&gt;
&lt;img src=&quot;/images/extras/DirectoryQueryBeforeFilter.jpg&quot; /&gt;

What we need in this case is to filter anything that isn&apos;t a CFM, CFC or XML file. The &lt;a href=&quot;http://www.cfquickdocs.com/cf9/?getDoc=cfdirectory#cfdirectory&quot;&gt;CFDirectory&lt;/a&gt; tag will allow only a single filter, so what do we do?

In ColdFusion, I would use listlast( filename, &quot;.&quot;) to look at the file extension but that would mean I&apos;d have to unpack the query and either make a new one, or pack it in another datastructure. Waste of code, I tell ya. I ended up using Query of Queries and a LIKE statement to filter.

&lt;h3&gt;New Directory Query&lt;/h3&gt;
&lt;img src=&quot;/images/extras/DirectoryQueryAfterFilter.jpg&quot; /&gt;


&lt;h3&gt;The Code I Used for the Query of Queries&lt;/h3&gt;

&lt;code&gt;
&lt;cfquery name=&quot;CleanedDirectoryQuery&quot; dbtype=&quot;query&quot;&gt;
	SELECT * 
	FROM arguments.sourceDirectoryQuery
	WHERE lower(NAME) LIKE &apos;%.cfm&apos;
		OR lower(NAME) LIKE &apos;%.cfc&apos;
		OR lower(NAME) LIKE &apos;%.xml&apos;
&lt;/cfquery&gt;
&lt;/code&gt;

The secret sauce is the lower() function on NAME, and the LIKE conditional with a wildcard % operator. I found this through the &lt;a href=&quot;http://livedocs.adobe.com/coldfusion/8/htmldocs/using_recordsets_7.html#1137985&quot;&gt;Query of Queries documentation&lt;/a&gt; and I also learned about a few other wildcard operators as well. 

&lt;h3&gt;List of Wildcard Operators Supported In Query of Query LIKE conditional&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The underscore (_) represents any single character.&lt;/li&gt;
&lt;li&gt;The percent sign (%) represents zero or more characters.&lt;/li&gt;
&lt;li&gt;Square brackets ([ ]) represents any character in the range.&lt;/li&gt;
&lt;li&gt;Square brackets with a caret [^] represent any character not in the range.&lt;/li&gt;
&lt;li&gt;All other characters represent themselves.&lt;/li&gt;
&lt;/ul&gt;


Simple and maintainable. Just how I like it. Thanks #ColdFusion! 
				</description>
				
				<category>ColdFusion</category>
				
				<pubDate>Thu, 23 Dec 2010 08:56:00 -0700</pubDate>
				<guid>http://www.nodans.com/index.cfm/2010/12/23/Filter-Directory-Contents-By-Multiple-File-Extensions</guid>
				
				
			</item>
			</channel></rss>
