Archive for the ‘Programming’ Category

A simple SimpleDB use case

Monday, May 4th, 2009

I’m happy to say that I had the chance to use Amazon AWS for a project of my customer Deltatre.

The news is particularly good because it offers a real argument in the “use or don’t use it” debate, and offers practical innovation to the company.

Technically, we decided to go on with SimpleDB during the development of deltatrePULSE (or simply Pulse) product: the idea of CTO Carlo De Marchis is to create a new distributed system that will open mode the Deltatre web/sport platforms.

Apart from strategic consideration, I would like to stress the fact that this decision was not forced by some obscure needs for innovation: in fact, both the data model and use cases fit perfectly with SimpleDB (costs considerations will be done as soon as we have some usage data at hand;) summarizing, Pulse needs an entity with 5 attributes (for now) in which to write a sport news and read it back later, modifying its state, and it should not be tied to a precise Internet hosting facility.

SimpleDB become a natural choice once the Pulse prototype run for some time: in fact, the first implementation of the Pulse Log Repository (i.e. the persistence layer) was implemented using FriendFeed as the “database” (we saved XML as FriendFeed entries, and attributes as comments), and it worked like a charm until our Pulse server IP was temporarily banned because we hit the rate limit; after some research, it was clear that FriendFeed was not good for our needs because the rate limits info are not disclosed, even if it was chosen because it can be seen as a free and simple to use database system that does not require any maintenance.

We were stuck, so it was immediate to think to SimpleDB: a simple to use database system that does not require any maintenance and “lives” on the Internet, even if it’s not free but that it’s not rate limited, though. In a matter of minutes we had a company-wide AWS account, and in two hours we were running on SimpleDB instead of FriendFeed.

I’ll give more technical and practical information about SimpleDB usage (and about clouds in general), but for now I would like to conclude this post saying that, besides a lot of [good and bad] _corridor discussions_ about computing clouds, my advice is: get somewhat familiar with the tool, then use it when you need it, as you would do with any other tool.

You can follow Pulse development and some other funny things on my Twitter profile.

  • Share/Bookmark

Google Chrome Mac Builds

Wednesday, March 4th, 2009

Here you can find the builds of Chromium (the open source project on which Google Chrome is built) for Mac OS X that the fine guys at Google are preparing for us.

Waiting for an official version of Chrome (and for Firefox 3.1), let’s continue the browsers’ war on features and not on the garbling of web standards!

  • Share/Bookmark

Blogengine.NET Textile Extension

Friday, November 21st, 2008

An extension to add Textile support to Blogengine.NET, directly derived from the Markdown extension by Alexander Schuc (who I thank a lot).

To download it click here.

  • Share/Bookmark

Lightweight Microsoft.NET Process Debugging in Production Environments

Friday, August 22nd, 2008

Everyone is aware of the problem of discovering the causes of a bug when it’s only present in one environment and, if it’s Production, the problem is even bigger, even if you have a solid error logging system in place.

Recently we faced this same situation and we didn’t have any clues to help us, only that the w3wp process was dying and the ASP.NET session remained locked. After some thought, we arrived at the conclusion that there was an infinite loop somewhere, and we had a vague idea of the “zone” of code where this was happening, but we couldn’t reproduce it in any other environment even after several hours of testing.

(more…)

  • Share/Bookmark

Clouds Evolve: Dealing with Infrastructure Complexity

Sunday, June 8th, 2008

As expected, at least by me, Amazon EC2 is evolving in a more “concrete” platform good for web hosting; in fact, some time ago I received a mail from AWS announcing two new features: Elastic IP Addresses and Availability Zones (you read for sure the news also on Slashdot: Amazon EC2 Now More Ready for Application Hosting, isn’t it?)

(more…)

  • Share/Bookmark

Amazon EC2 will get persistent storage

Tuesday, April 15th, 2008

Only a small note to let you know that Amazon is hearing us and added a new feature to EC2: persistent storage.

As a subscriber of AWS services yesterday I received an email in which Amazon announces that we “will be able to create volumes ranging in size from 1 GB to 1 TB, and will be able to attach multiple volumes to a single instance. Volumes are designed for high throughput, low latency access from Amazon EC2, and can be attached to any running EC2 instance where they will show up as a device inside of the instance…“.

The mail ends saying that the new functionality “will be publicly available later this year” and offers a link to request to join the private beta program; I subscribed it and will let you now as soon as I’ll put my hands on it.

  • Share/Bookmark

More on the [Computing] Clouds

Saturday, March 29th, 2008

Recently I stumbled upon a couple of articles1,2 and, remembering my experience with EC2, I discovered that utility computing was not what I was searching for: I was searching for something that helped me without adding complexity, but I was not happy with simple web hosting offers, I wanted also complete control over my infrastructure to have the technical freedom that I could need and because, when I think about my customers’ data, I trust no one.

(more…)

  • Share/Bookmark

Helping Improve Virtualmin

Monday, March 17th, 2008

Only a small note to let you know that Virtualmin (from version 3.54) can be used for serious work when importing websites from Plesk backups: I tried the previous version with some web sites but it was too buggy, so I decided to help authors in debugging and testing it; I think that now Virtualmin can import the backups in a rather complete way.

BTW, Plesk is a good product, full of features, but I prefer Webmin/Virtualmin because they let me have full control of the server, instead of the way of Plesk that is too automatic in my opinion and offers less choices, impositions that I feel too strong (one for all: Plesk comes and works only with QMail).

  • Share/Bookmark

The Road to MDA

Sunday, February 24th, 2008

The most expensive phase of software construction is coding and this is because it’s the less intuitive: it requires constant attention and reasoning, errors (logical or not) are difficult to spot because they are immersed in text that often is long, separated in more than one file, and not written by us.

(more…)

  • Share/Bookmark

Proof that Microsoft SQL Server 2005 Profiler causes no harm

Tuesday, February 19th, 2008

If you ever wondered if SQL Server Profiler can influence negatively your production database servers that you watch every day with love and attentions, then stop wondering because I have an empirical proof of the fact that it causes no harm.
(more…)

  • Share/Bookmark