Eric S. Raymond's Blog, page 20
February 5, 2017
In defense of recording folk history
One of my regular commenters on A&D, Random832, wrote the following in response to my inclusion criteria for Things Every Hacker Once Knew.
On “common knowledge at the time”, I think the problem with dismissing things as “fascinating but obscure trivia” means too much exclusion of the real facts behind things that were already forgotten or inaccurately known, and reduces its value as a historical document. There’s also the fact that the intersection between, say, the Lisp and Unix hacker spaces seems to have been tenuous enough to cause some things to have been lost in translation […] – maybe there was never really anything every hacker once knew, just some things some hackers once knew, and other things other hackers once knew, all worth preserving. I think arbitrarily drawing lines around “provides too much historical context” runs the risk of the document being better described as “Things Eric Once Knew”.
I think this comment raises real issues that deserve to be squarely engaged. I’ve omitted one sentence that I think is based on a a factual misunderstanding in order to focus on the large questions.
The first and most obvious point is that this is not a new set of issues. I already had to engage them in connection with the Jargon File a quarter century ago. My answer now, as it was then, is that of course every historian has unconscious biases and selectivities. But if we let that paralyze us we could never write any history at all. This would be a cure worse than the disease that Random832 is pointing out.
There are equally obvious ways to address this problem. One is doing now as I did in 1990: exposing my process to peer review and willingly engaging in a public conversation about both fact and interpretation – not just accepting correction from other witnesses but inviting it. This is more than most historians are willing or even practically able to do.
In this particular situation, I think I am a reliable negative filter (if I didn’t know it, it wasn’t common knowledge) but a less reliable positive one (if I knew it, and thought everyone else did, it was common knowledge).
The reason for this is precisely the position that Random832 sees as a possible weakness: in the crucial period 1976-1985 I lived at the intersection of three subcultures. They were: the Lispers, the Unix minicomputer guys, and the micro hobbyists. It wasn’t a perfectly symmetrical situation; I was deeper in the Unix culture than in in the Lispers and micro guys. But it gave me a breadth of perspective that nobody confined to those individual subcultures could quite match.
But putting it that way also risks overstating the divergence. Because, for example, essentially everybody who learned his chops before the early 1990s either had to deal with serial terminals day to day, or (if they were on a workstation or micro) had recent memory of doing so. There simply was no way for this not to be true, given the technological surround. Similarly for modems in the pre-DSL era.
I am, therefore, actually pretty confident about the ubiquity of most of what’s in there – that it isn’t just things Eric once knew. I get some confirmation of this from the rather high volume of traffic related to the document in my mailbox. The overwhelmingly dominant tone is “Thanks for the trip down memory lane”; I don’t think anybody has yet said “I didn’t know that”, or suggested that I’m too focused on one of the subcultures. I have been alert for such criticism because I understood the issue going in.
Looking over the whole document with this in mind, these are actually just two pieces that worry me that way. One is the ‘graph about the Space Cadet keyboard; the other is the discussion of standard vs. TTL serial. They present opposite problems.
On the one hand, I’m not certain the Space Cadet keyboard was common knowledge at the time. It became so later, but that might have been a retrospective effect of the Jargon File.
On the other hand, I now think the details of the level distinction in RS-232 were common knowledge then – even though I, less hardware-savvy then than now, only vaguely knew of it – but I could still be wrong; that might have been been micro-culture only, which is why I was only vaguely aware.
Whereof one cannot speak, one must remain silent; but if one chooses to bear witness, the hazards of imperfect memory and limited perspective are ever present. The best we can hope for is to mitigate them by cultivating humility and openness.
February 3, 2017
Things Every Hacker Once Knew: 1.4
New version 1.4 at:
http://www.catb.org/esr/faqs/things-every-hacker-once-knew/
New content in this one is an expanded section about outboard modems, their descendants in today’s technology, and the curious survival of the Hayes AT command set.
I had actually received a couple of previous requests to add material on the Hayes AT convention, but rejected them on the grounds that it had no relevance to current tech. This turned out to be not quite true!
Once again I emphasize that this document was not written as a nostalgia trip, but rather to assist retrospective understanding by younger hackers so they can make sense of the fossils and survivals still embedded in current technology.
The response to this document has been remarkable. I’ve received a flood of feedback and gratitude in my mailbox, often from people much more sentimental about the old days than I am.
I invite everyone who values this content to contribute at my Patreon page; this is exactly the kind of thing I couldn’t do if I couldn’t pay my Internet bills or had to get a $DAYJOB, and I’m currently in my sixth month of operating without institutional funding. $5 or $10 a month from enough people could fix that.
Your dollars will also go to fixing critical infrastructure, so please give generously – the civilization you save could be your own.
January 29, 2017
Things Every Hacker Once Knew: 1.2
The response to this piece has been remarkably broad and positive. I have to note, though, that I didn’t write it as a nostalgia trip – I don’t miss underpowered computers, primitive tools, and tiny low-resolution displays.
At least people did notice that it isn’t a you-kids-get-off-my-lawn grumble. I think it’s good for younger hackers to know these things, but it’s no fault of theirs that the technological context has changed so much that they don’t absolutely need to to get work done. In fact it’s a sign of progress.
Yes, you’ll occasionally trip over old tech for which forgotten common knowledge is important – and RS-232, in particular, is still important in niche applications. But the real reason to remember these things is less tangible, and unfortunately difficult for many people to talk about without sliding into sentimentality.
In any kind of craft or profession, I think knowing the way things used to be done, and the issues those who came before you struggled with, is quite properly a source of pride and wisdom. It gives you a useful kind of perspective on today’s challenges.
The real reason I wrote this is to encourage that kind of perspective.
Updated version here. With: more about the persistence of octal, current-loop ASR-33s, 36-bit machines and their lingering influence, ASCII shift, a bit more about ASCII-1963, and some error corrections.
January 26, 2017
Things Every Hacker Once Knew
As promised in the comments on my last post, here it is:
Comments and corrections welcome.
January 25, 2017
Tools generate culture: a trivial example
If I were the kind of person who grumbles about feeling ancient, I’d have been doing it today.
I got reminded that younger hackers don’t know the bit structure of ASCII like their tongues know the back of their teeth. Man, we all grokked that back when I was new at this.
Nowadays not so much. I’ve actually seen younger hackers be confused about, say, how to generate a NUL from the keyboard. And I’m all, like, “How can you not know this?”
I’m bothering to post because I think I’ve figured out why this changed. The kids are OK, it’s conditions around them that have shifted.
I think it was the death of RS-232 hardware terminals in the early 1990s that did it.
Back before software terminal emulators ruled the world, there was just enough functional pressure to use all manner of odd nonprintable ASCII characters daily – and learn what control-foobar key combinations generated them – that newbie hackers tended to upload the ASCII code table into their heads pretty quickly.
This doesn’t happen reliably any more. Yes, hackers still learn individual magic keystrokes in various interfaces like vim or Emacs, and ^C as interrupt we will probably always have with us.
But, for example, who types ^L to clear a screen anymore? Or ^W to delete a word? Or, even rarer, ^S and ^Q as pause-resume. OK, I’m sure some people do – but I was actually surprised when ^L and ^W just worked in the software terminal emulator I use under i3. Because they don’t everywhere, and as a result I lost those finger habits – oh, about twenty years ago, I’d guess. And, of course, younger hackers probably never learned them.
The kids are all right. It’s the world that changed around them, and tools generate culture. Sometimes, when a tool goes away, a bit of cultural commonality – like everyone knowing ASCII down to the bits – silently evaporates with it.
I wonder if, a quarter century from now, one of today’s young hackers will find himself saying “What? You don’t know HTML tags?” And if I’m there, I’ll chuckle.
January 13, 2017
Rust and the limits of swarm design
In my last blog post I expressed my severe disappointment with the gap between the Rust language in theory (as I had read about it) and the Rust language in practice, as I encountered it when I actually tried to write something in it.
Part of what I hoped for was a constructive response from the Rust community. I think I got that. Amidst the expected volume of flamage from rather clueless Rust fanboys, several people (I’m going to particularly call out Brian Campbell, Eric Kidd, and Scott Lamb) had useful and thoughtful things to say.
I understand now that I tested the language too soon. My use case – foundational network infrastructure with planning horizons on a decadal scale – needs stability guarantees that Rust is not yet equipped to give. But I’m somewhat more optimistic about Rust’s odds of maturing into a fully production-quality tool than I was.
Still, I think I see a problem in the assumptions behind Rust’s development model. The Rust community, as I now understand it, seems to me to be organized on a premise that is false, or at least incomplete. I fear I am partly responsible for that false premise, so I feel a responsibility to address it square on and attempt to correct it.
Technically, I greatly admire Rust’s crate system. I see its continuity with earlier experiments in the same general direction – Perl CPAN, Python Pip. But crates are easier to use than their predecessors and get more details right. The differences are evolutionary, but they matter – they add up to making crates a near ideal tool for enabling code re-use and a decentralized swarm attack on the design space around Rust.
It’s “let a thousand modules bloom”, and exactly the kind of approach I advocated in my foundational work on the open-source development model. I pushed hard in that direction back around the turn of the century because that’s what the times demanded; our main problem then was getting out from under overcontrolling practices that were holding back software engineering and serving both its craftsmen and its customers rather poorly.
Now, confronting a purer expression of those decentralist ideas than we then knew how to build, I worry that I may have encouraged a kind of utopianism – a belief that if we just cultivate enough decentralization and divergence of approach, good whole systems will just sort of coalesce out of the chaos without anyone having to make hard decisions.
But evolution doesn’t work that way. Ratcheting up adaptive fitness requires not just mutation but selective pressure. Alternatives need to be winnowed as well as generated. Markets (even reputation markets) have penalties as well as rewards – if you offer an inferior product, people won’t buy it and eventually you need to go do something else to survive.
Which brings me directly to what bothers me about the crate system and the sociology behind it – I don’t see any pruning. Worse, I don’t see much understanding of the need for it. A lot of Rustaceans don’t seem to grasp why, when the question is “where do I get feature X?” the answer “oh, there are 23 crates for that” is objectively terrifying.
How many of those crates are student exercises or plain junk? How do I tell which ones are still maintained? How do I audit for quality? How do I form expectations about which will still be maintained in ten years? How do I even find all the crates that might be relevant to my interests?
This isn’t a question that comes up so often with respect to (say) Python because Python has an effective form of curation – blessing things into the standard library, at which point their alternatives generally disappear. In effect, Python modules are quality-filtered on the taste of the BDFL and the devteam.
(This is, in fact, why Benevolent Dictator For Life is such a common governance model in our otherwise rather anarchic community. Experience has shown that curation by one person with a clear design vision generally beats attempts to design by committee.)
The same question comes up at other levels. At the whole-program level, we have operating-system distributions precisely in order to curate the riotous diversity of software into semi-coherent wholes with an implied minimum quality threshold. Again: selective pressure.
Rust seems to be missing any analogous mechanism, and that worries me a lot. It’s what I meant when I said in my last post that the swarm attack seems to be failing.
To sharpen this point, I’ll tell you what I think “success” looks like. As a potential Rust user, what I want to do is be able to go from a given feature requirement to one high-quality implementation with an implicit long-term stability guarantee. This, folks, is what a high-quality production language looks like, and not by accident – it minimizes discovery costs for actual production users.
Getting to this from the crate ecology as it is now conceived is not just a technology problem, it’s a a challenge to how the Rust community imagines itself. And, as I trust I’ve made clear, not a unique one. Any sort of open-source ecology eventually has to face a similar transition to maturity.
It could be as conceptually simple as adding a rating system to crates.io, allowing the user to filter on ratings, and having one of the ratings being “Approved by the core team; we take responsibility for this.” But someone is going to have to decide. Who is it going to be? And who decides who will decide?
Backing up a bit: in scheduling theory and operations research there’s a class of problems called “explore/exploit dilemmas”. They show up everywhere where you have limited resources to invest and have to choose between generating options so you’ll have good ones later and harvesting the rewards from those you already have. They show up in the strategy games I like to play, especially in pick-up-and carry games where (say) you’re running a simulated railroad to try to make the money the fastest. Early in the game, you’re mainly interested in investing so you can build an efficient network. But later on you have to back off building track and pile up money using what you have, otherwise you’ll be overtaken by players who chose that transition point more shrewdly.
Rust has built a good machine for exploring. But you guys have competition out there: Go, Nim, Swift, D, and maybe other languages that aren’t on anyone’s radar yet. I think you’re going to need to make that turnover into exploit mode before you know it, and that this is tied into your challenges about curation and governance.
Here’s my advice, if you’ll take it: get conscious!. Grapple with what success looks like from a potential user’s point of view, the challenge of curation, and the problem of who decides. It’s either that, or remain a toy language with an inward-facing community forever.
January 12, 2017
Rust severely disappoints me
I wanted to like Rust. I really did. I’ve been investigating it for months, from the outside, as a C replacement with stronger correctness guarantees that we could use for NTPsec.
I finally cleared my queue enough that I could spend a week learning Rust. I was evaluating it in contrast with Go, which I learned in order to evaluate as a C replacement a couple of weeks back.
My chosen learning project in Rust was to write a simple IRC server. As a service daemon with no real-time requirements written around a state machine of the kind I can code practically in my sleep, I thought this would make a good warmup for NTP.
In practice, I found Rust painful to the point of unusability. The learning curve was far worse than I expected; it took me those four days of struggling with inadequate documentation to write 67 lines of wrapper code for the server.
Even things that should be dirt-simple, like string concatenation, are unreasonably difficult. The language demands a huge amount of fussy, obscure ritual before you can get anything done.
The contrast with Go is extreme. By four days in of exploring Go I had mastered most of the language, had a working program and tests, and was adding features to taste.
Then I found out that a feature absolutely critical for writing network servers is plain missing from Rust. Contemplate this bug report: Is there some API like “select/poll/epoll_wait”? and get a load of this answer:
We do not currently have an epoll/select abstraction. The current answer is “spawn a task per socket”.
Upon further investigation I found that there are no proposals to actually fix this problem in the core language. The comments acknowledge that there are a welter of half-solutions in third-party crates but describe no consensus about which to adopt.
Not only that, but it seems the CSP implementation in Rust – the most tractable concurrency primitive – has limits that make it unusable for NTPsec’s purposes (only selection over a static set of channels is possible) and there is some danger that it might be removed entirely!
I have discovered that Rust is not, or not yet, a language suitable for long-term infrastructure work. It suffers from a damning combination of high barriers to entry and technical deficiency. What is worse is that Rust’s community seems to be unable to fix or even clearly grasp these problems.
I think one problem here is the absence of a strong BDFL providing tasteful design direction and setting priorities. The Rust community appears to have elected to use the decentralized nature of their crate system (which undeniably has some very nice technical properties) to execute a swarm attack on the design space around the language. Which is wonderful in theory but seems to be failing in practice.
UPDATE: This post attracted two kinds of pro-Rust response. One was stupid flamage from zealots. The other was thoughtful commentary from a few people close to the core of the Rust community. The latter group has convinced me that there is considerable awareness of the problems I ran into; a couple even agreed, after analysis, that Rust is at present a poor fit for NTPsec’s requirements. This gives me hope that the Rust of five years from now may become the mature and effective replacement for C that it is not yet.
January 1, 2017
How to educate me about prejudice in the open-source community
Every once in a while I post something just to have it handy as a reference for the next time I have to deal with a galloping case of some particular kind of sloppy thinking. That way I don’t have to generate an individual explanation, but can simply point at my general standards of evidence.
This one is about accusations of sexism, racism, and other kinds of prejudice in the open-source culture.
First, a statement of principle: in the hacker culture, you should be judged by your work and your work alone. It is wrong for anyone to be attacked, belittled, or excluded because of the color of their skin, the shape of their genitals, what they like to do with their genitals, their politics, their religion, or any other irrelevancy. We are, and should remain, a place where those marginalized because of some aspect of their meatspace identities can find community and a place to do fulfilling work.
I have always stood up for this norm, and will till I die. If I am presented with evidence that anyone in the community has violated it, I will exert whatever authority I have as a tribal elder to condemn that violation and point the community in an ethically correct direction.
That said, in practice I believe such violations are very rare. So rare, in fact, that I cannot now say I know with certainty of even one. On the other hand, I do know of a lot of accusations having been flung by three categories of people: the mentally disturbed, drama queens, and political carpetbaggers. Of these, I consider the last – people seeking social and political power that they have not earned through the merit of their work – to be the most dangerous, enough so that they cannot merely be ignored but must be actively countered and ejected from our community.
In the remainder of this post I will explain what you need to do to present me with a prejudice-related grievance in order to get my full attention. I cannot enforce these standards on other elders or anyone else, but I recommend them to all.
First: Be humble. Don’t walk in assuming your outrage over whatever injustice is bothering you entitles you to dictate to us. It doesn’t – and, anyway, hackers are often prickly, countersuggestible people who don’t take well to what they perceive as attempts to jerk them around, so you’ll self-sabotage if you come on too strong. We have lots of work to do and limited patience for distractions; your cause may be important, but you are not, so start humble and reasonable and stay that way.
Second: show me your code. I want to see URLs to public repositories with your commits in them. (OpenHub statistics will do for a first cut.) Your credibility goes up with commit volume and number of different projects. and especially with the number of other people you have collaborated with.
In theory, I might be open to other metrics than commit volume for people who aren’t primarily software engineers. But that’s an edge case; the point is, whether it’s lines of code or Thingiverse objects or PCB layouts, I want to see evidence of contributed work.
There are three reasons I filter on this. One is that if you don’t contribute to the open-source work, I don’t consider that you have earned the right to lecture me or the open-source community on how we should behave or think.
Another is that if you haven’t put in time playing well with others, any claim you make to know how the community operates and whether it in fact suffers from ingrained prejudices is ungrounded. You need to know our problems, our adaptive strategies, and the reasons we organize and communicate the way we do before your opinion will be worth anything. Make your bones, get that experience, then maybe we can talk.
A third reason is that this is an extremely difficult filter for the people who generate false positives – the mentally disturbed, the drama queens, and the political carpetbaggers – to actually pass. Usually they suffer from a combination of stupidity, laziness, and antisociality that prevents them from contributing effectively. By stopping them here at an objective criterion we can avoid more difficult arguments about later filters.
Third: show me your evidence. I want to see evidence of specific harm, attack, or attempts to exclude, on identifiable victims, by identifiable perpetrators. It isn’t sufficient to say, for example, “Women (or black people, or gays) can’t get their patches accepted, or are sexually/racially taunted on forums.” and then wave your hands as though the accusation itself is to be treated as evidence and anyone demanding specifics is part of the problem.
I want to see concrete evidence of specific incidents – mailing-list traffic, IRC captures, pointers to web pages. If you can’t produce that evidence, you aren’t having a problem with the public behavior of hackers (or anyone else) and I can’t address it.
Fourth: Do not ever try to kafkatrap me. You do that, your credibility goes to negative infinity and stays there. You not only discredit yourself, you damage your allies and your cause.
Fifth: Convince me that you’re actually talking about anyone who actually regards me as a tribal elder. This means that you can’t go on about gamers, or 4chan, or neoreactionaries, or “brogrammers”, or any one of three dozen other on-line cultures or population categories in which a reasonable person might (rightly or wrongly) read evidence of bigotry, and expect me to care more than in a general, abstract way. They aren’t my people or my problem; you need to go find their tribal elders and complain to them.
If, on the other hand, you had a bad experience somewhere else and insist on sweeping open-source hackers into the same bucket because we look something like those people, or smell like them, or whatever…than you are the problem.
Sixth: If you have evidence of a specific instance, and want to persuade me that it is an index for a general pattern of prejudiced or hostile or belittling behavior, then come equipped with a generative theory of why your experience far from me differs from the almost ideally unprejudiced behavior I have observed near me over nearly forty years.
That is, you need to explain why I should consider that your claim of systemic prejudice flatly contradicts my everyday experience of hackers not caring about anything but quality of work. As a feminist would say, you need to not deny my lived experience.
Note: theories of the form “You’re blinded by your own prejudices/privilege” are kafkatrapping; see above, these will just set your credibility to negative infinity. Bring a theory which can be tested by falsifiable consequences, or don’t bother.
Generally, remember that neither I nor my community have a lot of patience for sloppy thinking, special pleading, or lazy guilt-tripping. If your reaction to this advice is to dismiss these as defensive rationalizations for not giving a shit, then we don’t give a shit about you.
If you pass all these filters, maybe you have something to teach me, and maybe you’ll get to see what I’m like when I am righteously pissed off because hacker norms have been violated in a serious way. It is part of my job to come down like the wrath of God when that happens – it’s what my community trusts and expects me to do.
That is all.
December 14, 2016
Hey, Democrats! We need you to get your act together!
It’s now just a bit over a month since Election Day, and I’m starting to be seriously concerned about the possibility that the U.S. might become a one-party democracy.
Therefore this is an open letter to Democrats; the country needs you to get your act together. Yes, ideally I personally would prefer your place in the two-party Duverger equilibrium to be taken by the Libertarian Party, but there are practical reasons this is extremely unlikely to happen. The other minor parties are even more doomed. If the Republicans are going to have a counterpoise, it has to be you Democrats.
Donald Trump’s victory reads to me like a realignment election, a historic break with the way interest and demographic groups have behaved in the U.S. in my lifetime. Yet, Democrats, you so far seem to have learned nothing and forgotten nothing. Indeed, if I were Donald Trump I would be cackling with glee at your post-election behavior, which seems ideally calculated to lock Trump in for a second term before he has been sworn in for the first.
Stop this. Your country needs you. I’m not joking and I’m not concern-trolling. The wailing and the gnashing of teeth and the denial of reality have to end. In the rest of this essay I’m not going to talk about right and wrong and ideology, I’m going to talk about the brutal practical politics of what you have to do to climb out of the hole you are in.
We need to start with an unsparing assessment of that hole.
First, your ability to assemble a broad-based national coalition has collapsed. Do not be fooled into thinking otherwise by your popular vote “win”; that majority came entirely from the West Coast metroplex and disguises a large-scale collapse in popular support everywhere else in the U.S. Trump even achieved 30-40% support in blue states where he didn’t spend any money.
County-by-county psephological maps show that your base is now confined to two major coastal enclaves and a handful of university towns. Only 4 of 50 states have both a Democratic-controlled legislature and a Democratic governor. In 2018 that regionalization is going to get worse, not better; you will be defending 25 seats in areas where Trump took the popular vote, while the Republicans have to defend only 8 where Clinton won.
Your party leadership is geriatric, decades older than the average for their Republican counterparts. Years of steady losses at state level, masked by the personal popularity of Barack Obama, have left you without a bench to speak of – little young talent and basically no seasoned Presidential timber under retirement age. The fact that Joseph Biden, who will be 78 for the next Election Day, is being seriously mooted as the next Democratic candidate, speaks volumes – none of them good.
Your ideological lock on the elite media and show business has flipped from a powerful asset to a liability. Trump campaigned against that lock and won; his tactics can be and will be replicated. Worse, a self-created media bubble insulated you from grasping the actual concerns of the American public so completely that you didn’t realize the shit you were in until election night.
Your donor advantage didn’t help either. Clinton outspent Trump 2:1 and still lost.
Your “coalition of the ascendant” is sinking. Tell all the just-so stories you like, but the brute fact is that it failed to turn out to defeat the Republican candidate with the highest negatives in history. You thought all you had to do was wait for the old white men to die, but anybody who has studied the history of immigration in the U.S. could have told you that the political identities of immigrant ethnic groups do not remain stable as they assimilate. You weren’t going to own the Hispanics forever any more than you owned the Irish and the Italians forever. African-Americans, trained by decades of identity politics, simply failed to show up for a white candidate in the numbers you needed. The sexism card didn’t play either, as a bare majority of married women who actually went to the polls seem to have voted for Trump.
But your worst problem is less tangible. Trump has popped the preference bubble. The conservative majority in most of the U.S. (coastal enclaves excepted) now knows it’s a conservative majority. Before the election every pundit in sight pooh-poohed the idea that discouraged conservative voters, believing themselves isolated and powerless, had been sitting out several election cycles. But it turned out to be true, not least where I live in the swing state of Pennsylvania, where mid-state voters nobody knew were there put Trump over the top. Pretty much the same thing happened all through the Rust Belt.
That genie isn’t going to be stuffed back in the bottle. Those voters now know they can deliver the media and the coastal elites a gigantic fuck-you, and Republicans know the populist techniques to mobilize them to do that. Trump’s playbook was not exactly complicated.
Some Democrats are beginning to talk, tentatively, about reconnecting to the white working class. But your real problem is larger; you need to make the long journey back to the political center. Not the center you imagine exists, either; that’s an artifact of your media bubble. I’m pointing at the actual center revealed by psephological analysis of voter preferences.
That center is far to the right of what you would prefer. For that matter it is rather the right of where I would prefer – but facts are facts and denying them isn’t going to help. You Democrats need to think about what it takes to be competitive on a continuum where Fox News is barely right of center, Mitt Romney was an out-of-touch liberal, and as near as I could tell the politician who actually nailed the psephological center in 2008 was none other than Sarah Palin.
If you do not do this thing, you will continue to lose.
Again, I emphasize that I am not issuing an ideological prescription here. I am not arguing in this essay that the present Democratic platform and strategy is wrong in an abstract moral sense, but rather that that it has become suicidal practical politics. Trump has dynamited almost every connection it had to winning elections, and smarter Republicans than Trump will take the lesson going forward.
Before I get to suggesting some changes, I want to point out that the results of the dominance Republicans have already achieved are going to make your problems even worse than they look now. Those problems don’t end with not having a farm team. State-level control means the Republicans will largely determine redistricting in the 2020 census. Their ability to pass voter-ID laws will surely hurt you as well.
I also need to point out that you shouldn’t count on Republican failure to save you. Yes, I know Democrats tell themselves Republican “hard right” policy actually implemented will alienate so many voters that they’ll come running back to your party. But you also thought Hillary was inevitable and how did that work out for ya? Trump’s popularity has risen as his program becomes clearer. You need to be positioned so that you can cope with outcomes other than catastrophic disenchantment with Trumpian populism.
So, what can you do?
The most obvious thing is that you have to stop contemptuously dismissing the largest single demographic segment of the American electorate. Because believe me, they noticed. So did their wives and children.
This has larger implications than you may yet understand. It’s not just that you need to take any Democrat who uses the phrase “angry white men” out to the woodshed and beat him or her with a strap until he/she wises up. The whole apparatus of racial and ethnic identity politics is turning in your hand, reversing (like your old-media dominance) from an asset to a liability.
(Just to drive the point home, the gender card doesn’t work any more either. Trump is a feminist’s worst nightmare. He won anyway. He came close enough to winning the entire female vote to trigger bitter post-election denunciations of American women in general by feminists – which pretty much epitomizes the sort of reaction that isn’t going to help you.)
Your best plausible case is that the minority groups you counted on passively fail to add up to a winning coalition, as they did this cycle. Your worst – and increasingly likely – case is that white people now begin voting as something like an ethnic bloc. This is, after all, how you’ve been teaching other ethnic groups to play the game since the 1960s.
You will not prevent this development by screaming “racism!”. Here’s a hot tip: people you dismiss as retrograde scum will not, in general, vote for you. In fact, one of the things you Democrats most urgently need to do is banish “racism” and “sexism” from your political vocabulary.
While these words point at some real problems, they are also a trap. They lead you to organize your political pitch around virtue-signaling, exclusion and demonization. That, in turn, can be successful (though repulsive) politics when it’s used against a minority to mobilize a majority or plurality. But you’re in the opposite situation now. You were trapped by your own privilege theory. You demonized a plurality of American voters, and in return they gave you Trump.
If you continue to do this, you will lose.
It is irrelevant whether an actual plurality of American voters actually are as racist and sexist as you think. They don’t think they are, and they’re fed up with being hectored about it. This isn’t 1965, and your ability to tap into a substratum of guilt by white people who deep down know they were in the wrong is gone. What that same move brings up now is resentment.
Speaking of virtue signaling, another thing you need to give up is focusing on peacock issues (like, say, transgender rights) while ignoring pocketbook problems like the hollowing out of middle-class employment.
Again, this advice has nothing to do with the rights or wrongs of individual peacock issues and more with a general sense that the elites are fiddling while Rome burns. For the first time since records have been kept, U.S. life expectancy went down during the Obama years, led by a disturbing rise in suicides and opiate addiction among discouraged unemployed in flyover country. A Democratic Party that fails to address that while it screws around with bathroom-law boycotts is willfully consigning itself to irrelevance.
Many of Trump’s “pro-working-class” policies are objectively terrible; a new wave of trade protectionism is, for example, bound to have dire long-term consequences. But that doesn’t matter, in a political competitive sense, until you Democrats have something to answer him with.
Right now, you have nothing. You have less than nothing, because your instinctive solution repels the Trump plurality. They don’t want welfare, they want jobs and dignity and a modicum of respect. (And, just as a reminder, not to be dismissed as retrograde racists and sexists.)
Now we need to talk about guns.
This is a more particular issue than I’ve touched so far, but it’s one that cuts straight to the heart of the self-alienation of the Democratic Party from the political center.
Again, I’m not going to address the rights and wrongs of gun policy here, just its practical political ramifications. A quarter century ago Bill Clinton – who is as shrewd a practical politician as has ever operated in the U.S. – warned his fellow Democrats that pushing gun control was a sure way to lose more voters than it gained. They ignored his advice and got shellacked in the 1994 elections.
Today voter support for personal firearms rights is at an unprecedented high. This is revealed both in polls and in the wave of state-level liberalizations of concealed-carry laws. One of Trump’s most popular first-hundred-days promises is nationwide concealed-carry reciprocity. From the fact that gun control was slow party suicide in 1994 we can deduce that it’s even worse practical politics today.
And yet, the Democratic Party line is still hostile to gun rights, and less than six months ago its leaders and captive pundits were talking up Australian style gun confiscation.
If you continue to do this, you will lose.
The Democratic line on gun policy is a perfect symbol of everything that has become disconnected about the party. It reads as corrosive disrespect for middle-Americans who like their firearms, think of themselves as a nation of armed citizens rather than cowering subjects, and use their guns responsibly. It reeks of class warfare, urban elites against flyover-country proles. It’s disempowering, not empowering. It is, in short, a perfect focus for anti-Democratic populist anger.
Here’s what I’ve been building up to:
You Democrats don’t just need to reform your gun policy, you need to reform your attitude towards the voters to a place from which your present policy looks as vicious and absurd as it does to them.
You Democrats don’t just need to reform your rhetoric about racism and sexism, you need to reform your attitude towards the voters to a place from which your present rhetoric looks as vicious and absurd as it does to them.
It’s all of a piece. You’ve forgotten how to be the party of the people. Trump was the price of that forgetfulness. Now, you need to relearn it, for all our sakes.
The alternative is that something like the Republicans, or possibly worse, dominates American politics for the foreseeable future. I don’t want that, and you should fear it more than I do.
So get your act together now.
December 7, 2016
Spelunking the alt-right
Recently, on a mailing list I frequent, one of the regulars uttered the following sentence: “I’m told Breitbart is the preferred news source for the ‘alt-right’ (KKK and neo-nazis)”.
That was a pretty glaring error, there.
I was interviewed on Breitbart Tech once. I visit the site occasionally. I am not affiliated with the alt-right, but I’ve been researching the recent claims about it. So I can supply some observations from the ground.
First, while I’m not entirely sure of everything the alt-right is (it’s a rather amorphous phenomenon) it is not the KKK and neo-Nazis. The most that can truthfully be said is that ‘alt-right’ serves as a recent flag of convenience to which some old-fashioned white supremacists are busily trying to attach themselves.
Also, the alt-right is not Donald Trump and his Trumpkins, either. He’s an equally old-fashioned populist continuous with Willam Jennings Bryan and Huey Long. If you tossed a bunch of alt-right memes at him, I doubt he’d even understand them, let alone agree.
The defining characteristic of the alt-right is, really, corrosive snarkiness. To the extent an origin can be identified, it was as as a series of message-board pranks on 4chan. There’s no actual ideological core to it – it’s a kind of oppositional attitude-copping without a program, mordantly nasty but unserious.
There’s also some weird occultism attached – the half-serious cult of KEK, aka Pepe, who may or may not be an ancient Egyptian frog-god who speaks to his followers via numerological coincidences. (Donald Trump really wouldn’t get that part.)
Some elements of the alt-right are in fact racist (and misogynist, and homophobic, and other bad words) a la KKK/Nazi, but that’s not a defining characteristic and it’s anyway difficult to tell the genuine haters from those for whom posing as haters is a form of what 4chan types call “griefing”. That’s social disruption for the hell of it.
It is worth noting that another part of what is going on here is a visceral rejection of politically-correct leftism, one which deliberately inverts its premises. The griefers pose as racists and misogynists because they think it’s the most oppositional stance they can take to bullies and rage-mobbers who position themselves as anti-racists and feminists.
My sense is that the true haters are a tiny minority compared to the griefers and anti-PC rejectionists, but the griefers are entertained by others’ confusion on this score and don’t intend to clear it up.
Whether the alt-right even exists in any meaningful sense is questionable. To my anthropologist’s eye it has the aspect of a hoax (or a linked collection of hoaxes) being worked by 4chan griefers and handful of more visible provocateurs – Milo Yiannopolous, Mike Cernovich, Vox Day – who have noticed how readily the mainstream media buys inflated right-wing-conspiracy narratives and are working this one for the lulz. There’s no actual mass movement behind their posturing, unless you think a thousand or so basement-dwelling otaku are a mass movement.
I know Milo Yannopolous slightly – he is who interviewed me for Beitbart – and we have enough merry-prankster tendency in common that I think I get how his mind works. I’m certain that he, at any rate, is privately laughing his ass off at everyone who is going “alt-right BOOGA BOOGA!”
And there are a lot of such people. What these provocateurs are exploiting is media hysteria – the alt-right looms largest in the minds of self-panickers who project their fears on it. And of course in the minds of Hillary Clinton’s hangers-on, who would rather attribute her loss to a shadowy evil conspiracy than to a weak candidate and a plain-old bungled campaign.
I’m worried, however, that that the alt-right may not remain a loose-knit collection of hoaxes – that the self-panickers are actually creating what they fear.
For there is a deep vein of anti-establishment anger out there (see Donald Trump, election of). The alt-right (to the limited and conditional extent it now exists) could capture that anger, and its provocateurs are doing their best to make you think it already has, but they’re scamming you – they’re fucking with your head. The entire on-line ‘alt-right’ probably musters fewer people than the Trumpster’s last victory rally.
It’s a kind of dark-side Discordian hack in progress, and I’m concerned that it might succeed. Vox Day is trying to ideologize the alt-right, actually assemble something coherent from the hoaxes. He might succeed, or someone else might. Draw some comfort that it won’t be the Neo-Nazis or KKK – they’re real fanatics of the sort the alt-right defines itself by mocking. Mein Kampf and ironic nihilism don’t mix well.
The best way to beat the “alt-right” is not to overestimate it, not to feed it with your fear. If you keep doing that, the vast majority of the rootless and disaffected who have never heard of it might decide there’s a strong horse there and sign on.
Oh, and a coda about Breitbart: anyone who thinks Breitbart is far right needs to get out of their mainstream-media bubble more. Compared to sites like WorldNetDaily or FreeRepublic or TakiMag or even American Thinker, Breitbart is pretty mild stuff.
All those fake-news against Breitbart allegations are pretty rich coming from a media establishment that gave us Rathergate and the “Jackie” false-rape story and was quite recently exchanging coordination emails with the Clinton campaign. Breitbart isn’t any more propagandistic than CBS or Rolling Stone, it’s just differently propagandistic.
Eric S. Raymond's Blog
- Eric S. Raymond's profile
- 140 followers
