Archive for January, 2009


Super sqrt

I don’t know, I think I’m easily amused. Not always, but sometimes. For example, I thought this was kind of amusing.

Super Sqrt

Super Sqrt


It feels good to be a winner

Yesterday was this year’s Uniaden. A fair held in and closely around the Universum building at Umeå University. The fair has booth spots for many companies that come and talk students who attend the fair to find out where they might end up working one day. It’s a mutual opportunity for both the companies and the students because the companies can make themselves known and attract talented people to work for them, and the students (well at least some) might create connections with the job market and maybe even get job offers.

Just prior to this year’s fair, Ardendo, which I think is a sub branch of Vizrt sent out an e-mail to most of the computing engineers at the university with a challenge and a chance to win a 320 GB hard disk drive.

The entire challenge was contained in a single source code file written in C++. It was a program that would output an image file, if all the bugs in the program were sorted out. I’m not extremely used to C, and I’ve never used C++, but this code was fairly similar to C, so I wasn’t too lost. I managed to at least fix all bugs that I could see, and I got an image file which had an inscribed time stamp and symbol. All participants were to write down this secret time stamp and symbol along with their name and e-mail on a piece of paper and hand it to the folks at the Ardendo booth.

On the day of the fair, I went there, handed in my contribution and had a good chat with the folks there. For the record, Ardendo seems to be a nice place of work. They do some interesting things (create software solutions for professional television broadcasting stations), and they seemed to think that I’d be a good candidate to work there once I’ve finished my education and given my interests and current knowledge.

When the time came to draw the winner of the competition, they took all the pieces of paper, which were different in size, shape and color because everybody wrote it down on their own piece of paper, and indexed them with numbers. The numbers were then mirrored on a different set of indentical pieces of paper, and the winner was drawn from that set. There were about 6 or 7 people who entered the competition.

It turns out I won!

I couldn’t believe it. And it turns out the drive was 400 GB, and one of those smaller, sleek ones that only need enough power to be powered from the USB cable alone, which is brilliant. It was a happy day.

I should mention I didn’t solve the bugs the way it was probably meant, because if I had, I would appparently have seen yet another hidden “easter-egg” message from the creator of the challenge. If I had solved it correctly, I would also have had a chance in an extra lottery where the prize was a beige cardigan with, I think, the Ardendo logo on it.

I’m glad I won the first lottery.



Once again I came across the term Endianness. I’ve never really cared enough or felt I had the general knowledge of the field to understand what endianness really means, but today I finally felt differently. Endianness has an article on Wikipedia and I decided I would read some of it and finally get an understanding of what the term means.

Endianness basically has to do with what comes first. Take the number 128 as an example. The “1” has the most significant meaning because it is the highest number, or the number with the greatest value because of its position. The same goes for any numbering notation that is positional of any base. Take the binary number 00100100 for example (the ASCII code for “$” and Bender’s apartment number). The first 0 represents 0 * 128, the second one 0 * 64, then the first 1 represents 1 * 32, and so on. As you can see, the farther we go to the right, the smaller the value of the position. This is called a big-endian order, that is, the information with the most significance comes first. Then there is little-endian order which would quite simply just make the number 128 be read as 821, but still have the same value.

Big-endian and little-endian order can be something that is important to deal with when writing a computer program, especially for applications that communicate over a network and run on different architectures. This is discussed in the Wikipedia article. You can however have a lot of luck, for example with our dollar sign: 00100100 is a palindrome which means it’s written the same if we write it backwards. Most words and numbers are not palindromes.

Now we get to the practical part of endianness in regular writing and reading on a piece of paper. Say you’re reading an article on astronomy and it gives you some astronomical number that has tonnes of digits, and the writer doesn’t use prefixes or scientific notation because let’s say it’s a popular-science magazine and the target readers aren’t used to either of them.

Say the article talks about a distance in space of 819273987123781233 km. That’s fun to read. If you would be reading the article to one of your friends, you’d likely take a few seconds to first determine how big that number actually is (millions/billions/trillions/etc.), and then start to slowly traverse the big number. Now, we’ve since long invented something called the thousands separator, which would transform the huge number into something slightly more readable, but not by much: 819,273,987,123,781,233. The problem is that we don’t see big numbers like this often enough to “see” how big it is immediately. If we see the number “100,000” or even “100000” we might be able to determine its true size much faster, because those numbers are much more common. But not this one.

