Tuesday, February 27, 2007

Vista File Permissions


I tried creating a new file on my external hard drive and I was very confused when I got a message saying it failed. It turns out Vista sets the default file permissions to not allow modifications on external hard drives.

To fix this, you can:
  • Right clicking on the drive to bring up the context menu and select Properties.
  • Go to the Security tab.
  • Click on Edit, which pops up a UAC dialog.
  • And then edit the permissions.

Monday, February 26, 2007

Windows Movie Maker


I used Windows Movie Maker to make a few simple videos and I have to say, it's more useful than I expected. It's no Premiere Pro, but it has just about all the features that I need. You can import clips, splice them, reorder them, insert title slides, insert transitions, and add video effects.

Sunday, February 25, 2007

Dashed Dreams

I got all the parts I needed (CPU heatsink, case bottom, processor) for the pinmod on Saturday.

CPU Heatsink + Fan

Case Bottom

Processor


Saturday night, I took apart my laptop, replaced the bottom case, CPU heatsink and fan. Then I tried out the new processor at stock - no problems. Then I tried the pinmod, and ran it at stock voltage. It managed to boot, and I was very excited when I saw this:


That's the (Basic Input/Output System) BIOS detecting the processor running at 2.40GHz, a very good sign. Unfortunately, this would be the first and last time I would see this screen. Every other time I tried booting the computer, it would freeze during (Power On Self Test) POST. I even tried voltmodding the processor, but it didn't help.

I'm a little disappointed, but I was kind of expecting this. I feel like one of the people that didn't win on Beauty and the Geek when they say something like "It's alright that I didn't win the money, because I got a great experience out of this that's worth more than any amount of money." I guess I'm happy just to have seen 2.4GHz in the BIOS and not to have damaged any components in the process.

Saturday, February 24, 2007

Video Card Drivers in Vista

I had several problems setting installing a driver for my GeForce Go 6800. The default driver Vista installed had good Aero performance but terrible performance with everything else, like Photo Tourism. I then tried installing the 77.77 driver which I had used in XP and knew to be very good. I guess it wasn't optimized for Aero, because Vista switched me to the basic look and wouldn't even give me the option of going back to Aero.

After digging around the Laptop Video 2 Go forums, I decided to install the 100.59 driver. With this driver, Aero works, and gaming performance is decent. The only thing missing is support for overclocking. My video card is stuck running at a stock speed of 290Core/590Memory. I know it can do better because I ran it stable at 370Core/770Memory when I was using the 77.77 driver in XP.

Friday, February 23, 2007

Running with Vista - Day 1


I got my new 160GB hard drive Thursday at 5pm. I then proceeded to install Vista on it. I underestimated the time this would take, resulting in a very long night for me, especially since I had to prepare a presentation for the next day (Friday). Here are some highlights of Vista, day 1.

User Account Control (UAC) actually helped me - once.
UAC is this annoying new "feature" of Vista that supposedly helps you by asking if you're sure you really mean to do anything. I though I would be disabling this feature as soon as possible, but it actually managed to help me out. I had just hooked up one of my external hard drives and I kept getting a UAC dialog pop up asking for my permission to have "desktop.exe" run. I was a little suspicious so I chose no and then opened a command prompt to do a directory listing to show system files on the drive in question. Lo and behold there were 3 malicious looking exe files and 1 autorun.inf file, all hidden. Not wanting to risk infecting my brand new Vista install, I swapped hard drives, booted into XP safe mode and removed the malicious files.

Program Compatibility
There's been a lot of talk about compatibility issues with Vista. So far I've only had time to install my most essential programs. Here are the results:

Firefox - Installed fine. Download speed was really slow (around 20kB/s) for a while (not caused by an internet problem because IE speeds were fine), but it seems to be fixed now.
xplorer2
- No problems.
Java 6 - No problems.
Eclipse - No problems, loaded my old workspace just fine.
IZArc - Installed fine. File associations didn't work. The explorer context menu didn't get added either. This decreases its usefulness a lot, since I only use it from the context menu.
IrfanView - Would not install at first. Then I tried running the installer as administrator and it worked fine.

