Bill Gates vs. Steve Jobs

Getting a bit… exhausted from reading/listening to all the debate and action from Bill Gates and Steve Jobs? Go ahead and watch this video; It’ll make it all a whole lot more interesting, for sure.

“But it has no windows!”

“EXACTLY!”

It’s hilarious, really.

Happy Valentines Day Googe

The folks at Google sure love mathematical and philosophical references, like the mathematical riddle posted on a billboard as a means of recruiting new engineers, and most recently today’s homepage Doodle.

Google Valentine 2007 LogoToday’s Valentines Doodle caused some buzz due to its seemingly incorrect spelling, ‘Googe’. Some people even went to the extreme and claimed Google is indeed considering a name change. Some claim that the designers simply forgot the letter L. Others argue that the strawberry stem may be the missing letter. Personally, I thought the G and L are living up to the occasion, L being the chocolate covering the G. Who knows, it’s all one big mystery…

Except for those who truly know love, says Dennis Hwang of Google in a post entitled “Strawberries Are Red, Stems Are Green” (hint hint!) on the Official Google Blog, stating:

I just know that those with true romance and poetry in their soul will see the subtlety immediately.

It’s safe to say the strawberry stem has some L’ness to it, but there’s more to the subtlety. What might ‘Googe’ be? Why, a quick Googling of the term returns a Wikipedia entry for Barnabe Googe, an English poet well-known for one line of poetry, I did but see her passing by, and yet I love her till I die. I’m sure there’s lots more…

Happy Valentines Day!

Staying Anonymous Online

Following the recent accusations that Google and Amazon (among others) are profiling you without your knowledge, I’ve been asked by many, both online and offline, how they can stay anonymous online. If you’re wondering the same thing, read on!

Onion Routing

OnionOnion routing is the concept of distributing packets among many different servers and routing them onwards randomly while en- and de-crypting them. This effectively prevents anyone from seeing where a packet came from, or where it’s headed. The periodical encryption even prevents the servers that are routing your packets to see where it came from, or where its final destination is. Each individual server only knows where the packet came from and the next server it is to be sent to (hence the name, we’re peeling the onion). Simply put, you’re untraceable.

This technique is being used by everything/everyone from journalists within restrictive regimes, to corporations conducting opposition analysis, and even the U.S. Navy, who used it as a means to communicate while within the middle east, not too long ago. It is, however, not completely secure. If someone had access to both your computer and the server you’re trying to communicate with, they could potentially assess what packets are part of the same circuit. Fortunately, this is very rarely the case.

Why should I use it?

By now you’re probably hyped about the possibility of committing online fraud, hacking, identity theft and other illegal activities. Perhaps not. Either way, it’s certainly possible — just don’t consider yourself the next Kevin Mitnick quite yet. If the CIA really wanted to get to you, I’m sure they could. Besides, Kevin Mitnick’s true strength was social engineering. …Oh yes, there’s some moral/legal issues, too.

Jokes aside, there’s various scenarios where you might want to hide your identity. Personally, I use onion routing when I’m online on campus. Even though there’s no real reason why I should, as I don’t perform criminal acts (that you know of), I just don’t like having someone breathe down my neck. What I do and where I go while online is my business, not the school’s internet administrator with his sparkling Microsoft diplomas and Microsoft Windows Server 2003 running ISA. Yes, we’re quite up-to-date here in ol’ Denmark.

Other scenarios include:

  • You want to find information on treatment for an illness that you do not want anyone to know about.
  • You’re in a country that is known to actively monitor internet traffic.
  • You participate in e.g. online chat-rooms for victims of abuse, rape, etc.
  • etc…

Quote from the Tor website:

Individuals use Tor to keep websites from tracking them and their family members, or to connect to news sites, instant messaging services, or the like when these are blocked by their local Internet providers. Tor’s hidden services let users publish web sites and other services without needing to reveal the location of the site. Individuals also use Tor for socially sensitive communication: chat rooms and web forums for rape and abuse survivors, or people with illnesses.

Journalists use Tor to communicate more safely with whistleblowers and dissidents. Non-governmental organizations (NGOs) use Tor to allow their workers to connect to their home website while they’re in a foreign country, without notifying everybody nearby that they’re working with that organization.

Using it

Tor is the most popular installment of onion routing. It is being used by hundreds of thousands of people around the world. This means that there are thousands of potential servers on your traffic’s path, which ensures your anonymity. For a visual demonstration of how Tor (and onion routing in general) works, see the pictures below.

