I've starting taking some business classes that are prerequisites for starting an MBA program in the fall. So you may be seeing a lot more business-school-related musings than computer-programming-related musings for a while.
This blog is now running in the Amazon Elastic Compute Cloud (EC2). I hope that nobody notices any difference.
For several years, I've been using pretty-cheap web hosting services for my blog, my corporate website, and other webby things. However, I'm pretty sure that it would be even cheaper to use Amazon EC2, especially as they now offer free usage for a year. I also like the ease with which one can scale EC2 servers up or down, and run temporary instances for a few cents per hour.
Of course, this means I have to figure out how to move everything from where it is to a new EC2 instance. Most of the stuff I care about is managed in Drupal, so step one is figuring out how to set up Drupal on an EC2 host.
I decided to go with Ubuntu as my OS, because I'm a long-time Debian user and my brushes with Ubuntu have been positive. A little research showed that they had an easy-to-install
drupal6 package and a few other packages that I plan to use in my plans for world conquest.
But no matter how easy/straightforward things look, they are always a little bit complicated. Here are my notes for setting things up, which may be helpful to others, and will probably be helpful to me whenever I end up redoing this.
I assume the reader has basic knowledge of how to connect to servers via SSH, knows a little bit about setting up Apache and Drupal, and is comfortable using a text editor to modify configuration files.
My wife, stepson, and I carpooled today. I picked them up at school and we made the 45-minute drive back home. As we parked the car, my wife noticed that she didn't have her iPhone.
After being away from the Windows developer world for a few years, I have been pleased to find some of the nice things that Microsoft has given us. Visual Studio has some really nice refactoring capabilities. The Windows 7 user experience rivals OS X. And as an alternative to the venerable
cmd.exe, we now have a much better command-line shell: PowerShell.
What I like most about PowerShell is that it feels more like a UNIX shell. It supports a lot of UNIXy commands (
cat). It lets you use either forward slashes or backslashes in paths This is good for someone like me who can never remember what OS I'm using when I start typing a command.
But of course, Microsoft can't give us something new without throwing in some surprisingly inappropriate behavior.
One of my clients uses a CVS repository for all its source code. People recognize that there are better options available than CVS, but it's been cranking along fine for 15 years, and they see no compelling reason to change.
However, I really like being able to commit incremental changes often in my own personal branches, and while not connected to the company network (I work from home). So I've been checking out files from the CVS repository, using Git locally to manage modifications, and then periodically committing those changes back to the remote CVS repository.
I figured I'd write up what I'm doing, in case others want to try the same thing, or others can tell me a better way to do what I'm doing. I'm still a bit of a Git newbie, so if I'm doing something stupid, please let me know.
In my copious free time, I've been working on a videogame for the iPad. Friends and family may interject here that it seems like I'm always working on a videogame in my free time, but I've never actually finished one. This time is different. Really.
All of my personal projects are intended primarily to be interesting and fun for me. I gave myself a couple of technical constraints to keep things challenging:
- All the code is well-factored idiomatic Objective-C. Unlike a lot of iPhone/iPad game programmers, I'm not writing all the guts in low-level C or C++ and then sprinkling a minimal amount of Cocoa on top to interface with the OS.
- I'm using Core Animation as my "engine", rather than the OpenGL ES API or an off-the-shelf gaming engine. (Note: My game only needs a couple dozen sprites.)
So far, things have worked out well. I was worried that using Objective-C and Core Animation might lead to performance issues on the iPad, but that hasn't been the case. I have run into a couple of issues with Core Animation that were pretty easy to fix.
So, I've had an iPad for about a month and a half. Here are my impressions:
Overall, it's really nice. It fills the need for a little Internet-connected device that lets me watch video, read books, read online news, and browse the web. I used to keep my old 13-inch MacBook next to the couch for these purposes, but that MacBook is now in a closet. I've also put away my Sony Reader that I kept on the nightstand.
Some time in the next few weeks, I hope to have an iPad game ready for submission to the App Store. I am looking for people to help me test the app.
When the power goes out, nobody asks me how to make it work again. But if the Internet goes down for three seconds, everyone in the house is yelling at me, telling me I need to MAKE IT WORK! NOW!