Apr 222010

Thanks Microsoft. I have a console that’s barely over a year old and I already have an open tray error. I bought a new console because my old one died after I sent it back to you TWICE. It also had an open tray error. Thanks a lot Microsoft for MAKING SUCH A SHITTY CONSOLE. I have seen retarded monkeys make better console. Honestly, just what kind of shitty racket are you douchebags running? Are you guys so fucking stupid that you can’t even make a DVD drive that WORKS? Are you seriously THAT DUMB? Not only that, you want me to pay $99 to get it fixed because you retards are too damn stupid to make it right the first time? Fuck you.

Jan 062009

Yesterday, while wrestling with my Windows XP machine to make it do dual-monitor display properly (I can’t get it to set my LCD as primary display), I ended up hosing the registry completely. It took me about two more hours to fix the system and get it back to where it was. During this whole ordeal, there were long periods of waiting when drivers were installing or when chkdsk was running. I took this time to surf the web and ended up landing on a digital copy of In the Beginning was the Command Line by Neal Stephenson. While skimming through the book (I have read the book before; I own the hard copy), I realized a few things. The book is definitely outdated; it was written before Mac OS X came out. However, a lot of points were still valid. I was mainly struck by the changing character of the Mac, and also in some sense, the changing character of (some) hackers:

Hackers like to hack. This is not a bad thing. In fact, “hack” originally did not mean “break into goverment/financial systems and do bad things”, and a “hacker” was not an unsavoury individual who did the aforementioned “bad things”. A “hack” originally meant “an elegant and clever solution to a problem” (although, it paradoxically also means “crude and ugly solution to a problem”), and a “hacker” is a person who comes up with such solutions. Most programmers call themselves “hackers”. The media term “hacker” is actually described by the term “cracker”. Hackers are constantly tinkering with things. Usually they are trying to make things better, but more often than not, they end up breaking it. However, in the process they learn very valuable lessons about how not to break something, and then immediately find another way to break it again. In all seriousness though, what we learn are the limits of the system, and how the system works. Hackers don’t like unknowns and black boxes. They want to know what makes things tick.

My dad got me my first computer in 1990. I didn’t do much on it at first other than play games. I actually started writing code in 1992, and I haven’t stopped. I’ve been hacking around since then, and in the process I’ve learnt a lot of many cool things. Over the years I’ve experimented with various OSes and programming langauges, and in the process broken and hosed many computers. But each time I learnt something valuable from them… mostly. One of the cooler things (I didn’t learn anything from this really, it was just a bug) I did was writing a self-replicating Perl script that kinda ran wild on ASU’s Solaris server. There were so many scripts running around that it brought the server to a crawl. I eventually figured out what was happening and managed to kill all the processes. Anyway, my point is that people like me like to tinker around. We don’t mind if we break stuff while doing it, because we’ll figure out a way to fix it. It’s the “figuring out” part that makes us happy. So what does all of this have to do with Apple, Hipsters, and Hackers? Well, in Neal Stephenson’s book he describes two kinds of people: Eloi and Morlocks. An Eloi is your average internet user; they view computers as appliances and tools and nothing more. A Morlock, on the other hand, is your average hacker. The computer is definitely a tool, but it is a tool that can be used to create other tools. The workings of a computer are usually a mystery to an Eloi, but not so for the Morlock. Before Mac OS X, most users of Macs were of the Eloi variety. The Mac was a beautiful and stylish magic-box that did wonderful things. The inner workings were a mystery. You couldn’t easily get inside and tinker with it, but that wasn’t really an issue because Eloi don’t care about things like that. Morlocks gravitated more towards the PC world. Sure, PC’s were clunky and definitely not as stylish as a Mac. Plus, a lot of them ran Windows which many Mac fans claimed was a clunky and cheap copy of the Mac OS (in truth, everyone basically copied Xerox PARC). However, they could be opened up and tinkered with. At this point in time, there was also this thing called Linux, which was an interesting piece of software (at the time). Linux is basically just an operating system. What most people mean when they say they “run Linux”, is that they run a distribution of Linux. A distribution consists of the kernel (Linux), in addition to a bunch of userland tools (programs that actually let you do something). The cool thing about Linux was that it was free. You could go download it and install it on your computer and it would run. What was even more interesting was that it was made by volunteers. People actually took the time to sit down and write code to improve and enhance the operating system. Running Linux in those days was a chore. Most distributions came with a GUI (X with a window manager), but sometimes things didn’t work quite right if you had an obscure monitor and video card. Getting things to work meant going to the command-line and writing strange, arcane incantations and if the Gods were pleased, your hardware might work. But that didn’t bother the hackers, because it was fun trying to get things to work. In addition there was also a certain elitism about it. Running a Linux box meant that you had the time, patience, and above all, intelligence required to go through the mental contortions required to get a working system. But intellectual elitism is nothing new for hackers since all hackers have a bit (ok, a lot) of hubris.

