Showing posts with label Links. Show all posts
Showing posts with label Links. Show all posts

Friday, 23 July 2010

Need Virtual Server hosting in the UK or USA? Try ElasticHosts

If you’re looking to host Virtual Servers in the cloud with good response times from the Europe or the USA, you should take a look at ElasticHosts. Here’s why:

  • By my calculations they are just about the cheapest of the options available in the UK. I compared them against RackSpace, CloudHosts (part of UKFast), Amazon and FlexiScale. Only FlexiScale came close.
  • Incredible flexibility in sizing your server. Forget about Small, Large and Extra Large: with ElasticHosts you get a slider control for CPU, Memory and Hardisk allowing you to resize your machine as your needs vary.
  • You can either choose pay-as-you-go pricing, with no minimum commitment; or if demand is predictable you can take out monthly subscriptions and save money. You can even mix and match: if say, you typically use 5GB bandwidth in a month, but sometimes burst up to 7GB, you can subscribe for 5GB a month, and use pay-as-you-go pricing for the extra.
  • They have a REST API giving complete programmatic control over your pool of servers, allowing you to do everything from stopping and starting servers, through provisioning completely new servers on the fly, to copying drives from the cloud to your machine.
  • They offer a free, no commitment, five day trial to get you hooked started.

I’ve saved the best till last: ElasticHosts Customer Service is amazing. Fronted by Elastigirl herself (aka Anna Griffiths, her cover as Helen Parr now being thoroughly blown) they’ve been quick to respond whether I’ve called or emailed.

The first time I got in touch, I was rather cheeky: the server they offer for the free trial is clocked at 2GHz with 1GB RAM. This rather struggled as I loaded it with Windows Server 2008, so I called asking if there was anything they could do to make the trial server more representative of the system we might be looking to subscribe to.

“Sure”, said Anna, “What would you like?”

I was stunned! And continued to be so as she upped the memory, hard disk capacity, bandwidth availability and gave me the use of a static IP address.

If I had one suggestion to make, it’s that they set up a support forum to supplement their email and telephone support. I’m sure they’ve already answered several of the questions I asked many times over, and I always prefer to bother Google before I bother a support person. Added to that, it would be nice to have a place to share some of the titbits that I discovered – like how to call the ElasticHosts REST API from .Net (you have to force WebRequest to include the Basic Authentication header).

So give ElasticHosts a try. I’m sure you’ll be pleasantly surprised.

Friday, 16 July 2010

My PDC 2010 Prediction: Free Enthusiast App Hosting on Windows Azure

So Microsoft have announced that there will, after all, be a Platform Developers Conference this year. It will however, be an austerity PDC, chopped down to two days, held on Microsoft’s campus rather than in a big conference city, and with a much narrower focus. This is billed to be a Cloud Conference. And I think I know what Mr Steve “Developers, Developers, Developers” Balmer is going to be announcing.

Think about what Microsoft have revealed over the last couple of weeks:

  • WebMatrix, a new streamlined IDE aimed at enthusiasts wanting to produce web applications. And skipping hand-in-hand with WebMatrix comes Razor, a new syntax for creating web views.
  • SQL Server Compact Edition 4, a new version of the embeddable, in-process edition of SQL Server that has been enabled to run inside ASP.Net
  • IIS Express, a version of IIS 7.5 with full support for the new IIS Integrated pipeline, SSL, etc. but capable of running in a locked down environment with no admin privileges.

Then there are the rumours about KittyHawk, a tool aimed a tech-savvy business users wanting to produce Silverlight applications without any coding.

Add all this up, and what do you get? Hundreds of enthusiasts with shiny new web applications, eager to share them with the world – but not wanting to go through the pain of ftp-ing their creation to a web host.

Hence my prediction: At PDC 2010 Microsoft will announce free hosting for enthusiast-scale web applications within Windows Azure. And they’ll throw in tools to publish web applications from WebMatrix and Visual Studio Express to Azure at the click of a button.

Take a look at the top two feature requests on mygreatwindowsazureidea.com (the official feature request list for Windows Azure): Make it less expensive to run my very small service on Windows Azure and Continue Azure offering free for Developers. Microsoft seem pretty serious about addressing issues on such lists just recently.

Google have a head-start in this arena: they’ve been offering this kind of free hosting in their AppEngine for years. But with their Visual Studio tooling, I think Microsoft could clean up.

Wednesday, 10 June 2009

Managed Memory leaks and their solutions

It’s a myth that managed code does not suffer from memory leaks. Managed code is as capable of springing leaks as unmanaged, though fortunately, the leaks themselves are not nearly so pernicious. In managed code, leaks are not the result of forgetting to deallocate memory – the Garbage Collector is pretty much infallible in that respect. Rather, the leaks are almost always the result of an object subscribing to an event on another object with a longer lifetime. This results in the longer-lived Grandpa object grasping so tightly to the reference to the shorter-lived object (so that it can notify it of events) that the Garbage Collector dare not clean up the whippersnapper.

