Blog | Admin | Archives | Random | Recent | Thanks
    • A grand entrance. Ready for a fantastic night! #albakchan
    • #albakchan the main event
    • Commute
    • Meat, bread, and succotash.

Windows 7 Initial Impressions

Dan gave me a copy of Windows 7 to try out. Since I was having trouble with my installation of Windows XP, it didn’t take much to motivate me to try out the new, widely heralded Operating System from Microsoft.

Installation was easy and fast, just like I had heard. The UI is very responsive and looks nice (although I haven’t yet figured out how to make the window borders slightly thinner — advice would be welcome). The OS overall feels well-done and new, yet familiar enough that I don’t feel lost in a foreign world.

I set about installing a bunch of my most important apps — first Firefox, IrfanView, and Cygwin. This is when I ran into the first major problem that I have with Windows 7. In my previous version of XP, I had achieved what I considered the perfect blend of Windows and Linux functionality: cygwin running an ssh server that I accessed via PuTTY, just as I would access any remote server, such as nexus, attu, or frankenputen.

The coup de grace was the fact that I could launch Windows GUI programs from the ssh process — normally not achievable, but when the sshd service is allowed to “interact with the desktop”, then wonderful things such as KDiff3 working seamlessly with mercurial is possible on Windows. It was basically a perfect development setup for me.

I planned on setting up the same thing with Windows 7, and by following a tutorial about setting up the Cygwin SSHd service on Windows Server 2003, I was able to get almost all the way there. However, there is one key difference between XP and Windows 7: For security reasons, the System User is not allowed to setuid, which means that the Cygwin SSH server can not run as System anymore. There is an easy workaround for this — just set up a new privileged user, and run sshd under those credentials. However, it turns out that only the system user has an option to allow services to interact with the desktop.

This means that the perfect setup I had achieved earlier is effectively impossible on Windows 7. I’m pretty sure that this is an edge case that Microsoft has no plans on doing anything about in the near-term because it will affect almost no one. So the question then becomes, what does Windows 7 give me that Windows XP did not?

This machine has 4GB of RAM, but even if I can only access 3.5 under XP, that was good enough for everything I was doing. I think I’ll give Windows 7 another day, and unless I find a compelling reason to keep it, I’ll just do a fresh install of XP, which probably would have fixed the blank screen problem anyway.

At any rate, there are a few other things that I really like about Windows 7: The text box in the start menu is genius. It does exactly what it should, as far as I can tell. The UI really is pretty. The Wireless connection tools are much better than XP. It is a good OS, but I’m not sure it is so much better than XP that it will compell me to stick with it.

Instant Update!!

While writing this post, I remembered seeing something called PuttyCyg, which allows one to use putty as the front-end of Cygwin, which was the main thing I was trying to do anyway; this may be the solution to all of my problems.

Super Long Initial Log-In Time Resolved!

For at least a little while — perhaps a few months — my laptop computer has taken an enormous amount of time to log in after a fresh boot. In other words, after restarting, from the time I hit <Enter> after typing my password to the time I would see my desktop icons was nearly 3 minutes. After this, the computer would behave normally, as if nothing had happened and all was well. This is, of course, ridiculous, but I mostly ignored the problem because I rarely ever rebooted the computer, opting instead for sleeping or hibernating and then resuming, which remained quick.

However, another problem very recently began — I would return to my computer to find an illuminated, but otherwise blank, screen. This seemed to happen when the computer would wake up automatically from sleep to enter hibernation, but only occasionally at that. When this happened, multiple bad things were happening. First, the computer wasn’t turned off, or even sleeping, so it was consuming battery at a high rate. Second, I could not get the screen to display anything or respond in a meaningful manner. The only solution I found was to hard restart the laptop, which is ugly, but more importantly, it made the earlier problem  (the long log-in times) suddenly very important and much more annoying, because I was finding myself rebooting (unhappily) a lot more.

I googled and searched and tested and scratched my head, all to no avail. I tried rebooting with Bootvis, which wasn’t able to provide any useful new information. Basically all I learned was that explorer was taking 94 seconds to load, but not why. Since there was no apprent disk activity or processor activity during this time, a timeout came to mind, but I didn’t know what else to do after spening a few hours trying to figure it out. This is when I mentioned the problem to my dad, who suggested that I look at the event viewer. I had used the event viewer before, but it hadn’t occurred to me to use it to try to fix this problem.

