Jun 28 2009

On will-power and hardware issues

Steve

I’ve noticed that I tend to use my computer a lot… perhaps even a bit too much. I suppose that isn’t surprising given I’m a computer science major, but maybe I should start cutting down a bit. Typically, whenever I’m not sure what to do or I have a bit of free time, I find myself on auto-pilot, heading over to my computer. It’s just what I do, I guess. I end up surfing the internet, reading blogs, checking email, facebook, programming random stuff, using graphics software, etc. But it eats up  so much of my spare time!

Lately though, I’ve been on my computer less. For instance, I hardly used it at all yesterday, and it was great! I had so much free time, and the day seemed to last twice as long. I got so much stuff done. I wish I could say that this was a self-enforced victory of will power, but alas I cannot. The real reason why I wasn’t using my computer is because it has hardware issues, and I couldn’t really use my computer :-)

You may have heard that nVidia is in some trouble for producing a large number of faulty graphics cards that have found their way into various Dell, Apple, and HP computers. To make a long story short, my laptop happens to be one of the ill-crossed models to receive a faulty chip. My computer worked fine at first when I got it two years ago, but lately it’s been dying due to video card-related issues. At first it was manageable, but the problem has since become much worse, to the point where my computer has been at times completely unusable and unreliable (especially it seems, before psets have been due). My computer is also overheating a lot…  at one point, I measured my computer’s internal temperature to be 91 degrees celsius… yes, nearly hot enough to boil water!! Computer’s aren’t meant to be that toasty inside.

Enough was enough, so I called up Dell last week to tell them what was going on, and that I suspected I had a faulty graphics chip. Sure enough I was right; my computer was affected. Luckily Dell is handling the situation well, and will be replacing my motherboard next week, so the problem should be fixed.

I’m excited that my computer’s finally going to be in working order again, but in another sense that probably means I’ll be using my computer too often again … My forced vacation from computers is now ending, so I’ll actually have to use my will power to avoid letting this little computation device eat up all of my spare time :-)


May 29 2009

More fun with graphics

Steve

In my last post, I talked about Windows Live Writer, which has a number of neat features for inserting images into posts, such as adding reflections, polaroid-style borders, etc. This was all pretty nice, but with some of the features, I had to do annoying little things to get the software to do what I wanted. For example, I had to manually disable hyperlinks to online web albums that the software automatically created (and I didn’t want). Additionally, the program didn’t give a lot of advanced controls; it appears to be designed for ease of use (although in all fairness the software usually did a great job without all the complicated knobs and twiddles).

I wanted to see if I could make pretty graphics like this on my own, with more control, and in a relatively easy manner. Luckily, I’ve been using a great, open-source (free!) image editing program called GIMP (GNU Image Manipulation Program). I’d highly recommend it! In addition to having a lot of great features comparable to Adobe Photoshop (without the price tag), it’s also highly extendable. GIMP allows people to write plugins in the scheme programming language (!). This makes it easy to do pretty neat stuff that might otherwise take longer if you were to use the more elemental features of GIMP. For example,  I downloaded three plugins today; one for rounding the edges of a picture, another for adding reflections, and a third for adding polaroid-style borders to pictures.

Here’s an example picture I made demonstrating the rounded edges plugin and the reflection plugin, used sequentially. The reflection on top isn’t a plugin, it’s a semi-transparent white layer at an angle superimposed over the image.ShinyComputer

Here is a sample collage I made using GIMP. I used the polaroid-style border plugin, and the GIMP rotation tool.

PhotoCollage1

If you compare the above collage to the one that was auto-generated in Windows Live Writer in my previous post, you might agree that they look pretty similar. Although it did take a lot longer to make the above in GIMP (minutes rather than seconds in Windows Live Writer), I had more control. And it was fun making these pictures :-)

If you’re interested, I can point you to the GIMP plugins I used.


Jan 24 2009

Windows 7 Beta!

Steve

I like computers. A lot. So, when I heard that Microsoft had publically released a beta version of Windows 7, the upcoming replacement to Windows Vista, I was very eager to try it!