Adobe Reader 8 - No problems. This is much better than version 7 by the way. Adobe removed all the annoying stuff and made the interface a lot cleaner.
CCCP - No problems.
Media Player Classic - No problems, installed with CCCP. I mainly used Zoomplayer before, but now I've switched to Media Player Classic because it integrates better with Aero. Note: to prevent videos from switching you out of Aero, you have to use a different renderer that the default.
Zoomplayer - Installed fine, but it didn't really go well with the Aero interface so I'm not using it.
foobar2000 - I got this as a replacement for Winamp after I realized it was getting bloated and would not work with Aero. Note: you have to run it as administrator or else your settings or playlist changes will not save.
Winamp - Installed fine, but I decided I wanted something else (foobar2000) after I saw how bloated the newest version had become. It also didn't look good with Aero.
ZoneAlarm - Would not install. I'm stuck using the Windows Firewall for now.

Aero
The new Aero interface looks pretty amazing. I love how the windows kind of "pop in" when they start and "pop out" when you close them. I could open and close windows all day in Vista. There are some parts of the UI that could use more polish though. I switched from the default blue color scheme to a black one, but there's still this thin light blue highlight around the active window. I don't know if this is a bug, or if they intensionally designed their color scheme like this. Either way, it's starting to annoy me.

3D Window Switching
This feature stacks your windows in 3D like a deck of cards and allows you to flip though them. I think it's pretty useless. I would much rather have something that lays out all the windows so you can actually see them all like Expose in OS X. At least they made regular ALT-TAB look a whole lot better, it nows shows you a live updated thumbnail of each window.

Start Menu Search
Microsoft doesn't want you using the old start menu anymore. This is great for me because I stopped using the start menu in favor of Colibri (it's like Quicksilver for Windows) long ago. The new start menu search acts just like Colibri, or Quicksilver for you Mac guys. This is so much easier than the old way of starting programs. Rather than looking through a long unorganized list of programs, all you have to do now is type the first few letters of the program and hit enter. Microsoft could make the search a little more powerful though. For example, with Colibri I could type C-M-D, and it would match "Command Prompt". This doesn't work in Vista, you can't skip any letters.

Office 2007
Although this is not really a part of Vista, it sure is a nice upgrade. The new ribbon interface is amazing. It actually makes making PowerPoint presentations and Excel charts fun. There's this new feature called SmartArt that takes a list of text and automatically converts it into all sorts of cool looking graphics, really useful for presentations. I spent a few hours working on a PowerPoint presentation last night and it looks a lot nicer than anything I made with Office 2003. Even the default font (Calibri) looks awesome.

Thursday, February 22, 2007

Preparing to Pinmod


What is Pinmodding?

Pinmodding is a hardware modification that allows you to take a Pentium M processor with a 400MHz front side bus (FSB) and trick it to run with a 533MHz FSB, resulting in a 33% speed increase.

What are the Materials Required?
A Pentium M 400FSB processor - I bought one on eBay.
Thermal paste - I have some handy.
A thin piece of wire (about 32 gauge) - I'll find some.

How is it done?
The mod itself is fairly straightforward. All you have to do is short two pins on the processor together by placing a thin wire in the socket to connect them.

What is success rate?
This depends on the speed of the processor. Pinmodding to 2.0GHz is almost guaranteed to be successful. Pinmodding to 2.4GHz (which is what I will be attempting) only has a 60% success rate, and that's with a voltmod to increase the voltage supplied to the processor. Here is a useful chart that illustrates how success rates decrease with increasing speed.

Why am I doing this?
The processor I currently use is a Pentium M 533FSB at 2.0GHz, so even if my pinmod is successful, it will only be a 20% speed increase from what I currently have. I decided to try pinmodding anyway because I found a good deal on a 400FSB processor on eBay and I'll need to disassemble my laptop anyway to replace the CPU heatsink and bottom case (read this if you want to know why). I decided to go for 2.4GHz because I felt anything lower would not be worth it and anything higher would be too risky.

