Internet flâneur · Built Pagecord


Posts tagged with programming

Uploaded image

I saw DHH tweeting about the Basecamp test suite and it's mightily impressive. Similarly, the Pagecord test suite (974 tests) runs in 3.5 seconds on a 4-year old M1 Max MacBook Pro.

I can't understate what a delight this is!

By comparison the FreeAgent test suite (when I left) took 10 minutes when running on a gargantuan number of AWS servers and would take several hours on a single laptop. Mainly because of factories, RSpec, system tests and, well, probably mass over-testing in general. Truly suffocating (my bad).

(There are 17 system tests in Pagecord which take 20 seconds but I let GitHub Actions deal with those before I deploy. I think I could delete them tbh.)

Programming Guidelines

I was rather fortunate to spend my first two years as a commercial programmer working for a (long since demised) video games startup in Nottingham, under the guidance of Dr. Jerry Swan.

Getting to grips with game design, AI, bit-blitting and immovable monthly publisher deliverables (and, as a recent graduate, actually having to work for a living) was something of a trial by fire, but I learned more about programming, object-oriented design and writing solid code in those years than any of the years spent programming before and, arguably, after, such was the intensity of learning during that time.

It turns out that Dr. S recently produced a set of C++ programming guidelines for Stirling University. You might argue that C++ is to today's modern dynamic languages what early modern English is to text-speak but the rules and standards of solid programming are universal and timeless. These guidelines are proof of that.

If you're an eager aspiring programmer, or indeed even an experienced or rather cynical one, spending an hour studying these 33 pages would be an extremely valuable exercise. Future you will be thankful.

Defensive C++: Programming Guidelines for those who dislike Debugging