When hackers grow old

Lately I’ve been wrestling with various members of an ancient and venerable open-source development group which I am not going to name, though people who regularly follow my adventures will probably guess which one it is by the time I’m done venting.

Why it so freaking hard to drag some people into the 21st century? Sigh…

I’m almost 56, an age at which a lot of younger people expect me to issue semi-regular salvos of get-off-my-lawn ranting at them. But no – I find, that, especially in technical contexts, I am far more likely to become impatient with my age peers.

A lot of them really have become grouchy, hidebound old farts. And, alas, it not infrequently falls to me to be the person who barges in and points out that practices well-adapted for 1995 (or, in the particular case I’m thinking of, 1985) are … not good things to hold on to decades later.

Why me? Because the kids have little or no cred with a lot of my age peers. If anyone’s going to get them to change, it has to be someone who is their peer in their own perception. Even so, I spend a lot more time than seems just or right fighting inertia.

Young people can be forgiven for lacking a clue. They’re young. Young means little experience, which often leads to unsound judgment. It’s more difficult for me to forgive people who have been around the track often enough that they should have a clue, but are so attached to The Way It’s Always Been Done that they can’t see what is in front of their freaking noses.

(News flash: I really don’t have a conservative temperament. I find it wryly amusing how often both conservatives and non-conservatives who argue politics with me fail to notice this.)

OK, now let’s talk about GNU ChangeLog files. They were a fine idea, a necessary one even, in 1985. The idea was to use a single ChangeLog entry to document a group of related changes to multiple files. This was a reasonable adaptation to absent or extremely primitive version control. I know this because I was there.

Even in 1995, or as late as the early 2000s, many version control systems didn’t have changesets. That is, there was no or only weak support for grouping multiple file modifications into a single retrievable object with a comment attached to the object rather than to individual file modifications. CVS, the system in widest use then, only faked changesets – and did it so badly that many people felt they couldn’t rely on that feature. ChangeLog files still made some functional sense.

But then Subversion – with real changesets – achieved wide acceptance through its beta releases around 2003 and its 1.0 in 2004. It should have been obvious then, even before the new wave of DVCSes that began a year later, that there was a culture clash a comin’. Because if your project both has a DVCS and uses the ChangeLog convention, they’re fighting for control of the same metadata.

There are different ways you can adapt. One is to continue to treat the ChangeLogs as the authoritative record of the evolution of the code. In that case, you tend to get stubby or pro-forma commit comments.

Another is to treat the commit comment log as authoritative. If you do that, you soon begin to wonder why you’re still writing ChangeLog entries at all. The commit metadata has better coherence with the code changes, after all – that’s what it’s designed for.

(Now imagine a project in which, with the best of intentions, different people are making opposite choices out of these two. Now you have to read both the ChangeLogs and the commit logs to know what’s going on. Friction costs are rising…)

A third is to try to have it both ways – duplicating commit comment data in a slightly different format in a ChangeLog entry that’s part of the commit. This has all the problems you’d expect with a representation in which there is no single point of truth; one copy gets garbled, or the ChangeLog entry gets modified so that it’s no longer in sync with the allegedly matching commit data, and life gets very confusing for anyone who comes along later and tries to figure out what people were thinking.

Or, as a senior dev on a Certain Project I Won’t Name just did in email, declaring that commits can include multiple ChangeLog entries and the commit metadata is irrelevant to the Changelogs. Which we still have to write.

My eyes crossed and my gorge rose when I read that. What kind of fool fails to realize that this is begging for trouble – that, actually, the whole edifice of custom around ChangeLog files is just dead weight and friction drag in a DVCS world with good browsing tools for reliable commit logs?

Alas, it’s a very particular kind of fool: a hacker who has grown old and rigid. All the rationalizations he will ever utter fail to hide this. He’s attached to tactics that made sense a decade ago but have become counterproductive ceremonies now. If you tried to explain not just about git summary lines but that the correct adaptation for current toolsets is to scrap ChangeLogs entirely … well, that would be insupportable, inconceivable, and just crazy talk.

Functionally this infuriates me. It is substantially harder to work on that project because of this and related nonsense. And, as badly as it happens to need young developers, that’s a real problem. It has a G+ community well into 4 digits, they’re mostly kids, and they’re not stepping up. Evidently the message has been received on the outside; the devs on this project are ancient mossbacks with inexplicable tribal fixations, and best admired from a good long distance.

What gives this extra emotional edge for me is that whenever I have to butt heads with a mossback, I keep wondering: will I be like this someday? Worse, am I looking in a mirror, already rigidified and not knowing it? I mean, I get the impression from his web presence that this particular specimen is younger than me. By a good fifteen years.

I feel mentally agile. I don’t get frustrated by people moving faster than I can handle, I get frustrated by people who can’t keep up with me, who can’t see the obvious. But this self-belief could be just a bad case of Dunning-Krueger effect biting me where I least understand it. Very few things terrify me; this possibility is high on the short list.

A separately disconcerting thing is that as I get older this sort of collision is happening more often rather than less. Somehow I expected my hacker peers to age more gracefully, to retain their neotenous flexibility even if they were physically aging. Some do indeed seem to be going that way; too many, alas, are not. It is a sadness.

I’m not sure I have a good finish for this. If I’ve escaped mentally rigidifying (and that’s an if) I think I know at least in part why, but I’m very unsure whether it can be generally replicated – you might need to have a wired-in brain chemistry that matches the strategy. Nevertheless, for whatever it’s worth, here is my advice to young hackers and indeed the young of all kinds.

You – yes, even you – cannot count on retaining your mental flexibility into middle and old unless you work at it. You have to practice busting out of comfortable mental grooves and regularly checking your assumptions when you’re young, and you have to develop a habit of it that sustains into old age.

It’s said that the best time for a middle-aged person to start (physically) exercising is thirty years ago. I think the same goes for the habits that might (might!) keep you mentally agile at 56, or 65. Push your envelope. Develop the regular practice of challenging yourself and exiting your comfort zone now so you’ll have it established when you really need it.

You have to be realistic about this; there’s an optimal-challenge level where you choose an attainable goal and work mentally hard for it. This month I’m going to learn go. Not the game, I already play that (though not very well); the programming language. Not because I really need to for a specific project, but because it’s time to stretch myself.

Develop that habit. And never let it go.

