• Ashes of Truth

    A couple of months ago, I listened to a pod-cast from Hi Phi Nation about a disagreement between the documentary film maker Errol Morris and philosopher Thomas Kuhn. The podcast is called, "The Ashes of Truth"
  • Test with Emoji

    Emoji. They're everywhere these days. If your application takes user input, guess what? You're going to get them.
  • C to R

    Earlier this month I wrote about wrapping routines in C for calling from Ruby. A month later I'm writing about having C code called from the R statistical programming language. I didn't expect to be here.
  • Speaking up

    You are ten years old and in the fifth grade. Some of the other kids in your class have taken to picking on you. It's sport for them. They like to do it.
  • C to Ruby

    Having a C implementation of Davenport's algorithm, the next step was to make it usable from Ruby. Recall that [socelect.org](https://socelect.org) is served-up using Ruby on Rails.
  • Implementing Davenport

    By now, having read the previous post, you have an idea what excites me about Kemeny orders and Davenport's algorithm. What I felt was missing was a good implementation.
  • Davenport's Algorithm

    Davenport's algorithm, developed in the early oughts by Andrew Davenport in the math department at IBM TJ Watson Research center in Yorktown Heights, New York, provides a practical way to compute a Kemeny-Young preference ranking from some number of individual preference rankings.
  • POUI

    POUI, pronounced "Poe'wee", is an acronym for "Partial Order User Interface." The goal of the interface is to make it possible and intuitive to sort a list of alternatives into a partial ordering.
  • Socelect.org

    The first fully functional version of socelect.org is now published, up and running.

  • Fútbol Decisions

    Over the past week I’ve seen two penalty shootouts in the quarter-finals of the 2019 Copa América.

  • To the moon

    This year, July 20, 2019 marks the fiftieth anniversary of the first moon landing.

  • Goodbye myFltTime

    In 2011 I started a project for pilot flight time logging and called it, “myFltTime.com”. The idea was to do something I knew, and try to build a software as a service (SAAS) product that would bootstrap into a sustainable business.

  • SCCM and Git

    There are files in our software systems that we desire to have under source control, but which we never edit. These are source code configuration management (SCCM) files such as Gemfile.lock, npm.shrinkwrap.json, or db/schema.rb.

  • Keeping minitest Dry

    Here’s a test written with minitest as extended for Rails. It is from the open source Rails project, IACCDB.

  • Coroutines

    Have you ever wondered how a construction crane grows with the building? Well, I have. Here’s how it works.

  • Your Professional Pedigree

    I was a LinkedIn early adopter in 2007. My profile there was very complete and well connected. In April, 2017 I got freaked-out about privacy and an update to LinkedIn terms. (What about them in particular I don't recall.) I deleted my account.
  • The Dispossessed

    When I read about the death of Ursula K Le Guin in the New York Times, at the end of January, I thought how agreeable she sounded, remembered that I hadn’t found her books accessible when I first encountered them as an adolescent, for whatever reason, and decided to try reading one of them again.

  • Why I'm not on Facebook

    I don't use these programs because they leak information about who your contacts are, whom you talk with, when, and how often, to invisible, unaccountable third parties.
  • Merging migrations

    In Rails, the file db/structure.sql or db/schema.rb (depending) captures a snapshot of the state of the development database after a migration, when you run the db:migrate or db:schema:dump tasks.

  • Git merge v. rebase

    I’ve been looking into the git merge v. rebase endless theological debate. It comes up over and over. But I’ve only ever gotten into trouble trying to rebase. Not getting all wrapped up over how my commit history looks and just merging has given me fewer issues.

  • RSpec have HTTP status upgrade

    When upgrading a project to the Rails 5.2 pre-release we started to see some deprecation warnings in our RSpec runs. The warnings were as follows, and occurred wherever have_http_status(:success) or have_success_status and the like were used in tests.