Mental revolution

The book Structure of Scientific Revolutions (1962, Thomas Kuhn) brought the word paradigm into common use. Ideas from fifty years ago about research science apply today to computer science and the software industry. This is one parallel Kuhn makes, extended to illuminate how we think about programming. The human mind does not perceive objects incrementally, … Read moreMental revolution

in which I exhibit sexism in the same tweet that I complain about it

The other day, a scientist announced the detection of the Higgs Boson in a presentation using the much-maligned Comic Sans font. Dialog about the discovery focused on the design faux pas. I made this tweet, which felt pretty clever at the time: dude who announced the Higgs Boson in an unfashionable font knows how women … Read morein which I exhibit sexism in the same tweet that I complain about it

Android: Confirmation Dialog

Warning! This technique is suited to Android API Level 8-10 (Gingerbread). For Honeycomb or newer, use DialogFragment. Problem: my activity knows how to do something (delete a picture), but it needs to ask the user for confirmation first. Solution: pop a confirmation dialog, whose “yes” button responds by deleting the picture. Code:For the very simplest … Read moreAndroid: Confirmation Dialog

Why Functional Matters: Your white board will never be the same

Why learn functional programming? For better design skills! The other day we designed a process to match cleared deposits with dispensations. This is how I would have white-boarded it a few years ago: Since then I’ve played around with functional programming. It encourages one to think about processing in terms of data streams: data comes … Read moreWhy Functional Matters: Your white board will never be the same

Return of the Stateful Client

We used to write thick clients, fat happy Swing apps that executed application logic and business logic on the user’s computer, and connected to the server mostly for data access. Then we moved toward service-oriented architecture and the thin, browser-based client. This solved all our deployment problems, and it moved the business logic back to … Read moreReturn of the Stateful Client