Subtitle: Some useful notes on my first AWS EC2 usage session.

As some of you may have already guessed, I really appreciated the Free Usage Tier by Amazon starting on 1st November. So right on 1st November I registered to AWS and I created my very first instance on the Amazon cloud. In a few minutes my machine was up and running. But as a newbie I must admit I stumbled upon some little problems and misunderstandings that I think may be common to other AWS newbies.

Before starting: be careful, this is not meant to be an EC2 tutorial.

The first thing I wanted to test was the creation of a new instance. This is the easiest thing to do starting from the Management Console: just click on the big button “Launch an instance” and follow the steps. The first step of the wizard will let you choose the AMI to use to instantiate your machine from the ones displayed into the Quick Start tab. If you are familiar to OOP an AMI stands to a running instance just like a Class stands to an Object. Here’s the screenshot of the Quick start tab:

AWS Request Instances Wizard - Choose an AMI

I wanted to try something cool, so I decided to run the third AMI of the list, the one based on SUSE Linux Enterprise Server 11 32-bit. Ok, I know, the 15GB of mass storage needed by this AMI throws me out of the free usage. But once upon a time I installed SUSE ES on a physical machine, and it took me more or less an hour to have it up and running. Creating it in a few second is a little bit more fascinating to me. Anyway, as the description states this machine seems to have “Apache 2.2, MySQL 5.0, PHP 5.3, Ruby 1.8.7, and Rails 2.3″ installed and ready to work. But soon I realized that it was not so true. As a matter of fact this AMI is designed to to have a basic install and has all the other software available for easy installation. This means it is predisposed for an easy installation of these packages, but none of them is already installed. In order to install Apache HTTP Server and MySQL you have to execute some commands:

1. perpare the pacakges
zypper in apache2 mysql

2. enable the services on boot
chkconfig apache2 on
chkconfig mysql on

3. and then start them
service apache2 start
service mysql start

Now I had my apache server and my database ready to work.

But here we went a step further. When I first launched my instance and got the green badge on it, the very first thought have been: “And now? What am I supposed to do?”. After a few seconds I realized I had a huge list of things to do, here are some:

  1. how can I connect to and interact with my server?
  2. is this alredy reachable, or do I need to attach a public IP? how?
  3. may I connect to my server using an FTP/SSH client?
  4. can I deploy my website?

Well, we already answered the last question, so let’s go quickly through the others.

  1. You can connect to your server and control it simply using Terminal (on OSX), for example. If you right-click on your instance and select “Connect” a popup window will display and will clearly guide you through the steps needed to set up the SSH connection.
  2. Yes, it is already reachable thanks to a public domain name automatically created by the service, something similar to “ec2-xxx-yyy-zzz-kkk.compute-1.amazonaws.com”. Anyway you can always reserve a public IP and attach it to your machine using the Elastic IP service.
  3. Yes, for example is very easy to configure Cyberduck (OSX again..), just remember to open the right ports on the Security group associated with your machine.

After the first experience with the SUSE AMI, willing to adhere to the free usage limitations, I wandered for other AMIs letting me create a micro instance. But soon I realized that only a few, both into “Quick start” and in “Community AMIs” tabs admit a micro instantiation. And most of all you are not able to know it until you try to instantiate one (AMIs description is often very generic). So you’ll have to try out some of them before getting the right one for your needs.

Other important questions about EC2 are usage tracking and billing. You will be able to keep it all under control not directly from the Management Console, but using your Account section on the AWS site.

In the end I’d like to recommend a couple of useful tools you’ll can’t live without: Elasticfox, an extension for Firefox, and Simple Command-line tools for EC2 and S3.


“The whole thing was started by Adafruit, the New York company that challenged hackers to hack the Kinect. The prize? $2,000 in cold hard cash to the person(s) that would be able to come up with an open source driver for the Kinect. An it looks like the Kinect can be used with a PC although it’s not exactly clear how that’s useful for now.”

“Microsoft however is not exactly happy, and who can blame them? They have one of the coolest products in town and having it hacked so soon is not exactly what they must have anticipated back at Redmond. In fact here’s what they told CNET about the whole situation:

“Microsoft does not condone the modification of its products,” a company spokesperson told CNET. “With Kinect, Microsoft built in numerous hardware and software safeguards designed to reduce the chances of product tampering. Microsoft will continue to make advances in these types of safeguards and work closely with law enforcement and product safety groups to keep Kinect tamper-resistant.”

So, anyone out there ready to bring motion controlled gaming to PCs.”