How Tor works 1 How Tor works 2 How Tor works 3

Tor is surprisingly easy to install, configure, and use — regardless of operating system. For download and installation instructions, please see the Tor download page. For more information about online routing and Tor, see their website.

Stay safe, and happy peeling!

Linspire and Ubuntu to Join Forces

In an announcement posted earlier today, Kevin Carmony, the President and CEO of Linspire, Inc. announced that Linspire will be based on Ubuntu in the future. In return, Linspire’s CNR service will be available to Ubuntu users. Below is a chart demonstrating how Linspire will be set up in the future:

Linspire and Ubuntu Chart

According to Kevin, Linspire will still default to KDE and, most probably, be based on Kubuntu, the KDE flavor of Ubuntu. It will continue to look and feel just as it does now, with the same features and improvements that already exist in Linspire.

The CNR plugin for Ubuntu will be available with the 7.04 release of the distribution, labeled “Feisty Fawn”, which is scheduled for April 2007. From that point onwards, if all goes well, we will be able to perform one-click installations of software that has been a pain to obtain and maintain so far.

At first glance, this is definitely great news. Ubuntu users having easy access to tons of proprietary software like drivers, games, software, etc. — and Linspire being based on Ubuntu, Debian’s… successor, if you will. 87% of the official announcement’s readers think so too, where 4% disagree and 7% have mixed opinions.

Personally, I am a bit skeptical of potential compatability issues; whether or not CNR and apt will successfully co-exist in perfect harmony and happiness, and to what extent Linspire will be supporting Ubuntu over the final Linspire in their package optimization process. Having some packages available to Linspire users and not Ubuntu users because of Linspire-specific additions would really suck — but only time will tell.

Kevin Carmony also included a FAQ in his announcement, targeted at Linspire users.

Taking Over the World

In terms of broadening the use of Linux, this is good news and progress however way you twist it. Generally, things have been moving a lot faster lately with all of the DRM issues of Windows Vista. And not just in the tech-savvy field; the Swedish armed forces have chosen to use Red Hat Linux, Russian schools have chosen to migrate to Linux after a recent Microsoft privacy lawsuit, and finally, PSA Peugeot Citroën in France have made SuSE their desktop of choice. These are just some of many others who have already officially made the switch, including high-profile entities.

Now, if only my X-Fi was supported… Creative, I’m looking at you!

Linux Kernel 2.6.20 Released

Baby TuxThe Linux Kernel version 2.6.20 has just been released. There’s a bunch of cool new features and improvements, including:

Announcement - Super Bowl special!
Changelist

Before downloading the actual new kernel, most avid kernel hackers have been involved in a 2-hour pre-kernel-compilation count-down, with some even spending the preceding week doing typing exercises and reciting PI to a thousand decimal places.

You may like the Wii or the 360 more, but only the PS3 is gaining official Linux support, written by Sony engineers.

Time to compile!

How I Taught Myself Programming by Making a Game

This is the tale of how I wanted to create my own computer game, how I taught myself programming by doing it (not the other way around), and why I think you should do the same.

My Story

Stick ManMy first exposure to computer programming was back when I was about 10. Some of the cool boys at school (you know how it’s like) were playing a fantasy game with each other, all in text. They called it a “MUD“, one of the oldest genres of computer games. I grew curious and it didn’t take long before I was sat at home, religiously emerged in text worlds, rather than graphical games like Quake and Counter-Strike (both wildly popular back then, of course).

Briefly about MUDs: If you’ve never heard of or played MUDs, I strongly encourage you to give them a try. They may not have graphics, but that is exactly what gives them power. They’re like books — if you have a decent imagination, you don’t need graphics. In fact, I’d play a MUD over a game with crappy graphics any day. MUDs are also incredibly educational — if I hadn’t played MUDs, I wouldn’t be speaking nor writing English nearly as well as I do today (I’m not a native speaker), and I probably wouldn’t know much about programming either. If you’re still not curious, there’s also the fact that about half of MUD players are female (*wink*).

Anyway, after a while I decided I wanted to create my own game. I downloaded a C codebase and started hacking away at the source, experimenting and learning the basics of programming (I was completely clueless before MUDs). Creating a game was no longer a mere dream — I was doing it, even though I was quite a newbie. I was in the matrix.

