Algorithms, Data Structures

Algorithms and Data Structures are the DNA of computers, they are what run the world that we live in today, and they will probably continue to run the world long after the human race wipes itself off the surface of this planet. Algorithms help us understand life and increasingly in the future will help us in improving it. When I was a child, I was taught that what a computer does is basically INPUT -> PROCESS -> OUTPUT. That is the core of computing: the INPUT and the OUTPUT are Data Structures and the PROCESS is the Algorithm.

Resources:

References:

  • Introduction to Algorithms (Second Edition), By Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein (MIT Press, 2001)
  • Data Structures Using C and C++ (Second Edition), By Yedidyah Langsam, Moshe J. Augenstein and Aaron M. Tenenbaum (Prentice Hall, 1995)

Day 071 – Oww

_Captain’s Log, StarDate 2007.09.15-18.29_

Am in a lot of pain and am back to a diet of noodles and soup… and painkillers of course.

Day 070 – My Toothache is Back

_Captain’s Log, StarDate 2007.09.14-18.23_

I had a lot of plans for this weekend, but all that has been put on hold because of my last wisdom tooth suddenly deciding to make yet another painful attempt to come out. If entire nations can co-operate and adjust with each other, why can’t a couple of teeth?

Day 069 – DJ Headphones!

_Captain’s Log, StarDate 2007.09.13-18.12_

The iPod has ubeatable music quality and fantastic portability, but I somehow don’t like things sticking into my ear all day long. So today I finally bought myself a pair of 2-way DJ headphones from Panasonic/Technics. I think they’re one of the best around!

I also went to Canadian Tire to return the inflatable camping mattress I had bought earlier, after realizing that I need a separate [electrical] pump to inflate it! But instead of returning it, I ended up buying a cheap, lightweight foot-pump for it instead.

Day 068 – At Last – m&m’s!!

_Captain’s Log, StarDate 2007.09.12-02.53_
m&m

A long, long, long time ago, I used to read second-hand Archie comics handed down to me by my cousins. They used to have ads of a lot of cool “Amrican” things, and one of them was m&m’s candy-covered chocolate. That was something that I had always wanted to try out… and I found some today in the office snack vending machine. It’s a small world and a smaller life!

Day 067 – iNoTunes

_Captain’s Log, StarDate 2007.09.11-02.28_

Well, somebody bought a new 80 GB iPod today, so that’s where my evening went. On the same note as yesterday, my installation of stupid iTunes refused to work with his iPod because of a difference in the revision number of the software. I had to do another 50+ MB download and wait 15 minutes for it to reinstall before being able to copy music. I know a lot of people who hate iTunes for being such bloatware and we all wish copying music to our iPods was as simple as, well, copying music. I’ve always heard praises of the Mac platform but if iTunes is anything to go by, I’m really beginnnig to have my doubts. Or is it because it runs on Windows? ;-)

Sanity Check

“AM_SANITY_CHECK: checking whether build environment is sane…”

Here are some unbelievably insane things that happen in the world that we live in, and things that some people are doing to try and fix them.

When does the madness stop?

Day 066 – Strange Windows Vista

_Captain’s Log, StarDate 2007.09.10_

Somebody got a new laptop today so I spent my whole evening imparting tips and advice. It was an HP dv6000 running Windows Vista. We left it running with nothing but the web browser on and came back from dinner to find that it had unexplicably crashed. Several attempts later, we got the system to boot but then we got this weird message saying that the OS installation had crashed and needed to be repaired. The best part was that according to the message, “only installations listed below can be repaired”, and there was absolutely nothing listed below. The message went on to explain that if no installations were listed, then we should “load the appropriate hard disk drivers”. Isn’t that wonderful? Your OS telling you to load the hard disk drivers so that it can recognize itself? I mean, if I have to load hard disk drivers myself, what do I need an OS that takes up 17 GB for? Insane!

Operating Systems, OS

There are two categories of Operating Systems. The first, like Linux, manage system resources and provide an interface between the user and the underlying hardware/software, enabling humans to effectively use computers.

The second, like Windows, basically look good and pretend to do a million different things, but can’t do any of them correctly or efficiently. As is the case with everything else in life (such as music, for example – think Britney Spears vs Pink Floyd), the second category has a much larger and much more visible fan following (ahem, sorry, “user base”*).

*I’m referring to Desktop Operating Systems

All that apart, Operating Systems pose the ultimate technical challenge in computer programming, and that’s the reason I’m writing about them here.

“UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, and DOS is a boot partition virus.”

-Peter Coffin

Resources:

References:

  • Operating System Concepts (6th Edition), By Abraham Silberschatz, Peter Baer Galvin, Greg Gagne (Wiley, 2001 )

Day 065 – R&R

_Captain’s Log, StarDate 2007.09.09-01.09_

After yesterday’s adventures, I decided to let my poor body get some rest… I woke up at about 2 in the afternoon. For a change, I watched a movie in the afternoon and another one in the evening! I got myself another Flickr account and started uploading photos there. I still haven’t been able to collect all the photos from all the cameras that were there in the Niagara trip!