Commentary
Cloud computing – where’s the silver lining?
Mar 8th
I’ve seen several people propounding the cost savings of cloud computing as being of great benefit to startups. Most recently someone wrote “… cloud offers an amazing opportunity to reduce costs for startups”
This simply isn’t true.
It cost ~$2500 to buy a smoking hot server from Silicon Mechanics with SSD drives and under $100/month to host it at a reputable data center. Over 4 years that’s about $160/month which is less than coffee and a doughnut each day. Even if the cloud was free that still wouldn’t make it an “amazing” cost saving.
In addition, said smoking hot server, can outperform 8 large EC2 instances on any compute heavy or data intensive operation. For individual web requests with some database access it also offers lower latencies = better customer experience.
Depending on the load, cloud computing can cost more than a dedicated server and offer a worse customer experience. It’s not the panacea it’s made out to be.
The ‘correct’ reasons to select cloud computing are …
- it offloads a bunch of setup and maintenance effort to someone else,
- you can get another ‘machine’ more quickly / more easily,
- it allows you to scale up a [well-designed] application easily if your startup is successful and actually needs to go beyond one server, …
“Cost savings” doesn’t even make the list for startups IMHO and many of these same benefits can be had by running your own smoking hot server with virtualization.
The other dirty secret of cloud computing concerns the notion that you can pull together a reliable system from disparate services from different vendors. Do the math: 0.999 x 0.999 x 0.999 x 0.999 is a lot less than 0.999 and that could mean unacceptable downtime for your users.
Summary: It’s not significantly cheaper, it may be slower, it may be less reliable but it can be much more convenient.
Twitter links for the week beginning March 1st
Mar 2nd
NService bus looks pretty interesting, I shall have to give it a try sometime: http://www.nservicebus.com/Overview.aspx
ConceptNet might be a great addition to my Natural Language Engine if I can find the time to investigate and hook it up .. http://web.media.mit.edu/~hugo/publications/papers/BTTJ-ConceptNet.pdf
If I can find a Nokia angle for my home automation software maybe I can enter their competition: http://www.callingallinnovators.com/eco-being_green.aspx
Tutorials on great looking web design … http://www.noupe.com/tutorial/the-ultimate-collection-of-brilliant-web-design-tutorials.html
Google’ SEO report card on their own properties … http://googlewebmastercentral.blogspot.com/2010/03/googles-seo-report-card.html
Extracting information from HTML … http://callvirt.net/blog/post/An-Experiment-in-HTML-Data-Extraction.aspx
Facebook, social gaming and points
Feb 28th
This is one of my favorite videos from the week … a great look at Facebook, social gaming and point systems:
Interesting or useful links on Twitter this week relating to .NET and C#
Feb 22nd
Useful Twitter links Feb 8-Feb 15 2010
Feb 8th
http://arachnode.net/ – a .NET web crawler http://geekswithblogs.net/michelotti/archive/2010/02/05/mvc-2-editor-template-with-datetime.aspx – MVC 2 Editor templates
http://blogs.msdn.com/adonet/archive/2010/02/08/entity-designer-database-generation-power-pack.aspx – New goodies for the Entity Framework
http://www.jameskovacs.com/blog/PermaLink.aspx?guid=6985963b-3d85-41ae-bca8-5f9efe2a79c7 – Zone stripper for fixing files downloaded from the internet that get marked blocked
http://smallbizbee.com/index/2010/02/02/ultimate-list-40-social-networking/ – Social networking sites for business
http://realfiction.net/Content/Entry/151 – Use class per action instead of method per action for asp.net MVC – interesting …
http://hgbook.red-bean.com/read/ – Definitive Guide to Mercurial
http://pdos.csail.mit.edu/papers/parsing:popl04.pdf <– Parsing Expression Grammars (PEGs)
http://haacked.com/archive/2010/01/17/editable-routes.aspx <– Editable routes
http://pixelmatrixdesign.com/uniform/ <– good looking forms with jQuery
http://code.google.com/p/elmah/ – Elmah is a pluggable exception reporting system for .NET web applications
http://steveblank.com/2010/02/11/it-must-be-a-marketing-problem/ <– Steve Blank, always a good read, on “we have a sales problem”
http://community.bartdesmet.net/blogs/bart/archive/2009/08/10/expression-trees-take-two-introducing-system-linq-expressions-v4-0.aspx <– Expression trees in .NET 4.0
http://alexgorbatchev.com/wiki/SyntaxHighlighter <– A syntax highlighter for code on web pages
http://incubator.apache.org/cassandra/ <– Cassandra
http://blog.eworldui.net/post/2008/05/ASPNET-MVC—Using-Post2c-Redirect2c-Get-Pattern.aspx <– the post, redirect pattern for ASP.NET MVC
Balloon Boy was much ado about nothing – Twitter
Oct 16th
So the whole #balloonboy thing turned out to be a non-event today. The traffic on Twitter around this must have been huge. Here’s a few of the more witty comments:-
saymayday UPDATE: kid flying away in a balloon is fake!! It’s all fake!!!
candidgyal Black Hawk sent to rescue little boy in helium balloon. Someone will be lowered to attach to the balloon and rescue boy.
QuinnK Major anxiety about this balloon boy situation, and the number of people on Twitter that can’t spell ballon baloon balon BALLOON!
boxwood17 Hey, 6-year-old in the hot air balloon, I’mma let you finish, but John Denver had the best crash landing of all time.
ProgGrrl RT @HitFixDaniel I’ve temporarily switched from CNN to Fox News, because I’m curious how Balloon Boy is Obama’s fault.
pasquinade My other car is a helium balloon with a 6-year-old child inside. (Too soon?) #bleakbumperstickers
SpigotTheBear ***BREAKING NEWS*** A SECOND KID IN A SECOND BALLOON HAS JUST CRASHED INTO THE WORLD TRADE CENTER
azbubba RT @tdhurst: The balloon kid would be a lot cooler if he was live tweeting this.
ebonymystique this balloon boy is gonna be the most popular kid in school tomorrow. wait…why wasnt he at school TODAY?
jennknitsalot i’m ok with #boyinballoon crashing twitter as long as the balloon doesn’t crash
michelleyus Is it me, or does this balloon thing seem like it shouldn’t be that hard? I saw Executive Decision. Mid-air solutions CAN be devised.
kella_bella when i was 6, i wanted to fly away in a hot air balloon.
drewdavies @gregeh The balloon “expert” on CNN pointed out that if the boy isn’t separated from the helium chamber, he’s not going to have any oxygen.
zamoose 6 year-old boy floating away in helium balloon on CNN. Anchors refuse to address lack of Federal funding for airborne Lassie research.
TiricoSuave “Well, it’s obviously landed.” – Stan Hess, CNN’s experimental balloon expert.
Neomic RT (via @justrod); If we couldnt find #balloonboy in his own house what makes ya think we ever gonna find Osama
bootypirate Just ordered a weather balloon kit from the back of Parents Magzine. #fb #balloonboy
OntieC #balloonboy story just so much hot air.
@EthanSuplee Has America run out of wells to fake falling down?
tsand: http://twitpic.com/loa1c – Working on prototypes of our #balloonboy Halloween costumes.
Yarhoza Yo Balloon Boy was probably in Narnia while all this was all going on. #balloonboy #balloonboy #balloonboy #balloonboy #balloonboy
reverendnathan Ballon Boy’s favorite song? “I believe I can fly” by R. Kelly. He thinks about it every night and day. #balloonboy
jaimebradley #balloonboy if you name a child after a bird, he’s going to want to fly
Shortened URLs should be treated like a Codec …
Oct 11th
Codecs are used to compress data to send over the wire, but when it gets to the other end it is decoded back to its original form for display.
Shortened URLs are used to compress long URLs to send over Twitter.
So why aren’t they expanded again on the other side? Why do Twitter clients show short urls instead of expanding them back out to a long URL, or at least a display that tells you what the real web site is.
This has implications for reducing attacks hidden in short URLs and for allowing you to see at a glance that “Check out http://bit.ly/a567as” is actually the same site you’ve already read once today from another Tweet.
So for my own Twitter client I decided to expand all shortened URLs as far as I could go. Here’s a code snippet to do that:-
/// <summary>
/// Follow any redirects to get back to the original URL
/// </summary>
private string UrlLengthen(string url)
{
string newurl = url;
bool redirecting = true;
while (redirecting)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(newurl);
request.AllowAutoRedirect = false;
request.UserAgent = “Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 4.0.20506)”;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if ((int)response.StatusCode == 301 || (int)response.StatusCode == 302)
{
string uriString = response.Headers["Location"];
Log.Debug(“Redirecting “ + newurl + ” to “ + uriString + ” because “ + response.StatusCode);
newurl = uriString;
// and keep going
}
else
{
Log.Debug(“Not redirecting “ + url + ” because “ + response.StatusCode);
redirecting = false;
}
}
catch (Exception ex)
{
ex.Data.Add(“url”, newurl);
Exceptions.ExceptionRecord.ReportCritical(ex);
redirecting = false;
}
}
return newurl;
}
Tagging File Systems
Oct 10th
Adam James has an interesting post on his blog about file systems based on tagging.
I think it’s a great idea, Windows UI today is bound far too closely to the physical disks in our machines and the logical directory structure on top of that. Moving to an abstraction where the physical and logical location matters less and content can be found using tags is a better idea.
I’ve done some experiments on a similar concept in my home automation system for my multi-channel music player where everything is handled using tags: tags for artist, album, genre (obviously) but also free form tags for playlists, songs to play only at certain seasons, … It works really well.
WMPnetwk.exe started using 50% of my CPU
Sep 17th
I’m not even using Windows Media Player on Windows 7 and I certainly haven’t turned on any network sharing features so why is this service using up so much CPU?
Now disabled thanks to advice on the CNet forums here.
Some witty comments there too like “3. Uninstall Windows Media Player 11…I mean if after 11 versions it still doesn’t work right then its probably not gonna is it!”

Twitter links for Week beginning March 8th
Mar 10th
Posted by Ian Mercer in Commentary
A C# utility library …
Using MongoDB with ASP.NET MVC
Reactive Extensions for .NET
A fluent wrapper around System.IO
Code bubbles – an innovative way to work in an IDE
Lots of discussion on SEO on this article
More useful WordPress plug-ins
Some great diagrams explaining LINQ SelectMany
NAudio – an audio subsystem for .NET