From: http://nexus404.com/Blog/2010/11/08/microsoft-kinect-hack-to-bring-windows-7-pc-motion-control-gaming-not-quite-the-kinect-has-been-hacked-to-run-with-windows-7-pcs-long-live-the-kinect/

Here you are the 30 seconds video.

http://www.youtube.com/watch?v=DkODbZwGinQ&feature=player_embedded


While reading what’s new on the #Agile Daily from paper.li, I found this funny video talking about Agile and based on Imagine (yes, the one from John Lennon).

Imagine Agile by @oclaudiobr and Gustavo Sato (Japa)

At first it’s a little bit stupid, but..in the end it makes some fun. And here are the lyrics:

“Imagine there´s no Gantt charts
It’s easy if you try
No “resources” bellow us
Above us only ROI
Imagine all the people
Living for today

Imagine there’s no requests for change
It isn’t hard to do
Nothing to kill or die for
And no silver bullets too
Imagine all the people
Sharing tasks in peace

You may say that I’m a dreamer
But I’m not the only one
I hope someday you’ll join us
And our kanban will guide the flow

Imagine real commitment
I wonder if you can
No need for fear or blood pacts
We’ll deliver what we really can
Imagine all the people
Sharing all the code

You may say that I’m a dreamer
But I’m not the only one
I hope someday you’ll join us
And our kanban will guide the flow”

Thx to @oclaudiobr who doesn’t really seem to have better things to do!


Did you know that world could have attended to the birth of another Jobs’ creation maybe with the name of “iKinect”? Instead we have just the Kinect and at this time it’s Microsoft who took care about that.

Will we be witnesses to another intuition by the “Big Apple Jobs” or will this be one of the great mistakes?

Also Nintendo discarded it…

http://www.tipb.com/2010/11/06/apple-microsofts-kinnect-controller/

http://kotaku.com/5683095/kinect-could-have-been-on-the-mac-instead-of-the-xbox


Of HTML 5, of course! At the moment HTML 5 is still a rich promise, but neither Adobe nor Microsoft want to renounce their own slice of the cake. I can still remember the loads of articles talking about Adobe vs Apple and Adobe trying to obstruct the works for the new HTML specification. Adobe was so doubtful about it that Adobe’s CEO Shantanu Narayen dismissed HTML 5 as being “unable to deliver a consistent user experience across different Web browsers” and predicted that “a decade will pass before the specification gets standardized”. Sometimes fear is so hard to hide…. But tahnkfully now things have changed, fear disappeared and the new must are trust and committment.

And so came the support for the WebM project and the HTML 5 Pack for CS5 suite. But Adobe never stops thinking about it customer and so here it comes directly from the MAX 2010 the great idea: develop your own applications in Flash and thanks to one click only you will get a full featured copy of it into HTML 5. Woooow..that’s amazing! But, just one moment please. Let me think about it. Why should Adobe promote such a tool? Isn’t Adobe investing tons of dollars on Flash? Yes, but you remember, things have changed. The answer is simple: finally Adobe realized that the Flash Player is not a fully universal runtime and never will be. If Mohammed will not go to the mountain, the mountain must come to Mohammed. Or better to HTML 5. So Adobe reviewed its strategies and now wants to provide its customers with a full suite of products ready for HTML 5 development. Flash and HTML 5 will coexist. If you can’t kill them, make friends with them, said someone.

Could Microsoft just wait and see? Not at all. As a matter of fact if Flash should worry about HTML 5 so shoud do Silverlight. But the world should not be scared, Microsoft is really committed to HTML 5 too. As a matter of fact it seems that Silverlight won’t be no more the cross-platform runtime for RIAs as it were in the original plans. Also Silverlight will live and will coexist with HTML 5, but it seems that it will become part of the development plaftorm for Windows Phone.

So now everybody loves HTML 5 and most of all everybody wants its own slice of the cake.
It’s just a hunch, but now it seems that everyone is implicitly claiming that HTML 5 is the one and only real cross-platform technology to come. Who would ever have thought that?


Follow Granma’s garage on twitter. And we are on the sidebar too!!


Since a few days I started working in my new company. Soon I asked my colleague what I had to do to set up my workspace. Ask the chief, he said. Then my chief came and told me “There’s nothing to install. Here’s my hard drive, get one of my virtual machines and you use it as your own workspace”. It took me 20 minutes to copy the vm, in the meantime he wasn’t working as I was copying its workspace, and me too, of course. Once the copy finished I launched the vm and soon the problems came: memory not sufficient, neverending windows boot and finally the mess, the vm was a real mess and tuned to be unusable. I began asking some questions:
Why do I have to use your vm as my workspace if I have my real machine ready to work? Because by doing so you can start working immediately, of course. And switching from one project to one another will be simple: change vm and you are done. Easy as a pie….
Have we got a repository of ready to use vm? Ehem..maybe, here or there..we could have something..but, I don’t know..Mmmmm….