First, I tried running Windows 7 Beta in a virtual machine on my computer, and it seemed to work fine, albeit fancy graphics (which I wouldn’t expect of any operating system running as a virtual machine). Microsoft recommends not installing Windows 7 as the main operating system on your computer (since it’s still in Beta and expected to have some bugs, and also since it expires in August!). So, I decided to install it on a fresh partition on my computer. After a bit of fighting with my hard-drive to get its primary and extended partitions set up properly, I was able to install Windows 7 on my computer. So, I now have a tri-boot system: Windows XP, Windows 7 Beta, and Ubuntu 8.04.

So far, Windows 7 seems pretty spiffy! It seems very quick and peppy, and the graphics are fantastic (although I admit it wasn’t easy getting Aero graphics enabled – nVidia hasn’t released great video card drivers yet for Windows 7). But once it’s up and running, it’s pretty nice and easy to use. There are some new window-management features (auto-tiling, transparent windows so you can the desktop, live window-preivews in the taskbar, etc.) that make it pretty fun to use. Here’s a screen shot of Windows 7 running on my system:

windows7

I have found a few minor glitchy things in Windows 7, but this is of course expected from a beta-release. I have a hunch that Microsoft is under a lot of pressure right now to churn out a high-quality operating system in the near future. After all, many people seem to dislike Vista due to bugginess (I haven’t really used Vista that much, so I can’t really comment too much on this), and also Macs are becoming overwhelmingly popular as well.

Windows 7 does seem to show a lot of promise so far, so I’ll bet it’ll be a good operating system!


Jan 5 2009

Steve’s Computer Adventures II

Steve

It seems that lately, my computer has been doing a lot of very scary things… frightful to the innocent user who doesn’t know how to revive Windows XP from a recovery CD after an update fails. And last night, frightful to the user who doesn’t know how to fix a failing boot-loader.

I use GRUB as my boot-loader on my computer. For those of you unfamiliar with the term, a boot-loader is a small piece of software that starts the process of “booting” your computer, or loading the operating system. The boot-loader is located on the first 512 bytes of a hard-drive, and this is the place that the computer “instinctively” knows to look when looking for an operating system. Different boot-loaders differ very much in terms of features and complexity, and as a result, some boot-loaders cannot fit in this small, 512 byte region on a hard-drive. To solve this problem, people have developed what are called multi-stage boot-loaders (GRUB being a great example). In a multi-stage bootloader, the first 512 bytes of code on the hard-drive are responsible not for starting the operating system, but instead for loading the rest of the boot-loader!

As I mentioned, I use GRUB as my boot-loader on my computer. The advantage of GRUB is that it allows me to have a dual boot system between Linux and Windows – GRUB is capable of starting either operating system, and it displays a nice pretty menu that lets me pick every time I turn my computer on. All of my GRUB configuration files, as well as the secondary stages of the boot-loader, are all located on one of my Linux partitions on my hard-drive.

So last night, while packing for my trip back to MIT, I decided to check my email.

Bad Idea!

When I turned my computer, I was immediately confronted with an ugly boot-loader error from GRUB: Could not load GRUB stage 1.5 (one of the secondary boot-loader stages). This really isn’t a good sign. If a boot-loader fails, you aren’t able to access the rest of your system. Although all of my files and settings could still have been in tact, I’d be useless to access them, since I could boot neither Linux nor Windows. Pretty scary, huh?

The best solution I could think of to get my PC working and happy again was to use an Ubuntu LiveCD. Since I just re-installed Ubuntu a few days ago (see other posts!), I had an 8.10 LiveCD quite handy. So, I popped the CD into my computer. Since computers check CD drives before hard-drives, Ubuntu 8.10 jauntily booted off of the LiveCD. From there, I noticed something strange: I couldn’t mount my root Linux partition! All of my program files and configuration files were on this parition, and it’s a bad sign if it can’t be mounted. Something must have corrupted this file system. GParted is a program designed for doing lots of administrative tasks on hard-drive, and I tried scanning and fixing the partition for errors. After this, I was able to mount the partition, but then all of my files on it were gone….??

Well, that explains why by boot-loader wasn’t working. If the secondary stages of the boot-loader and all of my configuration files were on an un-mountable partition, then my boot-loader wouldn’t be able to work! I was tired and it was late last night, and I didn’t feel like spending hours fixing my partition. So, I took the brute-force approach and just re-installed Ubuntu, which put back the default system files and created a working boot-loader. After this, everything worked fine.

