(You may also be interested in my post Free Software and Services for Open Source Projects.)

In a recent blog post, Scott Hanselman suggested:

We don’t sing contributor’s praises for their hard work and success while their software works, instead we wait until a single line (albeit one of the more important lines) fails to live up to expectations.

I don’t completely agree with this; I often see people praising open source software (and I didn’t see anyone really pointing fingers over Heartbleed), but I do think the general point that open source software is taken for granted and under-appreciated is valid.

This got me thinking about some of the open source software I use; some as part of my job delivering commercial applications and some at home when I’m just playing around. I thought it’d be good to blog a list of my favourites; maybe it’ll help others discover them. Much of it is pretty well known (some even from MS/Google), but I thought I’d include all my favourite stuff for completeness.

I may have missed some; but there’s a lot of great stuff out there. If I remember anything cool Ive missed, I’ll try and add it in.

If you have a blog (or even Google+ ;-)) I invite you to do the same!

(In alphabetical order; with no grouping, and often their own marketing speak!)

  • 7-Zip - A file archiver with a high compression ratio. There’s a portable version I use to avoid having extra stuff installed, but still allowing the higher compression of .7z when required.
  • AngularJS - A toolset for building the framework most suited to your application development. I’m currently playing around with this prototyping some ideas for a possible vNext of a big project at work; I think the future of web apps is (sadly ;)) in client-side JavaScript with API backends.
  • Bootstrap - A popular front-end framework for developing responsive, mobile first projects on the web. This is great for getting something looking decent very quickly, especially for non-designers (programmers!).
  • Chosen - A jQuery plugin that makes long, unwieldy select boxes much more user-friendly. These look really nice; especially compared against the default selects in some of the latest browser versions!
  • ELMAH - An application-wide error logging facility.
  • F# - A functional-first programming language that interops relatively nicely with .NET. This could be the key to getting current-.NET devs interested more in functional ideas.
  • FAKE - A cross platform build automation system (F# Make). Haven’t used this seriously yet; but looking for someone to replace all the built steps on our build server with a single script that can be run on dev machines to give a like-for-like build.
  • Glimpse - Inspects web requests as they happen, providing insights and tooling that reduce debugging time.
  • Jasmine - A nice behavior-driven development framework for testing JavaScript code.
  • Jekyll - A blog-aware, static-site generator (powering this blog for free, via GitHub Pages!)
  • Karma - JavaScript test runner that executes tests in multiple browsers and gives instant feedback (now with Visual Studio integration ;)).
  • Knockout - A JavaScript library that helps create rich, responsive display and editor user interfaces using two-way data-binding. This helps de-couple JavaScript from the DOM, making things much simpler!
  • Mercurial - A distributed source control management tool. This is much easier IMO to use than Git; though sadly I don’t think I can convicne the masses ;)
  • Node.js - A platform built on Chrome’s V8 JavaScript runtime for building fast, scalable network applications. Great package manager, and really useful for non-browser based JS execution.
  • NuGet - A package manager for the Microsoft development platform including .NET. This is basically the first place I look for any third party library these days.
  • Reactive Extensions - A library for composing async/event-based programs using observable sequences and LINQ-style query operators.
  • remark - A simple, in-browser, Markdown-driven slideshow tool targeted at people who know their way around HTML and CSS (I blogged more about this yesterday).
  • Selenium - Automates browsers to aid testing of web applications. If we’re going to start writing more client-side JavaScript for our web apps; we need to get better at testing them!
  • SignalR - A library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to applications.
  • StructureMap - A dependency injection / inversion of control tool for .NET.
  • TickSpec - A lightweight F# BDD framework.
  • TypeScript - A typed superset of JavaScript that compiles to plain JavaScript.
  • Web API - A framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices.
  • xUnit - A community-focused unit testing tool for the .NET Framework.

You may also like Chromebook Comparison Chart, Drone Comparison Chart and how to easily split Amazon referrals between Amazon US and Amazon UK.

Don't forget to check out my kids on YouTube! Amazon Echo Dot (2nd Generation) Review, GP Toys Luctan S912 RC Car Review, Syma X5HC-1 Drone/Quadcopter Review.