WALL*E

June 29, 2008 - Leave a Response

WALL*E was an absolutely surreal, intense Science Fiction movie. It’s Pixar going back to its roots, and it’s beautiful to watch. I highly recommend it.

Apple WWDC 2008 Initial Reactions

June 9, 2008 - Leave a Response

Apple has re-branded .Mac as MobileMe. It keeps your iPhone/iPod touch, Mac and PC in sync — but it only seems to work for email, address book contacts, calendars, and things of that nature. It doesn’t claim to keep arbitrary files up to date, so I’m not terribly excited about it. The service seems kind of useless to me, if I can’t sync up my programming projects. Perhaps it’s a safe bet that I don’t use computers like most people do, thus removing me from Apple’s target market of intended customers.

The iPhone is faster, uses 3G, got a huge price cut. Still stuck on AT&T. Still a no-go for me. 3G is only available in certain areas, and my area is certainly not one of them.

Here’s the list of places where AT&T supports 3G:

http://www.wireless.att.com/coverageviewer/popUp_3g.jsp#AZ

This year’s WWDC wasn’t terribly exciting, in my opinion. I’ll watch the SteveNote and dig into the details later; maybe there’s something there that I just missed.

 

Python 3000 Preview

June 1, 2008 - One Response

Not too many overwhelming changes are coming in Python 3000, the upcoming version of one of the best programming languages in the world. Here are the three that stick out most in my mind:

1. print() is now a function. It needs parenthesis, you can’t just “print ‘Hello, World!’” It has to be print(”Hello, World!”). This is a regularity improvement to the language. There are three named parameters in the new print() function: end, file, and sep. They determine what the ending string will be (os.linesep), what file the function will write to (sys.stdin), and what a comma separating parts of the printed message will implicitly insert before each expression (” “). This is my favorite new feature, because it’s just way cool, and a huge improvement over what we have to put up with now.

2. Unicode all the way. No more string incompatibilities caused by foreign character sets. This is what I would  classify as a reliability improvement.

3. TypeErrors get thrown if you try to sort lists that contain heterogeneous variables.

In general, I see quite a few welcome improvements to the language’s reliability, and relatively minor syntactic clean-ups. I find this disappointing, because if even the developers of Python can’t think of any more good syntactic ideas, then perhaps the advancement of language is grinding to a halt.

What will our generation’s object-oriented revolution be like? Will we even have one?
 

Phoenix Touches Down on Martian Soil

May 28, 2008 - Leave a Response

I hope they find water.

NASA Link

 

Putting Every Other Quarter to Shame

May 18, 2008 - Leave a Response

Heck yes.

 

Stain Removal

May 14, 2008 - One Response

I discovered a large bleach-white stain on my carpet yesterday. I don’t know how it got there, but I knew I had to remove it somehow to avoid the hefty $25 fine. At first I tried vodka, which did little to remove the actual stain, but it did make me care about it less. Then, my girlfriend insisted that meek Crayola water colors could stain the carpet back to its original color. I have to admit, the water colors worked surprisingly well — far better than breaking open a brown Sharpie and coating the area with its ink.

 

Obviously, no one in their right mind would ever use that last approach. That would be silly.

 

First Day on the Job

May 13, 2008 - Leave a Response

I *saw* — first hand — the servers that run NAU. I stood amid entire rows of them, stacked one on top of the other, towering above my head, just humming with electricity. The room that hampers them has industrial strength air conditioning just to stop the computer equipment from melting.

 

Pythonic Self

May 1, 2008 - Leave a Response

Python is a great language, but one of its problems is that every parameter passed into an __init__ method must be manually assigned to an instance variable, like this:

class Microsoft
  def __init__(self, param):
    self.param = param

and it’s an annoying waste of time. To fix this, I have written a short Python script that goes through a Python source code file and adds in the “self.param = param” statements for every init method with more than just a self parameter. Here’s the source code (credit me if you use this code, please):

selfer.py

 

Spaces: A Trial by Fire

April 29, 2008 - Leave a Response

The big problem I noticed was that it was hard to keep track of what I made each space for. I tried to use the Stickies application to label each space, but windows would overlap them too readily. What I wanted was this:

But what I ended up with was this:

I set each sticky to always float on top of all open windows, but for some reason that made the sticky notes  invisible in Spaces overview mode. Apple’s Spaces technology has potential, but some of the bugs still need to be worked out.

 

New Computing

April 22, 2008 - 3 Responses

As a senior in high school, I got my first Mac: a modest 12″ iBook G4 that ran at 1.2 GHz and had a 30 GB hard drive. It was underpowered even for those days, but it was my primary computer for three and a half years. It was becoming a problem, and the peer pressure to upgrade was growing increasingly intense.

Finally, my friends decided that enough was enough. They dragged me down to the NAU bookstore to replace my aging machine. That was only four days ago.

This new MacBook is an amazing piece of equipment, with specs over four times better than my iBook on all levels. I feel as though I’ve been chugging along in a crop duster for years, and now all of a sudden I can tear through the sky in an F-16.