Information related to computer programming

44 engineering management lessons alvin May 21, 2017 - 5:43pm

This is a good post from 2014 titled, 44 engineering management lessons.

The karma of bad software documentation alvin May 18, 2017 - 3:43pm

Tried to use someone’s software library.
Documentation was bad, couldn’t get it to work.
Used someone else’s.


If testing costs more than not testing, then don’t test alvin May 17, 2017 - 3:17pm

“If testing costs more than not testing, don’t test.”

~ Kent Beck (via this twitter page)

Program testing can be used to show the presence of bugs ... alvin May 15, 2017 - 10:58am

“Program testing can be used to show the presence of bugs, but never to show their absence.”

~ Edsger Dijkstra

Set theory explained with southern colloquialisms alvin May 11, 2017 - 1:46pm

A visual image of the mathematical concept of “sets” using southern colloquialisms.

(I found this image on Twitter, but since I didn’t “like” it at the time I can’t find who created it, but I’ll link to them if/when I ever find the page again.)

Functional programming: Everything is immutable alvin May 6, 2017 - 12:38pm

“Remember how weird it seemed when you first learned that a String in Java was immutable? Well, in functional programming it’s all like that. Everything is immutable.”

(From a discussion with a Java developer recently.)

An insight on the relation between latency and throughput alvin March 9, 2017 - 8:29am
Take time to think(!) alvin February 5, 2017 - 10:43pm

As a note to my future self: Take time to think!


Even at my advanced age, if I don’t think through an algorithm I can still waste an awful lot of time.

As an example I just started working on a complex algorithm for my Android football game based on the initial thoughts in my brain, and came to regret it. After recovering from that faux-pas I decided to write just a few simple notes like this to clarify my thoughts:

Lisp: What is an S-expression? alvin February 5, 2017 - 2:02pm

I spent some time last night reading the book, Practical Common Lisp. In all Lisp books you’ll read about S-expressions, but very few authors explain what they are. This image comes from this Wikipedia page, which states, “In computing, s-expressions (for “symbolic expression”) are a notation for nested list (tree-structured) data, invented for and popularized by the programming language Lisp, which uses them for source code as well as data. In the usual parenthesized syntax of Lisp, an s-expression is classically defined as a) an atom, or b) an expression of the form (x . y) where x and y are s-expressions.” See that link for more information about Lisp and S-expressions.

The history of Lisp alvin February 4, 2017 - 9:34pm

I’ve been interested in the Lisp programming language since I first learned about it, but in the books I’ve read about it, no author has explained the background of terms like cons, car, cdr, and S-expressions. Tonight I found this “History of Lisp” document, which explains the meaning of some of those names.

(If you’re really interested in those terms, this Wikipedia page describes them even more.)