<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DriftLogic</title>
	<atom:link href="http://driftlogic.net/feed" rel="self" type="application/rss+xml" />
	<link>http://driftlogic.net</link>
	<description>Web development, random thoughts, associated geekery</description>
	<lastBuildDate>Sat, 13 Feb 2010 17:44:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>What&#8217;s really wrong with MySpace</title>
		<link>http://driftlogic.net/13/02/2010/whats-really-wrong-with-myspace.html</link>
		<comments>http://driftlogic.net/13/02/2010/whats-really-wrong-with-myspace.html#comments</comments>
		<pubDate>Sat, 13 Feb 2010 17:44:33 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[myspace]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[stupid]]></category>

		<guid isPermaLink="false">http://driftlogic.net/?p=43</guid>
		<description><![CDATA[For the last year or so, the majority of my professional life has revolved around writing applications for social networks, Facebook in particular. In fact, it seems that most application developers forget that other networks actually exist. Allot of this has to do with publishers getting blinded by the &#8216;FarmVille&#8217; effect of commanding a userbase [...]]]></description>
			<content:encoded><![CDATA[<p>For the last year or so, the majority of my professional life has revolved around writing applications for social networks, Facebook in particular. In fact, it seems that most application developers forget that other networks actually exist. Allot of this has to do with publishers getting blinded by the &#8216;FarmVille&#8217; effect of commanding a userbase greater than the population of France. Despite this, with the rapid reforms Facebook is making to the platform, smart shops are starting to adopt the idea of casting a wide net to catch more fish.</p>
<p>That&#8217;s where social networks like MySpace, hi5, and orkut come into play. While Facebook might be the largest social network and the most used in North America, MySpace still retains a loyal set of users. Networks like hi5 and orkut maintain strong regional networks, with others like Vkontakte commanding small, but extremely engaged regional users.</p>
<p>Facebook is effectively a &#8216;me too&#8217; developer arena, with an aggressive and unfriendly referee in Facebook Corporate. Most of the spamish tools used by Zynga and Playfish to grow their networks during the last redesign renaissance are gone now. Wall posts? Gone. Stream Posts with lots of images and spammy links? Gone. Notifications? On the way out baby. Facebook is attempting to detatch themselves from developers that helped increased the retention of their platforms by reducing branding and making it difficult for new developers to grow their audiences. With the introduction of Facebook payments, the writing is on the wall for companies like offerpal and trialpay as well.</p>
<p>So, what&#8217;s a developer to do? Social networks arn&#8217;t going away, and there&#8217;s still money to be made developing for other platforms that are looking to lure developers of A-list apps away from Facebook. MySpace is trying to do exactly that with a revamped API and a development contest aimed at giving developers something else to playwith on the platform. To be honest, there are some fairly interesting ideas in the streaming apis, borrowed from what Twitter is up to lately with its streaming API. It&#8217;s a huge waste of time and money, tho. The MySpace API&#8217;s are poorly documented and don&#8217;t really focus around what developers need to pull from the network on a regular basis (Friends, Userdata, Viral Channels). What&#8217;s worse, all of the MySpace API interactions are governed by what must be the worst authentication system ever imagined in Google&#8217;s OAuth for Opensocial.</p>
<p>Just <a title="Noooooooooo...." href="http://code.google.com/apis/accounts/images/OAuthDiagram.png">look</a> at the work flow for this beast of an authentication system. Wanna get some information from the user? You need ten steps to make that happen. Five full request / response cycles to make anything happen if the user isn&#8217;t authenticated. MySpace will let you skip one of those cycles if you&#8217;re making the request from an already authenticated user within one of their application pages, but you&#8217;re still going to walk through the overly complicated process of authentication to do almost anything. You could use the MySpace SDK for most platforms, and they do a great job of abstracting away all of this OAuth complexity, but as a developer, I should be able to look at the calls and understand how they work immediately.</p>
<p>Developers should be somewhat afraid of things that are black box implementations of anything, and while the MySpace SDK isn&#8217;t exactly black box, it isn&#8217;t intuitive either. It takes a real time investment to understand any call made to the api that involves OAuth. What&#8217;s worse is that it&#8217;s needless complexity. Twitter&#8217;s API uses tried and true authentication headers to prove identity. Easy, understood, you know what&#8217;s going on immediately and should something break, how you can roll up your sleeves to see what&#8217;s wrong.</p>
<p>Most developers who work on the MySpace platform won&#8217;t take the time to understand it because of the massive bloat attached to it. It&#8217;s too far gone now for any proper change with the MySpace API, not because it can&#8217;t be changed, but because there is no culture in place to change it.</p>
<p>Want developers to work and create for your platform? Get out of your own way.</p>
]]></content:encoded>
			<wfw:commentRss>http://driftlogic.net/13/02/2010/whats-really-wrong-with-myspace.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Play OSX Package</title>
		<link>http://driftlogic.net/25/10/2009/play-osx-package.html</link>
		<comments>http://driftlogic.net/25/10/2009/play-osx-package.html#comments</comments>
		<pubDate>Sun, 25 Oct 2009 16:26:50 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://driftlogic.net/?p=39</guid>
		<description><![CDATA[With work keeping me rather busy lately, I haven&#8217;t had the chance to write up a (readable) new post. But over the last little I&#8217;ve been looking for a lightweight web development framework for Java that breaks out of the Servlet mold when I discovered Play!. Play is lightweight, set up for rapid development, and [...]]]></description>
			<content:encoded><![CDATA[<p>With work keeping me rather busy lately, I haven&#8217;t had the chance to write up a (readable) new post. But over the last little I&#8217;ve been looking for a lightweight web development framework for Java that breaks out of the Servlet mold when I discovered <a href="http://www.playframework.org">Play!</a>. Play is lightweight, set up for rapid development, and maintains an efficient railsy feel with all the maturity of the JVM thrown in.</p>
<p>The guys involved with Play! released 1.0 earlier this month, so I bundled up a OSX installer to place the commands in convenient places for mac users.</p>
<p>Check it out here:</p>
<p><a href="http://driftlogic.net/play_framework">http://driftlogic.net/play_framework</a></p>
]]></content:encoded>
			<wfw:commentRss>http://driftlogic.net/25/10/2009/play-osx-package.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How (not) To Attract The Best</title>
		<link>http://driftlogic.net/13/09/2009/how-not-to-attract-the-best.html</link>
		<comments>http://driftlogic.net/13/09/2009/how-not-to-attract-the-best.html#comments</comments>
		<pubDate>Sun, 13 Sep 2009 18:44:52 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Working]]></category>

		<guid isPermaLink="false">http://driftlogic.net/?p=31</guid>
		<description><![CDATA[I read job boards. Like all the time. It&#8217;s a barometer for the tech industry. You can tell what&#8217;s hot, which way the technology is going, and where I might end up should I need a new gig.
Most job ads tend to take the same format, who they are, what they&#8217;re looking for, what you&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p>I read job boards. Like all the time. It&#8217;s a barometer for the tech industry. You can tell what&#8217;s hot, which way the technology is going, and where I might end up should I need a new gig.</p>
<p>Most job ads tend to take the same format, who they are, what they&#8217;re looking for, what you&#8217;ll get in exchange. Those are the basics of posting a want, the three W&#8217;s: What we want, what you want, what they want. The better companies have shorter ads and general statements about technology (See: <a title="Freshbooks Software Developer" href="http://www.freshbooks.com/careers/software-developer.php">Freshbooks</a>). Bad ads have long descriptions and very specific technical requirements (See: Just about any posting on <a title="Workopolis" href="http://www.workopolis.com/work.aspx?action=Transfer&amp;View=Content/JobSeeker/JobSearchResultView&amp;SearchId=821018914">Workopolis</a>). Then, there are special cases of really bad ads, lets call these the star ads.</p>
<p>What&#8217;s really nice about douchey ads is they&#8217;re dead easy to spot. They usually include the words &#8216;rockstar&#8217; or &#8216;ninja&#8217; and have code placed somewhere in a prominent location. All code job ads are particular turnoffs (see: <a title="A Crappy Job Ad" href="http://driftlogic.net/images/crap.jpg">a crappy ruby ad</a>). Ads that include code are generally self defeating, and potentially backfire if written poorly (do you really want to show that you can&#8217;t write code to begin with?). Most developers can read through a code post in C Syntax and pick out the important bits. Okay, you&#8217;re looking for ruby. Right, you were on the Today Show (so were <a title="Gay Kissing FTW" href="http://www.youtube.com/watch?v=O4ErBaTVyK4">these</a> guys). Really, who doesn&#8217;t think that they&#8217;re a smart, highly productive, curious, driven, team player?</p>
<p>I get the concept of trying to challenge people in your job ads. Employers are trying to stand out just as much as job seekers in attracting talent, but ads like this don&#8217;t show the potential that the kind of workers they attempt to attract desire: Opportunity. Ambitious and curious employees want the opportunity to rise above or explore technologies and opportunities. Things like book allowances, conference reimbursement, and paid time for personal development go further than your smartly typed ad (<a title="Yes, please." href="http://37signals.com/svn/posts/893-workplace-experiments">this</a> blog posting by 37 signals gives me employee stiffies every time I read it). Not because of the job perks, but because they show a culture of personal and professional growth within the company.</p>
<p>There&#8217;s also a special kind of job ad that serves as not only a total turn off for applications, but about the company as a whole. Lets call these, the challenge ads. Challenge ads think that they&#8217;re smarter than they really are and include a unique kind of hubris reserved for &#8216;rockstar ninja hackers&#8217;. Case in point found <a title="Uh Oh." href="http://jobs.37signals.com/jobs/5587">here</a>.</p>
<p>From the job ad alone, they&#8217;re looking for a &#8216;Hardcore PHP&#8217; developer. If that means that I fall asleep to postings by Rasmus and wake up chewing through extension code, then I guess that&#8217;s not me. I think developers should have broad interests, and I&#8217;m not alone.  There are some other general turn offs to this ad, from the massive, unattractive logo pushing the job description below the fold on every normal human resolution, to the biz speak description of the developer team. But the real winner in this ad is the method for application.</p>
<p>If you think that you &#8216;have what it takes&#8217; to become a &#8216;Hardcore PHP&#8217; developer, you&#8217;re directed to <a title="Yes, it is as bad as it sounds." href="http://www.proveyourworth.net/">http://proveyourworth.net</a>. Defying anticipation, the site is as big a turn off as it sounds. A large ninja graphic and XKCD comic set the tone of what&#8217;s to come. I&#8217;m not going to go through the &#8216;challenge&#8217; presented, but effectively, you&#8217;ll be bouncing back and forth through URLs reading source and opening up firebug to look at request headers in a challenge worthy of level zero in <a title="Careful!" href="http://www.pythonchallenge.com/pc/def/0.html">The Python Challenge</a>.</p>
<p>Sites like this do nothing to make accomplished developers want to join your company. If anything, you should treat developers in the same way as anyone who might be viewing your site. They&#8217;ve come with a task in mind, the faster you fulfill that task, the sooner they&#8217;ll be encouraged to get in touch about working for you. If you&#8217;re asking someone to buy into your companies vision, show them what that vision is, why they should be a part of it, and what rewards are there for people who decided help you get there.</p>
<p>(<em>BTW: Web development already has a set of Rockstars, and 37 signals got there first.)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://driftlogic.net/13/09/2009/how-not-to-attract-the-best.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Keep It Simple</title>
		<link>http://driftlogic.net/11/09/2009/keep-it-simple.html</link>
		<comments>http://driftlogic.net/11/09/2009/keep-it-simple.html#comments</comments>
		<pubDate>Sat, 12 Sep 2009 01:16:49 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://driftlogic.net/?p=28</guid>
		<description><![CDATA[If anything the last few years of &#8216;Web 2.0&#8242; have taught us is that users appreciate simple sites even more than designers. This lesson even held true in the pre-web 2.0 era, tho it required somewhat of a cultural development shift to get there.
Google was the first really &#8217;successful&#8217; company to adopt the simple site [...]]]></description>
			<content:encoded><![CDATA[<p>If anything the last few years of &#8216;Web 2.0&#8242; have taught us is that users appreciate simple sites even more than designers. This lesson even held true in the pre-web 2.0 era, tho it required somewhat of a cultural development shift to get there.</p>
<p>Google was the first really &#8217;successful&#8217; company to adopt the simple site approach. Yahoo was the big dog on the block with it&#8217;s dramatically complex presentations and homepage, exposing all of the information about the nuts and bolts of the machine along with the attempt to force feed users associated content at the search box and home page.</p>
<p>Intentional or not, Google figured out the one cardinal rule of web development. Users visit sites with a task in mind, and that task is often singular. No matter what the site or application, users don&#8217;t spend time exploring, unless your site keeps a tight narrow focus. Users who land on a site looking for information about racing will spend more time exploring your site if it has a focus on racing, less time exploring of racing is just one component of a multi-focus site. Search results have conditioned users to expect results to be single page only, with little related information if any.</p>
<p>Developers and designers have a great deal of trouble scaling back ideas to fit into this singular focus approach and filtering out the noise. Most of it has to do with the brainstorming at the beginning of the project. When an idea sparks, random thoughts are encouraged in brainstorms or while the idea is being developed. But before development begins, teams need to spend time performing a reality check, not only in regard to the scope of the development, but about what ideas are included.</p>
<p>The scope of the project to the first milestone is a great barometer of success. Ideas that keep development as tightly focused as the idea tend to produce better products and better code. Projects where developers are scattered, attempting to work on multiple facets of a system simultaneously are a good indicator that the project lacks focus. Attempting to narrow the scope during development is nearly impossible, and almost always results in missed deadlines and backwards development.</p>
<p>Successful projects focus on the idea most commonly found in development for social networks where releases focus on minor features and continuous integration and release. Plan schedules around minor features, not major ones. If a feature can&#8217;t be paired down to a series of minor releasable features, it should either be considered a separate project outside of the current scope, or be refactored before development begins. Even beyond this, each complete minor feature should be considered a full release. That might mean that you&#8217;re releasing new features each week, and honestly, that&#8217;s okay. Users adapt to incremental changes in a far more flexible way than large scale changes, particularly in the flow of your site.</p>
<p>Happy, focused developers tend to lend to happy, focused users and user experiences.</p>
]]></content:encoded>
			<wfw:commentRss>http://driftlogic.net/11/09/2009/keep-it-simple.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mighty Quick Piadinas</title>
		<link>http://driftlogic.net/07/09/2009/mighty-quick-piadinas.html</link>
		<comments>http://driftlogic.net/07/09/2009/mighty-quick-piadinas.html#comments</comments>
		<pubDate>Mon, 07 Sep 2009 15:50:16 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[better-than-storebought]]></category>
		<category><![CDATA[flatbread]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[tasty]]></category>

		<guid isPermaLink="false">http://driftlogic.net/?p=24</guid>
		<description><![CDATA[You can think of Piadinas as the Italian answer to Tortillas. They&#8217;re thin, and when you fish them straight out of the pan, they have this fresh taste that goes great with anything out of your garden. They&#8217;re also basic as basic can get. No lard, no shortening, no baking soda. They can be made [...]]]></description>
			<content:encoded><![CDATA[<p>You can think of Piadinas as the Italian answer to Tortillas. They&#8217;re thin, and when you fish them straight out of the pan, they have this fresh taste that goes great with anything out of your garden. They&#8217;re also basic as basic can get. No lard, no shortening, no baking soda. They can be made large or small and be kept for a day or two in your fridge.</p>
<p><strong>Mighty Quick Piadinas</strong></p>
<p>Total cooking time from prep to finish is about 1 hour. Makes about 8 medium or 6 large piadinas, depending on thickness.</p>
<p><em>You&#8217;ll need:</em></p>
<ul>
<li>2 cups all-purpose flower (You can substitue 1 cup of whole wheat)</li>
<li>1 1/2 tablespoons oil</li>
<li>1/2 teaspoon salt</li>
<li>Water (keep some around, you&#8217;ll be adding this slowly)</li>
</ul>
<p>Start by combining the flower, salt, and oil in a large mixing bowl. If you have a mixer and feel like using it, that&#8217;s great, if not, just get ready to start using your hands. Using a fork, start combining the contents of the mixing bowl. After the flower, salt and oil are combined, slowly start adding the water. You&#8217;re looking for the dough to be just moist enough to turn into a large soft ball. If it isn&#8217;t sticking together, or feels a little dry, add more water. If it starts to turn into soup, add more flower slowly.</p>
<p>After you have your doughball, take it out of the bowl and place it on a large lightly flowered cutting board, or counter, or whatever you have that&#8217;s flat and will take a good pounding. Start kneeding the dough, mainly with the heel of your palm. Smash it out flat on the board from four directions, then fold it back up and flip it over. Keep doing this for about 3 &#8211; 5 minutes.</p>
<p>Now that you&#8217;ve given the dough a good beating, form it back into a ball and let it sit on your cutting board. Now let it rest for 20 minutes. While you&#8217;re waiting, grab a large flat pan and place it on the stove. Be sure to keep it dry, no oil or butter.</p>
<p>When the dough has rested the 20 minutes, roll it into a large long log. Try to keep it as consistent in thickness as possible, and do keep it rather thick. Next, take a knife and divide it into sections. The larger the section, the larger the piadina will be when rolled out.</p>
<p>Before you go any further, turn on the heat under that pan we put on the stove a step ago. High heat is fine.</p>
<p>After the dough is divided, roll them into small balls and place aside. Now, you&#8217;ll need a rolling pin. If you don&#8217;t have a rolling pin, grab another large flat pan, and cover the bottom with flower. Take a doughball and roll it out as if it had four corners. In the beginning, roll four corners, then flip and do it again. After a few flips, you can roll allot more without flipping.</p>
<p>If you need to use that pan, place the dough in the center of your cutting board and place the pan on top. Now press evenly and firmly down on the pan, centered on where the doughball is. Then remove the pan, flip the dough, and do it again.</p>
<p>Through either rolling method, keep pressing until you have your desired thickness. You can keep piadinas thick and they&#8217;ll become slightly chewy, or if you make them thin, you can make them really crispy and great for dipping.</p>
<p>When you have one rolled out to a desired size, place it in the heated pan. When the piadina&#8217;s cook, they&#8217;ll bubble up in places where air was caught in the dough. This can actually be kind of cool in the final product, but if you don&#8217;t want this effect, take a fork and puncture all over the exposed side of the dough once in the pan.</p>
<p>Now watch your flatbread cook. If you want them slightly chewy, it should only take about a minute and a half each side. It&#8217;s cooked when you start seeing a few char marks on one side, just pry it up with your fork to check. When one side is cooked, flip and wait another minute. When both sides have that nice char, fish it out and place on a plate. Stack the piadinas on top of each other while cooking. If you&#8217;ve decided to keep these crispy, place a sheet of paper towel at the bottom of the stack to absorb moisture as you keep cooking.</p>
<p>Repeat the rolling and cooking steps until you&#8217;re out of dough. I usually roll out one piadina while one is cooking in the pan, so I get an assembly line process going.</p>
<p>These go great as sandwich wraps, or cut into sections and served with salsa. You can use them almost anywhere you might use a tortilla, or for a more italian experience, try serving with a small bowl of olive oil and some diced tomato mixed with parmesan cheese.</p>
<p><em>More info about the Piadina here:</em></p>
<p><a title="Piadinas" href="http://en.wikipedia.org/wiki/Piadina">Wikipedia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://driftlogic.net/07/09/2009/mighty-quick-piadinas.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I </title>
		<link>http://driftlogic.net/06/09/2009/i-heart-scala.html</link>
		<comments>http://driftlogic.net/06/09/2009/i-heart-scala.html#comments</comments>
		<pubDate>Sun, 06 Sep 2009 13:56:25 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://driftlogic.net/?p=21</guid>
		<description><![CDATA[I knew that people were starting to do wicked awesome things with Scala, but apparently David Pollak is actually making a living at it now. Color me jealous.
A few months ago I started looking around at the JVM alternative languages, Clojure, Groovy, the J&#8217;s (jython, jruby, ect.) and eventually Scala. I have somewhat of a [...]]]></description>
			<content:encoded><![CDATA[<p>I knew that people were starting to do wicked awesome things with Scala, but apparently <a title="David Pollak's Blog" href="http://blog.lostlake.org/index.php?/archives/73-For-all-you-know,-its-just-another-Java-library.html">David Pollak</a> is actually making a living at it now. Color me jealous.</p>
<p>A few months ago I started looking around at the JVM alternative languages, Clojure, Groovy, the J&#8217;s (jython, jruby, ect.) and eventually Scala. I have somewhat of a classical computer science background. I started at a Java school, then moved over to a college that taught C in it&#8217;s first year courses. When I found my first job after school, I started developing in PHP and for good or bad that&#8217;s what I&#8217;ve been doing the last 4 years or so.</p>
<p>I like PHP. It&#8217;s everything and the kitchen sink mentality makes developers tend toward hodge podge code mostly, but there can be some really beautiful creations when you start using PHP version of <a title="PHP Function functions" href="http://ca.php.net/manual/en/book.funchand.php">reflection</a>. But ever since I started working with Java again for projects at work, PHP feels like it&#8217;s missing the power of a systems language. Having to bolt on opcode cachers to deal with compiled code and the tacked on nature of using php as a command line language felt somewhat odd. Using pure Java is always an option, and Sun has done a good job of keeping the JVM up to date with new features and enhancements, but after enjoying the lose structure of a scripting language, it&#8217;s hard to go back to verbose development.</p>
<p>That&#8217;s where Scala comes in. David talks about how it&#8217;s somewhat difficult getting Java programmers to switch to something functional, and maybe that&#8217;s true. I don&#8217;t think that hard core Java programmers are Scala&#8217;s potential audience. Those crazy scripting guys from Ruby, Python, and PHP will feel right at home with Scala&#8217;s half functional / half object-oriented syntax. They&#8217;ve been dealing with choice and somewhat functional constructs for years, show these guys that you won&#8217;t need to start redeveloping in a another language when your app approaches a certain level of success and you&#8217;ll get them hooked.</p>
<p>Couple that with the hack that is Comet becoming the norm for web based apps that need push notifications and Scala&#8217;s actors become really attractive.</p>
]]></content:encoded>
			<wfw:commentRss>http://driftlogic.net/06/09/2009/i-heart-scala.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Know What&#8217;s Possible</title>
		<link>http://driftlogic.net/05/09/2009/know-whats-possible.html</link>
		<comments>http://driftlogic.net/05/09/2009/know-whats-possible.html#comments</comments>
		<pubDate>Sat, 05 Sep 2009 18:22:42 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Learning]]></category>

		<guid isPermaLink="false">http://driftlogic.net/?p=16</guid>
		<description><![CDATA[Picked up an article yesterday from Businessweek about companies that headhunters avoid when starting to look for new executive talent. You can read the whole article here, but what got my attention was the story at the beginning about former Coca-cola executive Jack Stahl.
Stahl left Coke in 2002 to become the president of cosmetics giant [...]]]></description>
			<content:encoded><![CDATA[<p>Picked up an article yesterday from Businessweek about companies that headhunters avoid when starting to look for new executive talent. You can read the whole article <a title="Business Week" href="http://www.businessweek.com/magazine/content/09_37/b4146042031508.htm">here</a>, but what got my attention was the story at the beginning about former Coca-cola executive Jack Stahl.</p>
<p>Stahl left Coke in 2002 to become the president of cosmetics giant Revlon. Jack was known for his marketing savvy and operational disipline according to the article, but ultimately failed in attempting to market the Revlon brand and left in 2006. &#8220;He didn&#8217;t know what he didn&#8217;t know&#8221; defines Jack Stahl&#8217;s leadership according to one quote from the article. That concept of knowing what you don&#8217;t is one of the keys of being a software developer. It&#8217;s one of the keys of being any kind of engineer.</p>
<p>Being an effective developer is even more than knowing what you don&#8217;t; it&#8217;s about knowing what is possible. Being in touch with what other people are doing, what technologies are evolving, how they&#8217;re evolving and seeing how others are applying them gives you an even larger set of ideas to draw from when given a task. Some consider personal development to be learning a new language or approach, but in reality need to embracing the concept of daily learning.</p>
<p>Daily learning for software developers is simply keeping up to date. Reading sites like Hacker News or Reddit Programming in addition to the blogs of notable developers, then taking that next step after reading about a startup or creation by finding out how it was done. In cases where the implementation isn&#8217;t available, take that problem and find out what kinds of tools are available to construct a solution.</p>
<p>I spend hours each week looking at open source projects, software libraries, methodologies, and ideas. Each one that I read about gives me new ways to implement projects I&#8217;m working on now and a chance to think about how I could have done things differently with things I&#8217;ve worked with in the past. It&#8217;s not required to fully understand how to implement those solutions, but if at some point you run across a problem where that tool would be easier and more effective to utilize than reinventing the wheel, you&#8217;ll know where to find it.</p>
<p>Knowing what&#8217;s possible is why developers need to communicate. Through personal blogs, comments, and conferences, we share our ideas along with our code. Those ideas are always portable even if the language is not. The very first time I saw anything about AJAX was at a PHP conference and at the time, I had no idea it was even possible. It changed my view about where web development was going. When I first saw someone demonstrate the concept, I had no idea how it could be implemented, but the idea was amazing. From that experience, I learned it was possible, and started to leverage the concept in designs as I learned about the implementation.</p>
<p>Developers tend to think of languages and processes as tools within their toolbox. Knowing what&#8217;s possible is like having an even larger selection of tools hanging in the garage, you might never need them, but you know where to find them if you do.</p>
]]></content:encoded>
			<wfw:commentRss>http://driftlogic.net/05/09/2009/know-whats-possible.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
