Set up gmail to use a new email account

You can set up your gmail account to send and receive mail using other email accounts. This is convenient, because you don’t have to remember to log in to your other accounts to get that email.  You can, of course, still receive and send email with your original gmail account. This video tutorial explains how to set up gmail to… Read more →


I thought William Shakespeare was the master of insults. “In civility thou seem’st so empty,” for example, from As you like it. But now Randall Munroe, the author of XKCD, is catching up with his insults about code quality. Read more → — a nice way to display lots of data in a web page.

Lately I’ve been doing some work with Allan Jardine’s DataTables jQuery plugin. You know the SNL line saying, “if it’s not Scottish, it’s crap!” This software does nothing to disprove that saying. It’s excellent. Datatables does a great, and simple, job of transforming plain old html data tables into sortable and searchable marvels. It also supports Ajax callbacks, allowing it to handle very… Read more →

Using modern hash algorithms in dotnet XML signatures (for SAML)

Update: On August 2, 2016, Microsoft released version 4.6.2 of the .NET framework. It handles the new algorithms natively. Microsoft’s .NET framework comes with built in support for the rsa-sha1 digital signature hashing algorithm. As of early 2016 that algorithm is deprecated, however. It has become too easy to crack.  SAML Identity Providers like and are starting to offer cryptographic signatures using… Read more →

When (not if) software requirements change

A young acquaintance asked me this question. How is it best to handle mid-project changes from clients? Are there times when a project is beyond the point of some kinds of changes? How is it best to resolve such issues? Every project experiences specification changes; it’s a normal occurrence and a part of the business of software. It’s important to… Read more →

W3Schools? Expert Sex Change?

If you do any software development, you probably use the Google search engine to look up lots of details. Have you ever had to pick through your search results to avoid websites whose search engine optimization is better than their information? I’m looking at you, W3 Schools and Experts – Exchange! There’s a free Chrome plugin called W3SchoolsHider. Spetnik Solutions in St.… Read more →

RabbitMQ Message Queuing on FreeBSD

RabbitMQ is a message queue system. It lets computer programs send each other work to do, without waiting for them to do it. I’ve been getting this working on the open-source FreeBSD unix-like system. These are notes on getting started. This writeup was helpful to me. Install it and get it working As with any complex server software, there are… Read more →

Ethics: slippery subject because people have different stances.

Ethics is a slippery subject. Different people have different ethical stances, so if I were to say “that’s unethical” to you, you’d be likely to misunderstand me. One common ethical stance is utilitarianism. This stance purports to optimize collective welfare. I don’t know any NSA people, but it seems likely that they share a utilitarian approach to ethical decision making,… Read more →