I’m still kind of mystified as to why any of this happened… do you have any ideas about what could have corrupted my root Linux partition? The funny thing is, my computer was working fine earlier in the day, and I wasn’t even using Linux! I was using Windows, and the one thing I thought of that perhaps may have caused this is a program in Windows that reads ext3 files on other partitions. I was looking through my ext3 files earlier in the day from Windows, and perhaps this program corrupted my filesystem?

Who knows for sure… but thus ends another edition of Computer Adventures… for now! :-)


Jan 2 2009

The Adventures of Steve’s Computer!

Steve

blue_screen_of_death

It’s not my fault this time … I swear!

Really, I wasn’t doing anything that should have caused this… All I was doing was innocently trying to update my Windows XP installation from SP2 to SP3. The “your computer needs to be updated” pop-up that Windows XP ever-so-persistently displays has been appearing for months now on my computer, but I just kept putting it off. I knew that service pack updates certainly weren’t trivial and that they involved updating system-critical files. My machine was working fine, so I just kept putting of the update for another time. Until yesterday of course, when I finally decided, “Oh what the heck, I should probably finally do this update already.” An update installation window popped up and suggested that I back up all my documents and files before proceeding. I haughtily ignored this message, trying very hard to convince myself that “Nothing has ever gone wrong before, so surely everything will work just fine today. Right?” So, I ran the update without backing up.

Bad idea!

After installing SP3, Windows asked me to reboot, so I did. And that’s when I got this delightful blue screen of death. For those of you unfamiliar with Windows kernel panics, the affectionately-named blue screen of death essentially means that some piece of system-critical software just failed, and that the other software doesn’t really know how to respond to this. So, the computer just “panics” (hence the term “system panic” or “kernel panic”) and displays the screen shown above, which I might add is horrifying enough to send shivers down a grown programmer’s spine.

At the time, I had my new tablet (see other posts) plugged into my computer’s USB port. Thinking that this might be confusing Windows (especially after a substantial update), I unplugged the tablet and rebooted my computer, optimistically hoping for the best. However, to my dismay, I was confronted with a screen upon boot-up that said something to the effect of “Windows did not shut down properly last time. You should start it in Safe Mode!” One should always practice safe computing, so I tried starting Windows in safe mode. It didn’t work – I just got the same blue screen of death again. In fact, none of the various safe mode options worked either – all of them gave me the same, and by this point very ugly, blue screen of death.

I should note that it is at this point that, if I didn’t have Ubuntu (a Linux operating system) also installed on my computer, I would probably have been panicking. With no simple way to boot up Windows and access my files, I would have been very concerned that all of my files would be inaccessible and that I would consequently be forced to re-install Windows, which would in the process delete all of my documents and music!

Luckily enough though, I did have Ubuntu 8.04 installed on my computer! Knowing nothing about the trouble on the other side of my hard drive, Ubuntu cheerfully booted up. (On a side note, I’ve been using Ubuntu a lot lately. The more I learn about it, the more I like it. Linux truly is a well-designed operating system, and Ubuntu polishes it up and does its best to make it usable for people who are inexperienced with Linux. It can do just about anything a Windows PC or a Mac can do, and many things beyond. By forcing myself to use it throughout the past few months, I’ve become much more familiar with Linux and found a new appreciation for it!). Ubuntu has the really nice feature that it can access all my Windows files, regardless of the state of Windows. So, even though Windows wasn’t alive enough to backup my files, I could sneak around this and access them with Ubuntu. I have an old computer in my room here at home that has essentially been doing nothing, so I used it as an impromptu backup file server last night. Not only can Ubuntu access my Windows files, but it can also talk to a Windows network. So, with the help of Ubuntu, I was able to safely copy all of my files from Windows to my old computer as backup. That way, if all else failed and I was forced to reinstall Windows and delete all of my documents, I’d be able to get them back.

Phew!

