Simple, Non-blocking, Push/Pull Example with ZeroMQ

February 26, 2019 - A simple example of a non-blocking client-server relationship in ZeroMQ using a client which pushes and a server which pulls.

Justified Programming

February 11, 2019 - Code comments should answer why?

Towards a Theory of Software Development Expertise

February 11, 2019 - Very interesting article that provides a theoretical framework for programming expertise draws some helpful implications from it.

Recursive Drawing

February 4, 2019 - Fun site that which provides an interesting interface for creating works of art and mathematical demonstration.

HTML-to-JSON Conversion Library

February 3, 2019 - When all you have a html-to-json library, everything's an API.

Programming Paradigms for Dummies: What Every Programmer Should Know

January 28, 2019 - In depth, technical introduction to programming paradigms by way of a taxonomy of 30 paradigms.

Logic Grid

November 13, 2018 - Interactive cellular automata system.

4 Programming Paradigms In 40 Minutes

November 12, 2018 - Helpful crash-course on 4 major programming paradigms.

On the Criteria To Be Used in Decomposing Systems into Modules

November 12, 2018 - This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time.

IOT Will Destroy Us All

October 12, 2018 - A talk on the (real) dangers of IOT devices.

Chris Harrison's Research

October 2, 2018 - A list of inspiring projects that Chris Harrison has worked on.

Morning Paper

September 28, 2018 - An interesting/influential/important paper from the world of CS every weekday morning, as selected by Adrian Colyer.

GUI vs. UI

September 5, 2018 - Why you shouldn't use the term 'UI' to describe a GUI.

A Definitive Guide for Ignoring Sublime Linter Errors

August 15, 2018 - How to hide errors from Sublime Text linters like pep8, flake8, pydocstyle, and others. Because linter errors are more guidelines than actual rules.

Questions for QA

July 25, 2018 - Abstract questions to ask when performing QA.


July 15, 2018 - Thought-provoking article describing why 'interactive' software and a focus on 'interactivity' is misguided. The focus should be on the effective (this is defined in the article) display of information and on context-sensitive software that significantly reduces the need for interactivity.

JavaScript Puzzles: How Well do you Know Javascript?

July 5, 2018 - Javascript puzzles to test your understanding of Javascript.

Computers in Math Education

July 3, 2018 - Math education needs a paradigm shift away from forcing students to perform calculations (which computers can easily do) and towards teaching kids how to formulate questions, program tests, and validate results.

The Most Beautiful Program Ever Written

June 27, 2018 - An introduction to a Lisp interpreter written in Lisp.

Advice for early-career developers

June 23, 2018 - Some thoughts on how to start and continue a great career in the software industry.

Work on Breakable Toy Projects

June 23, 2018 - Experience is built upon failure, yet you work in an environment that does not allow for failure. Budget for failure by designing and building toy systems that are similar to the systems you build at work in toolset but not in scope.

Future of Programming

June 1, 2018 - We have locked ourselves in a box we call 'Programming' and need to get outside of it.