Mac Sales ChartOk, so where am I going with this again? Seriously, I have a point. Things changed when Mac OS X came out; it had a command line. The command line is very important to us hackers because it lets us look “under the hood” of the GUI. True hackers always go to the command line to do serious work. The command line is a place where a pithy one-liner can replace a series of windows and buttons. To the uninitiated, the command line is a scary place where confusing and dangerous things happen. Just like a magic spell, you had to write obscure words and symbols to the computer, in the correct sequence. If you were lucky, the computer would derisively spit out an error. If you weren’t you probably broke your computer. If you were really lucky, the computer accepted your commands and did what you told it to do. The point of the commandline is that you get God-like power (mostly; to truly be God you had to be root). While this power enables you to be extremely efficient, it also enables you to do destructive things equally efficiently. The GUI shields you from the hard edges of the underlying OS. The cryptic command line is replaced by friendly windows and buttons. When the Mac OS got a commandline in Mac OS X, hacker types were suddenly interested in it. You now got the legendary stability and the “it just works” attributes of a Mac OS with the power of a commandline, and that too, a UNIX commandline (OS X’s kernel is essentially based on BSD, which is a direct descendant of the original UNIX). Which brings me to the main point. What I’ve noticed over the last few years, especially after graduating from college, is that even though I love to hack around and test the limits of a system, most times I simply want a system to work. I want to spend less time fixing the system, and more time fixing my own code. I have also noticed that I’m not the only one with these sentiments. Many of my fellow nerd and hacker friends own Macs and develop on them now. I considered getting a Mac as well, but it was a little over budget for me and I couldn’t justify the cost at the time. Macs provide a very good mix of power and stability, and that is extremely attractive to a developer. You can still hack around on the Mac (and you could probably break it), but most of the time you know it’s something you did that broke the system, than just a quirk with the system. In my personal opinion, I think Apple’s decision to include the command line in OS X was brilliant (their other good move was moving over to the ubiquitous x86 architecture). In fact, if you look over the sales chart (courtesy systemshootouts.org) of the Mac from 1997 to 2008, you can see how their sales remained more or less constant from ’97 to ’02, after which it really started taking off. OS X was released in 2001.

In the old days, Mac users were a tight-knit, elitist bunch who sneered at their less-fortunate Windows-using cousins. Most times, it was with good reason. The Mac OS was stable and polished, while Windows was a clunky GUI bolted on top of a command line. To be fair to Microsoft though, Apple didn’t have to put up with exotic hardware since they had complete control over it. The demographic that Macs attracted was mostly the artistic or hipster bunch. In recent years, the demographic has increased to include some people who also liked the supposed “coolness” of the Mac. If you owned a Mac, you were different. You were part of a “cool”, “hip”, and “artistic” minority. Apple played this up, marketing the Mac as not only a stable alternative to a PC, but a cooler alternative too. Today you have more people than ever using Macs. From a sorority chick who uses it because “OMG it’s like so pretty!” to a programmer who likes it because “OMG d00d it’s lyk teh UNIX!!11!” Apple has successfully bridged the gap between two extremes. In future years, I think Apple will continue to grow stronger, and the sales of Macs will continue to rise, providing a viable, proprietary alternative to Windows. I’m not an Apple fanboi; I like FreeBSD (perhaps why I have a soft spot for OS X) and Linux more, but I think Apple deserves respect for making an excellent OS that’s friendly to hackers and hipsters alike.

