Google App Engine

Google released their App Engine yesterday. Very cool python goodness, supposedly with access to their BigTable and GFS and supposedly free for use up to a certain limit.

In the meantime, Google engineers (or was it designers?) came up with a new type of aircraft. You probably have heard about flying wings, but it looks to me like the concept of “a flying engine” has been introduced for the first time. And it’s a very simple design too - you take a jet engine, and attach wings and a tail to it. I am not a specialist, but I don’t see a reason why it won’t fly.

Seriously though, Google definitely has my respect for doing things like this.

Categories: python | fun |

On project management

What is the most important phase of a software development project? Some people might say planning, others might think it’s QA. Probably nobody will say actually doing it (aka development), as that would be too boring.

I think all these answers are wrong. In my opinion, the most important phase of a software development project is… coming up with a name for the project. My experience indicates that a good name can increase developers’ fun (and consequently productivity) by 30-70%. A great name can lead to up to 100% increase in fun and productivity. These numbers are not very scientific, but they are very real.

Consider difference in motivation when one works on a project named RLASI (which might stand for Reduced Latency Algorithm for Sending Information) and another works on project Milton (in honor of Milton Waddams, a guy with red stapler, from Office Space). Milton is actually one of my most beloved project names and it was an actual project, which I worked on in the past.

If you are starting something new, consider spending some time to find a great name for it - remember that it is 50% of the project’s success!

Categories: fun |

Best April Fools' Day Joke Today

http://damienkatz.net/2008/04/couchdb_language_change.html

Or is it not a joke?…

Categories: fun |

Benefits of Virtualization - Part 2

Virtualization can also serve as software delivery medium. You know, like floppies, CDs and DVDs. You do sacrifice space and some CPU power, but get a controlled installation environment in exchange. This comes handy if a product you are trying to distribute takes some effort and knowledge to install correctly.

To illustrate this concept, I am going to give an example. Let’s say you are considering a Getting Things Done technique and you are looking at tracks. Tracks is a Ruby on Rails web-based application, and if you are not familiar with this technology, it might take you some time to get all bits and pieces together so that you can see tracks login prompt in your browser. Instead, consider using this elastic server. It’s an image of a VMware virtual machine, which you can simply download and run in VMware Player. And there is your tracks application inside - it is already configured with a database and comes with all necessary web containers to run it.

I won’t be very surprised if more applications in the future will be offered for download in this format.

Categories: virtualization |

Benefits of Virtualization

Almost everybody is familiar with better resource utilization as one of the benefits of virtualization. You can reduce the physical footprint (have fewer physical pieces of hardware) and still run the same number of “standalone” servers as before virtualization.

I think however that there is another huge benefit that doesn’t get as much attention - virtualization allows you to eliminate physical human labor component from the process of provisioning, moving or decommissioning your servers (once the original hardware, where VMs will be running, is set up). What does it take to provision a new virtual server? Several commands - and you are done. What does it take to move a virtual server? Again, several commands - no need to hire a moving company. What does it take to decommission a virtual server? You guessed it - several commands. And all these commands can be put together into a script or a GUI, and the entire process of ordering hardware, receiving it, unpacking it, racking it, taking power to it (you also need to check if that power is available, by the way), setting up cooling for it, connecting it (cables are so old fashioned!) and then finally turning it on can be encapsulated in a relatively small piece of software.

Categories: virtualization |

Previous Page
Next Page