It’s been a terrible weekend politically, with Trump’s hateful and foolish immigration order and the backlash to it. But how bad is it really? I’ve been mulling over this terrifying essay by Yonatan Zunger that’s making the rounds of techies, Trial Balloon for a Coup?. And contrasting it to Larry Lessig's calm essay about the power of American constitutional process. Zunger’s essay is powerful and, I think, well intentioned. He argues that the immigration circus this weekend was the Trump administration testing whether they could seize total political power. It takes some basic facts about the horrible things the Trump administration is doing and mixes them with some speculation such as the Rosneft deal and comes to a conclusion that the American Republic is about to end. If this essay is correct, the rational response is to flee the country immediately. Lessig’s essay is a calm entreaty to resist Trump via normal legal and constitutional procedures. Specifically the need for Congress to step up and lead the fight. I agree the Democratic congressional leadership is very disappointing right now. I want Lessig’s worldview to be right, because it means my home is not about to explode in a civil war. But which is true? I’m less certain than I’d like to be. I think the conclusion Zunger comes to is too extreme to be correct. It reads to me like “Obama’s comin’ for yer guns” or "FEMA orders $1B in coffins" rhetoric. There are some threads of truth there but they’re spun together in an inflammatory way to make the most terrifying conclusion. I think it’s bordering on irresponsible fearmongering and distracts us from meaningful resistance. America is going to hell through constitutional means, no coup necessary. The Trump administration is using its authority to enact a series of policies that will greatly diminish this country. And they are doing so with complete contempt for truth, decency, or democratic norms. I really hope Lessig is right and that fighting back through legal means is possible. I’m not willing to believe a coup is coming, but this last weekend has me rattled. I’ve been reading a lot about the Reichstag Fire lately. Watch Dogs 2 is a very good video game. I think it’s nearly as good as GTA V or Sleeping Dogs and better than many other open world roamers. It fixes nearly all the problems in the original Watch Dogs and finds the fun in the game design. My favorite thing about the game is the setting, the tech industry in the Bay Area. I live in San Francisco, I’ve worked in two of the offices featured in the game, I’m constantly running in to things in the game that remind me of where I live. They’ve done a remarkably good job on the re-creation of the Bay Area. Like not only do the buses in San Francisco look like SF Muni buses, but the buses in Oakland look different because of course they should, they’re AC Transit buses. The world quality extends to the game writing, both incidental stuff like random NPC dialog and significant things like the main story writing. The main story is pretty good. It’s not great, I’d say it’s weaker than GTA V, but it’s still pretty good. Some of the characters are great and some of the set pieces are excellent. The biggest criticism I have is something a lot of reviews pointed out, which is there’s a conflict in tone between “we’re a fun hacker gang pulling pranks” and “we’re a group of murder hoboes launching grenades at FBI agents”. There’s an event that happens in the game that could explain the shift but the writing doesn’t quite pull it together. It’s not a huge problem. Most importantly, the
gameplay is fun. The It’s a really good game! I have some screenshots and video clips on Twitter. I went to Reed College, a wonderful small liberal arts college. It was a perfect fit for me in almost every way. Except one thing: Reed offered no computer science. Excellent math and physics program in the liberal arts tradition, but no engineering of any kind. I was fine with that tradeoff at first but got frustrated, even considered transferring to MIT. What made Reed work for me was a tiny little computer lab tucked in the library basement, the grandly named Academic Software Development Laboratory. That was the home for a few beardy Unix nerds, some students, some staff. Gary Schlickeiser was in charge at the time (Richard Crandall set it up). Gary hired me and I spent the next four years getting paid part time and summers to learn Unix at the knee of folks like Bill Trost and Kent Black. Our official job was writing software for professors’ research projects and providing Unix support, but really my time was spent being steeped in Internet culture. Also a lot of Netrek. My very first job was getting Netatalk working on our Ultrix 2.2 systems so they could be file servers to Macintoshes. Mind you, this is 1990, networking software back then was full of jaggy sticks and sharp rocks. I learned how to download software via UUCP, how zcat | tar worked, how to run make and read compiler errors, all sorts of wooly crap. I got it running but it didn’t work, at which point Norman Goetz taught me how to use some ancient packet sniffer (Lanalyzer?) to figure out the problem. That’s when I learned about little-endian vs big-endian and in the end all I had to do was #define MIPSEL and suddenly it all worked. That was my first month’s accomplishment. And so I was initiated into the Unix priesthood. Ever since then I’ve traded on my ability to write software and make computer systems work. Software is not an academic discipline, certainly not a liberal art. It’s a craft. And the only way to learn craftsmanship is to apprentice to master craftsmen, to learn hands on from experts. The D-Lab was the home for that expertise. Later I worked on more interesting projects including Mark Bedau’s artificial life research, running a Usenet daemon, setting up Reed’s first web site, etc. Those projects led directly to my career. Reed stopped having a D-Lab around ten years ago. But two years ago a new program started, the Software Design Studio, with enthusiastic support from some alumni. Reed is also creating a computer science program that will be pretty math intensive. I hope the SDS is a place where folks can learn some of the applied craft.
The Internet mostly survived the leap
second two days ago. I’ve seen three confirmed
problems. Cloudflare DNS had degraded service; they have an
excellent postmortem. Some Cisco
routers crashed. And about 10%
of NTP pool servers failed to process the leap second correctly.
We’ve had a leap second roughly every two years. They often cause havoc. The big problem was in 2012 when a bunch of Java and MySQL servers died because of a Linux kernel bug. Linux kernels died in 2009 too. There are presumably a lot of smaller user application failures too, most unnoticed. Leap second bugs will keep reoccurring. Partly because no one thinks to test their systems carefully against weird and rare events. But also time is complicated. Cloudflare blamed a bug in their code that assumed time never runs backwards. But the real problem is POSIX defines a day as containing exactly 86,400 seconds. But every 700 days or so that’s not true and a lot of systems jump time backwards one second to squeeze in the leap second. Time shouldn’t run backwards in a leap second, it’s just a bad kludge. There are some other options available, like the leap smear used by Google. The drawback is your clock is off by as much as 500ms during that day. The NTP pool problem is particularly galling; NTP is a service whose sole purpose is telling time. Some of the pool servers are running openntpd which does not handle leap seconds. IMHO those servers aren’t suitable for public use. Not clear what else went wrong but leap second handling has been awkward for years and isn’t getting better. |