Automating pre-deployment sanity checks with Grunt
Grunt is a great tool for building, running and deploying ‘Single Page Apps’. I have a single grunt command to build and deploy to S3 for production, but recently I added some extra functionality to...
View ArticleThings I wish I’d known about Google Docs
I have had cause to write a lot of Google Docs recently, which leaves me furnished with a stock of interesting observations that others might find helpful. With no further ado… It doesn’t auto-number...
View ArticleGetting back into front-end web development
I’ve been working on a small SPA (Single Page Application) – just HTML, CSS and JavaScript statically served and doing its thing entirely in the browser. I learned a great deal throughout the project,...
View ArticleGrunt uglify file specs
I struggled a bit finding relevant examples of Gruntfile configuration for Uglify, so having solved a few specific problems myself, here’s what I came up with. This is just a snippet from the whole...
View ArticleDocumenting an HTTP API with Swagger
I recently tried out Swagger, for documenting an HTTP API. The big win with Swagger is that it provides a sweet HTML UI to browse your API docs and experiment with sending requests and viewing...
View ArticleManaging multiple GitHub repositories
We all know GitHub is a fantastic way to collaborate on software. It has a fairly basic issue tracker, but it serves most purposes well enough. But if your code base is spread across several...
View ArticleEnhancing peer review through GitHub
You love GitHub. Of course you do. You love peer review. You especially love sending a pull request back asking for nits to be picked. So when your submitter claims to have addressed your concerns, how...
View ArticleComments are important
Nat Pryce wrote a fun little library the other day called code-words. It rips your source into words, and turns the words into a wordcloud. In short, a visual representation of the most common words in...
View ArticleThree approaches to ambiguous grammars
We have many tools in our parsing toolbox. Today let’s look at how three different parsing techniques handle ambiguity caused by choice. First, yacc. yacc handles ambiguities in your grammar with, if...
View ArticleJust In Time Development
Since the dark ages of yesteryear Squeak has had a very interesting button in its Debugger – “create”. Today we’re going to teach it a new trick. Suppose you write a test, showing how Foo s bar . Your...
View Articlecloverage – a code coverage tool for clojure
A couple years ago we presented a couple design sketches for a code coverage tool for clojure. More recently we spent some time researching whether existing code coverage tools would suffice for our...
View ArticleContinuous Integration for Github Pull Requests with Teamcity
Most developers with an interest in open source software these days have seen the Github interface for handling pull requests, and relatedly, Travis CI’s support for pull requests. And so we thought...
View ArticleUsing GitHub for planning
An important part of delivering software is knowing how long it will take to deliver some piece of functionality. Today we will see a small GitHub hack to help control estimation. It’s all very well...
View ArticleMaking (Kindle) books from blogs
Admittedly, more and more of them are doing this already, but this is a slightly more DIY option… So, you’d like some more reading material for your Kindle. Maybe you’re going away for the holidays, or...
View ArticleUsing Debian Multiarch for cross-compiling
I’ve recently acquired a Raspberry Pi, and was considering using it for SNES emulation. However, as it turns out that Zsnes is x86-only, and that Snes9x got kicked out of Debian a while back for having...
View ArticleDebian build-depends metapackages
When I’m doing development on an existing software project, and especially when I’m trying to bugfix something with a Debian package, I find that I install random packages I need to rebuild something,...
View ArticleInstalling Visual Studio AddIns for All Users
Whilst writing the installer for WebGAC, I was faced with some challenges trying to make the Add-In install for all users on the system. The MSDN documentation for Add-In registration generally...
View ArticleWebGAC: Minding your .NET Dependencies
Managing binary dependencies in .NET can be a complicated task. For small projects, checking the dependencies into source control tends to work just fine. So does requesting that all developers have...
View Articlemercurial-server 0.8 released
mercurial-server home page mercurial-server gives your developers remote read/write access to centralized Mercurial repositories using SSH public key authentication; it provides convenient and...
View Articlesimple build tool
I started using Maven at a company where we had 60+ Java projects all with their own individual Ant build file. Each build file was different and each project was structured completely differently....
View Article