I followed his advice, and that very quickly set me on the right path to solving the long log-in time problem. The event viewer reported one error among many pieces of other information, and the time it happened was around the time I had logged in. The error stated, “The Windows Image Acquisition (WIA) service hung on starting.” Googling that very quickly led me to the right information: disabling the auto-start-up of the WIA service immediately solved the long-log in problem.

It remains to be seen if the blank screen problem was related (unlikely), or if it will go away of its own accord (also unlikely), but solving one piece of the puzzle sure feels good. Thanks dad!

Deep Thoughts Inspired By Slashdot

There was (yet another) post today on Slashdot about Apple’s policies on its App Store for the iPhone. Often I find interesting and funny content in the comments, so I read those as well — and after doing so, I wanted to share some of the better comments and my thoughts:

Budenny commented:

If you don’t like the way Apple runs its store, don’t buy from it.
… If you don’t like gay marriage, don’t do it.
… If you don’t like murder, don’t commit it.
… If you don’t like France, don’t go there.
… If you don’t like math, don’t learn it.
… If you don’t care for Enron, don’t buy the stock.
… If you don’t like subprime, don’t take one out.
Why am I starting to wonder if there might not be something a little bit wrong with this form of argument?

To which Foorat replied:

If you don’t like that form of argument, don’t use it.

Which of course was quite amusing, but Budenny’s point is well taken: I generally advocate the “if you don’t like ___, then don’t ___” approach myself. It’s how I feel about gay marriage, for example — I don’t feel that it impacts me significantly one way or the other, so I don’t care if people (who are not me) do it.

It doesn’t seem to work for murder, though. Why not?  Because the unstated assumption in the argument is that the actions are such that they don’t affect people not willfully involved in the action. Murder, by definition, has an unwilling participant, so that unstated assumption clearly does not hold and the argument fails.

What about gay marriage? I don’t think it affects me personally. I know that others feel differently, though. Just because they are unable or unwilling to state why they feel this way (I recently saw a clip of Mike Huckabee unable to state how his marriage would be negatively impacted by gay marriage), doesn’t mean they don’t feel this way. One of my guesses is that some truly believe that if they go too far down the path of “redefining marriage”, then we will be in for an episode of Sodom and Gomorrah (ancient cities that were destoryed by God with fire for sexual deviation). Maybe people feel that such a claim today would be ridiculed; it doesn’t change how they feel though.

The other examples are similar: “If you don’t like subprime [mortgages], don’t take one out” — this has the implicit assumption that a subprime mortgage affects only the parties involved, which is no longer the popular way of looking at things (I would argue that, without government intervention, the statement would hold predominately true: the effect on the borrowers and lenders would so far outweigh any effect on me that it would be acceptable for others to make and take subprime mortgages. Unfortunately, government stepped in and has made it my burden to pay for the mistakes of evil corporations and stupid people).

The real question that arrives out of this is, who determines what affects other people and what doesn’t? Given that it is an impossibility to account for every externality, what in the world qualifies as a significant enough externality to make the overhead of regulation (with all of its pitfalls) a better solution?

This is the crux of the problem with modern politics, and especially with the libertarian philosophy that I am so fond of: everyone has a different opinion on what is “significant enough.” My set is fairly small, but I know people whose sets seem endless to me. Really, the modern conservative and liberal philosophies are simply different interpretations of where government has the right or responsibility to interfere with people and libertarianism is simply a very small subset of the intersection of the two philosophies.

That is happens to be the right subset is ever-apparent to me, but not, apparently,  to very many others.

From another comment, quoting the original article:

Of course, many are quick to remind that it is Apple’s store and they are free to do whatever they want with it.

Kind of like it is Microsoft’s operating system, and they are free do anything they like with it. Except, it seems, provide a web browser.

Ah, so biting, but so true. But antitrust regulations are a topic for another day.


I’ve started twittering. For a long time, I had no interest in the phenomenon, but recently I’ve noticed that I’m not blogging as much as I want to, while I still have lots of ideas I want to write about. In a perfect world, a lot of these ideas would become full blog posts; however, until I rededicate myself to making that happen, my hope is that at least the ideas won’t die unheard — they can now live on as tweets. As Mark Cuban said, “Tweets are the blog posts you thought about writing, but didn’t feel they had enough substance.” (Hat tip Theo)

So, if you’re into that sort of thing, you can follow me on Twitter, or just occasionally visit my blog to see my most recent tweets.

I’m also considering a “daily digest” of my tweets as actual blog posts; there is a plug-in to do that.

