Pigtail: task queues with Potboiler

Tom Parker-Shemilt wrote “Last month, I wrote about Potboiler, my AP Event Sourcing system. At the time I’d built a K/V store on top of Potboiler, mostly just as a test application. Potboiler isn’t really intended to be talked to directly by most clients, but will have some other form of service or store that sits on top…”

By User:Salimfadhley (Own work) [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)], via Wikimedia Commons

4-way TCP handshake and firewalls

Jarek Siembida wrote “This is one of those pieces that you keep in your head for ages but never get around to write up. Tcpdumping I was doing of late brought it back so here it is. We all know the 3-way handshake in TCP: SYN + SYN/ACK + ACK and voila! But this is not the end…”

Potboiler

Tom Parker-Shemilt wrote “Over the last couple of years I’ve been reading and talking about a lot of things related to distributed systems. This is a common train of thought around here, and after working on this on and off for the past 18 months or so (the version you’re seeing here is in fact version 3 having repeatedly changed…”

By British Post Office (Scan of original(s)) [Public domain], via Wikimedia Commons

RabbitMQ and transactions

David Ireland wrote “RabbitMQ can’t (in general) participate in two phase commit. From a practical point of view, RabbitMQ can only make a message durable by adding it to a queue. This makes quite a few optimisations possible. Transaction participation would require RabbitMQ to spool messages temporarily on disk before adding them to a queue on transaction commit,…”

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