JOHN MEANEY

20.7.24

OUTAGE... and the world of software engineering

The main John Meaney website is out of commission, but all is well in my world otherwise. Hope you're doing OK too, everyone. 

Since I live in the software engineering world when I'm not writing books, I find the CrowdStrike incident... interesting. These days, you expect testing to be automated (i.e. programs are used to test programs) in well established ways.

Those ways involve testing frameworks, such as JUnit or Cucumber for Java (there are others), or mocha or chai for JavaScript, depending on which level of testing you're aiming at.

Beyond that, running the tests can be embedded in the larger process of deploying to a live environment (production).

And that's for anything, even if it's a relatively small number of users. When your software is destined to be deployed on millions of devices, there are ways of mitigating against problems that escaped your test programs also, before the whole world gets your update.

(Before setting this post live, I used a preview feature to check it. And that's for a little old post with minimal consequences if there's an error.)

Software engineer David Farley asks the relevant questions here, if you're interested: https://youtu.be/MwjQVAwIATE?si=6_XMQSKzBMbNgX-N

And retired Microsoft software engineer Dave Plummer gives a really detailed analysis here: https://youtu.be/wAzEJxOo1ts?si=F2zGY3NIrwwJDPK7

By the way, all of the titles in my Case & Kat series, including the shorter pieces, are terms lifted directly from the world of software engineering:

cover image of Destructor Function

 Destructor Function - how you get rid of an object you don't need anymore, if you're coding in C++.

 

cover image of Strategy Pattern

Strategy Pattern - one of the original so-called Gang of Four design patterns: how to switch behaviour in an object dynamically, at runtime.

 

cover image of Concurrent Execution

Concurrent Execution - executing code in parallel: one of the trickiest things to get right in software design and implementation.

 

cover image of Breakpoint Insertion

Breakpoint Insertion - something you do in an IDE (code editor) before or while running code in debug mode, so it will stop at a breakpoint and you can see what the variable values are at this point.


cover image of Runtime Exception

Runtime Exception - error occurring only when you run the code: the compiler couldn't identify it beforehand.

And I haven't run out of jargon to use for new titles, either...

There will be more from the world of Case & Kat.



0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home