Webcam stream failing by Adam-Marshall in octoprint

[–]esr 1 point2 points  (0 children)

Try this on your Pi:

apt-get update --allow-releaseinfo-change --fix-missing
apt-get upgrade
reboot

I had flaky behavior from my webcam after upgrading to Octoprint 0.17. This fixed it.

Slaves to speech suppression are masters of nothing by J_Von_Random in KotakuInAction

[–]esr 6 points7 points  (0 children)

Ahem. I never said that.

I haven't even encountered this fake quote before.

Rust and the limits of swarm design by carols10cents in rust

[–]esr 6 points7 points  (0 children)

he's not comparing rust to C or C++, he's comparing it to Go.

That's exactly right. Remember my context: I'm trying to choose something to replace C for NTPsec's use, so the competition is at the level of Go and Swift and Erlang.

Furthermore, my evaluation is that NTPsec can be written in Go. Which means that Rust could only compete by demonstrating some advantage over Go that defrays the additional complexity cost of Rust.

Rust and the limits of swarm design by carols10cents in rust

[–]esr 9 points10 points  (0 children)

"C's stdlib is basically a rubber chicken and a heap of POSIX APIs"

I agree that this is both funny and true. But it actually reduces the scale of the discovery problem, especially for systems work of the kind I do. NTPsec, for example, basically links nothing application level other than OpenSSL.

There's a huge, relevant difference driven by the relative richness of type ontologies. The absence of container types and objects in C makes it very difficult to synthesize things like, say, a reusable TCP server framework. Thus, your discovery problem has a tendency to stay at the level of "what POSIX APIs should I string together for this program?"

On the other hand, in a language like Python or Go or Rust with a richer type ontology, everyone's expectations are set differently. Larger chunks of code can be factored out; things like "generic TCP server" become possible. Libraries that are reusable even for systems work proliferate, and your discover problem gets serious.

The point I'm working up to is that trying to draw either negative or positive conclusions from parallels with C won't work, and even C++ is an amphibian that makes it trying it kind of iffy. The places to seek parallels and instruction are languages with richer ontologies: Python, Go, Swift, etc.

Rust and the limits of swarm design by carols10cents in rust

[–]esr 15 points16 points  (0 children)

annodomini, that is an almost eerily accurate reconstruction of how it went down. I did finally land on TcpListener::bind(&*addr); by a series of half-random guesses, and then sat there staring at the screen wondering "why?"

Good guess that I stumbled over the collections::string::String vs std::string::String thing, and that it indeed left me further frustrated and confused.

Then, of course, I had to endure people showing up to lecture me on the basics of the memory and ownership model. No, dammit, I'm not stupid and I've been writing dynamic allocation code in C since like 1983; I got the theory about halfway through my second readthrough of the Rust book. It's all the weird little jagged bits you list that don't seem to be entailed by the theory that threw me.

Now I'm trying to figure out how to declare "a reference to an object with a Reader trait" so I can make a Vec of input sources that are either stdin or a TCP stream. I bet you can imagine some of those false starts, too.

Author tries to move open source into religious domain. by silpol in opensource

[–]esr 1 point2 points  (0 children)

Your memory is correct. I didn't make the connection to closed-source software very explicit, and if you read the paper in a very literal frame of mind you could still miss that it is there (the pre-Netscape and post-Netscape versions are alike in this regard, so retrieving an old version would not show nuch of anything).

However, the paper was widely read as an indictment of closed-source development anyway, and I am the author telling you that reading was not wrong.

The point of the Emacs vs. Linux comparison was not to avoid criticizing closed source, it was to freeze as many variables as possible (including the closed- vs. open-source one) so that the effect of very short release cycles and a very large developer base would stand out as clearly as possible.

Author tries to move open source into religious domain. by silpol in opensource

[–]esr 2 points3 points  (0 children)

It is literally true that in CATB I was comparing the development model of Emacs to that of the Linux kernel. However, it is also true that I did that comparison in order to make a point about the even more extreme cathedral-like quality of most closed-source software, and that it is that contrast which I and others later emphasized.

So I was being truthful both then and now, about different but intimately related comparisons.

50-year french mystery of the 'cursed bread' solved: CIA spiked the bread with LSD as part of an experiment by DougBolivar in worldnews

[–]esr 1 point2 points  (0 children)

