Thursday, August 31, 2006

CodeWeavers works magic in OS/X!

Thanks to Jeremy White at CodeWeavers, my MacBook Pro has reached Nirvana: Installing Microsoft Money: Running IE6: What's that running on my desktop? Yep--it's Microsoft Money and Internet Explorer 6.0. It's not emulated, not within a VM, and not in Bootcamp. I work daily with the web, and with Ruby on Rails. OS/X is the best environment for me to be effective working on my projects--but I've been searching for the right solution to maintaining a Windows environment for the app I can't easily replace. In other posts I've discussed my usage of other solutions to running Windows within my Mac, and CodeWeavers gives me the best up-to-speed time (launch programs natively and directly vs launch Parallels, boot VM/restore VM), and the cleanest usage environment (a fully independent and uncontained desktop window vs embedded in a heavy Windows instance). Some details--I received an early version of CodeWeavers' product (CrossOver for OS/X) as I'm on their Alpha and now early Beta list. CrossOver is an application that enables software written for Windows to run natively on other operating systems by providing replacement libraries for ALL of the Windows-specific system calls. Actually--this is a really incredible statement and a testament to the work CodeWeavers has done in bringing this product to life. Effectively, they have rewritten EVERY necessary Windows library to run very, very complex pieces of software (such as IE) without sourcecode or changing a thing (at least from my perspective as a user). CodeWeavers provided CrossOver as a 30MB self-installer. The install was quick (under 10 minutes) and painless (not a single hiccup). Once completed, I ran the CrossOver application and was presented with 3 options--use their installer wizard to install common Windows programs, organize my "Bottles"--compartmentalized virtual windows systems (separate registry and application databases), and help and support options. I chose to use their installer and looked for the applications I wanted to install (Project, Visio, and IE). I thought I would start with IE, and selected the wizard. To my surprise, CrossOver automated the download of IE in addition to the install, so instead of searching for my WinXP disc, I sat back and let the installer run:

Once installed, I went to the menu bar named "programs" and there was Internet Explorer!

I think CodeWeavers has done an excellent job with this release--they support a solid collection of M$ business apps and although I'm not a gamer I saw that they support a number of games that I did recognize (Half Life and others). I will be a paying customer when their software has its final release and I would encourage any other "switchers" out there to consider it as an option for those irreplaceable apps.

Wednesday, August 30, 2006

Blogger's upgrade...

Blogger's upgrade did in my access to my blog for a few days. They integrated Google accounts and blogger accounts, giving google accounts preference. Instead of getting my blog dashboard on login, I was getting access to the blogs in my "google account"--which happens to share the same id/password as my blogger account. Since I have no blogs in that account, I was getting access to no blogs. After a failed attempt to get help from Blogger's support team, I did some password finagaling on my google account to get access again. In my absence here, I started posting my thoughts on Amazon's EC2 service at AmazonEC2.com. I will try and put all future Amazon EC2-related posts there. Also of interest--is that in the downtime--I tried out the WordPress blog migration feature I discovered in a previous post. Take a look at usiegj00.wordpress.com to see the results.

Friday, August 25, 2006

Sandboxing Amazon EC2

Here's something cool I'd like to share--if you've gotten into the Amazon EC2 beta and want to repeatedly test your images (like we've been doing), it's helpful to automate the process. Well--that's what we've done with a little bash scripting. We've created two scripts: new_instance and temp_instance. The new_instance script does all the legwork to ready a server and even logs you in when it is available. It looks like this:

Bravo:~/Projects/ec2 jonathan$ ./new_instance Starting a fedora core base AMI. Instance is i-e17b9e88. Polling server status (ec2-describe-instances i-e17b9e88) ................................................................. The server is available at domU-12-31-33-00-01-66.usma1.compute.amazonaws.com. Warning: Permanently added 'domu-12-31-33-00-01-66.usma1.compute.amazonaws.com,216.182.228.100' (RSA) to the list of known hosts. __| __|_ ) _| ( / ___|\___|___| Welcome to an EC2 Public Image :-) [root@domu-12-31-33-00-01-66 ~]# logout Connection to domU-12-31-33-00-01-66.usma1.compute.amazonaws.com closed. Terminate with: ec2-terminate-instances i-e17b9e88
The temp_instance script works identically, but terminates the running instance on logout, rather than just echoing the termination command. To get the scripts to work, you'll want a directory layout like: Bravo:~/Projects/ec2 jonathan$ ls -l -rwxr-xr-x 1 jonathan jonathan 689 Aug 24 23:17 cert-PSQ...US576UB.pem drwxrwxrwx 4 jonathan jonathan 136 Aug 23 06:17 ec2-api-tools-1.2-5502 -rw------- 1 jonathan jonathan 1671 Aug 24 23:24 id_rsa-gsg-keypair -rwxr-xr-x 1 jonathan jonathan 1090 Aug 25 01:10 new_instance -rwxr-xr-x 1 jonathan jonathan 721 Aug 24 23:17 pk-PSQ...576UB.pem -rwxr-xr-x 1 jonathan jonathan 1113 Aug 25 01:10 temp_instance You should have this or something like it already if you've followed the getting started docs. There is one other step--edit the temp_instance and new_instance files and make the pk-*.pem and cert-*.pem filenames match those generated for your usage. Any comments are appreciated.

