This week, we'll look at the helpful qualities of loop invariants.
Faced with a half-million lines of output from an oscilloscope, I turned to a spreadsheet
When monolithic systems attempt to be infinitely flexible, unfathomable complexity results and agility becomes impossible.
I often get asked to write something lean to go into an Android app.
Last week, I talked about how to write a loop invariant. I would like to continue this discussion by paraphrasing a beautifully elegant example that Dijkstra used in A Discipline of Programming.
To the user, the alien program just happens to contain a screen that looks just like yours.
A little clever work and I was able to quickly set up a test machine with everything I needed on Ubuntu running in a Microsoft Azure VM.
It is often possible to avoid difficulties by proving the desired properties of our program by induction.
It is tempting to imagine that if you know Linux and Java, you know Android. Almost.
Mathematical induction is a technique for using the properties of natural numbers to prove claims about every natural number.