1. 4

    The venerable master Qc Na was walking with his student, Anton. Hoping to prompt the master into a discussion, Anton said “Master, I have heard that objects are a very good thing - is this true?” Qc Na looked pityingly at his student and replied, “Foolish pupil - objects are merely a poor man’s closures.”

    Chastised, Anton took his leave from his master and returned to his cell, intent on studying closures. He carefully read the entire “Lambda: The Ultimate…” series of papers and its cousins, and implemented a small Scheme interpreter with a closure-based object system. He learned much, and looked forward to informing his master of his progress.

    On his next walk with Qc Na, Anton attempted to impress his master by saying “Master, I have diligently studied the matter, and now understand that objects are truly a poor man’s closures.” Qc Na responded by hitting Anton with his stick, saying “When will you learn? Closures are a poor man’s object.” At that moment, Anton became enlightened.

    https://wiki.c2.com/?ClosuresAndObjectsAreEquivalent

    1. -1

      Haha :) nice username ~

    1. 0

      I like how they effortlessly combine a user-unfriendly GUI with a user-unfriendly community.

      1. 11

        Most 9front users are not unfriendly in my limited experience, in fact some of the nicest, most knowledgeable and patient people I have seen use 9front.

        1. 7

          user-unfriendly community

          How so? Their brand of not holding your hand is pretty well-known.

          1. 7

            Well, there was a long time that they ironically used Nazi imagery to promote their stuff. I don’t think there’s necessarily anything wrong with this “joke”, but I also understand people who found this content at the very least extremely unnerving (as I do personally as Jew).

            It seems they added and anti-Nazi symbol that links to Nazi punks fuck off, which I applaud, but the fact that they’ve had to do this I think speaks volumes about who their artwork attracted.

            I happen to really like Plan 9 and the effort 9front has put in to expand on the system, but I think to a large extent the damage has been done in terms of attracting normal every day users.

            1. 11

              As a grandchild of holocaust survivors, and a fairly active committer on 9front, I don’t recall anything that made me uncomfortable – though, there’s a relatively dark sense of humor about the project. You’re allowed to dislike dark humor.

              but the fact that they’ve had to do this I think speaks volumes about who their artwork attracted.

              Hm? I don’t recall any incidents that needed response – it’s just a general sentiment.

              I think to a large extent the damage has been done in terms of attracting normal every day users.

              The first image you’ll see if you look at our user-facing documentation is this: http://fqa.9front.org/goaway.jpg.

              1. 4

                … which, to be perfectly frank, was one of the things that attracted me to 9front. That, and a quick browse through the propaganda page, convinced me that I’d likely enjoy the ambience.

              2. 7

                Plan 9 is an operating system that doesn’t support a web browser. Normal every day users should not under any circumstances try to use Plan 9, and their branding helps to discourage such users.

                1. 3

                  I think netsurf is now supported?

                  1. 3

                    Cool, thanks for pointing out the netsurf port. Which is still a work in progress, according to the readme.

                2. 6

                  but the fact that they’ve had to do this I think speaks volumes about who their artwork attracted.

                  Seems more likely they did it to disambiguate the admittedly dark sense of humor for fellows like yourself than because of anyone being attracted to it. Or perhaps they added it because they do want Nazi’s to fuck off, not quite sure why this is being held against them.

                  1. 4

                    I’m not personally holding anything against them, they can have their project with their inside jokes and I think that’s perfectly good for them. And for anyone who joins in on the joke.

                    For the record, I happen to like extremely dark jokes. Even jokes about the Holocaust occasionally. But i don’t think that dark humor is going to attract a lot of people to your operating system. Also, I can like dark humor and find their jokes not funny. A picture of hitler with a joke I don’t find funny in the caption is just a picture of hitler, and to me that would seem weird and out of place.

                    I just happen to think that it’s indicative of a laisez fair attitude towards being generally marketable or something that a majority of casual observers would feel enticed to use. And again, I don’t think there’s anything WRONG with this, just that the way the present themselves is slightly abrasive, and at one point was even more than slightly abrasive.

                  2. 5

                    Mozilla used loads of Soviet-styled artwork in their heyday, that did not seem to make people shun them?

                    Note to 9front: use Genghis Khan-themed artwork next time. He killed more people than the Nazis (about 40 million which amounted to ~11% of the world’s population) but most people won’t know that. You can have edgy images of mass murderers without getting people all riled up.

                    1. 1

                      Oh, Mozilla took some flak for that. Which was hilarious, but some people definitely were offended.

                      It’s worth reading the entire story, as told by jwz - here’s a central quote in this context:

                      We had to convince them that these “open source” people weren’t just a bunch of hippies and Communists.

                      To that end, the branding strategy I chose for our project was based on propaganda-themed art in a Constructivist / Futurist style highly reminiscent of Soviet propaganda posters.

                      And then when people complained about that, I explained in detail that Futurism was a popular style of propaganda art on all sides of the early 20th century conflicts; it was not used only by the Soviets and the Chinese, but also by US in their own propaganda, particularly in recruitment posters and just about everything the WPA did, and even by the Red Cross. So if you looked at our branding and it made you think of Communism, well, I’m sorry, but that’s just a deep misunderstanding of Modern Art history: this is merely what poster art looked like in the 1930s, regardless of ideology!

                      That was complete bullshit, of course. Yes, I absolutely branded Mozilla.org that way for the subtext of “these free software people are all a bunch of commies.” I was trolling.

                      I trolled them so hard.

                      I had to field these denials pretty regularly on the Mozilla discussion groups; there was one guy in particular who posted long screeds every couple of weeks accusing us of being Nazis because of the logo. I’m not sure he really understood World War II, but hey.

                3. 7

                  I disagree. As a recent newcomer to Plan9, and 9front, I found their documentation and IRC support very friendly indeed.

                  Edited: Also, their GUI is not at all user-unfriendly. It’s not terribly discoverable, but once you know how to drive it, it’s incredibly user-friendly and powerful. It may seem like a strange nit to pick, but user-friendliness is not the same as discoverability. They’re orthogonal, and conflating the two has led to years of brain-dead ‘consumer’ UIs.

                  1. 5

                    user-friendliness is not the same as discoverability. They’re orthogonal, and conflating the two has led to years of brain-dead ‘consumer’ UIs.

                    Yeah, I think there’s a missed opportunity somewhere that there’s a difference between newcomer-friendliness (as in “can anyone pick this up without studying the manual”) and user-friendliness (as in “is it consistent and doesn’t drive you nuts?”, “is it powerful?”, “does it save you time?” etc).

                    1. 4

                      The most obvious missed opportunity is, as usual, the opportunity to learn from people who’ve been working hard at these very issues for, oh, fifty years or so. The relationship between the effort needed to use a system and the results that can be obtained with a given level of effort, and the learning curve that connects beginners and expert users, has been painstakingly studied from many angles in the HCI community. There are even slogans like “low floors, high ceilings”… yet ignorance abounds.

                      If anybody’s going to actually empower actual users, it will have to be hobbyists like the 9front folks. Consumer technology has long been pulling in the opposite direction; computing professionals are largely caught up in geek machismo and rationalization while serving our corporate masters; and academics are a cowardly lot locked up behind paywalls and tenure politics.

                      1. 1

                        computing professionals are largely caught up in geek machismo and rationalization while serving our corporate masters

                        Not to mention fashion, and wanting to be identified as “creatives”.

                        I remember when Microsoft lost their monopoly courtesy the Web, and almost unanimously, software developers up and handed that monopoly to Apple :(

                        Now, maybe, with Apple’s move to ARM (and possibly almost-completely nerfed MacBooks), we’ll have another chance.

                        (Sadly my current bet is that we’ll choose “Linux layer on MS Windows”, marking the completion of a truly epic embrace, extend, extinguish cycle).

                        1. 1

                          Until we’re a real engineering profession, like with mandatory membership in professional societies that can independently decide and enforce standards of ethical conduct and “best practices” that aren’t just fads, we’re all basically just overpaid labor. Craftspeople with contracts at best, unorganized day-laborers more often. I hope to see it happen in my lifetime, but I’m not exactly holding my breath.

                          For an eye opening, read up on the history of the engineering professions, starting with civil engineering in the late 18th and early 19th century. We have a long way to go.

                          1. 1

                            I’m quite well versed in the history, and I’m still not convinced that it’s the right approach. We’re not engineers, for the most part, and that’s entirely reasonable. (I have an entire soapbox rant about the use of the term engineer to describe programmers who don’t have engineering degrees, and who aren’t doing engineering. Like myself, for over two decades).

                            There’s already been some discussion on licensing for programmers on Lobste.rs:

                            https://lobste.rs/s/91khhj/why_are_we_so_bad_at_software_engineering#c_lirfgi

                            1. 2

                              Fair enough. I suppose I could respond with this other post or let you hash it out with @hwayne who has Strong Opinions on the matter.

                              But I’m not saying every computing professional is (or should be) an engineer, any more than every medical professional is a doctor or every legal professional is an attorney. However, I do feel that the lack of an effective and independent governing body for those who are doing engineering, with all the consequences it entails, has inflicted an unfortunate amount of collateral damage on the general public. I had hoped that the ACM would fill that role, but so far they’re way too academic. In practice, inasmuch as any one has stepped up, it’s been the IEEE gradually colonizing our space.

                              1. 1

                                However, I do feel that the lack of an effective and independent governing body for those who are doing engineering, with all the consequences it entails, has inflicted an unfortunate amount of collateral damage on the general public.

                                Serious question: what do you consider “doing engineering”?

                                As one example of the difficulty: a litmus test could be working on life- or safety-critical software. So, say, not Kubernetes. But then you see the designers of B-series bombers using Kubernetes to run their system software. So … should anyone contributing to Kubernetes be a licensed engineer?

                                1. 3

                                  I doubt there’s a crisp line between engineering and mere “developing” (coding, sysadmin-ing, etc). Also, as you point out, trying to grade the seriousness of a job based on the potential consequences of a mistake, per-incident, is pretty intractable. But it’s relatively easy to measure adoption, and that at least gives a sense of the breadth (if not depth) of the responsibility. If everybody’s going to use k8s (shudder) then yeah, those devs are doing engineering and should be held to a higher standard than if they were doing a one-off bespoke automation suite internal to some firm. Regarding depth, individuals making the decision to adopt dependencies have heavier responsibilities too. The aerospace and defense industries have a staggering amount of bureaucracy in their engineering processes, I would say to compensate for inadequate professional governance.

                                  (Longest and most off-topic thread EVAR!!!!1! Personal best)

                                  1. 1

                                    Haha :). Derailing threads like the ARTC derails trains … anyhow …

                                    How would you handle that transition? Imagine I produce an open source library that suddenly sees massive adoption. Goes from a few users to thousands, then maybe tens or hundreds of thousands, in quick succession.

                                    Should I, as a non-engineer, be allowed to continue to support the project? Must I find registered engineers to join the project? Should I allow source contributions from non-engineers? Who fits the bill for all this?

                                    It’d have a massive chilling effect on open source software and innovation in general.

                                    1. 1

                                      Since at this point the party’s been over for a while, and I’m really just waving my naked opinion around… let me flip it back at you. Maybe we need more sustainable and responsible funding models, rather than just pillage-and-profit? And, is the sudden massive industrial adoption of hobbyist-grade software really something we want to encourage? Hell, for that matter, is “innovation”? I don’t really want a lot of rapid innovation in my critical infrastructure, thanks.

                                      But, you’re pointing out symptoms of an immature field under an unhealthy amount of pressure. My opinion doesn’t really matter, of course. I just think that rising public awareness (and inevitably “outcry”) about the inherent dangers, will eventually force some form of change. Again, probably not overnight. But it’s a pattern we’ve seen play out before.

                1. 14

                  Colleague of mine tried to install Linux on the Macbook we got him for work (2019 model, touchbar macbook pro 15”).

                  I can say that it was a lesson in futility, patience and over-all unpleasantness.

                  Aside from the obvious (no touchbar support, no esc key) there were issues such as fan control and the keyboard. Can you imagine having a laptop where you can’t use the keyboard? This is apparently fixed in kernel 5.3.

                  One of the major things was trying to bypass the system integrity protection.

                  I wouldn’t recommend buying an Apple Laptop if you intend to install another OS on it; it’s just too much work and there is equivalent quality hardware out there.

                  There is a good (active) document of people trying to do this though: https://gist.github.com/roadrunner2/1289542a748d9a104e7baec6a92f9cd7

                  1. 2

                    thanks for this, it has been in my todo list for a long time, but I never really got to try because afraid of this exact kind of issues.

                    1. 2

                      What laptop do you recommend then?

                      1. 7

                        ThinkPads are high quality machines and are well supported on Linux (and at least some other free operating systems).

                        1. 3

                          For the most part all the BSDs have good thinkpad support, especially as Intel/Radeon graphics drivers are under a BSD license. Haiku and illumos often have good support as well, usually porting the code from the BSDs.

                          1. 2

                            Thanks: I thought support was pretty good on the BSDs, but I wasn’t sure about the uniformity, and suspected, but didn’t know, that things like Haiku and illumos would too.

                        2. 5

                          As with all things it depends;

                          If you want a thin&light and don’t care about ports there’s the new Dell XPS 13” (with a 16:10 display!).

                          If you need something with a bit more ports and a rugged chassis, great keyboard I’d go with the Dell Latitude.

                          More power and it’s the XPS 15.

                          Most power and it’s the Asus ROG Zephryus G14 (AMD cpu).

                          There are countless others and alternatives here, but all of the above are practically on par with the MacBook line.

                          1. 2

                            I have a Matebook X Pro (2018 model) and it works great with Linux. Dell’s XPS and Precision lines are also well supported. But the gold standard is ThinkPads. At least that’s what Google would give its employees if they wanted a Linux laptop.

                          2. 2

                            Yeah it just seems like a nightmare.

                            I think my model (2015) was pretty much the last in the lineup before T2 got introduced and there seems to be a myriad of problems with stuff like getting sound working and the keyboard stuff you’ve mentioned.

                            It’s a real shame because they’re great hardware

                            1. 1

                              One of the major things was trying to bypass the system integrity protection.

                              Could you elaborate on this? Where exactly did he try to bypass SIP?

                            1. 13

                              I would financially support a fork of Firefox with all the garbage removed. The home page bullshit, Pocket, all the automatic requests made without user action, and more that I probably don’t know of.

                              1. 8

                                At least Firefox does allow us to disable anything we don’t want/need.

                                1. 15

                                  Not everything. Try running Wireshark before you open Firefox and see if you can configure it to produce zero requests on startup. I tried that last week and there was a request to firefox.settings.services.mozilla.com that I think there’s no about:config setting to disable.

                                  Also, there is the fact that when opening a fresh install of Firefox for the first time you’ll make requests to a bunch of random companies, like Facebook, Google etc. The only way to protect yourself from that is to know it beforehand and disable it via user.js before opening the browser. I don’t think that’s right and I wish I could prevent my browser from telling these companies about me. These things should be opt-in in my view.

                                  1. 7

                                    If you disable your internet connection before launching Firefox for the first time, would that give you an opportunity to turn everything off without making extra requests first? I agree that it’s crappy that this is even necessary, but maybe this is a simpler workaround than tweaking user.js?

                                    1. 1

                                      Good idea!

                                  2. 9

                                    The megabar issue proves the contrary.

                                    1. 5

                                      https://www.userchrome.org/megabar-styling-firefox-address-bar.html#mbarstyler

                                      This is not an acceptable solution, by the way: like many organizations, Mozilla needs to get better at incorporating feedback and reverting bad changes. But you did claim it was impossible to undo the megabar, when it’s actually perfectly doable. I also figure that a lot of people would be interested in knowing this.

                                      1. 2

                                        You don’t even need a userChrome for this, there’s an about:config flag (browser.urlbar.update1 I believe).

                                        1. 3

                                          This flag got removed in v77.

                                        2. 1

                                          I did not stay it was impossible, but they aim to make changing it as hard as possible. I do not know the reason for Mozilla acting so about such a minute issue.

                                      2. 2

                                        This isn’t correct. Look at what’s happening with forced updates, for example. Right now I keep installs performed as Administrator (and run as regular user) so the user can’t update, which results in Firefox throwing up dialogs complaining that it can’t update itself. I think I need to go back to building from source just to remove this garbage, but even building from source is more convoluted than it used to be due to sprawling dependencies.

                                        1. 3

                                          You made me realize that this is why Mozilla has zero interest in making an Electron equivalent with Servo.

                                          A Firefox-like browser without the Firefox corporation would be a huge hit and thus unmonetizable.

                                      3. 6

                                        Me too, very much so. Mozilla jumped the shark years back and their attitude does not seem to be improving. Its flagship really deserves a long trip through a detox and weight loss boot camp. It would be a significant effort, though; here are some interesting case studies from Cliqz (RIP) and ungoogled-chromium.

                                        1. 1

                                          I’d really like to see the Tor-browser without Tor. That seems to move in the right direction and they seem to be able to keep Firefox under control somehow.

                                          1. 1

                                            Why RIP? Cliqz seems to still be active.

                                            1. 2

                                              No, it died, the mothership can’t fund it any more. The servers still run, for the time being.

                                              It’s a pity.

                                              1. 1

                                                Holy hell wtf.

                                                Damn.

                                          2. 3

                                            There is IceCat [ https://www.gnu.org/software/gnuzilla/ ], though it’s based on ESR releases.

                                          1. 5

                                            This question has been asked four months ago.

                                            1. 3

                                              Be interesting to compare the replies. Four months ago things were a bit different.

                                            1. 10

                                              I’m using emacs and org mode. And this weekend I started trying out https://github.com/org-roam/org-roam org roam which lets you kinda do what roam does in org mode.

                                              Still not sure about the roam stuff but its nifty, my org notes were pretty haphazard, I’m hoping it helps.

                                              1. 2

                                                I’ve looked at roam/org-roam a couple of times, but haven’t quite grokked it. Do you have to have a single .org file per topic for it to make sense? How hard is it to switch over from a current mature org set of notes?

                                                1. 4

                                                  I haven’t used it heavily myself but I have got it set up and it appears the focus is on backlinking rather than folder heirarchy. You’d presumably need to add the backlink syntax which I believe is something like [[Topic Name][topic_filename.org]] as well as any possible metadata like tags but just a #+ TITLE should be enough.

                                                  It’s basically that in conjunction with Deft, a… mode?[1] for searching across plain text files in a directory. It can do recursive folders too but org-roam seems to just operate by creating new links in your highest level folder. The author also uses naming conventions like private- just to separate private org-roam notes from public. Public meaning published on their website so if your notes are primarily online, you can ignore that aspect of course. Just that org-roam has some templates you can override to allow setting a public or private note/link etc

                                                  I’m not sure if that helps at all with gauging the amount of effort required though? I would imagine it’d require reviewing most of your notes and adding backlinks to actually get benefit out of org-roam’s reason for existing vs plain old text search which also works perfectly fine

                                                  [1] My terminology is flaky since I’m very new to emacs

                                                  1. 1

                                                    Thanks for this evaluation. I’ve thought it sounded very interesting and potentially useful, but it’s been hard to gauge whether it could really fit my workflow. From what you say, it might be worth experimenting with at some point.

                                                  2. 1

                                                    Great questions and I only started using it since Friday, for the latter all I can say is: my tests are ongoing.

                                                    I am starting to filter/update things into it slowly, mostly just doing a “take 5 minutes to update notes” per day kinda deal. Not trying to do it all at once or anything.

                                                    It seemed to pick up my giant org dir of crazy amounts of org files fine though.

                                                1. 1

                                                  https://babbagefiles.xyz - I write largely about lisp-y things, but also other technology-related things, e.g. zfs, fonts.

                                                  1. 19

                                                    This is one of those neat cases where PLT is shaped by American keyboards. We wouldn’t have this problem if we had «», or ⟨ ⟩, or ⦃ ⦄, or 𓁝𓁜.

                                                    1. 3

                                                      Are there any keyboards with «»? Seems like everyone types them with copy-paste, smart quotes, Alt+code in Windows, and (for unix enthusiasts) the Compose key…

                                                      1. 4

                                                        Bet you a chocolate bar there’s an easy way to type them on French layouts. :)

                                                        Edit: I lose this bet! There are nice mechanisms for typing guillemets on X11 and OSX but it seems there’s nothing sensible on Windows!? I found a couple of French language forums with people saying your best bet on Windows with an azerty layout is still to type alt+174 / alt+175

                                                        1. 5

                                                          Yeah the French keyboard layout on Windows is truly awful. There is no way to type the half of the special characters you need in regular French without using terrible hacks like Alt+123, even for ubiquitous characters like ’ or É. The Linux default AZERTY layout for French is way better, and the “OSS” variant is miles ahead (you can type everything you need in French on this one).

                                                          Also, system-wide automatic substitutions that macOS and iOS do are pretty good for French. Software like Microsoft Word also substitutes some characters automatically but it’s not system-wide.

                                                          1. 2

                                                            Ahhu so that’s why people in French language chat channels are always skipping literally all the diacritic marks and stuff. Thank you.

                                                        2. 1

                                                          On Macs they’ve always been option-‘ and option-shift-‘.

                                                        3. 3

                                                          There were people in D who wanted to use «», but indeed it was shot down for being painful for Americans to type.

                                                          But I’m glad it did get shot down becase really, why would we use that? Is it just because C++ uses <> and «» looks kinda like it without the same technical problems…? Or is there some deeper meaning beyond that? Ditto with ⟨ ⟩.

                                                          What I like so much about D’s decision to reuse plain () (with ! to indicate the presence of compile-time arguments) is that it questions that fundamental assumption that it should look different… notice instead of “generics” or “templates” or whatever, I just call it “compile-time arguments” - thanks to the syntax being so similar it lets us rethink how special the concept itself really needs to be.

                                                          1. 1

                                                            All these problems (can) go away if we’re not married to storage of programs as a disconnected pile of 1-dimensional strings.

                                                            1. 0

                                                              ⦃ ⦄ is really pretty

                                                            1. 9

                                                              Note that it’s much, much simpler to just run Zoom inside Firejail, if you run on a system that supports it: https://github.com/netblue30/firejail/blob/master/etc/zoom.profile

                                                              1. 4

                                                                Zoom inside Firejail

                                                                Yep, that’s another way of doing it, sadly many of our readers are students on Windows/Mac based systems.

                                                                1. 2

                                                                  Definitely see the value in starting with the most widely-applicable approaches; sure.

                                                                  1. 1

                                                                    Sadly, many students (and non-students) have Macs with 8GB RAM since that’s the default and Apple asks 240 Euro for an upgrade to 16GB last time I checked. A 2GB of 4GB RAM VM will probably slow their machine to a crawl.

                                                                    Also, assuming that the Zoom Linux client support hardware H.264 encoding/decoding through e.g. VA-API (I don’t know if it does), will that still work in a VM? CPU fans spinning at high RPMs can be very annoying especially if someone also has a bad microphone or noise-cancellation does not work well. I have had to cancel meetings with students in the past, until they had a better setup, because they were inaudible or the ambient noise was so bad that it was impossible to have a conversation.

                                                                    Alternatives for Mac/Windows: (1) use the web version of Zoom; (2) use Zoom on a phone or tablet (at least iOS has good sandboxing).

                                                                    (Not saying that using a VM is not a solution, but it comes with strong disadvantages as well.)

                                                                  2. 1

                                                                    Or with bubblewrap or via Flatpak (which uses bubblewrap).

                                                                  1. 3

                                                                    The hero image looks like something out of Halo, even though it’s a real place.

                                                                    It certainly is remarkable how much Microsoft silently crammed into Trident, and yet very little of it I ever heard of, let alone actually used or shipped.

                                                                    I did, and do, find it noteworthy how little of this is in Tasman (on Mac IE).

                                                                    1. 2

                                                                      “ample” is not the descriptor I’d use for “6~7 GiB of storage”. certainly not as an academic who has to deal with largish scanned PDFs.

                                                                      1. 2

                                                                        To me this reads like saying: “Starbucks is a place. McDonalds is a place. The park isn’t a place.”

                                                                        1. 1

                                                                          @emacsomancer@fsmi.social

                                                                          I work professionally on linguistics, especially formal semantics. I’m interested in free software, including especially Emacs, (La)TeX, and Lisp-based things.

                                                                          1. 16

                                                                            Amusingly the site won’t load for me.

                                                                            1. 13

                                                                              ButtCloudFlare literally gatekeeping me with a captcha for using Tor :(

                                                                              1. 1

                                                                                You really blame them when their operating requirements include minimizing liability?

                                                                                1. 6

                                                                                  It’s a terrible default. If someone gets a lot of e.g. bot registrations from Tor, they should have that option, but it’s really stupid for a static document site that cannot receive any interaction from the outside world.

                                                                                  1. 1

                                                                                    Do you think it should scan and interpret all the content on all the pages it serves to decide which get Tor filtering? Or what’s your alternative implementation that achieves the same level of protection with the labor cost of adding some firewall rules? Gotta be something their management would agree with.

                                                                                    1. 7

                                                                                      A more reasonable default would be to not show CAPTCHA until a POST request has happened.

                                                                                      1. 4

                                                                                        Bam! There it is! That could be a great sell since they’d spend less resources on the CAPTCHA’s in the first place. Maybe (depends on implementation). I’ll try to remember and mention it when I run into Cloudfare employees. :)

                                                                              2. 3

                                                                                It has no A or AAAA records. No MX record either.

                                                                                $ dig any  stop-gatekeeping.email
                                                                                
                                                                                ; <<>> DiG 9.11.5-P4-RedHat-9.11.5-4.P4.fc29 <<>> any stop-gatekeeping.email
                                                                                ;; global options: +cmd
                                                                                ;; Got answer:
                                                                                ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45133
                                                                                ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
                                                                                
                                                                                ;; OPT PSEUDOSECTION:
                                                                                ; EDNS: version: 0, flags:; udp: 512
                                                                                ;; QUESTION SECTION:
                                                                                ;stop-gatekeeping.email.		IN	ANY
                                                                                
                                                                                ;; ANSWER SECTION:
                                                                                stop-gatekeeping.email.	3788	IN	HINFO	"RFC8482" ""
                                                                                
                                                                                ;; Query time: 22 msec
                                                                                ;; SERVER: 8.8.8.8#53(8.8.8.8)
                                                                                ;; WHEN: Thu Jul 25 03:31:29 EDT 2019
                                                                                ;; MSG SIZE  rcvd: 72
                                                                                
                                                                                  1. 2

                                                                                    It’s a domain just purchased for cheap, I guess this will be fixed soon if there ever is a bug.

                                                                                    Given how DNS works there might be different delays between the moment where the record is published and when it is made available.

                                                                                    Maybe it is a cache issue…

                                                                                    To accelerate domain changes:

                                                                                    From the users side, I use a local (dq) cache that points at the root servers, so I can flush my cache myself.

                                                                                    1. 1

                                                                                      It does have A (and AAAA) records:

                                                                                      $ dig +short A stop-gatekeeping.email
                                                                                      104.31.77.194
                                                                                      104.31.76.194
                                                                                      
                                                                                      $ dig +short AAAA stop-gatekeeping.email
                                                                                      2606:4700:30::681f:4cc2
                                                                                      2606:4700:30::681f:4dc2
                                                                                      

                                                                                      it just doesn’t respond to ANY queries by following RFC 8482

                                                                                      1. 1

                                                                                        Now it does. When I tested, it wasn’t responding to either A, AAAA, or ANY.

                                                                                  1. 15

                                                                                    A related and upstream point on this can be found here: https://cmpwn.com/@kline/102333166678467931

                                                                                    While we don’t want to change IRC radically, there is absolutely the issue that more and more projects and people see IRC as being full of sharp edges, or lacking what they need. We’re really interested in what we can do that enhances, rather than changes the protocol. A hard line for us is not to change how older clients can use our network, as those clients and users are very important to us - but we also want to smooth the way for new and migrating projects.

                                                                                    It’s a fact that IRC is shrinking, and in the face of things like the moznet closure, we should be looking to keep IRC healthy. This doesn’t mean “growth” as our primary target, but we do need to understand what people want to keep the protocol competitive and true to itself. We don’t want to be a matrix catch-up, we want to be able to compete with it as the different protocol and ecosystem it always has been.

                                                                                    1. 2

                                                                                      FWIW here are my comments on why I barely use IRC from a year ago:

                                                                                      https://news.ycombinator.com/item?id=16495984

                                                                                      The tl;dr is that I like the shell (hence spending a long time writing one), and I used BBSes back in the mid-90’s, and I used Gopher before Netscape existed, but I’ve never gotten into IRC.

                                                                                      Since then I started using Zulip for https://oilshell.zulipchat.com, and it works quite well (aside from most people not knowing how to use it, which is sumountable obstacle). It’s better and faster than Slack IMO.

                                                                                      1. 3

                                                                                        . I just don’t want to spend my mental energy on my chat client [for IRC] (https://news.ycombinator.com/item?id=16495984)

                                                                                        Likewise I don’t want to spend mental energy signing up for and trying to figure out some new IRC replacement, especially since it’ll presumably sit in the browser, where I try to minimise how much text I have to type. Whereas for IRC, I can use any number of frontends, including one right in my editor.

                                                                                        Just like for using the shell, TeX, etc.; IRC has some upfront time/mental energy cost, but then after that it’s really easy, comfortable, and powerful. I have no interest in setting up/signing up for Slack, Zulip, [insert name here], ….

                                                                                        1. 4

                                                                                          it’ll presumably sit in the browser

                                                                                          See https://github.com/zulip/zulip-terminal

                                                                                          Also, for Mattermost (a open-source self-hostable Slack alternative) there’s Matterhorn. I prefer the web-based clients myself but there are some options; even slack-term is a thing.

                                                                                          1. 3

                                                                                            When there’s a https://github.com/zulip/zulip.el maybe I’ll take a look.

                                                                                            But as far as I can tell everything’s that worth talking about is on Freenode.

                                                                                          2. 1

                                                                                            Yeah, that’s totally fair. I don’t want to convince anyone who likes iRC not to use it. I’m just explaining why most people don’t prefer it.

                                                                                            Although I don’t necesssarily agree with the equivalence. I would say the signup cost to Slack/Zulip is less than the setup cost to IRC, depending on your definition of usability. If you already set IRC up 10 years ago, then obviously the equation changes.

                                                                                            1. 2

                                                                                              The setup/learning cost to something like Slack/Zulip is less than the setup/learning cost of IRC in the same way that the setup/learning cost of Word is less than the setup/learning cost of (La)TeX, but you pay a high hidden cost in that now you have to use Slack/Word rather than IRC/LaTeX.

                                                                                      1. 14

                                                                                        The main issue that IRC faces imo is the lack of connection persistence: If you get thrown into a room without knowing if your spamming by interrupting, how active it is, etc. you’ll have a bad experience. If you can’t turn of your laptop because you’re still expecting a response, you’ll have a bad experience. If the suggestion to fix this is to try to set up one of the who knows how many broken bouncer servers, you’ll have a bad experience.

                                                                                        And if you have a bad experience, you’ll loose users.

                                                                                        1. 3

                                                                                          But isn’t this more natural? Consider entering a room in real life where people may be having a conversation. Do you barge right in and immediately start talking at everybody? Of course not, you take time to see who’s present and what the feel of the situation is.

                                                                                          1. 11

                                                                                            Of course, that might be the case, but now imagine a room with people sitting around staring into the void, and seeing no reaction when you ask a question. Since you just suddenly appeared in this room and have no ability to look back into it’s history (one unrealistic fact for another) you’ll have to wait to see if anyone is even alive – what the value of being “natural” is in this situation can clearly be questioned.

                                                                                            1. 3

                                                                                              IRC has addressed this problem mostly through norms rather than technically (i.e., it’s sort of impolite to just join a channel, ask a question, and leave if you don’t get an answer: proper netiquitte is to idle in every channel you think you’re liable to be interested in using more or less forever, which produces local logs & also raises the likelihood that conversation will happen & relationships will be developed). IRC is not stackoverflow, in other words, & this makes IRC great for developing long-term relationships in a community but terrible as a mechanism for newbies to get help.

                                                                                              I think the problem here is not that IRC fails to be stackoverflow, but that folks who do a lot of their dev communication on IRC have made the mistake of suggesting non-developers use IRC for tech support, filling channels with users who don’t know or care about the norms or about developing long-term relationships as regulars. (Or, in said in the hyperbolic & slightly acid way I used to say it back in my heavy IRC days, “people who shut off their computers shouldn’t be on IRC”.) Mailing lists (unless they are announcement-based) have basically the same issue.

                                                                                              There are common norms around hosting public logs, as well. As Drew says, pretty much everything that slack tries to build in is already supported on IRC as an add-on (or as expectations around behavior), & this allows the system to be accessible to a wider variety of people – it’s just not accessible to people who are unwilling to learn the norms or use the tools (i.e., people who aren’t going to buy into the community).

                                                                                              1. 1

                                                                                                people who shut off their computers shouldn’t be on IRC

                                                                                                I like this, well said!

                                                                                              2. 3

                                                                                                Yeah, the in-person experience usually has existing conversations you overhear, people physically situated in a way that tells you stuff, and even their gestures or clothing might indicate some interests. Whereas, IRC is much more like a void at the start unless it’s really active.

                                                                                              3. 2

                                                                                                If I wanted something as shitty as real life I’d go outside. I want my tools to do better than I could do without them.

                                                                                              4. 1

                                                                                                That’s why there are IRC bouncers/persistent clients. The problem is that you either pay a monthly fee or you have to figure out how to set it up yourself.

                                                                                                That said, all of the alternatives to IRC offer worse experiences.

                                                                                                1. 6

                                                                                                  you either pay a monthly fee or you have to figure out how to set it up yourself.

                                                                                                  That’s not even the primary issue, instead it’s that in practice most bouncers are unmaintained, have very specific and peculiar settings, too many moving components, bad documentation (*cough*, ZNC) etc. They are generally a mess and don’t integrate all to well into IRC as a protocol in general.

                                                                                                  That said, all of the alternatives to IRC offer worse experiences.

                                                                                                  If I’m quite honest, and I don’t like saying this, but most IM networks like WhatsApp or Facebook Messenger offer a far more stable and expectable experience, which is why people use these kinds of clients/networks. The network effect only determines which from this category becomes popular.

                                                                                                  1. 2

                                                                                                    most bouncers are unmaintained, have very specific and peculiar settings, too many moving components, bad documentation (cough, ZNC) etc

                                                                                                    Weechat is really excellent. It still has some upfront ‘costs’ in terms of setting it up, but it’s really easy and pleasant, and I’ve had no real issues with IRC via Weechat.

                                                                                                    If I’m quite honest, and I don’t like saying this, but most IM networks like WhatsApp or Facebook Messenger offer a far more stable and expectable experience,

                                                                                                    I also end up using WhatsApp from time to time, and it’s a far, far, far worse experience than IRC. The web client sucks, and has all sorts of connectivity issues. If your phone isn’t on the same network, it simply doesn’t work. It expects to be used on mobile. I can’t easily adjust how things are displayed to me in the app. I can’t connect to it from, say, Emacs.

                                                                                                    So in practice I much more frequently check IRC than I do WhatsApp, despite having family members etc. on WhatsApp.

                                                                                                    Thus, I think your example of WhatsApp is excellent. As an example of a far worse, very miserable user experience.

                                                                                                    1. 1

                                                                                                      (You might find sms-irc quite useful… :p)

                                                                                                  2. 2

                                                                                                    Have you given Matrix a fair shake?

                                                                                                    1. 1

                                                                                                      Eventually I’ll probably try to figure out how to set up a Matrix bridge or whatever via Weechat.

                                                                                                      1. 1

                                                                                                        No need for a bridge if you’re an end user and just want Weechat to speak Matrix:

                                                                                                        https://matrix.org/docs/projects/client/weechat-matrix

                                                                                                1. 1

                                                                                                  I think Weechat does have some sort of support for embedded images, actually, doesn’t it?

                                                                                                  1. 1

                                                                                                    I use it in a console. Well, generally under lxterminal.

                                                                                                    1. 2

                                                                                                      Weechat is nice because you can connect to it with a terminal, or emacs, or a web browser, or a mobile app.

                                                                                                  1. 6

                                                                                                    None of this even considers what is good about IRC. It’s a series of decentralized networks built on the shoulders of volunteers. It’s venerable and well-supported with hundreds of client and server implementations.

                                                                                                    Like all decentralized networks, it’s has to overcome the inherent streamlining advantages of VC-backed, centralized, poised-to-monetize competitors.

                                                                                                    Ideally simply the presence of the VC vultures hovering over a service like Slack, poised to monetize it by striking without notice would be enough that folks would instinctively flinch away from using them. But we’ve seen that folks tend to have a short memory about these kinds of things and are very good at coming up with rationalizations why “this time it will be different”.

                                                                                                    1. 2

                                                                                                      The more I think about this, the more I think the solution (to this and many other problems) would be some sort of mental inoculation against the tricks that tech companies use to convince people to use their products even when it’s not in their best long-term interests.

                                                                                                      1. 4

                                                                                                        Yes, and when you’ve figured that out you’ll likely to be able to solve many of the other problems which have arisen in the world since 1688 (or, arguably, much earlier).

                                                                                                    1. 8

                                                                                                      Does the obfuscated Pocket add-on bundled with Firefox count as an extension?

                                                                                                      1. 9

                                                                                                        The Pocket Addon is open source and on github, not obfuscated to my knowledge other than minified.

                                                                                                        1. 1

                                                                                                          Pocket’s server-side is not yet open, so you can’t self-host the service. There is Wallabag for those who want a similar self-hosted service.

                                                                                                        2. 2

                                                                                                          Maybe this move will accompany a release of Pocket source.

                                                                                                        1. 6

                                                                                                          As a person with ~intermediate knowledge of Nix/NixOS and only knowing Guix from a distance yet:

                                                                                                          • I don’t see a word about GuixSD there - what’s the status of this?
                                                                                                          • (How) can I pin my whole config to a particular commit of the package set, and only update gradually? I’m kinda having trouble with this in NixOS
                                                                                                          • Can I package non-libre software for Guix? Are there third-party package sets? I know GNU proper doesn’t want me to do this, and I’m sympathetic, but not ready for the jump. What’s the situation for me in practice?
                                                                                                          • Can I replace kernel with L4Linux? I tried to do that in NixOS but gave up because of complexity.
                                                                                                          • edit: Also, do they mirror/archive package sources somewhere?
                                                                                                          1. 5

                                                                                                            You can specify additional channels and I believe I’ve seen at least one nonfree package repo somewhere in the past.

                                                                                                            It is possible to boot into a different kernel. I also found that someone has written a config with a custom (nonfree) kernel; I don’t know much about L4 but it could be a good starting point.

                                                                                                            1. 1

                                                                                                              Thanks! Where/how can I find the source of the linux-libre expression mentioned in the manual link you listed? I’m also interested in compiling L4Linux as part of the Guix system, instead of only using a prebuilt binary.

                                                                                                              edit: Interestingly, as part of a similar thread on HN (where I also copied my questions from here once I found it), I learnt that Guix seems to have some preliminary support for Hurd, so it may be helpful to me too.

                                                                                                              1. 2

                                                                                                                Here it is in git. The manual section on defining packages will be a big help for hacking on it.

                                                                                                            2. 3

                                                                                                              I’m kinda having trouble with this in NixOS

                                                                                                              It’s not well documented, but you can just grab the package set directly:

                                                                                                              let
                                                                                                              
                                                                                                              pkgs = import (builtins.fetchTarball {
                                                                                                                name = "nixos-unstable";
                                                                                                                url = https://github.com/nixos/nixpkgs/archive/1fc591f9a5bd1b016b5d66dfab29560073955a14.tar.gz;
                                                                                                                sha256 = "1ij5x1qw486rbih7xh2c01s60c3zblj6ad1isf5y99sh47jcq76c";
                                                                                                              }) {};
                                                                                                              
                                                                                                              in ...
                                                                                                              
                                                                                                              1. 1

                                                                                                                Question is, how do I apply this concretely in /etc/nixos/configuration.nix — which is a function starting with: { config, pkgs, ... }: ... — do I override pkgs parameter? Does it make my whole NixOS pinned? Or only some parts of it? AFAIU, the /etc/nixos/configuration.nix is included from some NixOS code, so I imagine it can’t override this? So probably what I should do is override the channel, as hinted by some other people in this thread and on HN?

                                                                                                                1. 2

                                                                                                                  If you want to override the nixpkgs used for your whole OS, you have quite a few options. You can set NIX_PATH with a nixpkgs= at the front. You could change your nix-channel so that it points to a different nixpkgs. You could change the nixpkgs.pkgs configuration option to point to whatever path you’d like.

                                                                                                                  If you just want to use it for some system packages, you can just reference them directly:

                                                                                                                  environment.systemPackages =
                                                                                                                    let
                                                                                                                      pkgs1903 = fetchTarball "https://nixos.org/channels/nixos-19.03/nixexprs.tar.xz" { };
                                                                                                                    in
                                                                                                                    [
                                                                                                                      pkgs1903.chromium
                                                                                                                      pkgs.firefox
                                                                                                                    ];
                                                                                                                  

                                                                                                                  But at this point I’d just use nix-env and mix there, it’s a lot easier.

                                                                                                                  If you want your system to use a specific package that’s not installed, but used as part of a module, you can do something like:

                                                                                                                  nixpkgs.config.packageOverrides = pkgs: {
                                                                                                                    inherit (pkgs1903) hello;
                                                                                                                  };
                                                                                                                  

                                                                                                                  Which might work, or might not, depending on compatibility of things. You might then want to backport a whole module, which gets a bit tricky.

                                                                                                                  1. 1

                                                                                                                    AFAIK packageOverrides is deprecated now in favour of overlays, since the latter can be composed nicely https://nixos.wiki/wiki/Overlays

                                                                                                                    1. 1

                                                                                                                      Dunno about deprecated but yes thanks, overlays are a nicer and more composable way to do this.

                                                                                                              2. 2

                                                                                                                From HN:

                                                                                                                (Note: we call it “Guix System” instead of “GuixSD” now.)

                                                                                                                There is little difference between Guix and the Guix system when looking a little more closely.

                                                                                                                1. 2

                                                                                                                  I don’t see a word about GuixSD there - what’s the status of this?

                                                                                                                  It’s been renamed “Guix System”. “Guix” and “Guix System” (née “GuixSD”) update together; apparently 1.0 brings a new TUI installer for the Guix System.

                                                                                                                  1. 1

                                                                                                                    Seems like the versions and name are a bit intertwined.

                                                                                                                    Guix can be used on top of any system running the kernel Linux, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, and AArch64 machines.

                                                                                                                    1. 1

                                                                                                                      can I pin my whole config to a particular commit of the package set, and only update gradually? I’m kinda having trouble with this in NixOS

                                                                                                                      What is the problem you are having with nix?