Thursday, August 24, 2006

Amazon's Elastic Compute Cloud (EC2) goes Beta

I can't help adoring Amazon. As a book seller, they provide an infinite selection and have always delivered my books quickly and accurately. As a technology company, they are making our life on the internet really, really fun. I just received my Beta invitation to Amazon EC2 "Amazon's Elastic Compute Cloud" and I am thrilled. "Why, why would I be thrilled about an elastic compute cloud?" I hear you scream. Because it solves a core problem for my business that is expensive, requires deep technical expertise, and is--well--not fun. The details: Amazon's new offering is a commodity hardware / processing service to match their commodity storage / bandwidth (Amazon S3) service. This is the death knoll for maintaining our own servers, colocation, and managed hosting. With EC2, Amazon is providing serverpower in a pay-per-use model that scales from single instances to thousands of machines. Each server: predictably provides the equivalent of a system with a 1.7Ghz Xeon CPU, 1.75GB of RAM, 160GB of local disk, and 250Mb/s of network bandwidth." The cost: $.10 per instance-hour Disk storage is provided by Amazon S3. Standard S3 storage rates apply. Transfer rates are identical to S3, except in-network EC2-EC2 or EC2-S3 transfers which are FREE. Amazon provides a JAVA based API to create machine instances--which can be full-blown custom linux installs (they also provide default images for popular Fedora Core 3/4). From the docs (readying image, uploading to S3, registering and running): Expect this technology to be heavily leveraged in RightCart.com in the coming months.

OS/X, Ruby on Rails, Install script for Apple's Intel Macs

Automated configuration is very important to our process--it keeps all our machines in the same state, makes it easy for new developers to come onboard, and in the end saves many, many hours of finding the same mistakes. Not long ago, I was able to search google for "Ruby on Rails OS/X" and get a nice installer script that could be downloaded and run on a new Mac to get Ruby on Rails up and running. I've been steadily buying up more Mac's and this was a great kick-start for the manual install steps. Then one day I went to find the script and... it disappeared. Since then, we've been maintaining our own Ruby on Rails install script. The word got out, and I've had enough requests to share it that I'm now making it public. It's a copy from our internal wiki, so don't ask about SVN access. If you feel there's an addition, please leave your thoughts in the comments. I've opened this under the Apache 2.0 license mainly to get a disclaimer of no warranty, and beware--this very well nuke your whole system, so read it first and understand the steps before you apply. If you missed the link above, you can download the script here (http://elctech.com/ruby/elc_new_mac_ruby_on_rails_installer.sh). Note that there is gratuitous copying from the awesome tutorial by HiveLogic and that this script installs Darwin ports (to ease GraphicsMagick installation, an rmagick gem dependency).

Wednesday, August 23, 2006

Best way to migrate your blog?

With the release of the new beta blogger.com, I wonder--what happens after years of blogging one blog system and finding that one wants to migrate to the latest and greatest on another service; or maybe your blog system gets blocked by the largest democracy in the world? Say today, blogger wasn't releasing an updated site, and I wanted to take advantage of a more powerful blog like typepad. Granted, I have under a year of posts under my belt, but keeping even the little history I have is important. It is plenty lockin to keep me from entertaining the thought of moving systems--unless there is an automated service that would make it a completely seamless transition. A little google sleuthing turns up WordPress migration from Blogger or Typad, but I cannot find any other resources. Maybe this is just an obscure thought--but my hunch is that among the 50M blogs out there, many would want the freedom to migrate to the best product at their desire. Well--I suppose my aspirations for migrating to TypePad will have to wait--and hopefully I'll get into the Blogger beta soon... as tags and a little AJAX will be nice to have.

Tuesday, August 22, 2006

The TAB key works!

Read this and do it. I thought Mac's just had poorly supported TAB keys, but believe it or not--it's a feature to have form select boxes, popup-boxes and more SKIPPED when you try to tab to them. The post by Tony Spencer shows how to disable the feature.

Saturday, August 19, 2006

Thanks to Dave McClue our attendance at last night's awesome TechCrunch party has been memorialized (here, with Edgeio's Matt Kaufman here, and here).