<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Aurora</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/" />
    <link rel="self" type="application/atom+xml" href="http://www.tilander.org/aurora/atom.xml" />
    <id>tag:www.tilander.org,2007-10-16:/aurora//1</id>
    <updated>2008-04-30T07:28:55Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Publishing Platform 4.01</generator>

<entry>
    <title>Stupid C++ tricks</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2008/04/stupid-c-tricks.html" />
    <id>tag:www.tilander.org,2008:/aurora//1.66</id>

    <published>2008-04-30T07:18:25Z</published>
    <updated>2008-04-30T07:28:55Z</updated>

    <summary>A while ago Charles Nicholson wrote an article about how they handled asserts in their engine. I kind of liked the title &quot;Stupid C++ Tricks&quot; and it triggered this article idea. Then since of course Noel Llopis managed to beat...</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="C++" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        <![CDATA[<p>A while ago Charles Nicholson wrote an article about how they handled asserts in their engine. I kind of liked the title "Stupid C++ Tricks" and it triggered this article idea. Then since of course Noel Llopis managed to beat me to it, that after I've given him a hard time about his infrequent posts :) So without dwelling too much on why there are so many books and articles about traps, pitfalls, stupidity and secrets regarding C and C++ here you go; some more stupid tricks, don't try this at home.</p>]]>
    </content>
</entry>

