There is a famous Toothbrush Principle of scientific theories:
A theory is like a toothbrush: Everyone wants one, everyone has one, but nobody wants to use someone else's.
We could replace theory with development framework and describe software development to a T.
Behavioral Economist Dan Ariely, in his book The Upside of Irrationality, uses the Toothbrush Principle to illustrate one popular formulation of the Not-Invented-Here (NIH) Bias.
Most web requests by design take only a few dozen milliseconds to process. But sometimes web apps need to leave a connection open for a longer period of time. And sometimes the remote client closes the connection before the server has had time to respond.
On a Go-based webserver, you can receive notifications when the HTTP connection terminates.
Here's how you do it.
In his book The Upside of Irrationality, behavioral economist Dan Ariely discusses a cognitive bias known as "The Ikea Effect." Stated roughly:
We ascribe more affection (and hence more value) to things that we have labored over.
Named after the popularity of Ikea's assemble-it-yourself furniture...
Newer Ubuntu distributions ship with various versions of the Go language. Ubuntu 13.10, for instance, has an available golang-1.1.2 package. But the most recent version of Go is 1.2.
The easiest way to install Go 1.2 on your system is by using the
godeb tool. Here's how.
The Go language comes with a powerful built-in template engine. In this article I show how to add custom template functions (functions you can call from within a template).
In an earlier post I showed one way of creating a web application in Go. There I added support for templates. At its most basic, adding a bundle of templates looks like this:
Fortissimo is a chain of command (CoCo) framework written in PHP. Its main goal is to enable developers to write highly re-usable component-based web applications. Recently we added a new GitHub project, Fortissimo Commons, to hold dozens of utilities that we use over and over again with Fortissimo...
Cookoo is a Chain-of-Command (CoCo) app-building framework written in Go. In this article I explain how to quickly build a Go web server using Cookoo.
By the end of this article we will have a web server with a template engine, and we'll know how to go from here to a more complex web app.
Java comes with basic built-in UUID support. The
java.util.UUID provides a smattering of UUID functionality. But the documentaiton is scant, and it can be frustrating to try to achieve compatibility with other languages.
Here's how to generate compatible UUIDs with Go.
Java provides two methods...
Zachary Ernst has written two great posts about his decision to leave academic philosophy and join a tech startup. One post focuses on giving up tenure. But the more interesting one is his explanation of why he is leaving academia.
I never made it anywhere near tenure, but I did choose not to pursue...
Drupal.org finally moved from Drupal 6 to Drupal 7. I figured it was time for me to get this site migrated off of D6, too. But Drupal 7 was not the best option for me. Here are some of the reasons I decided to switch from Drupal:
- Converting from Drupal 6 to 7 is a huge, huge task. It's much more...