06 December 2016

24 November 2016

Links roundup: 4

  • Flavio Ribeiro et al. have released components of the video processing workflow at the New York Times to the open source community.
  • Adam Conner-Simons describes Gitless, developed at MIT. The tool is intended as a gentler introduction to the Git mindset—no stashing required.
  • Phil Sturgeon makes a succinct comparison between REST- and RPC-based APIs. One isn't better than the other; they're just different.
    • RPC-based APIs are great for actions (that is, procedures or commands).
    • REST-based APIs are great for modeling your domain (that is, resources or entities), making CRUD (create, read, update, delete) available for all of your data.

21 November 2016

Nifty fifty

Chuck House sends happy birthday wishes to the HP 2116 minicomputer, a 16-bit machine that preceded Digital Equipment's first 16-bit offering. The company offered it as an "instrumentation controller," lest it be seen as a competitor to hardware sold by the much bigger IBM.

Big Hex

Researchers at the University of Bristol have built an operational 16-bit computer the size of a climbing wall, in the service of teaching students processor architecture.

21 August 2016

First movers

... don't always come up winners. The Gopher protocol predated the World Wide Web; indeed, Tim Berners-Lee used Gopher to promote his new gizmo. Now Gopher, a semi-authorized project of a University of Minnesota computing lab, is all but silent.


The Los Angeles Times is rolling out a new CMS named SNAP (for Simple News Assembly Platform) to other tronc properties. Shan Wang has the story.

The Slack integrations with the various editing desks are a tasty idea.

31 July 2016

No comment

Well, just one: absitively terrifying. The story of Jake, Tom, and JDSL.

Getting to know you

Brian Hayes gives us a show-and-tell introduction to the Julia programming language an interesting language but not something I'm likely to need in my day job (although my colleagues Nick and Stephen might be interested). One of his peeves is that the compiler does not perform tail-call recursion. Hayes demonstrates why that's a useful feature, and gives an easy example that you could you with any programming language and its ecosystem to detect whether the compiler performs this helpful optimization. However, reading Hayes as a fairly-well indoctrinated O-O programmer, I confess that he lost me when he describes the distinction between multiple dispatch and OOP.

01 July 2016


Michael D. Gordin reviews How Not to Network a Nation: The Uneasy History of the Soviet Internet, by Benjamin Peters.
... Peters finds six different proposals to develop an 'all-union' computer network. This stands to reason, given what he calls “the outsized infrastructural imagination of Soviet planners”, who liked their projects big and utopian — think the space programme, dams and nuclear power.

23 June 2016

You could look it up

dominic introduces the new read-write API for the U.S. National Archives' online catalog. Plus-one from me for providing (rate-limited) access without an API key or authentication -- quick start mode, if you will. I also like defaulting to pretty-print.

And search results return a field queryTime, which looks like it's the number of milliseconds that it took to execute the query (the interactive documentation isn't clear about this): of some value to client software, but very useful for developers maintaining and performance-testing the API itself.

Still won't take out the recyclables

Dag Spicer profiles Jim Sutherland's ECHO IV home computer, assembled in 1966 out of surplus modules from a Westinghouse Prodac-IV process control computer. The multi-cabinet machine was the forerunner of today's X10 ecosystem, but it also provided basic word processing, through a modified IBM Selectric typewriter.

22 June 2016

Reading list: 1

Basiri et al., "Chaos Engineering," IEEE Software 33: 3

Abstract: Modern software-based services are implemented as distributed systems with complex behavior and failure modes. Many large tech organizations are using experimentation to verify such systems' reliability. Netflix engineers call this approach chaos engineering. They've determined several principles underlying it and have used it to run experiments. This article is part of a theme issue on DevOps.

For me, the most interesting bit of the paper is this: Rather than simply measuring "is it up or down?" Netflix uses continuous-variable, time-dependent metrics to determine whether system availability has been affected by a test manipulation. For instance, they have a curve that predicts SPS (stream starts per second) over the course of any 24-hour day, based on past performance.

24 May 2016


