Tuesday, August 14, 2007

JavaScript Retardedness

I just discovered after dealing with an annoying bug for over an hour, that in JavaScript, this evaluates to true:

0 == ''

Thankfully, in the newer browsers, they added the === operator to deal with this.

Sunday, July 15, 2007

Mac OS

I've been using Mac for about a year now, so I thought it was time to give a quick review comparing and contrasting the benefits of Mac (compared to my previous experience with Windows).

Things I like about Mac:
  • Invisibility of the operating system -- It really does "just work" as Apple claims. Unless you need to do something very advanced, you could get away with never configuring anything in the OS.
  • Visual appeal -- the OS looks very slick while still being functional
  • Application availability -- there are many applications available (obviously less than Windows, though), and the quality of each application is very high
  • Application switching -- the application switching features are incredible and very useful
Things I don't like about Mac:
  • The WiFi applet responds slowly to user feedback, about a 5-10 second lag between clicks sometimes.
  • Most applications can't be maximized
  • Lack of Visual Studio -- Microsoft's Visual Studio development tool is the most user-friendly development tool I've ever used, but it's not available on Mac... Eclipse is a fairly good alternative once you get used to it.
Overall what I've noticed during my switch is how the rise of Internet applications has made it which operating system I use less important. I use Google Calendar, Gmail, Google Reader, and Firefox, which works on every platform. Internet based blogs constitute much of my writing. As internet apps get more powerful, this trend will only continue, making the OS you use nearly meaningless.

Thursday, May 24, 2007

Functional Languages on the Horizon

The usefulness of functional languages is really starting to go mainstream now. In the past, I've learned Haskell, Scheme, and Ruby, and I'm studying Scheme again now. Trying to learn every technology is impossible so I'm going to stick with Scheme right now because of the great books that are available for learning it.

Practical reasons for learning some functional languages:

Scala
Haskell
Scheme/Lisp
  • Great books: "Lisp in Small Pieces", "The Scheme Programming Language" (by Kent Dybvig), and "The Structure and Interpretation of Computer Programs".
  • Good, cross-platform IDE: DrScheme
  • Ability to leverage knowledge for Arc (Paul Graham's language which will almost certainly have a large following due to his popularity)

Friday, May 18, 2007

PLT Scheme

I'm learning Scheme right now in my spare time to expand my programming ability and hopefully find use for it at work. PLT Scheme seems to be a good implementation: it has a large library, and a good cross-platform IDE. Also, the PLT Scheme user community is large and active compared to many other Scheme implementations.

There are also some cool extensions for it:
And some other good links:

Thursday, May 17, 2007

Hello, World!

No better way to start a blog about computer programming than with the immortal words of every programmer's first foray into a new programming language. This blog will mostly be for my own benefit and future reference, but if someone finds it useful, all the better!