Such situations can easily be detected using one of the many memory profilers around (I’ve used, and can heartily recommend JetBrains dotTrace; I’ve also heard good things about the new version of RedGate’s Ants Profiler). These help you identify the objects that you expected to be cleaned up, and then let you trace back to find the villains that are keeping them alive.

But once you’ve identified the source of the problem, what do you do? Sometimes it’s as easy as remembering to make the short-lived objects unsubscribe from the longer-lived – you can do this if the class implements IDisposable, for instance. Other times, there’s no suitable or natural point at which to do the clean-up. What then?

That’s the subject of the excellent Code-Project article Weak Events in C# which explains the problem in more detail and covers the whole range of possible solutions to the problem. Don’t let the title put you off: the solutions don’t compromise on the power of your events – you can still declare

public event EventHandler<EventArgs> CountdownToArmagedonStarted

if you want to. Rather, the title refers to the common ingredient in all the solutions, the magical WeakReference class.

Go read the article. It will be the best spent fifteen minutes of your day.

Wednesday, 31 December 2008

var content = FunctionalFun.Articles[2008].Top()

We come to that time of year when bloggers traditionally (it only takes twice to make a tradition!) indulge in a little self-promotion to drive traffic to under-appreciated by-gone posts. And who am I to dismiss the collective wisdom of bloggers around the sphere? So here it is: The Best of Functional Fun 2008

It's always strange looking back on a year just gone. Coming out of the Church Watchnight Service at 00:00 hours on the 1st January 2008 I had no idea that the coming year would see me start a blog, travel half-way round the world to a conference or undertake the expansion of our family (note to my wife: order of appearance in this list does not indicate order importance).

I launched the blog with a series of posts on Project Euler, publishing solutions for 25 problems so far. According to Google Analytics and Outbrain, the most popular posts in this thread were:

It wasn't long before I diversified. I felt the need to try my hand at more meaty topics, so I tackled the subject of tail-recursion and trampolining (a cunningly placed Wikipedia link keeps this article in the top five!). Just thinking about such energetic-sounding subjects tired me out, so I wrote a follow up article, adding the term Lazy Trampolining to the lexicon.

LINQ has proved a great source of inspiration. Early on, I hitched a rid on the LINQ-to-* bandwagon with my articles on LINQ-to-Console and LINQ-to-Reflection. A few months later, my two-parter on Reporting Progress during LINQ queries and Cancelling Long-running LINQ queries proved very popular, even appearing briefly on the Amazon.com site when Marco Russo linked to it on the blog for his Introducing LINQ book.

Given my love for things new and shiny, it is inevitable that the the W*Fs made an appearance. The second-most popular article on the site is my walk-through of how to set up a test X.509 (alias SSL) certificate for WCF - a procedure that isn't as obvious as something that important ought to be. Interestingly, the top article on my blog is a helper class I wrote to work around a limitation in WPF's PasswordBox (Microsoft take note!): I show how to Databind to its Password property. Also popular (ranking #3) is my post kicking off what I warned would be a sporadic series on How to Create a Gantt Control in WPF; so sporadic that in four months only Part 2 has appeared!

As unpleasant as the realisation is, I often have to remind myself that my job isn't all about programming. We actually have to make money working by solving customers problems (I wrote about some of my projects back in July). Project Management is what programmers need to make them profitable, and in the last year I've come to think that Agile techniques (see my take on Agile) are the sugar needed to make the Project Management medicine go down. The post where I described how we're doing Agile planning generated the biggest spike in my traffic stats (thanks to a link from DZone) and the most nagging about when I'd follow it up with a post about how the theory plays out in practice (I'll get there soon Rob!).

And what would a blog be without a little gentle humour? Some may suggest that you look at this site to find out - but I tried as hard as my geeky sense of humour permitted:

With that, it just remains for me to wish all my readers a prosperous and Functional new year, and to thank you all for the encouragement by way of ratings, comments and emails. Happy New Year!

Monday, 15 September 2008

The easiest way to download source from Google Code

If ever you need to download code from Google Code - or any other web accessible Subversion repository, but don't want the hassle of installing a full SVN client (like TortoiseSVN), you might like to try DownloadSVN.

"A Simple stand-alone EXE utility" that does just what it says on the tin. You point it at the repository URL, give it a target folder on your computer, and it sucks the source down off the web. Just note that it requires .Net 2.0.

But perhaps you have an easier way? Do tell.

Wednesday, 28 May 2008

Links I Like #2

Software Development

Non-Technical

Utilities

  • ZoomIt - "free screen zoom and annotation tool for technical presentations" (thanks to my colleague Roman for this).
  • Cropper - my favourite screen capture utility - written in C#, of course.

Tuesday, 1 April 2008

Links I Like #1

There are already numerous link blogs in the blog-o-sphere, and several link blogs targetting .Net: I'm not going to try to compete.

But I thought I would occassionally compile some of my favourites - for selfish reasons as much as anything: they'll get included in the custom Google Search engine that lives behind the box in the top left of the blog, and I'll stand a chance of finding them again.

Technical

Non-Technical