<?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/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://kallewoof.com</link>
	<description>privacy, democracy, and software</description>
	<lastBuildDate>Mon, 26 Jul 2010 16:23:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>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>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>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>Mac OS X 10.6.2 and input methods.</title>
		<link>http://kallewoof.com/2010/03/22/mac-os-x-10-6-2-and-input-methods/</link>
		<comments>http://kallewoof.com/2010/03/22/mac-os-x-10-6-2-and-input-methods/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 18:21:03 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Retarded]]></category>
		<category><![CDATA[Solved]]></category>
		<category><![CDATA[Stupid]]></category>
		<category><![CDATA[Swedish]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=409</guid>
		<description><![CDATA[So, I turned on Japanese on my Mac. I also turned on &#8220;let individual applcations have separate input methods&#8221; because I often talk to A in English and B in Japanese and C in Swedish simultaneously on Adium, and it &#8230; <a href="http://kallewoof.com/2010/03/22/mac-os-x-10-6-2-and-input-methods/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So, I turned on Japanese on my Mac. I also turned on &#8220;let individual applcations have separate input methods&#8221; because I often talk to A in English and B in Japanese and C in Swedish simultaneously on Adium, and it keeps track of which is which when I tab between them, which is standard behavior. No claps, sorry.</p>
<p>But&#8230; when I try to change it so that Swedish is the default input methods &#8230;. I can&#8217;t. Uh. Right.</p>
<p>&#8230; huh? Why can&#8217;t I drag and arrange my input methods in order of preference?</p>
<p>The deal is, whenever I open a new &#8230; window. Or tab, in Safari&#8230; I get it in Japanese.</p>
<p>Imagine this scenario: I open up a new tab in my browser! I decide to boldly go where none other has boldly gone before, and I type in &#8220;www.google.com&#8221; BUT!</p>
<p>BUT!!!! I do not GET &#8220;www.google.com&#8221; in the browser.</p>
<p>No sir. I don&#8217;t. I get &#8220;っっw。ごおgぇ。cおm&#8221;</p>
<p>in the browser.</p>
<p>And this is not what I wanted! Nope. No sir. Not anywhere or any way.</p>
<p>Can you feel my frustration shining? For now, I&#8217;ve turned Japanese off, so any time I talk to my girlfriend or whoever I will do so in &#8220;Konnichiwa watashi no chinchin wo sutte kudasai&#8221; romaji. Anyone got any nice clues on this one? It&#8217;s completely unbelievable that they&#8217;d not realize that people, sometimes, would prefer not to have their languages thrown at them in alphabetic order. (Yes, &#8220;Japanese&#8221; comes before &#8220;Swedish&#8221;.) Or is it that every tester was an American, thus &#8220;English&#8221; comes before &#8220;Japanese&#8221; and it&#8217;s not a &#8220;problem&#8221;?</p>
<p><strong>EDIT: I finally figured this out. </strong>The reason it was acting up was because of 3 separate factors which, combined, do not work:</p>
<p>1. Japanese input.<br />
2. Swedish as alternative input<br />
3. English as operating system language.</p>
<p>The fix is to change the OS language to Swedish. I personally hate having the OS in Swedish, but I&#8217;m apparently given no choice. Better that than no Japanese though, I suppose.</p>
<div><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: small;"><span style="line-height: normal; white-space: pre-wrap;"><br />
</span></span></div>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/03/22/mac-os-x-10-6-2-and-input-methods/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Battle.Net</title>
		<link>http://kallewoof.com/2009/09/29/battle-net/</link>
		<comments>http://kallewoof.com/2009/09/29/battle-net/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 01:31:19 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Awesome]]></category>
		<category><![CDATA[Gaming]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=360</guid>
		<description><![CDATA[Before I came to Japan I decided to write down the CD keys for my games into an encrypted file just in case I decided I wanted to play &#8212; namely for Starcraft and Diablo 2 &#8212; and then when &#8230; <a href="http://kallewoof.com/2009/09/29/battle-net/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Before I came to Japan I decided to write down the CD keys for my games into an encrypted file just in case I decided I wanted to play &#8212; namely for Starcraft and Diablo 2 &#8212; and then when I actually did get here a friend of mine and I decided to play some Starcraft for old time&#8217;s sake, but since I didn&#8217;t have the game CD with me, I simply downloaded the game online &#8220;illegally&#8221;, but used my own CD key to play. Risky and stupid, but from Blizz&#8217;s perspective, no loss really.</p>
<p>Just now, I went and created a Battle.Net account and started adding all my games to it. You can add any Blizz game you&#8217;ve bought simply by inputing the CD key for the game in question into a text box and the correct game will pop up and be permanently added to your BNet account. Not only, but you can now &#8220;download client&#8221; directly from the BNet site&#8230; so as in my case, I *wouldn&#8217;t* have had to bring my CD keys in a secure encrypted file, and I *wouldn&#8217;t* have had to illegally download the game from some torrent site, because all I&#8217;d need is already there, on my BNet account. Awesome move by Blizz there.</p>
<p>I also added my WoW accounts (note the pluralis &#8212; though in honesty, neither one of them is currently activated), which felt awesomely nice, because it is incredibly confusing to have two separate accounts for the same game. Now I just use my BNet creds to login to whichever it is I&#8217;m playing. Presuming I actually start playing again, some day.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2009/09/29/battle-net/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Very Wide World Wide Web.</title>
		<link>http://kallewoof.com/2009/03/28/the-very-wide-world-wide-web/</link>
		<comments>http://kallewoof.com/2009/03/28/the-very-wide-world-wide-web/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 07:55:07 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[FUD]]></category>
		<category><![CDATA[Memes]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Good]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=323</guid>
		<description><![CDATA[I find myself thinking &#8220;so how many cool new things am I missing out on today, simply due to ignorance?&#8221; quite often these days. I don&#8217;t nearly spend as much time with the computer as I used to, and the &#8230; <a href="http://kallewoof.com/2009/03/28/the-very-wide-world-wide-web/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I find myself thinking &#8220;so how many cool new things am I missing out on today, simply due to ignorance?&#8221; quite often these days. I don&#8217;t nearly spend as much time with the computer as I used to, and the time I spend I sit on &#8220;DND&#8221; on Pidgin studying kanjis about 99% of the time, but even when I was using the computer for more or less most of the day, I still had that feeling that I am missing out on cool things.</p>
<p>And thus, a meme. Make a post on your blog listing up to 5 sites or services that amuse you/intrigue you/help you the most at the moment. This list (at least for me) always changes, as I tend to discover new things, or grow bored with old ones.</p>
<p>Or as in the case with dictionary.com &#8230; I had enough of the god damn ads. It&#8217;s as if they added a new banner or &#8220;text-ad&#8221; once a month for the last year. I used their dictionary service very very satisfied for I can&#8217;t count how many years (from before my Skotos days), but now my faithful &#8220;di&#8221; keyword in Firefox went from dictionary.com over to dict.org, which is quite ad-free, thank-you-for-asking.</p>
<p>So my list of 5, backwards because I&#8217;m hip that way:</p>
<p>5. <a href="http://dict.org">dict.org</a> &#8212; a free dictionary, and by free I mean very free, as in free of ads and stuff</p>
<p>4. <a href="http://smart.fm">smart.fm</a> &#8212; I have been lagging behind recently, because I&#8217;m nearing closure on my kanji studies and that&#8217;s taking up most of my spare time, but this is a cute site for hammering Japanese (or whatever language it is you wish to study) vocab into one&#8217;s brain.</p>
<p>3. gmail &#8212; boring, I know, but gmail is actually sort of new to me. I went with POP3 for the longest time, but when my move to Japan started drawing near, I realized that it was just stupidity not to stop with the POP.</p>
<p>2. <a title="http://www.corporate.visa.com/pd/consumer_services/consumer_ex_results.jsp?from=SEK&amp;to=JPY&amp;rate=0.0165" href="http://www.corporate.visa.com/pd/consumer_services/consumer_ex_results.jsp?from=SEK&amp;to=JPY&amp;rate=0.0165">VISA exchange rates page</a> &#8212; call it a blessing, call it a curse, but at least it tells the truth. Most of the time*. Oh and yes, this is above gmail. That says something about my economic situation, I&#8217;d say.</p>
<p>1. <a title="escapistmagazine.com/videos/view/zero-punctuation" href="http://www.escapistmagazine.com/videos/view/zero-punctuation">Zero Punctuation</a> &#8212; this guy makes my day. Totally. He reviews games (PC, console, etc) and as the title suggests, he speaks very very fast and very angrily, most of the time. You&#8217;ve gotta see it to understand. Even if you don&#8217;t know any of the games on the list, just check one out anyway.</p>
<p>Now your turn. I&#8217;m not asking you to do this to make me feel all gooey about having started a meme, I&#8217;m asking you to do this because I&#8217;m honestly curious about what the people I know are entertaining themselves with that I have yet to discover. Call me a greedy bastard.</p>
<p>*) Once about a month ago I went there and saw that the yen had dropped like a rock in the ocean. It had happened overnight, and it was a matter of something like a 30% difference in &#8220;price&#8221; for me right there. So I scampered off and withdrew money, and when I got home, the amount withdrawn was not at all matching up with this new, glorious number. Turns out the Visa site screwed up somehow, because the day after it was all back to &#8220;normal&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2009/03/28/the-very-wide-world-wide-web/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>GameCube fun.</title>
		<link>http://kallewoof.com/2007/06/26/gamecube-fun/</link>
		<comments>http://kallewoof.com/2007/06/26/gamecube-fun/#comments</comments>
		<pubDate>Tue, 26 Jun 2007 11:09:41 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://kallewoof.com/2007/06/26/gamecube-fun/</guid>
		<description><![CDATA[The midsummer weekend I ended up spending at my buddy&#8217;s place, playing GameCube games. I started out by wasting the Friday playing Resident Evil 4 which, in contrast to Eternal Darkness, pretty much sucked. A retarded story, the same old &#8230; <a href="http://kallewoof.com/2007/06/26/gamecube-fun/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The midsummer weekend I ended up spending at my buddy&#8217;s place, playing GameCube games. I started out by wasting the Friday playing <strong>Resident Evil 4</strong> which, in contrast to <strong>Eternal Darkness</strong>, pretty much sucked. A retarded story, the same old zombies, the same old dilemma (&#8220;oh no I don&#8217;t have any ammo&#8230;&#8221;). The only new part about it was the President&#8217;s daughter who followed you around. I accidentally stabbed her to death once, as I was trying to stab open a barrel (those barrels have stuff in &#8216;em, dude!)&#8230;</p>
<p>Then I went over to <strong>Eternal Darkness</strong> and ended up staying until I finished the game (with lots of hints from Kenneth). It&#8217;s a game based in the Lovecraft world, with the Ancients and all that. The main character is the granddaughter of an old lad who lived in an ancient mansion, who had been found dead as the game begins. Alex, the granddaughter, decides after two weeks that she&#8217;ll get to the bottom of it on her own, since the cops seem clueless, so she decides to explore the mansion and doing so, she finds the Tome of Eternal Darkness. As she reads on, the story unfolds, and you take on the roles of various people in various ages, starting with Pious Augustus in ancient Rome. Each character you play finds the Tome of Eternal Darkness, and thus &#8220;finds out&#8221; about all the things that happened up until that point. By doing so, each character gains the abilities that you have gained so far.</p>
<p>No game set in the Lovecraft world is complete without the aspect of insanity, and they really pulled that off awesomely in this game. You have &#8220;the usual&#8221; health and mana, and you also have sanity which &#8220;drops&#8221; as you encounter monsters or see/do things that affect the human mind. In the case of Alex, she gets more and more insane as she reads the Tome and the game story progresses. Luckily, you eventually get the ability to &#8220;recover&#8221; sanity using a magic spell.</p>
<p>As I played that game, I recalled hearing the <a href="http://www.skotos.net/">Skotos people</a> for <a href="http://www.lovecraftcountry.com/">Lovecraft Country</a> talk about how Nintendo wanted to patent a game aspect for insanity. I&#8217;m pretty sure this is the game they were talking about, and as always when I hear things like that, I marvel at the stupidity of software patents. If it wasn&#8217;t for that, I&#8217;d definitely recommend this game to the Lovecraft guys, as it&#8217;s a huge source for inspiration, and made me want to jump in and start playing Lovecraft, for possibly the first time in my life (I&#8217;ve not been a fan, but I&#8217;m becoming one after this <img src='http://kallewoof.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ).</p>
<p>Then again, I&#8217;m sadly outdated in terms of the latest-and-greatest in game design, having been a linux user for a decade, and more or less abandoned hope on games entirely. This game is 3-4 years old I think, but to me it was a really cool experience. But if you haven&#8217;t tried this one out and if you have a GameCube OR a Wii with a GameCube controller (they&#8217;re compatible), I suggest you do!</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2007/06/26/gamecube-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Democracy Player.</title>
		<link>http://kallewoof.com/2007/06/02/democracy-player/</link>
		<comments>http://kallewoof.com/2007/06/02/democracy-player/#comments</comments>
		<pubDate>Sat, 02 Jun 2007 14:15:19 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://kallewoof.com/2007/06/02/democracy-player/</guid>
		<description><![CDATA[If you like YouTube and such, Democracy Player is totally awesome. Like a TiVo without the flaws and DRM and such. Total &#8220;coo&#8221; factor. It&#8217;s available for linux/mac/windows. If you haven&#8217;t tried it out, do so!]]></description>
			<content:encoded><![CDATA[<p>If you like YouTube and such, <a href="http://www.getdemocracy.com/">Democracy Player</a> is totally awesome. Like a TiVo without the flaws and DRM and such. Total &#8220;coo&#8221; factor. It&#8217;s available for linux/mac/windows. If you haven&#8217;t tried it out, do so!</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2007/06/02/democracy-player/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nice, Sun.</title>
		<link>http://kallewoof.com/2007/05/25/nice-sun/</link>
		<comments>http://kallewoof.com/2007/05/25/nice-sun/#comments</comments>
		<pubDate>Fri, 25 May 2007 18:06:26 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[FUD]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://kallewoof.com/2007/05/25/nice-sun/</guid>
		<description><![CDATA[3 days late, but in light of Microsoft&#8217;s abrupt statement that they hold a bunch of patents which are breached by Linux, Sun&#8217;s CEO wrote a very nicely worded thing about it on his blog: http://blogs.sun.com/jonathan/date/20070521]]></description>
			<content:encoded><![CDATA[<p>3 days late, but in light of Microsoft&#8217;s abrupt statement that they hold a bunch of patents which are breached by Linux, Sun&#8217;s CEO wrote a very nicely worded thing about it on his blog: <a href="http://blogs.sun.com/jonathan/date/20070521">http://blogs.sun.com/jonathan/date/20070521</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2007/05/25/nice-sun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

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