Now that I knew my files were safe, I could be a little more daring in how I fixed Windows. I searched around online, and came across a Microsoft support website detailing how to uninstall a service pack installation by using a Windows recovery disk (one of which came with my computer). I wasn’t sure exactly what the recovery disk would do (like maybe overwrite my files, overwrite Ubuntu, etc.), which is why I chose to backup my files before trying to fix Windows. It turned out, luckily enough for me (and my files), that the recovery disk was indeed able to uninstall SP3 and get my computer into a bootable state again. I finished off the uninstall in safe-mode, and after that, Windows was back (in black). Hooray!


So, the morning after my glorious computer adventure had come to an end, I found myself bored, with a computer in hand, and with nothing else to do. And all of my files were backed up. So why not mess around with things?! :-P

Now that Windows was working, I decided to focus my attention on Ubuntu. There was nothing wrong at all with my Ubuntu installation; it was working like a well-greased machine. So, what do you do when there’s no problem? Fix it! I decided to install Ubuntu 8.10, 64-bit edition. I previously had 8.04 32-bit edition. This was my first time trying a 64-bit operating system on a computer. I was worried that all my device drivers perhaps wouldn’t have 64-bit counterparts in Linux, but I decided to take the risk and install anyway. And I’m glad I did! I burned a LiveCD, overwrote my old Ubuntu file parition (not my home directory though – that’s on a different partition), and it worked great. After adding a few more packages (graphics, build tools, etc.), I found myself with a 64-bit operating system that could finally take advantage of my computer’s hardware! Hooray! Here’s a screen shot of Ubuntu in all of its 64-bit glory:

ubuntu64

Ubuntu 64-bit edition is noticeably faster than the 32-bit edition, at least on my computer. Things seem to load a bit faster, and certain things seem to take less time, etc. It’s really nice!

And thus ends the Adventures of Steve’s Computer. At least for now… :-)


Jan 1 2009

Moore’s Law

Steve

I found a cool website that photographically details the progression of computer processors, dating back to some of oldest (a 1958 calculator processor) to the newest (quad-core beasts):

http://www.technologyreview.com/article/21886/

These examples are meant to illustrate Moore’s Law, which is a prediction that computer power roughly doubles about every 2 years. This prediction has been remarkably accurate, given that it was first made in 1965. Enjoy the pics!


Nov 19 2008

It’s Alive!!

Steve

 Remember the Pentium 4 computer that I got for free last week? The one that didn’t work because it had “memory issues?” I did a little research into why the computer didn’t work, and it turns out that the computer used a type of memory called RAMBUS. RAMBUS was pretty fast back in the day compared to other memory, but there was a downside: each slot inside the computer for memory must have something in it. You don’t necessarily have to put memory in every slot, but if you don’t, you need these things called CRIMM cards to put in. CRIMM cards are essentially “dummy” (as if computer’s weren’t actually dumb… :-) ) memory sticks that fit nicely into the memory slots. CRIMM cards aren’t memory; they just look like blank circuit boards with connectors on the bottom. I didn’t know any of this when I picked up the Dell computer off of Reuse. My computer had memory, but it didn’t have theCRIMM cards. So, without the required hardware, my Dell wouldn’t boot up.

Luckily, however, I found another stash of free, deactivated computers on campus, one of which was very, very similar to mine! I looked inside, and it turned that the machine had 2 CRIMM’s and no memory. The exact complement of what my beast had! So, I popped out the CRIMMs and took them home with me. Here they are:

CRIMM cards!

Aren’t they pretty? See, there are no circuits printed on them – just connectors on the bottom. I snapped them into my computer. Here it is again in all of its large, old-computer glory:

The beast

…I plugged in the power, a keyboard, and a monitor and pressed the “on” button…and ahoy! It worked!! Perhaps I made a loud, embarassingly high-pitched shout of excitement; or perhaps that was just a car horn outside… :-)

Anyway, the computer was pretty fast for a free computer (a Pentium 4 will do that!), and it handily pwned the task of installing the latest Ubuntu operating system (version 8.10, Intrepid Ibex). Here it is cheerily installing:

The computer, cheerfully installing Ubuntu

And just for fun, here another picture under the hood (the graphics card):

The graphics card

Hooray, another computer, and this one actually works! As a side note, I really like one of the themes that come with the new Ubuntu operating system. Here’s what it looks like:

The new Ubuntu is pretty! I like then ew theme

That’s all for now, folks! Not quite sure what I should actually do with this computer, now that I have it… any ideas?