Dec 282008

Here is a first look at the Windows 7 beta. All I could really get from the review was that “it’s done”, and that it “feels snappier” and that it is “more responsive”. In the screenshots it still looks like Vista. The taskbar reminds me of KDE. A bunch of torrent sites have the beta up for download. Microsoft is expected to announce the build’s public availability in January. So you can get a copy of it and try it out, but to do so might be “breaking the law”. But that hasn’t deterred a bunch of people who’re out downloading it. Right now, piratebay‘s torrent for the beta is showing 2,503 seeds and 8,137 peers.

On another note though. People seem to think that this is a new operating system from Microsoft. It isn’t. It’s just Vista Service Pack 3, in my opinion. I mean, how long did it take Microsoft to come up with Vista after XP? I seriously doubt they got a brand new operating system out in about a year and a half. The name is just a PR campaign to bury the name “Vista”. There is so much bad press and publicity surrounding the name that Microsoft has to get away from it, if they want the Vista codebase to be successful.

I had Vista on my laptop. It was alright; I didn’t use it long enough to run into too many issues. The UAC prompts were pretty annoying though. Also, compiling anything on it took forever. I’m running Ubuntu on it now, and it’s way faster. My sister and my dad both run Vista, but I haven’t heard of them having any problems. If Windows 7 really is good, then I might actually consider running it. I currently have only one Windows machine and that’s running XP. Everything else is either running FreeBSD or Linux.

Aug 242008

I went to JavaOne a few months ago. It was a pretty neat experience and I learnt a lot of cool things. One of the things Sun was touting was the JavaFX family of technologies. It allows you to create RIA (Rich Internet Applications) using JavaFX Script, a domain-specific language built on top of Java. The demos were pretty impressive and it looks like Sun’s answer to Flash and Silverlight. I went to a few JavaFX sessions and I signed up for the preview SDK, which came out a few weeks ago. Since then, I’ve been playing around with the language to see what it can do. The language is pretty neat and being dynamic, has some pretty cool features like closures, list comprehension, lazy/incremental evaluation (through binding), and triggers. In addition, it uses a declarative model (although you can still use the traditional model) for describing a GUI. The API provides Swing components, but I believe the intent is to completely move away from that and use only JavaFX GUI components.

Calendar widget

Using a language that is only in preview is pretty interesting. The API is unfinished and the language isn’t completely mature, but this is to be expected. That being said, it still looks promising and seems to be a very capable and expressive language. Also, seeing as it is built on top of Java, you have access to all of Java’s rich API in addition to the numerous third-party Java libraries and API’s that are out there. I’ve been playing around with it for the last week or so and I was able to write a small calendar widget. It simply shows a month view for the current month, with the current date highlighted. I haven’t had much experience with writing GUIs in Java, so it took me a while to figure it all out. I shamelessly stole the colour gradient background from one of the demos in the preview SDK. The only issue I have right now is the load-time of the widget. It seems to take a while when you load it first. I don’t know if it has to do with the way I coded it or not. I’m pretty sure I’m not doing it the best way, but I expect to get better once I get more familiar with the language.

Here’s a screenshot of the widget running on Firefox 3 on my Ubuntu laptop (the theme is a Leopard theme):

Calendar widget

I have more details on the project page.

Jun 182007

