By John Ficara (This image is from the FEMA Photo Library.) [Public domain], via Wikimedia Commons

Testing as question asking or Hypothesis Driven Development

Ceri Storey wrote “So, my co-worker Ian asks the question “Why bother testing?”. I think that an under-considered question is how we think about testing. I would wager, that a sizable majority of programmers (myself included) will usually learn one or two techniques for testing, and then gravitated towards those same set of answers for most problems. As…”

Thanks to zmescience.com for photo

Programming is not a Performance

Ian Rogers wrote “Programming is more like writing a novel then executing a performance. No I don’t mean the likes of If Hemingway Wrote JavaScript  – I mean, apart from ridiculous job interviews involving a whiteboard and pen  (NB. LShift never does that) coding is very unlikely to be a performance in an instant of time. Usually when…”

By USDAgov [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons

Elm: Any good?

Tim Band wrote “I love Haskell. But, like many people who love Haskell, I don’t use it for very much. Wouldn’t it be nice to have the nice properties of Haskell (the compiler checks that your code makes sense before you run it, Quickcheck-style testing, pure functions) but produce production-quality Javascript for client-side web programming? The most tantalising…”

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 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…”

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

It’s all happened before

Ceri Storey wrote “It’s all happened before Coming from an operations background, I’ve found that one of the best ways to understand a system’s behaviour is to trace the messages between components. Now, most languages go have a log library, that will at minimum, allow developers to log when an event occurred with a description. However, if we…”

By Nevinson, C R W [Public domain], via Wikimedia Commons

Pushing Back

Matthew Sackman wrote “Over the last year I’ve become more and more convinced that possibly the most important feature of any queuing system is the ability to take action immediately upon enqueuing of a new item, where the action can modify the queue, and is based on state of the queue itself. Most commonly, this is referred to…”