<?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>Krotscheck.net &#187; code</title>
	<atom:link href="http://www.krotscheck.net/tag/code/feed" rel="self" type="application/rss+xml" />
	<link>http://www.krotscheck.net</link>
	<description>Michael Krotscheck's insights, ideas, and inspirations about web technology, life, and the kitchen sink.</description>
	<lastBuildDate>Fri, 03 Feb 2012 05:10:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>So long Actionscript, so long PHP.</title>
		<link>http://www.krotscheck.net/2012/01/21/so-long-actionscript-so-long-php.html</link>
		<comments>http://www.krotscheck.net/2012/01/21/so-long-actionscript-so-long-php.html#comments</comments>
		<pubDate>Sat, 21 Jan 2012 23:38:56 +0000</pubDate>
		<dc:creator>Michael Krotscheck</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.krotscheck.net/?p=2312</guid>
		<description><![CDATA[To those of you not keeping up with my career as a technologist, I&#8217;ve long since abandoned my Actionscript roots (PHP is in serious decline) in favor of Javascript and Java. There are many reasons for this: Industry movement away from Flash, a shift in implementation practices, and a personal desire to keep my own [...]]]></description>
			<content:encoded><![CDATA[<p>To those of you not keeping up with my career as a technologist, I&#8217;ve long since abandoned my Actionscript roots (PHP is in serious decline) in favor of Javascript and Java. There are many reasons for this: Industry movement away from Flash, a shift in implementation practices, and a personal desire to keep my own skill set fresh and interesting. Wait a sec… Java? Fresh and interesting? What am I smoking, right? Well, read on:</p>
<h3>Speed and Scalability</h3>
<p>If you&#8217;re working on smaller projects with no notable load, &#8220;popular&#8221; languages such as Ruby, PHP and Python are great; After all, they are optimized for developer productivity rather than runtime performance, and in 99% of all cases this is fine. This is the main reason they&#8217;re so popular in the startup scene, as they enable extremely rapid feature development as a business evolves to find its place in the world.</p>
<p>At some point, however, a designed system must perform at scale, and as most detailed examinations such as <a href="http://blog.gmarceau.qc.ca/2009/05/speed-size-and-dependability-of.html">this one</a> show, not all languages are created equal. Delivering software at that level in a language that has a poor performance profile changes the discussion entirely: If your system chokes, you lose business transactions, customer confidence, and reporting data, all of which translates into money. In short, the argument stops being about the salary of one or two additional engineers, and more about the reliability and maintainability of your codebase.</p>
<p>Not only have years of optimization made it a very reliable and performant platform, the religious arguments about What Is The Best Tooling™ out there have been had and are mostly over, with configuration winning out over convention every time. The IDE&#8217;s support it, Continuous Integration Environments support it, Unit Testing frameworks exist and are very mature, and even though the code itself is extremely verbose, shitty Java will still run faster than shitty Ruby. Mind you, the study in the post linked above was done several years ago, and I&#8217;m quite certain that the various languages have improved since, however given the lack of community trumpeting about oh-look-we-finally-beat-Java, I&#8217;m going to take that post as mostly-still-accurate.</p>
<h3>B2C vs. B2B</h3>
<p>The second big shift that happens at scale is a shift from a consumer-based business to a service-based business. Don&#8217;t get me wrong: Consumers are important, however onboarding more consumers is a linear function, and usually not a very steep one. Onboarding businesses to your platform, however, is an entirely different beast, as each new partnership could bring orders of magnitude of extra load to your system. Is this a provisioning problem? Yes, yet with it come a whole new set of problems: Will you need to provide authentication integration with their corporate LDAP system? Will you have to Whitelabel your service? Will you need to provide API support? A dedicated and/or isolated data cluster?</p>
<p>To be fair, these are language-agnostic architectural problems, ones which encourage a clear separation of UI and API layer, forcing all business logic into the latter. Websites in this system are simply UI clients and serve no purpose other than making the API human-friendly (not to be discounted- UX is super important).</p>
<p>Now that the UI is simply a facade, does it really make sense to render it on a server before sending it back to a client? Let me illustrate with an example:</p>
<p>Consider a website written in PHP that consumes an API.</p>
<ol>
<li>I visit this website</li>
<li>The Application Server makes an API call</li>
<li>The API returns the data</li>
<li>Application Server Renders the data.</li>
<li>Browser renders the HTML</li>
<li>I get my html</li>
</ol>
<p>Now consider a website written mostly in Javascript that consumes an API:</p>
<ol>
<li>I visit this website</li>
<li>Browser calls the API</li>
<li>The API returns the data</li>
<li>Browser renders the HTML</li>
</ol>
<p>See the difference? In the former case, you&#8217;ve got two times as many network transactions (added points of failure), and the additional cost of maintaining an application server. In the latter case, you can host the files on a glorified hard drive (S3 for instance) and are talking to the API directly.</p>
<h3>But Javascript Sucks!</h3>
<p>It really doesn&#8217;t: Javascript is an amazing, powerful language that is hamstrung by browsers, an outdated standards body, and a lack of a unified toolset.</p>
<p>Thankfully, browsers are starting to come around (Chrome at the lead) and implementation difference are starting to be eroded. Most of the javascript libraries out there (such as JQuery) don&#8217;t seem to have caught up to this fact yet, and are still rooted in the philosophy that they can only work for what works everywhere &#8211; no worries, they&#8217;ll evolve soon enough if their communities will let them.</p>
<p>The current arguments between the WhatWG and the W3C are obvious to anyone in our industry, and different business philosophies between browser vendors make sites like caniuse.com an unfortunate necessity. Add to that the never-ending political maneuvering in the ECMAScript standardization process, and javascript will forever be a bastard child of 5 different parents each telling it to follow a different career. Having said that, Google has successfully used Chrome as a strategic tool that established a de-facto standard, forcing other vendors to catch up.</p>
<p>Javascript tooling is still in its infancy, and many tools out there have not yet grown beyond themselves. Take, for instance, a unit testing framework like QUnit that is sadly dependent on JQuery, or a functional testing framework like Lebowski which is inexorably tied to Ruby and Sproutcore. Furthermore, many frameworks are differentiated by philosophical differences (take QUnit vs Jasmine for instance) which muddies the water even more. Lastly, even with a plethora of tools, nobody has managed to wrap it all into one single, cohesive whole that combines Formatting, PMD/Linting, Unit Testing, Functional Testing, Documentation and Optimization.</p>
<p>However… the tools are (mostly) all there, individually. JSDoc has become a de-facto standard. Google&#8217;s Closure compiler is mostly platform agnostic, drawing most of its cues from JSDoc. Jasmine could be your one-size-fits-all Unit Testing framework (assuming you like behavioral testing), and JSTD is a powerful testing framework that can be used for either unit or functional testing (It&#8217;d be even more powerful if the various browser runtime engines could be run headlessly like Mozilla&#8217;s Rhino). All it takes is for some enterprising individual to put them all together.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.krotscheck.net/2012/01/21/so-long-actionscript-so-long-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What makes a &#8216;Rockstar&#8217; Developer?</title>
		<link>http://www.krotscheck.net/2010/01/10/what-makes-a-rockstar-developer.html</link>
		<comments>http://www.krotscheck.net/2010/01/10/what-makes-a-rockstar-developer.html#comments</comments>
		<pubDate>Sun, 10 Jan 2010 15:11:30 +0000</pubDate>
		<dc:creator>Michael Krotscheck</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[rockstar]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://www.krotscheck.net/2010/01/10/what-makes-a-rockstar-developer.html</guid>
		<description><![CDATA[I&#8217;ve recently been involved in a discussion about what makes a rockstar developer for a startup. This has always surprised me- the reality of the matter is that there are no rockstars, only people who think of themselves as rockstars, and those are the last people you want in charge of your product. So I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently been involved in a discussion about what makes a rockstar developer for a startup. This has always surprised me- the reality of the matter is that there are no rockstars, only people who think of themselves as rockstars, and those are the last people you want in charge of your product. So I figure, as someone who&#8217;s been around the block a few times, it would be good to come up with a list of what actually makes for a &#8220;rockstar&#8221; developer. If I miss anything, feel free to contribute in the comments.</p>
<h4>1- They don&#8217;t think of themselves as rock stars.</h4>
<p>Arrogance is perhaps a key requirement in being an entrepreneur, but overconfidence will drain your cash pool faster than hookers and blow.</p>
<h4>2- They have a proven track record of multiple shipped products.</h4>
<p>You don&#8217;t want a hotshot kid out of school, you want a seasoned professional, preferably one who knows how to write applications for the industry you&#8217;re trying to reach.</p>
<h4>3- They care more about frameworks than plumbing.</h4>
<p>Unless you&#8217;re trying to design a complex new mathematical algorithm (in which case you should probably be partnering with a university research lab), you want someone who can grasp a system rather than a method. If this guy ends up in deep technical discussions about the optimal way of implementing a sort, you&#8217;ve got the wrong guy.</p>
<h4>4- They&#8217;re not willing to work for free</h4>
<p>Risk management and strategic thinking is key to long-term project viability. If you have someone willing to work for equity, they&#8217;re willing to take risks with your payment processing gateway just as easily as they&#8217;re taking a risk on you.</p>
<h4>5- They believe in development process and best practices to speed up their work.</h4>
<p>The last thing you want is someone who&#8217;s trying to reinvent the wheel. Mind you, this also likely means that the first two weeks or so of development you&#8217;ll see a lot of development support tools get set up and used before code actually starts, but that&#8217;ll give you time to get your documentation in order.</p>
<h4>6- They have a positive attitude.</h4>
<p>If someone bitches, they&#8217;re looking to blame themselves. Instead, you want them to identify their concern as a problem they can solve.</p>
<h4>7- They get uncomfortable when you ask about their social life.</h4>
<p>&#8217;cause, well, currently it&#8217;s still socially odd to prefer coding on a saturday night.</p>
<h4>8- You don&#8217;t want Alphabet/Acronym soup in their technical skills.</h4>
<p>Lots of languages means little depth in each, and depth = speed. Pick a serverside language (PHP, .Net, Ruby, etc), pick a database (MySQL, SQLServer, Postgres, etc), and pick a frontend (Flex, Mootools, JQuery, etc). Focus on that. If a dev has only a few languages this does not mean they&#8217;re stupid- it means they know how to focus.</p>
<h4>9- They&#8217;re involved in the community.</h4>
<p>Speaking, attending, whatever, you need to make sure their technical skills don&#8217;t stagnate, and that they&#8217;re willing to accept ideas from outside.</p>
<h4>10- You respect them</h4>
<p>Respect means you are willing to listen when they tell you you&#8217;re full of it, and that&#8217;s key in a partnership. You&#8217;re not looking for a monkey you can put in a corner who can bang out some code- you&#8217;re looking for a partner who&#8217;ll act as a technical sounding board.</p>
<div class="hr"></div>
<p>So now I have this question: What makes for a rockstar business partner?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.krotscheck.net/2010/01/10/what-makes-a-rockstar-developer.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Twitter and the Power of Open, Integrated API&#8217;s</title>
		<link>http://www.krotscheck.net/2008/08/02/twitter-and-the-power-of-open-integrated-apis.html</link>
		<comments>http://www.krotscheck.net/2008/08/02/twitter-and-the-power-of-open-integrated-apis.html#comments</comments>
		<pubDate>Sat, 02 Aug 2008 16:03:55 +0000</pubDate>
		<dc:creator>Michael Krotscheck</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.krotscheck.net/2008/08/02/twitter-and-the-power-of-open-integrated-apis.html</guid>
		<description><![CDATA[<p>The executive summary of this post goes something like this: If you are trying to launch a service, product or other technologically "innovative" web presence, your idea either has to be absolutely stellar (which I will guarantee to you it isn't), or you have to rip the covers off your technology and let your users decide how to use it themselves.</p>
]]></description>
			<content:encoded><![CDATA[<p>The executive summary of this post goes something like this: If you are trying to launch a service, product or other technologically &#8220;innovative&#8221; web presence, your idea either has to be absolutely stellar (which I will guarantee to you it isn&#8217;t), or you have to rip the covers off your technology and let your users decide how to use it themselves.</p>
<p>Lets take Twitter as an example. Their service statement is, in a nutshell, &#8220;We let you microblog&#8221;. They don&#8217;t do it particularly well, their online interface sucks, their features are extremely limited, and the service goes down so often that the &#8220;Fail Whale&#8221; has entered the colloquial as a term unto itself. And yet their users remain loyal, the service continues to be used, and it&#8217;s probably the most popular microblogging service out there.</p>
<p>Why? Realize that 80%+ of twitter activity goes through their API, not the website. In other words, the guys at twitter have opened up the doors to the kingdom and allowed the community to decide how they wish to consume the service. That same community has risen to the challenge, providing a plethora of applications, widgets and plugins that allow people to consume and update twitter where and when they want to.</p>
<div class="image">
  <img src="http://www.krotscheck.net/wp-content/uploads/2008/08/service-layer.png" width="443" height="286" alt="Service-Layer.png" />
</div>
<p>Lets take a closer look at what actually happened here: Twitter provided an API&#8230; and let the community (whether individuals or businesses) suck up the cost of developing use cases and interfaces, do usability testing, write requirements and eventually write the software. In short they just made someone else pay for the entire involved and expensive front-end development process.</p>
<p>Not only that, but they also neatly sidestepped the need to perform strategic market analysis to manage their own growth. Rather than focusing on meeting the needs of a single segment (and expanding from there), they boiled the service down to its absolute essentials and let each segment figure out how they want to use it.</p>
<p>This approach isn&#8217;t particularly new. <a href="http://dev.aol.com/aim">AOL IM</a> and <a href="http://www.jabber.org/">Jabber</a> have been around for a while now, <a href="http://code.google.com/apis/maps/">Google</a> and <a href="http://developer.yahoo.com/">Yahoo</a> have been making their services available for years now, and most of all the world wide web itself is&#8230; well, a communication platform built on the premise of a server/client relationship.</p>
<p>The key is integration. There are so many services, websites and widgets out there today that only the truly exceptional will be able to stand independently on their own. All the others are fighting for search engine placement, social tags, advertising and community buzz to promote themselves, but are never likely to hit the big-time unless they can integrate themselves into their user&#8217;s <em>pre-existing</em> day-to-day activities.</p>
<p>Wouldn&#8217;t you call that the value statement of any new company? &#8220;Provide a service that improves a users day-to-day activity so dramatically that they can&#8217;t live without it&#8221;. Whether this is done via process improvement (Make a task more efficient / less frustrating) or activity enhancement (Now you can tag your pages while you surf them) doesn&#8217;t really matter, because the core task remains the same.</p>
<p>My favorite example of this phenomenon is <a href="http://www.mozilla.com/en-US/firefox/">Firefox</a>, because it provides a platform where users can customize their browsing experience with all the ancillary services they want. Plugins exist for del.icio.us, livejournal, myspace, gmail, etc etc etc- all tasks and activities that may not be directly related to the core browsing activity, yet provide a sufficiently compelling experience enhancement that they&#8217;ve become part of day-to-day web surfing.</p>
<p>So in summary: If you&#8217;re providing a new service, put some serious thought into building an open API. If your services and your data (&#8217;cause that&#8217;s what it boils down to) are compelling enough, you stand a good chance of having the community take care of segmentation, marketing, and implementation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.krotscheck.net/2008/08/02/twitter-and-the-power-of-open-integrated-apis.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Application Release: Pandora &amp; Practical Desktop</title>
		<link>http://www.krotscheck.net/2008/05/26/application-release-pandora-practical-desktop.html</link>
		<comments>http://www.krotscheck.net/2008/05/26/application-release-pandora-practical-desktop.html#comments</comments>
		<pubDate>Mon, 26 May 2008 15:46:16 +0000</pubDate>
		<dc:creator>Michael Krotscheck</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[installer]]></category>
		<category><![CDATA[pandora]]></category>
		<category><![CDATA[practical desktop]]></category>

		<guid isPermaLink="false">http://www.practicalflash.com/articles/application-release-pandora-practical-desktop/</guid>
		<description><![CDATA[<p>I've finally gotten around to fully open source my various applications, factoring and debugging the code, commenting and applying all the necessary licenses and other miscellaneous logistical duties to get my two AIR applications up and out there.</p>
<div class="hr"></div>
<iframe
src ="http://www.practicalflash.com/AIR/Installers.html"
width="100%"
height="200" style="border: 0px none #000000">
</iframe>
<div class="hr"></div>
<h3>Practical Desktop</h3>
<p>Practical Desktop appears to be a simple timekeeping application, though in reality it's an open source widget framework that allows pretty much anyone to build a deployable block of functionality that can start interacting with other widgets. The wrapper's there for you, go nuts. The source is <a href="http://practicalflash.googlecode.com/svn/trunk">here</a></p>
<p>From a personal perspective, I use it as a beta and explorative sandbox, because there are a lot of interesting things coming out in the near future that I'd like to offer some guidance on development best practice, and to do so I will have to figure it out myself first. Rest assured that the widgets I build will be functionally complete, though perhaps limited in feature support.</p>
<h3>Pandora</h3>
<p>The Pandora Desktop application is really just a customized webkit browser that's hardwired to the Pandora mini player. I've fixed the application so minimization works in Windows, and expanded it to include the player's html wrapper as well. The reason I did this is because Pandora's a free service, and I'd like to make sure that I'm not ripping them off by stripping out the ads. Optimally I'd like to help them convert their existing player to AIR, but until I have free time (or they pay me :D ) that won't happen.</p>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally gotten around to fully open source my various applications, factoring and debugging the code, commenting and applying all the necessary licenses and other miscellaneous logistical duties to get my two AIR applications up and out there.</p>
<div class="hr"></div>
<p><iframe<br />
src ="http://www.practicalflash.com/AIR/Installers.html"<br />
width="100%"<br />
height="200" style="border: 0px none #000000"><br />
</iframe></p>
<div class="hr"></div>
<h3>Practical Desktop</h3>
<p>Practical Desktop appears to be a simple timekeeping application, though in reality it&#8217;s an open source widget framework that allows pretty much anyone to build a deployable block of functionality that can start interacting with other widgets. The wrapper&#8217;s there for you, go nuts. The source is <a href="http://practicalflash.googlecode.com/svn/trunk">here</a></p>
<p>From a personal perspective, I use it as a beta and explorative sandbox, because there are a lot of interesting things coming out in the near future that I&#8217;d like to offer some guidance on development best practice, and to do so I will have to figure it out myself first. Rest assured that the widgets I build will be functionally complete, though perhaps limited in feature support.</p>
<h3>Pandora</h3>
<p>The Pandora Desktop application is really just a customized webkit browser that&#8217;s hardwired to the Pandora mini player. I&#8217;ve fixed the application so minimization works in Windows, and expanded it to include the player&#8217;s html wrapper as well. The reason I did this is because Pandora&#8217;s a free service, and I&#8217;d like to make sure that I&#8217;m not ripping them off by stripping out the ads. Optimally I&#8217;d like to help them convert their existing player to AIR, but until I have free time (or they pay me <img src='http://www.krotscheck.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) that won&#8217;t happen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.krotscheck.net/2008/05/26/application-release-pandora-practical-desktop.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Morning Constitutional</title>
		<link>http://www.krotscheck.net/2008/04/18/morning-constitutional.html</link>
		<comments>http://www.krotscheck.net/2008/04/18/morning-constitutional.html#comments</comments>
		<pubDate>Fri, 18 Apr 2008 12:28:29 +0000</pubDate>
		<dc:creator>Michael Krotscheck</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dance]]></category>
		<category><![CDATA[hp print studio]]></category>
		<category><![CDATA[insight]]></category>
		<category><![CDATA[resource interactive]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.krotscheck.net/2008/04/18/morning-constitutional.html</guid>
		<description><![CDATA[<p>More blog neglect, but this time I actually have some interesting things to report.</p>
<p>First of all, in an effort to deal with blog neglect I've shifted my usual authoring time to <span style="font-style: italic;">before</span> work rather than after. Afterwards there are simply too many distractions- mental, physical and... ahem... social for me to really get focused on my thoughts and get them down. Whether I can keep it up is anyone's guess, but for now I've got a nice cool morning, a full battery and a patch of sunshine to write in. What else could you want?</p>
]]></description>
			<content:encoded><![CDATA[<p>More blog neglect, but this time I actually have some interesting things to report.</p>
<p>First of all, in an effort to deal with blog neglect I&#8217;ve shifted my usual authoring time to <span style="font-style: italic;">before</span> work rather than after. Afterwards there are simply too many distractions- mental, physical and&#8230; ahem&#8230; social for me to really get focused on my thoughts and get them down. Whether I can keep it up is anyone&#8217;s guess, but for now I&#8217;ve got a nice cool morning, a full battery and a patch of sunshine to write in. What else could you want?</p>
<p>Secondly, we had our annual reviews here at work recently, and by all accounts I did pretty well. I had to go out and get a short-term prescription for insulin to deal with much of what was said during the review, and after a rather superfluous compensation discussion (what am I going to do, argue about a raise? Oh no! You&#8217;re giving me more money! Whatever will I do!) I&#8217;m now happily sitting on a modest increase. Given that my last three places of employment didn&#8217;t really believe in &#8220;raises&#8221; per se (one of my coworkers was fired because she asked for one), it&#8217;s a welcome change.</p>
<p>Thirdly, we released a bunch of new content for my project, <a href="http://www.hp.com/printstudio">HP Print Studio</a> yesterday, which marks our first major push for international content. Included was pretty much all of south america, so in the end it was only two new languages (Portuguese and Mexican Spanish), but given that every country can customize the application down to the last background image, rolling out those 18 new countries was no small feat.</p>
<p>Of course, doing a rollout of that scale showed some of the cracks in our localization strategy, so I won&#8217;t lie and say it went smoothly. I was at work until very late on wednesday resolving last minute inconsistencies, and had to give up my weekly salsa lesson/social for the project (which I find amusingly ironic- latin america, salsa&#8230; get it? <img src='http://www.krotscheck.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Having said that, I now have intimate knowledge on what&#8217;s broken and how to fix it, and an initial cost/benefit analysis means we might even be able to charge the client for it (though at this point I&#8217;m doing it simply for my own peace of mind).</p>
<p>Lastly, we had some&#8230; unfortunate downsizing at work. I won&#8217;t go into the detail of who, how and why, just to reassure my readership that I wasn&#8217;t affected (well, other than the shell shock). The reason I brought it up is because, having gone through two business evaporations, two acquisitions and a few other unfortunate staffing events, I don&#8217;t think I&#8217;ve ever seen this kind of event handled so well.</p>
<p>How do I mean that&#8230;</p>
<p>First of all, most of my downsizing experience has been reactive, in that a business had to suddenly adjust to an unexpected market adjustment or &#8216;catastrophe&#8217;. Fact is that most of those events could have been predicted with a little foresight, and reductions came as a surprise to the majority of the organization- even HR in some cases. My takeaway from those was that the business is poorly managed, and that there is no real driver at the helm. In short, that the only direction the business had was as a result of momentum.</p>
<p>In contrast, everything about yesterday&#8217;s event seemed strategic, well thought out and considered, and ultimately necessary. It <span style="font-style: italic;">was</span> done because of the recession- I won&#8217;t lie there &#8211; but it was also done because of a whole host of other (undisclosable) conditions had been factored into the decision process. My takeaway here was that not only is there a driver at the helm, that driver also likes to to pull into a garage every so often, adjust the mix, check the fluids, clean the filters, refill the nitro and get a new set of fuzzy dice for the mirror. In short, someone who knows <span style="font-style: italic;">exactly</span> what&#8217;s going on under the hood.</p>
<p>Having said that, if any of my former coworkers would like me to use my burgeoning network within the digital creative community to help connect them with potential opportunities, let me know- I&#8217;ve made some contacts through the Adobe User Group that may prove valuable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.krotscheck.net/2008/04/18/morning-constitutional.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruminations on Cheese</title>
		<link>http://www.krotscheck.net/2008/04/05/ruminations-on-cheese.html</link>
		<comments>http://www.krotscheck.net/2008/04/05/ruminations-on-cheese.html#comments</comments>
		<pubDate>Sat, 05 Apr 2008 21:20:58 +0000</pubDate>
		<dc:creator>Michael Krotscheck</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[cheese]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dance]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[practicalflash]]></category>
		<category><![CDATA[presentations]]></category>
		<category><![CDATA[vacation]]></category>

		<guid isPermaLink="false">http://www.krotscheck.net/2008/04/05/ruminations-on-cheese.html</guid>
		<description><![CDATA[<p>This week I made cheese. This is otherwise not something of particular importance that needs to be reported, however it was one of the longest/oldest things on my todo list, and the fact that I've actually done it means that I've made a significant dent in all the things on that list. Baby steps in reclaiming my free time, as it were, and I'm starting to feel a little more liberated in that regard.</p>
]]></description>
			<content:encoded><![CDATA[<p>This week I made cheese. This is otherwise not something of particular importance that needs to be reported, however it was one of the longest/oldest things on my todo list, and the fact that I&#8217;ve actually done it means that I&#8217;ve made a significant dent in all the things on that list. Baby steps in reclaiming my free time, as it were, and I&#8217;m starting to feel a little more liberated in that regard.</p>
<p>The catch though is that this next month, at least from a work perspective, is really going to suck. I can&#8217;t really go into the details, but in a nutshell all the things on my plate are coming to a head NOW, and some of those things are interfering with the others due to some legacy processes that we&#8217;re still trying to scale. Given that I work in the Agency World™, process improvements don&#8217;t happen unless you have an ROI argument or a client willing to pay for it. If it&#8217;s not built right the first time, chances are you&#8217;re stuck.</p>
<p>Thankfully, the experience is invaluable, and I&#8217;ve learned some absolutely amazing things about building large scale multi-platform deliverable applications. Next time around much of this won&#8217;t happen, though for the time being I&#8217;m going to have to find some of my own time to throw at the issue so that in the long run I can have some peace of mind and free time.</p>
<p>Unfortunately, that means that Dance has effectively fallen off my radar. I know I love to do it, but when I can&#8217;t guarantee that I&#8217;ll be free for my 8PM lessons on a regular basis on account of work, well, I can&#8217;t really do anything about that. So in order to make sure I don&#8217;t lose the hobby altogether I&#8217;m doing a measured pullback and returning to my roots and origins: <a href="http://www.babalusalsa.com/">Salsa</a>. As much as I hate to step away from Swing and Tango and Ballroom and all the others for the time being I&#8217;m afraid I just don&#8217;t have the time.</p>
<p>Scaling that back, however, has opened up a surprising amount of time for other things, time that under other circumstances would have been spent in transit or in support of my usual posterior shimmying. For instance, my apartment garden is flourishing, my Bonsai are crawling out of their pots, and I&#8217;ve started releasing some code libraries again over at <a href="http://www.practicalflash.com/">Practical Flash</a>. Plus, of course, I&#8217;m making cheese.</p>
<p>Having said that, I&#8217;m looking forward to this next week. On Monday I&#8217;m speaking at <a href="http://www.flexcampcleveland.com/">Flex Camp Cleveland</a> on &#8220;How to build your first Flex Application&#8221;. I&#8217;m pretty nervous about that one, actually, since I go on <span style="font-style: italic;">right after <a href="http://forta.com/">Ben Forta</a></span> . Yes, <span style="font-style: italic;">that</span> Ben Forta, the guy who&#8217;s pretty much the face of ColdFusion for Adobe. Furthermore, on Friday and Saturday I&#8217;ll be volunteering at the <a href="http://www.columbusdistanceclassic.com/">Cap City Classic</a>. The original plan was to run the Half Marathon, but splints stopped my training, though I&#8217;ve just gotten a small post-work running group started to get me back up to some acceptable mileage. Given that, I&#8217;ll be running back and forth from my road marshal position on saturday, which nets me about 8 miles and change with a nice long break between the two.</p>
<p>Then in May, I&#8217;m taking a break. I have 2 weeks of &#8220;vacation&#8221; scheduled, one for the Adobe Community Conference in San Francisco (Which neatly coincides with my birthday. Hint Hint), and then a week of careless lounging at the beach for memorial day. I still have to find someone to help me run the May <a href="http://www.columbusdigital.org/">Adobe User Group</a> presentation night, but I should be able to get that done fairly easily. I hope.</p>
<p>Ahh well, back to polishing off my presentation, and then I&#8217;m off to go enjoy the nice weather some more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.krotscheck.net/2008/04/05/ruminations-on-cheese.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

