Lambert on Development

My thoughts on software development

Lambert on Development RSS Feed
 
 
 
 

1&1 – Unlimited bandwidth hosting

Web host 1&1 just announced that they’re lifting the bandwidth caps on all their hosting plans.  The previous caps were high enough that they rarely affected most customers, but anyone who was ever “slash-dotted” will appreciate this move.

Image representing 1&1 as depicted in CrunchBase
Image via CrunchBase

As you may have noticed, I use 1&1 to host this site, and I also run a couple of club sites on them.  Although I saw some reliability problems with 1&1 a couple years ago, I have to say they’ve been pretty good since then.  I use mon.itor.us to watch uptime on all these sites, and I haven’t seen any major issues in a long time.

If you need a host, include these guys in your eval list.

Reblog this post [with Zemanta]

Post to Twitter Tweet This Post

Best. Logger. Ever.

Logging is one of those “system” components that always seems to either be left out or way over-engineered (glares at Microsoft’s Enterprise Application Blocks). Today, I’d like to introduce you to a logging framework that’s everything it needs to be and nothing it doesn’t.

The .Net Logging Framework from The Object Guy is powerful enough to handle any of your logging needs, but simple and painless to use.  Here’s a relatively complicated example — we’re going to log to three logging sources to demonstrate how easy it is to set up.  In most cases, of course, you’ll log to only one or two sources:

/* first instantiate some basic loggers */
Logger consoleLogger = TextWriterLogger.NewConsoleLogger();
Logger fileLogger = new FileLogger("unit_test_results.log");
Logger socketLogger = new SerialSocketLogger("localhost", 12345);

/* now instantiate a CompositeLogger */
logger = new CompositeLogger();

/* add the basic loggers to the CompositeLogger */
logger.AddLogger("console", consoleLogger);
logger.AddLogger("file", fileLogger);
logger.AddLogger("socket", socketLogger);

/* now all logs to logger will automatically be sent
to the contained loggers as well */

/* logging is a one-liner */
logger.LogDebug("Logging initialized.");

When you download this logger, you’ll get all the source code, including a socket reader to catch the logs thrown by the socketLogger in the example above.  Extending the logger is a piece of cake, too, so you could build yourself a WCF Logger, for instance, in no time flat.

You’ll note the lack of config file-driven settings in the example above — this is purely intentional.  You can decide if you want to make any of these settings configurable, and do so in the format you’re comfortable with, so you don’t need to try to get your config files to conform to whatever format your logger insists on using.  This small simplification can be a big time-saver for simple apps, debugging / test harness apps, and so on.

Post to Twitter Tweet This Post

NDepend review

Introduction

There’s no question that Visual Studio is a class-leading tool for building large applications.  The IDE is incredibly helpful to coders, and the .Net framework lends itself to managing dependencies among components and classes in large applications.  In addition, Visual Studio is designed to be extended by third-party tools that can make it even better.  NDepend is one of these tools; its purpose is to analyze large applications and expose information that’s typically hidden deep inside your code.

Installation and getting started

The NDepend web site shows some great screen shots with all manner of graphs and charts and reports, so naturally, you want to see that stuff for your code, too, right?  Good news: installation is a piece of cake.  Just unzip into a directory, add the license file, and you’re ready to start your first analysis.

When you start the NDepend Startup shows a screen reminiscent of Visual Studio (start screen).  Create a new project, point it at a Visual Studio solution file, and let NDepend do its thing.  Zero to more graphs than you can shake a stick at in about four minutes:

ndepend1
More »

Post to Twitter Tweet This Post

Zemanta is a blogger’s best friend

Image representing Zemanta as depicted in Crun...

Image by Zemanta via CrunchBase

Shortly before I switched this blog to Wordpress, I learned about a new tool called Zemanta.  It was supposed to provide context-sensitive links and images, chosen dynamically to be relevant to the work in progress.  It sounded pretty cool, and I tried to set it up under Drupal, but couldn’t quite get it done.  After switching to Wordpress, I was happy to see that Zemanta setup was a breeze.

I’ve been using Zemanta for a few weeks now, and I’m really, really happy with it.  My initial impressions were a bit iffy – images were inserted in a way that made it difficult to move the image without leaving the citation caption behind, for instance.  Zemanta keeps improving the plugin and the service, though, and my early problems have lessened considerably.

More »

Post to Twitter Tweet This Post

Drive Backup 9.0 Express – a really bad start

I’m slowly weaning myself off Vista on my home PC and onto Ubuntu, because Vista just continues to disappoint me day after day.  I’ve pared my Vista install down to just the basics now, and I’m setting it up to dual-boot to either Vista or Ubuntu.

Paragon Software Group

Before I go messing with boot sectors, though, I plan to take a backup of my system.  The last experience I had with Windows Backup wasn’t stellar, and as luck would have it, I just read a blog post announcing a free personal backup program from Paragon Software Group called Drive Backup Express.  It’s supposed to be really simple, and really foolproof.  Perfect, I thought – I’m in!

More »

Post to Twitter Tweet This Post

Similar Posts

Google Reader

Blogroll

Blog Directories

 
Programming Blogs - Blog Catalog Blog Directory
 
Computers Blogs - Blog Top Sites
 
Banner
 
Lambert on Development - Blogged

Popular in Software Reviews

Recent Posts

Popular Posts

Support this Site

Featured Articles

Lijit Search

Lijit Search