<?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>CodeBlab</title>
	<atom:link href="http://codeblab.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://codeblab.com</link>
	<description>blab about code</description>
	<lastBuildDate>Fri, 27 Jan 2012 22:43:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>ELOS</title>
		<link>http://codeblab.com/2012/01/elos/</link>
		<comments>http://codeblab.com/2012/01/elos/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 20:01:55 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[CodeUsage]]></category>

		<guid isPermaLink="false">http://codeblab.com/?p=3256</guid>
		<description><![CDATA[The Elements of Style by William Strunk, Jr. is a succinct do-and-don&#8217;ts text on writing. There is an updated version by Strunk and White. Over a decade ago I made a LaTeX version of the 1918 out-of-copyright version. More recent I made a Kindle version. I put them up for DOWNLOAD. Looking at the decade [...]]]></description>
			<content:encoded><![CDATA[<p><b>The Elements of Style</b> by William Strunk, Jr. is a succinct do-and-don&#8217;ts text on writing. There is an <a href="http://en.wikipedia.org/wiki/The_Elements_of_Style" title="Elements of Style, Strunk and White version." target="_blank">updated version</a> by Strunk and White. Over a decade ago I made a LaTeX version of the 1918 out-of-copyright version. More recent I made a Kindle version. I put them up for <a href="http://codeblab.com/elos/" title="ELOS" target="_blank">DOWNLOAD</a>. Looking at the decade old Makefile (that still worked) I realized how much my Makefiles have changed over time. <img src="http://codeblab.com/wp-content/uploads/2012/01/LaTeXrule1.png" alt="" title="LaTeXrule" width="547" height="232" class="alignleft size-full wp-image-3263" /> There are several particularities with LaTeX that make it hard for <tt>make</tt> to handle. It needs a number of passes, if it fails it needs a clean up, and the output is way to verbose most of the time. Therefor I coded a Makefile to run LaTeX as often as required, cleanup after a failed compilation attempt, display a progress bar, and redirect LaTeX&#8217;s output to a file named &#8216;out&#8217;. If you like you can <a href="http://codeblab.com/wp-content/uploads/2012/01/Makefile.txt" target="_blank">look at it</a> and take whatever you like from it for your own Makefiles.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeblab.com/2012/01/elos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welsh Incident</title>
		<link>http://codeblab.com/2011/12/welsh-incident/</link>
		<comments>http://codeblab.com/2011/12/welsh-incident/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 02:04:45 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[CodeImpossible]]></category>
		<category><![CDATA[Glass]]></category>

		<guid isPermaLink="false">http://codeblab.com/?p=2957</guid>
		<description><![CDATA[When I showed my first version of the Glass plugin to the coder that thought it impossible, I got some words of praise but she claimed a user-selectable colored rim (like some Flash version had) was still impossible. Robert Graves did not write: "User selectable colours?"&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; "Mostly nameless colours, Colours you'd like to see; but [...]]]></description>
			<content:encoded><![CDATA[<p>When I showed my first version of the <a href="http://codeblab.com/glass/" title="Glass">Glass plugin</a> to the coder that thought it impossible, I got some words of praise but she claimed a user-selectable colored rim (like some Flash version had) was still impossible. Robert Graves <a href="http://www.youtube.com/watch?v=cLafXKLcPcQ" title="Welsh Incident" target="_blank">did not write</a>:</p>
<p><center>
<pre style="font-size:85%">"User selectable colours?"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        "Mostly nameless colours,
Colours you'd like to see; but one was puce&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Or perhaps more like crimson, but not purplish."&nbsp;&nbsp;
</pre>
<p></center></p>
<p>A stack of semi-translucent images can produce even the color <tt style="color:#4E1609">#4E1609</tt> (puce) but let&#8217;s look at the simpler example below, the color <tt style="color:#FA3">#FFAA33</tt>.</p>
<p><center><a href="http://codeblab.com/wp-content/uploads/2011/12/RGB-stack-w.png"><img src="http://codeblab.com/wp-content/uploads/2011/12/RGB-stack-w-400x194.png" alt="" title="RGB-stack-w" width="400" height="194" class="aligncenter size-medium wp-image-2964" /></a></center><span id="more-2957"></span>The color is created by stacking a layer that has all three colors (red, green, and blue), a layer that has the two most dominant colors (red and green) and a layer that holds the most dominant color (red), as shown in the left column. The top most layer needs to fill up red from <tt>#AA</tt> to <tt>#FF</tt>, so a 100% red layer with an opacity of <tt>#55/#FF</tt> or 1/3d is used. The layer below that will have to provide <tt>#77</tt> parts of both red and green, but since only 2/3d will shine through the layer above it, a 100% red and green layer with an opacity of <tt>3/2.#77/#FF</tt> is used. The last layer only  needs to show <tt>#33</tt> parts of all three colors, but it will have to shine through two layers. The third column visualizes what the end result is: the color <tt style="color:#FA3">#FFAA33</tt>.</p>
<p>If you think about it, for any color, three layers are enough and the opacities stays within <tt>[0,1]</tt>. So with eight rim images, one for each RGB color combination, a user-selectable colored rim can be created. <a href="http://wordpress.org/extend/plugins/glass/">Try for yourself</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeblab.com/2011/12/welsh-incident/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Squaring The Circle</title>
		<link>http://codeblab.com/2011/12/squaring-the-circle/</link>
		<comments>http://codeblab.com/2011/12/squaring-the-circle/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 15:30:23 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[CodeImpossible]]></category>
		<category><![CDATA[Glass]]></category>

		<guid isPermaLink="false">http://codeblab.com/?p=2746</guid>
		<description><![CDATA[The late Steve Jobs did not allow Flash on the iPhone-pod-pad because it reduces reliability and leads to sub-standard apps. A coder from Apple told me that coding a magnifying glass applet was impossible without either Flash or the CSS3 radius property. Or you were stuck with a rectangular zoom frame. Naturallemente, I had to [...]]]></description>
			<content:encoded><![CDATA[<p>The late <a href="http://www.apple.com/hotnews/thoughts-on-flash/">Steve Jobs did not allow Flash on the iPhone-pod-pad</a> because it reduces reliability and leads to sub-standard apps. <a href="http://codeblab.com/wp-content/uploads/2011/12/flowers.jpg"><img class="alignleft size-full wp-image-2913" title="flowers_s" src="http://codeblab.com/wp-content/uploads/2011/12/flowers_s.jpg" alt="" width="300" height="199" /></a> A coder from Apple told me that coding <a href="http://www.magictoolbox.com/magicmagnifyplus/">a magnifying glass</a> applet was impossible without either Flash or the <a href="http://www.w3schools.com/cssref/tryit.asp?filename=trycss3_border-top-right-radius">CSS3 radius</a> property. Or you were stuck with a <a href="http://wordpress.org/extend/plugins/image-zoomer/screenshots/">rectangular zoom frame</a>. Naturallemente, I had to prove her wrong. At first it felt like <a href="http://en.wikipedia.org/wiki/Squaring_the_circle">squaring the circle</a>, than I did. Think about that for a while. I&#8217;ll wait&#8230; <span id="more-2746"></span><br />
<img src="http://codeblab.com/wp-content/uploads/2011/12/spoiler.png" alt="" title="spoiler" width="300" height="198" class="alignright size-full wp-image-2915" />By overlaying a number of rectangles it is possible to make a crow-stepped circle. Use a lot of rectangles to dissolve the crow steps or cover them with a rim. The proof of concept was simple enough. An old G3 Mac showed it could do ten overlays without &#8220;stuttering.&#8221; So I coded a <a href="http://codeblab.com/wp-content/uploads/2011/12/squaringthecircle.c">quick and dirty one</a> that calculated the maximum diameter (and its corresponding ten rectangle&#8217;s dimensions) for a given rim thickness. Than I made a WordPress plugin called <a href="http://codeblab.com/glass/">Glass</a>, to use here. <a target="_blank" href="http://www.youtube.com/watch?v=iEqj3FIBFwI">If you like my style,</a> you like my plugin, why don&#8217;t you make me known it? Use some fine Glass on your site.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeblab.com/2011/12/squaring-the-circle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dog Code</title>
		<link>http://codeblab.com/2011/11/wwwmechanize-a-dogs-owner/</link>
		<comments>http://codeblab.com/2011/11/wwwmechanize-a-dogs-owner/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 15:03:02 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[CodeUsage]]></category>

		<guid isPermaLink="false">http://codeblab.com/?p=2894</guid>
		<description><![CDATA[On Saturday, coder Adam found a dog wandering the highway. He took it upon himself to find the owner. So he did what he did best, write code: &#8220;I texted the first number, explaining I had found this dog on the highway and sure enough, it was the owner! He promptly drove to my house [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, <a href="http://perlbuzz.com/2011/11/finding-a-lost-dogs-owner-with-perl-and-wwwmechanize.html">coder Adam found a dog wandering the highway</a>. He took it upon himself to find the owner. So he did what he did best, write code:<br />
<a href="http://www.co.warren.oh.us/auditor/licensing/dog_search/"><img src="http://codeblab.com/wp-content/uploads/2011/11/DogCode.png" alt="Code to find a dog&#039;s owner." title="DogCode" width="547" height="631" class="alignleft size-full wp-image-2899" /></a><br />
<em><strong>&#8220;</strong>I texted the first number, explaining I had found this dog on the highway and sure enough, it was the owner! He promptly drove to my house to pick up &#8220;Izzy&#8221;. When he arrived he was very glad to have his dog back but also confused as to how I found his phone number. I told him I &#8220;scraped&#8221; the dog registration site and left it at that (yeah it&#8217;s a bit unnerving how easy it is to find information on people).<strong>&#8220;</strong></em> (<strong><em><a href="http://www.linkedin.com/in/adamgotch">Adam Gotch</a></em></strong>)  [<a href="http://perlbuzz.com/2011/11/finding-a-lost-dogs-owner-with-perl-and-wwwmechanize.html">In a message to Perlbuzz</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://codeblab.com/2011/11/wwwmechanize-a-dogs-owner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R.I.P John McCarthy</title>
		<link>http://codeblab.com/2011/10/r-i-p-john-mccarthy/</link>
		<comments>http://codeblab.com/2011/10/r-i-p-john-mccarthy/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 10:02:17 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[CodePeople]]></category>

		<guid isPermaLink="false">http://codeblab.com/?p=2883</guid>
		<description><![CDATA[John McCarthy, 1927-2011 (Creator of Lisp and more) This giant, John McCarthy stood at the cradle of AI, Lisp, and theoretical computer science. Like us, he loved elegant mathematics.]]></description>
			<content:encoded><![CDATA[<div align="center"><img src="http://codeblab.com/wp-content/uploads/2011/10/John-McCarthy1-319x400.jpg" alt="R.I.P. John McCarthy" title="John McCarthy" width="319" height="400" class="alignnone size-medium wp-image-2892" /><br />
<strong>John McCarthy</strong>, 1927-2011 <br />
(Creator of Lisp and more)</div>
<p>
This giant, John McCarthy stood at the cradle of <a href='http://codeblab.com/wp-content/uploads/2011/10/mcc59.pdf'>AI</a>, <a href='http://codeblab.com/wp-content/uploads/2011/10/recursive.pdf'>Lisp</a>, and theoretical computer science. Like us, he loved <a href='http://codeblab.com/wp-content/uploads/2011/10/weierstrass.pdf'>elegant mathematics</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://codeblab.com/2011/10/r-i-p-john-mccarthy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R.I.P. dmr</title>
		<link>http://codeblab.com/2011/10/r-i-p-dmr/</link>
		<comments>http://codeblab.com/2011/10/r-i-p-dmr/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 09:53:51 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[CodePeople]]></category>

		<guid isPermaLink="false">http://codeblab.com/?p=2871</guid>
		<description><![CDATA[Dennis Ritchie, 1941-2011 (Unix co-creator, creator of C, and more) &#160; &#160;]]></description>
			<content:encoded><![CDATA[<div align="center"><img src="http://codeblab.com/wp-content/uploads/2011/10/dennis_ritchie1.jpg" alt="" title="dennis_ritchie" width="309" height="400" class="aligncenter size-full wp-image-2880" /><br />
<strong>Dennis Ritchie</strong>, 1941-2011 <br />
(Unix co-creator, creator of C, and more)
</div>
<p><span id="more-2871"></span><br />
&nbsp;<br />
&nbsp;</p>
<div align="center"><iframe width="420" height="315" src="http://www.youtube.com/embed/7FjX7r5icV8" frameborder="0" allowfullscreen></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://codeblab.com/2011/10/r-i-p-dmr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When Coding Fails</title>
		<link>http://codeblab.com/2011/01/when-coding-fails/</link>
		<comments>http://codeblab.com/2011/01/when-coding-fails/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 22:23:44 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[CodeNot]]></category>

		<guid isPermaLink="false">http://codeblab.com/?p=2689</guid>
		<description><![CDATA[I needed to rescue all the photo&#8217;s on a 2.5&#8243; drive. It had a S-ATA interface. I had all the software but not the hardware. So I went out and bought a S-ATA to USB3 gadget. Though the computer reading the disk had only USB2, I bought the USB3 device because (I thought) I knew [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to rescue all the photo&#8217;s on a 2.5&#8243; drive. It had a <a href="http://en.wikipedia.org/wiki/Sata">S-ATA</a> interface. I had all the software but not the hardware. So I went out and bought a <a href="http://www.sharkoon.com/?q=de/content/sata-quickport-mini-usb30">S-ATA to US<span style="letter-spacing:.1em">B</span>3 gadget</a>. Though the computer reading the disk had only US<span style="letter-spacing:.1em">B</span>2, I bought the US<span style="letter-spacing:.1em">B</span>3 device because (I thought) I knew US<span style="letter-spacing:.1em">B</span>3 is 100% <a href="http://en.wikipedia.org/wiki/Usb">compatible</a> with US<span style="letter-spacing:.1em">B</span>2. Needles to say, it failed work. After some reading specs I find that a US<span style="letter-spacing:.1em">B</span>3 socket delivers 90<span style="letter-spacing:.1em">0</span>mA where US<span style="letter-spacing:.1em">B</span>2 can drive a maxium of 50<span style="letter-spacing:.1em">0</span>mA. Remembering an US<span style="letter-spacing:.1em">B</span>2 device that had a Y-shaped cable and two connectors it hit me. All I needed to do was add a US<span style="letter-spacing:.1em">B</span>2 connector to the power circuitry. Took 20 minutes. And so, my fellow coders: code not what your code can&#8217;t do for you &#8211; ask what you can do for your code.<br />

<a href='http://codeblab.com/2011/01/when-coding-fails/img_2010-12-29_17-48-55/' title='img_2010-12-29_17-48-55'><img width="150" height="150" src="http://codeblab.com/wp-content/uploads/2011/01/img_2010-12-29_17-48-55-150x150.jpg" class="attachment-thumbnail" alt="img_2010-12-29_17-48-55" title="img_2010-12-29_17-48-55" /></a>
<a href='http://codeblab.com/2011/01/when-coding-fails/img_2010-12-29_17-52-26/' title='img_2010-12-29_17-52-26'><img width="150" height="150" src="http://codeblab.com/wp-content/uploads/2011/01/img_2010-12-29_17-52-26-150x150.jpg" class="attachment-thumbnail" alt="img_2010-12-29_17-52-26" title="img_2010-12-29_17-52-26" /></a>
<a href='http://codeblab.com/2011/01/when-coding-fails/img_2010-12-29_17-54-51/' title='img_2010-12-29_17-54-51'><img width="150" height="150" src="http://codeblab.com/wp-content/uploads/2011/01/img_2010-12-29_17-54-51-150x150.jpg" class="attachment-thumbnail" alt="img_2010-12-29_17-54-51" title="img_2010-12-29_17-54-51" /></a>
<a href='http://codeblab.com/2011/01/when-coding-fails/img_2010-12-29_17-55-46/' title='img_2010-12-29_17-55-46'><img width="150" height="150" src="http://codeblab.com/wp-content/uploads/2011/01/img_2010-12-29_17-55-46-150x150.jpg" class="attachment-thumbnail" alt="img_2010-12-29_17-55-46" title="img_2010-12-29_17-55-46" /></a>
<a href='http://codeblab.com/2011/01/when-coding-fails/img_2010-12-29_17-56-20/' title='img_2010-12-29_17-56-20'><img width="150" height="150" src="http://codeblab.com/wp-content/uploads/2011/01/img_2010-12-29_17-56-20-150x150.jpg" class="attachment-thumbnail" alt="img_2010-12-29_17-56-20" title="img_2010-12-29_17-56-20" /></a>
<a href='http://codeblab.com/2011/01/when-coding-fails/img_2010-12-29_19-01-46/' title='img_2010-12-29_19-01-46'><img width="150" height="150" src="http://codeblab.com/wp-content/uploads/2011/01/img_2010-12-29_19-01-46-150x150.jpg" class="attachment-thumbnail" alt="img_2010-12-29_19-01-46" title="img_2010-12-29_19-01-46" /></a>
</p>
<p style="text-align: right;"><a href="http://www.famousquotes.me.uk/speeches/John_F_Kennedy/5.htm">π</a></p>
]]></content:encoded>
			<wfw:commentRss>http://codeblab.com/2011/01/when-coding-fails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consider a Domain Specific Language</title>
		<link>http://codeblab.com/2011/01/consider-a-domain-specific-language/</link>
		<comments>http://codeblab.com/2011/01/consider-a-domain-specific-language/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 10:25:04 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[CodeDesign]]></category>

		<guid isPermaLink="false">http://codeblab.com/?p=2547</guid>
		<description><![CDATA[There I was, in this meeting. A domain specialist had build a prototype in Excel/VBA. The commercial recode was an pseudo Excel engine, coded in PHP, with the prototype expressions shoehorned into it. I&#8217;ll pause while you recover. They had replaced the domain specialist with a programmer where they should have replaced Excel with a [...]]]></description>
			<content:encoded><![CDATA[<p>There I was, in this meeting. A domain specialist had build a prototype in <a href="http://www.ehow.com/how_2101765_write-excel-vba-program.html">Excel/VBA</a>. The commercial recode was an pseudo Excel engine, coded in PHP, with the prototype expressions shoehorned into it. I&#8217;ll pause while you recover. They had replaced the domain specialist with a programmer where they should have replaced Excel with a <a href="http://codeblab.com/wp-content/uploads/2011/01/LOP.pdf">DSL</a>. And here is why. </p>
<p><span style="background-color:#666;color:white">&nbsp;A DSL drastically lowers the implicit domain knowledge in your code.&nbsp;</span> </p>
<p>Let me examplify; implement <i>&#8220;If you have been married for more than half the fiscal year&#8230;&#8221;</i> given the implicit knowledge: <i>Dutch law mandates that you can <a target="_blank" href="http://www.youtube.com/watch?v=Oto-CIKKNR8">D.I.V.O.R.C.E</a> only after being marriage for at least a year.</i></p>
<p>In a generic language (given some suitable library) one could write: <code style="font-size: 90%;"><span style="color:blue">if</span> <span style="color:darkgray">(</span>is_married_on<span style="color:darkgray">(</span><span style="color:orange">$year</span><span style="color:darkgray">,</span> <span style="color:green">6</span><span style="color:darkgray">,</span> <span style="color:green">30</span><span style="color:darkgray">))</span></code><i>&#8230;</i> reasoning that who has been married the middle day of the year, must have been been married for at least the first or the last half. </p>
<p>Apart from the hard to spot bugs in this code, it is hard to understand what constitutes being married more than half a year. Is it 183 days and 184 in a leap year? Being married the first three and last three months of the year? </p>
<p>Look at three examples in an imaginary predicate logic like DSL:</p>
<p><code style="font-size: 90%;"><span style="color:blue">{</span><span style="color:brown">all</span> "married" <span style="color:blue">|</span> <span style="color:purple">day</span> <span style="color:orange">$Y</span> <span style="color:green">30</span> <span style="color:green">6</span><span style="color:blue">}</span> -&gt;</code><br />
<code style="font-size: 90%;"><span style="color:blue">{</span></span><span style="color:brown">sum</span> <span style="color:purple">#day</span> "married" <span style="color:blue">|</span> <span style="color:purple">year</span> <span style="color:orange">$Y</span><span style="color:blue">}</span> &gt;= <span style="color:green">183</span> -&gt;</code><br />
<code style="font-size: 90%;"><span style="color:blue">{</span><span style="color:brown">max</span> <span style="color:purple">#day</span> "married" <span style="color:blue">|</span> <span style="color:purple">year</span> <span style="color:orange">$Y</span><span style="color:blue">}</span> &gt; <span style="color:blue">{</span><span style="color:brown">sum</span> <span style="color:purple">#day</span> <span style="color:blue">|</span> <span style="color:purple">year</span> <span style="color:orange">$Y</span><span style="color:blue">}</span>/<span style="color:green">2</span> -&gt;</code></p>
<p>How easy it is for the domain expert to express things much more explicit. A generic language would need a huge number of domain specific library call&#8217;s with extreme explicit naming and still would not get close to offering a flexible and explicit alternative. Besides, it is nice to use some explicit language now and than.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeblab.com/2011/01/consider-a-domain-specific-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Woz on Coding</title>
		<link>http://codeblab.com/2010/11/the-woz-on-coding/</link>
		<comments>http://codeblab.com/2010/11/the-woz-on-coding/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 10:32:53 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[CodePeople]]></category>

		<guid isPermaLink="false">http://codeblab.com/?p=2521</guid>
		<description><![CDATA[Thanks to a good friend I had the honor to join a select group spending some time with The Woz. Topics ranged from how mutually intelligible Beijing and Hebei dialects of Mandarin are to whether history should be taught in schools. Being a nerd of the right age I had to ask Steve some questions [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://codeblab.com/wp-content/uploads/2010/11/WozCo4.jpg" alt="" title="WozCo4" width="549" height="234" class="alignleft size-full wp-image-2539" /><br />
Thanks to a good friend I had the honor to join a select group spending some time with <a href="http://en.wikipedia.org/wiki/Steve_Wozniak">The Woz</a>. Topics ranged from how mutually intelligible Beijing and Hebei dialects of Mandarin are to  whether history should be taught in schools.  Being a nerd of the right age I had to ask Steve some questions that had been haunting me since 1978. I learned how to program by looking at <a href="http://en.wikipedia.org/wiki/SWEET16">SWEET16</a> code, the (build in) assembler/system monitor, <a href="http://en.wikipedia.org/wiki/Integer_BASIC">Integer BASIC</a> and <a href="http://en.wikipedia.org/wiki/Apple_DOS">DOS</a>. His recollection powers are incredible. Not only could he answer all but one question without pause, he also could describe how long it took, who else participated, what the other Steve did and most interesting to me he often gave an introspective view of how he felt while doing it, why it turned out the way it did and what he did not know but might have wished he had. If he ever needs a headshrinker he will be done in half a session. For example, he would describe this &#8220;flow&#8221; effect that we coders all know when working one something complex. Incasu, Steve was working on a different timing of the disk head read/write signal. Specificly he moved from a 4/8ms to a 4/8/12ms signal in order to cram in some 25% extra bits. He described, much better than I can reproduce, how he worked till he was too tired, getting it almost done. Than next day it would take very long to get back into the flow and he would work till he was too tired again, getting it almost done. Than one night he did what he had to do and worked till early mornings to finish it. He declared it the hardest code he ever did. He also compared <a href="http://www.youtube.com/watch?v=aoiGJMZjs0o">performing a complex dance as a non dancer</a> to writing Integer BASIC without relevant experience or training. In fact he disclosed he did not know, back than, that BASIC was a collection of incompatible dialects (like Mandarin). This entry is getting too long so I leave you with just one more gem. Steve wanted BASIC for the Apple because of the book &#8220;<a href="http://www.atariarchives.org/basicgames/">101 BASIC Computer Games</a>&#8220;. He still seems oblivious of the enormous impact of this decision. He chose my first computer language for me and for most all my peer coders.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeblab.com/2010/11/the-woz-on-coding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Right Tool</title>
		<link>http://codeblab.com/2010/10/the-right-tool/</link>
		<comments>http://codeblab.com/2010/10/the-right-tool/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 22:36:27 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[CodeLanguage]]></category>

		<guid isPermaLink="false">http://codeblab.com/?p=2490</guid>
		<description><![CDATA[My professor runs a website on the USA elections. I help him some with the graphics. presidential midterm Since the site features a lot of dynamic graphs, I build a numbers-to-graphs system by combining Bourne Shell and Ghostscript. This gave me a very powerful code and data pre-processor on a very powerful graphic language. It [...]]]></description>
			<content:encoded><![CDATA[<p>My professor runs a website on the USA elections. I help him some with the graphics.<br />
<table align="center" style="margin: -35px auto 0 auto">
<tr>
<td align="center"><img src="http://codeblab.com/wp-content/uploads/2010/10/evmap3.png" alt="" title="evmap3" width="150" height="180" class="alignnone size-full wp-image-2493" />
<div style="margin: -8px 0 0 0">presidential</div>
</td>
<td align="center"><img src="http://codeblab.com/wp-content/uploads/2010/10/evmap2.png" alt="" title="evmap2" width="150" height="180" class="alignnone size-full wp-image-2492" />
<div style="margin: -8px 0 0 0">midterm</div>
</td>
</tr>
</table>
<p>Since the site features a lot of dynamic graphs, I build a numbers-to-graphs system by combining Bourne Shell and Ghostscript. This gave me a very powerful <em>code and data</em> pre-processor on a very powerful graphic language.<br />
<img src="http://codeblab.com/wp-content/uploads/2010/10/shgseg.png" alt="" title="shgseg" width="490" height="432" class="alignnone size-full wp-image-2504" /><br />
It took many hours to write the program. Luckily, the result was surprisingly dynamic; Because every thing parameterized, things often stayed visually pleasing even with input parameters we had not anticipated. For example midterm elections (right top image) have only house and senate races, but no electoral votes prediction like the presidential elections (left top image). Originally the program could handle only presidential elections, but with two numbers changed an one line removed, it generated the midterm graphics adequately. Take a look at some of the other graphs at <a href="http://www.electoral-vote.com/">electoral-vote.com</a>. Just click on the map. </p>
]]></content:encoded>
			<wfw:commentRss>http://codeblab.com/2010/10/the-right-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