<entry>
    <title>Clearly you must be joking</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2008/04/clearly-you-must-be-joking.html" />
    <id>tag:www.tilander.org,2008:/aurora//1.65</id>

    <published>2008-04-30T06:20:19Z</published>
    <updated>2008-04-30T06:25:49Z</updated>

    <summary>This post is going to be a little bit different. I&apos;m going to try at some humor, with just a lace of truth to it to be sad....</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="Rant" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        <![CDATA[<p>This post is going to be a little bit different. I'm going to try at some humor, with just a lace of truth to it to be sad.</p>]]>
    </content>
</entry>

<entry>
    <title>Determinism in your tools</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2008/04/determinism-in-your-tools.html" />
    <id>tag:www.tilander.org,2008:/aurora//1.64</id>

    <published>2008-04-30T05:58:59Z</published>
    <updated>2008-04-30T06:19:46Z</updated>

    <summary>Determinism in the game itself can be used to easier reproduce bugs, gather performance data and even for gameplay itself. In modern games it does take a little bit of work if you have not had continuous tests during development...</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="Coding" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        <![CDATA[<p>Determinism in the game itself can be used to easier reproduce bugs, gather performance data and even for gameplay itself. In modern games it does take a little bit of work if you have not had continuous tests during development to catch errors like when a game diverges. Recently I've had to do this as part of our graphics tests at work where we run the game in a special test mode and make sure that recent changes have not broken any rendering features.</p>]]>
    </content>
</entry>

<entry>
    <title>Comparing images</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2008/03/comparing-images.html" />
    <id>tag:www.tilander.org,2008:/aurora//1.63</id>

    <published>2008-03-30T05:44:04Z</published>
    <updated>2008-03-30T05:56:10Z</updated>

    <summary>It&apos;s hard to automate testing for graphics programming, most of the times you are looking for something that looks nice or good and you are forced to rely on just eyeballing it. Worse, you might need an artist to take...</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="Tools" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        <![CDATA[<p>It's hard to automate testing for graphics programming, most of the times you are looking for something that looks nice or good and you are forced to rely on just eyeballing it. Worse, you might need an artist to take a look at it, since programmer art is a fickle thing. There are some things that you can automate though and the fact that the computer is a cool analytic machine that has no concept of what looks good or bad is actually working to our advantage.</p>]]>
    </content>
</entry>

<entry>
    <title>Perforce tips</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2008/03/perforce-tips.html" />
    <id>tag:www.tilander.org,2008:/aurora//1.62</id>

    <published>2008-03-26T06:08:34Z</published>
    <updated>2008-03-26T06:16:25Z</updated>

    <summary>How do you use perforce? Some like to stuff as much as possible in the repository, in the hopes that it will be useful to have it all in one place. Others like to keep it minimalistic as to not...</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="Tools" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        <![CDATA[<p>How do you use perforce? Some like to stuff as much as possible in the repository, in the hopes that it will be useful to have it all in one place. Others like to keep it minimalistic as to not bog down the server too much. I've already written a little bit about the things that might be good to consider setting up a perforce server, but once it's up and running you might want to have a look at how you are using it.<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>iPhone SDK demos impresses</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2008/03/iphone-sdk-demos-impresses.html" />
    <id>tag:www.tilander.org,2008:/aurora//1.61</id>

    <published>2008-03-07T08:03:29Z</published>
    <updated>2008-03-07T08:05:05Z</updated>

    <summary>I just finished watching Apple announcing the iPhone SDK. If you have not watched it yet, I recommend it if you have about an hour and 20 minutes to spare. If not, you could just skim through this article instead...</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        I just finished watching Apple announcing the iPhone SDK. If you have not watched it yet, I recommend it if you have about an hour and 20 minutes to spare. If not, you could just skim through this article instead for my impressions.

    </content>
</entry>

<entry>
    <title>Finding a regular expression library</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2008/03/finding-a-regular-expression-l.html" />
    <id>tag:www.tilander.org,2008:/aurora//1.60</id>

    <published>2008-03-04T06:21:26Z</published>
    <updated>2008-03-07T08:25:45Z</updated>

    <summary>Regular expressions is somewhat of an oxymoron. They are anything but regular, they are strange beasts that you can write wonderful things in that you won&apos;t understand fully yourself after you&apos;ve written them. I blame (as most things) perl for...</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="Coding" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        <![CDATA[Regular expressions is somewhat of an oxymoron. They are anything but regular, they are strange beasts that you can write wonderful things in that you won't understand fully yourself after you've written them. I blame (as most things) perl for most of the evolution of regular expressions, they ones contained in perl are very powerful, but with great power comes an awful lot of <strike>responsibility</strike> spaghetti.]]>
    </content>
</entry>

<entry>
    <title>Vista Is Unusable</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2008/01/vista-is-unusable.html" />
    <id>tag:www.tilander.org,2008:/aurora//1.59</id>

    <published>2008-02-01T06:01:05Z</published>
    <updated>2008-02-01T06:02:37Z</updated>

    <summary>Windows Vista is, in retrospect after trying it out for a couple of months, simply a skip me version of Windows. I can just note my own folly in buying it....</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="Rant" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        <![CDATA[<p>Windows Vista is, in retrospect after trying it out for a couple of months, simply a skip me version of Windows. I can just note my own folly in buying it.</p>]]>
    </content>
</entry>

<entry>
    <title>p4shelf</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2008/01/p4shelf.html" />
    <id>tag:www.tilander.org,2008:/aurora//1.58</id>

    <published>2008-01-27T01:35:04Z</published>
    <updated>2008-02-01T06:36:00Z</updated>

    <summary>I&apos;m a big fan of continuous integration, small checkins and very quick checkins. It&apos;s easier to debug afterwards and trying to puzzle together from perforce history afterwards is much easier when the changes are small and atomic. Now, that&apos;s what...</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="Python" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Tools" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        I&apos;m a big fan of continuous integration, small checkins and very quick checkins. It&apos;s easier to debug afterwards and trying to puzzle together from perforce history afterwards is much easier when the changes are small and atomic. Now, that&apos;s what I like to do. Sometimes things don&apos;t really work out in the real world like you want it to so the other day I found myself with the fun situation of having two weeks worth of changes to try to integrate back into the main line. Of course nothing was backed up, nor did I feel particularly worried about it at the time. I had however done a lot of work, some of the changes involved the fruits of heavy thinking and other changes were the result of an hour or two of menial changes to the code that was a result of some other change.

    </content>
</entry>

<entry>
    <title>Stomping on dialog boxes</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2008/01/stomping-on-dialog-boxes.html" />
    <id>tag:www.tilander.org,2008:/aurora//1.57</id>

    <published>2008-01-13T21:11:20Z</published>
    <updated>2008-01-13T21:24:15Z</updated>

    <summary>Have you seen the default crash dialog in windows? It&apos;s a dialog that&apos;s pretty much useless for the normal user (I always just click go away when it happens for other applications) but it&apos;s very useful for your own applications....</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="C++" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        Have you seen the default crash dialog in windows? It&apos;s a dialog that&apos;s pretty much useless for the normal user (I always just click go away when it happens for other applications) but it&apos;s very useful for your own applications. For example, you are debugging some arcane crash that only happens deep inside the content pipeline. It can be tedious to make a reproduction case, that&apos;s small enough so that you can run it standalone in the debugger.
    </content>
</entry>

<entry>
    <title><![CDATA[#include &lt;windows.h&gt;]]></title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2008/01/include-windowsh.html" />
    <id>tag:www.tilander.org,2008:/aurora//1.56</id>

    <published>2008-01-07T02:24:21Z</published>
    <updated>2008-01-07T02:26:33Z</updated>

    <summary>Windows.h must be the worst engineered header of all times. It&apos;s a meta header, designed to include several others and these are usually so bad that I&apos;m wondering if anyone at Microsoft ever learned to program in a larger environment...</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="C++" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Rant" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        Windows.h must be the worst engineered header of all times. It&apos;s a meta header, designed to include several others and these are usually so bad that I&apos;m wondering if anyone at Microsoft ever learned to program in a larger environment (ironic is it not?).
    </content>
</entry>

<entry>
    <title>Is Vista Unusable?</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2007/12/is-vista-unusable.html" />
    <id>tag:www.tilander.org,2007:/aurora//1.55</id>

    <published>2007-12-09T07:29:33Z</published>
    <updated>2007-12-09T07:30:32Z</updated>

    <summary>There is some debate regarding Windows Vista, Microsoft&apos;s flagship that is supposed to be the answer to Apple&apos;s MacOSX. After trying it out for a couple of days now I can only come to the conclusion that OMG it&apos;s bad....</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="Rant" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        There is some debate regarding Windows Vista, Microsoft&apos;s flagship that is supposed to be the answer to Apple&apos;s MacOSX. After trying it out for a couple of days now I can only come to the conclusion that OMG it&apos;s bad. It not only looses by a wide margin to MacOSX, it stands no chance against its supposedly older sibling Windows XP. There are a lot of nice features that I do like, foremost the proper support for running as multiple users smoothly, running as a non root user and then installing programs as root. Nice. Now we&apos;ve caught up with UNIX who had it, ah 1970 or so...

    </content>
</entry>

<entry>
    <title>Comparing std::sort and qsort</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2007/12/comparing-stdsort-and-qsort.html" />
    <id>tag:www.tilander.org,2007:/aurora//1.54</id>

    <published>2007-12-07T06:11:36Z</published>
    <updated>2007-12-07T06:19:03Z</updated>

    <summary>I&apos;m going to do something different today, instead of bashing on C++ as I usually do, I&apos;m going to point at some good things about it. In fact, it&apos;s even involving templates, my old archenemy (Bowser is nothing compared to...</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="C++" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Coding" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        I&apos;m going to do something different today, instead of bashing on C++ as I usually do, I&apos;m going to point at some good things about it. In fact, it&apos;s even involving templates, my old archenemy (Bowser is nothing compared to them). So while I&apos;m happily downloading The Orange Box on Steam, I&apos;m writing this very quick and dirty post.
    </content>
</entry>

<entry>
    <title>Is PS3 development hard?</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2007/11/is-ps3-development-hard.html" />
    <id>tag:www.tilander.org,2007:/aurora//1.53</id>

    <published>2007-11-28T09:25:05Z</published>
    <updated>2007-11-28T09:37:08Z</updated>

    <summary>It&apos;s a little bit disappointing to see that the industry still are clamoring and lamenting the (supposed) difficulties of developing for the Playstation 3. Meanwhile, the consumers must be either thinking that the PS3 is a load of crap, or...</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="Rant" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        It&apos;s a little bit disappointing to see that the industry still are clamoring and lamenting the (supposed) difficulties of developing for the Playstation 3. Meanwhile, the consumers must be either thinking that the PS3 is a load of crap, or that the developers are. I can&apos;t really decide if they are correct on both accounts or if we as an industry have to get over ourselves and just stop whining and get to work. Now if it was easy to develop top notch video games, then they wouldn&apos;t need us, right?
    </content>
</entry>

<entry>
    <title>Assembly Safari, Part I</title>
    <link rel="alternate" type="text/html" href="http://www.tilander.org/aurora/2007/11/asm-safari-1.html" />
    <id>tag:www.tilander.org,2007:/aurora//1.52</id>

    <published>2007-11-27T07:17:36Z</published>
    <updated>2007-11-27T07:33:36Z</updated>

    <summary>Ever since I took the leap from Basic V2 to 6510 assembly on my old Commodore 64, I&apos;ve had a hate/love relationship with assembly. It allowed me back then to do things that were not possibly through any other means...</summary>
    <author>
        <name>Jim Tilander</name>
        <uri>http://www.tilander.org/aurora/about-me.html</uri>
    </author>
    
        <category term="Coding" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-US" xml:base="http://www.tilander.org/aurora/">
        Ever since I took the leap from Basic V2 to 6510 assembly on my old Commodore 64, I&apos;ve had a hate/love relationship with assembly. It allowed me back then to do things that were not possibly through any other means (vblank handler, raster coppers etc). My second foray into assembly was through Turbo Pascal funny enough. Turbo Pascal had this really easy mechanism to escape into inline assembly so that you could write your high level constructs in Pascal and then write the guts in assembly. This worked really well for me for a long while, even though real mode x86 assembly is kind of a pain.
    </content>
</entry>

</feed>


