<?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>The Meticulous Geek &#187; Uncategorized</title>
	<atom:link href="http://themeticulousgeek.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://themeticulousgeek.com</link>
	<description>Life, rantings and small portions of not too useful information</description>
	<lastBuildDate>Thu, 03 Jun 2010 19:46:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Extract, Transform&#8230; Load!</title>
		<link>http://themeticulousgeek.com/2010/06/03/extract-transform-load/</link>
		<comments>http://themeticulousgeek.com/2010/06/03/extract-transform-load/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 19:22:39 +0000</pubDate>
		<dc:creator>basp</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://themeticulousgeek.com/?p=531</guid>
		<description><![CDATA[What Is This Shit Called? I was going to say all this sounds pretty boring but actually if you put it this way it sounds like something out of an action movie! Extract, Transform, Load. It might seem mundane and it probably is but somehow, I seem to get a lot of satisfaction thinking about [...]]]></description>
			<content:encoded><![CDATA[<h4>What Is This Shit Called?</h4>
<p>I was going to say all this sounds pretty boring but actually if you put it <em>this</em> way it sounds like something out of an action movie!</p>
<p><em>Extract, Transform, Load</em>. It might seem mundane and it probably is but somehow, I seem to get a lot of satisfaction thinking about how to elegantly and efficiently program solutions for problems of this kind. Unfortunately though I didn&#8217;t know that the stuff that I was doing was called <a href="http://en.wikipedia.org/wiki/Extract,_transform,_load">ETL (Extract, Transform, Load)</a> when I started out. Had I known that, maybe I could have used some of the work done by people before me but unfortunately I was oblivious. I guess my membership with the <a href="http://themeticulousgeek.com/2010/05/04/the-gip/">GIP</a> was still valid at that time.</p>
<h4>So That&#8217;s What It&#8217;s Called</h4>
<p>As luck would have it though, salvation came about the time that I was working on the second incarnation of my <em>homefuckedup</em> framework. At this time, <a href="http://www.ayende.com/">Ayende</a> <a href="http://ayende.com/Blog/archive/2007/08/04/Rhino.ETL-Status-Report--Joins-Distinct-amp-Engine-work.aspx">started posting about ETL</a> (there are probably a lot of older posts but this was the oldest I could find quickly) and I learned a great deal. Most importantly, that this business was called ETL. Extract, Transform, Load&#8230; What the fuck. Who would&#8217;ve figured that huh? I was just calling it data transports or pipelines or something but &#8220;extract, transform, load&#8221;? I bet the guy who came up with that can make taking a shit sound like the greatest thing in the world (sometimes it is though &#8211; when the ritual succeeds perfectly).</p>
<h4>Sidenote</h4>
<p>By a strange fuckup of coincidence, the same crazy ass shit happened to me a few weeks ago when, after fucking 5 years of plowing, I finally found out that the crazy ass database shit we&#8217;ve been doing is called <a href="http://en.wikipedia.org/wiki/Entity-attribute-value_model">Entity-Attribute-Value modelling</a> (EAV). Yeah that&#8217;s right: <strong>EAV</strong>. It&#8217;s some kind of screwup of the late 80&#8242;s when people were investigating how to store objects in relational databases. But even though EAV is old and outdated, I find this technology strangely cool.</p>
<h4>Stuff and Rx</h4>
<p><a href="http://github.com/ayende/rhino-etl">Rhino.ETL</a> is the bomb and if you are sick of SSIS, DTS of whatever you call it, please, check it out. It saved me a lot of headaches because it allows me to do all the stuff <strong>in code</strong>. I don&#8217;t want to program ETL packages by playing a game of click, drag and fill in the properties. I just want to say what I want done and Rhino.ETL allows this. You can use the DSL based on <a href="http://boo.codehaus.org/">Boo</a> but I found more joy in running compiled assemblies as ETL packages. And when the default driver doesn&#8217;t suit, you can easily implement your own.</p>
<p>Nowadays, there is just so much cool stuff coming out that seems usable to investigate. Take for example the work of  <a href="http://research.microsoft.com/en-us/um/people/emeijer/">Erik Meijer</a> and team. One of our unsung heroes and mind you &#8211; he is on the SQL Server team so don&#8217;t worry mates: Erik is on the job!. For me though, there is some kind of intangibleness with his latest creation, <a href="http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx">Rx (Reactive Extensions)</a>. It&#8217;s cool as Pluto but somehow you wonder how it can help you in less contrived scenarios.</p>
<p>Still, I love writing the sort of code that it encourages you to write. With the continuations and the lambda&#8217;s and fluent interfaces that make everything fit together like it was meant to be that way. I even like the nested generics that pop up sometimes in the intellisense. When you actually call it though, it&#8217;s a lot less brutal (all thanks to type inference) but you can&#8217;t help to marvel about those nested generic type definitions. Dutch people would say: &#8220;Het is mooi van lelijkheid.&#8221; Which roughly translates to something like: &#8220;It&#8217;s beautiful by its ugliness.&#8221; Then again, you can sculpt it anyway you like.</p>
<p>And of course, you also know: &#8220;if <em>Erik</em> spend so much time designing this, it <em><strong>has to be useful</strong></em>.&#8221; But of course, not every secret is told. We are like apes. We are given a tool that is very powerful but not a lot of people are able to use it. We wonder: &#8220;Why has the great one invented a tool like this?&#8221; &#8220;What use can it have?&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://themeticulousgeek.com/2010/06/03/extract-transform-load/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To: dick</title>
		<link>http://themeticulousgeek.com/2009/02/09/to-dick/</link>
		<comments>http://themeticulousgeek.com/2009/02/09/to-dick/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 18:36:33 +0000</pubDate>
		<dc:creator>simone</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://themeticulousgeek.com/?p=239</guid>
		<description><![CDATA[To: dick Re: Meeting today Our meeting today really went well, don&#8217;t you think? At one point my blood was boiling and I was almost ready to punch you in the face. Fortunately, common sense and the lack of fighting skills prevented that. But enough kidding, I seriously do enjoy discussing technical software matters with [...]]]></description>
			<content:encoded><![CDATA[<p>To: dick</p>
<p>Re: Meeting today</p>
<p>Our meeting today really went well, don&#8217;t you think? At one point my blood was boiling and I was almost ready to punch you in the face. Fortunately, common sense and the lack of fighting skills prevented that. But enough kidding, I seriously do enjoy discussing technical software matters with someone who is not even able to check in the changes of his working copy. As a matter of fact, I think it&#8217;s noteworthy and actually very funny that the CEO is messing around the code base in the first place.</p>
<p>Frankly, I really appreciate that you deeply care how stuff is implemented and what kind of tools we are using. So far, it has been a real fun challenge to try and explain the sometimes mysterious ways of the code to you. Also, please allow me to point out that your lack of trust really is a great stimulant for me to get up early and give it my best. Additionally, it gives me a great level of comfort that each and every implementation detail will be reviewed by an expert like you.</p>
<p>I really appreciate the fact that we (the developers) always are put last though we were the first to get cut on our salaries (even though we were responsible for most of the profit). Likewise, it always is fun to be called into a meeting just as you are about to shut down for the day. It&#8217;s nice to feel important after everything else (including the shit on the carpet) has been dealt with. I also appreciate that you never know when those meetings will be finished as there&#8217;s no agenda. It really keeps things fresh that way.</p>
<p>Last but not least I want to remark that I think that purely subjective performance reviews by management are a great idea. Test results or peer-to-peer reviews are probably a myth and all those metrics take time to evaluate anyway. I welcome this simplification because I know that you in your infinite wisdom will be able to review the complete array of our abilities most perfectly.</p>
<p>Thank you for being a dick, I really appreciate it.</p>
<p>Best,</p>
<p>Simone</p>
]]></content:encoded>
			<wfw:commentRss>http://themeticulousgeek.com/2009/02/09/to-dick/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