Eventually, my little project evolved into more than just a spare-time thing and was serving a couple thousand players, admittedly not simultaneously but I was still quite impressed, and I had learned many a valuable lesson about everything from love to programming.

I took the plunge into the world of programming without reading any books on the subject. I am a person who learns best from practice, so it wasn’t all that bad. I bent, I broke and I played with the code and eventually I learned all about functions, pointers, memory management, and all the other fun feats of C. The only downside to this was that I was not learning contemporary programming languages and methods. Until recently, that has been the single biggest reason why I haven’t recommended that anyone interested in programming start out by trying to create their own MUD. MUD codebases are old… Well, most of them, anyway.

NakedMud

Another Stick ManNakedMud is a modern MUD codebase whose core is still in the good old C, but everything else is accomplished using Python as an embedded scripting language. Don’t let C discourage you — if you want, you can leave the core alone, do everything in Python and only make the small, necessary changes in C. Python is incredibly easy to learn, and games are much more fun to work with than traditional learning tools, right? Could it be any better? Besides, as soon as you’re comfortable with Python, modifying C will be painless, too.

Geoff Hollis, the creator of NakedMud, describes the codebase as a clean and easy way to create your own MUD, without all the usual hassle that other codebases bring — and that’s exactly what it is. NakedMud’s source is beautifully clear and concise in comparison to other codebases, making it a perfect tool for those who want to create their own game for the first time, and have no clue how to do it from scratch. If you want to create your own game, really, use it.

What now?

I won’t go into details about NakedMud as Geoff has literally written books about it. If any of this has even remotely tickled your curiosity, I will, however, end this off by strongly recommending that you learn more on your own. Here’s a few links to get you started:

The source of the MUD I created, Shattered Dreams MUD (SDMUD), can be found here. As you can probably imagine from what I said about it being my first, it isn’t a masterpiece. If anything, studying the source of it will make you realize what makes NakedMud better than the other, old, mainstream codebases.

I Ate a Mint Too

Mint LogoI’ve decided to take Mint for a whirl. Mint is basically Google Analytics, just nicer looking, server-run and best of all, it updates instantly. What won me over was definitely Shaun Inman’s informal way of publicizing it — and Paul Stamatiou’s numerous mentions.

Screenshot of Mint, just installed.So, I’ve been running it for a while now, installed some peppers (plugins) and everything looks nice. I can’t wait to check it out when it’s been running for a longer period of time. Check out the screenshot to the right if you want to see what it looks like.

$30 is a bit much for a statistics package, but if you’re a stats-freak like me I can only recommend it. It looks awesome and there’s no delay between updates.

Check out the feature highlights if you’re interested.

Note: If you choose to install Mint, I highly encourage you to create a seperate database for its tables, especially if you’re in a shared environment with per-database/user limited SQL connections. Mint can be a little resource-intensive, but it’s not much. I’d rather have stats go offline than take everything else with it, though.

Mint during a surgeUpdate: Feb 04 2007 - I’m currently receiving my first little surge from StumbleUpon. The page getting stumbled is my article, “How I Taught Myself Programming by Making a Game“. I love being able to sit here, sip some coke, refresh Mint and look at where people come from (the U.S. military, the U.S. government, Harvard, Caltech, Princeton, etc…) where they go, and generally just watch the numbers skyrocket. It is a tingling sensation, really. Kudos to Shaun Inman.

Ubuntu 7.04 Feisty Fawn Includes Proprietary Codec Support

Ubuntu LogoA recent addition to Ubuntu 7.04 Feisty Fawn makes Linux have out-of-the-box support for proprietary codecs. Whenever you try to play a media file you don’t have the codecs for, it suggests to download them for you automatically. What a great addition to the recent announcement that the kernel developers will make Linux drivers for companies for free!

Here are a few screencaps to demonstrate:

1. Attempt to open an audio or video file encoded with a proprietary codec. (Note: I do *not* have universe or multiverse repositories enabled yet, just the official ubuntu repositories) 2. Totem opens, recognizes that it cannot play the mp3, and loads up gnome-app-install. 3. Gnome-app-install guesses at which packages will enable playback of the mp3. “Gstreamer extra plugins” is highlighted by default. 4. I check the checkbox and ubuntu asks me if it is OK to install “community maintained software”. In other words, Ubuntu is asking me if it is OK to enable the “universe” repository (and *not* the multiverse repository). 5. Finally the proper codec is installed for MP3 playback. 6. The MP3 plays!

Screenshots courtesy of this Flickr user.