I won't be too disappointed if this fails. I'll just go back to using my old 2.0GHz processor.

References
The Extreme Pin Modding Guide
The Ultimate Pentium-m Pinmod/Voltmod Guide
A Photo Guide for Pin Modding 9300/XPS

Wednesday, February 21, 2007

Housing Opportunity




I'm graduating this June, so I'll soon need a place to live other than my lovely dormitory. Tonight, I looked at a really nice house in Bellevue that my friend Kevin was renting out. The house has a nice view of Lake Washington and is very close to Google Kirkland. I would be paying around $1200/month for one of the three bedrooms if I can find two other roommates.

Switching from Thunderbird to Gmail

In the past few days I've had to rely less on my laptop. One consequence of this is that I've switched from using Thunderbird (a desktop email application) to Gmail (a web-based email application). Now that I'm using Gmail, I can check my email on any computer with an internet connection.

I've setup my other email accounts to forward to my Gmail. I've also setup Gmail to be able to send mail from these other accounts. The only problem is that I can't get my Hotmail to forward to Gmail. This is because Hotmail is a backwards application that doesn't support automatic forwarding or POP. Thunderbird has the WebMail extension that gets around this, but there's nothing like it for Gmail.

Tuesday, February 20, 2007

Limping Along, Waiting...

My laptop is currently in a very dysfunctional state. Not only is the CPU heatsink barely making contact with the CPU, but I've also managed to run a virus. I was able to remove it with Avast Antivirus, but I think it screwed up some system files. Now certain actions cause my laptop to become unresponsive with the only way to fix it being a hard reset. By painful trial and error, I've discovered I should not try to play music in Winamp or iTunes, use the media buttons, or load virtual CD images because they will all crash my computer. My activities are now limited to browsing the web and watching videos in Zoomplayer. I feel like I'm stuck in a minefield. I've already stumbled into a few mines so I know a few places where I shouldn't go, but there's still a lot of unexplored area, and now I'm afraid to venture beyond the small territory I know is safe.