Nov 19 2008

IAP Class on PHP!

Steve

I’m very excited, because I’m going to be teaching an IAP class with SIPB! SIPB stands for “Student Information Processing Board,” and it’s a neat computer club on campus that does all sorts of awesome/crazy things for MIT people, like make a virtual machine server, an Athena dialup, a way to make Ubuntu/Debian act like Athena, etc.

I’m going to be teaching a Caffeinated Crash Course in PHP on Wednesday, January 21 from 7:30 – 10:30 PM in room 1-115! Although there won’t actually be any caffeine per say, the title of the series (there are “caffeinated crash courses” in a bunch of other programming languages, too) gets across the point that a lot of information is being jam-packed into a really short amount of time. If you haven’t heard of it before, PHP is a programming language that basically makes websites. You may have seem some websites that end in .php instead of .htm – those all use PHP.

Here is the course-description that I wrote:

“Although PHP may not stand for “Programmed Hypertext Pwnage,” it just may be that awesome. PHP is a server-side scripting language that is used on millions of websites around the world to dynamically generate websites. In other words, your PHP code generates the HTML that is displayed in your internet browser. This class will be a fast-paced introduction to programming in PHP that will teach you the concepts and uses of the language, as well as take you through several examples. Although some programming experience and knowledge of HTML would certainly be useful, none is absolutely required.”

Some topics I’m thinking about including:

  1. What is PHP, and what it can be used for
  2. PHP history
  3. How PHP works (the code runs on the server, which sends HTML to the client, etc.)
  4. Syntax of the language
  5. Typical uses of PHP
  6. A few programming examples

I’m really excited about teaching this class!! If you think of any other topics that would be neat to cover, let me know!


Nov 16 2008

Athena machine!

Steve

For those who don’t know, I have a computer server in my room (basically a computer that’s connected to the internet that sits around for a while and waits for requests) called electron-monkey! It’s an old Dell Optiplex GX50 1.1 GHz Celeron processor. Here are some pictures of my good old buddy:

The computer, under my desk:

electron-monkey: The Beast

My keboard:

My keyboard

You may ask, why do I call this computer electron-monkey? To be honest, I’m not really sure myself! It sounded like a good idea at the time… and computers do sort of “juggle” electrons… sort of… :-)

I had previously been using electron-monkey as a webserver, so if you went to http://electron-monkey.mit.edu, you’d get the website that’s on my computer. It wasn’t running Windows; instead it was running a distribution of Linux known as Ubuntu that’s quite popular and known for it’s user-friendly-ness.

I was certainly very happy with my Ubuntu system, but being the daring and fearless adventurer that I am, I decided to try and install Athena on electron-monkey :-P . Athena is the computer operating system developed here at MIT, and it’s what all of the computer clusters around campus run. It’s pretty useful for doing a lot of things, such as talking to other people across campus, using the internet and checking email, and running cool Athena-only software. I really like Athena, so I figured I’d install the Athena linux variant on electron-monkey.

Searching through some documentation online, I found that there’s actually an Athena install image available from the MIT website. So, I downloaded it, burned it onto a CD, and ran it on electron-monkey to install Athena. And the best part is, it worked!! Here are some pictures of my new friend, running our favorite operating system:

The IS&T Athena screen saver

Athena Screen Saver

The Athena login screen. Note that it automagically detected that my computer was electron-monkey.mit.edu!

Athena login prompt, complete with hostname!

Myself logged into Athena:

A logged-in Athena account

So, this made my day! This means that, while in Next House, I’ll theoretically never have to go to the Athena cluster again, because I can just use the personal machine in my room… unless I have to print something…

I’m still figuring out a lot of stuff about how Athena works, so right now my website (http://electron-monkey.mit.edu) isn’t functioning. There’s still quite a bit of tweaking to do, but I’m very happy that I have a personal Athena workstation! :-)


Nov 15 2008

Nature Pictures… and Java Applets!

Steve

I’ve been playing around with this WordPress blog lately… specifically, I’ve been trying to find a way to finalgle it to display Java Applets in line with my blog entries. I figured it out, and here’s an applet I made last year that displays random nature pictures I took. Just click the link below to make the applet appear.

Hooray for Java! :-)