Featured

Longer posts and articles

Rice v. Memphis

I just got back from the Rice – Memphis game. As expected, we got thrashed (77-50). However, there were more than a few bright spots. Rice had a handful of stylish and convincing blocks, which I surely didn’t expect considering Memphis’ height advantage. Also, the defense didn’t play terribly. The offense was woeful, withering under a game-long full court press, and completely unable to get any sort of penetration. Also, our 3-point shooting was essentially non-existent. Memphis’ best player, Mean-Mug Dorsey, had a really sweet dunk for which he had a long set up and was completely unmolested. Also, I saw Jeff Van Gundy again. I yelled “We meet again coach!” to him, to which he responded with the shocker.

Ok, I made up that last part.

Update: Music players are not all terrible

Friends, I have seen the light.

By far, the best music player I have ever used, Amarok is everything I ever wanted.

Low Resource Usage: check.

Easily Manages Large Library: check.

Built in Replay-Gain: check.

Global Hot-keys: check.

But wait…. there’s more!

It automatically fetches album art, lyrics, and similar songs and artists from the internet, in the background. It integrates easily with K3b for burning CDs. It apparently integrates nicely with iPods, but I wouldn’t know. Most importantly, it follows the Principle of Least Surprise, and it Just Works ©.

What’s the catch? As of now, it only runs on Linux. The folks over at KDE are working on a Windows version, but if you needed a reason to give Linux a try, Amarok is that reason.

Music players are all terrible

Every music player I have tried thus far is terrible.

I use windows, and thus I have tried what I consider to be the big four: Winamp, Foobar2000, Windows Media Player, and iTunes.

Winamp’s library functionality is weak in version 2, and version 5 is bloated.

Foobar2000 makes me sad because it is tantalizingly sweet, and yet so difficult to configure correctly that it has, at least until I am fed up with one of the others, scared me off.

Windows Media player, when playing, is actually my favorite of the four. However, again there is not a useful library feature, and no global hot-keys.

iTunes makes me not want to use it because everybody uses it, and more importantly it uses an absurd amount of system resources. (Foobar uses ~2 meg of RAM and negligible CPU time, iTunes uses ~40 meg of RAM, and way more CPU time) Also there are no global hot-keys.

I will probably go back to Foobar soon, but it preferences are so difficult/overly configurable that I find it almost unusable.

Don’t Just Do It – Think about it first

Just Do It

One of the must successful, pervasive, and iconic slogans in American consumer culture.

But for a moment, don’t heed it’s advice, and instead, think about what it actually means. The message of the slogan is to act without thinking. Why would this ever be good?

The obvious argument is that it applies in sports. Don’t think about what you need to do when you field a ground ball at third base with less than two outs and a runner on first, just throw to second. But to know what to do, you have to think. The knowledge of what to do in this situation may be so well ingrained that it seems instinctual, but it isn’t. A baseball player who has been playing since he could walk is just able to recall the knowledge extremely quickly, because it’s what he knows best. Even the throwing motion, which seems so natural, is just recalled from the brain extremely quickly. Babies are not born knowing how to throw a baseball.

Then how can you ever do anything without thinking about it? Certain Id-level tendencies are ingrained in humans, tendencies toward aggression or other animalistic behavior. It has become typical in our culture for people to blame their actions on some force that was out of their control – anger or drugs or air conditioning made them act that way. They were as innocent as somebody who witnessed an accident on the highway from the other side of the median. But this is a cop-out, a socially acceptable cop-out.

People are, at all times, in control of their actions, and people don’t do awful things unless they really wanted to.

Please, don’t just do it, don’t just pull the trigger.

Think about it first.

Add-Ons to make Visual Studio 2005 feel more like Eclipse

So you’ve been coding in Java and using Eclipse for a while, and you love it. Eclipse is great! It helps you, but doesn’t get in your way. But you realize you need to expand, branch out, learn something new. So you turn to C#. Good choice! It’s super-easy to learn if you are coming from Java, and it’s Microsoft’s new favorite language. You’ve gotten hold of a copy of Visual Studio 2005, read up on the language, and you are ready to go.

You code up Hello World, try out some other small programs, and decide you are ready to start something major. But you feel like you are sitting in somebody else’s office. And its not particularly comfortable. You don’t have any of the things you need, like unit-testing or automatic documentation generation. Intellisense is great…..but you miss Eclipse.

Have no fear! We’ll fix the place up, and you’ll be coding at top efficiency in no time.

First check out ReSharper, by JetBrains. ReSharper will fix up Intellisense so that it works in ways you expect. It also adds a built in unit test runner and a host of other stuff.

ReSharper is undoubtedly the most intelligent add-in to Visual Studio .NET 2003 and 2005. It comes equipped with a rich set of features that greatly increase the productivity of C# and ASP.NET developers. With ReSharper you get intelligent coding assistance, on-the-fly error highlighting and quick error correction, as well as unmatched support for code refactoring, unit testing, and a whole lot more. All of ReSharper’s advanced features are available right from Visual Studio.

C# productivity and refactoring add-in for Visual Studio .NET

To use those unit tests, you are going to need NUnit. Same as JUnit, but for C#. Just as good, ’nuff said.

NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 2.2, is the fourth major release of this xUnit based unit testing tool for Microsoft .NET. It is written entirely in C# and has been completely redesigned to take advantage of many .NET language features, for example custom attributes and other reflection related capabilities. NUnit brings xUnit to all .NET languages.

NUnit – Home

Another one I kind of like but don’t really need is Ghost Doc. Ghost doc automatically writes comments based on variable names and stuff like that. It can actually do a decent job sometimes. I use it to fill in the comments for small methods that don’t need much explaining.

GhostDoc is a free add-in for Visual Studio that automatically generates XMLdocumentation comments. Either by using existing documentation inheritedfrom base classes or implemented interfaces, or by deducing comments fromname and type of e.g. methods, properties or parameters.

Roland Weigelt’s GhostDoc

Also, to replace the functionality of JavaDoc, check out NDoc. It’s still in a very beta phase, but it is usable, and it makes some good looking documentation with minimal effort. Microsoft is supposed to release their own in-house generator, but since it’s coming from Microsoft, it’s delayed.

NDoc

One more useful thing thats not really in Eclipse, but is worth mentioning is CopySourceAsHtml. The name says it all.

CopySourceAsHtml is an add-in for Microsoft Visual Studio 2005 that allows you to copy source code, syntax highlighting, and line numbers as HTML. CSAH uses Visual Studio’s syntax highlighting and font and color settings automatically. If Visual Studio can highlight it, CSAH can copy it, and your source should look the same in your browser as it does in your editor.

CopySourceAsHtml (CSAH)

Hopefully, this helps you in your new Visual Studio workspace