WiiI bought myself a Nintendo Wii in February. I really wanted one because it looked like fun, and I also really wanted to play The Legend of Zelda: Twilight Princess. I tried to get one in December, which didn’t happen because they were all sold out. In February, I went to Best Buy to get one and they were sold out. I hung around for no particular reason and ended up playing the Guitar Hero II game for about half an hour. I suddenly noticed store personnel walking in with a bunch of white boxes. I swear, as the guy reverently placed the box on the shelf, the clouds opened up and a single ray of sunlight fell on the box (there was a hole in the ceiling). I also heard a chorus of angels.

Wii ControllersI used to game a lot, but then I stopped because it got too expensive. Also, graduating and getting job was a huge factor. I simply didn’t have the time to play a lot of games. That’s not to say I don’t enjoy them. The first thing that got me about the Wii, of course, is its revolutionary interface. The first game I played was Tennis, from the pack-in Wii Sports game. Of course, the graphics weren’t mind-blowing, but playing it was fun above all else. That is what made the Wii a success. It is an excellent family console that targets the casual gamer. In a paradoxically Zen manner, Nintendo managed to be a gaming success without targeting gamers.

I got firsthand experience of the how much fun the Wii can be, when my parents came over to visit. My parents don’t play games as much. My dad will occasionally play but more often than not, they’re usually telling me to stop playing. But both of them found the Wii to be a lot of fun. My dad especially enjoyed Tennis and Bowling. This last weekend, I took my Wii over to California, so that my sister, my cousins, and I could play. My uncle, who never plays games had a whole lot of fun playing Golf and Tennis on Wii Sports. The fact that a console can generate interest in a demographic that doesn’t typically play games demonstrates its success.

I hear a lot of comments from Xbox (360 and the older one) and PS3 fanboys. They seem to be peeved that the Wii is a success (PS3 fanboys seem especially peeved). I’ll address their points here:

  • The graphics on the Wii suck! It’s not even that much better than the Gamecube!
    It’s not about the graphics. Nintendo didn’t try to make a console with breath-taking graphics. They tried to make a console that was fun, and that everyone would enjoy. From the looks of it, the gamble paid off.
  • I’ve played the Wii and it’s ok for a while, but now I play my Xbox/PS3 while my Wii gathers dust.
    Good for you. You must be a serious gamer. Nintendo didn’t make the Wii for you. The market consists of two kinds of people: hardcore gamers and everyone else. Nintendo went after everyone else. Guess which group is bigger?
  • The Wii is not a serious gaming console. It’s just for kids and it’s mainly for fun.
    Fanboys say this like it is a bad thing. It’s not. The Wii was never meant to be a serious gaming console. It was meant to be a fun console. I remember watching my dad play the Sinclair ZX Spectrum when I was really young. It was a home computer created by Sinclair Research Ltd., a UK-based company. It had very simple games which were fun. I think this was probably the last console that my dad played games on (not counting FIFA 97 on the N64, and Prince of Persia on the PC). He played those games because they were fun and simple. Most casual gamers, or even non-gamers don’t really enjoy complicated RPG’s (Role-playing games) or FPS’s (First-person shooters). They like to jump in to a game and play without learning complicated button-sequences, or even figuring what each of the buttons do. The Wii offers them that in an extremely innovative and revolutionary form.
  • The Xbox and PS3 are technologically superior to the Wii.
    So? Technological superiority has nothing to do with it. Don’t you get it? This is not about the serious hardcore gamer. Yes, the hardcore gamer cares about photo-realistic graphics. The hardcore gamer cares about specifications. The casual gamer doesn’t. Despite the Wii not being “up there” with the Xbox and PS3 as far as technology is concerned, it still is a raging success.
  • The Wii controller is lame! The motion-sensing is not that precise! It doesn’t even have that many buttons!
    I forgot where I saw this gem of an argument… Anyway, the Wii controller is simple. You move your controller, and your character does the same. Someone was griping that the Baseball game on Wii Sports wasn’t like actual baseball. Ok, so you’re telling me that pushing a button on a regular controller is more like actual baseball? Casual/Non gamers don’t want to take on the learning curve of complicated button sequences and button assignments. The Wii even hearkens to the days of the Classic Nintendo Controller, when things were much simpler. So understand this: Simple = Easy = Fun.
  • The Wii sold more only because it is cheap!
    Yes, this is true. But that’s not the only reason. Yes, many customers balk at the $500-$600 price-tag of the PS3. However, why shell out that much when you can get a more “fun” console at half the price? I went to Best Buy a few weeks ago and saw a customer asking one of the employees if they had any Wiis. The employee’s response was that they were all sold out. I went up to him and asked him about the sales of the PS3 vs. the Wii. He said that the Wiis were getting sold out almost as soon as they came in, whereas the PS3′s were still sitting on the shelves.
  • The Wii games are lame! There are not even that many games!
    This also falls into the “Wii is for fun” category. Wii games are for fun. It is true that the Wii doesn’t have that many games, but neither does the PS3. Another important point to realize is that many developers are scrambling to develop titles for the Wii. Many developers ignored the Wii, and laughed it off as a console that was doomed to fail. After the console’s success, many developers are now rushing to release titles for the Wii. This further highlights the success of the console. Also take into account that development costs for the Wii are between $2 million to $3 million versus the $20 million to $30 million for Xbox 360 or PS3 titles.
  • Wii is for losers and pussies!!!!PS3/XBOX RUELS!
    I suspect that most of the people who make these sort of comments are frustrated 14-year olds who’s moms didn’t buy them a PS3. Or people who bought the technology-laden PS3 to compensate for some part of their anatomy. I can only say this: most people who buy Wiis, buy it for casual gaming. Casual gaming probably means that they have other things that are more important. Like for instance, they may actually have a life.

