RSSAmplifier

Blog

The Abstract Factory

in a city of the future
it is difficult to concentrate 
( keunwoo 's blog)

abstractfactory.blogspot.comRSS feed ↗25 posts

Latest posts

Redirect

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.

Freedom of speech, and how to reason productively about it

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…

On the Duplex demo

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…

How resistant is Bitcoin to government regulation?

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;…

The evolution of players in the American constitutional game

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…

Two ways ISPs can do content-based filtering of encrypted traffic

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…

Tentpole sponsors: an idea for improving paid service virality

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…

What's the point of Facebook alternatives?

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]…

How important is decidability in programming tools?

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…

On the efficacy of online flamewars

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…

We must reject watchlists if we are a nation of laws

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…

The goTo object pattern in Node.js code

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…

A lottery is a tax on... people who are good at reasoning about risk-adjusted returns?

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.…

On recent events in Hong Kong, and related lessons from American history

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…

US ISPs do not deserve much credit for increasing broadband speeds

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…

An anecdote from the UK, autumn 2013

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…

The world's most popular functional language, and what it teaches us

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…

More on programming language adoption, from Meyerovich and Rabkin

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…

Is education to blame for functional programming's minority status?

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…

Uber vs taxi wait times: non-anecdotal evidence

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…

Making a package.json from exact installed npm package versions

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…

A few problems with Firefox

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…

Fafblog returns, again

Sort of.

More on taxis

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,…

What happens when you let people pay to remove ads

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…