Two days ago I posted this and besides the DIY stuff, I liked the cloud-based approach. Browsing the net in search for some more ideas I found another interesting article from CMcrossroads.com titled Cloud-driven development. First of all let me say it’s very interesting. And I think I’m not alone since the Cloud-driven development is one of the key topics of the ALM Expo 2010. Anyway, in my opinion this title is a little bit high-sounding. But let’s understand what it’s all about. The author presents a new “methodology using cloud resources to improve the software development process from inception to production”. Sounds good. This should be done by “providing all of your developers and testers with dedicated test servers in the cloud whenever needed.”. Sounds really good but as you may notice he said test servers. As a matter of fact, reading through the article, you may notice how the it focuses most of all on how to improve test process by increasing the availability of testing resources thanks to cloud-computing. In my opinion this is not so “Cloud-driven development” as I really don’t see the cloud driving developers’ work. This is something more like leveraging the cloud to improve testing. It would have great effects on test feedbacks and code improvement, of course. But I think this name may be misleading.

Anyway, may the title be right or wrong, I think this is a good article giving us some very good hints to think about. One for all: provide the developer with the needed working resource right when needed. But I don’t think we should focus on testing environments only. I mean, we should try to exploit this power not only for tests. Why can’t we think about something supporting the real development too? As I said before, in my new job seems to be really time consuming to set up a new working environment so people tend to push and reuse vms. This easily leads to mess. And when you have loads of work to get through…. To speed up working environment setting up, avoid vms mess and increas productivity, we could think about a cloud based system in which to start working on a new project the cloud provisions the developer with the right yet configured development resources needed. Moreover, this would translate into other additional advantages like having a focused and very controlled set of vms.


Since @dtssagio let me know about the existence of Amazon Web Services like S3 or EC2 I’ve always wondered why such an interesting and revolutionary set of services did not have a marketing strategy based on a trial period or free but limited capabilities too. As a matter of fact I remember that the first thing I thought was “Incredible, let’s try it…”, but soon I realized there was no “Try it!” button on AWS pages.

But hey, someone at Amazon finally got it and now Amazon wants to “help new AWS customers get started in the cloud [..] introducing a new free usage tier.”. We are so lucky, Amazon wants to help us!! In a few words they realized that maybe there is someone out there that maybe can’t really understand the real huge power of this “big thing” starting from the river of words on AWS pages only. Maybe after a trial period there may be someone out there that could really understand what they are talking about and why I should pay for it.

With the AWS Free Usage Tier you will be able to “run a free Amazon EC2 Micro Instance for a year, while also leveraging a new free usage tier for Amazon S3, Amazon Elastic Block Store, Amazon Elastic Load Balancing, and AWS data transfer.”. For example, for EC2, you will get a Micro Instance only. Well, this is not exaclty the top of the available range: 613 MB of memory, 32 or 64 bit, up to two EC2 compute units (ECU) and EBS storage only. Anyway it’s just for testing purposes and it’s really enough to start loading a personal page or something more.

Beware of the per month limits of the services, if your application use exceeds the free usage tiers Amazon will charge you with standard pricing rates!


Playing real test-driven development the right way may not be so easy as it seems and seeing a master doing it with your own eyes may be very helpful. Thankfully there’s somebody out there that is so unselfish to help us playing this game. James Shore published in his blog a very good set of lessons (43 by now, and counting…) on TDD called “Let’s play TDD“.

Actually Shore is not alone and if you google a little bit you will find a lot of interesting videos talking about TDD. Even Kent Beck published his own TDD lessons on the Pragmatic bookshelf. But you’ll  need some money to get it…while Shore’s lessons are totally free ;) . Hope this helps.


I’ve always loved DYI stuff and yes, I’m still a McGyver fan too. While wandering for the net I stumbled upon an interesting article from developer.com: Building a test platform in the cloud with open source technologies. This quick and easy to read article guides the reader through some steps to create a self-made cloud computing test platform based on CentOS.

In my opinion the “cluod side” is the coolest one. It’s a nice demonstration of how we could exploit the power of the cloud, even if it’s a self-made one. Thanks to this article I also discovered the open source cloud computing platform Eucalyptus. I’m quietly new to cloud computing and I found useful the Eucalyptus short introduction to the cloud here.

Now let’s give me a pen, a hair and sticky tape and I’ll create the cloud!!


Powered by WordPress and theme PlainMagic.
Copyright © 2010 The Granma's garage