Yesterday I realized, quite a few years after I should have, that I have never identified in public where I got the seed of the idea that I developed into the modern economic theory of open-source software – that is, how open-source “altruism” could be explained as an emergent result of selfish incentives felt by individuals. So here is some credit where credit is due.
Now, in general it should be obvious that I owed a huge debt to thinkers in the classical-liberal tradition, from Adam Smith down to F. A. Hayek and Ayn Rand. The really clueful might also notice some connection to Robert Trivers’s theory of reciprocal altruism under natural selection and Robert Axelrod’s work on tit-for-tat interactions and the evolution of cooperation.
These were all significant; they gave me the conceptual toolkit I could apply successfully once I’d had my initial insight. But there’s a missing piece – where my initial breakthrough insight came from, the moment when I realized I could apply all those tools.
A Meditation on the Art of Not Trying is worth a read.
If you take nothing else from that article, believe this: wu-wei – effortlessness – is one of the secrets of effective truth-telling. It is an essential skill if you want to be a truly game-changing public advocate.
Step right up for my first SF sale, the lead story in Riding The Red Horse. That’s the Amazon link; it’s also available as DRM-free epub direct from Castalia.
Also included, my nonfiction analysis of the effect of battlefield lasers on military airpower, a development likely to transform warfare in the coming century as radically as the deployment of automatic weapons did around the beginning of the last one.
The good folks from TekSyndicate showed up yesterday with a pile of parts and did final assembly of the Beast in my dining room. A&D regular John Bell remoted in last night to finish the setup. I’m actually blogging on it now as the last of my work environment transfers over from the old snark.
What a beautiful machine it is! The interior of the NZXT case is even more impressive live than it is in photos. It runs whisper-quiet.
During the next several hours we’ll be filming documentary and interview footage. I’ll announce here when and where the video is available.
UPDATE: I have now had a chance to profile performance on some of the benchmark repos. I’m seeing speedups of between a factor of three (on Emacs CVS) and twenty (on groff CVS). The entire NetBSD src repository, 288K commits and 37GB of content, converts in 22 minutes.
A lot of U.S. economic policy is distorted by the belief that manufacturing jobs are a magic bullet against declining incomes. Manufacturing’s false promise of a decent payday punctures that illusion.
One of the dumb, predictable responses to articles like this is “We need a stronger union movement”. Sorry, but no. Declining manufacturing wages aren’t an effect of the weakening of unions and can’t be reversed by strengthening them. Explanation follows.
OK, this is interesting: From some tabloid, we have the following quote:
The unidentified witness wrote that the 18-year-old Brown “has his arms out with attitude,” while “The cop just stood there.” The witness added, “Dang if that kid didn’t start running right at the cop like a football player. Head down.”
This is exactly how I reconstructed the event in This picture tells a shooting story. I said: the reason I’m sure Brown was moving is the extreme torso angle suggested by the lack of exit wounds on the back. A human trying to do that standing still would overbalance and fall, which is why I think he was running or lunging when he took the bullets.
The witness said “arms out with attitude”. I said “with his right arm stretched forward […] probably while Brown was grabbing for Wilson or the pistol with his right hand.”
So much for “Hands up – don’t shoot.” It’s as I thought: Brown autodarwinated, bull-rushing an armed policeman he had already injured once.
UPDATE: I failed to make clear before that this account was part of the evidence dump from the grand jury proceedings, not just some random the tabloid turned up.
I had meant to blog-announce version 1.0 of How To Learn Hacking but got distracted at a crucial moment. So it went out on G+, where I got some useful feedback.
This version is revised and very slightly expanded. Enjoy and critique.
A&D regular Mike Swanson did such a nice job on this that I want you all to see it.
My low-power, low-overhead version control system, SRC, is no longer just a stake in the ground. It is still a determinedly file-oriented wrapper around RCS (and will stay that way) but every major feature except branching is implemented and it has probably crossed the border into being useful for production.
The adventurous can and should try it. You’re safe if it blows up because the histories are plain RCS files. But, as previously noted, it’s RCS behind an interface that’s actually pleasant to use. (You Emacs VC-mode users pipe down; I’m going to explain why you care in a bit.)
The main developments today include a fairly complete regression-test suite (already paying large dividends in speeding up progress) and a “src status” command that will look very familiar to Subversion/git/hg users. There’s a hack behind that status command I’m rather proud of; I’ll talk about that, too.
In the process of working on my Time, Clock, and Calendar Programming In C document, I have learned something sad but important: the standard Unix calendar API is irremediably broken.
The document list a lot of consequences of the breakage, but here I want to zero in on what I think is the primary causes. That is: the standard struct tm (a) fails to be an unambiguous representation of time, and (b) violates the SPOT (Single Point of Truth) design rule. It has some other more historically contingent problems as well, but these problems (and especially (a)) are the core of its numerous failure modes.
These problems cannot be solved in a backwards-compatible way. I think it’s time for a clean-sheet redesign. In the remainder of this post I’ll develop what I think the premises of the design ought to be, and some consequences.
Neil Gaiman writes On Terry Pratchett, he is not a jolly old elf at all.. It’s worth reading.
I know that what Neil Gaiman says here is true, because I’ve known Terry, a little. Not as well as Neil does; we’re not that close, though he has been known to answer my email. But I did have one experience back in 2003 that would have forever dispelled any notion of Terry as a mere jolly elf, assuming I’d been foolish enough to entertain it.
I taught Terry Pratchett how to shoot a pistol.
(We were being co-guests of honor at Penguicon I at the time. This was at the first Penguicon Geeks with Guns event, at a shooting range west of Detroit. It was something Terry had wanted to do for a long time, but opportunities in Britain are quite limited.)
This is actually a very revealing thing to do with anyone. You learn a great deal about how the person handles stress and adrenalin. You learn a lot about their ability to concentrate. If the student has fears about violence, or self-doubt, or masculinity/femininity issues, that stuff is going to tend to come out in the student’s reactions in ways that are not difficult to read.
Terry was rock-steady. He was a good shot from the first three minutes. He listened, he followed directions intelligently, he always played safe, and he developed impressive competence at anything he was shown very quickly. To this day he’s one of the three or four best shooting students I’ve ever had.
That is not the profile of anyone you can safely trivialize as a jolly old elf. I wasn’t inclined to do that anyway; I’d known him on and off since 1991, which was long enough that I believe I got a bit of look-in before he fully developed his Famous Author charm defense.
But it was teaching Terry pistol that brought home to me how natively tough-minded he really is. After that, the realism and courage with which he faced his Alzheimer’s diagnosis came as no surprise to me whatsoever.
In the wake of the Shellshock bug, I guess I need to repeat in public some things I said at the time of the Heartbleed bug.
The first thing to notice here is that these bugs were found – and were findable – because of open-source scrutiny.
There’s a “things seen versus things unseen” fallacy here that gives bugs like Heartbleed and Shellshock false prominence. We don’t know – and can’t know – how many far worse exploits lurk in proprietary code known only to crackers or the NSA.
What we can project based on other measures of differential defect rates suggests that, however imperfect “many eyeballs” scrutiny is, “few eyeballs” or “no eyeballs” is far worse.
I’m not handwaving when I say this; we have statistics from places like Coverity that do defect-rate measurements on both open-source and proprietary closed source products, we have academic research like the UMich fuzz papers, we have CVE lists for Internet-exposed programs, we have multiple lines of evidence.
Everything we know tells us that while open source’s security failures may be conspicuous its successes, though invisible, are far larger.
In a blog post on Computational Knowledge and the Future of Pure Mathematics Stephen Wolfram lays out a vision that is in many ways exciting and challenging. What if all of mathematics could be expressed in a common formal notation, stored in computers so it is searchable and amenable to computer-assisted discovery and proof of new theorems?
Infinite Science Fiction One (edited by Dany G. Zuwen and Joanna Jacksonl Infinite Acacia) starts out rather oddly, with Zuwen’s introducton in which, though he says he’s not religious, he connects his love of SF with having read the Bible as a child. The leap from faith narratives to a literature that celebrates rational knowability seems jarring and a bit implausible.
That said, the selection of stories here is not bad. Higher-profile editors have done worse, sometimes in anthologies I’ve reviewed.
Our new cat Zola, it appears, has a mysterious past. The computer that knows about the ID chip embedded under his skin thinks he’s a dog.
There’s more to the story. And it makes us think we may have misread Zola’s initial behavior. I’m torn between wishing he could tell us what he’d been through, and maybe being thankful that he can’t. Because if he could, I suspect I might experience an urge to go punch someone’s lights out that would be bad for my karma.
One of the minor frustrations of my life, up to now, is that though I can sell as much nonfiction as I care to write, fiction sales had eluded me. What made this particularly irksome is that I don’t have only the usual ego reasons for wanting to succeed. I love the science fiction genre and owe it much; I want to pay that forward by contributing back to it.
It therefore gives me great satisfaction to announce that I have made my first SF sale, a short (3.5kword) piece of military SF titled Sucker Punch set on a U.S. aircraft carrier during the Taiwan Straits Action of 2037. Some details follow.
Before you read the rest of this post, go look at these pictures of a Hobbit Pub and a Hobbit House. And recall the lovely Bag End sets from Peter Jackson’s LOTR movies.
I have a very powerful reaction to these buildings that, I believe, has nothing to do with having been a Tolkien fan for most of my life. In fact, some of the most Tolkien-specific details – the round doors, the dragon motifs in the pub – could be removed without attenuating that reaction a bit.
To me, they feel right. They feel like home. And I’m not entirely sure why, because I’ve never lived in such antique architecture. But I think it may have something to do with Christopher Alexander’s “Timeless Way of Building”.
Blogging will be light and possibly nonexistent for the next week, as I’m off to Summer Weapons Retreat 2014 for fun and swordplay.
Keep out of trouble until I get back…oh, who am I kidding. Go make interesting trouble.
I had to buy a new UPS for my desktop machine yesterday after the old one succumbed to battery death, so Cathy and I made a run to the local MicroCenter.
UPS designers have been pissing me off since forever with designs that require you to throw away the entire device when the battery craps out, unless you’re willing to go to great length to avoid this – finding the exact right replacement battery from a specialty supplier, then taking the unit apart and reassembling it yourself.
This is never practical under time pressure, and I’ve never had the luxury of no time pressure when trying to cope with a dead UPS. Sure didn’t this time; my area was under a severe-thunderstorm watch.
Imagine my pleased surprise when I found a big stack of varied models branded APC that are not just significantly less expensive and with longer dwell times than when I was last UPS-shopping, but designed with removeable and replaceable batteries, too.
Progress does get made. Dunno whether this is a standard feature on all UPS brands yet, but doubtless it will be within a few years.
Some of you may find my UPS HOWTO of interest. I’ve shipped a 3.0 update with the glad news of replaceable batteries and a few other minor updates; it may be up by the time you read this.
The new cat, Zola has been with us for about a month now. My wife and I observe an interesting convergence; as he feels increasingly secure around us, his behavior is coming to resemble Sugar’s more and more, to the point that it sometimes feels like having her back with us.
What makes this a surprising observation is that Sugar was not your behaviorally average cat. She was up against the right-hand end of the feline bell curve for sociability, gentleness, and good manners. Having Zola match that so exactly is a little startling even if we did improve our odds by keeping an eye out for a Maine Coon that liked us on sight. It still feels rather like having 00 come up twice in succession on a roulette wheel.
This is ethologically interesting; it suggests some things about how the personalities of cats – and even specific behavioral propensities – are generated. In the remainder of this post I will use detailed observations to explore this point.