The good news is that relief is coming. I ordered a new 160GB, 5400RPM hard drive for $120, which should arrive this Thursday. I plan to do a clean install of Vista Business Edition (it's basically Home Premium without Media Center) that I got for free from Microsoft. I also bought a replacement CPU heatsink and bottom case on eBay. I also bought a Pentium M 745 (1.8GHz), which I hope to pinmod to 2.4 GHz (my current processor is a Pentium M 760 at 2.0GHz).

Now all I have to do is wait...

Friday, February 16, 2007

I Really Screwed Up


I've been having some slowdown issues with my laptop lately, so I decided to reapply thermal paste to the CPU. I got done applying the thermal paste and started screwing on the heatsink. I tightened each of the four screws incrementally, trying to balance out the tension. I was almost done, but I could still feel the heatsink wiggling. I was tightening the screws a little more when I suddenly felt the #4 screw give way. I felt a sickening sensation come over me. Sure enough, the screw that I was tightening had snapped in two with half the screw embedded in the socket with no possible way of retrieval. There was no way I could get a good contact between the heatsink and the CPU without one of the screws.

Extremely frustrated, I assembled the rest of my laptop and improvised a makeshift solution to put tension on the heatsink involving a small piece of plastic and the keyboard. My laptop booted okay, which was a relief, but I knew something was wrong when the fan immediately kicked into high. I could get the fan back down to low if I pressed down on the keyboard where it covers the heatsink.

Now I'm scared to run any CPU intensive programs. It seems like I may need a new laptop sooner than I thought now.

Wednesday, February 14, 2007

Valentine's Day Treats


I found the bag of treats on my doorknob when I got back today. I don't know who it's from.

Sunday, February 11, 2007

Getting Nickel and Dimed - Literally


After eating Pho on the Ave at a place that only accepts cash with my friend Kevin, I find out that he is a bit short on cash. The total comes to $11.24 so I ask Kevin if he has a quarter on him. Unfortunately he doesn't, so I hand the cashier 12 dollars. What I get back is a handful of nickels and dimes. Thinking that it must be some kind of mistake, I ask for three quarters. The cashier informs me that they're out of quarters.

Next time I eat there, I'm paying with nickels and dimes.

Wednesday, February 7, 2007

Hot Showers

About a week ago, something changed in my dorm: the water in the our showers got dramatically hotter. Before the change I would turn the shower knob all the way in the hot direction, only to be disappointed by mildly warm water. Not even a constant stream of mildly warm water - no, this unpredictable stream of water would fluctuate in temperature from from an uncomfortable mildly warm to an unbearable icy cold.

All that has changed though. I now only have to turn the knob 1/4 of the way, and I have steaming hot water. In fact, if I turn it any further, it becomes uncomfortably hot. The length of my showers has increased from 2 minutes to 15 minutes. I no longer wait until the wee hours of the morning to take showers in an attempt to maximize the availability of hot water. In fact I've started taking two showers a day now, one in the morning and one at night.

I find hot showers to be very useful. Whenever I'm having trouble thinking about an algorithm or whenever I'm getting bored with coding, I can take a nice hot shower, and I'll be relaxed and refreshed. I also get many great ideas while taking a hot shower. It's really helped my productivity.

Monday, February 5, 2007

Analyzing Polyhedral Scenes


I recently read about a neat algorithm for determining the geometry of polyhedral scenes (an assembly of solids each of which is bounded by plane faces) in The New Turing Omnibus. The algorithm assumes that lines can only meet in a few ways, and each meeting has only a few possible labelings for the component lines. The algorithm starts by labeling the lines for one meeting and tries to make consistent labelings for its neighbors and so on. Usually, the algorithm will end up with one consistent labeling for the whole scene, with maybe a few ambiguities.

If the description is confusing, don't worry, I hope to make something soon that will make it all clear.

Sunday, February 4, 2007

Bawls Mints


Eat them for their tangy tongue-tingling flavor and not for their caffeine content. Since at 5mg a mint, eating the whole tin (75 pieces) would only be the caffeine equivalent of consuming a Starbucks Grande Coffee.

Saturday, February 3, 2007

Regular Expressions in Java

One of the cool things about Perl, Ruby, and other scripting langauges is how easy it is to do some very complicated things. For example, Ruby has the =~ operator, which lets you easily match a string against a regular expression. It returns the position that the match starts or nil if there is no match.

"sector 19" =~ /\d/    # Returns 7

Another cool thing you can do in Ruby is String.scan - this iterates though a string, matching against a regular expression and returns an array with all the matches.

# Returns all the <item> tags
text.scan(/<item>.*?</item>/)

If you know the right Java APIs though, these operations are almost as easy. The following Java code does the same thing as the above Ruby code:

ArrayList<String> tagList = new ArrayList<String>();
Matcher matcher =
Pattern.compile("<item>.*?</item>").matcher(text);
while(matcher.find()) {
String match = feedString.substring(matcher.start(),
matcher.end());
tagList.add(match);
}

A Matcher object is returned by Pattern.matcher - it basically remembers a string, a regular expression to match against, and the last matched position. Matcher.find returns true if there's another match. Matcher.start, and Matcher.end returns the start and end indexes of the previous match.

I'll admit that the code is a bit longer than the Ruby version, but it's still quite easy.

Friday, February 2, 2007

10 Days to Do 2 Projects

I have two major group projects, both due in ten days.

One project is to complete the backend for Infomush, a totally awesome way to get news. My team has access to a large cluster of machines, which will be useful given the massive amounts of data that we will be processing.

The other project is to create an interactive prototype for Don't Forget, a system for reminding people of forgotten items. Although my team has been working on designing the system for the last few months, we haven't been asked to write any code for it. Now, we have ten days to take all our design prototypes and turn them into something more functional.