Less Chrome

Note: I wrote most of this post last September, but never finished it until today.

Like many others, I recently downloaded and tried out Google’s new web browser, Chrome. It has some interesting and innovative ideas, but due to a few key missing features and one hard-to-overlook philosophical difference, I have not become an avid user. Firefox remains my browser of choice, and with its wonderful array of plug-ins and hacks, I have managed to “port” Chrome’s best feature to Firefox.

The first thing that annoyed me about Chrome was that forward slash did not initiate a quick search, as it does in Firefox. I use forward slash all the time to perform searches, and this annoyed me. I also noticed that Chrome skinned the window’s title bar. To me, the title bar is “sacred” territory. In my world view, the title bar belongs to the Operating System, not the application. Applications that skin it away don’t get much traction with me.

So, I happily went back to Firefox, but then one thing that Chrome didn’t have started to bug me in Firefox because Firefox did have it. And that was various bars cluttering up the vertical viewing space in Firefox. From the top, I had the tile bar (which I like), the menu bar (which I rarely use), the navigation bar (useful and necessary), my bookmark bar (which I use, but not all the time), the page content, and finally, the status bar (which is only useful when hovering links, loading pages, or using a feature such as Adblock).

Google Chrome, on the other hand, got rid of most of these except when you needed them, which I thought was a wonderful idea. So I went about getting Firefox to behave the same way. It is, I am happy to report, possible and, in my opinion so far at least, wonderful.

Note: I originally experimented with removing the status bar, I have since brought the status bar back; the extensions I tried never got it quite right, and made some web sites work less well. This was months ago, so I don’t remember all the extensions I tried, but I am open to new ideas.

The extension I still use is called “Hide Menubar” — it allows me to get rid of the menubar unless I press “Alt.” I then put all of my bookmarks on the menubar, so they only show up when I want them. Altogether, my verical space takers went from 5 bars — Title, Menu, Navigation, Bookmarks, and Status, to 3 bars — Title, Navigation, and Status. The difference is quite nice, and I suggest it to anyone looking to regain some screen real estate while surfing the web.

Finals Finally Finished

In quarters past, I have often finished my finals by the Tuesday of finals week, effectively giving me a couple of extra days off. This time around, however, all of my finals were at the end of the week, with Security on Wednesday at 8:30am, and Game Theory and Programming Languages on Thurday, at 8:30am and 6:30pm, respectively. It was a very late way to end the quarter. Nevertheless, I felt that I did pretty well on all my finals.

As evidenced by the late hour of this post, I have already let my normal school schedule slip significantly. The primary culprit tonight was Concurr, the web-based space strategy game that I working on with several others. Tonight, it was Theo and Shai working with me to implement new features, fix bugs, and generally have a good time.

Caught In The Act

On Thursday, the Silicon Valley tech company Palantir came to the UW to give a “Tech Talk,” a self-promotional display of technology used to get CSE students interested in working for the company. The talk is usually accompanied by food and, sometimes, raffle prizes. I decided to attend because I figured I would be hungry around 5:30 (definitely true), and I had heard lots of good things about the people at Palantir and what they were doing.

The food, as it turns out, was pretty good — we got to make our own tacos, and I greatly appreciated it. However, I had a 6:30 class, and was unable to stay until the end of the talk, which I heard went until about 7:00. This is where it gets interesting.

At the beginning of the talk, the Palantir folks passed around a cup into which we were to drop our names to win a fabulous iPod touch. Being all about gaming the system, I decided to enter my name several times — six or seven times, that is — using varried sizes of paper. Furthermore, I went around with the cup, allowing other to place their names in it, before placing my own names into the cup, to give me a superior placement within the cup. Apparently my techniques were effective — very effective.

In fact, I won the raffle. Or at least, my name was drawn first. However, because I had to be present to win, and instead I was attending my 6:30-9:30 Programming Languages lecture, I did not actually win. So they placed my name aside and drew again. And then my name was drawn, again. I still was not present, so I still did not win. Finally, someone who was present did win, and the raffle ended.

It seems that my actions grated on at least a few people, although the student who reported the incident was “nice” (?) enough to omit my name, while nevertheless accusing me of having no integrity. I decided to thank him or her for the post, and take full responsibility for my actions in a comment to the post.

But, I would like to hear from my readers as well: Were my actions unethical? Am I a shmuck? Should I be ashamed of myself? (Right now I’m not.)