Let me categorically state that I don’t consider the Xbox or the PS3 to be “bad” consoles in any way. I am also not saying that the Wii is the “best” console out there. I have played games on the Xbox 360 (Gears of War is one of them) and I have seen the PS3 in action. Gears of War is a fun game, and the graphics on the PS3 are mind-blowing and gorgeous. It all comes down to your needs. Do you want a technology-heavy gaming-powerhouse? Then you might want the PS3. Do you want a fun console that the whole family can enjoy? Then you might want the Wii.

Nintendo made a brilliant (and risky) strategic decision to target casual gamers, and it paid off. There’s no reason to be mad at Nintendo because of that. All I know is that I enjoy playing my Wii, and so does my family. This is more than I can say for any previous console I have owned.

Wii Sports Twilight Princess

Wii Sports and The Legend of Zelda: Twilight Princess

Sep 182002

I probably should document my code. It’s not cool coming back to it after three months and wondering what the hell you were smoking when you wrote it.

I managed to figure out (vaguely) how I got fly working. I know I did something weird to the makefiles. I think I had to link it explicitly or something. Anyway, I can add Photos properly now. All I need to do is finish the “Delete Photos” and “Update Photos” option. Then I can put up the photo album for real. I need to make a non IE5.5+ version too… so that other people can use the photo album at least. I wish everyone would use IE. Seriously. Alright, alright… now you’re probably thinking “What? You can’t say that! That’s an affront to nerds everywhere!”… Microsoft is Evil, but it sure as hell makes my coding a whole lot easier if everyone just stuck to IE. Then there’s .001% Mozilla crowd going. Oh Mozilla is SOOOOOO much better than IE and Microsoft is Evil and you’re a traitor! Yeah whatever. Makes my job SOOOOOO much easier. Stick to IE and while you’re at it, PLEASE upgrade to the latest version – i.e 6.0 (eh? eh? get the pun?) If you’re still using IE4.0, that was sooo 4 years ago! UPGRADE!

All original content on these pages is fingerprinted and certified by Digiprove