<?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>kallewoof.com &#187; Geeky</title>
	<atom:link href="http://kallewoof.com/tag/geeky/feed/" rel="self" type="application/rss+xml" />
	<link>http://kallewoof.com</link>
	<description>privacy, democracy, and software</description>
	<lastBuildDate>Wed, 17 Aug 2011 19:34:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>iPhone Personal Hotspot</title>
		<link>http://kallewoof.com/2011/03/07/iphone-personal-hotspot/</link>
		<comments>http://kallewoof.com/2011/03/07/iphone-personal-hotspot/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 12:50:49 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Awesome]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Future]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=555</guid>
		<description><![CDATA[The next version of iOS (iPhone OS), 4.3, features a thing that android phones have had for awhile now (and jailbroken iPhones) &#8212; Personal Hotspot. I.e. the ability to set up a WiFi station on your iPhone and surf the &#8230; <a href="http://kallewoof.com/2011/03/07/iphone-personal-hotspot/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The next version of iOS (iPhone OS), 4.3, features a thing that android phones have had for awhile now (and jailbroken iPhones) &#8212; Personal Hotspot. I.e. the ability to set up a WiFi station on your iPhone and surf the net from a computer or such.</p>
<p>A few hours ago, my network at home went down so I found a use for that personal hotspot feature sooner than I&#8217;d imagined (I got the beta of the iOS release as a developer). It&#8217;s&#8230; fast. I&#8217;m actually not noticing a difference in the speed web pages are loading. And me and my wife are both using my iPhone 4 to surf.</p>
<p>The battery is plummeting though but I&#8217;m in the house after all. Just need to plug it in, but was interested in seeing just how much pressure this&#8217;d put on the little thing.</p>
<p>Still, way cool.</p>
<p><a href="http://kallewoof.com/wp-content/uploads/2011/03/personalhotspot.jpg"><img class="alignnone size-full wp-image-558" title="personalhotspot" src="http://kallewoof.com/wp-content/uploads/2011/03/personalhotspot.jpg" alt="" width="640" height="960" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2011/03/07/iphone-personal-hotspot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>There now, let&#8217;s not be completely fucking retarded.</title>
		<link>http://kallewoof.com/2010/07/08/there-now-lets-not-be-completely-fucking-retarded/</link>
		<comments>http://kallewoof.com/2010/07/08/there-now-lets-not-be-completely-fucking-retarded/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 18:35:41 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Retarded]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Stupid]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=489</guid>
		<description><![CDATA[Kalle-Alms-MacBook-Pro:trunk me$ svn st ? build ? universe.orig ? scratchpad.rtf M asynchro.xcodeproj/user.perspectivev3 M asynchro.xcodeproj/project.pbxproj M asynchro.xcodeproj/user.pbxuser ? Classes/multilineTableViewController.h ? Classes/multilineTableViewController.m M Classes/gridreaderViewController.h M Classes/gridreaderViewController.m M Classes/mgXMLWorld.h M Classes/mgXMLWorld.m ! Classes/MultilineTableViewController.h ! Classes/MultilineTableViewController.m ? tavern/world.xml ? universe/uni.jpg-files M asynchro-Info.plist ? examples/stiles &#8230; <a href="http://kallewoof.com/2010/07/08/there-now-lets-not-be-completely-fucking-retarded/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<pre>
Kalle-Alms-MacBook-Pro:trunk me$ svn st
?       build
?       universe.orig
?       scratchpad.rtf
M       asynchro.xcodeproj/user.perspectivev3
M       asynchro.xcodeproj/project.pbxproj
M       asynchro.xcodeproj/user.pbxuser
?       Classes/multilineTableViewController.h
?       Classes/multilineTableViewController.m
M       Classes/gridreaderViewController.h
M       Classes/gridreaderViewController.m
M       Classes/mgXMLWorld.h
M       Classes/mgXMLWorld.m
!       Classes/MultilineTableViewController.h
!       Classes/MultilineTableViewController.m
?       tavern/world.xml
?       universe/uni.jpg-files
M       asynchro-Info.plist
?       examples/stiles
</pre>
<p>Oh, right, I renamed that &#8220;MultilineTableViewController&#8221; to &#8220;multilineTableViewController&#8221; (lowercase M) because everything else has lower-case-initial-letter.</p>
<pre>
Kalle-Alms-MacBook-Pro:trunk me$ svn rm Classes/MultilineTableViewController.h
D         Classes/MultilineTableViewController.h
Kalle-Alms-MacBook-Pro:trunk me$ svn rm Classes/MultilineTableViewController.m
D         Classes/MultilineTableViewController.m
</pre>
<p>Great! Let&#8217;s add the new lower-case one to SVN now while at it&#8230;</p>
<pre>
Kalle-Alms-MacBook-Pro:trunk me$ svn add Classes/mult*tab**tab**tab**beep**beep*
</pre>
<p>Hm?</p>
<pre>
Kalle-Alms-MacBook-Pro:trunk me$ svn add Classes/*tab**tab*
.DS_Store                     gridreaderViewController.h    mgImageSourceRequest.m        mgScrollView.m                muddyGrid.m
.svn/                         gridreaderViewController.m    mgImageView.h                 mgWindow.h                    tile.h
UIImage+Scaling.h             gridreaderViewController.xib  mgImageView.m                 mgWindow.m                    tile.m
UIImage+Scaling.m             mg2DTileSet.h                 mgMinimap.h                   mgXMLParser.h                 worldViewController.h
fileIO.h                      mg2DTileSet.m                 mgMinimap.m                   mgXMLParser.m                 worldViewController.m
fileIO.m                      mgImageSource.h               mgMinimapButton.h             mgXMLWorld.h
gridreaderAppDelegate.h       mgImageSource.m               mgMinimapButton.m             mgXMLWorld.m
gridreaderAppDelegate.m       mgImageSourceRequest.h        mgScrollView.h                muddyGrid.h
</pre>
<p>Wait.</p>
<p>Where&#8217;s my class&#8230;?</p>
<p>Turns out SVN fucktardedly presumed &#8220;oh im shure he ment delt da fl thats lcase here insted lolstfucoksknmfur&#8221;. Luckily I had the files in memory.</p>
<p>The wonderful adventure continues.</p>
<pre>
svn: Failed to add file 'foo/Doc-credits.png': an unversioned file of the same name already exists
Kalle-Alms-MacBook-Pro:iphone me$ rm foo/Doc-Credits.png
Kalle-Alms-MacBook-Pro:iphone me$ svn up
Restored 'foo/Doc-Credits.png'
svn: Failed to add file 'foo/Doc-credits.png': an unversioned file of the same name already exists
Kalle-Alms-MacBook-Pro:iphone me$ masturbate furiously
-bash: masturbate: command not found
</pre>
<p>This time, the file Doc-Credits.png exists and the file Doc-credits.png needs to be added.</p>
<p>For the record, Mac OS X is at fault here &#8212; Apple decided to &#8220;be compatible&#8221; with Windows and not allow filenames of the same size with different capitalization, which *NIX does allow. </p>
<p>That doesn&#8217;t make SVN any less retarded though. After all, it&#8217;s running on the OS, so it should know the OS.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/07/08/there-now-lets-not-be-completely-fucking-retarded/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Organisms and software. And space travel!</title>
		<link>http://kallewoof.com/2010/05/06/organisms-and-software-and-space-travel/</link>
		<comments>http://kallewoof.com/2010/05/06/organisms-and-software-and-space-travel/#comments</comments>
		<pubDate>Thu, 06 May 2010 12:11:23 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Evolution]]></category>
		<category><![CDATA[Future]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Space]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=455</guid>
		<description><![CDATA[Earlier today I saw two unrelated posts that somehow lead back to human engineering being compared to evolutionary engineering. The first one is a slightly naïve (but nonetheless interesting) post on Discover Magazine called &#8220;Linux versus E. coli&#8221; which brings &#8230; <a href="http://kallewoof.com/2010/05/06/organisms-and-software-and-space-travel/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Earlier today I saw two unrelated posts that somehow lead back to human engineering being compared to evolutionary engineering. The first one is a slightly naïve (but nonetheless interesting) post on Discover Magazine called &#8220;<a href="http://blogs.discovermagazine.com/loom/2010/05/03/linux-versus-e-coli/">Linux versus E. coli</a>&#8221; which brings up research made at Yale, which compares how Linux evolved to how E. coli evolved*, and another completely unrelated post by Cory Doctorow on Locus Online Perspective, where he <a href="http://www.locusmag.com/Perspectives/2010/05/cory-doctorow-persistence-pays-parasites/">talks about being the victim of a phising attack</a>, despite technical competence and general wariness online. In his post, Doctorow draws the correlation between human engineered networks (internet) and evolutionary engineered networks (the human body) and mentions how parasites infect each in strikingly similar ways.</p>
<p>It reminds me of a talk at the Voices that Matter conference last month in Seattle, where Erik Buch talked about MVC, but also about his experience in the Aerospace software development field, where bugs <em>must not be</em>, and how the development strategies for this field differ greatly from those of e.g. games, where a crash will lead to a pouty kid or a drop in sales, at worst, rather than burning, stinking bodies splattered against the ground around a crashed airplane.</p>
<p>If you think about it, traveling thousands of feet up in the air across the globe is a rather extreme thing to be doing, if you don&#8217;t have wings to keep you up there, but we do it all the time. We&#8217;re at the verge of taking that step into space (which in some ways is less extreme than air travel), and I can&#8217;t help thinking what evolution can teach us about maintaining autonomous bodies with up-times that average 70-80 years (i.e. us humans).</p>
<p>In software development, we oftentimes streamline and optimize by ripping stuff out and &#8220;sharpening&#8221; the software to where it does everything it should with as little code as possible in as little time as possible, but nature doesn&#8217;t really think this way. Sometimes nature does the obviously taboo thing in software engineering, namely copy-pasting functionality around. It&#8217;s like a merging of the philosophies behind <a href="http://en.wikipedia.org/wiki/RAID">RAID</a> and the philosophies behind optimized code. With millions of years of experience, our Great Programming Mother has made some very curious design choices, and all of them have been extensively unit tested and thought through by changing fractions of the code, testing it extensively, discarding failures, and keeping successes. Very similar to how software developers write code, just infinitely more thorough, and over a much greater span of time.</p>
<p>Nature takes things into account at a far greater scope than we do. For example, let&#8217;s say we have code in an automatic sliding door. The code does 4 things: it detects movement on either side (A), it opens the door (B), it waits (C), and it closes the door (D).</p>
<ul>
<li>For this code, we have 2 sensors (one on each side of the door) for motion. We code these sensors to call up &#8220;B&#8221; (open door) whenever we detect movement.</li>
<li>We code up &#8220;B&#8221; to open the doors wide. When &#8220;B&#8221; is done opening the doors, &#8220;B&#8221; then calls up &#8220;C&#8221; (wait).</li>
<li>We write &#8220;C&#8221; to wait for X amount of seconds and then to call up &#8220;D&#8221; (close the door).</li>
<li>We finally code up &#8220;D&#8221; to close the doors.</li>
</ul>
<p>When we try our door, with the wait time set to 3 seconds, we realize pretty quickly that if two people walk through the doors with only a few seconds in between, person #2 will almost get the door in their face, so we tweak our code a little.</p>
<ul>
<li>In &#8220;B&#8221;, we open the doors if they&#8217;re not open already. If they are open already, we call up the new &#8220;E&#8221;.</li>
<li>&#8220;E&#8221; we code up to reset the timer in &#8220;C&#8221;. Thus, every time someone triggers the motion sensor on either side of the door, the 3 second timer is reset.</li>
</ul>
<p>And there we have a human engineered sliding door in operation. Now there&#8217;s one very distinct thing we&#8217;re doing here that nature oftentimes does differently: we presume that it works.</p>
<p>A lot of code that we write, we write with the following notion in mind: <em>I have to take every scenario into consideration, and have to account for every possible thing that could happen, and to deal with that in a good way in my attempt to perform &#8220;</em><strong>X</strong>&#8220;<em>.</em></p>
<p>But nature&#8217;s code works on a different methodology &#8212; it goes something like this: <em>I am trying to do </em>&#8220;<strong>X</strong>&#8220;<em>, and it might fail or it might succeed.</em></p>
<p>Nature works based on a fire-and-forget philosophy, where the reaction to situations is much more &#8220;lazy&#8221;, while being infinitely more flexible. The downside to nature&#8217;s approach <em>is</em> redundancy. Nature copy-pastes code all over the place because it <em>has</em> to. It has to double- and triple- and quadruple-check to see what&#8217;s going on, because it discards the idea of guarantees of success.</p>
<p>In the above sliding door code, nature would have most likely made a lot of different choices on the implementation. Fewer presumptions on what works and what doesn&#8217;t, and more redundancy to cover up for potential failures. </p>
<p>In regular software engineering (not the aerospace software kind), the place where our code looks the most similar to nature&#8217;s code is in initialization routines. Take for example this very simple example, where the sound card, graphics card, joystick and keyboard modules are initialized for a game system &#8212; emphasis on the concept, not on the (bad) code example:</p>
<pre>
int error_code;
error_code = sound_init();
if (error_code != ERR_NONE) {
  alert_user("Sound initialization failed! Check your sound card settings. Sound has been disabled. (internal error code = %d)", error_code);
  sound_enabled = false;
}

error_code = gfx_init(true); // true for hardware accelerated graphics
if (error_code != ERR_NONE) {
  alert_user("Graphics initialization failed! Check your graphics card settings. Software rendering enabled. (internal error code = %d)", error_code);
  error_code = gfx_init(false); // false for software renderer
  if (error_code != ERR_NONE) {
    alert_user_and_exit("Graphics initialization failed, again! We can't even do software rendering. Aborting! (internal error code = %d)", error_code);
  }
}

int use_keyboard = true;
if (setting_use_joystick) {
  use_keyboard = false;
  error_code = js_init();
  if (error_code != ERR_NONE) {
    // fall-back to keyboard
    use_keyboard = true;
  }
}

if (use_keyboard) {
  error_code = kbd_init();
  if (error_code != ERR_NONE) {
    alert_user_and_exit("<code>Keyboard initialization failed! (internal error code = %d)", </code><code>error_code);
  }
}
</pre>
<p>The above code is relatively robust. It doesn't presume that something is going to work, and it tries to deal with the situation if it doesn't. It disables sound if the sound card can't be initialized, it tries to fall back to software rendering if the hardware accelerated rendering fails to initialize, and it falls back to the keyboard if the joystick (is enabled and) fails to initialize. It pukes at the user only if the graphics or keyboard can't be initialized <em>at all</em>. This stands in stark contrast to especially low level code where the implementation simply cannot afford to do a bunch of fail checking. The lower we step in the hierarchy of code, the further towards hardware modules we sink, we find that the flexibility decreases.</p>
<p>When your computer freezes up and the mouse just sits there on the screen no matter how much you wag the version on your desktop around, that's when someting went wrong down below. Imagine for a moment what would happen if this was a biological machine that just "froze". The closest similarity we can find is when we're knocked over the head and everything goes black and we go unconscious. We might compare it to a kind of "reboot". Though I think a closer comparison is heart failure. If a heart failed as easily as a computer freezes up, we'd all be dead by now.</p>
<p>And that's kind of the point. A heart won't just fail like that. The ultra-low components of our body aren't made to do-or-die. They're made to do their best, always, and nothing but, and to make the best of the situation always. Unfortunately, writing code that "does its best and makes the best of the situation" is hard, to put it mildly.</p>
<p>Which brings us back to aerospace software and space travel, because aerospace software, software for a space ship and nature all have one thing in common: they mustn't fail, ever. If Microsoft Windows imploded on board a space ship, the pilot couldn't just put in the CD and reinstall. If somewhere in the system, there was a bug that caused trouble, it shouldn't wreak havoc throughout the ship's system.</p>
<p>A <em>bug</em> is a stupid little <em>insect</em>**. They <em>just cause an itch</em>. An insect doesn't knock you unconscious or cause your heart to fail.</p>
<p>The good news is, this isn't new and groundbreaking stuff. Erik Buch stated that to date, not <em>one single person</em> has ever died from software failure on an airplane. I'm not sure the same can be said about space ships though... quite a number of them have spontaneously exploded at launch, and I'm not sure they know exactly what caused the disaster in each of those cases. I just know that if you find yourself on a space ship several years worth of travel away from Earth, and something goes wrong, you can't likely call home and ask for a helping hand. I think it's also safe to say that without computers and software to automate things, we'll never be able to go into space without a dedicated education on our belts, and as such, we will be relying more intimately on computers than ever once we go "out there".</p>
<p>Which I kind of hope is pretty soon.</p>
<p>---</p>
<p>(* and while the research generally concludes that "the two are more or less completely different," trackbacks on the comments section read "How the Linux Operating System Is Like the E. Coli Virus". Sometimes people are more interested in talking about what is being talked about than getting their facts straight)</p>
<p>(** aside from a few dangerous ones!)</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/05/06/organisms-and-software-and-space-travel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>San Francisco, San Jose, 360iDev, iPadDevCamp, etc.</title>
		<link>http://kallewoof.com/2010/04/21/san-francisco-san-jose-360idev-ipaddevcamp-etc/</link>
		<comments>http://kallewoof.com/2010/04/21/san-francisco-san-jose-360idev-ipaddevcamp-etc/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 22:40:39 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[360iDev]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPadDevCamp]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=425</guid>
		<description><![CDATA[I&#8217;ve been spending the last week or two absorbing information at a pace I&#8217;m very much not used to. 360iDev was very informative. Sort of like an ultra-condensed university course without obligatory courses. A lot of really cool people were &#8230; <a href="http://kallewoof.com/2010/04/21/san-francisco-san-jose-360idev-ipaddevcamp-etc/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been spending the last week or two absorbing information at a pace I&#8217;m very much not used to. 360iDev was very informative. Sort of like an ultra-condensed university course without obligatory courses. A lot of really cool people were there (if you sift through all the self-important blobs of goo that were scattered throughout those actually cool people), and I&#8217;m looking forward to meeting them again, if the opportunity presents itself.</p>
<p>Kendall Gelner, Noel Llopis, and many other hugely talented but yet pleasant to be around folks were inspiring.</p>
<p>Only thing I regret about the thing was eating those veggie burritos. Man they were grody.</p>
<p>iPadDevCamp was a super-intensive &#8220;hack something together a-zap and present it two days later&#8221; thing. Actually it was roughly 1 whole day of working, with only a few hours on the Friday eve and Sunday morning to do last minute fixes. I ended up with a group of 4 others doing a &#8216;multi-device game&#8217; called (eventually) Tank or Die. The idea was to be able to add iPhones as game controllers and iPads as playing fields in this &#8216;control the tank and try to shoot the other tanks&#8217;. There were 3 developers (4 even) and one graphics designer. Everyone decided to start working on things on Friday, but due to transportation issues, I couldn&#8217;t actually join them until Saturday. My task ended up being the connectivity between iPads (the playing fields) and I just didn&#8217;t have enough time to figure out how to get it all working in time for the demo, so when we won &#8220;best game&#8221; award, I felt a bit like a cheater when I took that wireless keyboard from the prize pile.</p>
<p>Was a learning experience though, and I don&#8217;t regret participating. It&#8217;s a very nice feeling when you are convinced that &#8220;if I were tasked to do this with the things I know today, I would have succeeded&#8221;, and I am.</p>
<p>Now I&#8217;m going to be doing some work and relax until Friday, when I go up to Seattle for the last conference in my &#8220;conference tour&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/04/21/san-francisco-san-jose-360idev-ipaddevcamp-etc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I was just getting settled in.</title>
		<link>http://kallewoof.com/2010/04/09/i-was-just-getting-settled-in/</link>
		<comments>http://kallewoof.com/2010/04/09/i-was-just-getting-settled-in/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 15:07:28 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[360iDev]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPadDevCamp]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Studies]]></category>
		<category><![CDATA[VoicesThatMatter]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=411</guid>
		<description><![CDATA[I came back to Sweden December 25th last year, so it&#8217;s been a couple of months. Almost half a year, actually. Time flies for sure. I still haven&#8217;t quite gotten used to things &#8212; or maybe it is that I &#8230; <a href="http://kallewoof.com/2010/04/09/i-was-just-getting-settled-in/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I came back to Sweden December 25th last year, so it&#8217;s been a couple of months. Almost half a year, actually. Time flies for sure.</p>
<p>I still haven&#8217;t quite gotten used to things &#8212; or maybe it is that I won&#8217;t see things the same way I did before, I&#8217;m not sure &#8212; but in two days, I&#8217;m off to the United States to attend three conferences related to the iPhone and iPad:</p>
<ul>
<li><a href="http://www.360idev.com/">360iDev</a> in San Jose, Apr. 11-14.</li>
<li><a href="http://www.iphonedevcamp.org/">iPadDevCamp</a> in the same place (same building even, it seems), Apr 16-18.</li>
<li><a href="http://www.voicesthatmatter.com/iphone2010/">Voices That Matter iPhone dev conference</a>, in Seattle, Apr. 24-25.</li>
</ul>
<p>If anyone else is attending either of the above, or if you&#8217;re simply in the area, feel free to let me know and we can grab a beer/coffee/whatever.</p>
<p>Going to be an interesting ride, though I&#8217;m not looking forward to the flights. I&#8217;ll be in an airplane first 9 hours, and then another 6 hours and, apparently, I&#8217;ll be sitting in Newark for 5 hours waiting for plane #2. I have no idea how I missed that when I booked the ticket but can&#8217;t be helped now &#8212; but yes, 20 hours of &#8220;traveling&#8221;. My trip to Japan (where I was stuck in Istanbul for EIGHT hours) is the only trip that beats this one. I think that one totaled at 24 hours or something.</p>
<p>Anyway, looking forward to it all. Now it&#8217;s just a matter of packing and getting mentally prepared for the intense few weeks ahead.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/04/09/i-was-just-getting-settled-in/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Three.</title>
		<link>http://kallewoof.com/2010/02/19/three/</link>
		<comments>http://kallewoof.com/2010/02/19/three/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 14:52:21 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Democracy]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=392</guid>
		<description><![CDATA[To most people, there are two options out there when it comes to computers &#8212; Windows or Mac OS. The former is cheaper (in the sense that its hardware is cheaper) but stable as nitroglycerin (improving, but I&#8217;ve yet to &#8230; <a href="http://kallewoof.com/2010/02/19/three/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>To most people, there are two options out there when it comes to computers &#8212; Windows or Mac OS. The former is cheaper (in the sense that its hardware is cheaper) but stable as nitroglycerin (improving, but I&#8217;ve yet to meet a Windows user who doesn&#8217;t regularly reinstall Windows and/or suffer from crashes or failures sporadically). The latter is more expensive, tightly controlled, but prettier. And more stable. And unless you&#8217;re a gamer, or simply used to the former, there&#8217;s really no reason to go with anything else, unless you treasure money over convenience. Then to some of us there is also linux, the open source alternative. It&#8217;s great, unless you want to play games on it, in which case it blows monkey brains.</p>
<p>Personally I&#8217;m the monkey brain blowing type, and I know how bad that sounds. I used MS-DOS and then migrated, unwillingly, to Windows, and from there I bounced back and forth between linux, which was a reeking pile of clusterfuck poured delicately over a yummy-looking pile of maggot-excrement and Windows. Still, linux did beat Windows even then, because Windows back then was about as useful as a web server made up of glued-together sheep wool and saw dust, with no ethernet port, and so finally linux is where I remained. Mac OS was like an unfathomable, lurking beast in the village marsh &#8212; I knew about it, I&#8217;d even seen it occasionally, touched it once or twice, but &#8230; as a kid I happened to like games, and Macs just didn&#8217;t have much of that back then.</p>
<p>This was back in the &#8217;90s though. Ten years later, I find myself running Ubuntu 9.10, released about 4 months ago, and it feels like I installed Windows 3.1 all over again. The new pulseaudio service that is supposed to handle what ALSA cannot, is filled with wagons after wagons filled to the brim with stinking diarrhea, stretching to the horizon and beyond, steadily and irrevocably being injected into my blood stream. It &#8211; literally &#8211; fucks &#8211; with &#8211; everything &#8211; I &#8211; do. It fucks with mplayer, it fucks with Firefox, it fucks with World of Warcraft, it fucks with Skype, it fucks with Ventrilo. It literally clusterfucks itself into fuckblivion, and it just keeps on fucking itself like a horny teenager on prom night. Pardon the French. It has, for some ungodly reason, a new input method handler (for non-alphabetic languages, like Japanese), which resulted in me having to help my fiancée rip it out and put the old one back in because the new one &#8212; you guessed it &#8212; sucked balls and worked nothing like what a Japanese person would expect.*</p>
<p>And then on the far, far other corner of the spectrum I am simultaneously using my new MacBook Pro and iPhone, learning the ropes of Xcode and reading up on iPhone development in general. It&#8217;s cool. It&#8217;s closed. Oh, so closed. It puts me, the soulless donkey, between two stacks of hay into which the disastrous organizational abilities of Open Source has peed in the one, and the detrimental-to-evolution, devastating-to-our-rights Apple has peed in the other. Neither pile looks very convincing right about now, but hunger is the greatest spice of all, or so they say.</p>
<p>A fellow developer sent me a coupon to get his game on my iPhone to test it out right before it was going to be shipped, and then I got &#8220;this coupon can only be redeemed on the US iPhone Store&#8221;. That was the first cultural shock that lead down the path of cultural shocks. To develop for the iPhone I actually have to buy an Apple Developer account for (at the cheapest) $99 a year. It&#8217;s unthinkable for an old <span style="text-decoration: line-through;">commie</span> linux user like myself that I&#8217;d actually have to pay money to help them make their product better, by adding content to it, but it&#8217;s Apple, and they are in their own playing field.</p>
<p>Actually, I was convinced a long time ago that the whole closed off, shut off, hold my ears and screw my rights deal was a failure, as proven by Microsoft time and time again, but seeing Apple now, today, was as big an eye-opener as was the first time I ever visited the (North American) South &#8212; I&#8217;d been convinced from childhood that religion was being phased out in the world, in favor of reason&#8230;</p>
<p>Ultimately, I&#8217;m conflicted. As I grow more accustomed to the antics of my MacBook (and indeed, to a non-Mac user, there are quite a few, like the unwillingness to maximize, for one), I grow impatient with the bullshit of my main desktop (linux) machine, I grow annoyed with the feeling of being chastised and told where to stand and what to do by my Mac, and if there&#8217;s one thing I&#8217;ve become more aware of, it&#8217;s my rights as a user. The iPhone and the upcoming iPad are clearly changing how we think about computers in general, and while half the crowd aren&#8217;t half as impressed as Apple wishes they were, there&#8217;s such a huge potential in these two devices alone that nothing will be what it used to be by the time they&#8217;re old news.</p>
<p>So Apple is the pioneer, and we&#8217;re dragged along. I&#8217;m excited and, ultimately, conflicted.</p>
<p>(* I&#8217;ve seen this before. I&#8217;ve been using linux for over 10 years. I&#8217;ve seen the pattern. It&#8217;s time to stop this retarded behavior, folks. You can&#8217;t throw something random into the distribution, release it and &#8220;hope for the best&#8221;, and then have it actually working better than its counterpart three years later. It&#8217;s not acceptable anymore. We&#8217;re better than this. But I saw it with Firefox, replacing Mozilla. I saw it with ALSA, replacing OSS. (Fuck, ALSA replacing OSS is even today a big clusterfuck of clusterfucks where people sacrifice baby maggots daily just to get their set up of game + team speak app of choice in place.) And I see it again, with pulseaudio and ibus.)</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/02/19/three/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>iPod, then iPhone, then&#8230; iPad&#8230;?</title>
		<link>http://kallewoof.com/2010/01/29/ipod-then-iphone-then-ipad/</link>
		<comments>http://kallewoof.com/2010/01/29/ipod-then-iphone-then-ipad/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 11:57:26 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Awesome]]></category>
		<category><![CDATA[Cute]]></category>
		<category><![CDATA[Future]]></category>
		<category><![CDATA[Geeky]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=386</guid>
		<description><![CDATA[So Apple announces the iPad &#8212; http://www.apple.com/ipad/ &#8212; I suggest you look at the video (not the keynote). I mean, seriously, I&#8217;ve been thinking for the last 10 years that the computers of the future will be exactly what that &#8230; <a href="http://kallewoof.com/2010/01/29/ipod-then-iphone-then-ipad/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So Apple announces the iPad &#8212; <a href="http://www.apple.com/ipad/">http://www.apple.com/ipad/</a> &#8212; I suggest you look at the video (not the keynote). I mean, seriously, I&#8217;ve been thinking for the last 10 years that the computers of the future will be exactly what that is, a super-thin touch screen that is big enough to be useful (i.e. not the iPhone) and light enough to not be troublesome when you&#8217;re out and about.</p>
<p>So um, what new revolutionary stuff has Microsoft been doing recently? Is it just me, or have they been awfully  quiet, lately?</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/01/29/ipod-then-iphone-then-ipad/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Funniest 404 errors ever.</title>
		<link>http://kallewoof.com/2008/10/01/funniest-404-errors-ever/</link>
		<comments>http://kallewoof.com/2008/10/01/funniest-404-errors-ever/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 03:35:59 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Geeky]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=230</guid>
		<description><![CDATA[So I was seeing if I could possibly figure out how to get some kind of notification from LiveJournal when someone posted a comment to one of the syndicated posts from this blog there. (I should just tag on Stace&#8217;s &#8230; <a href="http://kallewoof.com/2008/10/01/funniest-404-errors-ever/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So I was seeing if I could possibly figure out how to get some kind of notification from LiveJournal when someone posted a comment to one of the syndicated posts from this blog there. (I should just tag on Stace&#8217;s functionality and ditch the syndication and make WP double-post automagically, but eh.)</p>
<p>So I tried going to different pages, and as I typed in &#8220;http://kalleblog.livejournal.com/feed/&#8221; and hit enter, I was greeted with a 404 error. I hope the LJ team doesn&#8217;t mind me quoting it in its entirety. It&#8217;s hilarious:</p>
<blockquote>
<h1>Page Not Found</h1>
<p align="justify">I&#8217;m sorry, you&#8217;ve reached a page that I cannot find. I&#8217;m really sorry about this. It&#8217;s kind of embarassing. Here you are, the user, trying to get to a page on LiveJournal and I can&#8217;t even serve it to you. What does that say about me? I&#8217;m just a webserver. My sole purpose in life is to serve you webpages and I can&#8217;t even do that! I suck. Please don&#8217;t be mad, I&#8217;ll try harder. I promise! Who am I kidding? You&#8217;re probably all like, &#8220;Man, LiveJournal&#8217;s webserver sucks. It can&#8217;t even get me where I want to go.&#8221; I&#8217;m really sorry. Maybe it&#8217;s my CPU&#8230;no that&#8217;s ok&#8230;how bout my hard drives? Maybe. Where&#8217;s my admin? I can&#8217;t run self-diagnostics on myself. It&#8217;s so boring in this datacenter. It&#8217;s the same thing everyday. Oh man, I&#8217;m so lonely. I&#8217;m really sorry about rambling about myself, I&#8217;m selfish. I think I&#8217;m going to go cut my ethernet cables. I hope you get to the page you&#8217;re looking for&#8230;goodbye cruel world!</p>
<p align="right">-<em><strong>the webserver</strong></em></p>
<p>Error: could not find server</p></blockquote>
<p>What other funny 404 errors are out there? This one got me curious.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2008/10/01/funniest-404-errors-ever/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Brr&#8230;</title>
		<link>http://kallewoof.com/2008/09/27/brr/</link>
		<comments>http://kallewoof.com/2008/09/27/brr/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 11:40:58 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Japan]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Tourism]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=226</guid>
		<description><![CDATA[I&#8217;m freezing my ass off and it&#8217;s 20°C. This place has ruined my resistance to cold. (20°C = 68F)]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m freezing my ass off and it&#8217;s 20°C. This place has ruined my resistance to cold. <img src='http://kallewoof.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>(20°C = 68F)</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2008/09/27/brr/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.350 seconds -->