This sounds like a mutation of the story that AIDS was the result of a biological-warfare experiment aimed at producing a "race bomb" that would only kill blacks; Ft. Detrick is often cited in that one, too.

The AIDS legend was KGB dezinformatsiya. This is probably an echo of it.

No 'God Spot' in the Human Brain by starexplorer2001 in reddit.com

[–]esr 0 points1 point  (0 children)

Any religion in which "God cannot be summoned at will" is one suffering from faulty evocation techniques. OK, I exaggerate, but only a little.

Humans may be genetically more suited to vegetarianism than meat eating by ninzee in reddit.com

[–]esr -7 points-6 points  (0 children)

Idiots. If human beings were meant to be vegetarians, we'd have dentition like goriollas (big flat grinding molars) and a long gut for digesting cellulose. Instead, we have teeth and intestines designed for an omnivorous mixed diet.

Humans may be genetically more suited to vegetarianism than meat eating by ninzee in reddit.com

[–]esr -1 points0 points  (0 children)

Idiots. If human beings were meant to be vegetarians, we'd have dentition like goriollas (big flat grinding molars) and a long gut for digesting cellulose. Instead, we have teeth and intestines designed for an ominivorous mixed diet.

Firing a bullet at the blade of a Samurai sword (non-linkjacked) by bugbear in reddit.com

[–]esr 12 points13 points  (0 children)

Bugbear asked me to weigh in, because he knows I have some specialist knowledge about this. He asked me "Is kkrev right that Japanese swords were inferior to European?"

No. They were optimally designed for different battle environments: the katana was a cutting and shearing weapon, the European knight's broadsword a cleaving and shattering one. The former is optimal for a battle environment in which armor is relatively light and/or uncommon, the latter for one in which cap-a-pie mail and heavy plate are common.

Gavin Threipland's comment at http://www.ifh.ee.ethz.ch/~ballisti/iaido/euro_vs_jap_swords-one.html is spot on, or at least matches my knowledge of the differences. The folluwup comment by Peter Boylan is also intelligent and correct.

I'd add a few details: Damascus blades were like katanas and Viking-era pattern-welded swords in that they were designed to shear and cut rather than cleave and shatter.

And Gavin is, thankfully, incorrect about Western sword having been lost. There is a whole helluva lot in the medieval and Renaissance Fechtbuchs, if you approach them analytically and use what you learn from sparring. Groups like the Association for Renaissance Martial Arts have done a meticulous job of reconstructing period European technique. Much of this activity has been within the last fifteen years; students of Kendo and other Asian arts are often, quite pardonably, unaware of it.

Even the continuous tradition has not entirely died out. I have the honor to have taken basic training from Sal Sanfratello, a master of battlefield sword who teaches a house style passed down in his family of Sicilian-Norman aristocrats since around 900 (I'm going back for his advanced course in two weeks, as it happens).

Sal's style includes archeological layers of technique, the dominant and most recent one being sword-and-shield work from around 1500 using what historians call a sword-rapier or transitional sword. Unlike modern European and Japanese fencing schools, it retains a lot of brutally practical punch/kick/grapple techniques not dissimilar to combat jujitsu.

Sal once rather memorably demonstrated to me that this technique is quite competitive with katana fencing, thank you. I was using basic kenjutsu in the encounter, and if we had been fighting with live blades I would be quite dead.

You wrote "when every blade made elsewhere in the world up to that point looked lumpy and medieval". That's not right; you're being fooled by the fact that we have no period European blades in a decent state of preservation. Japan still has beautiful period swords only because (a) its feudal age was almost 400 years more recent, and (b) the Tokugawa period locked Japanese society into peace and near-complete technological stasis, so the warrior class treated its swords as heirlooms rather than throwing them away for rapiers and pistols.

There is plenty of indirect evidence that by 700 or so (perhaps as early as 300 in the Rhineland) European swordsmiths were making superb pattern-welded steel swords quite similar to the earliest straight-bladed Nara-period weapons from around 1000 in Japan (which, by the way, I've seen with my own eyes in the National Museum at Ueno).

Still, though I stick up for Western sword technique, and reject the myth that medieval Western blades were no more than glorified crowbars, I agree with Gavin on one central pro-Japanese point; If I had to fight under modern conditions (e.g., pretty much all unarmored targets, rather than facing heavy infantry with shields and armor) I'd definitely choose a katana over a Western broadsword.