Why bother testing?

Ian Rogers wrote “It’d be nice to be able to make a definitive case for the benefits of software tests, but I can’t due to this one question: Is it possible to prove the correctness of a program using tests? The answer is unfortunately “no of course not” and I’ll show why below. But all is not lost…”

Old spring-cover clock with chain

A memory gotcha

Matthew Sackman wrote “A couple of weeks ago I was reading Juho Snellman’s blog on implementing a hierarchical timer wheel, and as usual, over on the morning paper, Adrian’s covered a paper on various approaches to timer structures. What I found most interesting though is the final graph on Juho’s blog post where he does some performance testing…”

Using the BBC micro:bit with PlatformIO

Tom Parker wrote “I recently acquired a micro:bit, the new BBC device intended for helping computer education. After a bit of delay, they’ve finally starting shipping the device, and now members of the public like myself can grab one. So, why this device in the middle of a sea of other options in the modern embedded environment? Well,…”

By Ramessos (Own work) [Public domain], via Wikimedia Commons

RabbitMQ’s new timestamp-tracking feature

Alex Thomas wrote “‘Rest assured our service uses a queue with guaranteed delivery, meaning that your message will always get through. Maybe not this year, but some time, definitely.’ Not quite sold? To help address the requirement for more practical service-level guarantees, we added a feature to RabbitMQ 3.6 called timestamp tracking. Tracking messages via their age has…”

By Jacopo188 (Own work) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons

Analytics with SQLAlchemy

Alex Thomas wrote “What to do if a conventional, line-of-business app starts morphing into an analytics one? The situation here may be that a bit of custom SQL, introduced to do one specific bit of summarising or pivoting, expands and forms a kind of creeping undergrowth of tightly-bound code, impervious to Agile norms of modularity and testability. In…”

Dawn: Mobile bus stops display

Tom Parker wrote “When I’m out and about, I find myself repeatedly wanting to know when a bus will stop near where I am. This generally involves a phone as the TfL Countdown displays are a bit thin on the ground. Despite the advent of such things as Citymapper, I’ve still been a fan of the Countdown mobile website,…”

By Hubbard, Tom, 1931-, Photographer (NARA record: 8464449) (U.S. National Archives and Records Administration) [Public domain], via Wikimedia Commons

Simple user authentication: ASP.NET Identity and NHibernate

Martin Eden wrote “ASP.NET MVC 5 introduced a new system for managing users and authentication, known as ASP.NET Identity. Over the last few years we have built and now maintain a couple of MVC applications. We started with MVC 2, and have since upgraded to 3 and then 4. So despite MVC 5 being out since the end of…”

By Mboldfield at English Wikipedia [Public domain], via Wikimedia Commons

Call stack complexity

Matthew Sackman wrote “Over on the morning paper, Adrian’s recently covered a number of papers looking at trying to detect bugs in code using slightly unusual means (i.e. not the usual combination of lots of buggy tests and lots of static checks). So that’s been on my mind lately, at least when it gets a chance in between…”

By Engineers11 (Own work) [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons

Scripting vs. Engineering

Ian Rogers wrote “I’ve come to the conclusion that the terms like “programming”, “coding” etc. have become horribly ambiguous which has enabled: organisations to offer courses on html/css editing as “coding” people to make claims like “nodejs is more productive than java” (which is a nonsense statement either way) various arguments along the lines of “is X a…”

Docket: Fun with Todoist and Beeminder APIs

Tom Parker wrote “So, I recently changed over my todo list usage to use Todoist. However, now I had a chunky amount of my phone screen chewed up with both a display of that and my existing Beeminder list, and I wondered if I could somehow merge the two. Also, because my Beeminder emergency days are one of the significant sources…”