330 thoughts on “When hackers grow old

  1. The problem you’re looking at also goes under the label “Neuroplasticity”. There is at least *some* biological basis for losing this plasticity as we age. There’s also some evidence that it can be re-started (http://www.the-scientist.com/?articles.view/articleNo/41229/title/Turning-Back-the-Brain-s-Clock/).

    And of course all of this is incredibly rich coming from a guy who basically uses his GUI to have multiple terminal sessions running :).

  2. >And of course all of this is incredibly rich coming from a guy who basically uses his GUI to have multiple terminal sessions running :).

    Did the full-WIMP thing for decades. Now find it superfluous. Well, except for the browser.

  3. Psychologists have done experiments on this. They have found that people tend to do things the way they have done them before, even though superior solutions are presented to them in a rather obvious manner….

    A friend of mine, who went through engineering school in the early 70s, told me about a professor who devoted the first week of his introductory courses to teaching the students how to use a slide rule, even though the use of electronic calculators had wiped them out.

  4. @LS:
    >A friend of mine, who went through engineering school in the early 70s, told me about a professor who devoted the first week of his introductory courses to teaching the students how to use a slide rule, even though the use of electronic calculators had wiped them out.
    I’m dealing with this now:
    https://plus.google.com/110008887158117796734/posts/RfVNGn3fZs9
    This is even funnier if you know who Darren Hart and John Hawley are.

  5. There’s value in learning to use a slide rule, even today: it develops the ability to run quick mental sanity checks on computations.

    I can’t see any value in maintaining a change log outside the DVCS commit records.

  6. Here’s a problem for you, ESR – I’m a user. Vaguely technically literate – I know what CVS, Subversion, Mercurial, Git are – but I don’t actually *USE* them. I’ve occasionally downloaded a tarball and done a build with make clean ; make ; make install – but if something goes wrong, I’m off to Google hoping someone else has seen that error and can suggest what I need to adjust to make it work on my distro.

    Usually, in said tarball, there is a ChangeLog file – and something similar automagically included as a page on the project’s website. That’s where I go to find out whether I need to upgrade, or if the new version has any features I consider worth worrying about. Some projects the changelog is more technical, some it’s less so – but that changelog seems in general to be aimed more towards the users than the devs. Do you propose dropping something like that, or maintaining it as a separate part of the documentation, or what?

  7. You’re going to have a blast learning Go (uppercase ;-) ). Expect your Python programming volume to dwindle over the next few months.

  8. > Do you propose dropping something like that, or maintaining it as a separate part of the documentation, or what?

    My projects all have a NEWS file separate from the commit metadata. It’s present specifically to address your kind of question – what’s new, and do I need to upgrade? Even projects that have retained the ChangeLog convention commonly have NEWS files; that’s what to look for.

  9. “Worse, am I looking in a error, already rigidified and not knowing it?”

    Did you mean looking in a mirror? :-D

  10. > This month I’m going to learn go.

    May I suggest that you look at Rust after that? In my opinion it’s much more interesting than go, being actually low level enough to replace most of C.

  11. > Usually, in said tarball, there is a ChangeLog file – and something similar automagically included as a page on the project’s website. That’s where I go to find out whether I need to upgrade, or if the new version has any features I consider worth worrying about. Some projects the changelog is more technical, some it’s less so – but that changelog seems in general to be aimed more towards the users than the devs. Do you propose dropping something like that, or maintaining it as a separate part of the documentation, or what?

    The GNU ChangeLog format (http://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html) is almost useless for the *user*, who simply drowns in amount of text and unnecessary information (and trying to understand its format).

    That’s why good citizen projects have a NEWS or RelNotes file, which describes changes on higher level: not on the level of individual commits but on the level of features added. It is *curated* list of changes.

    Compare https://github.com/git/git/blob/master/Documentation/RelNotes/2.1.0.txt with http://git.savannah.gnu.org/gitweb/?p=guile.git;a=blob;f=ChangeLog-2008#l37 (note that Guile no longer uses ChangeLog files). Which one is more useful for the user?

  12. “Jakub Nar?bski” should be “Jakub Nar?bski” (that’s “e ogonek”). Damn you WordPress, no UTF-8 support in this century?

  13. General Semantics. “The map is not the territory.” However, the brain still compares input with past experience (going all the way back to “is this a threat?” survival decisions). It *likes* to have experiences comparable to the input, so it can access past analyses. As we age, there are more experiences to be scanned (it’s not linear, of course), and the acceptable degree of congruence goes down to keep the time factor tolerable. So there’s a tendency to accept “A is like B” — when years ago we wouldn’t have thought that at all.

    The weight of experience is helpful as long as we’re presented with situations similar to those encountered before. It can become an obstacle when something new wanders into the input. The new thing may get misfiled, or perhaps rejected because we’ve lost the knack of dealing with newness.

  14. Why should hackers be any *less* prone to the hardening of the cerebral arteries that tends to come with aging? Part of the issue you are dealing with is anger and frustration dealing with it because you think they *should* be less prone by virtue of *being* hackers.

    I’m older than you are. I’d like to think I’ve stayed flexible and open to new ideas and better ways to do things. But I don’t assume that any particular group selected on some arbitrary criteria will be less subject to this sort of issue, because they *won’t* be. It’s one of the lessons I’ve learned in the process of growing older.

    Old hackers learned to code in whatever languages they used using the development methodologies popular when they were learning. They achieved sufficient proficiency to be able to make useful contributions to things like the project you complain about. There will be an innate “What I do now works. Why should I *change* how I do it?” conservatism. You’ll find this in pretty much any area of human endeavor.

    Generally speaking, what we do is done by habit and reflex, with a minimum of conscious thought, and things that require conscious thought get resistance. One of the conclusions I’ve come to lately is that widely trumpeted “freedom of choice” is misleading. What most folks really want is freedom *from* choice, and a reduction in the number of things they must consciously consider and make decisions about. I don’t see hackers as any exception to that tendency.
    ______
    Dennis

  15. Using a slide rule: I use my head for that. Saves the energy of carrying around an extra piece of plastic. (Yes, my tongue is somewhat in my cheek here.)

    Anyway, I suspect it gets worse:

    You – yes, even you – cannot count on retaining your mental flexibility into middle and old unless you work at it. You have to practice busting out of comfortable mental grooves and regularly checking your assumptions when you’re young, and you have to develop a habit of it that sustains into old age.

    If you’re really that rigidified, I worry it’s possible for you to remain so while thinking you’re getting out of those comfortable mental grooves. I’ve lost count of the number of people I’ve seen lament that, say, the other side of the political isle is stuck in their old ways and won’t keep an open mind. If I had thought to keep a running tally between “left” and “right” complaints about this over the last 20 years, I highly suspect they’d be within 10% of each other. But then they’ll exhibit closemindedness later in the very same post or comment.

    Which makes me wonder if I’m doing it, too. (Favorite joke of mine is to claim I’m an excellent exemplar of Dunning-Krueger.) I might feel comfortable about my own plasticity if there were an efficient test for it that could be interpreted even by the dumber parts of my brain; until then, I’ll always wonder if, despite thinking I’m trying, I’m actually failing a more alert version of myself.

    I wonder what Yudkowsky might say about all this.

  16. Hmm, I don’t think changelogs and commit messages fill the exact same role (disclaimer: I don’t know anything about how those people use changelogs, and I don’t have any experience with git summary).

    I’m under the impression that a changelog contains an explaination — adressed to the user — of what changed between two versions. The point of each commit message is to describe a commit, a technically meaningful change, for a programmer’s point of view. And a list of commit messages is just a list, it needs to be manually rewritten to summarize as well as possible the end effect of each code change.

    Unless I have missed something, my point is that the audience is different, so the content must be different. Therefore, the idea of commiting just an update of several change items seem reasonable to me.

    I wouldn’t worry too much about the idea of mental rigidity increasing with age. I’m in my thirties and I have also both been worried by it and used it in not-so-subtle arguments to fake concern about others to highlight their stubbornness. :-)
    Learning new programming languages is definitely good for the brain though.

  17. I find that changelog files are a lot more comfortable to read than using repo browser tools (I can use my favorite text editor and all its processing tools), Also, you are assuming you have access to the repo at all.
    Would it be feasible to write a changelog builder that works from the DCVS records (and possibly some kind of commenting convention)? Then it’s just another step in the build and release workflow, so long as the DCVS records are reasonable (and that might be a good place to put some kind of reasonableness checker).

  18. An alternative explanation would be that devs of your own age are more willing to argue with you and thus seem more rigid than younger, more docile folks.

  19. >>selected on some arbitrary criteria

    It is probable that predisposition to hacking correlates with mental flexibility, and this flexibility continues into old age.

  20. > I wonder what Yudkowsky might say about all this.
    I thought the same. Then I thought I should think more.

    To do things right, we’d need some way to at least approximate comfort/proficiency with a certain skill or activity. Then we could choose the least comfortable or hardest tasks. In ESR’s case, I’d venture learning a new programming language is par for the course, thus doesn’t count. Artificial constraints could help make the exercise useful, although I can think of none applicable.

    @ESR: Here are some random activities that might help you stretch your mind better than learning go. Are you good at:
    – origami?
    – videogames? (action, adventure et al, strategy OR turn-based games don’t count)
    – gardening?
    – building stuff? (wood working, electronics, etc.)
    I know you’re good at languages, but if it’s been some time since you learned a new one, it might be good to do it. There are some online platforms to facilitate practice.
    I know you’re good with music, but if it’s been some time since you learned a new instrument or pieces…
    Also — notice how bizarre this can feel on a gut level, I think that means there’s potential — have you tried a new OS lately? Get some stuff done in a Mac OS or Windows machine.

    “If you meet Buddha, kill him!”
    I think this is the gist of retaining mental flexibility. We just need to make sure not to miss Buddhas that are too holy, too precious, or too familiar.

  21. Just to be contrary, but I suggest that perhaps you are missing the importance of rituals in the social process of group programming. Having a fixed artifact like a change log file is part of the reward of contributing to software. It is your name in lights. It is part of the ceremony, it is part of the social process of closure of your work.

    When you graduate from college there is a lot of fuss. You wear funky clothes, get a big, impractical parchment diploma, stand on a stage and have your name called to the crowd’s applause. Surely an emailed, signed transcript, and a searchable database of graduate names would be more practical. But it would be a lot less fun, a lot less enjoyable, and a lot less of the spectacle that many of us enjoy.

    Certainly you can view your contributions in an electronic dump of the commit comments, but adding your commits onto a fixed file is like adding yourself to the roll of honor.

    And if a little vain preening is the price of all those hours of coding, I don’t think there is anything wrong with that.

  22. Re: Go the game
    > I already play that (though not very well)

    How well is not very well? Have you ever gotten a ranking from somewhere? I usually play on KGS* & I’m ranked 5k there. I’ve been plateaued for the last few years… when I first started playing, I progressed pretty quickly & steadily up to 5k, but I haven’t been able to get any further. I’ve occasionally bumped up to 4k, but haven’t been able to maintain it. This has just been through playing occasionally for fun… I think at this point if I really want to progress any further, I need to do some actual studying.

    *: http://www.gokgs.com/

  23. Heh, I’m 68 and when I run into ChangeLog remnants I regard them with the same curiosity with which I regard trilobite fossils; they are the markers of an ancient period in hacker history. That said, I don’t find young folks all that familiar with tools like git, and even if they use a DVCS they still need training to produce proper commit messages. I think the schools are a little behind in that regard.

    My dad retired from electrical engineering at age 92 and managed to keep pretty close to the technical cutting edge in his specialty. However, I don’t think he ever quite adapted to modern design tools as he was accustomed to keep much in his head. He claimed that about 1000 chips was his limit for that. I have no idea what he did with large scale integration. His complaint about the youngsters coming out of schools like MIT was that they didn’t have a feel for hardware or analog signals, but were rather specialized to digital design.

  24. Here’s another argument against CHANGELOGs.

    An email I saw recently on a security list that pointed out that having the change log in the tarball of a web app means that it typically in a known place (e.g. http:// mysite.com/drupal/CHANGELOG.txt to pick a vulnerable web app completely at random) that is rarely ACLed against remote access. So that means would be attackers can figure out what version of the web app you are running and hence what attacks you may be vulnerable to.

  25. @Jessica Boxer:
    When you are applying for a job, you don’t send them the parchment: the recruiter *does* use a big searchable database and the ceremony is purely superficial.

    ChangeLogs are not superficial and this leads to the various problems listed above. Perhaps a solution would be to make the Big Important SPOT the commit comment logs, but keep changelogs around anyway (although this would necessitate a lot of unnecessary duplication).

  26. Even better, when you wind up working with one of those “mossbacks” who still thinks in terms of “lines of code,” and portions out payscales and bonuses accordingly. So the bloatier your code, the more you get paid.

    Obviously, if you solved a particularly difficult task with only a few fanfold pages of code, you expended less effort than the guy whose solution required half a box of paper… Billy Bloatus got a gold star, and you went on the slacker watch list.

    Yes, I worked for the kind of “real manager” who would only review code printed out on paper, where he’d make illegible notes with different colored pens…

  27. @Lambert: “It is probable that predisposition to hacking correlates with mental flexibility, and this flexibility continues into old age.”

    That’s what Eric would like to think. So would I. I just haven’t seen any proof that’s the case, and have seen a fair bit of evidence that it *isn’t*.

    Eric is complaining about just that sort of evidence.
    ______
    Dennis

  28. Um, not play troublemaker here, but maybe stretching yourself by learning a new computer language is a bit . . . of a habit? Maybe even a rigid one? In search of cerebral fluidity, try something COMPLETELY new, like, idk, dance or diving.

    After a lifetime of writing how-to fact pieces and cultural/political rants, I am now trying fiction. And it’s hard. It takes place at more abstract level. Writing an article, even a polemic, I have a set of facts to guide me. They must be presented in a particular order to make sense. You can’t write a story like that, because it will be both limiting (for you) and boring (for the reader). It took me five years an approximately 900,000 words to lear this.

    PS — I’m about eighteen months younger.

  29. The fact that C is still considered an acceptable systems programming language — even as we are still dogged to the tune of billions in losses by C-related bugs like Heartbleed, even as study after study confirms that languages which give a shit about safety, like Ada, have a lower overall development cost — is a textbook example of the detrimental effects of set-in-their-ways old hackers controlling things.

    Rust is Ada for the 21st century. I second the recommendation to learn it; it is the future.

  30. > I find that changelog files are a lot more comfortable to read than using repo browser tools (I can use my favorite text editor and all its processing tools), Also, you are assuming you have access to the repo at all.

    ChangeLogs in GNU ChangeLog format are IMVHO nigh unreadable for an ordinary user. They contain uninteresting information about individual commits – what is important is information about features implemented (i.e. branches merged). That’s why NEWS, or RelNotes, or Changes with curated list of changes are important…

    BTW I think nowadays most projects include link to repository and browser interface to repository, anyway.

    [My other comment is stuck in the moderation queue because of included 3 URLs]

  31. Seems a good place to ask…

    Any progress on your Becoming A Polymath For Dummies project?

  32. >You mean NEWS files get updated?

    Yes. Normally on every release. That’s what they’re for.

    If you happen to do a repository pull on one of my projects, you might see an entry at the top of the NEWS tagged “Repository head”. That tells you about recent user-visible changes in the unreleased code.

  33. >How well is not very well? Have you ever gotten a ranking from somewhere?

    No. How would one go about that?

  34. >Certainly you can view your contributions in an electronic dump of the commit comments, but adding your commits onto a fixed file is like adding yourself to the roll of honor.

    No, no, no. That’s what the AUTHORS and CREDITS and MAINTAINERS files are for.

    Seriously. Those are conventional, too.

  35. >n search of cerebral fluidity, try something COMPLETELY new, like, idk, dance or diving […] After a lifetime of writing how-to fact pieces and cultural/political rants, I am now trying fiction.

    Just sold my first fiction recently. That’s too, was a brain-stretching exercise.

    Choosing new things to learn for this purpose is always a compromise between the most outttahere thing you could pick and what’s practical given your circumstances.

  36. I find that the biggest fight is convincing them that “it doesn’t hurt anything by being there” isn’t an acceptable argument and is in fact outright false sometimes like in this case. Once you get it through their head that it’s good to be proactive things usually improve in terms of project philosophy. But again. Hell of a fight.

  37. I don’t think your mossback problem has that much to do with biology. It likely has more to do (consciously or not) with the underlying politics. I will never forget the almost reflexive pushback from some GNU folks to the adoption of DVCS, even after GPLd DVCs were available. The inherent possibilities of decentralization did not sit well with them. There were blog posts (by both young people and old, mind you) featuring handwringing about how if you couldn’t force people to commit to the remote repo then you couldn’t trust them to contribute their changes and thus DVCS were not a good idea for free software. This is the same control-freak mindset that gave us GPLv3, for that matter the same mindset that maintains the the “virality” of the GPL is ‘sine qua non’ for free software… even in 2014, decades after sharing software meant snail mailing *tapes*.

    At heart, this is a political stance, not just a case of being set in one’s ways. This resistance to change, is more of a reflex against the loss of control/power. Sad and infuriating to see in people that pride themselves in their rationality.

  38. “Worse, am I looking in a mirror, already rigidified and not knowing it?”

    You have wisely arranged it so that there will always be plenty of people to let you know if that ever happens. :)

  39. >>there will always be plenty of people to let you know if that ever happens

    Jumping into my 2nd biggest Dunning-Kreugeresq effect -esque fear: that all these people who consider themselves highly rational are actually some kind of crazy cult.

  40. > >How well is not very well? Have you ever gotten a ranking from somewhere?

    > No. How would one go about that?

    These days it’s really easy to get a ranking on an internet Go server. Just create an account & start playing ranked games. After a few games it will give you an provisional ranking (shown by a ? on the rank), and then after several more games it will give you a more firm ranking, based on your win/lose record & your opponents rankings (and any handicap on the games).

    The two most popular Internet Go Servers are KGS (http://www.gokgs.com/) & IGS (http://www.pandanet-igs.com/). More can be found in Sensei’s Library at http://senseis.xmp.net/?GoServers

    KGS uses a cross-platform, closed-source Java client (or a commercial Android app). IGS has multiple clients to choose from, including a few open-source ones, and a telnet interface.

    There are also somewhat more formal rankings from various national Go associations, but I’m not really familiar w/ them. My understanding is that those rankings are more based on official tournament games.

    The different Internet Servers, and the different associations, will tend to give different rankings, as summarized at http://senseis.xmp.net/?RankWorldwideComparison – of particular note, IGS rankings tend to converge significantly slower than KGS rankings, meaning that it’s possible for players to improve faster than the IGS ranking system converges, and so have a lower ranking than they perhaps deserve, until their rate of improvement slows.

  41. >Any progress on your Becoming A Polymath For Dummies project?

    Stalled due to press of other work.

  42. I do wonder which format is better for user: single NEWS file, or per-release RelNotes-x.y.z files (with newest release symlinked simply as RelNotes)?

    Though this probably depends on length of project history and the development speed.

  43. > No. How would one go about that?

    Playing go against other ranked players in a tracked context. Face-to-face that would be at an American Go Association tournament (usgo.org) but imma assume that would burn too much of your time. So, online.

    KGS Go Server (yes, it’s one of *those* acronyms) is the place where English-speaking go players benchmark from – when the Australian Go Association entertains guests from overseas we usually synthesize an Australian rank for them from their KGS or IGS rank so as to set playing conditions that yield a good fun game for the visitors – but the standard client for KGS will give you hives. Friendly community though.

    IGS Pandanet is the oldest English-speaking go server on the ‘net and has the Telnet access mode to prove it. :) Large population, actuarily and statistically sound ranking system, not so newbie-friendly (but YMMV).

    The hungry newcomer is OGS (online-go.com) with about half the population of say KGS and they’re still equilibrating their rating system. On the other hand, it offers correspondence go – one move per day – as well as the real-time stuff, and it runs in the browser. The devs are a little control-freaky and the non-core features are decidedly beta, but they at least understand the concept of a bug tracker and what to do when one’s players fill it up with reports.

    On my personal TODO: write a global ranking system for go.

  44. In the case of OpenBSD, I see the ChangeLog as a shorthand summary of the commit logs. When I want to see what happened in the last six months, someone has collated the commit logs and condensed it down into a nice birds eye view. So I believe ChangeLogs still have a role, but it is more for sysadmins and others who are doing an upgrade. Commit logs are more for developers who have to race backwards and find out where a bug or regression crept in.

  45. In the newLisp project, the ChangeLog isn’t GNU format, it fits what Jakub is describing as a NEWS file. Whatever you call it, ChangeLog or NEWS, it is useful to have. I’m ok with dropping GNU format ChangeLog entirely and just having NEWS files.

  46. All living things are creatures of habit. We’re not wired to change easily, nor is it a common phenomenon. Sometimes the best you can hope for is acceptance.

    As an aside, I think the biggest source of frustration in the world occurs when someone tries to change someone else and thinks persistence is either effective or virtuous.

  47. Jakub, do you know of any performance comparisons between Marpa and Ragel?

  48. Changelogs along with real version control violates one of the fundamental coding rules – Never, ever put data in two different places (they WILL get out of sync).

    We also need to kill autoconfig, libtool, and the rest of those horrors including the ./configure that takes 10 minutes on a 5GHz multicore “looking for strcpy…” and one error restarts the whole thing!

    How is scons working out for gpsd?

    The only thing I have a difference with “newer” stuff is when it bloats. I deal with embedded. I wrote a QR Code generator that fits on an Arduino. My motorcycle GPS+engine data+timing to bluetooth runs on an ATtiny4313 with 256 BYTES of ram and 4096 bytes of flash. Remember that there will be resource limited systems that still can run Linux – if you don’t bloat it in imitation of Microsoft.

  49. Sometimes i get that feeling of “Am i actually hidebound and don’t realise it?”.

    Most recently one of the people I work with was raving about how awesome Node.JS is. My thought was “Javascript is a terrible language why would ANYONE actually sign up to do that on the server?”

    I mean JS is so bad that in the space where it has dominance (web scripting) there’s multiple efforts to layer stuff on top to make developing in it less painful. At the same time i do acknowledge that having models you can share between web client and web server is probably useful but…

  50. @Irving: ““If you meet Buddha, kill him!”
    I think this is the gist of retaining mental flexibility. We just need to make sure not to miss Buddhas that are too holy, too precious, or too familiar.”

    A lot of the areas where mental flexibility is a question tend to be based in things where there is a strong gut-level feeling involved. Programmers have the notion of Religious Argument to describe such areas. The underlying disagreements don’t live on a rational level, and aren’t normally amenable to rational argument, which is why sensible folks recognize when something *is* a Religious Argument and avoid it.

    Offhand, if you want to retain mental flexibility, you need to consider things where your gut level response is instantly and strongly negative, then step back and analyze *why* you feel that way. Most moral behavior falls into this category. The moral precepts are soaked up through the skin beginning in early childhood. People behave in a moral fashion by reflex. It simply doesn’t occur to most folks to behave in an immoral manner. Suggest doing so, and the response will be “But that’s WRONG!”. Then say “Yes, but *why* is it wrong?” and watch the fun.

    You may assume “Buddhas that are too holy, too precious, or too familiar” are involved.
    ______
    Dennis

  51. @Jakub Narebski
    >Damn you WordPress, no UTF-8 support in this century?

    I hear you. It recently happened to me.

    >>Any progress on your Becoming A Polymath For Dummies project? (Foo Quuxman)
    >Stalled due to press of other work.

    Take your time. But I’m glad I’m not the only one who’s looking forward for that. ^_^

  52. “The weight of experience is helpful as long as we’re presented with situations similar to those encountered before. It can become an obstacle when something new wanders into the input. The new thing may get misfiled, or perhaps rejected because we’ve lost the knack of dealing with newness.”

    Yes, this has been studied in depth. There are two modes of decision-making, called “type 1” and “type 2”. One is carefully-reasoned but slow, the other is fast gut-based but often wrong. It makes sense given our evolutionary history, when you needed to dodge the sabertooth NOW without thinking deeply about it. It doesn’t work so well in a hi-tech civilization.

    Check out the following books for more on this:

    Thinking Fast and Slow by Daniel Kahneman
    Closing the Mind Gap: Making Smarter Decisions in a Hypercomplex World by Ted Cadsby
    Predictably Irrational by Dan Ariely

    Great example from the middle book:

    “You’re out for a walk and run into an old friend. She mentions that she has two children. (a) What are the odds that she has one of each gender? A moment later, a girl runs up behind her, whom your friend introduces as her daughter. (b) What are the odds that your friend’s other child is a boy? (c) Do the odds change if you are told that her daughter is the elder sibling?”

    The answers are not what most people believe they are…

  53. “Generally speaking, what we do is done by habit and reflex, with a minimum of conscious thought, and things that require conscious thought get resistance. One of the conclusions I’ve come to lately is that widely trumpeted ‘freedom of choice’ is misleading. What most folks really want is freedom *from* choice, and a reduction in the number of things they must consciously consider and make decisions about.”

    And there are good evolutionary reasons for that.

    This calls to mind the famous jam study, where consumers offered 24 different types of jam to choose from were less likely to buy one than those offered only 6 choices.

  54. “It is probable that predisposition to hacking correlates with mental flexibility…”

    Probably true.

    “…and this flexibility continues into old age.”

    You assert this, but it does not obviously follow from the prior statement.

  55. @Cathy: “”One of the conclusions I’ve come to lately is that widely trumpeted ‘freedom of choice’ is misleading. What most folks really want is freedom *from* choice, and a reduction in the number of things they must consciously consider and make decisions about.”

    And there are good evolutionary reasons for that.”

    There are indeed. My understanding is that conscious thought was an evolutionary adaptation to periods of rapid environmental change, where pure reflex was insufficient to insure survival, and the ability to develop new responses to situations was an advantage for species that developed it.

    But it was still an overlay on top of much older patterns, and easy to overload till it became ineffective, and actually making a decision became impossible. No surprise people want to simplify their lives.

    “This calls to mind the famous jam study, where consumers offered 24 different types of jam to choose from were less likely to buy one than those offered only 6 choices.”

    Yes. Smart marketers understand the principle, even if they don’t know of the study. It’s why so much effort is made on branding – if there are 24 varieties of jam and jam is needed, the brand the consumer is familiar with gets the nod by reflex. Even if you’re willing to, you likely don’t have the time when shopping to consider all the alternatives.
    ______
    Dennis

  56. @ Cathy

    Good old Devo stated it as early as 1980: “Freedom of choice/ is what you’ve got./ Freedom from choice/ is what you want.” And then there’s this quote attributed to George Bernard Shaw: “Liberty means responsibility. That is why most men dread it.”
    I’m not attacking you; I’m just saying it’s interesting that cognitive science has come to confirm the previous insights of sloppier thinkers. And I thank you for the book recommendations–I already knew Kahneman’s, and will definitely look up the other two.

  57. >How is scons working out for gpsd?

    In general I’m very pleased with it. Scons productions are more powerful, more readable, an far easier to maintain than a configure/make system.

    The dev group is slow and unresponsive, though, and at least one important feature – support for versioned shared libraries – is so badly documented that it’s unusable.

  58. @esr:
    >Somehow I expected my hacker peers to age more gracefully, to retain their neotenous flexibility even if they were physically aging.

    Alas, if I am any indication, and I believe I am, I think you have overestimated their neotenous flexibility in their youth. I’m not a “hacker” in the sense defined in “How to Become a Hacker”, lacking the demonsrated skills and the endorsement of other hackers, but I believe I fit the personality type well. I’ll call myself a hackeroid. I am in my mid-to-late twenties, and compared to my non-hackeroid peers, am very much a grouchy, hidebound old fart, in fact, I’d say I’m more of a grouchy, hidebound old fart than many non-hackeroids a decade or two older than me. And from what I can see other hackeroids my own age are much the same.

    To self evaluate, I’d say that I’m above average in mental flexibility when it comes to completely new things, but for old concepts, where I have an idea of How Things Should Work, and an established workflow, I can be very curmudgeonly. If changes are forced upon me, I certainly have the mental capacity to deal with them (once again, I’d say my ability to deal with such a situation is above average), but I *will* drag my feet and gripe about it the whole way. If changes are not forced, I won’t change my workflow until they are (unless I find something really neat and intriguing).

    From what I can see, this is a common tendency among hackers and hackeroids of any age and is a driving force behind holy wars and religious issues.

    So it’s not implausible that your hacker peers will age *less* gracefully than normal in terms of curmudgeonliness. Even if they age more gracefully, they’re starting from behind.

    As for how gracefully *you* might age in this regard, ISTR reading somewhere in your writings that you believe you are psychologically atypical among hackers, in particular being a fair bit more extraverted. This may make you a bit less inclined to old-fartism than other hackers. On the other hand, I am very inclined to old-fartism, but while my behavior is broadly typical of a hackeroid personality, I’m more of an extravert with introverted defense mechanisms than a straight introvert, so you may not be safe.

  59. Jeff Read on 2014-10-29 at 17:09:15 said:

    “…even as study after study confirms that languages which give a shit about safety, like Ada, have a lower overall development cost…”

    How can a language give a shit about safety? It’s not a thinking, rational being. I’ve heard this same sort of spiel over and over for 20+ years– Java and all the garbage collected languages were going to save us from memory leaks (never mind that memory ain’t the only dynamic resource that needs to be managed), Ada was a safe language, blah blah blah.

    It’s not the language. It’s the programmer. It’s easier for a good programmer to write good code in C++ than it is for a good programmer to write good code in Visual Basic, but he can still write relatively good code in VB. It is no harder for a dumbass to write to crap code in Visual Basic than it is for a dumbass to write crap code in C++. Either way, the dumbass is going to write bug ridden, inefficient, insecure trash. The dumbass programmer can and will spell “spaghetti” in any language. No language will ever prevent the dumbass moron programmers– which sadly in my experience is most of them– from writing insecure, inefficient, unmaintainable dreck.

    As for change logs, are you kidding me! I’d quit a job that mandated I maintain some stupid file, instead of just using commit messages. I’m sure not going to spend my free time maintaining them.

  60. ahd: I don’t know much about go, but I do know a bit about player ratings from chess. I assume that go’s ratings work similarly.

    How do you equate ratings from two different player pools? Are there enough players that use both to draw comparisons?

    Jakub: WTH is an (e ogonek)?

    That Jeff Read likes authoritarian languages that know better than programmers surprises me not at all, given his love of authoritarian governments that know better than their citizens.

    Eric: You know what the answer to a badly-documented feature is…

  61. As for maintaining mental flexibility…my latest project hasn’t involved computing at all. It’s a rusty 1983 Mercedes 380SL that I’ve been working on myself rather than spending thousands of bucks to have someone else fix. It’s been soaking up space in my garage for going on five months while I deal with a rusted-out suspension component (pro tip: if the spring is poking out the bottom, it’s time to replace the part).

    I’ve probably – no, definitely – spent more on tools than I have on parts, and some that have no use aside from this specific car. I’ve spent lots of time lying on the ground, scratching my head while I figure out how to do something without pulling the car down off of the cribbing it’s sitting on (but never on top of myself; safety first!). I’ve parked my daily driver outside for all that time, and my roommate has parked outside for the last couple of months; that will have to change very shortly, once the snow flies. It’s been immensely frustrating at times.

    But the successes have been worth it. Just tonight, with the help of a co-worker, I got the main rear suspension subframe mounted back on the car. From here, it’s just a matter of reassembly. There’s still work that’ll need doing, but my goal is to have it back together enough to take it for a drive Saturday.

    And I’m learning a hell of a lot. That was the goal, and it’s been more successful than I could have ever guessed.

  62. > Yes, this has been studied in depth. There are two modes of decision-making, called “type 1? and “type 2?. One is carefully-reasoned but slow, the other is fast gut-based but often wrong. It makes sense given our evolutionary history, when you needed to dodge the sabertooth NOW without thinking deeply about it. It doesn’t work so well in a hi-tech civilization.

    Additionally, from what I have read, gut-based “type 2” decision making gives *better* (not only faster) results in the case of insufficient, partial information.

    The research was done by giving tests to people with damaged connection to emotional center of brain (and comparing their response to control group). So much for Spock-like “cold logic” being superior…

  63. @Ted Walther:

    > Jakub, do you know of any performance comparisons between Marpa and Ragel?

    No, I don’t know any. You can ask on “Marpa Parser” Google group (link from Marpa homepage).

  64. @Jay Maynard:

    > Jakub: WTH is an (e ogonek)?

    U+0119 (“E with a little tail”), a letter in the Polish alphabet.

  65. That Jeff Read likes authoritarian languages that know better than programmers surprises me not at all, given his love of authoritarian governments that know better than their citizens.

    That Jay Maynard likes languages that assume the programmer makes no mistakes and fail spectacularly when they do surprises me not at all, given his love of governments that assume humans are rational utility maximizers and fail spectacularly when they turn out not to be.

  66. Java and all the garbage collected languages were going to save us from memory leaks (never mind that memory ain’t the only dynamic resource that needs to be managed), Ada was a safe language, blah blah blah.

    You’re right about the garbage collection. It’s an obsolete technology. RAII is how you should be managing resources for 90% of cases; the other 10% can be covered with smart pointers or other automatic deallocation systems that don’t rely on nondeterministic GC.

    As to Ada being a safe language — virtually all commercial airliner avionics is written in Ada. The fact that airplanes usually don’t suddenly apply hard up elevator and stall and crash or something suggests that Ada is pretty damn safe. Could Boeing and Airbus have written the equivalent avionics code in C or C++? Maybe, if they were really careful and had strenuous code review and verification processes… but if you would but look at the published research on the subject, you will see that Ada projects consistently have lower costs and lower bug counts than do the equivalents in C family languages.

    It’s not the language. It’s the programmer. It’s easier for a good programmer to write good code in C++ than it is for a good programmer to write good code in Visual Basic, but he can still write relatively good code in VB. It is no harder for a dumbass to write to crap code in Visual Basic than it is for a dumbass to write crap code in C++. Either way, the dumbass is going to write bug ridden, inefficient, insecure trash. The dumbass programmer can and will spell “spaghetti” in any language. No language will ever prevent the dumbass moron programmers– which sadly in my experience is most of them– from writing insecure, inefficient, unmaintainable dreck.

    I’m not concerned about dumbass programmers; I’m concerned about good, but still error-prone, ones. All programmers make mistakes — even the good ones. What’s wrong with having assistance from your tooling — including (especially!) your language — to stop you from making bone-headed mistakes before they make it into production code? You can do virtually everything in Ada that you can in C++. All Ada asks is that you be very explicit and yes-I-know-what-I’m-doing about unsafe operations, such as type coercion or pointer aliasing. And when you have to go back and read that code (professional programmers do a whole lot more reading than writing of code) — well, I’ve seen both, done professional work with C++ and amateur work with Ada, and I know which one is more readable.

  67. I am writing this from a raspberry pi running http://rpitc.blogspot.ro/
    a thin client distribution and a fast server.

    It works. I didn’t use any remote desktop, just ssh to to the server with -X
    and run applications there. Also I can run a browser locally.

    There is a bit of lag in character applications (fast more-ing through a text file). Browsing remotely (over ssh) is
    ok. Viewing movies from the browser only works if they are smallish. Full screen, 1920×1080 has too much lag. I guess this is because of the ssh. Also viewing pdf-s running evince remotely is too slow. With js in the browser, however, it is pretty fast, certainly usable.
    emacs, open-office, inkscape and gimp work adequately.

    Thus, for a really cheap thin terminal, 50-100$ (depending on your choice of keyboard,
    mouse, case, supply, etc), raspberry-pi may be worth a try.

  68. @Jon Brase: Your old fartism will be temporary. Now that you are in your 20s, it’s a natural reaction to the memories of what a damn fool you were when you were younger. You’ll get over it, and be in a much better position to evaluate new ideas in comparison to the older ones.

    BTW, some advice – truly new ideas are *very rare*. “There’s nothing new under the sun.”

  69. @ Jeff Read & Jay Maynard
    Please tell me that your argument about programming languages and politics isn’t too serious. (Partial seriousness is acceptable, as there may be insights to be gleaned about mindsets on the libertarian/authoritarian axis.)

  70. Lambert: I think there’s more than a little insight to be gained there. I am quite serious: it speaks to Jeff’s outlook on people and life, and mine (and, in general, those of programmers).

    I don’t know for certain what Jeff’s response to the maxim that “C doesn’t prevent you from doing stupid things because it would also prevent you from doing clever things” would be. I would, however, venture a guess that he would disdain the notion that programmers can be trusted to do clever things, and so does not consider that any great loss.

    The loss of programming freedom, and the loss of personal freedom, are the same kind of thing. I consider those serious bugs. Jeff does not.

  71. @Jeff Read:

    I’m not concerned about dumbass programmers; I’m concerned about good, but still error-prone, ones. All programmers make mistakes — even the good ones. What’s wrong with having assistance from your tooling — including (especially!) your language — to stop you from making bone-headed mistakes before they make it into production code? You can do virtually everything in Ada that you can in C++. All Ada asks is that you be very explicit and yes-I-know-what-I’m-doing about unsafe operations, such as type coercion or pointer aliasing. And when you have to go back and read that code (professional programmers do a whole lot more reading than writing of code) — well, I’ve seen both, done professional work with C++ and amateur work with Ada, and I know which one is more readable.

    If you did ‘s/Ada/Turbo Pascal/’ the paragraph would still be true and pretty much contain the same content as ‘s/Ada/MFTL’. It does not matter. Why C is still acceptable in systems programming? Because nobody’s going to write an kernel, a boot loader, a device driver, or anything of the sort in Ada or MFTL or Turbo Pascal. That’s why.

  72. > I assume that go’s ratings work similarly.

    ratings, yes, mostly mutant variations of Elo. they then map that back to rankings (30 kyu to ninth dan) via some amazingly dodgy heuristics.

    > How do you equate ratings from two different player pools?
    > Are there enough players that use both to draw comparisons?

    in theory there *ought* to be. just. the math is ambiguous about how much overlap you need, but it should be doable. in practice the problem is identifying the overlapping players and federating the various game databases, so no one has yet.

    so in practice, we use heuristics to map the rankings from various systems, see the wiki page referenced upthread for an example.

  73. This reminds me of when I tried to convince people to support the standard clipboard copy-paste protocol, a goal I decided to pursue after reading somewhere that my beloved editor was one of the last holdouts: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1765

    It actually worked out of the box in v. 24.something. My dotfile is shrinking with each release.

    Also I must admit I still haven’t gotten entirely used to the new standard clipboard behaviour.

  74. >I’m almost 56, an age at which a lot of younger people expect me to issue semi-regular salvos of get-off-my-lawn ranting at them. But no – I find, that, especially in technical contexts, I am far more likely to become impatient with my age peers.

    Well, you better not! Your role model, Heinlein, always felt like a writer who was raised in the 1950’s, when in fact he was born in 1907. But he just came accross as a textbook 1950’s man who is not too prudish about sex or nudity, can drive long distance, has no problem with flying, and writes in 1979 that the maybe the next society-changing invention is the computer chip. Not someone who was born in the horse and buggy age… If I don’t buy the Expanded Universe, I would have guessed a birthdate of 1940.

    Another thing – be aware that certain aspects of world are getting rigid, and it is not your fault. In the kind of libertarian political philosophy you follow, not a whole lot creative and new was written in the last few decades as far as I can tell. (Maybe Hoppe’s works.) So not changing is not your fault in cases where there is not really much out there to keep up with to begin with.

    Technology is going proud, but I certain slow-down in the humanities, from political philosophy to sociology. I mean, take the Thomas Piketty craze. Not only that he is not a good economist but even in this vaguely Marxist group a fluff – look at Joan Robinson for a more serious one of the same political leanings. Even though I was born in 1978, I think having todays tech and science but the humanities of about 1980 would not be a huge loss. Philosophy? Two Dogmas of Empiricism, 1951, What It Is Like To Be A Bat?, 1974…

    So if even if you feel you are getting rigid in something, maybe it is the world that is not moving around you. I certainly see this outside technological fields.

  75. >> So if even if you feel you are getting rigid in something, maybe it is the world that is not moving around you.

    Please explain. Being a rigid old fart feels very different from being a revolutionary in a dead/ossified field.

    (Generally relevant quote I just remembered from Einstein about the development of quantum physics: ‘many a young revolutionary becomes an old reactionary.’)

  76. @Jeff Read says “…given his love of governments that assume humans are rational utility maximizers and fail spectacularly when they turn out not to be.”

    I think Jay and I are probably in agreement that humans tend *not* to be “rational utility maximizers” especially in areas that don’t concern directly concern themselves, which is why every government made of humans will fail. And all governments are collections of humans. Any government that takes decisions out of the hands of the individual and places it in the hands of another human in the government, counting on that government employed human to “rationally maximize utility” is going to be the spectacular failure.

  77. Not just one incompetent human, but thousands of them, each with their own irrationalities and ulterior motives. Perhaps government is a ‘Bondage&Discipline’ decision-making entity.

  78. “The fact that airplanes usually don’t suddenly apply hard up elevator and stall and crash or something suggests that Ada is pretty damn safe.”

    No, it suggests that the programmers using it are good programmers who take care, that it’s well tested code, and that the results of not using the utmost care are completely unacceptable. It’s not the language, it’s the programmers.

    “I’m not concerned about dumbass programmers;”
    You probably should be. They seem to be writing most of the code out there these days.

    “I’m concerned about good, but still error-prone, ones. All programmers make mistakes — even the good ones. What’s wrong with having assistance from your tooling — including (especially!) your language — to stop you from making bone-headed mistakes before they make it into production code?”

    I totally agree with all of this. I want all the assistance I can get from my tools– but I want assistance, not hindrance. I want to be enabled to write great code, not prevented from writing bad code.

    “And when you have to go back and read that code (professional programmers do a whole lot more reading than writing of code) — well, I’ve seen both, done professional work with C++ and amateur work with Ada, and I know which one is more readable.”

    I’ve done professional work with both. I find Ada and the other Pascal derived languages unreadable, even when they’re not spaghetti. They’re full of content free noise, to me. (Why type “end” when ‘}’ is every bit as clear?) This may be a matter of taste, and that’s fine.

  79. While in theory ‘}’ may be as clear as ‘end’, it’s easy to lose in visual noise. It resembles ) more or less closely depending on font. Certainly, you can use matching pairs highlighting in most modern text editors, but space is cheap these days, and dedicating a bit more of it to clarity is a good thing.

  80. Inflexibility can set in at *any* age.

    “While alive, the body is soft and pliant
    When dead, it is hard and rigid
    All living things, grass and trees,
    While alive, are soft and supple
    When dead, become dry and brittle
    Thus that which is hard and stiff
    is the follower of death
    That which is soft and yielding
    is the follower of life”

  81. @Cathy “The answers are not what most people believe they are…”

    They’re not? This isn’t like the Monty Hall problem, where there’s exactly one car rather than a 33% chance of a car behind each door (and therefore a 1/27 chance of three cars), and where the host always reveals a goat behind a door the contestant did not choose.

  82. @Tara Li, in my experience using both types of languages (I have extensive experience with C++, perl, VB, and Delphi, plus some with Ada) I have found that I prefer ‘{‘ and ‘}’ and that “begin” and “end” add to the visual noise, rather than clarify. As I said, “This may be a matter of taste, and that’s fine.” YMMV. De gustibus non est disputandum. It’s religious war and I’m sorry I mentioned it.

    But I think we can all agree that manularity is evil and locality of reference is good, and thus change logs being manual and breaking locality by removing the message from the associated commit, fail on both points.

  83. I might encounter a programming language that prevents me from writing code so bad I’ll harm myself more than my good code enables me. Without further information, I would tend to prefer that language.

    I might encounter a programming language that enables me to write code so good I’ll empower myself more than my coding mistakes hinder me. Without further information, I would tend to prefer that language.

    I might encounter a programming language whose features enable me and protect me, but to unknown extents. Without further information, I would prefer to try that language, for as long as I wish, and be able to put it back down again if I wish, without having someone large threaten me, or someone with a big mouth attempting to shame me, if I don’t stop using it.

    Most of my programming language encounters – and my governmental encounters – are of the third kind.

  84. >I might encounter a programming language that enables me to write code so good I’ll empower myself more than my coding mistakes hinder me.

    My experiences of Python and Lisp have been like that.

  85. Would it be possible to make languages configurable (compiler has a set of options, or something, which allow tweaking how it compiles the code) so that programmers can fine-tune the degree of assistance/hindrance given. (Potential downfall: sections of code tweaked differently interacting badly)

    >> I want to be enabled to write great code, not prevented from writing bad code.

    A long standing trend among great works is that they break various rules (e.g. Schoenberg and other early 20thC music), but that the maker is skilled enough to know when to break them. Enforcing rules pulls the result towards mediocrity, which, while worse than greatness, is better than what the average suit would produce if told to program in Lisp.

  86. Cathy, I agree with Random832: this problem is defective. I know what it’s trying to get at: 1/3, not 1/2, of two-child families that have at least one daughter have a second one; OTOH, 1/2 of two-child families whose elder child is a girl have a second daughter. But as stated, the answers to your questions are just the obvious ones: a) 50%, b) 50%, c) no. When a particular daughter comes up to you, she’s already been distinguished as occupying a particular “slot” among the two children — by being the particular one standing in front of you — the same way that she would be by being identified as the elder daughter.

  87. @Jeff Read (or @Rob K, to whom he was replying):

    You’re right about the garbage collection. It’s an obsolete technology. RAII is how you should be managing resources for 90% of cases; the other 10% can be covered with smart pointers or other automatic deallocation systems that don’t rely on nondeterministic GC.

    Please help a fellow programmer understand. As a resource management strategy, garbage collection works from the assumption that the lifetime of variables cannot always be deduced from scope information; consider C’s “static” keyword (defining local variables which do not get re-initialized each time, but whose contents persist “indefinitely” between calls) as a example of a language feature which separates scope and lifetime. How does the RAII pattern address managing resources (such as a network socket) that should have indefinite lifetime, but for security reasons also should have the most limited scope possible?

  88. > But I think we can all agree that manularity is evil and locality of reference is good, and thus change logs being manual and breaking locality by removing the message from the associated commit, fail on both points.

    The fact that you can’t fix an incorrect statement (or an incomplete one, or a typo) in a commit message without burning down the world is an argument in favor of changelogs.

  89. @Morgan Greywolf:
    If you did ‘s/Ada/Turbo Pascal/’ the paragraph would still be true and pretty much contain the same content as ‘s/Ada/MFTL’. It does not matter. Why C is still acceptable in systems programming? Because nobody’s going to write an kernel, a boot loader, a device driver, or anything of the sort in Ada or MFTL or Turbo Pascal. That’s why.

    There’s another reason too. In order for people to take advantage of all the wonderful safety features of Ada/TP/MFTL/Python/etc, somebody has to write the interpreter/libraries/low-level code that implements those features. What language do those get written in?

    Basically, when someone says “Ada is safer than C”, what they’re really saying is, “I’m outsourcing all the hard problems of writing safe code to the person who writes the low-level C code that underlies Ada”. Somebody still has to do it.

    I believe there’s a saying: “Humans cannot eliminate the need to use their intelligence, no matter how cleverly they try.”

  90. Oops, the “dedent” in “when dedent is every bit as clear” got left out of my last comment. But maybe that makes it even sharper. :-)

  91. >somebody has to write the interpreter/libraries/low-level code that implements those features

    Yes, smart people write it, so those less disposed to programming can write better (less bad?) code.

  92. @Peter Donis: “For example, the reviewer applauds the fact that Go doesn’t require semicolons–but then says: Well, actually there are semicolons, but they are discouraged. It works like JavaScript, there is a simple rule that makes the parser insert a semicolon at certain line ends.”

    I certainly hope it doesn’t work like Javascript, because the way Javascript works is horrifying. “Certain line ends” means “line ends otherwise preceding a syntax error at the beginning of the next line”. Even Visual Basic (which evolved from all line ends delimiting statements except explicit continuations, to allowing continuations to be implied by an incomplete statement) is better than this, since it doesn’t make the meaning of one line dependent on context provided in the next line.

  93. @Random832:

    > The fact that you can’t fix an incorrect statement (or an incomplete one, or a typo) in a commit message without burning down the world is an argument in favor of changelogs.

    You can change commit message after the fact in Subversion (because svn:log is server-stored separate unversioned property… with all disadvantages that come from retrospective change of published data). You can use git-notes to add comments to commit messages in Git, or even git-replace commit, though enabling it is optional (you must fetch notes and replaces refs from server to see their effect).

    Anyway same as you should clean up history when submitting changes, you should clean up commit message when submitting changes. IMVHO the disadvantage cause by violation of SPOT (Single Point Of Truth) principle with GNU-style ChangeLogs is worse than the gain of ability to fix commit messages.

  94. In addition to solving new technical puzzles, I find that reading outside my own political ideology keeps me alert. (I’m 45.) It’s one of the reasons I hang out on this blog, actually: There’s nothing quite like swimming in a libertarian shark tank to keep this liberal on his — fins, I guess.

  95. @Daniel Franke:
    When a particular daughter comes up to you, she’s already been distinguished as occupying a particular “slot” among the two children — by being the particular one standing in front of you — the same way that she would be by being identified as the elder daughter.

    I don’t think this is right. In the case of the elder daughter, there is something distinguishable about the “slot”; only one of the two children can occupy it. In the case of the daughter who happens to be standing in front of you, there’s no reason why either child could not occupy that “slot”–it’s just random chance that that particular child happens to occupy it at that time.

    Maybe a better way of saying this is that which child occupies the “eldest child” slot is static–it’s fixed for all time by the birth order of the children. But which child occupies the “child standing in front of me” slot is dynamic–it depends on which child happened to run out to see who was talking to mommy. The reasoning that says the chance of the other child being a daughter is 50-50 if the child standing in front of you is a daughter takes a “slot” that is dynamic and applies reasoning that’s only valid if the slot is static.

  96. > Anyway same as you should clean up history when submitting changes, you should clean up commit message when submitting changes.

    You should fix all the bugs you introduce, too. If everyone did, we would never have any bugs, right?

    The maintenance burden can be solved by (somehow) automatically adding new commits to the end of the changelog – maybe every commit, maybe just every release. The single point of truth issue is solved by recognizing these are two truths: One is what commit message someone actually made when they committed the code, and the other is the accurate description of what actually happened to the code.

  97. “Maybe a better way of saying this is that which child occupies the “eldest child” slot is static–it’s fixed for all time by the birth order of the children. But which child occupies the “child standing in front of me” slot is dynamic–it depends on which child happened to run out to see who was talking to mommy.”

    Well, until this changes, it’s equivalent to which one first ran out. If she goes back in and the other child runs out, then you’ll know the answer for certain so the whole exercise is irrelevant.

  98. Peter Donis on 2014-10-30 at 12:45:08 said:
    Oops, the “dedent” in “when dedent is every bit as clear” got left out of my last comment. But maybe that makes it even sharper. :-)

    No I think it just illustrated the reason why delimters are good. I dislike intensely the requirement to have differenig amounts of white space be the only reason somethingnis in a block. There are (IMHO) far too many ways that can accidentally and silently break. e.g. copy/paste removing newlines, replacing spaces with tabs (or vice versa) etc.

  99. P(A)/P(B)=P(A|B)+P(A|~B) (Probability is conserved http://lesswrong.com/lw/ii/conservation_of_expected_evidence)
    P(A)=probability other child is female
    B=other child is youngest
    Given that whether the child shown is older or younger in the exercise has no effect on the other’s gender,
    P(A|B)=P(A|~B)
    ? P(A)/P(B)=2P(A|B)=2P(A|~B)
    As there is no prior evidence on the ages of the children, P(B)=0.5
    ? P(A)=P(A|B)=P(A|~B)
    Q.E.D.
    (I feel like I have manipulated the expressions (esp. A|B) incorrectly.)

  100. @Random832:
    Well, until this changes, it’s equivalent to which one first ran out.

    Yes, but that just leads to the question: what determines which child first runs out?

  101. The smaller child is the one that runs out first after making leftover sandwiches.

  102. that just leads to the question: what determines which child first runs out?

    Ah, I see where I was going wrong now. Let me approach this by describing the process that (I believe you and Daniel Franke are implicitly assuming) picks out the child that comes out.

    We assume that the mother’s family is a random sample from all families with two children. Given a house with two children, one of the two will see mommy talking to someone outside and come out to see who it is, but it is a random chance (50-50) which one it will be.

    The fact that the child that comes out is a girl obviously rules out a family with two boys. However, since it’s a 50-50 chance which of two children will see mommy come out, in a household with a boy and a girl, there is only a 50-50 chance that the girl will be the one that comes out; whereas, in a household with two girls, it’s certain that a girl will come out. So, while there are twice as many households with one boy and one girl, only half of them (on average) will have a girl come out; so the girl that comes out ends up with a 50-50 chance of having a sister.

    Now, having made the process explicit, it is, of course, easy to concoct variations on it to support the 1/3 chance of a sister that was my original answer. :-) For example: boys never bother to come out to see who is talking to mommy, but girls always do. So any household that has a girl in it will have a girl come out to see who is talking to mommy. In a household with two girls, whichever one notices first comes out (50-50 chance of either). Now every boy-girl household will be certain to have a girl come out, so the girl that comes out has only a 1/3 chance of having a sister.

    Which of these processes is more likely to be instantiated in a real household is left as an exercise for the reader. :-)

  103. Oops, the “dedent” in “when dedent is every bit as clear” got left out of my last comment. But maybe that makes it even sharper. :-)

    Took me a while to figure out what dedent was. I always heard that called “outdent”. :)

  104. > For example: boys never bother to come out to see who is talking to mommy, but girls always do.

    If they always do, then obviously the other sibling is a boy, evidenced by the fact that he is inside the house.

    Any probability you might assign to them coming out affects the end result because you have to drop out cases where they both did, unless the process includes never going out if the other sibling has already gone outside.

  105. >Ah, I see where I was going wrong now. Let me approach this by describing the process that (I believe you and Daniel Franke are implicitly assuming) picks out the child that comes out.

    My reasoning was different and simpler. I simply refused to confuse nonreplacement probabilities with replacement ones. If you think observing the first child changes the probability of the second child being the same sex, you’re making exactly the same error as a gambler who, having seen a run of blacks on a roulette wheel, bets heavily on red coming up.

    In fact there are some biological effects in play which make the sex of offspring slightly more correlated than a non-replacement model would suggest. But I think the author of the puzzle intended it to be about probability theory, not biology.

  106. FrancisT: While I do wish Python wasn’t hamstrung by differing number of spaces per tab stop, I do think that syntactically significant indentation is a Good Thing. It takes something you should be doing anyway and makes use of it.

    If your block indentation is inconsistent or unclear, it’s likely your thinking about the structure of your program is unclear as well.

  107. I’m definitely losing my mental flexibility. I can no longer reconcile leftist ideas with good intentions. If you want to use the violence of the government against peaceful people, YOU ARE AN EVIL PERSON. No more can I put up with fucking idiots suggesting stupid ideas that will hurt themselves and other people. How could I ever do that??

  108. Jay – That’s one thing I really like about working in Visual Studio.

    Whitespace doesn’t programmatically matter at all in any of the .NET languages.

    But at the same time, the environment essentially pretty-prints all of your code in mostly real time*, making block indentation reflect structure automatically, and thus letting you see that your logic, at least the grand structure of it, matches what you think you’re doing.

    (* Mostly, because it’s not too aggressive about re-formatting , which is nice for not causing false positives when mercurial confuses a whitespace change for something meaningful, something it’s too eager to do. In some cases you can end up with new code being indented “properly” for the logic, but the surrounding code still having a legacy indent that’s different.

    But in those cases one can trivially force a re-format of the code.)

  109. @Russ Nelson:
    Which part of that post was sarcasm: was it pro- or anti- left?
    Also, the reasoning ‘I disagree with you therefore you are evil’ is not rigidity, but rather plain tribalism.

  110. Jay Maynard on 2014-10-30 at 14:51:19 said:
    FrancisT: While I do wish Python wasn’t hamstrung by differing number of spaces per tab stop, I do think that syntactically significant indentation is a Good Thing. It takes something you should be doing anyway and makes use of it.

    If your block indentation is inconsistent or unclear, it’s likely your thinking about the structure of your program is unclear as well.

    I’m not arguing against the requirement for block indentation to be consistent and clear. However I see the requirements in python to be too strict and limiting and the reason why they are strict and limiting is that there is no other block delimiter.

  111. Also, the reasoning ‘I disagree with you therefore you are evil’ is not rigidity, but rather plain tribalism.

    Regardless, it’s much more a characteristic feature of the Left than the Right. Conservatives are empirically much more likely to describe their political opponents as mistaken or even delusional, while liberals tend to describe conservatives as depraved.

  112. @Lambert, oh, no, no, no. I restrict my judgements to areas which I have studied. I don’t judge them because I disagree with them. I disagee with a lot of people on a lot of things, for example the long-run value of rap music (or in its turn, disco). I disagree with people who think that the Drooling Stones are the best rock-n-roll band ever (actually Led Zeppelin is the best), but they’re not evil for thinking with that.

    No, I disagree with them because what they want is evil. A higher minimum wage is evil. Centralization of power (whether in government or business) is evil. Obamacare is evil. Impoverishing people because of a chemical is evil, whether that chemical is cannabis or CO2.

    Where I think I have lost mental flexibility is that I no longer have the ability to put up with bullshit.

  113. FrancisT, I dislike intensely the requirement to have differenig amounts of white space be the only reason somethingnis in a block.

    You can see that. It’s obvious. Try tracking down which brace belongs to which brace, and once you’ve fucked it up, which brace REALLY belongs to which brace. You know how you figure it out? You go look at the indentation.

    But once you’ve got the indentation correct, you don’t need the braces. Once you have grown up, and mastered programming, you, too, will not need crutches or braces, my child.

  114. “You know how you figure it out? You go look at the indentation.”

    No, I use a tool. Every editor worth anything has had brace matching for a long time. But what happens when the indentation gets messed up, and it’s not clear whether that last line should be in the sub-block or not? And the guy who wrote it got fired a year before you were hired?

  115. > This month I’m going to learn Go.

    May I suggest Rust instead? For getting any actual work done, Go would be better, but for playing with cool programming ideas, Rust is a lot more interesting.

    Go feels like a cleaned up C, with some good lightweight concurrency support in the core language.

    Rust feels like someone took the best parts of C, Haskell and Erlang and merged it all into one language in a way that actually makes sense. (Well, mostly. It’s a lot cleaner than C++, but I guess that isn’t setting the bar very high.)

  116. >May I suggest Rust instead?

    I was already considering that change. I read the Rust guide today and was impressed. It has map. And filter. And closures. And yet, it compiles!

    >Rust feels like someone took the best parts of C, Haskell and Erlang and merged it all into one language in a way that actually makes sense.

    Or, as I put it on G+, I was all like “Oh, so this is what happens when C has weird sex with Haskell!”

  117. >Did the full-WIMP thing for decades. Now find it superfluous. Well, except for the browser.

    Don’t you use the GTK frontend for Emacs? Personally, I’ve become pretty attached to the Zenburn theme; don’t know what it looks like inside a terminal emulator, and would rather not find out. :-P

  118. @Random832:
    Any probability you might assign to them coming out affects the end result because you have to drop out cases where they both did, unless the process includes never going out if the other sibling has already gone outside.

    I meant to include that by saying that, if both siblings are girls, whichever one notices first is the one that goes outside. I should have said “the only one that goes outside”. I agree that, if this assumption is dropped, it makes a difference.

  119. Has anybody written a technical history of version control systems?

    Having spent my entire professional software career in the post-git age I am surprised to learn just how primitive some of these early systems were (or, rather, *are*). The idea of version control without changesets is entirely alien me. I would like to learn more about how the field has developed.

  120. @esr:
    I simply refused to confuse nonreplacement probabilities with replacement ones.

    Hm, you’re right, this is a simpler way to get the answer, and I think it generalizes better as well.

  121. > Impoverishing people because of a chemical is evil, whether that chemical is cannabis or CO2.

    Do you believe that people have the right to forbid you from blowing excessive amounts of smoke (whether cannabis, tobacco, or from any other substance) into their property?

    Do you believe that people have the right to forbid you from blowing excessive amounts of CO2 into their property?

    If these answers are different, why?

  122. MMmm…so can a commit contain fixes for more than one bug fix and does the commit metadata matter with respect to the bug fix documentation you still need to do to close out the bug?

    We don’t do change logs but our commits do contain the JIRA issue IDs it addresses. Most of the time it’s one issue per commit but sometimes not.

    /shrug

    The mechanism of change logs seems very much outdated but I don’t think depending on just the commit messages is sufficient either.

    So the concept of change logs in a modern development ecosystem lives elsewhere…probably the issue tracker.

  123. @esr

    Whether you pick Go or Rust or both, I trust you’ll write of your experiences.

    I followed your lead on Python many years ago and it turned out well. But lately I’m beginning to doubt it’s future so there’s more incentive to look around.

  124. Cathy: “You’re out for a walk and run into an old friend. She mentions that she has two children. (a) What are the odds that she has one of each gender? A moment later, a girl runs up behind her, whom your friend introduces as her daughter. (b) What are the odds that your friend’s other child is a boy? (c) Do the odds change if you are told that her daughter is the elder sibling?”

    [Interesting back and forth between Random832, Daniel Franke, and Lambert]

    esr: “My reasoning was different and simpler. I simply refused to confuse nonreplacement probabilities with replacement ones. If you think observing the first child changes the probability of the second child being the same sex, you’re making exactly the same error as a gambler who, having seen a run of blacks on a roulette wheel, bets heavily on red coming up.”

    I didn’t mean to sidetrack the thread with this throwaway problem, but pondering problems like this *is* a good way to stay mentally flexible as we age. :-)

    However, I don’t think that Eric’s reasoning is valid here. Let’s put some numbers on this.

    We start with 1000 households. Assume that sex probability is exactly 50/50 (ignoring that in real biology this isn’t quite true). 250 of them have two girls, 250 have an older boy and younger girl, 250 have an older girl and younger boy, and 250 have two boys.

    Once the girl comes out of the house, we can eliminate the 250 households that have two boys; we know that this house isn’t one of them. So now the possible set from which the house is drawn is 250 households with two girls and 500 households with a boy and a girl. Ergo, the probability that the other child is a boy is 2/3. (This logic here is somewhat similar to the Monty Haul problem, though not identical.)

    However, if we know that the girl is the eldest child, then we also have to eliminate the 250 households in which the boy is the eldest child. That leaves us with 250 households with two girls, and 250 households with one boy and one girl. Ergo, the probability that the other child is a boy is 1/2.

    What’s magic about the age of the child? Nothing; it could be any other attribute with 50/50 probability, but it’s state has to be uncorrelated with the state that determines which child is standing in front of you. It has nothing to do with “static” vs. “dynamic”.

    The argument about using the “which child comes out to you is random 50/50 and can serve the same purpose as age” doesn’t work, because you always see the one that comes out with 100% probability, so you don’t get any new information.

  125. >Has anybody written a technical history of version control systems?

    I have an incomplete draft of one. Does this surprise you? :-)

  126. >> Has anybody written a technical history of version control systems?

    > I have an incomplete draft of one. Does this surprise you? :-)

    Hmm, perhaps what Eric really need is a a tip jar donation large enough to let him take an extended sabbatical and finish all those incomplete drafts of books, technical histories, and whatever else he keeps mentioning. :-) I’m afraid I am not the one who can finance that…

  127. >I have an incomplete draft of one. Does this surprise you? :-)

    Not in the slightest. :-)

    I was actually thinking as I typed the question that such a project would be right up your alley.

    Any plans to complete the draft?

  128. @Cathy:
    So now the possible set from which the house is drawn is 250 households with two girls and 500 households with a boy and a girl. Ergo, the probability that the other child is a boy is 2/3.

    As Random832 pointed out, this assumes that, if a girl is in the house, she is certain to come out. But what if, in a house with a girl and a boy, there is only a 50-50 chance that the girl will come out (for example, suppose that the first child to spot the person talking to their mother is the only one that comes out, and there is a 50-50 chance for each child in the house to be the first). Then, as I said in an earlier post, while there are twice as many girl-boy households as girl-girl households, only half of the girl-boy households will have a girl come out, so the number of girl-boy households that will have a girl come out is only 250, not 500.

  129. >> Has anybody written a technical history of version control systems?

    > I have an incomplete draft of one. Does this surprise you? :-)

    Perhaps you could use that to update TAOUP’s section on version control, should you decide to work on a revised edition of that book. (And while you were at it, you could update the section on text editors by acknowledging that Wily has been superseded by plan9port’s version of ACME and, to a lesser extent, by ACME Stand Alone Complex.)

  130. >I was actually thinking as I typed the question that such a project would be right up your alley.

    As indeed it is. There might be a better qualified person to write it out there somewhere, but I am certainly competent to do it.

    >Any plans to complete the draft?

    If you mean as in “schedule”, no. But it remains on the to-do list.

  131. Rob K:

    Any government that takes decisions out of the hands of the individual and places it in the hands of another human in the government, counting on that government employed human to “rationally maximize utility” is going to be the spectacular failure.

    Well put sir. My I quote you, or just steal it?

  132. > I dislike intensely the requirement to have differenig amounts of white space be
    > the only reason somethingnis in a block. There are (IMHO) far too many ways that
    > can accidentally and silently break. e.g. copy/paste removing newlines,
    > replacing spaces with tabs (or vice versa) etc.

    Craftsmen pick their own tools, so fine, whatever, but a copy/paste gone bad can nuke a } just as easy, and:
    set tabstop=4
    set shiftwidth=4
    set expandtab
    set smarttab

    in your vimrc solve the other problem. Tabs don’t belong in source code anyway :)

  133. Tabs don’t belong in source code anyway

    while I agree with you….

    LET THE HOLY WARS COMMENCE!!!!!!!

  134. @William O. B’Livion “My I quote you, or just steal it?” Yeah, sure, whatever. Ain’t like it’s really original with me.

  135. @Cathy
    “You’re out for a walk and run into an old friend. She mentions that she has two children. (a) What are the odds that she has one of each gender? A moment later, a girl runs up behind her, whom your friend introduces as her daughter. (b) What are the odds that your friend’s other child is a boy? (c) Do the odds change if you are told that her daughter is the elder sibling?”

    Looks to me as a variant of the Monty Hall problem (three door puzzle):
    http://en.wikipedia.org/wiki/Monty_Hall_problem

    Any solution that tries to use girl/boy psychology or demographics is cheating ;-)

    Btw, keeping mentally agile seems to demand exercising hand-eye coordination and cognitive activities that grow new neural sprouts (i.e., learning new skills, you might try new languages).
    http://www.sciencedirect.com/science/article/pii/S0925443911001633
    But the evidence is still sparse.

  136. So, ESR is actually younger than I am? (It is a long way from TMNN.) I turned 61 this summer and actually feel somewhat like Eric, in that certain modern developers (old or young) have lost touch with the roots of the OSS/*NIX ethos.

    In my younger days I did quite a bit of work writiing code, both professionally and for my own satisifaction. I feel quite lucky that in many cases the two were actually happening at the same time. In 1981 (or thereabouts) I was inventing the predecessor of the “System V Init System.” It was for System IV, a release internal to Bell Labs. We wanted to do all sorts of neat things with it, but a lack of time and computer power/speed meant that we punted certain things to human brain power. [Such as specifying and solving dependencies for service startup. Yeah, I admit to punting it.]

    The folks currently re-inventing or maintaining system initialization systems (of all stripes) don’t seem to understand or feel any sort of involvment with or sense of being driven by the needs of the users. It has been said multiple times, in several conversations, that if one doesn’t like the way it is being done, then get off your duff and write code to do it the way you want it. No acceptance of “constructive criticisism” or recognizing the needs of other pieces in the system that might suggest doing things a different and more compatible way.

    For me, this is a “been there, done that, have the tee-shirt” sort of thing. You are where you are because the pioneers opened the frontiers and made the roads and infrastructure you’re fixing. But, there “ain’t no respect” (thank you Rodned Dangerfield) and you will be branded as one of those (as ESRs so nicely put it) “mossbacks” with nothing left to contribute.

    As it happens, I still dabble in system administration and programming despite my forcible retirement from formal work. I still follow most of the developments as they happen in GNU/Linux land (and in genetics — my 2nd major in college.) Lots of the stuff I write now is for my own amusement, but I’ll clean it up and “do the right things” occasionally and shove it out on the ‘Net for anyone to do whatever with it. That may be to use it as intended, or to adopt the algorithm, or to poke fun at it; I don’t care, as long as it is not ignored.

    So to respond to ESRs question about mental inflexibility… As pointed out by several respondents, using one’s brain keeps it more flexible (in the absense of direct pathology.)

    I watched my Dad and my GrandDad fall prey to stagnation and strokes, and recall that the strokes came after the stagnation (as it did for my dear Sue.) I feel that to avoid the strokes, I will try to avoid the stagnation. I excercise as I can, and spend lots of time continuing to learn and integrate the science I love. Slowly I am getting up to speed on “the social media stuff” and sharing what I learn and make. That, I hope, will keep me from the petrification of the synapses.

  137. “She mentions that she has two children. (a) What are the odds that she has one of each gender?”

    My exploration of this is influenced by the idea that someone with one son and one daughter will always refer to them as “two children”, but someone with two sons or two daughters will sometimes refer to them as “two sons/daughters”.

    “A moment later, a girl runs up behind her, whom your friend introduces as her daughter.”

    Does she say “This is my daughter, Jane” or “This is my daughter Jane”? The comma implies there is only one daughter. The absence of a comma implies that the name is required to distinguish between members of the class of daughters.

    “(c) Do the odds change if you are told that her daughter is the elder sibling?”

    “This is Jane, my eldest child” implies that Jane is a member of a class including both sexes. “This is Jane, my eldest” implies nothing about the other child.

  138. >> Has anybody written a technical history of version control systems?

    > I have an incomplete draft of one. Does this surprise you? :-)

    It would be nice to have timeline of version control systems, similar to Unix timeline (and provenience). David A. Wheeler “The Most Important Software Innovations” (http://www.dwheeler.com/innovation/innovation.html) could probably help start…

  139. @esr

    >If you mean as in “schedule”, no. But it remains on the to-do list.

    I look forward to it.

  140. For insight on the girl/boy thing, consider the differences between the following scenarios:

    Scenario 1: An urn has 100 balls in it, of a known 50/50 mix between white and black. Your first draw was white. You put that ball back in. The balls in the urn are mixed randomly, and you draw a second from the urn. Is your second draw more likely to be white, more likely to be black, or even probability?

    Scenario 2: An urn has 100 balls in it, of a known 50/50 mix between white and black. Your first draw was white. You still have that ball in hand. The balls in the urn are mixed randomly, and you draw a second from the urn. Is your second draw more likely to be white, more likely to be black, or even probability?

    Scenario 3: An urn has 100 balls in it, of a unknown proportional mix between white and black. Your first draw was white. You still have that ball in hand. The balls in the urn are mixed randomly, and you draw a second from the urn. Is your second draw more likely to be white, more likely to be black, or even probability?

    Answers:
    Va fpranevb 1, gur bqqf ner rira, orpnhfr unys gur onyyf ner bs rnpu pbybe. Va fpranevb 2, gur zber yvxryl qenj vf oynpx, orpnhfr vg’f svsgl bs gur avargl-avar onyyf yrsg. Va fpranevb 3, gur qenj vf zber yvxryl gb or juvgr, orpnhfr n enaqbz fnzcyr sebz n zvk bs haxabja cebcbegvbaf vf zber yvxryl gb or bs gur zbfg pbzzba pbybe.

  141. Ya know… it doesn’t have the happen. Richard Feynman kept his sense of wonder to the very end. His example gives me hope for my future.

  142. G. Wolfe Woodbury: “certain modern developers (old or young) have lost touch with the roots of the OSS/*NIX ethos.”

    That statement assumes that the roots of the UNIX ethos are worth staying in touch with. That is self-evident to Eric and me and you and most of the folks here…but is it to the modern developers you refer to? Or are they consciously throwing it out in favor of…what, exactly?

    Would they regard TAOUP as a masterwork of programming wisdom? Or would they regard it as hopelessly outdated and irrelevant to today’s way of programming?

  143. Okay, here is a fairly revolutionary idea (that can be totally bogus, but useful as a mental exercise): does programming have to be entirely about typing text into text files? Like, writing a book, that kind of thing, a bunch of ASCII characters in a text file? What changes could you imagine, even if not very feasible now?

    For example the simplest change I could imagine is getting out of ASCII and using Unicode with various special characters having syntactical meanings, for example, invent new operators instead of common keywords. For the sake of simplicity you still type “switch” but the editor changes it to some appropriate Unicode thingie that actually looks like a switch. Stupid idea? I don’t know. If the press of a button could from signs to words and back perhaps it could not do a big harm, so much is sure. Maybe it could help creative thinking.

    I mean getting entirely out of text files and into something else could be too radical now, but if it is Unicode text files, how could a programmer with an appropriate editor expand his expressivity by using the Unicode characters, other than naming variables in non-English languages? (That later is not being done, at least most Europeans I know dislike the idea of mixing the built-in English keywords and functions with non-English variable names, it is both aesthetically ugly and harms international teamwork. I was actually cussing out when saw recently variables like Salgsordre, did that guy think only Danes should be allowed touch his code or what? So, let’s scratch non-English variables or stuff like this, and focus on what a programmer could do generally with non-alphanumerical Unicode signs.)

  144. > I have an incomplete draft of one. Does this surprise you? :-)

    You also have an incomplete draft of TMNN, but I’m not holding my breath.

  145. >So, let’s scratch non-English variables or stuff like this, and focus on what a programmer could do generally with non-alphanumerical Unicode signs.

    I am doubtful there’s a large win here. One seldom gains by moving to a more complex notation; it’s the simple ones with a lot of leverage (bit density) that seem to produce the big wins.

  146. Shenpen, 101-key keyboards are not great on typing unicode unless you have a big chart of numbers posted next to your keyboard. Reminds me of APL.

    G.Wolfe, it would be awesome if you stepped up and said “Yes, /etc/init* is inappropriate for modern systems. I wrote it for a much older less capable system. Here is how to fix it (without throwing it out!) for modern systems.” People really *do* respect age and wisdom. And then you could cobble together the existing fixes (e.g. Perry Metzger’s dependency analysis system for /etc/init.d) and publicize them. And thus may we be saved from the ruin that will be called “the systemd disaster”.

  147. Random, smoke is proven harmful. CO2 is not. There are predictions and guesses and speculation that CO2 may at some time produce harmful warming. Did you know that it was warmer in the 1200’s? To the point where they were growing grapes in England?

    Rob K, why do you think that I think Python is perfect? It isn’t. Sure, you *can* screw up the indentation, just like you *can* lose braces or misplace them. The point is not that Python makes you perfect, it is that Python makes you better.

    Y’know I see this all the time in discussions of libertarianism and freedom. People seem to think that a libertarian society is supposed to be a utopia, free of problems. No actual libertarian thinks that; only the people who object to it. And we are not foolish enough to think that a statist society is supposed to be a perfect one, so the statists are never put in the position of having to defend war.

  148. “One seldom gains by moving to a more complex notation”

    Indeed. That way lies APL: expressive power at the expense of readability. Since programs are read more often than they’re written, this is a net loss.

    And for the love of all that’s holy, just say “Fucking NO!!!!! arggghglglgplbtpfl bletch pooey keep away! No! Back off or I’ll argggghhhhh SHOOT! Die you gravy sucking PIG!!!!” to non-ASCII variable names.

  149. > Random, smoke is proven harmful. CO2 is not.

    Shouldn’t whether to allow it on a piece of property be up to the property owner, and not to a central authority’s arbitrary judgement on whether it is proven harmful?

  150. Juggling might be an interesting new skill– Eric, I don’t think you’re done much with throwing and catching.

    One thing that makes me question Heinlein’s overall mental flexibility is that he was simply wrong about WW3, and so far as I know never discussed what he missed. On the other side, as I recall, Friday had a world that wasn’t heading toward a big war.

    As for my own mental flexibility, I’ll get back to Thinking Physics, a book which offers physics problems first, and then the explanations. I was somewhat freaked by the first. It was a very easy given the durations and velocities, figure out the distance problem, but then the explanation said that just plugging numbers into an equation isn’t the best route to understanding. Somehow, this hadn’t occurred to me before, but I think it’s true.

    You’re Not a Liberal could have been worse, but I stand with Karl Hess, who said that the left and right in the US include each include authoritarian and libertarian aspects. Picking up some abstract trait of a large group of people and assuming they all match it is is a way of making yourself stupid.

    Last I heard, the reduction in air and water pollution is a result of government regulation, and something that liberals generally like better than conservatives. No?

  151. > And for the love of all that’s holy, just say “Fucking NO!!!!! arggghglglgplbtpfl bletch pooey keep away! No! Back off or I’ll argggghhhhh SHOOT! Die you gravy sucking PIG!!!!” to non-ASCII variable names.

    Why non-ascii? Is any harm done by allowing someone who speaks Spanish (or Chinese) to have variables that are spelled correctly in their own language?

    > …other than naming variables in non-English languages? (That later is not being done, at least most Europeans I know dislike the idea of mixing the built-in English keywords and functions with non-English variable names, it is both aesthetically ugly and harms international teamwork. I was actually cussing out when saw recently variables like Salgsordre, did that guy think only Danes should be allowed touch his code or what? So, let’s scratch non-English variables or stuff like this

    Why not have a language with keywords and built-in functions in a language other than English? Saying that all programming must be done in English for some reason like a shared language of hacker culture doesn’t seem any more reasonable than saying that all programming must be done in Python (or even, in general, in the imperative/structured/object-oriented hybrid paradigm that languages like Python use and Scheme/Forth/C do not)

    You could even define a library format where linkage is not done by name, and have a localizable name mapping.

    Of course, a localizable language would be too much to ask. Names and keywords are one thing, but conventional object-oriented syntax is biased towards subject-verb-object grammar, the syntax of structured statements like if-then, foreach-in, etc are based on natural English language syntax.

  152. Last I heard, the reduction in air and water pollution is a result of government regulation, and something that liberals generally like better than conservatives. No?

    Just the opposite, actually. Setting aside the obvious examples of the environmental disasters of communist regimes, in the United States and other industrialized countries, environmental improvements have preceded government action, and it’s quite likely that the government interference actually slowed the pace of improvement.

    The Cuyahoga River is a classic example. Even though the famed incident was a fraud, the river was heavily polluted throughout the first half of the 20th century. Individuals tried to bring claims against the polluters in court but were dismissed on the grounds that state and then federal environmental regulations had preempted the common-law rights to water use and fishing. The EPA is notorious for arbitrary enforcement of environmental regulations, and private parties have essentially no means to push for cleanup on their own. Contrast England, where in the 1960s and 1970s fishing groups successfully obtained judgments and injunctions against polluters who were making rivers unfishable.

  153. I like how Nancy is trying to be Eric’s Minerva.

    (Eric, I’m sure Heinlein never wanted to be used as a limitation; you go right ahead and figure out what it’s like to be on the inside of a star! Ahem. Or perhaps you could try stand-up comedy as a brain exercise. You have the public speaking part down, so this shouldn’t be too far a stretch!)

  154. >Or perhaps you could try stand-up comedy as a brain exercise. You have the public speaking part down, so this shouldn’t be too far a stretch!)

    No stretch at all, really. I have the brain chemistry of a stand-up comic, and I get it about comic timing and most of the other kinesic tricks they use – I use them when I speak. All I’d have to do is write the jokes. Almost too easy.

  155. @Random832

    As someone who became fluent in English 3 years after I started to program: for the love $DEITY lets keep all programming in English and ASCII. Yes, English is an arbitrary choice, but it’s a good shelling point. Yes one could have ones editor display all function and variable names in one’s native language, but 1. translating all this stuff is a useless waste of time and 2. there are so many corner cases where stuff would break that it would be a big pain in the ass.
    As for why ASCII only: yes ? is more pretty than <= but I can type in the later without having to look up its unicode code point.

    /rant

  156. I have to ask: what the bleep does “TMN” stand for? A brief Google search, trimming out contemporary fuzz, goes back into old pre-WWW Usenet quasi-literature and so Google kinda flakes out. The best I can tell is that it has to do with Netnews and was venerable even in 1989.

  157. >The best I can tell is that it has to do with Netnews and was venerable even in 1989.

    It was my attempt to redo netnews better; one of the major features was reliable discussion threading. Time passed it by, but some of the ideas got reused elsewhere.

  158. @shenpen:
    There’s scratch, which eschews text for a drag-and-drop, flowchart-esque interface. It is also totally useless for anything other than as a toy to teach kids to program. I doubt anyone with even one iota of Real Programmer-ness would condescend to use such a tool.

  159. Shouldn’t whether to allow it on a piece of property be up to the property owner, and not to a central authority’s arbitrary judgement on whether it is proven harmful?

    Only an utter idiot would propose any theory of property trespass that could be invoked against someone in an irreversible coma in bed on the other side of the world, and expect to be taken seriously. But since that person in the coma is breathing and gasses diffuse, your theory of CO2 trespass would actually qualify as one such.

  160. @Lambert:
    > @shenpen:
    > There’s scratch, which eschews text for a drag-and-drop, flowchart-esque interface. It is also totally useless for anything other than as a toy to teach kids to program.

    Such approach is quite useful in scientific visualization programs such as proprietary AVS (Advanced Visualization System) or open-source VisNow… though both allow defining custom blocks (plugins) in appropriate programming language.

  161. @Random832:
    Shouldn’t whether to allow it on a piece of property be up to the property owner, and not to a central authority’s arbitrary judgement on whether it is proven harmful?

    By this logic, if you don’t like photons reflected from my body being on your property, you should be able to sue me just for being within line of sight of your house.

  162. ISTR David D. Friedman used nearly this exact example in The Machinery of Freedom.

  163. me> There’s nothing quite like swimming in a libertarian shark tank to keep this liberal on his — fins, I guess.

    esr> Obligatory: You’re Not a Liberal!

    Yes, I am. More germanely to this thread though (and to your next): Overdependence on fixed linguistic categories inhibits and calcifies the mind. You may want to free yourself from this one.

  164. Random832:
    “Do you believe that people have the right to forbid you from blowing excessive amounts of CO2 into their property?”

    Hypothetical case: your neighbor sues you because the large number of trees on your thickly-forested property emit oxygen which drifts over to his property. He argues that since oxygen is toxic in high concentrations, he has the right to force you to limit such leakage.

    Why is this different from CO2? Discuss.

  165. Yes, I am. More germanely to this thread though (and to your next): Overdependence on fixed linguistic categories inhibits and calcifies the mind. You may want to free yourself from this one.

    I’ve seen this episode before. except it was with the word “hacker”. In 99% of the cases in which it might be used, a hacker is someone who breaks into computer systems. That’s what the word means now. Any attempt to “take it back” is bound to be met with the same success as Randal Graves’s attempt to “reclaim” the term “porch monkey”.

  166. The folks currently re-inventing or maintaining system initialization systems (of all stripes) don’t seem to understand or feel any sort of involvment with or sense of being driven by the needs of the users.

    Most people who’ve used systemd seem to like it, and concede that it has many, many technical advantages over sysvinit, Upstart, or any other init system that fit their use cases. I’m curious to know why you think systemd is not user-driven.

  167. I’ve seen this episode before. except it was with the word “hacker”. In 99% of the cases in which it might be used, a hacker is someone who breaks into computer systems. That’s what the word means now.

    You may have seen this in the past, but you clearly haven’t taken a look anytime recently.

    Jeff Read proves that he is oblivious, film at 11.

  168. Most people who’ve used systemd seem to like it, and concede that it has many, many technical advantages over sysvinit, Upstart, or any other init system that fit their use cases.

    I’ve moved to Arch, which uses systemd, and I’ll say that I’m not a fan. It works, and it certainly is much faster than traditional sysvinit, but OpenRC had a lot cleaner and more transparent design, and the only downside to it that I saw was that at the time I got my last system up and running on it (~3 years ago), they didn’t have the script metadata in place reliably enough to enable parallel init, which is essentially the only point that makes systemd faster than sysvinit.

  169. So, comments from a 25-year-old on various topics of discussion:
    -I find that having both {} and indentation is very helpful, precisely because it isn’t a SPOT.
    I’ve written Python and C, and had to fix code after leaving it alone, and both end up with similar screw-ups eventually. But in Python, if it’s wrong, the only solution is to guess.
    In C, look at the indentation and the brace location becomes clear, and look at the braces and the indentation is clear.

    -DVCS logs vs. NEWS vs. ChangeLog vs…:
    Sure, NEWS is a nice theory. But fetch your average tarball, and it’s almost guaranteed to be one of a half-dozen 0-byte files.
    ChangeLog: Rarely empty, and occasionally actually informative. If it is, it’s usually because someone ignored the GNU standards. Most of the time that it is present and maintained, it looks like someone was trying to do DVCS logs by hand…trying but failing, since you can’t tie explanations to diffs in a tarball. Inadequate for technical use, overkill for the average user.
    …And if someone would kill the CamelCase, it would be a Good Thing ;-)
    DVCS logs: Don’t happen in a tarball. Great for trying to find what went wrong, sometimes impenetrable when trying to figure out whether to upgrade.
    Individual per-release release notes: Whoever perpetrated this should be fired from any position they have had or will have as a release manager/maintainer. If I’m reading that Foobar 51.03.5 was just released, I only want to read one file to figure out what’s changed since Squeeze froze…not half a dozen, and certainly not two dozen files.
    I could see this being justified for new major releases in certain projects (for example, Vim 5/6/7, Linux 2.4/2.6/maybe 3.x, and Firefox back during the long-gone Days of Sanity when 3.0 was a major worthwhile change from 2.0 which was a vast improvement on 1.0); of course, these exactly are the projects that won’t do it.
    Usually, it’s more like ChangeLog-2.3.38 and all the other files that implies.

    -“Kids these days”…rarely understand moderation.
    That goes both ways: sometimes you have people who will only grudgingly open a terminal and wouldn’t think of using an editor other than Gedit; sometimes you have people who will uninstall every package that’s over a megabyte, see how many weeks they can go without starting X, build a self-hosting Linux system with only 6 packages (kernel, busybox, musl libc, make, gcc, binutils), or write a “cat” that only cats one file. No, I’m not exaggerating on any of those examples, though I suspect that the guy who uninstalled packages by size didn’t remove anything marked as Essential.

  170. Ah, @idunham just made me realize why I prefer braces: If you screw up your indentation in a language such as Python, you’re likely to end up with syntactically correct but semantically buggy code. If you screw up your braces in a C-like, you’re very likely to introduce a syntax error that will immediately get flagged while you’re still in a mental state to fix the problem cheaply.

  171. And if anyone is wondering who uses tarballs instead of fetching from $VCS these days, the answer seems to be “At least half the people who would consider installing a program from source.”
    This is especially likely if $VCS is svn or cvs, but also common for the average autoconfiscated git repository; even “the average linux user” who has make and gcc doesn’t have git, m4, and everything automake needs.

  172. @Jeff Read:
    > In 99% of the cases in which it might be used, a hacker is someone who breaks into computer systems.

    False. Probably the two most common usages of “hack/hacker” these days (probably 90% of uses between them), are when referring to the practice of using modified clients to gain an unfair advantage in an online game, and when referring to the Facebook equivalent of baggy pantsing.

  173. referring to the Facebook equivalent of baggy pantsing

    The knowing facetiousness is starting to spread, but “my account was hacked” is still used predominantly to mean “omfg teh l33t ha><0rz broke into my computer and posted that embarrassing status and there's no way they guessed that my password was 'password'".

  174. “the average linux user” who has make and gcc doesn’t have git, m4, and everything automake needs.

    Proper tarballs from an autotools-managed project SHOULD NOT require the user to generate the build files, that should be done at the `make dist` stage. At any rate, m4 is a standard part of any Unix installation, even required for POSIX compliance, so it’s a nil point. Also, it’s not expected for the generated autotools files to be part of a VCS :P

  175. @Christopher Smith:
    >The knowing facetiousness is starting to spread, but “my account was hacked” is still used predominantly to mean “omfg teh l33t ha><0rz broke into my computer and posted that embarrassing status and there's no way they guessed that my password was 'password'".

    Pretty much every Facebook "hacking" I've ever seen involved a computer left completely unlocked and unattended with a Facebook tab open.

  176. @Mike Swanson: Exactly.
    I’m referring to why someone would get a tarball instead of fetching from $VCS:
    a tarball requires a lot less to build.
    As to m4: yes it’s part of POSIX, no it’s not installed by default on a lot of Linux systems (I believe build-essential doesn’t require it).
    But GNU m4 isn’t POSIX; even on the *BSDs where m4 is installed, autotools will require GNU m4 specifically–at least NetBSD and OpenBSD use a public domain M4 based on Software Tools “macro”.

  177. Jeff Duntemann wrote this almost 20 years ago; it remains remarkably relevant.

    The Love Song of J. Random Hacker, 1995
    By Jeff Duntemann, with apologies to T. S. Eliot

    (Doctah Kurtz, he dead. A GOTO for the old guy.)

    Let us go then, you and I,
    For fast Chinese and talk of years gone by
    Filled with random jumps and custom cable;
    Let us go, recalling joys of FORTH and MUMPS,
    The cluttering lumps
    Of threaded code in frantic ten-hour hacks
    To get that midterm project off our backs:
    With code that twisted, doubled-back and bent
    And set into cement
    But came through with an underwhelming “B”…
    Oh, do not ask, “What was it?”
    I don’t care what it does, just how it does it.

    On the Net the expert systems come and go,
    Bragging about how much they know.

    Over yellow chad that chattered out from teletype machines,
    Over yellow tape that rattled out encoding fever dreams
    That curled into the data center trash;
    We lingered, inventing novel sort/merge schemes,
    Or ways to thwart collisions when we hash–
    And seeing that we’d been logged in since late last week
    Took one last slug of Jolt and fell asleep.

    On the Net the expert systems come and go,
    Bragging about how much they know.

    No! I am not Bill Gates, nor would I want to be;
    I’d rather parse the fish than own the knife;
    (Imagine! Having moby bux but chained
    to ninety million lusers, what a life…)
    Am a flamer, goateed, pallid, overweight,
    Willing to pull two shifts, then (hell) a third,
    To save a session from a deadlocked state;
    At times, (to put it mildly) unrestrained–
    Almost, at times, a nerd.

    I grow old…I grow old…
    dBase II and Wordstar are no longer sold.

    Shall I start a BBS? Do I dare to try to teach?
    I shall take my palmheld portable and hack upon the beach.
    I have heard the networks passing packets, each to each
    They have no traffic for the likes of me.

    I have seen the Altair live and die
    And software startups score on sorry score–
    And millions made by men like Mitch Kapor.

    We hackers linger by our leading edge
    Forgetting what is pending in the cache
    Till practice hurtles past us, and we crash.

  178. We’re living in an age of Sharyl Attkisson crying HAX when her backspace key is broken. Facebook baggypantsing counts as “hacking” to the victim, who *suspects* a malicious criminal when they are too blind to their own idiocy.

  179. @Jeff:
    >Facebook baggypantsing counts as “hacking” to the victim, who *suspects* a malicious criminal when they are too blind to their own idiocy.

    We’re living in an age when people cry “I’m a 1337 h4xx0r!!!!” when they’ve done nothing. Facebook baggypantsing generally counts as hacking to the perpetrator as well as the victim.

  180. @Random832

    >Saying that all programming must be done in English for some reason like a shared language of hacker culture doesn’t seem any more reasonable than saying that all programming must be done in Python

    For speakers of large languages, Spanish, Chinese, there can be a win in sacrficing international cooperation for the sake of opening the world of programming to those who can’t speak English. I am not entirely convinced of that – generally NOT opening programming to everybody and filtering out the intellectually lazy leads to better code – but I could see the potential at least.

    But for the smaller ones, Danish, Polish, Hungarian etc. not – they have to cooperate internationally, can’t reinvent all the wheels, cooperation clearly matters more than ease of entry, and not being strictly English-only leads to this kind of crap where I am in a project involving people from 5 countries and I am figuring out what a database field name “PDF Ordrebekræftigelse” means in Danish with a dictionary, a pizza and a vivid set of Hungarian folk curses. (In a system where the CaptionML property is right beside the Name property so it could be have been done right easily…)

    Another thing I “love” is when I have to translate back localized error messages to English but also in a way that to guess the original wording, in order to be able to google it and find out what to do with it. In an age where most solutions are found on PHPBB forums and not in the documentation, at the very least sticking to a few large languages is a must. Localization just makes everything harder for the experts, and easier for the users only – for this reason, it should only be an outermost layer on software, a garment to to peek behind every time it is necessary.

  181. If only there were a way to index on the meaning of a message, as opposed to its phrasing….

  182. A story I remember was how, years ago, IBM worked for a long time on a system that would let programs be written in Arabic. It got killed by opposition from Egyptian programmers who viewed their knowledge of English as job security.

  183. @Jay Maynard

    > expressive power at the expense of readability

    Is plain, mostly alphanumeric text the currently known most readable form of expression? I mean I do skim books, but… math is not a bad place for a programmer to look for ideas, and why did the language of mathemathics gobble up the Greek alphabet, the sigma notation for summing, the integral notation and whatever else? Is math not supposed to be readable, to those who know math? Would there be anything wrong (not sure what would be the win, but what would be the loss) with an SQL query summing with the sigma notation, typed as sum, but represented as ??

    I mean, for humans, the most readable is usually a picture as it can afford to be vague and imprecise and thus convey a whole range of notions. Computers want precision, basically numbers. Is plain text the ideal middle for both?

    And finally, how comes programmers tend to like curlies more than BEGIN / END – isn’t there an argument that you get used to it quickly and then the win is not having to read so much?

  184. > Would there be anything wrong (not sure what would be the win, but what would be the loss) with an SQL query summing with the sigma notation, typed as sum, but represented as [what I assume is an uppercase sigma]

    Because sigma notation (sum of a function applied to each value in a range), doesn’t actually map exactly to the sum function as found in sql (sum of a function applied to each value in a set). Because sigma notation isn’t a linear sequence of ASCII/Unicode symbols, and so you would need to invent an encoding and display logic. Function notation has the advantage of being general, too. You can just have a list of names for the distinction between scalar functions and aggregate functions in SQL.

  185. In an age where most solutions are found on PHPBB forums and not in the documentation, at the very least sticking to a few large languages is a must.

    Wow. I’ve never cared to see if I can pass the Ideological Turing Test before, but I’m suddenly very tempted to try and reproduce the standard “see, this is why all software should be written by people who have managers who will force them to write proper documentation and then absolutely everything will be wonderful!” rant. Of course, done right, that would be trolling.

    if it is Unicode text files, how could a programmer with an appropriate editor expand his expressivity by using the Unicode characters, other than naming variables in non-English languages?

    Lisp/Scheme dialects that accept λ (example) are probably a Good Thing, if only in an RSI-avoiding way.

  186. Shenpen: And finally, how comes programmers tend to like curlies more than BEGIN / END – isn’t there an argument that you get used to it quickly and then the win is not having to read so much?

    The obvious answer is one you hinted at earlier in that very same comment. Symmetry. Which is to say, { } creates a pleasing picture that BEGIN END does not. This was, I claim, the same motivation in some circles to close “if” with “fi”.

    A computer does not care about “{ }” as block delimiters any more than it would care about “A B” as delimiters. And it would prefer (so to speak) “{ }” about four times as much as “BEGIN END”.

    In general, all symbolic language is a workaround for the peccadilloes of human cognition. Knowing you, I expect this is unsurprising, and I wish I could offer more insight, but there it is.

  187. And finally, how comes programmers tend to like curlies more than BEGIN / END – isn’t there an argument that you get used to it quickly and then the win is not having to read so much?

    Or use an editor like Emacs that can change the display of BEGIN/END to { } and now we’ve just defeated any purpose of using the words to begin with ;)

  188. Or use an editor like Emacs that can change the display of BEGIN/END to { }

    Or use a language like C++ in a class where they’re bored out of their minds and write “pascal.h” just to troll the teacher.

  189. “…how comes programmers tend to like curlies more than BEGIN / END – isn’t there an argument that you get used to it quickly and then the win is not having to read so much?”

    “The obvious answer is one you hinted at earlier in that very same comment. Symmetry. Which is to say, { } creates a pleasing picture that BEGIN END does not.”

    Bah! Humbug!….Humbug I say!
    Back in the 80’s, I read a Byte Magazine article where a prominent programmer commented that, “C is a disease.” It’s so. Most programmers have been infected (including me). One of the most prominent symptoms is a tendency to use as few characters in the program text as possible, reflecting the early C designers/programmers’ poor typing skills and slow serial terminals. C’s preference for all lower case identifiers and keywords, plus the curlies is another result of that.

  190. “C’s preference for all lower case identifiers and keywords, plus the curlies is another result of that.”

    That, plus the horrible botch of case sensitivity.

    I used to think that UNIX as case-sensitive because of an early design decision to save a few instructions deep in the kernel. DMR himself corrected me on that: it was a deliberate design decision, based on their preferences. Blarg. All I can say about that is that those preferences are a rich source of bugs over the years.

  191. One thing that always struck me when taking CS courses in the mid to late 80s was the bitching about all the typing one had to do for COBOL programs. I had fortunately had proper training in touch typing, so I had no such qualms. And I *loved* COBOL. It practically documented itself! Of course, at the time being highly business oriented, it didn’t have all the beautiful data structures that so many people liked. You didn’t do complex mathematical formulae in it. But there was a purity and beauty to it – as long as you didn’t mind a bit of extra typing.

    And while laziness might be a prime programmer virtue – there’s laziness, and then there’s laziness. And the beauty of a program I could just *READ*, instead of having to interpret – ahhh, but I loved COBOL.

    I find these two articles all too believable, even if they claim to be April Fool’s jokes.

    https://www.gnu.org/fun/jokes/unix-hoax.html ( https://lc.fie.umich.mx/~juan/Chistes/unix )
    http://arstechnica.com/civis/viewtopic.php?f=14&t=809449

  192. @Phil it is funnier than that. It is not that documentation does not get written, it is that it does not get _read_ in ever widening circles. First only users, then sysadmins, programmers…

    I must admit I am guilty of it myself. It is basically the lack of the former discipline where people could deal with dry, borderline boring stuff. Today I too would not be bothered to learn the specification of a new programming language but instantly go for the more entertaining tutorials. Today I too would no longer learn a human language by memorizing 10 words every day with flashcards or something, but go for the immersion. Today I expect software to be intuitive, and when not answers to be found by Google. This is getting widespread. We are getting lazy. Probably the most embarrassing part was when I had to add a short custom function by code in Microsoft’s lousy excuse for a Report Designer because the standard ones were not enough, and I am not even sure in what programming language I did it. I was mostly just concatenating examples I found online. This is probably my worst horribly-lazy-but-it-worked story so far.

    To be fair, these lazy methods work surprisingly well, that is why they are widespread. In way, efficient laziness is cutting with and not against your own grain. But they don’t give the same bragging rights as the lawyer-minded, mathemathician-minded folks of older times had who had the discipline to put up with investing hours and hours into reading and/or memorizing dry and not too entertaining stuff.

    And I am now tempted to add a TL;DR section to this comment (Reddit habit) for a bit of a troll value. (Too Long, Didn’t Read: a single.line summary for those who are really lazy.)

  193. Today I too would no longer learn a human language by memorizing 10 words every day with flashcards or something, but go for the immersion.

    Immersion is a much faster and more effective way to learn a new language. Also more fun: in the case of Japanese, having tried both I know I’d rather chat up cute girls in Osaka than memorize a bunch of flashcards. But the didactic benefits of the immersion technique are well characterized.

  194. But they don’t give the same bragging rights as the lawyer-minded, mathemathician-minded folks of older times had who had the discipline to put up with investing hours and hours into reading and/or memorizing dry and not too entertaining stuff.

    Language lawyers usually make poor software engineers, and it has always been thus. The folks of older times by and large a) didn’t dedicate hours to memorizing every jot and tittle of a language spec for the hell of it; and b) had much simpler semantics to work with.

    Copying and pasting code samples together is lazy, but code samples and tutorials offer us something that language specs cannot: a view of the language as it’s actually used. A superhuman (or sentient AI) could commit the entire C++ spec to memory, and never gain from that entire volume of reading knowledge of fundamental C++ idioms like RAII. (Though they might eventually derive such idioms themselves.) The only way to see how a programming language is used in practice is to read, and read about, code that uses it.

    And reading code is a challenge in its own right.

  195. @Ole Laursen
    > This reminds me of when I tried to convince people to support the standard clipboard copy-paste protocol, a goal I decided to pursue after reading somewhere that my beloved editor was one of the last holdouts: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1765

    Your proposed behavior (I don’t know what got actually implemented, as I don’t use Emacs) doesn’t sound that reasonable to me – there’s no fundamental reason the default paste command, in a non-CUA editor (which doesn’t map it to ctrl-v anyway), should be to paste the clipboard. It would be especially perverse for the default delete commands to cut to the clipboard.

    Vim uses a magic register “+ for the clipboard, a different one “* for the selection [PRIMARY/CUT_BUFFER0], and neither interacts with argumentless commands… which use “0, “-, and “1 depending on the command (yanks, short deletes, and line deletes).

  196. > why did the language of mathemathics gobble up the Greek alphabet,
    > the sigma notation for summing, the integral notation and whatever else?

    Back when that happened, any college-educated mathematician knew Greek; in Britain, it wasn’t *that* long ago that it fell out of high school level education. One Greek letter could represent a word or concept without having to write it out, preventing possible confusion (see: 0xDEADBEEF) and making the equations more compact.

    Greek fonts were in every textbook typesetter’s shop. And when you were printing graphics with woodcuts, carving sigma notation was no different than curly borders or flowers.

    This all happened long before Babbage, much less electronic computers…

  197. As long as the standard input method for programming is the keyboard, the optimum set of programming symbols will be the subset of symbols easily typed on most or all keyboards. Which, for a mix of technical and historical circumstances, means ASCII or a subset thereof. Any programming language trying to use anything else will automatically limit its own audience to the set of keyboards that can easily handle its symbol set.

    Mathematics developed its symbol set when the standard “input method” was handwriting, which is rather less restricted than the keyboard.

  198. The space-cadet keyboard supported Greek character input and had a special “Greek” modifier key. Why Greek input — a vital component of so much technical text — is not more universal, I don’t know. Probably because of the same fucking illiterates who didn’t realize that dashes and hyphens are completely different things, or that double quotes come in matched pairs.

    Anyway it probably won’t be of much concern in the near future, when the touch screen becomes most people’s primary mode of input.

  199. Greek input is not more universal because it would have been insane to spend the extra resources to support it in the context of business use in the United States in the 1960s versus the then-substantial resource costs to support it (which is why most typewriters didn’t support it either, though there resources were counted as mechanical complexity). That also being why these character sets didn’t add a whole bunch of characters (like differentiated quotes) that also usually weren’t on typewriters. By the time character set support caught up to handling Greek and a reasonably full set of Latin characters and typographical marks all at once, keyboards had been standardized for decades.

    Incidentally, about two minutes’ of actual thought about the question should have been sufficient for even you to figure that out for yourself, Mr. Read. But we all know how much you dislike that activity.

  200. > why did the language of mathemathics gobble up the Greek alphabet,
    > the sigma notation for summing, the integral notation and whatever else?

    Another reason is that mathematics mostly avoids multicharacter variables, constants, function names, etc. (The only example of multicharacter variables I can think of offhand are subscripts.) So instead math was pushed into using the Greek alphabet, other alphabets, various symbols, and different forms of various letters (upper case, lower case, script…)

  201. I think some symbols are there because they were created at time where math was written by hand. We have \int symbol, and \Sigma for sum, but we have ‘lim’.

    Also greek letters are used for subscripts/indices (multi-letter are not possible here), and ‘\mu’ means something different than ‘m’ subscript/superscript.

  202. That statement assumes that the roots of the UNIX ethos are worth staying in touch with. That is self-evident to Eric and me and you and most of the folks here…but is it to the modern developers you refer to? Or are they consciously throwing it out in favor of…what, exactly?

    The Unix ethos is a phenomenal red herring; even Linus concedes that it’s not how real software is built. “Write small programs that do one thing and do it well” assumes that the individual process is the fundamental unit of composition. The harsh lesson of the past two decades has been that there is so much crosstalk between functional domains that it makes more sense to build large programs out of available toolkits — libraries and frameworks — using the libraries and frameworks as the fundamental units of abstraction.

    As a user-facing example, consider email. Though it grew up in the Unix environment, with its separate MTAs, MDAs, and MUAs, all of which are separate from the editor used to compose the email and any directory services the network may provide, no Unix-based solution has been able to match the flexibility and ease of use afforded by the current standards in email: Outlook and Exchange. Outlook combines an email client with composer, contacts, and calendaring, and Exchange provides server-side support for all these things and integrates with Active Directory.

    It’s one of those bloody obvious in hindsight product integrations, like attaching a camera to a cellphone.

    As it turns out there is also a lot of crosstalk between bringing the system up and other critical functionality, like monitoring for and responding to hardware, kernel, or service events. So it makes sense to integrate all these functional domains into a single progran, which yields the architecture for systemd.

    And there’s even more crosstalk between painting the screen, event handling, and window management in a GUI environment — hence Wayland. (Wayland also is an opportunity to fix longstanding security bugs that are essentially unfixable in an X environment.)

    And so on and so forth.

    Each of these instances of “throwing out” and replacing existing functionality has a very sound technical basis in light of how shit actually gets done in the modern era. Argumentum ad philosophiae unicis is not a valid counterargument anymore.

  203. >Argumentum ad philosophiae unicis is not a valid counterargument anymore.

    No, not if you’re willing to live with horrendous error rates.

    Small, simple, and well-modularized is still the only way to keep from repeatedly tripping over our own feet. The central challenge of building large systems isn’t to abandon that wisdom. it’s to get good at composing simple components in correct ways.

  204. > Small, simple, and well-modularized is still the only way to keep from repeatedly tripping over our own feet. The central challenge of building large systems isn’t to abandon that wisdom. it’s to get good at composing simple components in correct ways.

    The idea that a pipe (or other ad hoc data transfer using the filesystem, environment variables, etc) is the best, most “correct”, way of composing two components is the unix philosophy argument to which he was referring.

  205. >The idea that a pipe (or other ad hoc data transfer using the filesystem, environment variables, etc) is the best, most “correct”, way of composing two components is the unix philosophy argument to which he was referring

    Anybody who identifies this as “the Unix philosophy” has utterly failed to understand it – mistaken accident for essence.

    The Unix principle that comes closest to what you wrote above is “use textual data streams for IPC”. This remains excellent advice because textual screams are discoverable and can be self-describing in ways binary RPC cannot. But textual data streams need not be plain old newline-terminated lines passed through pipes. JSON interchange is very much in the Unix spirit. So is HTML, for that matter.

    Decomposing large systems into services coupled by discoverable text steams is itself not the end, but the means. The end is to couple loosely – to reduce global complexity and increase options through modularity and swappable components. Until you understand how that deep principle drives relatively superficial design features like pipes and redirection, you don’t grok the Unix philosophy.

    I wrote a book about this. You should read it.

  206. ESR, have you seen the recent threads on LWN? Bruce Perens is finally getting involved in the systemd ruckus. The systemd defenders have shown an attitude toward the Unix Philosophy essentially the same as what Random832 just posted. Now that Plan9 is GPL, maybe time to leave Linux behind.

  207. Also this: http://uselessd.darknedgy.net/ProSystemdAntiSystemd/

    Some money quotes:

    Why pro-systemd and anti-systemd people will never get along

    a) Proponents are usually part of the modern Desktop Linux bandwagon. They run contemporary mainstream distributions with the latest software, use and contribute to large desktop environment initiatives and related standards like the *kits. They’re not necessarily purely focused on the Linux desktop. They’ll often work on features ostensibly meant for enterprise server management, cloud computing, embedded systems and other needs, but the rhetoric of needing a better desktop and following the example set by Windows and OS X is largely pervasive amongst their ranks. They will decry what they perceive as “integration failures”, “fragmentation” and are generally hostile towards research projects and anything they see as “toy projects”. They are hackers, but their mindset is largely geared towards reducing interface complexity, instead of implementation complexity, and will frequently argue against the alleged pitfalls of too much configurability, while seeing computers as appliances instead of tools.

    b) Opponents are a bit more varied in their backgrounds, but they typically hail from more niche distributions like Slackware, Gentoo, CRUX and others. They are largely uninterested in many of the Desktop Linux “advancements”, value configuration, minimalism and care about malleability more than user friendliness. They’re often familiar with many other Unix-like environments besides Linux, though they retain a fondness for the latter. They have their own pet projects and are likely to use, contribute to or at least follow a lot of small projects in the low-level system plumbing area. They can likely name at least a dozen alternatives to the GNU coreutils (I can name about 7, I think), generally favor traditional Unix principles and see computers as tools. These are the people more likely to be sympathetic to things like the suckless philosophy.

    Many of the more technically competent people with views critical of systemd have been rather quiet in public, for some reason. Likely it’s a realization that the Linux desktop’s direction is inevitable, and thus trying to criticize it is a futile endeavor. There are people who still think GNOME abandoning Sawfish was a mistake, so yes.

    The non-desktop people still have their own turf, but they feel threatened by systemd to one degree or another. Still, I personally do not see them dwindling down. What I believe will happen is that they will become even more segregated than they already are from mainstream Linux and that using their software will feel more otherworldly as time goes on.

  208. JSON interchange is very much in the Unix spirit. So is HTML, for that matter. Decomposing large systems into services coupled by discoverable text steams is itself not the end, but the means.

    The new buzzword for this is “microservices”, and while the trend is starting to tip too far (IMO) toward granularity, the principle of bright-line interfaces with clearly defined semantics is invaluable. In my current Java/Spring project, I’m running the “microservices” inside the same container as the Web layer, but those bits are demarcated by interfaces that take command objects and are internally routed as ordinary messages. If it becomes useful at some point to run those components on their own containers, or even reimplement them in other languages, it’ll just be a matter of writing out those command objects as JSON or AMQP messages.

  209. The Unix principle that comes closest to what you wrote above is “use textual data streams for IPC”. This remains excellent advice because textual screams are discoverable and can be self-describing in ways binary RPC cannot.

    But it presents a performance bottleneck that WILL KILL YOU at scale — and scale almost always comes around sooner than you think.

    This is why Google uses protobufs — for almost everything.

    But a much faster way to enable communications between components is not even using structured binary streams — it’s passing around pointers to data in core. Most easily done when the components live in the same memory space, hence the decline of the process as the fundamental component from which large systems are made and the rise of the object. But the kdbus mechanism allows this to be done in a standard way even between processes.

    Loose coupling can be achieved by writing an interface and encouraging people to develop components that expose that interface. The difference between typed, discoverable, auditable interfaces with well-defined behavior semantics on the one hand and the ad hockery of text stream I/O going into arbitrary processes on the other is exactly akin to the difference between static and dynamic typing. Hint: Static typing leads to more correct, faster, and cheaper to develop code.

  210. Many of the more technically competent people with views critical of systemd have been rather quiet in public, for some reason.

    And many of the others (I can’t vouch for their technical competence) have been literally screaming bloody murder. Debian’s systemd maintainer resigned because he was getting death threats.

    It’s enough to make me want to tell everyone to start running systemd-based distros in order to drive home the message that they will not win any arguments this way and this is not how you conduct a debate over the merits of different technologies.

  211. >This is why Google uses protobufs — for almost everything.

    Let me tell you something I recently learned about protobufs. You flip a switch and it is textual.

    Google – which is steeped in Unix culture and understands the design principles I’m talking about very well – did a smart thing. They built their IPC so that they can extract the last few percent (and it is only a few percent) by going to binary. But you damn betcha they build and debug with the switch flipped to “textual”, and protobufs exists precisely because they get it about partitioning into small communicating services.

  212. But you damn betcha they build and debug with the switch flipped to “textual”, and protobufs exists precisely because they get it about partitioning into small communicating services.

    Mmmmno, the Google devs I know just use the binary protobuf format, by and large. Using protobufs in either case is a matter of setting the members of a C++, Java, or Python object and calling a serialize method, or calling the deserialize method and reading the members. All the format stuff is handled by the serialization layer — which is a fixed point. If you are debugging higher-level application logic (which you are like 90% of the time), it shouldn’t matter which format is actually used on the wire. If you are debugging the wire protocol itself, having a switch to throw to give you text dumps instead of binary is useful.

    But in the case of protobufs it’s not as simple as a switch being thrown. You see, the binary format has features the text format doesn’t, like backward and forward compatibility negotiation and (previously) certain data types. Binary protobufs are protobufs; the text format, while a nice-to-have, appears to be a second-class citizen with only limited use cases. This leads me to the conclusion that even when debugging the wire protocol, Google developers strongly prefer the binary format.

    Once again — the performance advantages of binary are much greater, and the debuggability drawbacks much less, than someone steeped in Unix “truisms” might think, provided one uses a well-documented, well-debugged, and ideally open source serialization/deserialization layer like protobuf.

  213. > The difference between typed, discoverable, auditable interfaces with well-defined behavior semantics on the one hand and the ad hockery of text stream I/O going into arbitrary processes on the other is exactly akin to the difference between static and dynamic typing. Hint: Static typing leads to more correct, faster, and cheaper to develop code.

    Dynamic typing leads to faster development, and death of static typing programs by “worse is better” ;-)

  214. On the subject of changelogs and rewriting history (I was prompted to think on this again by @Jakub Narebski’s objection to a recent commit message you made in src), it occurs to me that a lot of the “problems” associated with rewriting history would be alleviated if commits had a persistent index that is not affected by alterations to past commits.

    In a DVCS environment, maybe the right way to do this would be a hash of current tree hash + previous tree hash + commit date [the last to keep them unique in the presence of changes that are repeatedly backed out and reapplied] as an alternate ID for a commit. Or maybe it’d be better to just go with a uuid.

  215. Hey Ted Walther, how is it going? Long time no see. It looks like debian is imploding, years after the progressives edged you out of the distro. It’s not the conservative, slow changing, rock pillar battered by the tide but paying it no mind, distro it once was.

    Linus has no problem with systemd either. :(

    Is there any way to get in contact with you?
    (Please ESR let this comment through)

  216. @JOrange They did not directly reject you for politics, they characterized you as “someone who routinely trolls Debian”. Can you produce evidence of them having characterized you as trolling in a situation where you were clearly not trolling?

  217. I’m more curious as to what it means to be “someone who routinely trolls Debian”. How, exactly, do you troll a distro? Or is it shorthand for “we don’t like this person because we don’t”.

  218. The “trolling” they refer to is shorthand for advocacy of non-progressive positions and possibly campaigning against systemd. Alternative viewpoint advocacy is equal to trolling.

    They rejected the opensource program because they did not like the author, it’s as simple as that, and they have stated this.

    06:51 o11c: why not?
    06:52 is it because you don’t like the author
    06:52 I think that’s why
    06:52 yes
    06:52 you’re an asshole
    06:52 I don’t like you

  219. > How, exactly, do you troll a distro?

    I have no idea about the specifics, but Debian, like many other open-source projects, has its mailing lists, its chatrooms, and its blog comment sections. It might even have newsgroups. All of the preceding are places where trolling is generally recognized to be possible.

  220. @Michael Hipp

    No idea what keyword filter I tripped with my last post. The important bit was “I have no idea about the specifics, but Debian, like many other open-source projects, has its mailing lists, its chatrooms, and its blog comment sections. It might even have newsgroups.”

  221. No idea what keyword filter I tripped with my last post. The important bit was “I have no idea about the specifics, but Debian, like many open-source projects, has mailing lists, chatrooms, etc.”

  222. Seriously?

    No idea what keyword filter I tripped with my last post. The important bit was “I have no idea about the specifics, but Debian, like many open-source projects, has mailing lists, IRC, etc.”

  223. And now that I know what it was:
    > How, exactly, do you troll a distro?

    I have no idea about the specifics, but Debian, like many other open-source projects, has its mailing lists, its IRC channels, and its blog comment sections. It might even have newsgroups. All of the preceding are places where trolling is generally recognized to be possible.

    (Describing IRC channels generically with an eight-letter word starting with C is apparently a forbidden word)

  224. @Mike Hanover

    I can be contacted the same way I always have. Google search is your friend.

    If you are the same Mike USA who contacted me before, please leave me alone. I don’t approve of your views advocating violence against women and appointed officials. If you want to make the world a better place, you need a better concept of what “better” is. Perhaps you have matured in the five years since we last talked. I hope so.

    @JOrange

    Linux started out as progressive from the beginning. Linus Torvald’s parents were members of the Communist Party. Richard Stallman was always progressive, with strong socialist leanings. Expecting the Free Software movement to be something it isn’t, and has never been, is crazy. The Freedom in “Free Software” has its roots in the same “Liberty” that the Jacobins advanced in their reign of terror, 1776. (French Revolution).

    The Puritans were also progressives in their day; over the years they evolved into modern day Unitarians, those most Progressive of East Coast WASPs.

    @Random832 You can “troll” a distro by trolling on their communication media. There is a fine line between trolling and coming at things from a different point of view. The original Libertarians of the movement are mostly gone, and the remaining SJW in the Free Software movement have low tolerance for people with non-progressive points of view. There are a few small projects of value and worth that ignore your politics as long as you keep them to yourself. I smelled a rat years ago when I was at the various conferences, and people were badmouthing esr, for the most trivial of reasons.

    If your views are too different from the groups, they will label you a troll even if you are sincere. If you want to play with progressives on their turf, either be one of them, or don’t cry about the pushback.

    Debian isn’t imploding, but it has become irrelevant. The quality has kept going down. Starting in the last year, I notice that simple package installations involve lots of breakage, and mass downgrades or package removals. aptitude is so bad I stick to command line apt-get. At least that lets me catch bad package conflict resolutions before the removals and deletions start.

  225. I feel the decline in Debian is a reflection of two things:

    A) The Linux ecosystem itself has been subverted by people who don’t respect the Unix Philosophy or social contract. We’ve had enough time; Linux could have converged a lot closer to Plan9/Inferno/Rio than it has.

    I read a statement by Ken Thompson (I think) that Unix was originally envisioned not only as an OS, but an OS that a community could form around. The famous “Unix Room” at Bell Labs. Sounds like fun. Unix the OS started out as a computer game. But somewhere it lost its way, and noone seems to be able to find it. Perhaps QNX and Plan9 came closest. Linux in the beginning came close. Then in 2006 things started breaking. And continued breaking.

    B) Debian is largely filled with sysadmins who are repackaging others software. It relies on others to do the hard coding. The recent breakage in Debians crown jewels (apt/dpkg) shows they don’t have the coding muscle to do much other than package what is there. So you can’t blame them for systemd. They have to swallow the pill they are given. Contrast this with OpenBSD: nginx went a direction they didn’t like, so they implement their own web server. Mail server wasn’t to their liking? They made their own. Packet filtering, bgp routing, etc. OpenBSD is smaller and has less resources than Debian, but it has a similar number of packages, and also has a coherent base system.

    I don’t like systemd, but Lennart recognized a need for a small base system to build on, and is providing it. Too bad he is dragging Linux into the direction of VMS/NT instead of toward Plan9.

    What I would like to see is this:

    Linux kernel, grub boot loader
    Plan9 userland, including Rio
    BeOS things for fast multimedia, audio, video
    NeXT things such as display postscript for screen independance, possibly updated to SVG

    Plan9 and NeXT have some properties that make Docker almost unecessary.

    Probably won’t happen. The “portability” that made Unix popular works against such a software configuration. There are other eco-systems out there that are already portable, and people expect them to run on top of the OS. The competitors are the web browser, essentially a mini-OS on its own these days, very hard to reimplement. Worse, the implementations are in C++, which is a big hairy world of its own.

    I suppose if qemu was ported to Plan9, and it ran in a Rio window… no, then there would be the cut and paste problem.

    If the web browser was “solved”, extracting it from the C++ world, the rest of the design could probably be whipped up fairly quickly with a small team.

    Once an OS bites the C++ bullet, it is just bloat all the way down.

  226. > How, exactly, do you troll a distro?

    You say you don’t like systemd, or say you don’t like feminists, or you don’t like transgenders running things, or anything anti-leftist.

  227. Ted Walther;

    “If you are the same Mike USA who contacted me before, please leave me alone.”
    Well I contacted you through email initially, it is you who wished to talk
    via voice chat. You were friendly for awhile. Do you not remember though, that
    it was I that no longer wished to talk to you once you showed your dislike
    of deuteronomy 22 28-29 in it’s original reading in the original language?
    That was some time after the initial contact though, some long time infact
    If I can recall correctly.

    The idea that a 30 year old w could be as… well you know the rest.
    (I’m sure you rember our conversations now)

    “I don’t approve of your views advocating violence against women and appointed officials.”
    I see your run in with the law has tamed you.

    “If you want to make the world a better place, you need a better concept of what “better” is.”
    Better is not better for all, it never was and never will be.
    I don’t want to make the world a better place. I want it to be better for people like me.

    “Perhaps you have matured in the five years since we last talked.”
    Nope. I don’t change. I aim for consistency.

    “I hope so.”
    A man at the bottom of a well hopes for company too.

    Opensource billed itself as being all about the code, not *group rights.
    And it was that for a long time. As was Free Software. It was a somewhat
    (socially)* tough place where men built whatever they wanted. Then there was the purge
    and out the door such men were thrown, you included. That should never
    be forgiven, nor should they be held to any standard but the original
    standard (which they still pretend to profess).

    *Debian was legendary for this.

  228. Mike, *sigh*. You can put lipstick on a pig, but it will never fly. Free Software is one movement, Open Source is another, and “Unix” is yet another. They split for a reason. Debian is a Free Software project first, not an “Open Source” project. The SJW have infiltrated everywhere because that is what people want. There are some deep psychological things going on, and you aren’t grasping them.

    Your idea of “literal interpretation of the original language” was flawed. You didn’t show any knowledge of Hebrew, or of the context and foundation needed to interpret it. You don’t understand the syncretism of the ancient imperial mythologies (Babylonian, Egyptian, and Hittite) that led to it. If the SJW don’t want you in their club, then make your own.

    Since esr has an affinity for Pan, I’m interested in his view of Ea/Enki.

    If you still want to talk, read Howard Bloom’s “Lucifer Principle”. Then read up on Calhoun’s rat experiments viz overpopulation. Open Source and Free Software are almost irrelevant compared to the larger societal trends going on right now. The Internet has accelerated the worldwide pace of social change, and united humanity in ways never before experienced. Things are going to get real very soon. They already are. Usually it takes an empire a few hundred years to decline. The Internet is a game-changer; it could happen much faster now.

    Yes, Brandon Eich was tossed out on his ear. That is the world we live in. Society is entering Phase 3. Tremble if it ever gets to Phase 4. (as defined by the Calhoun experiments) The Georgia Guidestones begin to look pretty good compared to Phase 4.

  229. >>“I don’t approve of your views advocating violence against women and appointed officials.”
    >I see your run in with the law has tamed you.

    Even in our first conversations I warned you against advocating violence or any illegal acts. I haven’t changed. I hope your memory is faulty, rather than dishonest.

  230. ESR: Could you revive the opensource movement, where code is what mattered,
    not pure ideology. There was a tipping point around 2006 where it became
    required to subscribe to the whole progressive menu platter. Could you
    bring back the good times some how. The libertarian times as Ted puts it?

  231. “Even in our first conversations I warned you against advocating violence or any illegal acts. I haven’t changed. I hope your memory is faulty, rather than dishonest.”

    My memory is probably faulty. I lose alot of it when I do months of coding on end (all game coding)
    There are just some things that keep, and perhaps false memories are constructed
    to fill in the gaps. You sounded defeated in you previous posts but now you sound
    more like I remember you.

    I really wish the OpenSource movement would come back. That’s what I joined I think,
    it was early 2000s. If this, now, is what the Free Software movement is, a big
    amaglam of things – of beliefs one has to subscribe to, it’s a shame that it’s
    acendant while opensource and unix ideals are suppressed currently. Up untill
    the early 2000s I never heard of linux etc, so I don’t think it was the free
    software movement that made the big things happen. I never really thought about
    it though before, I just released all my stuff GPL v2 or sometimes BSD and
    that was that. Right now there some SJW type devs saying I’ve never contributed
    anything or suggesting that I just now free’d my music: I’ve done that
    the whole time, and I’ve contributed gigabytes of media and years of programming
    to free software. But none of that matters because I don’t swallow the rest
    of the pill?

    Eric S Raymond: Can you please bring back the winning formula and the right guys
    to lead it. Opensource, show us the code etc, is the right way, and I can do fine
    in that environment. What you believed didn’t matter, freedom of speech reigned,
    people weren’t kicked out for opposing special interest groups.
    The other thing where “show us the code” is just a slogan…
    well anything I do is worthless to them (or just doesn’t exist with a proclamation somehow)

    Opensource and Unix are what worked and won the dataserver, won the laptop,
    won alot. That’s the pinnacle.

  232. >ESR: Could you revive the opensource movement, where code is what mattered,
    not pure ideology. There was a tipping point around 2006 where it became
    required to subscribe to the whole progressive menu platter.

    It never went away. I didn’t experience your “tipping point”.

    The SJWs will pass. They overreached and are self-destructing now; the public reaction to #shirtstorm is an index of this.

  233. Misogynist Hangover,

    You do realize it was a woman who coined the term “open source” w.r.t. software, don’t you?

    If you’re so threatened by women in open source, maybe the shit you put out just isn’t that good?!

  234. >You do realize it was a woman who coined the term “open source” w.r.t. software, don’t you?

    While this is true, and Chris Peterson is an old and valued friend of mine who I am always careful to credit about this because she deserves all the respect having coined the term implies and more, it’s actually a bad counter to the misogynist argument.

    The particular scum of the earth we are dealing with here are retailing a version of the claim that when women are credited with contributing to open source, or STEM in general, it generally turns out they were doing talk or politics or marketing rather than the actual hard work – and that where they achieve political entry the hard work tends to be devalued in favor of talk/politics/marketing.

    You can’t refute this by pointing out that Christine invented the term “open source” because that was, in fact, a talk/politics/marketing move. A brilliant one! It’s more responsive to point out that this doesn’t necessarily pull in a collectivist/left/feminist direction. Christine is a libertarian and she understood the element of implicit decentralist/pro-market subversion in what I was trying to pull off quite well, thank you.

    The larger problem is that there is some actual truth to the misogynist argument. Women have a different statistical distribution of relevant abilities than men do. If you create an artificial requirement that women be represented and rewarded equally to men in any STEM field, you will necessarily devalue the things that men are in aggregate better at doing (solitary concentration, math, handling hard logic) in favor of talk/politics/marketing.

    Of course, the correct answer is to not set up that artificial requirement and let the distribution of men and women in STEM be what the nature of the work demands. But then it will be lopsided, because most women cannot generate the required kind of monomania (and there’s the well-known problem with differential IQ dispersion as well). Idiots and and political shit-stirrers will interpret the natural result as “institutional sexism”, and we’re off to the races again.

  235. Eric,

    I was specifically addressing the implication by the scum of the earth that the open source movement is a place where Men are Men and crush code without interference from the womenfolk; whereas the free software movement has been taken over by SJWs and other ne’er do wells in an attempt to turn development into a conflict-free tea party or ice cream social dominated by ineffectual women. I was not speaking to his broader claims about women’s capability, which are just as fallacious.

    I recognize that Christine’s cited contribution to open source was marketing and not engineering, but it is sufficient to establish that the open source movement is not like the country club from Stepford Wives, where men gather to be all manly, free from the threat of the women making substantive contributions to society.

  236. “sufficient to establish that the open source movement is not like the country club from Stepford Wives, where men gather to be all manly, free from the threat of the women making substantive contributions to society.”

    Saw one woman involved in opensource before the arrival of the geek-feminists.
    It was like a country club, it was exactly like that but on the internet. Almost everyone was a male and you could do and say whatever you wanted. There was no interference. And then ~2006 happened.

  237. @Mike Hanover
    “Almost everyone was a male and you could do and say whatever you wanted.”

    What, no flame wars?

  238. There were more flame wars before the women joined in 2006 or so. You didn’t get banned for them either. There was more freedom. Software like “hotgirls” existed in debian, it was subsequently removed by the women and their supporters. They are about cencorship and pushing through their views. Strangely they all seem to support the systemd takeover in Debian aswell (don’t know why, but they’re totalitarians).

    Ted Walther: I’m aware of the history of the old testament. I like the version that we have. You liked it too some years ago, but now you’re beyond it? Is it because things you didn’t like were pointed out (perhaps I helped in that)?

    I always wonder why almost no one in the world, no man, can accept those things. Why don’t western men like girls? What’s so good about women? Is it just every dog needs a master (the man being the dog ofcourse) and this taught since birth?

  239. >Is it just every dog needs a master (the man being the dog ofcourse) and this taught since birth?

    Stop now. This blog is not a forum for your sick, misogynistic bile. I refrain from banning you only because even a werewolf may have truthful observations to make about matters of fact, but you are skating close to the edge. If you cannot stick to objectively testable claims about what you think has happened in the hacker community, you will be banned.

  240. >As you seem to know about these early days. Is it true that women at hacker conferences were invited to “private pillowfight parties”? Or asked to remove clothes for a contest?

    First, I laugh at the idea that before 2006 constituted “early days” of the hacker culture. Try before 1986.

    Second: why would you imagine anything at Defcon would be relevant? Those people are not hackers, however desperately they might wish to claim the term.

  241. @esr
    I should use [sarcasm] tags more often.

    I was doinf Fortran on Data General in 1986 (bleh). Not much hacking.

  242. Hackers behaving badly is so endemic that red and yellow “creeper cards” are now regular features at open source conventions. Virtually all the major cons coordinate with the Ada Initiative to define and enforce appropriate standards of conduct. This wouldn’t be necessary if misogyny weren’t so ingrained into the hacker culture. But it is so here we are.

  243. I don’t see what women have to do with systemd. Systemd is part of a broader architectural change in Linux as a whole, a move from Unix primitives like pipes and sockets as the primary process control mechanism to D-Bus. The D-Bus message bus is the central abstraction around which the FOSS ecosystem is built; systemd just brings that flexibility and control to the init system. Women like it presumably for the same reasons most men do: it makes Linux easier to manage and far more flexible.

  244. @Jeff Read :… wouldn’t be necessary if misogyny weren’t so ingrained…”

    Jeff … you and the other shrieking SJWs can’t seem to take a breath without including the word “misogyny” in there somewhere. I don’t think the word means what you think it means. I’ve been in and around this technology for most of my 54 years and I’m pretty sure I’ve never met an actual misogynist. Anywhere.

    Jeff, people who are fed up with SJWs and other variants of totalitarian leftism always trying to tell us what to think and wanting to impose their will on every facet of our lives aren’t misogynists.

    Any why do I waste my time trying to educate those who insist on being willfully ignorant?

  245. Jeff Reed: why should hackers (or anyone) change themselves to your liking? What you are describing is a clear conspiracy (“coordinated with Ada initiative”) to force behavioral change on a targeted group (male hackers). Thank you for confessing.

  246. Nope. You got that one wrong. What DBus is, is a daemon (always running), now required, sitting there, waiting to be exploited. Also an end run around unix permissions.
    (And yes it has had exploits allready). The kernel just wasn’t enough of an attack surface.

    FOSS didn’t used to use DBus at all. I only noticed it recently when a CD burning program now required it to be running. A CD burning program which worked fine before DBus existed.

    Thank’s for taking everything over and making it less secure and turing it to garbage,
    you know : all these programs which existed and worked fine before your “we” (whomever that is) injected yourselves and took over.

    ” a move from Unix primitives like pipes and sockets as the primary process control mechanism to D-Bus. The D-Bus message bus is the central abstraction around which the FOSS ecosystem is built; systemd just brings that flexibility and control to the init system. Women like it presumably for the same reasons most men do: it makes Linux easier to manage and far more flexible.”

  247. > clear conspiracy to force behavioral change

    Regardless of the specifics… are you unable to conceive of the idea of a form of behavior being immoral?

  248. > What DBus is, is a daemon (always running), now required, sitting there, waiting to be exploited. Also an end run around unix permissions.

    Couldn’t one say the same about the TCP-IP stack – even down to being an end run around unix permissions – except for the fact that it lives in the kernel rather than being a daemon?

  249. @Michael Hip
    “Jeff, people who are fed up with SJWs and other variants of totalitarian leftism always trying to tell us what to think and wanting to impose their will on every facet of our lives aren’t misogynists.”

    Neither Jeff nor anyone else here was trying to change how you think, just how people behave in company. And the only facet of your life that is at stake is how you behave around strangers, more precisely, women.

    The behavior discussed in the link I gave is well known to drive women away. Not just in liberal US circles, but everywhere in the world during all of history. (actually, men have paid women to subject to it, and they have to pay handsomely)

  250. Neither Jeff nor anyone else here was trying to change how you think, just how people behave in company.

    I can’t speak for anyone in this thread specifically, but purging incorrect thoughts is precisely what the SJW brigade is after, as evidenced by their constant kafkatrapping into the conclusions that (1) all Privileged People are $FOO\ist and (2) even mental $FOO\ism confers moral and, if at all possible, legal culpability. The retreat into holding up implicit-association tests like crosses to vampires makes this blindingly clear.

  251. Jeff, people who are fed up with SJWs and other variants of totalitarian leftism always trying to tell us what to think and wanting to impose their will on every facet of our lives aren’t misogynists.

    I’m talking about actual documented sexual assault and harassment of women taking place at cons, including inappropriate remarks, being hit on inappropriately, and being groped. I’m not conflating men objecting to SJWism with misogyny, I’m describing actual misogynist behavior as misogyny.

    That said, if you are aware of the problems with the way women are treated at public open-source community gatherings, and your main problem is still with the big bad SJWs, then you are — at best– objectively pro-misogynist.

  252. @Christopher Smith
    “I can’t speak for anyone in this thread specifically, but purging incorrect thoughts is precisely what the SJW brigade is after,”

    What you think other people at other times in other places are trying to do has little to do what Jeff or I are writing now and here. This discussion is rather pointless if you do not answer our writings, but the words of other people we do not even know of.

  253. @Jeff Read “I’m talking about actual documented sexual assault and harassment of women …”

    No you’re not. Because both these terms have been co-oped by the SJWs and have become so vague as to be meaningless. According to the feminists, anything they don’t like is assault, harassment, rape, misogyny.

    “That said, if you are aware of the problems with the way women are treated at public open-source community gatherings, and your main problem is still with the big bad SJWs, then you are — at best– objectively pro-misogynist.”

    Jeff, this is one of the first problems with the shreiking SJWs: they don’t know how to use words correctly. Or more likely, they intentionally misuse them to criminalize everything (see above).

    Misogyny means “dislike of, contempt for, or ingrained prejudice against women.” I don’t know anyone like that. I’ve never been to a FOSS conference, but the reports I read of things alleged to have happened and being labelled as misogyny are uniformly not. Unprofessional things happen everywhere, not just at FOSS conferences. Immoral things happen everywhere. Google “slut walk” and get back to me with an explanation of how the cheering of this sickening phenomena squares with what is supposedly happening at FOSS conferences.

    I have a deep hatred of feminism and the damage it has done to women and to our civilization and culture. But feminism != women.

    Besides, if the shreiking SJWs are so put off by whatever embarrassing behaviors are taking place at FOSS gatherings, why don’t they just start their own conference and show them how it’s done. The innate superiority of it would surely be immediately obvious to everyone would it not.

  254. @Michael Hip
    “I have a deep hatred of feminism and the damage it has done to women and to our civilization and culture. ”

    I am confused.

    Do you mean you hate voting rights for women? Or the right to study and work? The right to own property? Independent living? The right to keep her children after a divorce? The right to have a divorce? Equality before the law?

  255. @Winter “Do you mean you hate voting rights for women? Or the right to study and work? The right to own property? Independent living? The right to keep her children after a divorce? The right to have a divorce? Equality before the law?”

    I am confused.

    What do any of those things have to do with feminism?

  256. @Winter on “They are Feminism. For 90? of women.”

    I assume that was supposed to be a percent sign.

    Then your assertion is that 90% of women are gullible, confused, illogical, unobservant, mere tools, useful idiots.

    I deny that.

  257. @Winter, @Michael Hipp, I think you’re both being dishonest about your understanding of the other’s usage of the term Feminism, and of the range of meanings that the word can have in general.

  258. @Winter
    “Feminism
    : the belief that men and women should have equal rights and opportunities
    : organized activity in support of women’s rights and interests”

    All you’ve done is pointed out that feminism is founded on lies. Perhaps the main lie being its purpose. Surely you don’t think that definition is consistent with what feminists do today?

    @Random832 “@Winter, @Michael Hipp, I think you’re both being dishonest about your understanding of the other’s usage of the term Feminism, and of the range of meanings that the word can have in general.”

    No, I’m not being dishonest. I am a pragmatist. I judge things by their practical effects. So my definition of feminism is consistent with observation. And worrying about the “range of meaning” would only be giving place to the lie of what feminism claims vs. what it actually does.

  259. Re: Winter
    “They are Feminism. For 90% of women.”

    Actually, per a Huffington Post poll, only 23% of American women (16% men, 20% overall) identify as feminists. But that same poll shows 82% believe that “men and women should be social, political, and economic equals.”

    I would argue that this demonstrates that the term “Feminist” as used by Americans today does not mean “voting rights for women? Or the right to study and work? The right to own property? Independent living? The right to keep her children after a divorce? The right to have a divorce? Equality before the law?”

    In the past it did mean that, and I would prefer if it still did. But it doesn’t, and I believe this is largely due to SJWs abusing the term, crying wolf. If being a feminist means being outraged over Matt Taylor’s shirt, then I don’t find it surprising that only a minority of them population identify as feminists.

    http://www.huffingtonpost.com/2013/04/16/feminism-poll_n_3094917.html

  260. @Random832
    “@Winter, @Michael Hipp, I think you’re both being dishonest about your understanding of the other’s usage of the term Feminism, and of the range of meanings that the word can have in general.”

    Then you (or Michael) should be a little more specific. I quoted the dictionary definition. I am totally ignorant about the current political propaganda in the USA (I assume you want to refer to that). I know the meaning of the word “Feminism” in the rest of the world, e.g., Europe, the Arab world, Indonesia, India, South Africa, Japan, China, South America. If you dismiss Feminism as a disaster for the world, you are dismissing the rights of these people too.

    @Michael Hip
    “All you’ve done is pointed out that feminism is founded on lies. Perhaps the main lie being its purpose. Surely you don’t think that definition is consistent with what feminists do today?”

    When I was a young boy, women were fired when they got married, birth control was illegal, women were “discouraged” to drive cars. I have witnessed teachers, up to the university, who mocked female students who wanted to take up a serious study. Some even refused to take female students in their department. Women had to switch career because there was no future in their chosen profession as a woman. I remember the times when abused and raped women were send home by the police.

    And what feminists do today?

    I’m a girl campaign
    http://plan-international.org/girls/

    Souad al Shammary in Saudi Arabia
    http://www.marietjeschaake.eu/2014/11/written-questions-on-the-case-of-souad-al-shammary-in-saudi-arabia/

    End violence
    http://www.endvawnow.org/en/articles/185-sexual-harassment.html

    So, please be more specific about what it is you are hating if it not the the feminism above.

  261. @Beolach
    What distinguishes these people who use the label “Feminism” from those who abuse the term “Liberalism”, “Conservatism”, or “Christian”?

    There are people in the States who bomb abortion clinics in the name of Christ. Another bombed a federal daycare center in the name of freedom. Yet another bombed scientists and airlines to protect the American Way.

  262. @Winter “I am totally ignorant about the current political propaganda in the USA”

    And I don’t know the current political propaganda in Estonia or Chile, so perhaps we talk past each other. But I thought the nominal topic at hand was the alleged misogyny at (mostly American?) FOSS conferences and their presumed succors the feminists.

    “When I was a young boy, women were fired when they got married, birth control was illegal, women were “discouraged” to drive cars. I have witnessed teachers, up to the university, who mocked female students who wanted to take up a serious study. Some even refused to take female students in their department. Women had to switch career because there was no future in their chosen profession as a woman. I remember the times when abused and raped women were send home by the police.”

    To my knowledge, none of those things existed in the US in the latter half of the 20th century when most of my opinions formed. So if those are the ills that feminism is supposed to cure, then why do we have so very much of it in a place where it is not needed?

    “e.g., Europe, the Arab world, Indonesia, India, South Africa, Japan, China, South America. …
    http://plan-international.org/girls/
    Souad al Shammary in Saudi Arabia …
    http://www.marietjeschaake.eu/2014/11/written-questions-on-the-case-of-souad-al-shammary-in-saudi-arabia/ …”

    Perhaps it’s just me but it strikes me as odd that you include Europe and Japan in with a list of places/countries where the main struggle is likely more about political liberty than about feminism per se. If you could wave a magic wand, would you give the Chinese feminism or something more like democracy and it’s presumed benefits? Does Saudia Arabia have more need of feminism than it does of a better form of government less beholden to Islam?

    Just to be clear, here I speak only of the US and my observations thereof: but in my lifetime I have seen no benefit whatsoever from feminism, but the destruction it has wrought on our government, culture, educational system, institutions, entertainment, industry, and morality is the equivalent of what American bombers did to German cities in late WWII. In the US, the feminists have total air supremacy and leave a trail of destruction in their wake.

    BTW, it would be a nice courtesy if you would at least quote my name correctly. It’s German, with two ‘p’s.

  263. including inappropriate remarks, being hit on inappropriately

    Few more flexible words in the English language than “appropriate”. What’s considered generally acceptable by the attendees–and not by, as Glenn Reynolds puts it, upper-class white academics–varies widely from con to con and even by situation within the con (particular venues, particular times or events, etc.). We have a recent example of when a woman’s kissing another man in front of her husband was considered “appropriate” behavior by all concerned.

    Furthermore, cons by their nature tend to attract people who are socially clumsy or oblivious on both ends of interactions, and I recall a survey in which the majority of complainants acknowledged that they hadn’t actually expressed their discomfort or disinterest to their “harassers”. It’s perfectly reasonable to insist that attendees stop pursuing someone after being explicitly asked to, but it’s typical othercrime to claim that someone’s feeling uncomfortable is itself an actionable offense.

  264. Re: Winter
    > What distinguishes these people who use the label “Feminism” from those who abuse the term
    > “Liberalism”, “Conservatism”, or “Christian”?

    In the case of “Liberalism” & “Conservatism”, very little. If I compare the strict dictionary definitions of the terms with how they are commonly used in America, there are significant differences. The differences are perhaps smaller & less negative than with “Feminism”, but I do see the same shifting of meaning happening with both “Liberalism” & “Conservatism”.

    “Christian” is actually different, because while there are some instances of people using the term in a way that does not match the strict dictionary definition, the correct (dictionary definition) usage is still much more common.

    > There are people in the States who bomb abortion clinics in the name of Christ. Another
    > bombed a federal daycare center in the name of freedom. Yet another bombed scientists
    > and airlines to protect the American Way.

    I don’t think bombings are a useful illustration of people changing the meanings of words – those instances are way too rare & extreme, and so can, should, and are discarded as meaningless outliers that don’t actually affect the common meaning of a word. What I was referring to is more subtle (but “more subtle” relative to bombings isn’t saying much).

    Take your list of meanings for “Feminism”: voting, study and work, owning property, independent living, keeping children after a divorce, have a divorce, equality before the law. In America, all of those things are fait accompli (and I’m not interested in arguing this – no, we’re not perfect, but all of those are still already achieved). So, if those are the objectives of “Feminism”, then “Feminists” should be focusing most of their energy on other places in the world where that isn’t the case. From skimming your recent links, this does seem to be your main focus, but frankly I think you’re in the minority.

    As I wander through mainstream & social media in the USA, I’m much more likely to see “Feminism” focusing on the USA, with different objectives from what you listed: micro-aggressions, gender pay-gap, under-representation in STEM (due to offensive shirts!), cat-calling, domestic abuse… things that are poorly supported or directly contradicted by facts, or are the natural results of human nature (sexual dimorphism). Even if/when I accept some of these things as valid problems, the scale is vanishingly small, but blown enormously out-of-proportion by “Feminists”.

  265. >We have a recent example of when a woman’s kissing another man in front of her husband was considered “appropriate” behavior by all concerned.

    On the other hand, in that same social context some forms of sexual aggression that are relatively OK in some U.S. subcultures – such as, say, pinching a woman’s butt – would be very, very frowned upon. The population of SF conventions is mainly drawn from the college-educated white middle class, which is notably restrained in its sexual behavior. The high incidence of polyamory doesn’t actually change this; when I expressed discomfort about kissing an intoxicated woman I was exhibiting values that the sober husband understood perfectly.

  266. All I know is – over the past 30+ years of my life, it’s become more and more dangerous to be around a woman. And much as I might be interested in ballet and gymnastics, I’m damned sure not going to go to a recital or meet, as I have no kin folk there, and I have no interest in being accused of being a pedophile.

    As for the whole feminist thing, here’s one woman’s take on it – very well documented. http://check-your-privilege-feminists.tumblr.com/post/95979451581/i-dont-understand-how-are-you-not-a-feminist

  267. Jeff Read Said: “I’m talking about actual documented sexual assault and harassment of women taking place at cons, including inappropriate remarks, being hit on inappropriately, ”

    In response to Jeff Read:
    “including inappropriate remarks”: Nothing wrong with that. Freedom of speech. Freedom to date.
    “being hit on inappropriately,”: Nothing wrong with that either aslong as she’s not with another man allready. (Freedom of speech, freedom to attempt to pick up women etc)

    You’re all about controling men’s words, thoughts, and actions. If they don’t comply with your programme you eject them. If they STILL don’t comply with your progamme you seek other “sanctions” be it attempting to have the man fired, arrested, or attacking his work or contributions and having them removed so no one else can benefit from them or even know he built anything

    (Like the old soviet airbrushing of people out of history)

    (PS: how are your “sanctions” against Putin and his friends going? He and his friends do
    all the things you complain that hackers do, and they’re proud of it and won’t stop
    even if you start a hot war with Russia, AND they export their ideals and help other
    countries stand up the the “west” and the “standard of behavior” that you and yours have
    pushed on the world)

    I’m really rooting for Russia these days. I hope it changes the world: changes it back.
    Honestly it’s shocking what they’re doing and so suddenly. I always thought of them
    as a bedrock of all things you admire but it looks like they decided to turn around.
    Like a shot out of the darkness, coming just at the right time.

    Russian Obstructionists :) Bless them.

  268. @Beolach
    “As I wander through mainstream & social media in the USA, I’m much more likely to see “Feminism” focusing on the USA, with different objectives from what you listed:”

    I consider access to birth control, pay gaps and sexual harassment (M/F) still to be worthwhile subjects for feminists even in the moderns USA. Also the more subtle forces that guide boys and girls away from opportunities and professions they might want to explore warrant attention. And women among the recent and not so recent immigrants could use some help too.

    @Mike Hanover
    ““including inappropriate remarks”: Nothing wrong with that. Freedom of speech. Freedom to date.
    “being hit on inappropriately,”: Nothing wrong with that either aslong as she’s not with another man allready. (Freedom of speech, freedom to attempt to pick up women etc)”

    So, you would protect gay men who invade a convention to do the same, during all waking hours? Because, my understanding is that if gays would try this in the USA, they would very often find themselves in hospital.

    @Mike Hanover
    “PS: how are your “sanctions” against Putin and his friends going?”

    It seems it is going along fine:

    And there’s the rub. The ruble crashing won’t change anything today or tomorrow, but this is just the system starting to eat itself, this is just the system starting to crack. As I’ve written before, historically, economic crisis triggers political crisis in Russia. No one knows when one of those cracks brings the whole thing down, but there’s a growing sense in Moscow that it will happen sooner than we all think. Putin seems intent on it.

    http://www.newrepublic.com/article/120201/russias-ruble-value-collapsing-due-sanctions-stagnation

    It is a game that needs a sensitive touch. We do not want Russia to collapse, but the pain must be big enough to deter Putin. Not necessarily drive him out of the Crimea and Eastern Ukraine. An occupied Eastern Ukraine will be a continuous drain on Putin’s reserves. But enough pain to prevent any new adventures towards the Baltic and Kazakhstan.

    Note that Putin has destroyed his prospects for a great Eurasian empire that controls the old members of the Soviet Union.
    https://alfinnextlevel.wordpress.com/2014/10/27/grand-eurasian-empire-stumbles-at-the-gate/

  269. I consider access to birth control, pay gaps and sexual harassment (M/F) still to be worthwhile subjects for feminists even in the moderns USA.

    Birth control in many forms is universally available to women, and now the federal government is mandating zero-dollar insurance coverage for it. No coverage for condoms, by the way.

    Studies routinely show that women in the same jobs as men with the same experience as men tend to be paid more, while men make up nearly 95% of on-the-job fatalities, in addition to usually working significantly more hours in salaried jobs than their female counterparts.

    Treatment of sexual harassment is, in most cases, so thoroughly stomped on that even in these liberated times I hear more complaints about mysteriously missing Men than I do about harassment. On the other hand, actual real harassment–such as by explicitly blaming men for perceived ills for which they bear no personal responsibility–is accepted as part of the mainstream discourse.

    Because, my understanding is that if gays would try this in the USA, they would very often find themselves in hospital.

    I presume your understanding is also that, as I live in Texas, I ride a horse to work.

  270. @Winter “Also the more subtle forces that guide boys and girls away from opportunities and professions they might want to explore warrant attention.”

    Thank you for including “boys” in this. At any other blog you’d probably be banned, as the current policy in the US is that boys are to be drugged, shamed, labelled as rapists, expelled for playing Pop-Tart gun, last on the list for admittance to University, and sanctioned exhibiting even the mildest symptoms of masculinity.

    That, Winter, is feminism in the USA.

    The only comfort is knowing that it will be a very short-lived phenomenon.

  271. @Christopher Smith
    “I presume your understanding is also that, as I live in Texas, I ride a horse to work.”

    I am glad to hear that gay-bashing is a thing of the past in the USA.

  272. @Winter

    When you listed the lofty items alleged to be the goals of worldwide feminism, did it include establishing arbitrary quotas on boards?

    Perhaps this is a French conspiracy to take down the German economic juggernaut :-)

    ‘Germany to introduce legal quotas for women on company boards’
    “Chancellor Angela Merkel’s coalition parties agreed on Tuesday to a draft law that would force Germany’s leading listed companies to allocate 30 percent of the seats on non-executive boards to women from 2016 onward.”

  273. “The only comfort is knowing that it will be a very short-lived phenomenon.”

    Nope, it will keep getting worse forever. America only goes one way.

  274. @Michael Hipp
    “When you listed the lofty items alleged to be the goals of worldwide feminism, did it include establishing arbitrary quotas on boards?”

    That was in the news yesterday. What was also in the news this week was the president of Turkey explaining why women should not be allowed to work.
    http://www.bbc.com/news/world-europe-30183711

    Note that the demographics of Germany require that everyone should be recruited to work the best job they can.

    Making sure that everyone has the same opportunities in life is indeed a goal of feminism, with a bias for women. You do not have to come up with the standard argument that “we want the best person for the job”, because there have been countless studies that people are unable to judge others objectively. Even if they want to. So I know institutions have often to be “coaxed” to make them hire women. That was necessary when they refused to hire any women at all, and it still seems to be necessary when they do not hire women in the boards.

    Blind auditioning increased hiring of female musicians
    http://www.uh.edu/~adkugler/Goldin&Rouse.pdf

    Gender bias in science is real
    http://blogs.scientificamerican.com/unofficial-prognosis/2012/09/23/study-shows-gender-bias-in-science-is-real-heres-why-it-matters/

    This is a fundamental fact about human judgments: It cannot be objective. You find the biases in every field of life. See the large amounts of studies on why we should insist on double blind testing in medicine.

  275. @Winter “What was also in the news this week was the president of Turkey explaining why women should not be allowed to work. http://www.bbc.com/news/world-europe-30183711

    Again, does Turkey need more feminism or just a better form of government less beholden to Islam?

    For some odd reason curiosity overcame me and I actually read the article. Did you? I inserted [] comments below.
    “”Our religion regards motherhood very highly,” he said. “Feminists don’t understand that, they reject motherhood.” [This is a correct statement.]

    He said women needed equal respect rather than equality.[Where is the problem with this statement? Especially given that equality doesn’t exist and never has and never will.]

    Mr Erdogan also told the Istanbul meeting that justice was the solution to most of the world’s issues – including racism, anti-Semitism, and “women’s problems”. [A laudable and rather bold statement coming from the leader of an Islamic country.]

    You desire objectivity. Can you explain how he is objectively wrong?

    “Note that the demographics of Germany require that everyone should be recruited to work the best job they can.”

    You offer no evidence or justification for this assertion. Is it possibly because feminism has put Germany into a demographic decline? Perhaps this is the trap the Turks wish to avoid.

    And I presume you’re doing the standard leftist trick of remaking words, where “recruited” is actually “forced at the barrel of a gun”. Because force is the only tool in the leftist kit.

    “Making sure that everyone has the same opportunities in life is indeed a goal of feminism, with a bias for women.”

    Earlier you said the goal of feminism was defined as “the belief that men and women should have equal rights and opportunities”. But now it’s “with a bias for women”.

    But I see, more leftist changing of words. Now “equal opportunity” is actually “forced outcome”.

    “You do not have to come up with the standard argument that “we want the best person for the job”,”

    Yes I do, because when posed a question, one should always offer the correct answer.

    “… because there have been countless studies that people are unable to judge others objectively.”

    And a 30% quota is somehow objective? Isn’t it more correct to say it is “arbitrary”?

    ” Even if they want to. So I know institutions have often to be “coaxed” to make them hire omen. That was necessary when they refused to hire any women at all, and it still seems to be necessary when they do not hire women in the boards.

    Now “coaxed” == “forced at the barrel of a gun”.

    Besides, who cares? If some institution wants to ignore more than half of the qualified recruits available to them why shouldn’t they be allowed to? If people want to be stupid shouldn’t they be allowed to be stupid? A better institution that is more objective and open minded could snap up all those that were arbitrarily excluded and put the other to shame. Wouldn’t that be a better outcome that would make a more lasting and powerful impact? Do you not have confidence that the truth would come out in the end?


    Blind auditioning increased hiring of female musicians
    http://www.uh.edu/~adkugler/Goldin&Rouse.pdf

    Gender bias in science is real
    http://blogs.scientificamerican.com/unofficial-prognosis/2012/09/23/study-shows-gender-bias-in-science-is-real-heres-why-it-matters/

    Thanks for the links. Looks like an interesting line of query. I didn’t read them for lack of time. But in any event I can’t assign much credibility to them because in 2014 the only objective position is to assume they are a biased study that started with a conclusion and worked backwards. SA is an openly leftist rag (I mourn for her). I might very well be wrong about these two “studies”, but I haven’t the resources to find out one way or the other.

    “This is a fundamental fact about human judgments: It cannot be objective. You find the biases in every field of life. See the large amounts of studies on why we should insist on double blind testing in medicine.”

    Correct. But where is the plan that is more objective? Pegging things at an arbitrary 30%?

    I will note that humans arrived at the very top of the food chain and have conquered most every obstacle in our path without being “objective”. Is there a better way? The burden is on the claimant to “objectively” prove it is better. I don’t think the feminists are up to it.

    In any event, where is the person who has ever claimed that humans are objective? I think “rationalizing” is a more correct characterization of humans.

  276. @misconator “Nope, it will keep getting worse forever. America only goes one way.”

    True. But different. It’s unlikely the USA will continue much longer. I wager we are headed toward civil war and balkanization. Feminism won’t survive contact with reality.

  277. @Michael Hipp
    Erdogan also said:
    “Women cannot do all the work done by men, he added, because it was against their “delicate nature”.”

    Which is only true for extreme jobs. Not the jobs women want to work in anyway.

    @Michael Hipp
    ““Making sure that everyone has the same opportunities in life is indeed a goal of feminism, with a bias for women.”

    Earlier you said the goal of feminism was defined as “the belief that men and women should have equal rights and opportunities”. But now it’s “with a bias for women”.”

    Actions are primarily towards helping women. The goal is still the same: Equality.

    > “You offer no evidence or justification for this assertion. Is it possibly because feminism has put Germany into a demographic decline? Perhaps this is the trap the Turks wish to avoid.”

    Now you are silly. The number of children goes down with income. That is a worldwide trend and not limited to Germany. The USA gets around that by importing massive amounts of immigrants from poor countries.

    > “And a 30% quota is somehow objective? Isn’t it more correct to say it is “arbitrary”?”

    No, 50% would be equal, but also not justified as there might be shortages due to lags in education. 30% is very reasonable and should be easily reached by any organization making a halfway decent effort.

    > “If some institution wants to ignore more than half of the qualified recruits available to them why shouldn’t they be allowed to?”

    Boards have a fiduciary duty to hire the best candidate. They fail because they ignore half of humanity and cannot show evidence that this half is unqualified. And they lie to the shareholders because they claim they look for the best candidate.

    > “If people want to be stupid shouldn’t they be allowed to be stupid?”

    They betray the trust of their shareholders.

    > “But in any event I can’t assign much credibility to them because in 2014 the only objective position is to assume they are a biased study that started with a conclusion and worked backwards.”

    They have data, you have fantasies. Just search for the subject and you can get as many studies as you like (and more).

  278. @Winter

    > Which is only true for extreme jobs. Not the jobs women want to work in anyway.

    So you agree with President Erdogan (differing in the details) and acknowledge that men and women are different and therefore not equal. And the real goal is to provide what “women want”.

    > Actions are primarily towards helping women. The goal is still the same: Equality.

    Equality of what? Opportunity or outcome?

    When does “bias” ever lead to “equality”? Is not “bias” the very thing “equality” is supposed to overcome?

    On US university campuses women now outnumber men. Yet there are no government mandates to correct this inequality. Because the goal was never equality.

    > The number of children goes down with income. That is a worldwide trend and not limited to Germany. The USA gets around that by importing massive amounts of immigrants from poor countries.

    The USA is committing suicide. Please don’t follow our lead.

    If the number of children is going down, is it really the best policy of government to accelerate the trend? Surely it is understandable that the Turks might not wish to follow the West on this path. (Beyond that I’m unlikely to sympathize with much of the Islamic position, but I do at least have enough intellect to *understand* what their motivations might be and realize those motivations have some arguable merit.)

    I suspect that diverging birth/income curves is not an inevitability. Keeping the birth rate at replacement could probably be achieved under the right incentive structure and would require no more force than what the feminists demand.

    > 30% is very reasonable and should be easily reached by any organization making a halfway decent effort.

    We know it is reasonable because we have the guns and know how to use them. Why should organizations be forced to do this? Their focus should be on whatever is the actual mission of the organization.

    You still can’t grasp that what you want isn’t equality, but a certain forced outcome whether beneficial or not.

    >Boards have a fiduciary duty to hire the best candidate. They fail because …
    > They betray the trust of their shareholders.

    This is entirely a problem for the shareholders and no-one else.

    > They have data, you have fantasies. Just search for the subject and you can get as many studies as you like (and more).

    There is plenty of data available on how frequently these kinds of “studies” are fraudulent, biased, or poorly conceived or executed. Only a fool would take them at face value … especially when they seem to support the leftist totalitarian agenda.

    And even if these studies were exactly correct, it still does not explain why “power from the barrel of a gun” is justified to give the women what they want.

  279. “And even if these studies were exactly correct, it still does not explain why “power from the barrel of a gun” is justified to give the women what they want.”

    That’s how democracy works.
    Men lose all their rights and privileges.
    Women + Gay Men = Unbreakable majority.

    That’s what happens when you give away the keys to the kingdom.
    You end up in a prison, or dead.

  280. @Michael Hipp
    Everyone should have the opportunity to explore a proffession that suits them. Erdogan is well known to want to limit the professional possibilities of women (you can look that up yourself). “Delicacy” of women is a very old excuse to deny women a proper job. And the point is that men and women should get a fair chance at entering a profession, not that women should work in equal numbers in jobs that require a man’s muscle power. But you seem to have difficulties with this concept.

    You also seem to have missed corporate governace structure and culture in Germany. That is more like Japan than US. The German government has a legal duty to look after this governance.

    Going back to the US. Just watch the series Mad Men to get an impression of how a woman’s life was 50 years ago. Freedom and justice have historically been orthogonal to feminism. That you think otherwise is totally attributal to the work of feminists.

    Btw, the imbalance of university students is an ongoing concern. As its cause are currently unknown, no one is making a fuss.

    And then about birth rates. The only policy that ever worked to increase birth rates in industrialized countries was free, whole day day care for all children and well paid maternity leave (in the old DDR). No one seems to be willing to implement that again.

  281. Just watch the series Mad Men

    Do you have any particular reason to believe that a television series, written and produced primarily for entertainment by individuals with strong political leanings, is an accurate representation of life two generations ago?

    Btw, the imbalance of university students is an ongoing concern. As its cause are currently unknown, no one is making a fuss.

    Your logic is faulty: People make plenty of fuss when such “imbalances” are unknowns but in the wrong direction, and even when they’re known and attributable to voluntary individual choice but in the wrong direction. If imbalances are in the right direction, it’s irrelevant why; no fuss will be made.

  282. @Christopher Smith
    “Do you have any particular reason to believe that a television series, written and produced primarily for entertainment by individuals with strong political leanings, is an accurate representation of life two generations ago?”

    No. We know from historical material that the situation was worse. Much worse. But the series is more accessible than all the dry archives.

    @Christopher Smith
    “Your logic is faulty: People make plenty of fuss when such “imbalances” are unknowns but in the wrong direction, and even when they’re known and attributable to voluntary individual choice but in the wrong direction.”

    Should we be angry when boys do not want to study?

    It used to be that girls were actively discouraged, or even prevented, to study. That is over. Now the girls are entering university in droves. So that was a success. Nobody is doing anything we know that prevents or discourages boys to do the same. Still they don’t go. Why? Whom should we target to change the situation? What should we do?

    Anyhow, there is discussion ongoing what to do. At least there is here.

  283. @Winter on 2014-11-28 at 02:20:22 said:

    >Everyone should have the opportunity to explore a proffession that suits them.
    > women should get a fair chance

    Winter, you speak out of both sides of your mouth. You don’t want “opportunity to explore” or “fair chaince” you want to FORCE that a certain number of seats must go to women. That’s force/coercion, not opportunity. Stop being deceptive (or at least stop deceiving yourself).

    >Erdogan is well known to want to limit the professional possibilities of women (you can look that up yourself).

    Sure. I don’t want that as I don’t want government to have that much power. But I sympathize with their motivations and wonder if – in the long run – they will prove to be the wiser.

    >You also seem to have missed corporate governace structure and culture in Germany. The German government has a legal duty to look after this governance.

    I know nothing of it. But they seem to have violated a particularly critical principle: that private matters should be settled among the private parties, not with the iron fist of government choosing one side or the other.

    >Going back to the US. Just watch the series Mad Men

    That you think Hollywood should be considered authoritative doesn’t say much for your intellect or thought processes.

    > Freedom and justice have historically been orthogonal to feminism.
    No, freedom and justice have always been in opposition to statism (including feminism). Anytime statism is advanced, someone’s freedom and justice are taken away. It’s an iron law.

    >The only policy that ever worked to increase birth rates in industrialized countries was free, whole day day care for all children and well paid maternity leave (in the old DDR).

    Only because those are the only sorts of policies the western statists are willing to consider. What would happen if incentives were given to families for the mother to stay home? I dunno, and neither do you as such has never been tried and never will under the current “progressive” regimes.

  284. @Michael Hipp
    ” You don’t want “opportunity to explore” or “fair chaince” you want to FORCE that a certain number of seats must go to women. ”

    You are silly. To take your position to extremes, you are saying that forcing slave owners to liberate their slaves is somehow reducing freedom.

    Anyhow, you should not argue with me, but with Angela Merkel.

    @Michael Hipp
    “I know nothing of it.”

    So you have absolutely no idea what this is all about? Why bother?

    @Michael Hipp
    “What would happen if incentives were given to families for the mother to stay home? I dunno, and neither do you as such has never been tried and never will under the current “progressive” regimes.”

    That has been done for years in, wait for it, Germany. And it did not work.

  285. @Winter

    >To take your position to extremes, you are saying that forcing slave owners to liberate their slaves is somehow reducing freedom.

    Winter, you never, ever address the substance of a comment. You always reframe and misdirect. You do not appear willing to engage in honest dialog. In other words, you’re a model leftist. Pour yourself a glass of champagne.

    Idiot … how do you think slave owners kept their slaves in the first place … with support from the government.

    What does that have to do with government forcing private parties to hire an arbitrary quota of a certain favored people? Do you ever intend to address this?

    >Anyhow, you should not argue with me, but with Angela Merkel.

    You defended her policy. But if her thinking is as muddled/dishonest as yours I doubt that would very productive either.

    >So you have absolutely no idea what this is all about? Why bother?

    More dishonesty on your part. Read my comment.

    >That has been done for years in, wait for it, Germany. And it did not work.

    [citation needed]
    But if the governance of Germany is as you describe it then it was likely intended to not work. If I recall, Germany was one of the first in the early 20th century to use women as a tool to win elections; I’m going to guess that would have sabotaged any such effort.

    In any event, it should have been obvious I was engaging in a thought experiment. But a leftist must always reframe it as something upon which to heap hate.

  286. @Michael Hipp
    > “Idiot … how do you think slave owners kept their slaves in the first place … with support from the government.”

    Slavery is much, much older than “States”. I am surprised that you do not know this.

    > “What does that have to do with government forcing private parties to hire an arbitrary quota of a certain favored people? Do you ever intend to address this?”

    Discrimination based on gender (etc.) is illegal in Germany. So I do not see much problem with the German government upholding the law. Private parties are subject to the law in Germany. Whether this is the best policy to reach that goal is not assured. I still have doubts. But given the inbreeding in German corporate board rooms, some action might very well be justified.

    Given the German workforce, it is quite unlikely that these (very big) corporation are unable to find 30% of female candidates that match those from their favorite old-boys network in quality.

    > “But if the governance of Germany is as you describe it then it was likely intended to not work.”

    That shows you have absolutely no clue about how politics in Germany works. It did not work because:
    1) No incentive beats just working in a paid job
    2) These incentives are extremely expensive. So they tend to be cut back after a few years.

    Here is your citation:
    http://www.howtogermany.com/pages/parental_allowance.html

    There were even better programs, but they were way to expensive to continuate.

    > “In any event, it should have been obvious I was engaging in a thought experiment.”

    Why stop at thinking when people have actually done the work and implemented it?
    And it was not obvious to me that you did not want real examples to your writings.

  287. @Winter

    > Slavery is much, much older than “States”.

    Really! Do tell now!

    But going back to your point about slavery, do you actually not see a difference between
    a) a government that gives freedom and political liberty to people who are otherwise enslaved, vs.
    b) a government that forces its citizens to arbitrarily hire people that would not otherwise hire.

    Tutorial for you…
    a) is a good use of government power … to increase freedom and liberty, whereas
    b) is a poor use of government power … to decrease liberty and disturb markets.

    > Discrimination based on gender (etc.) is illegal in Germany. So I do not see much problem with the German government upholding the law.

    It is also, in theory, illegal here in the US. Except that discrimination to the benefit of the favored groups (e.g. women) is very much legal. They only “uphold the law” in such when it favors leftist causes.

    Going back to why I hate feminism, one of the reasons is that it promotes laws that elevate women’s interests and legal rights above those of men. But as a leftist I presume you are very much in favor of this?

    > Private parties are subject to the law in Germany. Whether this is the best policy to reach that goal is not assured. I still have doubts. But given the inbreeding in German corporate board rooms, some action might very well be justified.
    >Given the German workforce, it is quite unlikely that these (very big) corporation are unable to find 30% of female candidates that match those from their favorite old-boys network in quality.

    The egregious machinations of corporations and the elites that run them is hideous to watch, but adopting an arbitrary edict like the 30% quota is a ridiculous attempt at a punitive sort of remedy to a private matter. But western governments long ago seemed to have lost any perspective on what is private and what is public.

    And remember you started this line of thinking by claiming that feminism was only about “equality”. Which it is clearly not.

    > http://www.howtogermany.com/pages/parental_allowance.html

    Thanks, interesting read. I would tend to guess there are cultural factors that overwhelmed the incentive. That, however, does not prove it would not work elsewhere or that there are other types of incentives that would work in various places.

    > Why stop at thinking when people have actually done the work and implemented it?

    Because a thought experiment is not a research project.

  288. @Michael Hipp
    “b) a government that forces its citizens to arbitrarily hire people that would not otherwise hire.”

    Do you know the difference between a person (= a member of the species Homo sapiens) and a corporation (= a form of organization where the governing body has a legal duty to the stakeholders)?

    The government directive you are so up in arms about is directed towards the boards of corporations who have shown a stark disregard in their legal duties towards the stakeholders. And know that under German law, the legal status of the stakeholders is different than under US law.

    We are talking about hired people who “lie and deceive” about their responsibilities.

    @Michael Hipp
    “And remember you started this line of thinking by claiming that feminism was only about “equality”. Which it is clearly not.”

    It clearly is everywhere I have experienced it. And it has always been that way. There are “feminist” who are crooks or mentally disturbed. But you find that everywhere.

  289. And know that under German law, the legal status of the stakeholders is different than under US law.

    I’m curious whether “stakeholders” is the correct term. I have no doubt that Europeans are more accepting of the claim that people who don’t actually have a financial stake in a company (shareholders and creditors) should get to meddle in its operations, but I would have expected Germany to be saner than to define in external parties as ex officio decisionmakers.

  290. @Christopher Smith
    “I’m curious whether “stakeholders” is the correct term. I have no doubt that Europeans are more accepting of the claim that people who don’t actually have a financial stake in a company (shareholders and creditors) should get to meddle in its operations,”

    http://fic.wharton.upenn.edu/fic/papers/09/0928.pdf

    I find it remarkable that people from the US seem to forget employees as stakeholders?

  291. @Winter
    >The government directive you are so up in arms about is directed towards the boards of corporations

    I noticed it and recognized it for what it is: proof that feminism isn’t about equality.

    >We are talking about hired people who “lie and deceive” about their responsibilities.

    So they should be fired, and thankfully this is nothing the government need concern itself with. Let the government use its limited resources on matters of more universal importance and for which lesser remedies are not available. Must everything be a “Federal” matter?

    > It clearly is everywhere I have experienced it.

    Then you are either extraordinarily unobservant or just dishonest. You’ve already been shown how the supposed goals of feminism were long ago conquered, at least here in the US. In US law, women are favored above men in almost every venue. You’ve said it’s illegal to discriminate by sex in Germany. So what is left that can’t be handled as a civil matter where the rare case of actual sexual discrimination pops up.

    As another poster commented, feminists in the US are now all about micro-agressions and other fabricated issues. They’re the most prosperous, pampered, coddled and privileged group of people in history, but yet the decibel volume of their complaining goes up every year.

    > I find it remarkable that people from the US seem to forget employees as stakeholders?

    Because they’re not. They hold no equity position and have no capital at risk, therefore they are not stakeholders.

    Like a good leftist, all you’ve done is redefine “stakeholder” to a different meaning that suits your purposes and confuses the issue. You like taking things to extremes … by your definition I am a stakeholder in most every German corporation even if I’ve probably never heard of most of them. Everything is rape. Everyone is a stakeholder.

  292. >> I find it remarkable that people from the US seem to forget employees as stakeholders?

    > Because they’re not. They hold no equity position and have no capital at risk, therefore they are not stakeholders.
    >Like a good leftist, all you’ve done is redefine “stakeholder” to a different meaning that suits

    If wikpedia is anything to go by to get an indication of what a word means, employees count as stakeholders.
    http://en.wikipedia.org/wiki/Stakeholder_%28corporate%29

  293. @kn
    >If wikpedia is anything to go by …

    Thanks. But it’s not. On any topic that is in any way controversial Wikipedia reliably tows the leftist line.

    Note the last sentence in that article: “The term has been broadened to include anyone who has an interest in a matter.” So stakeholder is in the eye of the beholder. Not a very useful definition.

    Until now I wouldn’t have thought much about “stakeholder” being controversial but I didn’t realize it was being actively abused to warrant more government intrusiveness into private affairs.

  294. Indeed – check Merriam-Webster, and you find that the third, broadest definition of the term is by far the newest (and makes it nearly meaningless unless you’re Dirk Gently or Mentor of Arisia). The earlier definitions make it clear that it’s the people who actually stand to lose (and no, loss of job in this case is not a real loss – you don’t actually lose assets you already have. Modern corporate theory has defined way too many things as assets – even debts have been turned into assets.)

  295. @Michael Hipp
    Sorry, but the Germans are very adamant about including employees in the stakeholders category. Whether you agree with them or not. And you will find few admirors of libertarianism in Germany.

    Also, the corporation we are talking about are all parts of “keiretsu” s. Their boards are inbred with cross company board memberships. The authorities keep an eye on them, they always have.

    > “So what is left that can’t be handled as a civil matter where the rare case of actual sexual discrimination pops up.”

    Europeans do not handle public policy by way of the civil courts. When you go to the root of it, civil courts are tyrannical and extremely inefficient in matters of public policy.

    In short, Germany is not the US.

  296. @Winter
    > Their boards are inbred with cross company board memberships.

    This is pretty common in the US also, I saw a lot of it in a former position where I had contact with these VIPs who were on many private and public boards (many of which they had dubious qualifications for). But perhaps it is a matter of degrees.

    > Europeans do not handle public policy by way of the civil courts. When you go to the root of it, civil courts are tyrannical and extremely inefficient in matters of public policy.

    Well, as before, this would seem to indicate a tendency to define a large swath of private decisions as public policy. Immutable human nature is always to seek more and more power whenever the opportunity presents itself. Humanity has been down this road before and it doesn’t end well.

  297. @Michael Hipp
    “Well, as before, this would seem to indicate a tendency to define a large swath of private decisions as public policy.”

    Half the population will not be able to realize their potential in life because a number of hired corporate officers simply do not like them. Something they consistently lie about, btw. Sounds like a defensible reason to err on the side of the discriminated and uphold the law. Especially when you are expecting economic problems due to demographic contraction.

    @Michael Hipp
    ” Immutable human nature is always to seek more and more power whenever the opportunity presents itself.”

    People hiring clones of themselves is another such part of human nature. This is correctable.

  298. @Winter
    >Sounds like a defensible reason to err on the side of …

    Only if the default position is “government knows best”. (I do not dispute that Germany has a right to this, I just do not comprehend how anyone can consider it the preferred state of affairs.)

    > People hiring clones of themselves is another such part of human nature.

    Clones? Why do you state it in the pejorative? That humans tend to trust and prefer in-group tribal members is a perfectly rational and beneficial feature of our human psychology. Does not every group do this; are they all wrong to do so?

    > This is correctable.

    No, nothing in human nature is “correctable”. With ample force it can be masked for a time, but it always resurfaces. This is colloquially known as “kicking the can down the road” – western societies have done lots of this. Such does not mean it will continue forever.

  299. @Michael Hipp
    *Only if the default position is “government knows best””.

    That is not how such policies are formulated in Germany. Such things are generally only implemented after everybody and their uncle have been consulted.

    “No, nothing in human nature is “correctable”.”

    Oh yes. Humans can be nudged towards acceptable behavior. We can eat and drink in civilized manmers, and we can supress urges of verbal abuse. So we can be coaxed to learn to get over our urge to distrust anyone who is not in our own image.

  300. “Oh yes. Humans can be nudged towards acceptable behavior. We can eat and drink in civilized manmers, and we can supress urges of verbal abuse. So we can be coaxed to learn to get over our urge to distrust anyone who is not in our own image.”

    I hope a catastrophe hits. There’s no way out of this woman’s world. The women have won over all the earth. They have banned marrying girls everywhere now. Their supporters have “nudged” everyone into acceptable behavior.

    The only way to stop such feminist leftism, well talk and debate has only worked in their favor for the last 165 years. Unacceptable behavior must be used to destroy them. They destroy us: their prisons are filled, and police shoot to kill men who do not comply with woman’s laws.


    2014-11-28 Bartlett, Mark Allan (42) Mississippi (Pearl) Capt. Brian McGairty said Mark Allan Bartlett, 42, was killed after police say he brandished a gun at an officer in a threatening way when police were called out to a domestic disturbance. The officer fired one shot, hitting Bartlett, who died of his injuries.[3]”

  301. The SJWs will pass. They overreached and are self-destructing now; the public reaction to #shirtstorm is an index of this.

    They also had a major victory: the career of serial rapist Bill Cosby is now a smouldering ruin, and a huge part of why is because SJWs successfully brought to public consciousness the point of law that all sex without consent is rape — not just forced sex.

  302. And all without a single actual conviction in a court of law! Isn’t *THAT* just wonderful! And I’m curious – how do you have unforced sex without consent?

    But hey, now we can ruin people’s lives without worrying about the snail’s pace of the courts!

  303. And I’m curious – how do you have unforced sex without consent?

    If you have sex with a woman who is too intoxicated to give informed consent, you have committed rape.

    If you have sex with a woman by misrepresenting your identity to her, you have committed rape. This is called a “rape of deception” and is the reason why the movie Revenge of the Nerds is problematic from a feminist perspective: Lewis Skolnick does this to Betty Childs, suffers no consequences, and it’s presented as him “getting lucky”.

    But hey, now we can ruin people’s lives without worrying about the snail’s pace of the courts!

    With twenty women having come forward, Cosby’s innocence is becoming increasingly difficult to maintain.

    Rape is notoriously difficult to get a conviction for, since the process of acquiring physical evidence (bruises, semen, etc.) is humiliating for the victim and extremely time limited. So yes, the criminal court system is inadequate in dealing with this crime, and precious little thought is given to countless women over the years whose lives were ruined — or at least severely damaged — by the physical and emotional scars of rape, and who had to endure those scars without hope of justice or recompense.

  304. Jeff Read: In the book of Deuteronomy, rape of an unespoused young female child results in the man keeping the girl and paying the father some money. (Deuteronomy 22 28-29 hebrew, read each word).

    Rape of a grown woman not belonging to anyone seems to incur no penalty whatsoever: if she’s not someone’s woman, and not a virgin young girl she’s not covered.

    I think “we” should go back to Deuteronomy. That is a man’s lawbook. Not this feminist garbage you have forced upon the men of the world everywhere.

    “With twenty women having come forward, Cosby’s innocence is becoming increasingly difficult to maintain.”

    Good for him. Western women are the enemy of men. Glad he used them for something for himself.

    “If you have sex with a woman by misrepresenting your identity to her, you have committed rape. This is called a “rape of deception” and is the reason why the movie Revenge of the Nerds is problematic from a feminist perspective: Lewis Skolnick does this to Betty Childs, suffers no consequences, and it’s presented as him “getting lucky”.”

    He should not suffer any consequences. Feminists should be killed. I pray for a war between Russia and the USA to make that dream come true.

  305. >With twenty women having come forward, Cosby’s innocence is becoming increasingly difficult to maintain.

    Actually, twenty is above the threshold where it gets a little easier to maintain, when someone as famous as Cosby is involved. Likely some of these women are trash angling for reflected celebrity, and one or two are outright delusional. The social and legal risk of lying about rape while female is now so low that any sufficiently unscrupulous woman who has ever been in a room with Cosby alone has to be thinking about jumping on the gravy train. Lost in the resulting noise is whether Cosby ever committed actual rape, which I think is pretty much unknowable.

  306. >He should not suffer any consequences. Feminists should be killed. I pray for a war between Russia and the USA to make that dream come true.

    Last warning. The next outpouring of bile like this will get you permanently banned.

  307. “The social and legal risk of lying about rape while female is now so low that any sufficiently unscrupulous woman who has ever been in a room with Cosby alone has to be thinking about jumping on the gravy train. ”

    I doubt they all were even in the same room with him, except through the magic of Technicolor(TM)(R). As you said: what do they got to lose?

  308. > The social and legal risk of lying about rape while female is now so low that any sufficiently unscrupulous woman who has ever been in a room with Cosby alone has to be thinking about jumping on the gravy train.

    Your theory doesn’t account for why they should all be targeting Cosby in particular, rather than any randomly selected male celebrity.

  309. @Tara Li: His theory “social and legal risk of lying about rape while female is now so low” does not suggest any such concept.

  310. >Your theory doesn’t account for why they should all be targeting Cosby in particular, rather than any randomly selected male celebrity.

    Tara Li called it. Once the first such accusation has been made, there’s blood in the water.

    I didn’t make clear earlier that I think in cases like this the first accuser is the one most likely to be truthful.

  311. Not only that, but suppose one of the later ones had a plausibly shady encounter with Cosby, but knows she’d never have a chance of making a charge stick, if it were to come to trial, and knows that he knows it. You might think she wouldn’t even bother with the attempt. However, suppose Cosby were to publicly call such an attempt out. It would look to the public like positive evidence that the other claims are supported – why would he jump on this one, and not any of the others? So if Cosby’s lawyer is smart (likely), he’s forced to treat all of the charges largely the same – refuse to respond, and refer to them in total as unfounded.

    Which is consistent with his current behavior, from what I’ve seen.

  312. Pingback: ESR????? - memleak.in | memleak.in

Leave a Reply

Your email address will not be published. Required fields are marked *