1. 20

    The only dependency is a recent 57+ version of Firefox.

    1. 3

      It seems pretty useless at first but you can run the program on a remote machine and ssh/mosh in to it for ultra light web browsing. Although you could probably get super light browsing by just disabling images in your browser.

      1. 2

        i.e., you need X and GTK installed (it’s not necessqry to run X though afaiu)

      1. -2

        From #cat-v’s /topic:

        no {bots,logging,politics,heh,keyboard shortcuts,transphobia}

        Please remove this. We don’t publish logs for a reason.

        1. 7

          It’s weird that someone who dislikes codes of conduct requests that Lobsters enforce its community’s official site violating its own code of conduct (the quoted real one, not the joke one). I’m going to pass.

          1. 8

            And, hat off, I didn’t read closely enough or research to see if this is seriously or sarcastically anti-semitic, but if it’s the latter I guess this is a pretty good example of how the failure mode of “isn’t it funny that we’re imitating white supremacists so well” is that y’all look like a bunch of white supremacists.

            1. 2

              Same, nor do I want to read that closely. There’s far too much very serious anti-semitism in the world these days.

              I would encourage everyone who hasn’t, to read the copy of the Daily Stormer style guide which was obtained by the Huffington Post. It explains exactly what function “it’s just a joke” serves, in the words of people who call themselves Nazis unironically. But have a loved one nearby when you read it, I don’t even have words to describe what a horrifying and unpleasant read it is.

              This chat log was seven years ago. At that time, it was indeed the case that most people thought of Nazis as a historical phenomenon rather than a contemporary one. Also, I agree that people can change and grow. I am personally willing to take sl at their word when they say “I’m not a Nazi, racist, sexist, homophobe, or antisemitic” (elsewhere in this comment tree), not because I don’t find the chat log vile, but because that declaration is one that people who do subscribe to those ideologies are usually unwilling to make, in my experience.

              I am hopeful that sl won’t prove me wrong in future.

              1. 4

                You could also take heart in the fact that I have never expressed affinity for such ideas, in the seven year old chat log or anywhere else. It’s never completely clear why anyone thinks I, or 9front, do hold an affinity for such ideas. It’s always precisely this kind of completely shallow, drive-by condemnation of things no one ever said or did, usually (as here) accompanied by a declaration that the accuser does not intend to bother to find out if what they are saying is true or not. It’s really that consistent and weird. It leaves me in a position where I have to decide whether or not to engage the accusation (which is almost always diminishing returns), or allow the person to wallow in their misunderstanding. One benefit of allowing people who aren’t thinking clearly to wallow in their misunderstandings is that they will often proceed to leave 9front alone. Really, it’s win/win, for our devs and for our users. But let me be clear: There is no political or ideological substance to the 9front project beyond simply using and maintaining Plan 9.

                One small addendum: What people say on IRC is up to each individual. #cat-v has never been ban-happy, but people saying stupid things are usually questioned thoroughly, often resulting in humiliation. That includes Nazis, racists, sexists, homophobes, and antisemites.

                1. 5

                  The reason I don’t intend to investigate is pretty simple: If the bad things are true, it’ll be clear in due time without me having to put in the emotional resources and time to investigate. If they’re false, I’m not taking action against you, so there’s no reason to put in those resources. The resources required would be substantial; I’ve had to do it in other communities I manage.

                  I appreciate and understand why good people do not enjoy having to say “I’m not a Nazi” frequently. Unfortunately, Nazis aren’t stupid - they’re as capable of anyone else of saying thoughtful words to explain why they don’t feel they should have to say “I’m not a Nazi”. Literally any words can be co-opted by people who don’t care what those words mean. There’s no magic incantation. But Nazis do pay some small social cost by saying “I’m not a Nazi”, so it’s at least something.

                  I appreciate your statement, it does help.

                  1. 5

                    Thanks for your candor. Your method seems sound, and I can identify with the reasoning behind it.

                    I do comprehend that mentioning [thing] will always draw complaints that one is promoting [thing]. A certain amount of responsibility comes with the territory, especially where 20th century Germany is concerned. The very first 9front propaganda image was this: http://9front.org/img/9frontfell01.png. It’s David Bowie, captured by a photographer in Victoria Station, circa 1976. If you know anything at all about this debacle, it might help to illuminate the spirit in which the original 9front propaganda was undertaken: You stand up to wave at your fans and some enterprising photographer catches you at just the right moment; immediately, the front falls off, and the Daiichi Fukushima disaster lands in your publicist’s lap (matters are complicated by your previous “clever” statements to the press about the intersection of politics and the occult). What happened was, most of the 9front developers are German, or otherwise (Eastern) European, and big fans of things like Monty Python, cat-v, Milton Friedman. Inevitably, people started making jokes. Perhaps just as inevitably, outsiders to the project started noticing these jokes and expressing offense. This only caused the jokes to escalate. It might seem unconscionable to software evangelists, but 9front developers don’t care about attracting users or presenting a professional face to potential investors or employers. Everyone is only there to run and maintain Plan 9 for their own use. And our typical experience with people who show up on IRC to express outrage is that: 1.) it’s no use arguing with them, 2.) they probably don’t have much to offer the project in the first place. I think I mentioned earlier that most of these people tell us up front they have no interest in finding out what is really going on. Like I said, it’s win/win.

                    I will say that some idiots on IRC cloud the issue. I argue with them regularly.

                    1. 2

                      If they’re false, I’m not taking action against you

                      Honestly, I think that the “hat-off” comment of @pushcx was quite dangerous.

                      Implying that “y’all look like a bunch of white supremacists” is an action.

                      In itself, nothing I would care to flag if directed to me, but I think it’s worth to remember that Nazi were used to burn books.

                      If you do not “read closely enough”, you will end supporting their propaganda.

                      1. 3

                        All I can ask is that you trust my experience as a community manager, and my status as a person belonging to groups that fall squarely within Nazis’ targeting criteria. Nobody has the resources for a lengthy discussion of how to handle this on lobste.rs, but I can promise that thought is going into it.

                2. 0

                  I am very confused about what point you are trying to make. I haven’t even posted in the thread that you linked to. Perhaps you were referring to a different thread? (apparently I did, but it was hidden because I was responding to a deleted comment.) While it is true that I dislike codes of conducts, what relevance does it have now?

                  And, btw, the 9front CoC changes with every refresh. Perhaps you saw one that you thought was relevant. I don’t know which one you were referring to.

                  1. 3

                    I was comparing the one you quoted prohibiting positing logs with the joke one I linked.

                    1. 2

                      i think the main part is that the log was hosted on 9front.org

                      1. 1

                        9front.org is a separate entity from #cat-v.

                        1. 5

                          In that case, it is even weirder that I’m being asked to enforce the chat room’s code of conduct against the site and I’m glad I’m staying out of it.

                          1. 1

                            maybe /u/4ad was asking OP to remove it, not a mod.

                            1. 4

                              In #lobsters 4ad explicitly asked for the story on Lobsters to be deleted.

                              1. 1

                                ah. well there you go.

                            2. -1

                              An IRC channel topic is not a “code of conduct”, and you know it.

                              1. 5

                                Yeah, it’s an encoding of rules for conduct and not a code of conduct.

                                Please just leave me out of whatever this weird drama is. I’m not replacing the dead link with a live one because I already feel like we ducked a flamewar and I don’t want to tempt fate, let’s just stop commenting so it falls off the homepage and /comments.

                    2. 6

                      Ehm… this is published on 9front.org

                      1. 1

                        This was published years ago as part of an attempt to contextualize a factually inaccurate article written about 9front by a rogue journalist who has since left the field. The parent directory contains more information, including his note of apology. I have restricted access to the raw IRC log (the original interview from which the article was sourced took place entirely on IRC), pending an unlikely change in #cat-v policy.

                        1. 1

                          i don’t see anything in http://9front.org/press/sdtimes/ - did you intend to restrict access to the entire directory?

                          1. 1

                            Curiouser and curiouser. The directory listing is apparently, though inadvertently, excluded by the CMS (werc), which the old content was moved into… several years ago. This makes me wonder how he found the file in the first place; though it’s easy enough to imagine it turning up in search requests or other pages on the site that used to link to it in the past.

                            1. 1

                              I’ve fixed things so that now there is a short explanation and links to the remaining files.

                      1. 2

                        I have to ask:

                        Which of the three 9front priorities quoted above are the most objectionable to partisans in this thread?

                        1. 0

                          Well… I think you should trigger ragnarok first! :-D

                        1. 0

                          God these people are unbearable. It’s like reading the exchanges of children in a playground.

                          1. 1

                            You should be very proud of your children, if they are so much smarter than you! ;-)

                            1. -7

                              Grow up.

                              1. 4

                                Some of those people were teenagers at the time.

                                1. -4

                                  Tell us the stories about how you sieg heil’d around school, I mean, as a joke you know? People get so offended nowadays when you ironically quote goebbels it’s hilarious. Freaking political correctness!

                                  1. 4

                                    What?

                                    1. -3

                                      It’s a joke, dude

                                      1. 5

                                        I think there may be a misunderstanding here.

                                        I created almost all of the 9front propaganda. I’m not a Nazi, racist, sexist, homophobe, or antisemitic. Most of it is intended to deflate the pomposity of authority, particularly with regards to the software industry. Much of it is self-deprecating (example: http://9front.org/img/9frontsystem03.png). None of it is intended to promote fascist, racist, sexist, or any other form of discriminatory ideology, except where it comes to discriminating between quality and trash software.

                                        Anecdote: One time a guy quoted Monty Python in the body of a message critical of 9front’s use of images of politicians, explaining that it’s never okay to make fun of Nazis because someone may think that you’re promoting them. While his advice seems in retrospect to be prophetic, it still confused me because Monty Python made a career of mocking Nazis.

                                        I realize nobody cares about facts.

                                        1. -3

                                          I already understood this. Like, I get the shtick. Completely eschewing honest appearances in lieu of masturbatory trolling as a jab at The Man. It’s adolescent, obnoxious, and serves nothing but your ego. The whole act is pretentious

                          1. 3

                            I have absolutely no idea what this is about.

                            1. 6

                              A tech reporter caught wind of 9front and asked to interview the developers for an article. The interview eventually took place on IRC. The reporter wrote an article that misquoted and misrepresented what the developers said on IRC. He later apologized. Related materials were archived in the linked directory to provide context for the resulting confusion.

                              This all took place in 2011.

                              I don’t know why Shamar linked to the IRC log.

                              1. 1

                                Hi sl, I was looking for early documents about the announcement of the 9front fork.

                                I did such search to provide an example of the playful mood that you had back then, and the log seemed exactly interesting and entertaining as #cat-v usually is. Given it was on 9front.org I assumed it was a public document. And actually the content was pretty coherent with the usual ironic propaganda of 9front.

                                I found the log on Google (I cannot recall the exact search query) and I even looked at the parent directory but since it was empty, I didn’t learn about all the mess that happened in 2011.

                                To me it seemed just an interesting and funny text about 9front origins, and I didn’t knew people on cat-v didn’t wanted it to be linked from here (given the log was public).

                                My apologies.

                                1. 2

                                  Thanks for the explanation. It was indeed posted as a public document; as I said above, the purpose was to provide context (evidence?) that the article was misleading at best. The parent directory appearing to be empty was a SNAFU I committed a few years ago when the site moved from static HTML to werc. I’ve fixed the directory listing and added a small explanation.

                                  Everyone involved agreed to post the IRC log at the time it was originally uploaded, but presently nobody in #cat-v wants logs posted on the Internet so I have disabled access to those files.

                            1. 8

                              Good. If you’re a vocal asshole outside of the project, I don’t trust you to be able to magically turn it off and hide your prejudices inside the project either.

                              And people act like this is some bizarre new thing. If I engaged in harassment or inappropriate behavior on Saturday, so much so that people knew about it…I’d likely be fired from my day job too. Nobody wants that kind of association with their project/business. Plenty of employment contracts and employee handbooks have “good conduct” clauses, and have for decades.

                              Those of you concerned about this, serious question: what is an example of some behavior that you honestly think would be problematic under this new policy?

                              1. 17

                                Those of you concerned about this, serious question: what is an example of some behavior that you honestly think would be problematic under this new policy?

                                Mainly people digging Twitter to oust someone. One case immediately comes to mind, Rod Vagg and Node.js:

                                Most recently Rod tweeted in support of an inflammatory anti-Code-of-Conduct article. As a perceived leader in the project, it can be difficult for outsiders to separate Rod’s opinions from that of the project.

                                The article mentioned is The Neurodiversity Case for Free Speech, which I agree with. I really don’t want to be excluded from Go project by tweeting this reasonable article I agree with. This actually happened, and I fear it will happen after this revision of Go CoC.

                                1. 6

                                  I don’t know enough about his situation to judge, but a quick reading shows that there were sufficient complaints from contributors and other Steering Committee members to bring his resignation to a vote, and 40% of the vote was for him to resign. Generally speaking I’m opposed to the concept of “where there’s smoke there’s fire” but if a lot of people are saying they don’t want to work with you…maybe the problem is you and not them.

                                  (And they have in that article lists of explicit violations of the project’s policies, like discussing private moderation publicly, etc. That he wasn’t allowed a forum to answer to these charges is a flaw in the process to be sure, but he doesn’t deny they happened.)

                                  And the problem, from what I gather, wasn’t that he tweeted about an article, but that he tweeted screenshots of rude responses about it. He’s a leader of the project, and as such needs to think about his position.

                                  If thw CEO of Pepsi tweeted something on his “private” Twitter that the Pepsi Corporation felt brought them into disrepute…you don’t think PepsiCo would do something? Because they absolutely would. Like it or not, he was in a leadership position and discussed things relevant to the project’s governance in a (supposedly) flippant way.

                                  …but like I said above, I’m not familiar with this issue, and am just providing my opinion based on the linked article (and the things it linked to).

                                  EDIT: And I went back and read “The Neurodiversity Case for Free Speech”, which in my opinion is framing the argument very poorly. They seem to imply that there are people with atypical neurologies who are incapable of refraining from sexist, homophobic, and anti-Islamic speech. It’s basically saying “I can be an asshole and if it makes you uncomfortable…I have a condition!” It’s removing all agency from atypical neurologies or implying that prejudice and bigotry is an inherent part of atypical neurologirs, neither of which is true.

                                  It also echos the old Kuro5hin “we’re just smarter than you and if you can’t handle it, too bad” argument, which was tiresome then too.

                                  It goes on to say that Isaac Newton would run afoul of these sorts of things today. Well, sure. He owned shares in a slavetrading enterprise. He’s not gonna be in trouble for thinking he can transmute lead into gold, he’s going to get in trouble for talking about owning other humans. It’s a sttawman.

                                  There’s a difference between the kind of behavior exhibited by, say persons with Aspberger’s Syndrome and people who are just assholes. If someone with Aspberger’s truly believes he should tell women he wants to touch their boobs and “just can’t help it”…that’s unfortunate, but it’s not appropriate behavior regardless. Nobody’s banning an Aspie because they forgot to say “please” or said that some piece of code is “garbage”. Aspies can be not-homophobes too, just like neurotypical people.

                                  The article is seeming to say that people shouldn’t be held to any expected form of social behavior when working on a social project. It also falls into the “you have to know 100% every time without asking if someone else would be offended by what you say” which is logically falicious and not in line with what these Codes of Conduct actually say.

                                  In other words, this “reasonable” article seems, to me, to be attempting to throw around some absurd examples and mischaracterized strawmen, and then claim that anyone should be free to act however they please socially with no repercussions.

                                  That’s not how it works, or has ever worked, in any field of human endeavor.

                                  1. 19

                                    No one should be obliged to refrain from anti-Islamic speech in order to participate in an open-source software project, especially if they do so outside of the confines of the project (I’ll grant that it’s reasonable for a project to make any discussion of religion off-topic within the confines of the project). When I said that these changes to the code of conduct were a way of controlling participants’ political speech, this is exactly the sort of thing I was talking about. Islam is a system of religious thought like any other and deserves no special protection from criticism, other than that which is granted equally to all religions in a religiously-pluralistic society. If the Go project can define anti-Islamic speech outside of the project as a banning offense, then they are acting as enforcers of a specific political ideology that privileges Islam as a sacred idea. This has no place in an open-source software project.

                                    1. 4

                                      Well said.

                                      I am more concerned about how, say, virulent your speech is. If you’re so anti-Islam or anti-Christian or anti-Atheist that it becomes obvious that you might have problems working with people of those philosophies then I would be concerned as to how well you’d function in a project that explicitly welcomes people of all (or no) faith.

                                      I am more concerned about consistent “women are just inherently worse at programming, it’s science!”-style posts. If that’s what fills your Twitter, I wonder how you’ll be when you review a woman’s PR, y’know?

                                      But you raise an excellent point.

                                      1. 3

                                        If (this is hypothetical) women are, in fact, inherently worse at programming, and one thinks programming is important and should be for everybody, this means women need additional support for programming. In fact, this is the exact position I hold: I think men are inherently worse at language (reading) as evidenced by standardized test score statistics, and reading is important, and boys need special support so that they can get equal score at reading.

                                        I don’t hold such position wrt women and programming, but if I were, I would review a woman’s PR with more care and time so that it is more helpful.

                                    2. 7

                                      You asked for an honest concern for the new Go CoC. If my concern, to be specific, tweeting a link to The Neurodiversity Case for Free Speech and being allowed continued participation to Go project, sounds honest and reasonable, please confirm.

                                      Thanks!

                                      1. 2

                                        I edited my comment above. From what I gather, the problem was twofold: he didn’t just tweet the article, but supposedly offensive screenshots of comments about the article; and he did it while in a leadership position of the project.

                                        And there were apparently many other complaints and violations of the project’s policies, so it wouldn’t appear to be as simple as “tweet a link, get banned.”

                                        But again, I first heard of this like 15 minutes ago.

                                        1. 10

                                          so it wouldn’t appear to be as simple as “tweet a link, get banned.”

                                          With Go, it would appear to be simpler than that. Post something totally innocuous that they don’t agree with, and get banned.

                                          They banned some guy on reddit because he was just expressing his opinion.

                                          (In case my own post gets deleted, here is a screenshot.)

                                          1. 1

                                            Reddit isn’t Go, though. We have to wait and see.

                                            (And he wasn’t “expressing his opinion”, he was accusing them of witch hunts before the thing was even promulgated. He wasn’t banned for his opinion, he was banned for being an asshole. Go into any volunteer organization and combatively accuse them of witch hunts and bigotry and see how long they welcome your effort…

                                            If he had said “I worry that the vague language and lack of public investigation to lead to abuse of those with minority political opinions,” he’d be fine. Instead he came in accusatorily with guns ablazin and then gets taken aback when people don’t like being talked to that way.)

                                            1. 9

                                              Note that /r/golang does use Go CoC, so it is fully relevant here.

                                              1. 9

                                                he was accusing them of witch hunts

                                                No, he wasn’t. He was responding to this post, essentially answering the question “what is wrong with CoCs in general?”. /u/zevdg had his own opinion, and /u/gildedlink had answered punctually to his objection.

                                                It looks like he was perfectly correct though.

                                                1. 1

                                                  He accused the CoC of being used by “bigoted people…to exclude others based on superficial ideological labels…[and] to bully targets.”

                                                  I shortened it to “witch hunt” but the idea’s the same.

                                                  Again, if he had said “I fear the language is too vague and might be liable to abuse by people who wish to exclude minority viewpoints” he would’ve been fine. I you act like a jerk when expressing your opinion, people’s reactions might be based on your jerkiness and not the expressed opinions.

                                                  EDIT: removed some of my own jerkiness. There was no reason for it, sorry.

                                                  1. 9

                                                    Your restatement is bad because I (and I think gildedlink) am against outside clause in its entirety, and my primary objection is not vague language. In fact, you seem okay with my “Mainly people digging Twitter to oust someone… Rod Vagg and Node.js”, but I don’t see much difference.

                                                    Or do you think I should be banned from Go project for saying the above?

                                                    1. 4

                                                      He said “frameworks like this”, he was talking about other CoCs just like this one and how they were used by other people. He wasn’t accusing these people (the Go people) of anything (although, now, I am, in case anyone is keeping score).

                                                      Again, if he had said “I fear the language is too vague […]”

                                                      He was saying what a CoC can do (and what it did do in other communities). He didn’t get a change to expands on his thoughts, or explain in depth how this particular CoC enables that phenomenon because he was banned.

                                                      As a related point, I am sure you realize that some of use are against the very idea of a CoC. While I have specific problems with this particular CoC (which have all been discussed here before by other people, so I won’t repeat them), my main ideological problem is with the existence of a CoC itself in any shape of form.

                                                  2. 1

                                                    For the record, I appear to have been shadow banned from /r/golang as well. Not just regular ban, but shadow ban.

                                                    1. 1

                                                      Any idea why?

                                                      1. 4

                                                        Actually after some more investigation, I wasn’t banned, but they enabled global censoring. Every post now has to be approved by a moderator before it becomes visible to other people. In my opinion, this is a far worse outcome then if they had just banned me…

                                            2. 5

                                              Replying to edit:

                                              They seem to imply that there are people with atypical neurologies who are incapable of refraining from sexist, homophobic, and anti-Islamic speech.

                                              There is no such implication. It’s not about being incapable, it’s about being more difficult. Large text accessibility theme is not about being incapable of using small text.

                                              That’s not how it works, or has ever worked, in any field of human endeavor.

                                              Since humanity never made it fair for Aspies in its long history, humanity shall continue to make it unfair for Aspies forevermore. Got it. If your criteria for social change is “that’s not how it has ever worked”, there would be no women’s suffrage.

                                              1. 4

                                                How does being an Aspie make it more difficult to not be a homophobe? Homophobia is not a symptom of Aspberger’s Syndrome.

                                                1. 4

                                                  It makes it more difficult to know what the implicit prevailing social norm is.

                                                  But really, that’s not what I think is the core of disagreement. You find The Neurodiversity Case for Free Speech objectionable. Got it. Do you find it objectionable enough that tweeting a link to it should constitute a cause for ban for open source projects?

                                                  1. 1

                                                    Not at all. But if that’s provided as supporting evidence that I lack impartiality to do my job according to the project’s rules and had been the subject of multiple complaints on top of documented violations of procedures and policies….well…

                                                    Now, do you think that treating gay people with common respect is purely a social norm that we should ignore if we feel like it?

                                                    1. 3

                                                      Yeah it’s also important to remember that a condition may be an explanation but it isn’t an excuse. I have ADHD and I do lack impulse control. That lack of impulse control is not an excuse to act out on others. I still need to apologize for my behavior and describe what steps I might take to avoid it in the future. It does not count as be an asshole free card. I still need to put a good faith effort into having good behavior and if I repeatedly am hostile to others then I may not be able to be involved in a group project.

                                                      1. 3

                                                        This is why I am in favor of Rust CoC. “Moderators will first respond to such remarks with a warning.” Rust CoC is explicitly against instaban.

                                                        Go CoC is not, and above /r/golang case seems Go CoC in fact can instaban. (It is possible that there was private warning, but short time frame makes it unlikely.)

                                                      2. 1

                                                        No, I don’t think so.

                                                      3. 1

                                                        It doesn’t, however, make it difficult to know what one’s values are, or to act accordingly. I don’t know what social norms have to do with it, and I find this argument insulting.

                                                  2. 3

                                                    And the problem, from what I gather, wasn’t that he tweeted about an article, but that he tweeted screenshots of rude responses about it. He’s a leader of the project, and as such needs to think about his position.

                                                    I have an honest question which I hope you to reciprocate by answering. Do you seriously believe it would have been different if just link was tweeted and “Dude, What’s wrong with your head?” screenshot was not tweeted? I really have hard time believing this. “Yes” or “No” would be sufficient. Thanks!

                                                    1. 1

                                                      Well, before we go too far down this rabbit hole, we should remember that Node.js and Go are two separate projects and we should judge Go’s policy separately.

                                                      As for your question:

                                                      I don’t know. Maybe yes, maybe no. I think if the person in question has other complaints lodged against them, the scales might tip.

                                                      I personally wouldn’t care, but I’m not the Node.js TSC with their insider knowledge of his past behavior.

                                              1. 0

                                                empathy

                                                1. 1

                                                  What is the current state of Plan 9 development?

                                                  1. 7

                                                    9front is actively developed.

                                                    1. 1

                                                      Is 9front usable on desktop? By usable, I mean that there’s some mail client (I don’t mind CLI, I use Mutt anyway), some audio / video player (mpv is just fine) and some browser that understands modern websites (yeah, I hate JS too, but it’s inavoidable). I guess the last part is the worst :)

                                                      1. 9

                                                        The last part is indeed the worst. For web browsing, there’s mothra and that’s about it. Mothra does not support JavaScript. Here is the relevant bit of the FQA.

                                                        Russ Cox described his motivation for creating Plan 9 from User Space like this:

                                                        I ran Plan 9 from Bell Labs as my day to day work environment until around 2002. By then two facts were painfully clear. First, the Internet was here to stay; and second, Plan 9 had no hope of keeping up with web browsers. Porting Mozilla to Plan 9 was far too much work, so instead I ported almost all the Plan 9 user level software to FreeBSD, Linux, and OS X.

                                                        1. 2

                                                          Yes there’s a mail client, playing videos depends on the format, modern browser…no, by design mostly.

                                                          1. 3

                                                            there is no support for video playback at all.

                                                            1. 2

                                                              What can you use 9front for? I don’t mean playing in VirtualBox or whatever VM software you use, but for serious usage. I’ve always wanted to play with it more, but playing just for the sake of playing with it makes me isn’t interesting for me :)

                                                              1. 11

                                                                The system excels at manipulating text. It can playback most popular audio formats, and it can display many popular image and document formats. It does not (currently) have any support for video playback. There is no modern web browser (the native browser, mothra(1), ignores CSS, js, and many HTML tags). The system includes a PC emulator called vmx(1) that is capable of hosting Linux or OpenBSD, but currently the guest’s framebuffer is emulated entirely in software, so performance is pretty awful, and programs like web browsers are barely usable.

                                                                1. 1

                                                                  Now, that is something, thanks!

                                                                  What about use as a server? Since this is Plan9-derivative, I assume all Plan9 servers (CPU, Auth, 9P etc. are available). I can also see the included HTTP server. Can it use TLS? What about others protocols (like XMPP, DNS authoritative server etc.)?

                                                                  I see there’s a port of OpenSSH, but it’s at version 4.7, which can’t do ED25510 :/ Is there any other SSH client (I mean, one written for 9front)?

                                                                  I hope you don’t get angry by my questions, I just want to know what I can use 9front for. You kind of made me again interested in it, so I’ll install 9front on a spare PC.

                                                                  1. 6

                                                                    I’m the admin for basically all of the 9front official websites, and the cat-v.org sites, all hosted on 9front for several years. TLS is supported, but there is no support for SNI, so the end result is most current mobile browsers will refuse the self-signed/wrong-domain-name certificate. I also host all my DNS on 9front, pushing updates automatically to slaves at dns.he.net.

                                                                    You didn’t ask about mail, but all the 9front mailing lists are also hosted on 9front, with upas(1) and a rather primitive mailing list manager called ml(1). I also host my personal e-mail with upas(1).

                                                                    The system includes a native SSH2 client called ssh(1).

                                                                    http://fqa.9front.org is probably the best overall resource for information about the system. It includes links and pointers to most other relevant sources. Unfortunately it tends to lag behind the current state of the system at times, mainly because of time comstraints.

                                                                2. 3

                                                                  The Introduction To Plan 9 from the 9front FQA might interest you.

                                                                  1. 1

                                                                    I read it, I used 9front for a few hours some time ago, so I’m not a complete newcomer.

                                                                    What I miss is some overview of available software. I can see that there is https://bitbucket.org/mveety/9front-ports, but it doesn’t seem official.

                                                                    EDIT: Nvm, just found https://code.9front.org/hg/ports/

                                                                      1. 1

                                                                        Thanks, that’s what I was asking for.

                                                                  2. 1

                                                                    I’d really like to get around to porting emacs to Plan 9. That might be the sort of work I could actually do. I’d love to port Firefox to Plan 9, but … that just isn’t going to happen.

                                                                    It’s a pity, because emacs & a web browser are the only things that Plan 9 is really missing.

                                                                    1. 3

                                                                      I think it really needs a hardware accelerated graphics stack. Things would improve dramatically after that.

                                                                      I would love it if the plumber can talk to my phone. An Android/iOS app that reads a web link from plumb and display it on the phone would solve the browser problem.

                                                                      As to the editor… just use acme.

                                                                      1. 3

                                                                        it’s trivial to plumb a link to a script that opens ssh to a remote host and runs a command.

                                                                        1. 1

                                                                          I would love it if the plumber can talk to my phone. An Android/iOS app that reads a web link from plumb and display it on the phone would solve the browser problem.

                                                                          I’d think that could easily be doable with a small Android app to listen for GCM messages.

                                                                          As to the editor… just use acme.

                                                                          But that wouldn’t be emacs, and emacs is what I want to use:-)

                                                                        2. 2

                                                                          emacs has been ported to plan 9 more than once.

                                                                          1. 1

                                                                            Really? I did a quick googling, but no joy. Is it in the main emacs tree?

                                                                            1. 2

                                                                              looks like i’m not able to reply from mothra.

                                                                              there were a couple of (old) ports on sources, which i think is permanently down. there exists a mirror at http://9p.io.

                                                              1. 1

                                                                Is it possible to connect to it with plan9port? How do I do it?

                                                                  1. 1

                                                                    I thought this 9grid did not serve cpu, which would be required for drawterm to connect.

                                                                  2. 1

                                                                    The idea is that you use 9p mounts to connect to each of the available services (see Connecting). I don’t think plan9port contains anything that lets you do that. I’m not sure if there are any other tools (like this one?) that might help.

                                                                    1. 1

                                                                      their are broken 9p mount drivers for various operating systems, none of which support 9front’s improved auth scheme.

                                                                    1. 4

                                                                      research!ucbvax!@cmu-cs-pt.arpa:@CMU-ITC-LINUS:dave%CMU-ITC-LINUS@CMU-CS-PT

                                                                    1. 13

                                                                      For those not sure what you’re looking at, the real focus is in the PDF release of their ezine-cum-manual.

                                                                      1. 2

                                                                        reads like the book of a fringe cult

                                                                        1. 3

                                                                          it is.

                                                                      1. 2

                                                                        the only source of journalism with integrity.

                                                                        1. 8

                                                                          dd < source > target

                                                                          Author seems ignorant of origin of dd specifically, and UNIX coventions generally.

                                                                          1. 5

                                                                            While we’re at it: why does the head(1) command even exist?

                                                                            sed 11q

                                                                            1. 29

                                                                              Like a great many “oh it’s so simple” replacement commands, it’s not actually the same. sed 10q *.c and head *.c produce quite different results. I’m sure with enough work, you could cook up a shell script that does about the same. In the mean time, I’ll be using head.

                                                                              This reminds that for a long time FreeBSD had a note in the ls manpage explaining that there was no option for sorting by file size because look how easy it is to pipe the output to this sort command. Oh, but remember if you use ls -i the column count changes, so use this other sort command. And if you use ls -h for human readable numbers, first pipe the output through awk so the numbers are scaled properly. Anyway, while you’re trying to piece this all together, take a moment to reflect on how fortunate you are to bask in such pure unix essence.

                                                                              Oh, I forgot the best part. ls escapes control characters in output, but only when writing to a terminal. sort isn’t a terminal, so unless you want your terminal getting jacked up, you also have to introduce everybody’s favorite command, cat -v, into the mix.

                                                                              1. 1

                                                                                There is no substitute for typing dumb things into the computer except not typing dumb things into the computer. There will always be trade-offs. Understanding what a given program does with its input is the first step.

                                                                                1. 1

                                                                                  I would posit the commands have dumb requirements (using the ls example given above by tedu)

                                                                              2. [Comment removed by author]

                                                                                1. 4

                                                                                  Some of the things in that list are a bit of a stretch. My favourite is the positively masochistic:

                                                                                  while (! ~ (`{ date }) (specific-time)); commands
                                                                                  

                                                                                  as an apparent stand-in for at(1).

                                                                                  1. 3

                                                                                    I think the assumption is that you’d write your own little shell (rc shell, obviously) script containing something similar to the suggested command and call it “at”.

                                                                                    The nice thing about Plan 9 is you could put it in /bin and it would be there no matter where your code was actually running…

                                                                                    1. 9

                                                                                      I’m not great at rc, but isn’t that a busy loop? If I want to schedule a job for after hours, I’m not sure my corworkers will appreciate pegging the CPU running date 10000 times per second. So you can add a sleep and some stuff, but now you’re just reinventing a square wheel.

                                                                                      I’ll add that the script’s error handling also really sucks. Accidentally mistype the specific time? Loops forever…

                                                                                      1. 2

                                                                                        A simple shell script is not in every case a superior replacement for a featureful program (especially if the shell language is complex and full of easy-to-trip gotchas), but the point of that list of comparison commands is to illustrate that with carefully considered primitives you can go a long way with very little. Probably not all of those examples are golden.

                                                                                        1. 1

                                                                                          I think there’s also a bit of tongue-in-cheek humor there too.

                                                                                          1. 7

                                                                                            Like a lot of the plan9 holy scriptures, not all of the true believers seem to be in on the joke. :)

                                                                                            1. 3

                                                                                              I don’t think the cat -v paper or THE UNIX PROGRAMMING ENVIRONTMENT were intended as jokes. None of this is really about Plan 9, specifically. Plan 9 comes up in these discussions because its primary architect was the same guy who co-wrote those earlier texts, and incorporated his strongly argued preferences into the new system. Those preferences include things like: don’t write unnecessary code. The guys in 1127 at the Labs never bought into a lot of what went into BSD or even other Labs versions of UNIX, anyway. I don’t think it’s fair to dismiss the (admittedly, famously misunderstood) pov of UNIX because some individuals forty years later made bad arguments on the Internet or because a decade-old article in the user-contributed Plan 9 wiki made silly comparisons between then-modern UNIX commonplaces and obviated similar functions in Plan 9. Reading for content, the underlying point remains the same: Keep it simple, stupid.

                                                                                              1. 2

                                                                                                Funny you mention the cat -v paper. Towards the end, they build a columnizer out of pr, but of course they give it an alias instead of always typing a bunch of arbitrary arguments. Then they go on to suggest rewriting useful utilities in C. So to return to the original question of why we have head instead of telling users to memorize sed commands, I think there’s your answer.

                                                                                                1. 2

                                                                                                  Are you misunderstanding me on purpose.

                                                                                    2. 2

                                                                                      HISTORY The head utility first appeared in 1BSD.

                                                                                      AUTHORS Bill Joy, August 24, 1977.

                                                                                  2. 5

                                                                                    There’s lots of features that dd can do rather than output to a raw device. It can read non seekable file descriptors without destroying them. It may not be as fast as cat, but it operates at the block level instead of just STDOUT.

                                                                                  1. [Comment removed by author]

                                                                                    1. 3

                                                                                      The complaints are sometimes stupidly formulated but the problems described are important for all system administrators to understand.

                                                                                    1. 3

                                                                                      Indeed, it has been said that UNIX is the worst form of operating system except all those other forms that have been tried from time to time.

                                                                                      1. 2

                                                                                        Glad this is available, but the book is back in print as well. How did they get permission to archive it?

                                                                                        1. 3

                                                                                          2016.01.14 James Gleick ISAAC NEWTON

                                                                                          2016.01.14 James Gleick GENIUS

                                                                                          2016.01.26 Ashlee Vance ELON MUSK

                                                                                          2016.01.26 William Gibson THE PERIPHERAL

                                                                                          2016.01.27 Thomas Pynchon THE CRYING OF LOT 49

                                                                                          2016.01.27 Don DeLillo WHITE NOISE

                                                                                          2016.02.03 Tom Clancy THE TEETH OF THE TIGER

                                                                                          2016.02.12 Tom Robbins FIERCE INVALIDS HOME FROM HOT CLIMATES

                                                                                          2016.02.12 Tom Clancy DEAD OR ALIVE

                                                                                          2016.03.07 Peter L. Burgen MANHUNT

                                                                                          2016.03.05 Fred Kaplan DARK TERRITORY

                                                                                          2016.03.11 Glenn Greenwald NO PLACE TO HIDE

                                                                                          2016.03.11 Tom Clancy LOCKED ON

                                                                                          2016.03.15 Jon Gertner THE IDEA FACTORY: BELL LABS AND THE GREAT AGE OF AMERICAN INNOVATION ISBN-13 978-0143122791

                                                                                          2016.03.21 Kevin Poulsen KINGPIN

                                                                                          2016.03.21 Tim Weiner LEGACY OF ASHES

                                                                                          2016.03.21 Steve Wozniak iWoz

                                                                                          2016.04.01 Gene Wentz MEN IN GREEN FACES

                                                                                          2016.05.04 Claudia Gray STAR WARS: BLOODLINE

                                                                                          2016.05.05 Bill Grimes THE HISTORY OF BIG SAFARI

                                                                                          2016.05.xx Tom Clancy THREAT VECTOR

                                                                                          2016.06.06 Tom Clancy COMMAND AUTHORITY

                                                                                          2016.06.06 Eric Prince CIVILLIAN WARRIORS

                                                                                          2016.07.25 Vernor Vinge RAINBOWS END

                                                                                          2016.07.26 Paul A. Suhler FROM RAINBOW TO GUSTO

                                                                                          2016.07.27 William Gibson THE PERIPHERAL

                                                                                          2016.08.08 Philip K Dick DO ANDROIDS DREAM OF ELECTRIC SHEEP

                                                                                          2016.08.11 William Gibson DISTRUST THAT PARTICULAR FLAVOR

                                                                                          2016.09.06 Philip K Dick VALIS

                                                                                          2016.09.06 Philip K Dick RADIO FREE ALBEMUTH

                                                                                          2016.10.xx Philip K Dick THE TRANSMIGRATION OF TIMOTHY ARCHER

                                                                                          2016.10.xx Philip K Dick A SCANNER DARKLY

                                                                                          2016.10.10 Henry Miller TROPIC OF CAPRICORN

                                                                                          2016.10.11 Philip K Dick MAN IN THE HIGH CASTLE

                                                                                          2016.10.xx Mark Lucas, Alan Jude FREEBSD MASTERY: ZFS

                                                                                          2016.10.xx Dave Sill QMAIL

                                                                                          2016.10.xx Douglas Crockford JAVASCRIPT: THE GOOD PARTS

                                                                                          2016.10.xx Paul M. Sammon FUTURE NOIR: THE MAKING OF BLADE RUNNER

                                                                                          2016.11.xx Robert A. Heinlein REVOLT IN 2100

                                                                                          2016.11.xx Robert A. Heinlein TIME ENOUGH FOR LOVE

                                                                                          2016.12.05 Masha Gessen THE MAN WITHOUT A FACE

                                                                                          2016.12.xx Philip Roth THE PLOT AGAINST AMERICA

                                                                                          1. 3

                                                                                            Very slowly wrapping up a new werc release.

                                                                                            1. 7

                                                                                              Lede: Signatories self-report seditious intent, fatally wounding personal legal defense.

                                                                                              1. 7

                                                                                                This comment was not intended as trolling. The list is a list of targets, self-identifying such. The immediate use of such a list is (ironically?) a shopping spree for actual trolls.

                                                                                                1. 6

                                                                                                  For the record, I agree with you and this is a factor I’m considering as part of whether to sign, though there are other considerations I find more important.

                                                                                                  1. 6

                                                                                                    I mean, for what it’s worth, you work at the GOOG, right? Your employer is most definitely part of the problem.

                                                                                                    That said, you can–should you feel the need–resign at any time privately without having signed this and in doing so accomplish about as much you would have having signed it, and at less personal risk.

                                                                                                    1. 6

                                                                                                      The only people working at Google that could honestly sign this would be subversives with good shot at getting into senior roles that could change things. Anyone else is, in practice, just aiding and abetting a major offender whose leadership is tight with Washington. They have to resign the commitment to the pledge or resign from Google.

                                                                                                      The life of the principled technologist in an unprincipled world is one of great sacrifice. Sad but true.

                                                                                                      1. 2

                                                                                                        I signed it sincerely. I happen to work at Google at the moment. I don’t plan to resign for political reasons at the moment. I’m not a “subversive” at the moment, and I certainly don’t expect to ever “get into a senior role”. I see no contradiction in all this; I sleep extremely well at night. Not all “principled technologists” have to have precisely your principles. kthxbai

                                                                                                        1. 3

                                                                                                          At least you’re brave enough admit you’re in that category. I’m talking about the principles on the pledge. Google collects data that can be used for targeting minorities or dissidents by Washington. It is used for targeting specific people or types by Washington per Snowden leaks & Patriot Act. Many people behind pledge worry it might expand to hit them under the Trump Administration. The pledge says you’ll refuse to support or build on such things. You will even minimize or destroy such data if you can. I’m taking these as your principles since you signed a document saying these are your principles and intention.

                                                                                                          For job positions, there’s directly doing the bad things in the pledge. There’s also indirectly doing it by furthering the goals and revenues of a company that’s almost totally about doing the bad things in the pledge. Google’s riches come from an all-encompassing, uncaring form of collection that includes these bad things. There’s definitely a contradiction in saying you oppose the bad things they do, have no intention to change that, and continue to support their success as a company as an employee.

                                                                                                          My principles are fine with you working at Google given they’re more pragmatic: do great things via whatever Google gives you, do what’s on the pledge (resign), have fun with your life, or anything in between that doesn’t harm people. It doesn’t bother me given there’s justifications for any of it. However, your principles as stated by the pledge narrow things down a bit as certain companies support the evil the pledge is against. Hence, my comments about the moral result of supporting such companies while claiming to support the pledge.

                                                                                                          Note: Also why I’ve turned down jobs with lots of money since they’d result, directly or indirectly, in harm that I’m against on principle and as an activist. You know you’re an activist against evil, status quos when you start losing opportunities to practice what you preach against them. ;)

                                                                                                          1. 1

                                                                                                            “Google collects data that can be used for targeting minorities or dissidents by Washington. It is used for targeting specific people or types by Washington per Snowden leaks & Patriot Act. Many people behind pledge worry it might expand to hit them under the Trump Administration.”

                                                                                                            Just to help you triangulate, I disagree with these sentences.

                                                                                                            I also find your second paragraph overblown and over-generalizing in the extreme. To pick at just one easy hole, many employees are net liabilities to their employers. Most of us have encountered at least some extreme examples of this. I may even be one of them, I can’t be certain since it’s not so extreme. You utterly ignore this possibility.

                                                                                                            But I’m not interested in arguing further. At the level you’re making generalizations it’s impossible to take breath without worrying about harming someone else. You could just as well argue that everybody continuing to live in the US is complicit in a Trump Administration’s actions, for example. Might as well argue about angels and pinheads. I’m ok with the knowledge that my actions can causally result in harm to others. That doesn’t fall afoul of my “principles”, and that wasn’t what I signed my name to.

                                                                                                            1. 1

                                                                                                              You strawmaned my post quite nicely. Let’s do some specifics from the pledge then:

                                                                                                              “We will advocate within our organizations:

                                                                                                              to minimize the collection and retention of data that would facilitate ethnic or religious targeting.
                                                                                                              to scale back existing datasets with unnecessary racial, ethnic, and national origin data.
                                                                                                              to responsibly destroy high-risk datasets and backups. "
                                                                                                              

                                                                                                              The company’s business is profiling people & activities as detailed as possible to facilitate targeting by advertisers. They are maximizing rather than minimizing collection of data on their users. They aren’t scaling back datasets along lines of racial, ethnic, or national origin. They aren’t destroying anything high-risk. They have given data to the government per secret orders and such. So, the company is a potential, treasure trove of the kind of data this pledge wants gone with the government already using some of it to target Muslim terrorist suspects. They have no intention to change any of this except further expansion.

                                                                                                              Google’s current operations and aims contradict the highly-specific things in the pledge that its signers claim they’ll do. So, I maintain supporting both is a contradicting position. Any pledge-supporting developers interested in search companies will find DuckDuckGo to be compatible with its aims. There are also private email companies, collaboration tools, browser setups, and so on. Alternatively, one might find it comfortable to sign a pledge about reducing or deleting collection of targeting data while supporting a company increasing collection of that same data. Definitely more fun & money involved.

                                                                                                              1. -2

                                                                                                                As I said, I’m not interested in debating or persuading you. The tenor of your initial comment[1] (that I originally responded to above) isn’t really amenable to beginning any sort of substantive conversation. Is it surprising all we get is mutual derping and strawmanning[2]? This whole thread has left me disappointed in Lobsters. But perhaps there’s other people who don’t think as y'all do, who would appreciate knowing that alternative viewpoints exist here. That’s my sole motivation in entering this thread; politics is a tarpit that I usually come to Lobsters to escape.

                                                                                                                [1] You’re basically claiming anybody who works at a large tech company has no business having an opinion on surveillance or privacy. You have no fucking idea of the wide variety of people who work at these places. Chefs, janitors, bus drivers, secretaries, lawyers, politicians, lobbyists, academics (refuse Google grants, people! snort), open source advocates. Tarring a large group of people with an overly broad brush is the essence of bigotry.

                                                                                                                [2] I mean, I don’t usually sign pledges. But I don’t shit all over people who do either. Of course most of them are engaging in empty sentiment and value signalling. But maybe some of them get something more out of it. Maybe it changes the actions of a tiny minority. Who am I to mess with any potential magic with my cynicism? What value are you trying to add with your value judgements in this thread?

                                                                                                          2. 3

                                                                                                            How can you sign on to the points in the pledge and at the same time neither be a subversive nor plan to resign from Google? Almost every point with meaning goes against both Google’s stated goals and its past behavior.

                                                                                                            1. 1

                                                                                                              I guess I must be reading different words than you, or interpreting them differently, or I must just be acting in bad faith. Does that cover the possibilities? I’m not going to bother exploring them further. I’ve made my position clear, but I don’t come to Lobsters to talk politics or to persuade anyone. So feel free to get into the details about exactly how the words you are reading unfailingly imply the conclusion you arrived at. I couldn’t be arsed.

                                                                                                    2. 4

                                                                                                      This is why many of us in 9/11 truth movement were careful about putting our name on these lists and sites. Had to pick and choose with me using pseudonym on non-government forms. Especially after Patriot Act passed with a form of martial law (“state of emergency”).

                                                                                                      This is somewhat a hitlist whether they intended it or not. The good news is the US police state stays in power by being very selective in how they act against dissent or use illegal/semilegal powers. As in, FBI usually uses regular laws in courts instead of scary stuff like rendition. They focus that on minorities or fringe groups they can justify as a violent, usually terrorist, threat. You have to cause a lot of damage and get in those categories before they’ll target you. The so-called permanent Washington doing this stuff will still be there under Trump with probably same policies.

                                                                                                      So, people on this list are likely safe from murder or imprisonment. Immediate risk is headhunters for tech blacklisting them as troublemakers. Especially if they gain momentum. They’d think a bunch of Medium articles about six figure folks being unemployed perpetually would send a message. Far as government, worst escalation I see is you get on a list with extra scrutiny at airports or for govt contracts/positions. I doubt this pledge is even on their radar unless Thiel or someone connected brings it up.

                                                                                                      1. 3

                                                                                                        Also: random (“anonymous”) people on the Internet who may decide to target you, en masse. For the population of planet Earth, targeting and attacking individuals is easy, cheap, and risks few consequences. All authorities have to do to benefit from this phenomenon is… do nothing at all. See also: Kristallnacht.

                                                                                                        1. 1

                                                                                                          And that is reason I write as Nick P. Good one! The feds kniw who I am. Im probably fucked in the long term on that if police state treatment broadens. The assaults by the trolls or payback from organized crime would be wave after wave that’s aggravating and draining if nothing else. On top of an alreafy stressful life. Unlike just during a job interview or airport visit where I can at least get a break between times hassled.

                                                                                                          They’re like a DDOS attack on the mind. A pseudonym filters them a bit. So, there is that benefit. Not unlike many security tech like whitelisting and NAT that doesnt top the skilled but filters out the riff raff.

                                                                                                        2. 1

                                                                                                          You say that as if being on the no-fly list would be a minor inconvenience, rather than the life-changing thing it is.

                                                                                                          1. 4

                                                                                                            Who said No Fly List? That would be pretty bad. If this list got them there, it would definitely be worth worrying about.

                                                                                                            The scrutiny I was referring to is where they start giving you “random” screenings, searches, interrogations, and so on. You can still fly but it’s aggravating. This is what happens the most to political targets. DNF list is separate and I at least dont see tech activists in it.

                                                                                                            1. 4

                                                                                                              Ah, fair. I get the manual genital inspection most of the time anyway, because I’m trans, and I agree that it’s aggravating but not life-changing.

                                                                                                              1. 2

                                                                                                                Truly sorry ro hear that. Yeah, the point is the stuff is degrading and damaging but victims survive and even can keep being activists. Not like the treatment of terror suspects today or say black activists of 60’s.

                                                                                                        3. 2

                                                                                                          …and potentially, worse than trolls.

                                                                                                      1. 3

                                                                                                        That a language is Turing-complete is overrated in risk due to the otherwise-beneficial LANGSEC crowd. Most of INFOSEC assumes components will be compromised somehow. The solution was isolation, mediation, and monitoring. That solution can work with web browsers as well. The simplest way to defeat the risk Javascript poses to your machine is to use a different machine for untrusted, web browsing. That’s physical isolation. The other end of the spectrum is a secure, browsing architecture. OP2 & IBOS come to mind. The middle end is a virtualization scheme that isolates the browser from the rest of the system. Preferably multiple instances of the browser representing domains with different levels of trust.

                                                                                                        You can also disable Javascript. I’ve been a NoScript user a long time. Yet, even if it’s enabled, the above methods mitigate the risk it poses.

                                                                                                        1. 4

                                                                                                          Sometimes I wonder if disabling features in a browser is sufficient when I have no real way of knowing what disabling said feature is actually doing. At a certain point, differentiating between supposed browser (for want of a better term) modes is debating an abstraction that may or may not resemble reality. We can form airtight arguments, but how can we verify they map to reality? This is a long way of asking: “what if the browser is lying to me?”

                                                                                                          1. 4

                                                                                                            If your browser is a trusted component then your browser is a trusted component with all that implies.

                                                                                                            If your browser is not a trusted component then presumably you have it securely sandboxed in some way in which case it doesn’t matter whether it lies to you, it can’t escape the sandbox.

                                                                                                            1. 2

                                                                                                              Do you see what I mean, though? Implementation is reality, in spite of the spec.

                                                                                                              1. 1

                                                                                                                No, I don’t. Either your browser is trusted or it isn’t, there’s no real third option.

                                                                                                                1. 3

                                                                                                                  Maybe I’m just struggling with the notion of a trusted browser. Cognitive dissonance: No such thing that supports modern features even exists, that I have ever seen or heard of. This is an example of what I mentioned above: an airtight argument that falls short of mapping reality.

                                                                                                                  On Plan 9 I use a very simple browser called mothra. It does almost nothing at all: renders basic HTML and displays inline images. There is no CSS or JavaScript support at all, and in fact it ignores most HTML styling beyond bold and italics. In most cases I’m reasonbly sure remote servers are not causing it to do weird things, but I have crashed it before and I’m sure I will probably manage to crash it again.

                                                                                                                  1. 3

                                                                                                                    Re secure browsers

                                                                                                                    Look up the ones I mentioned. The prototypes often use components like Webkit so they’re more realistic. All need a lot of work before mainstream-worthy but already prove architectural principles. Best examples are OP2 Web Browser and Illinois Browser Operating System.

                                                                                                                    Re disabling functionality

                                                                                                                    I think I get what you mean. It’s a real risk where people have disabled features that reactivated on update. Or the code is still there for malware to call even though regular app doesnt use it. Or you eliminate a behavior that can be reconstructed by chaining what’s still there (eg ROP).

                                                                                                                    Original solution from high-assurance was a combination of requirements-to-design-to-code traceability, modularity, simplified design, and mostly loop-free layering. You got only what you needed in a product easy to verify. For mainstream’s bloat, the technique from Poly2 is best where they straight-up deleted code out of the OS (syscalls) or apps. A friend of mine did this on a WinXP box at file level until his whole system took up under 650MB. That’s with browser, office, and antivirus!

                                                                                                                    So yeah, it has to be deleted or provably unreachable. That means memory safety is probably a prerequisite, too.

                                                                                                                    1. 2

                                                                                                                      It’s already (widely) trusted; whether it’s trustworthy is the relevant question.

                                                                                                                      A well-designed browser might contain untrusted components, properly isolated. But the browser system as a whole is still trusted (unless it isn’t and is instead properly isolated, as in e.g. Qubes). And the UI will always be as trusted as the most trusted part of the system, because an attacker who can subvert the UI can make you give the rest of the system the inputs that would make it do anything the attacker wants that’s within its capabilities. There really is no getting around that - the only solution is to ensure that the UI is well-defined, well-isolated and small enough to be auditable (or to have the browser as a whole be untrusted, which is difficult if we’re talking about e.g. doing online banking - you can secure the OS against the browser, but an attacker who subverts the browser already has the keys to the kingdom in most respects).

                                                                                                                      I wouldn’t trust anything Plan 9 (it’s from the same authors as Go, right?), and certainly I would assume any crashes in a C program are exploitable security vulnerability until proven otherwise.

                                                                                                                      1. 3

                                                                                                                        But this brings us full circle to the question of why we trust any program at all. I’ve managed to crash every OS and browser I’ve ever run. Your final paragraph undermines the distinction between trusted and untrusted, in general.

                                                                                                                        Ken Thompson and Rob Pike did work on Plan 9 (as well as UNIX, obviously). Mothra was written by Tom Duff (of Duff’s Device fame). It’s buggy as hell but remains small enough to read and understand.

                                                                                                                        1. 4

                                                                                                                          But this brings us full circle to the question of why we trust any program at all. I’ve managed to crash every OS and browser I’ve ever run. Your final paragraph undermines the distinction between trusted and untrusted, in general.

                                                                                                                          Trusted components mean components that we do trust, rather than components that we necessarily should trust. We trust a lot more code than we probably should, and I think that strategy will come to haunt us shortly (as attackers get more sophisticated) even though it’s been successful to date. I think trustworthy code will require better tools (I think a language like Noether gets most of the way there) - it’s simply too easy to introduce undefined behaviour even in carefully reviewed C that was known to be security-relevant (e.g. https://bugs.chromium.org/p/nativeclient/issues/detail?id=245 ) - though I guess that’s ultimately a matter of opinion.

                                                                                                                          I think you hit a real insight, that the UI of anything is always going to be as trusted as the rest of that component and it’s not possible to have a secured system with an untrusted frontend. To someone with my views that means not trusting anything with a C/C++ UI and hence probably nothing with a GUI; as I’ve said, one could use Qubes or similar and be reasonably confident that one’s system will not be compromised by websites, but there is no principled way to do online banking (say) safely. On the other hand, so far online banking hasn’t resulted in so many people losing money - and if it does then Keynes' statement about successful bankers applies equally to successful bank customers.

                                                                                                                          But yeah, everything is insecure and we’re all doomed.

                                                                                                                          1. 4

                                                                                                                            lmm 8 hours ago | link |

                                                                                                                            Thanks for the Noether reference. That’s fascinating. Reason is two lines of research I occasionally do. One, for anti-subversion & easier verification, is composing a full platform from a series of languages from ultra-simple, bare metal to complex, application grade. I proposed this in verifiable vs reproducible builds. Another was concept of integrating various languages or DSL’s on a common core that each handled a different type of job. The fascinating thing about this one is it does both things I did in my work to a greater degree with full nesting. Only other that did was CertiKOS & sklogic’s tool to a degree but more on the DSL part.

                                                                                                                            Will have to read up on it more. :)

                                                                                                                            1. 3

                                                                                                                              If you find anything then please let me know - the language design seems right to me, but it looks like there hasn’t been any work for a year or more (or if there has been, it hasn’t made it to GitHub). What I really want is a language like that but with an explicit, verified cost model, along the lines of http://lambda-the-ultimate.org/node/5021 .

                                                                                                              2. 3

                                                                                                                The obvious follow-up: “How would I know?”

                                                                                                                1. 1

                                                                                                                  A good first step is not using proprietary browsers.

                                                                                                                  1. 3

                                                                                                                    Open source is obviously preferable but does not completely solve the problem of complexity in codebase too large to be read (much less understood) by a human being.