Not sure if anybody reads stuff here anymore, but I'm posting newer writing on my homepage now; here's a direct link to the site feed . I guess that means this blog is now officially retired? Thanks to everyone who visited over the past, uh, almost 19 years ? It's hard to believe I've wrtten almost 600 posts (598, including this one). It's been a fun hobby.
Most people develop opinions about how speech should be restricted via a priori reasoning from abstract principles, often absorbed from primary school civics lessons or other tribal recitations (for example, these days, social media memes). But in a consequentialist, utilitarian framework, how discourse should be regulated depends on several empirical questions: Speech is a physical reality; the…
Disclaimer: I worked for Google long ago, and I may work there again someday. I had nothing to do with Duplex. The Google Duplex demo has caused some fairly heated & widespread reactions; to paraphrase, "The person on the other end doesn't know or consent to talking to a robot! This is a deceptive violation of their rights!" I think that I understand, a little, why people react this way, but on…
Excavated from the drafts folder. I composed this in December 2017 (although I can't prove it) and I am publishing it now because recent news has rendered the postscript timely. Bitcoin depends on the following three types of infrastructure: Semiconductor fabrication plants. Electric power plants. Transoceanic fiber-optic Internet cables. It depends on the first two of these to an unusual extent;…
Another looming threat of Federal government shutdown prompts Timothy B. Lee to concur with the Yglesian view that American constitutional democracy is doomed — or, at least, in need of major structural changes: The hour-by-hour style of conventional news coverage tends to obscure the big picture: the perpetual crises the US government has suffered over the last decade are a symptom of America’s…
Vaguely a propos of the revived net neutrality debate, a while back I saw someone on Twitter claim that it is technically not possible for ISPs to do content-based (as opposed to destination-based) filtering of SSL traffic. This statement seems initially plausible, but is false. I can think of two technical mechanisms to do content-based filtering. First, it is possible to identify encrypted…
Ad-supported communication platforms like Facebook have many structural advantages over hypothetical competitors that charge users money directly. One advantage is that a purely ad-supported service can spread virally, from user to user, at a vastly greater rate than a service that demands direct monetary payment. For most users, the unpredictable, frequently unmeasurable harms of losing privacy…
It is clear at this point that Facebook has a monopoly on online human-to-human interaction that no private forces, market or otherwise, will break in the foreseeable future. The network effects from a billion users are unsurmountably large. If we take Metcalfe's Law literally, even a social network that accumulates a hundred million users will be a hundred times less powerful than Facebook. [0]…
Hoisted from the drafts folder because the discovery that TypeScript's system is Turing-complete is making the rounds. It's a common assumption in the programming language community that practical type systems should be decidable. Or, at least, it used to be: in the early 2000s, I had a grad school colleague who spent a lot of time trying to invent restrictions that made the type system of Cecil…
Excavated from the drafts folder for no particular reason. Isn't it great how, since the Brendan Eich affair, all his online defenders have become active labor rights organizers, fighting for workplace political freedom for all? Galvanized by the realization that not only CEOs but all workers deserve robust protections for their political beliefs, Eich's erstwhile defenders channeled all their…
I favor strict national gun regulation. There are bad ways to do it, and good ways, but almost any consistent regime would be an improvement over the status quo. If you had asked me the day before yesterday, I would have said that I'd support nearly any gun control measure that was brought before the U.S. Congress. Well, congratulations, Democrats! You've discovered a way to do it, maybe the only…
I've been messing around with Node.js lately. Like everyone using Node.js, I've been wrestling with the fact that it forces programmers to use hand-rolled continuation passing style for all I/O. Of course, I could use something like async .waterfall() to eliminate boilerplate and deeply indented nested callbacks. However, since I am crazy, I am using Closure Compiler to statically typecheck my…
Rescued from the drafts folder because John Oliver has rendered it timely . People who consider themselves smart sometimes joke that a lottery is a tax on people who are bad at math. A smug of satisfied pundits. pic.twitter.com/em5ZUfcp5f — Noah McCormack (@noahmccormack) November 10, 2014 The root of this reasoning is that the expected return on investment for a lottery ticket is negative.…
The BBC reports: In China, an editorial in People's Daily warned of "unimaginable consequences" if the protests continued... Unimaginable consequences! I literally can't imagine, actually. They can't roll out the tanks this time. In the age of ubiquitous digital photography and the Internet, it won't be a few grainy shots of one guy with a shopping bag. I've been telling people for a while that I…
Disclaimer: I worked for Google from 2006-2013, although not on Fiber. Towards the end of this Twitter thread sparked by Timothy B. Lee , a commenter writes (by way of defending US ISPs): Internet speeds have increased 1500% in ten years. 250k Wi-Fi hotspots are now available. That's progress. When I read this, I just thought, this is such bullshit. Taking it apart with sufficiently satisfying…
With polls opening tomorrow for Scottish independence , I feel like sharing a little story. Last fall, A. and I were in Scotland and England for a couple of weeks*. In Scotland, there was more or less incessant discussion of independence: it was discussed constantly on BBC Scotland; there were leaflets, posters, and newspaper headlines; one cab driver gave us a long disquisition, during a short…
I realized today, when I read the phrasing of this LtU post , that my last two posts were too pessimistic about functional programming languages. There is, of course, at least one very popular functional programming language, and that is Emacs Lisp. Emacs Lisp is even widely used, at least a little bit, by countless programmers who never use any other functional programming languages at all. But…
A little bit of vindication from Meyerovich and Rabkin; a quote I found particularly interesting (emphasis added): A given prior language only occasionally correlated with the choice of a specific different language for the next project. Most notably, developers have high propensities to switch between Windows scripting and application languages, such as VBScript and C#. These languages also…
Rice University's Swarat Chaudhuri asks (and attempts to answer) the perennial question: why isn't functional programming more popular? I have my own long-running theory about why programming languages become popular (or don't), but first let me dispute a couple of specific things in the linked post. Chaudhuri writes: The same survey also showed that the factor that correlates the most with…
More on the taxis vs. Uber in San Francisco beat. I repeat my previous assertion that, anecdotally, ">20 min" is an understatement on weekend nights, and that the decision to use only 3 buckets ("<10 min", "10-20 min", ">20 min") conceals the long tail. As in so many other applications, tail latency has a disproportionate negative effect on on user experience, and looking at even the median or…
Attention conservation notice: Google-food for nodejs users. It's easy to get a list of just the packages you directly depend on: npm list --depth=0 However, there's no built-in way to get npm list to output results in package.json format. Here's a little shell recipe: npm list --depth=0 \ |tail +2 \ |sed '/^\s*$/d' \ |gawk -F ' ' '{print $2}' \ |gawk -F '@' '\ NR > 1 { printf ",\n" } \ { printf…
Disclaimer: I worked at Google for 6.5 years, although not on the Chrome team. I am currently independent. I also worked a little bit with Rob at IBM in 2001. Rob O'Callahan has a good post explaining why you should use Firefox. I am sympathetic to this argument, but I can't bring myself to switch yet. I try periodically, and every time I end up bouncing off again. Alas, Firefox is currently…
I will fully cop to the fact that my previous bitching about taxis concerned a classic San Francisco yuppie firstworldproblem but here are some more stories about how taxis in many cities serve people of all stripes exceptionally poorly. Relatedly, I took an UberX with a friend the other night and the experience was awesome. I might have liked the option of tipping the the driver (via the app,…
Disclaimer: Obviously I worked at Google for 6.5 years so take this with the appropriate grain of salt.[0] "I wish Google would just let me pay them money to remove ads from this service. WTF GOOGLE IS SO DUMB AND EVIL WHY WON'T THEY DO THIS." How many times, in various corners of the Internet, have you read some variation of the preceding sentiment? Now, it turns out, Google is trying to do this…