<?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; Software</title>
	<atom:link href="http://kallewoof.com/tag/software/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.1</generator>
		<item>
		<title>Managed-by-Xcode provisioning profile that expired.</title>
		<link>http://kallewoof.com/2011/02/23/managed-by-xcode-provisioning-profile-that-expired/</link>
		<comments>http://kallewoof.com/2011/02/23/managed-by-xcode-provisioning-profile-that-expired/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 14:48:29 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Retarded]]></category>
		<category><![CDATA[Silly]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Stupid]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=550</guid>
		<description><![CDATA[Any iOS developer has learned to appreciate the cruelties and hardships of life the moment they begun trying to make sense of Apple&#8217;s &#8220;unique&#8221; provisioning profile system. In short, it blows donkey-brains. That said, here&#8217;s a bit of info for &#8230; <a href="http://kallewoof.com/2011/02/23/managed-by-xcode-provisioning-profile-that-expired/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Any iOS developer has learned to appreciate the cruelties and hardships of life the moment they begun trying to make sense of Apple&#8217;s &#8220;unique&#8221; provisioning profile system. In short, it blows donkey-brains. That said, here&#8217;s a bit of info for you in case you run into the following scenario:</p>
<p><strong>You are using a &#8220;Team Provisioning Profile&#8221; and it expired. </strong><strong>You went to renew and download it, and noted &#8220;Managed by Xcode&#8221; and the &#8220;Renew&#8221; button was grayed out.</strong></p>
<p>The solution: delete the profile from Organizer in Xcode, then at the top click &#8220;Refresh&#8221; (right by &#8220;Automatic Device Provisioning&#8221;). Organizer will fetch a new provisioning profile with a new expiration date.</p>
<p>Intuitive indeed.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2011/02/23/managed-by-xcode-provisioning-profile-that-expired/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Thanks for the privacy, Apple.</title>
		<link>http://kallewoof.com/2011/01/06/thanks-for-the-privacy-apple/</link>
		<comments>http://kallewoof.com/2011/01/06/thanks-for-the-privacy-apple/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 18:03:52 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Stupid]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Retarded]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=542</guid>
		<description><![CDATA[A few weeks ago I was in the laundry room doing, you guessed it, laundry. The machine had 5-6 minutes left so I decided to just sit and wait, while fiddling with my iPhone. Bored as I was, I typed &#8230; <a href="http://kallewoof.com/2011/01/06/thanks-for-the-privacy-apple/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago I was in the laundry room doing, you guessed it, laundry. The machine had 5-6 minutes left so I decided to just sit and wait, while fiddling with my iPhone.</p>
<p>Bored as I was, I typed in &#8220;sex&#8221; in the search and got a bunch of random looking results. I downloaded one, looked at it, noted (with no surprise) that it was retarded and then the machine beeped and I thought nothing more of it.</p>
<p>Fastforward a bit. Here you see me plugging my iPhone into my computer. It syncs.</p>
<p>Fastforward some more. Here you see me finding that app later. I delete it from the phone, thinking &#8220;phew, good thing I didn&#8217;t leave that around in case someone found it. How embarrasing.&#8221;</p>
<p>Fastforward again. Here I&#8217;m plugging the iPad into the computer. It syncs.</p>
<p>Fastforward a final time. Here&#8217;s my 12 year old niece playing, as she always does whenever she&#8217;s visiting, with my iPad.</p>
<p>And then later that day, I look at the first app page and what do I see? Yeah. iTunes synced that app in from my iPhone and out to my iPad. It&#8217;s a setting that I have control over, but geez, where are the privacy features on these bloody things? Where can I &#8220;hide&#8221; stuff I don&#8217;t want my 12 year old niece to stumble on?</p>
<p>Sigh. And now you guys know I downloaded a smut app. But the fact my 12 year old niece might have seen it is by far worse. Much, much worse. Ugh.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2011/01/06/thanks-for-the-privacy-apple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let me tell you all the ways &#8230;</title>
		<link>http://kallewoof.com/2010/07/26/let-me-tell-you-all-the-ways/</link>
		<comments>http://kallewoof.com/2010/07/26/let-me-tell-you-all-the-ways/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 16:23:44 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Retarded]]></category>
		<category><![CDATA[Stupid]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=504</guid>
		<description><![CDATA[&#8230; in which I hate you. 800 MBs of RAM. And you know what? I haven&#8217;t even used Flash since I started Chrome. So in the midst of Flash versus Apple (well, we&#8217;ve sort of blown past it, but anyway), &#8230; <a href="http://kallewoof.com/2010/07/26/let-me-tell-you-all-the-ways/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>&#8230; in which I hate you.</p>
<p><a href="http://kallewoof.com/wp-content/uploads/2010/07/flashfuckingsuckscocksuckingasshat.png"><img src="http://kallewoof.com/wp-content/uploads/2010/07/flashfuckingsuckscocksuckingasshat.png" alt="" title="flash..." width="799" height="600" class="alignnone size-full wp-image-505" /></a></p>
<p>800 MBs of RAM. And you know what? I haven&#8217;t even used Flash since I started Chrome.</p>
<p>So in the midst of Flash versus Apple (well, we&#8217;ve sort of blown past it, but anyway), let me just point something out here&#8230;</p>
<p>You blow.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/07/26/let-me-tell-you-all-the-ways/feed/</wfw:commentRss>
		<slash:comments>4</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>The equivalent of &#8216;toString&#8217; in Objective-C.</title>
		<link>http://kallewoof.com/2010/06/01/the-equivalent-of-tostring-in-objective-c/</link>
		<comments>http://kallewoof.com/2010/06/01/the-equivalent-of-tostring-in-objective-c/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 09:09:58 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iStar]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Snippets]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=482</guid>
		<description><![CDATA[If you&#8217;ve ever wondered if there&#8217;s a convenient way in Objective-C to write a function for &#8220;expressing&#8221; the value of an object of yours, as a string, just like &#8220;toString&#8221; in e.g. JavaScript (and Java? I think), I&#8217;ve got good &#8230; <a href="http://kallewoof.com/2010/06/01/the-equivalent-of-tostring-in-objective-c/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever wondered if there&#8217;s a convenient way in Objective-C to write a function for &#8220;expressing&#8221; the value of an object of yours, as a string, just like &#8220;toString&#8221; in e.g. JavaScript (and Java? I think), I&#8217;ve got good news:</p>
<blockquote><p><code>-(NSString *)description</code></p></blockquote>
<p>Add the above method to your Objective-C class and you&#8217;ll be able to NSLog it or get its string value anywhere using <code>[OBNAME description]</code>. In short, it will now respond with its &#8216;description&#8217; to &#8216;%@&#8217; in an NSString stringWithFormat expression.</p>
<p>Example:</p>
<pre>
@interface Person : NSObject {
  NSString *name;
  NSString *phone;
  NSInteger age;
}

-(NSString *)description;
[...]
-(NSString *)description
{
  return [NSString stringWithFormat:@"%@ (%d): %@",
        name, age, phone];
}
</pre>
<p>Then somewhere we have a Person object and we want to see its value.</p>
<pre>
NSLog(@"We've got %@", aPerson);
myLabel.text = [NSString stringWithFormat:@"Details: %@", aPerson];
</pre>
<p>(pardon any errors in code above &#8212; untested as is)</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/06/01/the-equivalent-of-tostring-in-objective-c/feed/</wfw:commentRss>
		<slash:comments>2</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>Redefining privacy.</title>
		<link>http://kallewoof.com/2010/05/03/redefining-privacy/</link>
		<comments>http://kallewoof.com/2010/05/03/redefining-privacy/#comments</comments>
		<pubDate>Mon, 03 May 2010 12:22:20 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Democracy]]></category>
		<category><![CDATA[Integrity]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[PrivacyWeek]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=433</guid>
		<description><![CDATA[It&#8217;s Choose Privacy Week, whatever that is (not even Wikipedia knows!). First time I&#8217;ve heard of it anyway, but 20K Films made a movie or two about it, and they say: &#8220;The first-ever Choose Privacy Week will take place May &#8230; <a href="http://kallewoof.com/2010/05/03/redefining-privacy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s <em>Choose Privacy Week</em>, whatever that is (not even Wikipedia knows!). First time I&#8217;ve heard of it anyway, but <a href="http://www.20kfilms.com/">20K Films</a> made <a href="http://vimeo.com/11399383">a movie</a> or <a href="http://vimeo.com/10998821">two</a> about it, and they say:</p>
<blockquote><p>&#8220;The first-ever Choose Privacy Week will take place May 2-8, 2010 and is a new program created by the American Library Association to help librarians organize events in their communities about the role that privacy plays in their lives, why privacy is important, and how their privacy can be compromised on a daily basis.&#8221;</p></blockquote>
<p>The movie is a treasure trove in defining the modern privacy and integrity problems that have been escalating for the last few decades in a well-rounded sort of way. I can&#8217;t help but feel that there&#8217;s an important piece of the puzzle missing though, and it&#8217;s only touched upon briefly at the very end of the video: that privacy is a changing and evolving concept, and that privacy is different, depending on the context.</p>
<p>When I was studying Japanese, there was a rather interesting passage we read in school regarding privacy. In essence, privacy was <em>not only</em> an unheard of concept in Japan back in the day, but it was in fact <em>detrimental </em>to the health of society at the time. <em>Not</em> knowing where Tanaka-san the fisherman had gone off to last night could very well lead to his demise, because the members of his village didn&#8217;t go look for him in the woods (maybe he&#8217;d broken a leg due to a bad fall or something).</p>
<p>While Japan today might seem like a very private place, and while people are far less inclined to tell you what they feel or think, the Japanese do not hold privacy very high &#8212; at least not digital privacy, or rights online. Every single click you make is scanned and compared and analyzed. I know this first-hand, because I was the subject of several threatening letters related to copyright infringement, and the crime which I supposedly committed did not become a law until the year <em>after</em> I left Japan. Summarily, the ISP kept tabs, not to obey the law, but to appease whatever company paid them to keep tabs on their users &#8212; <em>us</em>.</p>
<p>Think about that for a second. They <em>didn&#8217;t have to</em>. But they did.</p>
<p>A friend of mine, when he signed up for an internet service with an ISP in Osaka, was asked whether he wanted the &#8220;service&#8221; of the ISP being able to at any given time look at his monitor and see what he was doing. All he had to do was install this piece of software.</p>
<p>He declined. The representative was flabbergasted. So was my friend&#8217;s girlfriend. In the end, the girlfriend had to tell the guy, &#8220;I&#8217;m sorry, he&#8217;s Swedish, they&#8217;re like this,&#8221; to which he apparently gave an uncertain nod and nixed it from the list of &#8220;services&#8221;.</p>
<p>Alongside this event, my teacher in school brings up the subject of privacy and of school records of children, that these records are sold to corporations and that said corporations use them to market their products (&#8220;Your daughter turns 20 this year, right?&#8221; &#8211; &#8220;Yes she does, actually, why?&#8221; &#8211; &#8220;Have you gotten a kimono arranged for her yet? If not, our company specializes in coming-of-age ceremony kimonos and would be honored to help you out.&#8221; I believe was the (fake) scenario depicted in the school text). My teacher pointed out the horrors of this unjust behavior, and all the while, her computer at home can at the flip of a switch be monitored by her ISP &#8212; judging from that rep&#8217;s reaction, not a lot of people decline that wonderful offer.</p>
<p>Privacy in a small village is not the same as privacy in a metropolitan city, nor does it work the same. Privacy in Japan is obviously not the same as privacy in Sweden. Privacy for a 15-year old isn&#8217;t the same as privacy for a 50-year old. It&#8217;s being redefined beneath our feet, and <em>re</em>fined to fit niches and groups on a more precise and specific level.</p>
<p>In the Choose Privacy Week movie, a lot is being said about one&#8217;s actions online being permanent &#8212; no matter how many delete keys you press, once you&#8217;ve hit &#8220;send&#8221; on that email, or that forum post, or even blog post, you&#8217;re stuck with that information online, spreading completely outside of your control, which, unless you happen to be a marketing firm, can be a rather painful and destructive thing to have happen. Posting your age or phone number or interests on Facebook will inevitably mean that said information is processed and turned into a package deal that is sold to whoever pays enough.</p>
<blockquote><p>&#8220;Why do free social networks tilt inevitably toward user exploitation? Because you&#8217;re not their customer, you&#8217;re their product.&#8221;<br />
&#8211; <a href="http://twitter.com/librarythingtim/status/13226541303">Tim Spalding</a> (via Cory Doctorow on Twitter).</p></blockquote>
<p>At <a href="http://www.360idev.com/">360iDev</a> as well as at the <a href="http://www.voicesthatmatter.com/iphone2010/">Voices That Matter iPhone conference</a>, a recurring concept was that of &#8220;mining your users to better understand your own product&#8221;. The concept is as follows: track every keypress, track every page flip, track everything your user inputs into your application and feed it to your central server. Process that information, and figure out vital things such as which features users tend to use, and even more importantly, which features users tend to <em>not</em> use, in order for you to over time tailor your app to suit the needs of your users better and better.</p>
<p>My immediate reaction to this was &#8220;dear fuck, what about privacy?&#8221; and from what I can tell, Apple supposedly ensures that users do not mine sensitive data, and apparently also cracks down on misuse of said data. But Apple&#8217;s not exactly the ideal privacy protecting superhero, except in that they&#8217;d lose reputation (and cash) if it was leaked that their applications, well, leaked.</p>
<p>Regardless, it is an under-advertised &#8220;feature&#8221; that whatever app you install on your i* has the ability to feed a central server somewhere with information about everything you do in it. And it doesn&#8217;t have to tell you (as opposed to when it wants to track your current location). (As a sidenote, do you think Apple&#8217;s servers need to ask you for permission finding your iPhone? Not really, as any MobileMe account holder can (contentedly/relievedly) affirm, since it&#8217;s possible to locate your phone remotely online.)</p>
<p>The internet, and the world, has been steadily moving toward a new form of privacy. People like Cory Doctorow are (and rightly so) advocating more protection of user&#8217;s integrity, but the user him/herself keep taking steps further and further into, well, the light. We&#8217;re opening ourselves up more and more as we <em>encloud</em> ourselves and place more and more of <em>us</em> out <em>there</em>. Gmail online, not POP3. Google, which (in an open, we&#8217;re-harmless-we-promise sort of way) tracks your searches to tailor your results after your specific interests, blogs, where we exhale slowly, Twitter, where we do it quickly, IM&#8217;s, Facebook, where we tell everyone who&#8217;s listening exactly who we are and who we know&#8230; there&#8217;s not a lot that we&#8217;re not saying anymore.</p>
<p>In fact, I&#8217;d wager that the only things we&#8217;re not saying are the things we want to keep to ourselves. But we slip, we&#8217;re human. We blurt a little too much, in a blog, a forum, on IM&#8217;s, in an email, somewhere, and it&#8217;s stored and analyzed and categorized. And I&#8217;m not just being paranoid.</p>
<p>Sometimes we don&#8217;t even have to <em>say</em> anything at all. Guilt by association has been turned into an art form by the witch hunt for terrorists and/or evildoers of various kind. I have friends who are republicans and friends who are democrats, friends who are communists, or extreme-right wing nuts, gay friends, straight friends, old and young friends, I have friends who hate cops, Christian friends, atheist friends, muslim friends, and the list goes on &#8212; the very dirty-laundry sort of list. One might argue whether being friends with a right-wing nut is appropriate at all, but I can&#8217;t really choose my friends&#8217; political views, and you&#8217;d be surprised at the level of intellectual capacity even certain right-wing nuts might have.</p>
<p>One of my more verbal friends had a blog once. He&#8217;d talk about everything and anything. One day, he applied for a job and got an interview. They were excited. He seemed like the man for the job. Then bam, they told him to continue searching. The reason? They&#8217;d Google&#8217;d his name and found his blog, and couldn&#8217;t have someone with his opinions in their work place. <em>Trouble maker</em>. His blog is no more.</p>
<p>Our privacy isn&#8217;t what it used to be. Jesse Schell talks a little about this in his DICE2010 talk labeled &#8220;<a href="http://g4tv.com/videos/44277/dice-2010-design-outside-the-box-presentation/">Design Outside the Box</a>&#8220;, a talk which I wholeheartedly recommend anyone remotely interested in game design, or the future for that matter. He describes &#8220;the future&#8221; as a place where every move we make is tracked and analyzed by machines, where our corn flakes box lets us play a game as we eat our corn flakes and see our points compared to our friends that week; he talks about how our future selves will read a book on our Kindle and get an achievement that we&#8217;ve read our thousandth book, and that we&#8217;d be embarrassed that our thousandth book was a stupid Star Trek novel. That we&#8217;d stop to think and realize that <em>we</em> didn&#8217;t know what our grandparents read, but our grandchildren will be able to see exactly everything we did and read and that maybe, we should try to be a little better and do better things with our lives&#8230; (except he says it much better &#8212; <a href="http://g4tv.com/videos/44277/dice-2010-design-outside-the-box-presentation/">just watch it</a> until the end, even though it&#8217;s close to 30 minutes long).</p>
<p>And maybe that&#8217;s precisely it. The inevitable truth is, we &#8212; the remnants of us that fear the loss of privacy and try to maintain it in some form, traditional or not &#8212; are fighting a losing battle, and sooner or later, everything we do will be registered and monitored and tracked and analyzed. I&#8217;m not even going to bother reassuring you that this <em>isn&#8217;t</em> paranoid thinking &#8212; if you think it is, seriously, you&#8217;ve gotta start reading the news, buddy. Or <a href="http://en.wikipedia.org/wiki/AOL_search_data_scandal">just reading</a>, period.</p>
<p>But let&#8217;s look at it from a different perspective, by giving a small analogy. In a village with 100 villagers, privacy is non-existent. It is, because everyone knows everything about everyone. There is no privacy to be had in an environment like that. Old Joe Schmoe can&#8217;t get an erection anymore, and everyone knows, because that&#8217;s just how it is. Joe might feel infuriated and insulted about it, but at least the rest of the world doesn&#8217;t know about his predicament &#8212; small comfort to Joe, but relevant to our analogy.</p>
<p>In a big metropolitan city, Joe&#8217;s predicament is except in rare cases not known by anyone, or known only to those close to Joe himself. Him, his doctor, his significant other, and that&#8217;s probably it. Privacy is greater, because there are more people to blend into. We&#8217;re more anonymous.</p>
<p>Then we have the internet. The internet is the mutt, the screwed-up offspring of the village mentality of everybody knowing everything and the metropolitan anonymity of blending into the masses. It&#8217;s the ants on your TV when the crows ate your antenna. Black. White. White. Black. Black. Nothing is really gray here. <em>More </em>people know about <em>more</em> people. <em>More</em> people are famous for <em>lesser</em> reasons. Just take a moment and marvel at all the (ridiculous, one might accuse) &#8220;online celebrities&#8221; and what they&#8217;ve done to become so known to the world. That guy who cried about leaving Britney Spears alone? That kid with the laser sabre whom found himself the subject of countless &#8220;re-makes&#8221; where people did everything from turning his wooden stick into a real live zzzzzzmmm-yowling sabre to ridiculing him mercilessly. If I recall right, his parents tried to raise a fuss about it, but what&#8217;s there to do about it, anyway? It&#8217;s out there. No amount of hitting &#8216;delete&#8217;<em> is </em>going to take it away.</p>
<p>Posterity online is a phenomenon all by itself. It&#8217;s like the subject of an immensely intricate equation, where week-old stuff vanishes without a trace and decades-old stuff remains. Those deemed famous by the online community will linger for who knows how long &#8212; maybe forever.</p>
<p>We fool ourselves, thinking that with the masses and masses of information online, <em>we</em> are the untraceable needle in the haystack, but the internet is evolving as rapidly as the content in which we aim to hide grows &#8212; if you&#8217;ve ever whined about a company on Twitter, you might have had the pleasant surprise of said company responding to your tweet. Just by writing the right keyword into your message, they get it fed to them via Twitter&#8217;s own search feature. Do you know how much information passes through Twitter in a day?</p>
<blockquote><p>&#8220;By the end of 2007, about 500,000 tweets per quarter were posted. By the end of 2008, 100 million tweets per quarter were posted. By the end of 2009, 2 billion tweets per quarter were posted. <strong>In the first quarter of 2010, 4 billion tweets per quarter were posted.</strong>&#8221; (bolded by author)<br />
&#8211; <a href="http://en.wikipedia.org/wiki/Twitter">http://en.wikipedia.org/wiki/Twitter</a></p></blockquote>
<p>4 billion tweets per quarter. Or roughly 50 million tweets a day. If every tweet averages at 100 letters, that&#8217;s 5 billion letters. Every day (this entire post counts 15k letters &#8212; the same amount is tweeted in <em>one fourth of a second</em>). If a company can find the mention of <em>their name</em> in 50 million tweets a day &#8212; 600 tweets a second &#8212; just like that, that probably means your &#8220;blending into the crowd&#8221; trick is flawed.</p>
<p><em>We</em> aren&#8217;t used to this but the kids of our time are. How will they define <em>privacy</em> as adults, having been surrounded by the perpetual lure of providing more and more pieces of themselves to perfect the product that they are to Facebook or whatever may take its place in the future. <em>They</em> will inevitably see those around them lifted up into the light from the shadows of anonymity, to be ridiculed or praised or both, and then cast aside when they no longer provide entertainment for the masses. <em>Their</em> friends will be the rock stars and celebrities <em>we</em> could only see at a distance, stalked and exposed to anyone who cared. <em>They</em> will learn to deal with the public continuum that surrounds, even dictates, their lives. Privacy won&#8217;t be then what it is today, but the people of that time will know, on a near instinctual level, how to cope with and remain <em>private</em>. Privacy won&#8217;t be then what it is today, but perhaps we can guide the evolution of it onto a democratic path.</p>
<p>Meanwhile, before you go to that job interview &#8212; or go on that overseas trip, try Googling your full name or nick name, skim your blog for objectionable content, scan your Twitter feed, and come up with good responses for when they ask you about it. Presuming they even bother to ask.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/05/03/redefining-privacy/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Guilty pleasures.</title>
		<link>http://kallewoof.com/2010/04/29/guilty-pleasures/</link>
		<comments>http://kallewoof.com/2010/04/29/guilty-pleasures/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 11:02:39 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iStar]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=430</guid>
		<description><![CDATA[I guess most of the people who know me even remotely know that I&#8217;ve gotten into iPads and iPhones and Macs and such lately. Part of this has to do with work, actually, as I&#8217;m currently tasked with writing software &#8230; <a href="http://kallewoof.com/2010/04/29/guilty-pleasures/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I guess most of the people who know me even remotely know that I&#8217;ve gotten into iPads and iPhones and Macs and such lately. Part of this has to do with work, actually, as I&#8217;m currently tasked with writing software for the iPhone/iPad devices (which is a pain to write, so I refer to them as i*s or iStars). I spent the last couple of weeks in the United States with a MacBook Pro, my iPhone and my iPad as my only available computers, and as such, I was more or less forced to adapt to the Mac way of doing things. It&#8217;s not that bad, actually, once you get over the fact it&#8217;s NOT a variant of Windows but a whole separate system altogether.</p>
<p>I&#8217;ve been a linux user for the last decade. More, even. I&#8217;ve had brief encounters with Windows, most of them horrific, all of them resulting in me eventually giving up and going back to linux, and none of them in the last 5+ years. I hear Windows is getting better, but as we say in Sweden, &#8220;<em>bränt barn skyr elden</em>*,&#8221; and I&#8217;ve come to the realization that I will most likely never use Windows again, even though I&#8217;m pleased to hear it&#8217;s shapening up after all these years.</p>
<p>One might say I&#8217;m a hard-to-please customer. Some might even accuse me of being the worst kind ever. I whine about things that don&#8217;t do their jobs, and even if they&#8217;re open source and free as in liberty, it doesn&#8217;t mean I won&#8217;t complain when they can&#8217;t do their jobs properly. I recently spew pus over PulseAudio and Ubuntu 9.10 &#8212; the worst experience since 1990 &#8212; and I stand by what I said, but in the end, I love linux, and it&#8217;s unfair to blame it all on the system, when there are so many factors out of the developers&#8217; control.</p>
<p>Hardware manufacturers couldn&#8217;t give less of a fuck about linux, unless they&#8217;re making server-specific hardware.<br />
Software manufacturers couldn&#8217;t give less of a fuck about linux, unless they&#8217;re making server-specific software.</p>
<p>It makes for a really ugly scene, sometimes, and people have to jump through living lions while spinning firey globes of radioactive customs officers through quality assurance managers. It&#8217;s messy, and it takes hours and pain, lots of both.</p>
<p>And this is an ongoing perpetual circle, where new hardware and new software clashes and collides over and over, year in and year out, in the uphill battle that is the linux desktop scene.</p>
<p>One of the most annoying things about being a linux user isn&#8217;t necessarily that hardware and software manufacturers piss in your corn flakes. It can be really frustrating when you&#8217;re struggling to get something working and someone goes, &#8220;Why are you using that piece of shit anyway. Linux sucks man. Just install Windows.&#8221;</p>
<p>Twitch. I mean, dude. Twitch. I don&#8217;t think there&#8217;s anyone out there as defensive and protective of their operating system as the linux user. We&#8217;re the first to take offense when someone tells us linux sucks. You tell a Windows user that Windows sucks and the most probable reply you&#8217;ll get is, &#8220;Uh-huh, I know that.**&#8221;</p>
<p>Sigh. So retarded. Well, I&#8217;ve gotten better about that, and these days I don&#8217;t have an agenda against anyone. I just know what works for me and what doesn&#8217;t, and whatever works for you, you should stick to. I still get picked on for my choice of OS though, playfully of course, and so the last couple of weeks my guilty pleasure has been to say things like:</p>
<p>&#8220;Damn, <a href="http://handbrake.fr/">handbrake</a> seems full of win. And it&#8217;s available for linux too. (And Windows, but who cares..)&#8221;</p>
<p>on <a href="http://twitter.com/kallewoof">Twitter</a>. Which is fed to Google&#8217;s Buzz, which appears for some of the people who tend to poke fun at me. Now I&#8217;m poking back. <img src='http://kallewoof.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Joke aside, it&#8217;s interesting how the tables have turned. One of my best friends who&#8217;s a hardcore Windows user (and a skilled tech guy at that) and I have been discussing the whole linux/Windows deal for more or less ten years, and suddenly I&#8217;m waving my i*s around and talking about the innovative and prosperous market, while he&#8217;s pointing to Android and upcoming tablets that will potentially turn the tide on Apple&#8217;s tidal wave of domination. He&#8217;s suddenly wielding the open source cap and I&#8217;m wielding the closed source proprietary cap. And it happened <em>overnight</em>! Granted, his change isn&#8217;t as dramatic as mine &#8212; he&#8217;s simply opposed to the Mac experience, and will grab at anything that means not having to use a Mac (including some of the Win7 devices that are closing in on the market). In my case it&#8217;s a little more extreme, but in the end, I&#8217;m just excited about a rare opportunity. In the end, I do not believe the i*s will control the market, but I believe they will lead the way, and I&#8217;m excited to be a part of that process, even if it&#8217;s an unsignificant part.</p>
<p>&#8212;</p>
<p>(* &#8220;burnt child fears fire&#8221;)</p>
<p>(** except for that one guy in Wisconsin who got real offensive about Windows when *I* said it sucked; never mind me being a hypocrite, but I was completely taken by surprise by this reaction, and immediately labeled him a confused patriot thinking Windows somehow was connected to the pride of America)</p>
<p>Update: timely &#8212; MS cancels their &#8220;iPad killer&#8221;: <a href="http://gizmodo.com/5527442/microsoft-cancels-innovative-courier-tablet-project">http://gizmodo.com/5527442/microsoft-cancels-innovative-courier-tablet-project</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/04/29/guilty-pleasures/feed/</wfw:commentRss>
		<slash:comments>6</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>
	</channel>
</rss>

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

