<?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; Educational</title>
	<atom:link href="http://kallewoof.com/tag/educational/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>Privacy</title>
		<link>http://kallewoof.com/2011/04/19/privacy/</link>
		<comments>http://kallewoof.com/2011/04/19/privacy/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 12:43:23 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Retarded]]></category>
		<category><![CDATA[Stupid]]></category>
		<category><![CDATA[Sweden]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=572</guid>
		<description><![CDATA[As some of you know, I moved to a new apartment in January, and with that obviously came a bunch of subscriptions (as in, &#8220;electricity bill&#8221; kind of subscriptions). I had the option to choose between a bunch of different &#8230; <a href="http://kallewoof.com/2011/04/19/privacy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As some of you know, I moved to a new apartment in January, and with that obviously came a bunch of subscriptions (as in, &#8220;electricity bill&#8221; kind of subscriptions). I had the option to choose between a bunch of different electricity companies but ended up just going with the default one (E.ON).</p>
<p>After a few months I got a phone call from E.ON. where they basically offered me a better than the default deal, which I accepted, and then today the contract arrived. Now&#8230; not a lot of people read these, right? I tend to give them a skim at least, to see if something insane appears and sometimes I hit the jackpot.</p>
<blockquote><p>&#8220;The personal details of you that we have obtained are necessary to accomplish our part of this agreement and to accomodate your needs as a customer. <strong>Your name and address may also be used for marketing by E.ON. as well as by companies with which E.ON. is cooperating. </strong>Your personal information may also be used in educational purposes.&#8221; (bold emphasis mine)</p></blockquote>
<p>So uh&#8230; not thinking there was much hope, I still decided to just email them,</p>
<blockquote><p>&#8220;Hi,</p>
<p>According to the contract you sent to my home, &#8220;(the above quote)&#8221;</p>
<p>I do NOT want you to use my personal information for marketing, and I most definitely don&#8217;t want you to give it out to other companies.</p>
<p>Sincerely,</p>
<p>-Kalle Alm (my personal id number).&#8221;</p></blockquote>
<p>Within an hour I got a response which to my surprise went:</p>
<blockquote><p>&#8220;Hi,</p>
<p>Thanks for your email.</p>
<p>We have registered that you do not want us to use your personal information for marketing purposes.</p>
<p>Please contact us again [blabla].&#8221;</p></blockquote>
<p>I didn&#8217;t think it&#8217;d be that easy, but there you have it. Summary: read through your contracts! You might end up with a company like E.ON. who thinks people are too lazy to read through this &#8220;boring&#8221; stuff!</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2011/04/19/privacy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone Personal Hotspot</title>
		<link>http://kallewoof.com/2011/03/07/iphone-personal-hotspot/</link>
		<comments>http://kallewoof.com/2011/03/07/iphone-personal-hotspot/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 12:50:49 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Awesome]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Future]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[iPhone]]></category>

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

		<guid isPermaLink="false">http://kallewoof.com/?p=533</guid>
		<description><![CDATA[This was meant to be a reply to a question on Stack Overflow, but when I&#8217;d finally written this all up, the poster had deleted the question. Figured I wouldn&#8217;t let all this go to waste so posting it here, &#8230; <a href="http://kallewoof.com/2010/12/29/accessing-variables-in-other-classes-in-objective-c/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><!-- pre { background: #eee; } --></p>
<p>This was meant to be a reply to a question on <a href="http://stackoverflow.com">Stack Overflow</a>, but when I&#8217;d finally written this all up, the poster had deleted the question. Figured I wouldn&#8217;t let all this go to waste so posting it here, hoping some Objective-C wielder might run into it and be helped.</p>
<p>***</p>
<p>There are a number of options, all depending on the situation. I will keep referring to <em>Sender</em>, <em>Receiver</em>, and <em>data</em> as the class holding the information, the class which wants the information, and the information itself respectively.</p>
<p><strong>Option 1 &#8211; Point <em>Receiver</em> to <em>Sender</em> at <em>Sender</em> init</strong></p>
<p>Here we keep track of <em>Sender</em> internally. We also preferably do not store <em>data</em> locally in case <em>Sender</em> is updated &#8212; instead we use `<em>Sender</em>.<em>data</em>`. This of course requires that there is only one <em>Sender</em>, and that it is instantiated before the <em>Receiver</em>.</p>
<pre>    // in <em>Receiver</em>.h
    @interface <em>Receiver</em> : .... {
        <em>Sender</em> *sender;
        // ...
    }
    - (id)initWithSender:(<em>Sender</em> *)aSender andBlabla:....;

    // in <em>Receiver</em>.m
    - (id)initWithSender:(<em>Sender</em> *)aSender andBlerf.... {
        self = [super init];
        if (self != nil) {
            // retain, if aSender may ever dealloc before us!
            sender = aSender;
            // other init stuff
        }
        return self;
    }

    // in <em>Receiver</em>.m, wherever we need "<em>data</em>" from the <em>Sender</em>, we now use
    // <em>Sender</em>.<em>data</em></pre>
<hr /><strong>Option 2 &#8211; Point <em>Receiver</em> to <em>Sender</em> at arbitrary time</strong></p>
<p>Same as option 1 but here we simply put in a <em>Sender</em> as a `@property`. This one actually allows us to have our <em>Sender</em> instantiated after the <em>Receiver</em>, since we can set the `<em>Sender</em>` property at a later point. The danger here is to make sure `<em>Sender</em>` is not used before we&#8217;ve actually gotten around to setting it.</p>
<pre>    // in <em>Receiver</em>.h
    @interface <em>Receiver</em> : ... {
        <em>Sender</em> *sender;
        // ...
    }
    // ...
    // assign-&gt;retain, if <em>Sender</em> might dealloc before us!
    @property (assign) <em>Sender</em> *<em>Sender</em>;

    // in <em>Receiver</em>.m
    @synthesize sender;

    // Someplace in our program, where we're ready to tell the <em>Receiver
</em>    // about the <em>Sender</em>,
    //   myReceiver.sender = mySender;</pre>
<hr /><strong>Option 3 &#8211; Point <em>Receiver</em> to <em>Sender</em> at <em>data</em> collection time</strong></p>
<p>Here we simply add a method to <em>Receiver</em> which has an instance of <em>Sender</em> as its argument. <em>Receiver</em> will then grab <em>data</em> from <em>Sender</em>. Here we&#8217;re pretending a bit, and the reason is that we may or may not want to get other information out of <em>Sender</em> at a later point in time, so we go the safe route. The alternative is more restrictive but less complex (option 4).</p>
<pre>    // in <em>Receiver</em>.h
    @interface <em>Receiver</em> : ... {
        NSData *<em>data</em>;
        // ...
    }
    // ...
    - (void)setSender:(<em>Sender</em> *)aSender;

    // in <em>Receiver</em>.m
    - (void)setSender:(<em>Sender</em> *)aSender {
        // to make things simple, we're presuming that <em>data</em> is not
        // deallocated until we're given new <em>data</em>
        <em>data</em> = aSender.<em>data</em>;
        // potentially do other things with <em>data</em>
    }

    // Someplace in our program, where <em>data</em> has been updated in our
    // <em>Sender</em> and we want <em>Receiver</em> to update,
    //   myReceiver.sender = mySender;</pre>
<hr /><strong>Option 4 &#8211; Include a -set<em>data</em>: method directly in <em>Receiver</em></strong></p>
<p>This is the simplest but least expandable method we&#8217;ve got. In <em>Receiver</em>, we have an instance of our <em>data</em> that we set using a simple method or `@property`.</p>
<pre>    // in <em>Receiver</em>.h
    @interface <em>Receiver</em> : ... {
        NSData *<em>data</em>;
        // ...
    }
    // ...
    // if data might dealloc before we're done using, assign -&gt; retain
    @property (assign) NSData *<em>data</em>;

    // in <em>Receiver</em>.m
    @synthesize <em>data</em>;

    // Someplace where we want <em>data</em> to be updated
    myReceiver.<em>data</em> = mySender.<em>data</em>;</pre>
<hr /><strong>Option 5 &#8211; Delegation</strong></p>
<p>Code in objective-c works very much like a tree with branches with further branches. This has the fundamental flaw/effect that a branch can&#8217;t access the thicker branch to which it&#8217;s attached, and it can&#8217;t get to the tree trunk either. This can be solved using delegation. The most common case where a &#8220;thin&#8221; branch accesses a &#8220;thicker&#8221; branch is view controller / view. A view will tell its view controller things via delegate calls. This is only slightly different from giving its view controller updates to a <em>data</em> object. In our case, <em>Receiver</em> is a controller (delegate) of <em>Sender</em>.</p>
<pre>    // in <em>Sender</em>.h
    @protocol SenderDelegate &lt;NSObject&gt;

    - (void)senderDidUpdateData:(NSData *)newData;

    @end

    @interface <em>Sender</em> : ... {
        NSObject &lt;SenderDelegate&gt; *delegate;
        // ...
    }
    // ...
    @property (assign) NSObject &lt;SenderDelegate&gt; *delegate;

    @end

    // in <em>Sender</em>.m
    @synthesize delegate;

    // in <em>Sender</em>.m, whenever we want to notify our delegate (if any)
    // about updates to <span style="font-family: Georgia, 'Bitstream Charter', serif; color: #444444;"><span style="line-height: 22px;"><em>data</em>, </span></span>
    //    [delegate senderDidUpdateData:<em>data</em>];

    // in <em>Receiver</em>.h
    #include "<em>Sender</em>.h"

    @interface <em>Receiver</em> : ... &lt;SenderDelegate&gt; {
        // ...
    }
    // ...
    @end

    // in <em>Receiver</em>.m
    - (void)senderDidUpdateData:(NSData *)newData {
        // do something with newData, e.g. set <em>data</em> = newData;
    }

    // Someplace where we have both the <em>Receiver</em> and <em>Sender</em> instantiated
    //    mySender.delegate = myReceiver;</pre>
<hr /><strong>Option 6 &#8211; Singleton</strong></p>
<p>Using a singleton is sometimes beneficial. See other discussions on this topic for details. A singleton should be avoided unless you will have a single instance of a class throughout your code.</p>
<p>I&#8217;m sure there are other options as well, but these are the ones that come to mind right now.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/12/29/accessing-variables-in-other-classes-in-objective-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taking bullshit.</title>
		<link>http://kallewoof.com/2010/10/04/taking-bullshit/</link>
		<comments>http://kallewoof.com/2010/10/04/taking-bullshit/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 19:15:51 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Groups]]></category>
		<category><![CDATA[Retarded]]></category>
		<category><![CDATA[School]]></category>
		<category><![CDATA[Silly]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=513</guid>
		<description><![CDATA[I started university the end of August this year. I&#8217;m a late bloomer, what can I say. I like it, though. Wish I&#8217;d done this something like 10 years earlier. I&#8217;m so happy I live in this country, where it&#8217;s &#8230; <a href="http://kallewoof.com/2010/10/04/taking-bullshit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I started university the end of August this year. I&#8217;m a late bloomer, what can I say. I like it, though. Wish I&#8217;d done this something like 10 years earlier.</p>
<p>I&#8217;m so happy I live in this country, where it&#8217;s possible to go to uni at the age of 30. In Japan, people start pressuring you about it at the age of, oh, 5. Months.</p>
<p>I digress. At uni, I&#8217;m now taking two courses &#8212; engineering methodology and linear algebra. The former is a pain, the latter is fun. The former mainly comprises of the following:</p>
<p>Be put into a group with 7 other people, plan and execute a fairly big project (1-2 months of 16 hours/week worth of &#8220;work&#8221;), and then present the results. And write a bunch of reports about how it all went.</p>
<p>Said project turned out to be assembling and programming a <a href="http://en.wikipedia.org/wiki/Lego_mindstorms_nxt">LEGO Mindstorms NXT robot</a>. I was &#8220;fairly&#8221; lucky with my team mates, except that the majority want to &#8220;take the short cut&#8221; and sort of just pretend not to exist so they don&#8217;t have to do anything.</p>
<p>I don&#8217;t blame them, really. We were a pretty disorganized bunch from the get go, and it was really hard to get everyone things to do. There were only so many sub-components of the robot you could make before you ran out, and building the robot required at most two people &#8212; more, and there&#8217;re too many hands fidgeting.</p>
<p>I also don&#8217;t blame them for starting to talk shit about me behind my back. It happened after we had been sitting in a &#8220;seminar&#8221; which was obligatory, talking about a chapter in the engineering methodology book we had been required to read. First though, to get some perspective, this is the deal:</p>
<p>I&#8217;m working 50% plus attending school. That means I have 4 less hours each (week)day to studying or relaxing. This is considered normal in most countries, but in Sweden, being a uni student is considered the equivalent of working approximately 125%. In effect, I&#8217;m now occupied 175% with work and/or school. That&#8217;s 70 hour weeks.</p>
<p>So there we are in the seminar, and people haven&#8217;t done what they were supposed to. The assignment clearly said &#8220;read the book and then pick out stuff from parts 2-4 and bring to the seminar&#8221;, and people interpreted &#8220;parts 2-4&#8243;, conveniently, as &#8220;chapters 2-4&#8243; (which were all in part 1). So we take 15 mins where people read up &#8220;real quick&#8221; on the other parts, and then discuss&#8230; and&#8230;</p>
<p>&#8230; it&#8217;s just retarded. Absolute, raw, unfiltered retardation. People were saying things like,</p>
<p>A. &#8220;Okay guys, so! The next item on the list goes: ensuring group unity. Anyone have anything to say?&#8221;<br />
B. &#8220;Oh yeah, we totally need to have group unity. It&#8217;s like, super important. Without group unity we won&#8217;t be as effective and such.&#8221;<br />
A. &#8220;That&#8217;s awesome, B. How do we ensure group unity?&#8221;<br />
B. &#8220;You know, we have to stick together and shit. Back each other up.&#8221;<br />
A. &#8220;Perfect.&#8221; (writes this whole thing down on lap top)</p>
<p>And it spirals downward from there. I&#8217;m sitting there watching these people with this empty, glazed over expression in my eyes, and at some point I just involuntarily start grunting agreement in an extremely sarcastic voice. I&#8217;m serious when I say I felt like someone was controlling me, because even though I knew how bad it was, I couldn&#8217;t stop myself.</p>
<p>Meanwhile someone pulls out their math book, walks over to me, and starts asking me questions about some problem. In the middle of the seminar. I look at the book for a brief moment, then turn back to the room and pretend nothing&#8217;s happened. So totally not me. </p>
<p>Then eventually I just stand up and say, &#8220;Well since you guys are doing math, I&#8217;m gonna head home and work.&#8221; and leave.</p>
<p>And that&#8217;s where it sort of started. People laughing for no reason when I say or do something. It bothered me initially, but then I stopped caring. I also stopped caring about courtesy in the group, coming at appointed times and leaving when we&#8217;re done, doing everything I can <em>for the project</em>, but nothing for the people <em>in</em> it. They&#8217;d stop talking when I came into the room, or even say things like &#8220;The group is already falling apart, *laugh laugh chuckle chuckle*&#8221; when I did. I always felt like confronting them when that happened, but instead I just grinned back and said something like &#8220;Yeah, me and (random name of person who&#8217;s also not there at the moment) have decided to dump you guys from the project.&#8221; And I realized it was because I actually don&#8217;t mind that they use me as &#8220;the bad guy&#8221; to talk about whenever I&#8217;m not around.</p>
<p>I&#8217;m comfortably fine being an asshole, and I know I&#8217;m being one. And I know it&#8217;s partly my fault. <em>It feels good</em>. It&#8217;s so unlike me, it&#8217;s as if it&#8217;s not me at all. </p>
<p>It&#8217;s partly my fault. When I started my classes I was determined at a completely separate level from the others in my group &#8212; all of them. I was dead set on doing everything in my power to get everything done as fast and efficiently as possible. I just came into it with this zero tolerance for &#8220;unnecessity&#8221; that made me lash out or do things I normally never would. The others ranged from &#8220;want to get grade&#8221; to &#8220;want to do something good with the time&#8221;, which I&#8217;d say is the healthy, normal state (or the latter, at least).</p>
<p>And I just don&#8217;t take bullshit the way I used to. At some point in the last couple of years, my patience has just&#8230; diminished.</p>
<p>Not great, perhaps. But there are other, good things too in this.</p>
<p>Throughout all of this, I realized something dark and dirty about myself. Throughout my life, I&#8217;ve loathed being hated. The mere thought of someone out there hating me, or even slightly disliking me, has always haunted me and affected my actions. Now, seeing these people around me being petty as they are (and they are; even if it is partly my fault), I&#8217;m struck by the realization that I absolutely couldn&#8217;t care less if they hate, or dislike, me, and if I don&#8217;t care about people I&#8217;ve been around 16 hours a week for the last two months, why on <em>earth</em> should I care what a stranger on the street thinks about me?</p>
<p>I should rather care about what those I care about think, or those I respect think, or not care about what anyone thinks and just do what I think is right. Not thinking about what other people think is a mindblowing concept, to me.</p>
<p>Late bloomer, what can I say.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/10/04/taking-bullshit/feed/</wfw:commentRss>
		<slash:comments>6</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>San Francisco, San Jose, 360iDev, iPadDevCamp, etc.</title>
		<link>http://kallewoof.com/2010/04/21/san-francisco-san-jose-360idev-ipaddevcamp-etc/</link>
		<comments>http://kallewoof.com/2010/04/21/san-francisco-san-jose-360idev-ipaddevcamp-etc/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 22:40:39 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[360iDev]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPadDevCamp]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Life]]></category>

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

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

		<guid isPermaLink="false">http://kallewoof.com/?p=403</guid>
		<description><![CDATA[The iPad won&#8217;t have Flash support. I giggle when I write this. It&#8217;s not news, at all, I&#8217;m just slow on the pick-up. Adobe person on Adobe&#8217;s blog reacts to this. A guy at TUAW (The Unofficial Apple Weblog) responds &#8230; <a href="http://kallewoof.com/2010/03/16/apple-versus-adobe/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The iPad won&#8217;t have Flash support. I giggle when I write this. It&#8217;s not news, at all, I&#8217;m just slow on the pick-up. Adobe person on Adobe&#8217;s blog <a href="http://blogs.adobe.com/flashplatform/2010/01/apples_ipad_--_a_broken_link.html">reacts to this</a>. A guy at TUAW (The Unofficial Apple Weblog) <a href="http://www.tuaw.com/2010/01/28/adobe-speaks-up-about-flash-on-the-ipad/">responds to THAT</a>. I lean toward the latter person. I giggle even more than ever.</p>
<p>This is an unexpected turn of events. Apple with its &#8220;closed&#8221; approach versus Adobe with ITS &#8220;closed&#8221; approach leading to more openness. Two wrongs do not make one right, you say, and I point at this wonderful, glorious exception of where just precisely that is happening. The very nature of &#8220;closed&#8221; means you can shut out whoever you want however you want, and Adobe in all of its proprietary glory shuts pretty much everyone except Windows users out (yea, Flash runs horrible on the Mac apparently, it&#8217;s a resource hog, and crashes constantly).</p>
<p>And Apple shuts Adobe out. Do you hear my giggles as I wheeze for breath?</p>
<p>It reminds me of MSIE back in the day. It was THE browser. The alternative was Netscape Navigator and it was a disastrous piece of crap where Internet Explorer was a shiny piece of solid gold. So developers ignored everything else. Even when Firefox came around, they continued doing so, at least the short bus folks did. Fuck web standards. Then suddenly, their &#8220;dis sait rekirs intrnet exprdorerlolstfu&#8221; sites were hurting, badly.</p>
<p>But it took a long while. Banks in Sweden required Internet Explorer up until a mere few years ago. My mother&#8217;s stock market site (uh yeah, my mom&#8217;s dealing in stock, but that&#8217;s another story) even to this day requires Internet Explorer.</p>
<p>Now we have Flash, and we see people doing the same mistake all over again. Especially with the web as it is today, with video content and all that, it&#8217;s no wonder people are going for Flash, because Flash is pretty much the only alternative. Well, <a href="http://www.youtube.com/html5">sort of, anyway</a>. Ah-yep-. If you clicked the link you probably noticed that it said &#8220;HTML5&#8243; and if that didn&#8217;t mean much to you, let me rephrase:</p>
<p>No Flash.</p>
<p>Actually, I can rephrase that even nicer:</p>
<p>No Proprietary One-Company-To-Rule-Them-All Plugins Required.</p>
<p>Did I mention that HTML5 video is supported by the iPhone?</p>
<p>As a developer, this is the part where you go look at the figures for exactly how many people <em>own</em> an iPhone. And the part where you take a stand on whether the iPad will sell to millions or if it&#8217;ll flop over and keel. This is the part where you get the numbers fed to you: <em>42.5 million</em>.</p>
<p>Forty two point five million iPhones as of Q1 2010. And your cute, bunny-hopping Flash-site? It&#8217;s a fucking piece of Lego right now, for those 42.5 <em>million</em> users when they browse on their phone.</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/03/16/apple-versus-adobe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Per se.</title>
		<link>http://kallewoof.com/2010/03/08/per-se/</link>
		<comments>http://kallewoof.com/2010/03/08/per-se/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 15:38:02 +0000</pubDate>
		<dc:creator>Kalle</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Latin]]></category>
		<category><![CDATA[Stupid]]></category>

		<guid isPermaLink="false">http://kallewoof.com/?p=399</guid>
		<description><![CDATA[Read: http://en.wikipedia.org/wiki/Per_say Note in particular the line that in parentheses starts with &#8220;also misspelled as&#8221;. kthxbyem8s]]></description>
			<content:encoded><![CDATA[<p>Read: <a href="http://en.wikipedia.org/wiki/Per_say">http://en.wikipedia.org/wiki/Per_say</a></p>
<p>Note in particular the line that in parentheses starts with &#8220;also misspelled as&#8221;.</p>
<p>kthxbyem8s</p>
]]></content:encoded>
			<wfw:commentRss>http://kallewoof.com/2010/03/08/per-se/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

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

