<?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 Caffeinated Penguin &#187; LJ Import</title>
	<atom:link href="http://www.mattcaron.net/category/fromlivejournal/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mattcaron.net</link>
	<description>musings of a crackpot hacker</description>
	<lastBuildDate>Sun, 29 Jan 2012 01:46:52 +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>WordPress</title>
		<link>http://www.mattcaron.net/2009/03/01/wordpress/</link>
		<comments>http://www.mattcaron.net/2009/03/01/wordpress/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 22:36:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[LJ Import]]></category>

		<guid isPermaLink="false">http://mattcaron.localhost/2009/03/01/wordpress/</guid>
		<description><![CDATA[
So, I&apos;ve been redoing this site, (work in progress here) and have become enamored with WordPress. Despite being written in PHP, there&apos;s a lot of really nifty features to it, especially when it comes to uploading pictures and such. Therefore, in addition to redoing my site in WordPress, I will also be moving this blog [...]
]]></description>
			<content:encoded><![CDATA[<p>So, I&apos;ve been redoing <a href="http://www.fishhousefishandgame.com/">this site</a>, (work in progress <a href="http://fishhouse.mattcaron.net/">here</a>) and have become enamored with WordPress. Despite being written in PHP, there&apos;s a lot of really nifty features to it, especially when it comes to uploading pictures and such.</p>
<p>Therefore, in addition to redoing my site in WordPress, I will also be moving this blog to there. I will be keeping my LJ account (but will likely let the paid membership lapse) so as to be part of the community, etc., but moving the blog will likely result in more prolific blogging, more specifically with more pictures.</p>
<p>Anyway, in laws are here. Time for supper.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattcaron.net/2009/03/01/wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Haiku</title>
		<link>http://www.mattcaron.net/2009/02/27/haiku/</link>
		<comments>http://www.mattcaron.net/2009/02/27/haiku/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 01:34:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[LJ Import]]></category>

		<guid isPermaLink="false">http://mattcaron.localhost/2009/02/27/haiku/</guid>
		<description><![CDATA[
Haiku OS Based on BeOS Now seems very retro.
]]></description>
			<content:encoded><![CDATA[<div align="center">
<a href="http://www.haiku-os.org/">Haiku OS</a><br />
Based on BeOS<br />
Now seems very retro.
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mattcaron.net/2009/02/27/haiku/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 Beta</title>
		<link>http://www.mattcaron.net/2009/02/27/windows-7-beta/</link>
		<comments>http://www.mattcaron.net/2009/02/27/windows-7-beta/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 01:03:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[LJ Import]]></category>

		<guid isPermaLink="false">http://mattcaron.localhost/2009/02/27/windows-7-beta/</guid>
		<description><![CDATA[
Now, I will grant you that I was running it in a VM, but: SLOOOOOOWWWWWWW The base install is 9gb, but aside from a DVD burning app and some games, I can&#8217;t figure out what is using up all the space.
]]></description>
			<content:encoded><![CDATA[<p>Now, I will grant you that I was running it in a VM, but:</p>
<ul>
<li>SLOOOOOOWWWWWWW
</li>
<li>The base install is 9gb, but aside from a DVD burning app and some games, I can&#8217;t figure out what is using up all the space.
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mattcaron.net/2009/02/27/windows-7-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bill Gates Rant</title>
		<link>http://www.mattcaron.net/2009/02/24/bill-gates-rant/</link>
		<comments>http://www.mattcaron.net/2009/02/24/bill-gates-rant/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 02:18:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[LJ Import]]></category>

		<guid isPermaLink="false">http://mattcaron.localhost/2009/02/24/bill-gates-rant/</guid>
		<description><![CDATA[
<a href="http://blog.seattlepi.nwsource.com/microsoft/archives/141821.asp">http://blog.seattlepi.nwsource.com/microsoft/archives/141821.asp</a> Heh. apt-get install kino Done.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.seattlepi.nwsource.com/microsoft/archives/141821.asp">http://blog.seattlepi.nwsource.com/microsoft/archives/141821.asp</a></p>
<p>Heh.</p>
<p>apt-get install kino</p>
<p>Done.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattcaron.net/2009/02/24/bill-gates-rant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codey things</title>
		<link>http://www.mattcaron.net/2009/02/23/codey-things/</link>
		<comments>http://www.mattcaron.net/2009/02/23/codey-things/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 02:57:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[LJ Import]]></category>

		<guid isPermaLink="false">http://mattcaron.localhost/2009/02/23/codey-things/</guid>
		<description><![CDATA[
Building desktop apps with JavaScript and GTK bindings. Neat idea, but JS? Eww. Stab me in the eye, why don&apos;t you. Vala &#8211; C#-ish syntax which compiles down to native code for the GTK+ widget set. (Article). You lose the cross-platform-ness of .NET, but get the performance and maturity of the GTK+ widget set. It&apos;s [...]
]]></description>
			<content:encoded><![CDATA[<p><lj-cut text="Long"><br />
<a href="http://arstechnica.com/open-source/news/2009/01/javascript-gtk-bindings.ars">Building desktop apps with JavaScript and GTK bindings</a>.</p>
<p>Neat idea, but JS? Eww. Stab me in the eye, why don&apos;t you.</p>
<p><a href="http://live.gnome.org/Vala">Vala</a> &#8211; C#-ish syntax which compiles down to native code for the GTK+ widget set. (<a href="http://arstechnica.com/open-source/news/2007/09/vala-high-level-programming-with-less-fat.ars">Article</a>).</p>
<p>You lose the cross-platform-ness of .NET, but get the performance and<br />
maturity of the GTK+ widget set.</p>
<p>It&apos;s kind of hawt.</p>
<p>Of course, if we can do this, why can&apos;t we write firmware in C# and<br />
compile it down to raw C?</p>
<p>Oh, wait, we sortof can &#8211; look at <a href="http://www.digitalmars.com/d/2.0/overview.html">D</a>. I haven&apos;t poked it, but it looks to take a lot of the best bits of &#8220;modern&#8221; languages with the benefits of a traditionally compiled language.</p>
<p>Look at it like this &#8211; why are modern languages like C# and Java (and to a lesser extent, languages like PHP and Perl) good?<br />
- Many libraries<br />
- Modern OO features<br />
- Write once, run anywhere*<br />
- Automatic garbage collection (when it works)</p>
<p>And why are they bad?<br />
- Slow<br />
- Heavyweight</p>
<ul>
<li>= Theoretically, but not really. Think about it &#8211; without installing the Sun JRE, you basically can&apos;t run Java. Sure, there are other JREs, but I&apos;ve found them all to often not work. Since Sun&apos;s JRE isn&apos;t included by default on Mac, most Linux, and Windows, it puts the onus on the user to install it.
</li>
</ul>
<p>Similarly, if you want to do C#, you have to install Mono (though maybe it comes with your distro) and unless the app has specifically been tested to work with it, it also likely won&apos;t work because it will throw an exception at some point.</p>
<p>This isn&apos;t to say that it&apos;s not gettingbetter, but we&apos;ve been waiting for it to get good for years now.</p>
<p>Meanwhile, native-compiled code puts the onus on the developers to get it to build for all different platforms, and if you statically compile it, it will basically run forever, at least until the really basic system APIs change and it needs a recompile. Plus this is an issue has been solved &#8211; on most operating systems, you install (or it comes with) a repository and package management system and just yum, apt-get or fink install the natively compiled package which you want. (Windows folks are still stuck in the 1990&apos;s, and would have to manually download and install an app, but that works too).</p>
<p>Also, they generally have advantages of:<br />
- speed<br />
- flexibility<br />
- the ability to talk to real hardware (which is still a problem with a lot of VM-based languages &#8211; you often end up having to include a library (written in C) in order to have something which can handle things like pointers so it can write data into registers).</p>
<p>So, yeah, I&apos;ll have to play with D&#8230; in theory, I might even be able to cross compile and write firmware in it.. Have I mentioned that <a href="http://www.gumstix.com/">Gumstix</a> and <a href="http://arduino.cc/en/Main/Software">Arduino</a> are equally hawt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattcaron.net/2009/02/23/codey-things/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NEIN! Bad programmer!</title>
		<link>http://www.mattcaron.net/2009/02/23/nein-bad-programmer/</link>
		<comments>http://www.mattcaron.net/2009/02/23/nein-bad-programmer/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 02:27:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[LJ Import]]></category>

		<guid isPermaLink="false">http://mattcaron.localhost/2009/02/23/nein-bad-programmer/</guid>
		<description><![CDATA[
It&apos;s folks with &#8220;good ideas&#8221; like this which is why there is so much bad code out there. (1) Keep youre[sic] code on the same level of indentation as much as possible. Indenting is cheap, easy and helps you discern what code is in what blocks. Additionally, any decent modern editor will automatically indent for [...]
]]></description>
			<content:encoded><![CDATA[<p><a href="http://bloodsweatand.net/blogentry.aspx?entryid=25">It&apos;s folks with &#8220;good ideas&#8221; like this which is why there is so much bad code out there</a>.<br />
<lj-cut text="Point by point"></p>
<p><em>(1) Keep youre[sic] code on the same level of indentation as much as possible.</em></p>
<p>Indenting is cheap, easy and helps you discern what code is in what blocks. Additionally, any decent modern editor will automatically indent for you, invalidating the crybaby point of it &#8220;required me to push the tab button four times&#8221;. Finally, the removal of bracing and multiple returns are the two big &#8220;thou shalt nots&#8221; of writing maintainable code. Why? Well, considering:</p>
<pre>
    if (foo)
        bar=3;
</pre>
<p>One then adds:</p>
<pre>
    if (foo)
        bar=3;
        baz=4;
</pre>
<p>And wonders why it doesn&apos;t run. The indenting is to the right level. But, crap, no braces. So:</p>
<p><strong>When writing a conditional, always include the braces</strong></p>
<p>Further, a variant on the second example:</p>
<pre>
    if(foo == bar)
    {
        return foo;
    }

    return quux;
</pre>
<p>Let&apos;s say you add a file close or db cleanup in there</p>
<pre>
    if(foo == bar)
    {
        close(file);
        return foo;
    }

    close(file);
    return quux;
</pre>
<p>And, then say, you add another thing:</p>
<pre>
    if(foo == bar)
    {
        close(file);
        return foo;
    }
    else
    {
        return baz;
    }

    close(file);
    return quux;
</pre>
<p>Congrats &#8211; you just left the file open.</p>
<p>So, another axiom:</p>
<p><strong>There will be one and only one return statement.</strong></p>
<p>Now, of course, the examples above are short &#8211; imagine if each of those conditionals was 80 lines long.</p>
<p><em>(2) Make sure that youre[sic] code describes itself.</em></p>
<p>Actually, I have very little problem with this, aside from the fact that the function may or may not be too specific, but is more likely just poorly named. Something like &#8220;AddYesterdaysTransactionsToList()&#8221; would likely be just as descriptive, but much shorter.</p>
<p><em>(3) Write good comments when necessary, but only then.</em></p>
<p>Actually, you want to write lots of comments, preferably in some variety of format which can be read by Doxygen, JavaDoc, nDoc, Sandcastle or similar. In this way, you have very nice documentation which you can use internally, and/or show to clients, auditors, etc. At a minimum, each function should have listed:</p>
<ul>
<li>What the function does.</li>
<li>A list of arguments, including their type and how they are passed (by reference, pointers, in/out, etc&#8230; depends on the language)</li>
<li>Function return values</li>
</ul>
<p><strike>In addition, aside from failing at code, they apparently fail at English (or, at least, choosing the proper version of &#8220;your&#8221;).</strike><br />
<strong>Edit:</strong> Apologies. He is not a native English speaker. Considering that, his English is quite good.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattcaron.net/2009/02/23/nein-bad-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You&apos;ve got to be f-ing kidding me.</title>
		<link>http://www.mattcaron.net/2009/02/22/youve-got-to-be-f-ing-kidding-me/</link>
		<comments>http://www.mattcaron.net/2009/02/22/youve-got-to-be-f-ing-kidding-me/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 01:31:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[LJ Import]]></category>

		<guid isPermaLink="false">http://mattcaron.localhost/2009/02/22/youve-got-to-be-f-ing-kidding-me/</guid>
		<description><![CDATA[
Bill to prohibit cursing in public. Slightly absurd.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.scstatehouse.gov/sess118_2009-2010/bills/56.htm">Bill to prohibit cursing in public.</a> Slightly absurd.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattcaron.net/2009/02/22/youve-got-to-be-f-ing-kidding-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dollhouse</title>
		<link>http://www.mattcaron.net/2009/02/22/dollhouse/</link>
		<comments>http://www.mattcaron.net/2009/02/22/dollhouse/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 01:20:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[LJ Import]]></category>

		<guid isPermaLink="false">http://mattcaron.localhost/2009/02/22/dollhouse/</guid>
		<description><![CDATA[
So, a show about meat puppets is interesting and all, but if this gets more episodes than Firefly, I&apos;m going to be pissed. It&apos;s a good show and worth watching, but I like the first couple episodes of Firefly better so far. I do like the &#8220;will be back in 60 seconds&#8221;, &#8220;will be back [...]
]]></description>
			<content:encoded><![CDATA[<p>So, a show about meat puppets is interesting and all, but if this gets more episodes than Firefly, I&apos;m going to be pissed. It&apos;s a good show and worth watching, but I like the first couple episodes of Firefly better so far.</p>
<p>I do like the &#8220;will be back in 60 seconds&#8221;, &#8220;will be back in 90 seconds&#8221; stuff though &#8211; lets us know how many times to hit the skip button on the TiVo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattcaron.net/2009/02/22/dollhouse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customer service &#8211; ur doin it right</title>
		<link>http://www.mattcaron.net/2009/02/22/customer-service-ur-doin-it-right/</link>
		<comments>http://www.mattcaron.net/2009/02/22/customer-service-ur-doin-it-right/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 00:59:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[LJ Import]]></category>

		<guid isPermaLink="false">http://mattcaron.localhost/2009/02/22/customer-service-ur-doin-it-right/</guid>
		<description><![CDATA[
I know that folks (including myself) like to complain about poor customer service and bad products. However, I&apos;d like to turn that around, and talk about some good companies and good products. First, I&apos;m a bit of a battery and flashlight whore, and I&apos;ve ordered a lot from BatteryJunction, and not had a problem until [...]
]]></description>
			<content:encoded><![CDATA[<p>I know that folks (including myself) like to complain about poor customer service and bad products. However, I&apos;d like to turn that around, and talk about some good companies and good products.<br />
<lj-cut text="cut for length"></p>
<p>First, I&apos;m a bit of a battery and flashlight whore, and I&apos;ve ordered a lot from <a href="http://www.batteryjunction.com/">BatteryJunction</a>, and not had a problem until recently &#8211; the AC adapter for my recently ordered <a href="http://www.batteryjunction.com/8800.html">Titanium 8 bay NiMH battery charger</a> died after two days. I try the DC adapter in the car to make sure it isn&apos;t the unit, and it works just fine. So, it&apos;s the adapter. I send them an email asking them what I should do for warranty service and describing what I&apos;ve done. Result? The next business day, I get an email that a warranty replacement pack has been shipped to me. No fuss, no muss, no hassle.</p>
<p>Second up is <a href="http://www.indiepressrevolution.com/">Indie Press Revolution</a>. Now, none of these issues affected me personally, but they still sent out an email apologizing for the issues where they didn&apos;t get shipped some books in as timely a fashion as they were supposed to, and they were having problems with their SSL cert. They were straight up about it, and told folks what was going on.</p>
<p>Now, in the &#8220;good products&#8221; category:<br />
- I recently picked up some skins from <a href="http://www.istyles.com/">iStyles</a>. Good selection, quality skins.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattcaron.net/2009/02/22/customer-service-ur-doin-it-right/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Singularity</title>
		<link>http://www.mattcaron.net/2009/02/22/singularity/</link>
		<comments>http://www.mattcaron.net/2009/02/22/singularity/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 23:00:00 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[LJ Import]]></category>

		<guid isPermaLink="false">http://mattcaron.localhost/2009/02/22/singularity/</guid>
		<description><![CDATA[
I recently finished the podiobook of Singularity. The story, overall, is very good. I like the science and political intrigue aspects of it, and while someone with more physics than I would likely find fault with the science, it worked for me. This is likely the result of him actually talking with physicists about the [...]
]]></description>
			<content:encoded><![CDATA[<p>I recently finished the <a href="http://podiobooks.com/title/singularity">podiobook</a> of <a href="http://www.singularitythebook.com/thebooks/singularity/">Singularity</a>.<br />
<lj-cut text="review, commentary and criticism follows"><br />
The story, overall, is very good. I like the science and political intrigue aspects of it, and while someone with more physics than I would likely find fault with the science, it worked for me. This is likely the result of him actually talking with physicists about the subject of the book and, if I remember correctly, having several professors at MIT read the draft manuscript and comment on it.</p>
<p>I do wish, however, that he had not fallen into the same traps as so many authors regarding such mundane things as computers and firearms &#8211; especially since Mr. DeSmedt&apos;s <a href="http://www.singularitythebook.com/aboutbill/biography.html">biography</a> reveals him to have been a &#8220;computer programmer and system designer&#8221; at some point in his career.</p>
<p>Specifically:</p>
<ul>
<li>Firearms:
<ol>
<li>Reference is made to &#8220;the smell of cordite&#8221;. <a href="http://en.wikipedia.org/wiki/Cordite">Cordite is obsolete and is no longer used in modern ammunition</a>.</li>
<li>Glocks don&apos;t go click on an empty chamber. When empty, the slide will lock back. So, Marianna would know she was empty.</li>
</ol>
</li>
<li>Computers:
<ol>
<li>The hacker Mycroft talks about how good his worm is in that it doesn&apos;t do naughty things like delete files and get itself noticed &#8211; it just phones home every 10 minutes seeing if it is needed. Guess what? <strong>That&apos;s supicious!</strong>. If you&apos;re a secret government agency, I&apos;d hope that your border firewalls check outgoing connections and look for things like that.</li>
<li>The worm also installs a telnet server, as evidenced by the target&apos;s desktop showing up on Mycroft&apos;s screen. Yeah, except telnet doesn&apos;t work that way, nor is it encrypted. SSH would have been a much better choice here.</li>
<li>(This is probably a more general question about literature) Why do all of these reclusive hackers not have any guns? I mean, if I lived in the hills of North Carolina, one of my pasttimes would likely be shooting things. This is the same issue as when Bruce Willis and the Mac guy land on Kevin Smith&apos;s front yard in Die Hard 4 &#8211; dude has a generator and a ham radio, but no guns? WTF?</li>
</ol>
</ul>
<p>Those criticisms aside, as I said, I actually did like the book &#8211; enough so that I named my netbook Mycroft, following my tradition of naming computers after hackers in literature, as well as donating some money through podiobooks (I look at it as &#8220;I would have bought the book, and want to support the author, but don&apos;t feel the need to buy a book I&apos;ve already listened to on the iPod&#8221;) and subscribed to <a href="http://podiobooks.com/title/doctor-jacks-soapbox-seminars">Doctor Jack&apos;s Soapbox Seminars</a>, a collection of physics related talks from the real life counterpart of the character in Mr. DeSmedt&apos;s book.</p>
<p>I also notice that Mr. DeSmedt lives in PA. If you happen to be a wargamer, and happen to be attending Cold Wars this year, and happen to read this blog entry, drop me an email (email address is in my user info) &#8211; I usually bring enough beer to share.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mattcaron.net/2009/02/22/singularity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