Len Shustek explains why writing the history of computing is harder than it looks. He discusses the recent book by Thomas Haigh et al., ENIAC in Action: Making and Remaking the Modern Computer.

22 May 2016

Read a book

J. Bradford Hipps answers a rather parochial and oft-cited post by Vinod Khosla:
[I]f anything can be treated as a plug-in, it’s learning how to code. It took me 18 months to become proficient as a developer. This isn’t to pretend software development is easy — those were long months, and I never touched the heights of my truly gifted peers. But in my experience, programming lends itself to concentrated self-study in a way that, say, To the Lighthouse or Notes Toward a Supreme Fiction do not. To learn how to write code, you need a few good books. To enter the mind of an artist, you need a human guide.

19 May 2016

Block that button!

David Sleight provides some inside-baseball info about ProPublica's revamped mobile apps, including the yogic contortions required of this non-profit to satisfy Apple.

13 April 2016


John D. Cook alerts us to a pitfall in seeding a random number generator (RNG) for multiple processes/threads (for instance, for a Monte Carlo simulation):
Applying the analog of the birthday problem to the RNG seeds explains why the project was launching processes with the same seed. Suppose you seed each process with an unsigned 16-bit integer. That means there are 65,536 possible seeds. Now suppose you launch 1,000 processes. With 65 times as many possible seeds as processes, surely every process should get its own seed, right? Not at all. There’s a 99.95% chance that two processes will have the same seed.

28 February 2016

Personal, in a cabinet

John Markoff has the obit for Wesley A. Clark, designe of an early computer with which I was otherwise unfamiliar. At MIT's Lincoln Laboratory in the early 1960s, an era dominated by mainframe computing, Clark built LINC, a workstation set up to fit into a medical research lab, powered by a 12-bit processor running at 0.5 MHz. As such, Clark paved the runway for personal computing and the innovative Alto by Alan Kay in the following decade.

15 February 2016

Don't stop

For businessmen and the general public, a 1928 guide to using the telegraph service effectively.

Most of us are familiar with/remember using Western Union to send money by wire, or using FTD to deliver flowers remotely. In its heyday, the telegraph system was used for sending just about anything to a distant city.

In addition to the regular money order service, the telegraph companies maintain what is known as a telegraphic shopping service. As now organized, this service permits of the purchase by telegraph of any standardized article from a locomotive to a paper or pins.

There was even an early 20th-century analog of DNS:

In the case of domestic telegrams the address and signature is transmitted free of charge, the only part of the message paid for being the body. In the case of cablegrams and radiograms, however, all words are charged for, including address and signature, with the exception that the name of the country of destination is transmitted free. In the interest of economy to the customer, cable companies permit the registering of a code address, so that it is unnecessary to transmit long addresses. Thus a message addressed "WUTRAVBURO LONDON," would be delivered to The Western Union Travelers' Bureau, 22 Great Winchester Street, London, England. There is a nominal annual charge for this registration privilege, the amount being so small as to be more than offset by the saving on a few cablegrams or radiograms.


01 February 2016


A documentary on the Antikythera Mechanism (long-time readers will recognize this as one of my hobbyhorses) is screening weekly at the National Gallery of Art through mid-March.


Jane Cotler and Evan Sandhaus describe two neat tricks that the New York Times used to bring a recent 20-year block of articles into its TimesMachine service. First, an image tiling and rendering procedure that minimizes download requirements. Even more interesting, a fuzzy-logic string-matching algorithm that lines up a batch of texts taken from OCR with their counterparts from a digital archive. The trick to reducing the search space depends on dividing each text into blocks of overlapping tokens called shingles, a/k/a n-grams.

27 January 2016

Probably not JavaScript

Geoff Brumfiel reports: an AI application called AlphaGo has mastered the game of go to the point of defeating a European champion. I can't resist the obvious question: Since it's a Google project, what language is AlphaGo written in?

24 January 2016

18 January 2016


Using regular expressions to crack the inconsistencies of a century-old bibliography and bring an important compendium of zoological taxonomy into the semantic web: Suzanne C. Pilsk et al., "Unlocking Index Animalium: From paper slips to bytes and bits."