The number is spoken as: “eight-hundred and nineteen quadrillion two-hundred and seventy-three trillion nine-hundred and eighty-seven billion one-hundred and twenty-three million seven-hundred and eighty-one thousand two-hundred and thirty-three”. Not only does it take long to say, but even longer to form the phrase in your head when you only have the digits to start with. What would seemingly make things easier would be to move over to a little-endian notation where the smallest number comes first, such that we would have 332,187,321,789,372,918 but it would at the same time represent the same value as before. However, this would force us to say “three, thirty, two-hundred, one thousand, eighty thousand, seven-hundred thousand, three million” and so on. Even if it is easier to start reading and saying the number much quicker, this is still as inefficient as the old way, or worse, since we have to say “thousand” and “million” and “billion” as so on for each digit that we come to.

This is where I propose the adoption of a more peculiar style of what I call little-endian thousands-separated notation, which is based on the fact that we like to group things by the thousands, and multiples and exponentiations of one thousand, in our numbering system. The basic idea is to either say the first 332 as “two-hundred and thirty-three” and keep a pure little-endian literal notation, or the even more peculiar, but most likely underestimated, notation that looks like this: 233,781,123,987,273,819, which you would read as “two-hundred and thirty-three seven-hundred and eighty-one thousand one-hundred and twenty-three million nine-hundred and eighty-seven billion two-hundred and seventy-three trillion eight-hundred and nineteen quadrillion”. This way, we can compress not only the way we actually think the huge number in our head but also the way we say it. We can also benefit from being able to start reading and saying the number right away without having to scan more than 3 digits at a time, which would come more and more naturally as this notation becomes more widely adopted. As an added bonus, saying really huge numbers could add excitement, because as it is now, we say the highest number first, thereby ruining the surprise of just how big the number really is.


Zeitgeist – Critical Knowledge for the Masses

I thought I would set up an account on I feel like it’s much nicer here than at Feels less like “hey let’s keep it extremely simple” and more like “let’s use standards and throw tons of features at our users but order them neatly so it’s not cluttered too much – the users will have to explore them by themselves.” Kind of. Also WordPress is OpenSource I believe (

Anyway as my first post, I’d like to just copy over my latest post from blogger because I feel like it’s an extremely important post. Here it is:

I recently watched Zeitgeist: Addendum. It is a film that is as astonishing as it is enlightening, frustrating, and appalling – a film that makes you believe there is hope for the future of humanity, but at the same time makes you feel there is just something inherent about the human race and the leaders of the world such that we will never reach world peace.

From the official “statement” page of the Zeitgeist movies’ homepage (link on the bottom).

‘Zeitgeist, The Movie’ and ‘Zeitgeist: Addendum’ were created as Not-for-Profit expressions to communicate what the author felt were highly important social understandings which most humans are generally not aware of. The first film focuses on suppressed historical & modern information about currently dominant social institutions, while also exploring what could be in store for humanity if the power structures at large continue their patterns of self-interest, corruption, and consolidation.

The second film, Zeitgeist: Addendum, attempts to locate the root causes of this pervasive social corruption, while offering a solution. This solution is not based on politics, morality, laws, or any other “establishment” notions of human affairs, but rather on a modern, non-superstitious based understanding of what we are and how we align with nature, to which we are a part. The work advocates a new social system which is updated to present day knowledge, highly influenced by the life long work of Jacque Fresco and The Venus Project.

These two films, or at least the second film, are probably the most significant pieces of expression in history, because they have the potential to introduce radical, and positive(!), changes to the societies of the world and thus the state of the world today.

In short (extremely short), Zeitgeist: Addendum talks about how money is the root of all evil. This may sound like the biggest cliché you’ve ever heard, but you most likely have no idea of how much there is to know about the evil that money brings. You will be blown away.

The knowledge you will gain from these movies are part of essential and important, common knowledge about the state of the world! And even if you don’t have about 4 hours to watch them both, try to take at least 2 hours to watch Zeitgeist: Addendum. If you don’t have 2 hours, try to take 1 hour, 30 minutes or 15 minutes of your day, and finish the movie(s) in parts. It is important. For all of us.

The Zeitgeist movies can be viewed directly via Google Video or downloaded using BitTorrent technology. You can download the BitTorrent files from the link provided below. The files point to high-quality “DVDRips” (almost DVD quality) so that might be the way you want to go.


Nice BitTorrent clients: