1. 2

    We will not depend on our “lists” having the behaviour of linked lists, and using linked lists would actually inhibit parallelisation.

    It is possible to parallelize operations on linked lists, so long as you use an appropriate representation of the data structure! List ranking, which is essentially prefix sun, can be parallelized by using an array pool representation of linked lists. This isn’t my blog post but it seemed better to link to it instead of an academic paper: https://downey.io/blog/helman-jaja-list-ranking-explained/

    1. 33

      Great story, but why do so many people think it’s a good idea to write entire articles on Twitter? It’s even worse than publishing them on Medium, and that says a lot!

        1. 16

          Because that’s where the readers are. (Same reason Willie Sutton robbed banks.)

          I hate Twitter so, so much, and that’s one of the reasons. Even with the new supersize 280-char limit, it’s still such a choked, impoverished writing medium. Constraints can be good, but when they’re a choice, not when you’re forced into the constraint because it’s baked into the only platform that meets your needs.

          1. 12

            Writing is also pretty easy too for them. Each thought can be composed piecemeal and worked into a larger thread. It’s compatible with shorter attention spans for /writing/.

            Maintaining a blog is ceremony/effort if you’re not actively committed to it. The next lowest effort/easiest distribution is Medium, and we all know what we think of that.

            Constraints can be good, but when they’re a choice, not when you’re forced into the constraint because it’s baked into the only platform that meets your needs.

            Many constraints were because of forced limitations. That was the post of many of them.

            1. 3

              Yeah, you’re right about forced constraints. I guess it’s that any one constraint is good for some things but bad for others. Twitter has been a great boon to standup comedians and haiku poets, I’m sure.

              WordPress.com is pretty low-effort; it has issues but not so much as Medium. If it or something like it were more popular, people could write their tweet-threads there. Unless, as you say, they’re ADD enough that they’d get blank-page fright and never write anything.

              (I’m trying hard not to start bemoaning the demise of LiveJournal again. It coulda been a contendah…)

              1. 12

                Another thing that might be interesting is that people can reply to the indivual atomic units of thought easily too. It’s really more like structured/permament IRC than it is a blog.

                And yes, from the people who DO write mega tweet storms tell me, blank page fright is huge.

                1. 9

                  WordPress.com is pretty low-effort; it has issues but not so much as Medium. If it or something like it were more popular, people could write their tweet-threads there. Unless, as you say, they’re ADD enough that they’d get blank-page fright and never write anything.

                  I don’t know; I suspect it’s more of a barrier-of-entry thing. Twitter is kind of ephemeral and “write and forget”, whereas writing on your personal WordPress site takes more effort, as it’s less ephemeral.

                  The same with comments on e.g. Lobsters: I usually just write them, read over them a little bit, and post. Whereas on my website I tend to take a lot longer to write more or less the same stuff. If something’s on my website, I want to make sure it’s reasonably accurate, comprehensive, and written as well as I can. Usually this entire process takes up quite a lot of time for me. For some Lobster comment or Twitter remark, it’s a bit different.

                  It’s really difficult to put my feelings on this in words; so I hope this makes sense 😅 But publishing something on my (or any) website just comes with a lot higher barrier of entry for me, and I’m probably not so special that I’m the only one.

                  @calvin mentioned “blank page fright”; which is more or less the same thing in a way, just expressed different, I think(?)


                  At any rate, Twitter is hardly my favourite platform for these kind of things, but if the choice is between “it would never be published at all” and “it’s published on a platform I don’t like”, then the second option is clearly the better one.

              2. 4

                Because that’s where the readers are.

                Then Tweet a link.

                Might be a great story, but I’m not reading it in 20 parts on Twitter.

                1. 4

                  And many people will not click a link.

                  1. 2

                    Plus clearly many, many people are. Writers go where readers are, and though you may not like reading things in this way on Twitter, there are enough people who do to make a market for this sort of material.

                  2. 1

                    The choked, impoverished writing medium is what makes it so much fun!

                  3. 11

                    For some people this is the answer.

                    It’s easier to just write a set of tweets. When you publish a wall of text you gotta format it, you feel like proof-reading, etc.

                    A tweetstorm is like…. whatever, just get it out there. Hell, type it in drafts and it’ll post the tweetstorm for you.

                    This is like instagram stories: A way to reduce the barrier to sharing content. And some stuff is low effort, but some stuff is just high quality. It’s also, like other said, a way to share to people who are following you.

                    1. 2

                      you gotta format it, you feel like proof-reading, etc.

                      I think there might be a reason why people do this.

                      Ironically, this ‘article’ is more of a ‘wall of text’ than most blog posts, in that it’s just a collection of ‘text bricks’ stacked on top of each other, with no real structure. As a result, it’s practically unreadable.

                      1. -1

                        Thanks for pointing this tweet out, but I don’t buy that for a minute. If you have so much ADHD that you can’t do it any other way, you could still tweet your story and then copy-paste the sentences into a blog post. No one could be that debilitated by ADHD that he wouldn’t be able to do this basic thing.

                        Also, a blog post is written once and read many times (ideally). It’s disrespectful to your readers to force this horrible format on them. If I were in this situation, I’d ask a friend to help me format a “tweetstorm” into a nice blog article. Even long texts wouldn’t take that much time.

                        1. 11

                          Uh, hey maybe don’t make comments that people with ADHD could do something when the evidence and statements of actual people with ADHD say they can’t. One of the key experiences of ADHD is executive dysfunction, meaning mental challenges around planning, problem-solving, organization, and time management. People with executive dysfunction (which isn’t solely experienced by people with ADHD) describe it in a number of ways that can be illuminating:

                          Mental differences like this aren’t something you push through. Maybe sometimes you can (people with disabilities often describe experiencing fluidity in the severity of their challenges), but maybe sometimes you can’t. The experience of others demanding that they push through, or judging them for failing to push through, is one of the main challenges faced by disabled people. If you spend time listening to disability advocates, you’ll hear them talk about how they’re not disabled because something is wrong with them, they’re disabled because of limitations in the systems we all operate within, and the expectations and demands of our collective culture.

                          So please, don’t toss out comments about how disabled people ought to function. They’re doing their best, and the expectations you’re putting out there are a core part of the challenges they face.

                          1. 1

                            Did you even read my comment before pasting your pasta here? Even disabled people ought to be able to ask for help, and in this case, I see no reason why someone with ADHD and executive dysfunction shouldn’t be able to ask someone for help in this regard.

                            1. 6

                              I did read your comment.

                              I’m also flattered you think my post is a copypasta.

                              Seems unlikely you’ll be convinced, but to hammer it home: saying “disabled people ought to be able” or even “disabled people ought,” is the problem. If you do not have executive dysfunction, you do not know what it’s like to live with, and should defer to people who do live with it when they talk about what is reasonably doable for them.

                              1. 3

                                I’m also flattered you think my post is a copypasta.

                                Not taking sides here, but just wanna say, that is the best kind of rhetoric.

                              2. 6

                                Let me describe how I post on Lobsters. First, I think about what I want to post. Then, usually I don’t post it.

                                If I do decide to post, then I commit myself to keeping a browser tab open for about half an hour while I write my post. I try to get my evidence lined up, opening additional tabs with each consideratum so that I won’t forget what I’m writing about.

                                Paragraphs are usually written out of order. Entire sentences are written, rewritten, discarded, and written again. Phrases become semantically satiated and read wrong in my mind. I worry that I have used too many words. I worry that I haven’t used enough.

                                I constantly feel disconnected from myself and also from my audience. I don’t understand how to relate to people, or how to ensure that my meanings are preserved. In fact, I am used to being horribly and hilariously misinterpreted.

                                The help that I would ask from you is for you to reread the parent post and reconsider your stance. There is no universal way in which humans are supposed to interact with computers.

                                Alternatively, take a programmer’s point of view: A module is not merely a collection of code snippets, and it is disingenuous to suggest that folks can simply collate code snippets into meaningful modules.

                            2. 7

                              Also, a blog post is written once and read many times (ideally). It’s disrespectful to your readers to force this horrible format on them. If I were in this situation, I’d ask a friend to help me format a “tweetstorm” into a nice blog article. Even long texts wouldn’t take that much time.

                              But you’re not in this situation.

                              1. 4

                                You may not realise it, but this is what your post looks like from the outside:

                                • You’re mistaking your personal dislike for a universal dislike.
                                • You’re laying your personal preferences on other people as responsibilities.
                                • You’re presuming you know what other people can or can’t do, or how they should or shouldn’t spend their energy and friend-favours.

                                That is not how you reason your way to correct conclusions, and it is not how you win friends and influence people.

                            3. 8

                              No constraints, no glory!

                              But really the real reason is that I put weeks of research and editing into my blog posts, in some case months… while I can hammer a tweetstorm out in five minutes.

                              1. 4

                                As much as I hate Twitter ‘articles’, I think they’re actually better than Medium articles, which is… impressive.

                                1. 1

                                  Agreed. This would be a pretty lengthy blog post, and this format is just awful. Really good war story though.

                                1. 14

                                  As someone who paid a fair bit of attention to the early docker world, and now seeing its commodification am left wondering “what was it”, I think this article does a good job of explaining it. What it doesn’t explain is… I was around at that early redhat time, when it was small, when you could shake Bob Young’s hand at a Linux meetup. Heck, I remember when google was a stanford.edu site… the question in my mind is… why did redhat and google succeed (as corporate entities) and docker not so much? Perhaps it was the locking in of the company name and the core tech? Perhaps the world of 2010-2020 was far more harsh to smaller businesses, perhaps they just overshot by trying to fight their competitors instead of partnering with them. That will probably have to wait for a HBR retrospective, but I’m not 100% psyched that the big incumbents won this.

                                  1. 13

                                    Docker lost, as I understand it, because of commoditisation. There’s a bunch of goo in Linux to try to emulate FreeBSD jails / Solaris Zones and Docker provided some tooling for configuring this (now fully subsumed by containerd / runc), for building tarballs (not really something that needs a big software stack), and for describing how different tarballs should be extracted and combined using overlay filesystems (useful, but should not be a large amount of code and now largely replaced by the OCI format and containerd). Their two valuable things were:

                                    • A proprietary build of a project that they released as open source that provided tooling for building container images.
                                    • A repository of published container images.

                                    The first of these is not actually more valuable than the open source version and is now quite crufty and so now has a load of competitors. The second is something that they tried to monetise, leaving them open to competitors who get their money from other things. Any cloud provider has an incentive to provide cheap or free container registries because a load of the people deploying the containers will be spending money to buy cloud resources to run them. Docker didn’t have any equivalent. Running a container registry is now a commodity offering and Docker doesn’t have anything valuable to couple their specific registry to that would make it more attractive.

                                    1. 9

                                      I wrote a bit about that here – Docker also failed to compete with Heroku, under its former name dotCloud.

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

                                      I don’t think the comparison to Google makes much sense. I mean Google has a totally different business that prints loads of money. If Docker were a subdivision of Google, it could lose money for 20 years and nobody would notice.

                                      As for Red hat, this article has some interesting experiences:

                                      Why There Will Never Be Another RedHat: The Economics Of Open Source

                                      https://techcrunch.com/2014/02/13/please-dont-tell-me-you-want-to-be-the-next-red-hat/

                                      To make matters worse, the more successful an open source project, the more large companies want to co-opt the code base. I experienced this first-hand as CEO at XenSource, where every major software and hardware company leveraged our code base with nearly zero revenue coming back to us. We had made the product so easy to use and so important, that we had out-engineered ourselves.

                                      (Although I don’t think Docker did much engineering. It wasn’t that capable a product. It could have been 30 to 100 people at Google implementing it, etc. Previous thread: https://lobste.rs/s/kj6vtn/it_s_time_say_goodbye_docker)

                                      1. 4

                                        I appreciate the article on RedHat. It has certainly opened my eyes to the troubles with their business model, which I had admired in the past. (I suppose it is still admirable, but now at least I know why there aren’t more companies like it.)

                                        The back half of the article is strange, though. I’m not sure what I’m supposed to learn about building a new business based around open source by looking at Microsoft, Amazon or Facebook. While they all contribute open source code now, they did not build their businesses by selling proprietary wrappers around open source products as far as I know. And given the enormity of those companies, it seems very hard to tell how feasible it would be to copy that behavior on a small scale. Github seems like a reasonable example of a company monetizing open source, however. It is at least clear that their primary business relies on maintaining git tools. I just wish the article included a few more examples of companies to look up to. Perhaps some lobsters have ideas.

                                        1. 5

                                          I just wish the article included a few more examples of companies to look up to

                                          To a first approximation, there are no companies to look up to.

                                          1. 2

                                            I feel like some of the companies acquired by RedHat might be valid examples. I expect that the ones that are still recognizable as products being sold had a working model, but I don’t know what their earnings were like.

                                          2. 3

                                            the biggest ones I can think of, not mentioned, are mongo and elastic… redis may go public soon, there are lots of corps around data storage and indexing that to some extent keep their core product free. There might be more. If you look at interesting failures, going back to the early days, LinuxCare was a large service oriented company that had a giant flop, as did VA Linux (over a longer time scale):

                                            linuxcare https://www.wsj.com/articles/SB955151887677940572

                                            va linux https://www.channelfutures.com/open-source/open-source-history-the-spectacular-rise-and-fall-of-va-linux

                                            1. 2

                                              Appreciate it, thanks.

                                        2. 8

                                          same question, I think, could be asked why netflix succeeded but blockbuster failed, both were doing very similar thing. It seems that market success consists of chains / graphs of very small incremental decisions. The closer decisions are to the companies ‘pivot time’, the more impactful they seem to be.

                                          And, at least in my observation, paying well and listening to well-rounded+experienced and risk-taking folks – who join your endeavor early, pays with huge dividends later on.

                                          In my subjective view, docker failed to visualize and execute on the overall ecosystem around their core technology. Folks who seem to have that vision (but perhaps, not always the core technology) are the ones at hashicorp. They are not readhat by any means, but any one of their oss+freemium products seem to have good cohesive and ‘efficient’ vision around the ecosystem in this space. (where by ‘efficient’ I mean that they do not make too many expensive and user-base jarring missteps).

                                          1. 1

                                            could be asked why netflix succeeded but blockbuster failed, both were doing very similar thing

                                            I’m not sure I agree. Coincidentally, there’s a YT channel that I follow that did a decent overview on both of them:

                                          2. 3

                                            My opinion on this is that both Google and Redhat are much closer to the cloud and the target market than Docker is/was.

                                            Also, I thought that Docker was continuously trying to figure out how to make a net income. They had Docker Enterprise before it was sold off, but imo I’m not sure how they were aiming to bring in income. And a startup without income is destined to eventually close up.

                                            1. 3

                                              the question in my mind is… why did redhat and google succeed (as corporate entities) and docker not so much?

                                              Curating a Linux distribution and keeping the security patches flowing seamlessly is hard work, which made Red Hat valuable. Indexing the entire Internet is also clearly a lot of hard work.

                                              By comparison, what Docker is doing as a runtime environment is just not that difficult to replace.

                                              1. 1

                                                I kinda feel like this is the ding ding ding answer… when your project attempts to replicate a project going on inside of a BigCo, you will have a hard time preventing embrace and extend. Or perhaps, if you are doing that, keep your company small, w/ limited debt, because you may find a niche in the future, but you can’t beat the big teams at the enterprise game, let alone a federation of them.

                                              2. 2

                                                I think we all know our true desires we are just left to discover them.-

                                                Lets not forget, The Docker Timeline:

                                                • Started in 2013.
                                                • Got open-source recognition.
                                                • Got increased public use in 2015/2016.
                                                • In 2017. project renamed from Docker to Moby. Mistake 1.
                                                • In 2018. started requiring User Registration on DockerHub. Mistake 2.
                                                • In 2019. Docker Database has been hacked which exposed user. Mistake 3.
                                                • In 2020. Docker finally died and awaits new reborn. Good bye.

                                                When I think about it, I’m not even mad. Hail death of Docker.

                                              1. 8

                                                The comments were a fun read, lol

                                                1. 1

                                                  A case study in How Not to Disagree with Someone

                                                1. 17

                                                  I like to leave one test failing. I find my place again by running the test suite as soon as I sit down.

                                                  This doesn’t work for the investigation part of a task, today I’m floundering trying to figure out exactly what things I need to call to implement this endpoint.

                                                  If I’m really stuck, I’ll pair with someone else on their task, and hope they have time to help me with my task after. Social coding is the most fun I have when writing code!

                                                  1. 3

                                                    I usually leave my editor (emacs) open… Shit, I don’t know what I’m doing, press f12 (I’ve bound that to build and run tests)…. Aha! I know what I’m doing!

                                                    1. 2

                                                      Ha, I just did this by accident right before opening lobsters. I roughly located the bug I’ve been searching for for a couple of hours, but I have left fixing it for the morning.

                                                      1. 1

                                                        I do it too. Works well for lunch breaks as well

                                                      1. 4

                                                        What are some legitimate uses for flash loans? The article has only a single use case and it appears to be an undesirable outcome for bZx.

                                                        1. 2

                                                          I’ve seen these plots before and I’ve been desperate to share them with my lab mates for quite some time. Thanks for sharing!

                                                          1. 11

                                                            Someone better tell all the supercomputing centers that Linux will never work at scale.

                                                            1. 6

                                                              most important question: how did he get a warm pot of water from a coffee machine without putting water into it?

                                                              1. 14

                                                                This was a conundrum for me as well. I believe he filled the pot with water and just put the pot into the brewer. Then, his coffee maker’s warmer simply warmed the water in the pot.

                                                              1. 3

                                                                I’ve got access to a NEC Vector Engine with >1TB/s of memory bandwidth. I’ll be doing some benchmarking :)

                                                                1. 1

                                                                  I’ve got so much to learn. I can’t imagine diagnosing and fixing that bug in just an hour!

                                                                  1. 4

                                                                    Another cool thing about exponents: they are the most simple mathematical computation:

                                                                    (From my notes)

                                                                    // Exponents are just numbers applied to each other.
                                                                    // _3(_2) = 2^3
                                                                    // Which expands the _2 eight times. But it's easier to read when use it this way:
                                                                    const Exp = m => n => n(m);
                                                                    // Exp(2)(3) === 2^3 which is more in-line with what we're used to.
                                                                    

                                                                    Addition and multiplication are actually more complex:

                                                                    (Once again from my notes)

                                                                    // Addition
                                                                    const Suc = n => f => x => f(n(f)(x));
                                                                    const Add = m => n => m(Suc)(n);
                                                                    
                                                                    // Yep, multiplication is just function composition!
                                                                    // mnx.m(n(x)) - apply n, m times to x.
                                                                    const Mul = Compose;
                                                                    
                                                                    1. 3

                                                                      Exponents are just numbers applied to each other.

                                                                      How is “apply” defined here?

                                                                      1. 3

                                                                        Numbers are just functions. 0 = (f x.x), 1 = (f x.f x), 2 = (f x.f f x) and so on.

                                                                        So by apply I mean: (f x.f (f x))(f x.f x) or “2 apply 1” or “1 applied to 2” or “2(1)” :)

                                                                        1. 2

                                                                          Here is 2^2. Doing it by hand is really, really difficult because of renaming and what not. You can see it gets confusing very quickly!

                                                                          (fx.f(fx))(fy.f(fy))
                                                                          (x.(fy.f(fy))((fy.f(fy))x))
                                                                          (x.(fy.f(fy))(m.x(x m)))
                                                                          (x.(y.(m.x(x m))(x(x y))))
                                                                          (x.(y.(x(x (x(x y))))))
                                                                          

                                                                          But we see the end result is indeed “4”.

                                                                          You can see the gist of the process though: both sides “grow” and then the right side is embedded into the left side.

                                                                          1. 1

                                                                            In more of a lambda-calculus sense.

                                                                        1. 1

                                                                          I was really hoping this would be a real list 😅

                                                                          1. 1

                                                                            The sad part is there’s a lot of truth to it.

                                                                          1. 18

                                                                            well I gotta give to whoever flagged that or whatever, that tweet wasn’t just immature rant against the two party system, was a deeply misogynist tweet.

                                                                            1. 13

                                                                              Yeah, the whole post is a thinly-veiled excuse to say an awful misogynist thing again, under the guise of pretending he would never say that awful misogynist thing again, and oh btw twitter has a responsibility to show this awful thing he would never say again to more people than it already showed it to. So even though he’s “grown” and would never say this again, he thinks twitter should say it again and again forever on his behalf. What a cowardly perspective.

                                                                              1. 3

                                                                                I don’t know the author’s cultural background, but that’s not universal. Scottish Twitter (and Scotland for instance) have quite different norms.

                                                                                1. 2

                                                                                  Based on the author’s own About page, his cultural background is American.

                                                                                  I started Fight the Future to help spread awareness for topics the deeply concern me and that I hope would deeply concern American (sic!) and the world.

                                                                                2. 2

                                                                                  You have an incredible talent for reading minds.

                                                                              1. 4

                                                                                I’m pretty sure applying associativity/distributivity makes for 8/(2*2+2*2) = 8/8 = 1. I saw a mathematician on Twitter point out that canonically most would see 8/2x as 8/(2x), not 8/2*x, which is how a computer might see it.

                                                                                1. 2

                                                                                  You cannot distribute within a term like that.

                                                                                  According the the OOO, an equivalent expression is (8/2)(2+2), and your expression corresponds to distributing the denominator across addition as a multiplier instead of a divisor. Properly distributing would be 8(2/2 + 2/2).

                                                                                  1. 1

                                                                                    Unless you can distribute a term like that. 8/2(x+y) is most likely 8/(2x+2y)

                                                                                1. 2

                                                                                  Writing an instrinsic-based version of my gather/scatter benchmark spatter, and rewriting the GPU kernels.

                                                                                  1. 5

                                                                                    Related paper, which may hint at some of the complexity of this topic: On the Complexity of Sequence to Graph Alignment. An interesting result is that the problem of sequence to graph alignment is NP-complete when you allow the graph to change.

                                                                                    1. 1

                                                                                      What a disgusting system Windows is. None of these wants are necessarily unreasonable.

                                                                                      “How do I create a window that is never covered by any other windows, not even other topmost windows?”

                                                                                      I also thought the Window Manager could enforce this trivially, by preventing overlap with such windows.

                                                                                      “How do I mark my process so that it always the first/last to receive the system shutdown notification? I want to do something before/after all other programs have shut down.”

                                                                                      Clearly, you have an interface that attempts such, but can fail and programs should properly handle failure.

                                                                                      “How do I make sure that my program is always the one that runs when the user double-clicks an .XYZ file?”

                                                                                      This is something an operating system is expected to provide; a program should be able to ask, but not enforce this, and it shouldn’t be told if it succeeds or fails.

                                                                                      Now, you people bringing up the hypothetical example of a program that modifies a Window Manager configuration are wrong. Clearly, a program shouldn’t do this without good reason. You may then think ’‘It will do it anyway.’’; the solution is to modify the program so it doesn’t do this. You may then wonder ’‘What if the program isn’t Free Software?’’; the solution is to acknowledge that proprietary software is malware and to avoid using it; what do you expect?

                                                                                      There’s little, if any, wisdom to be gained from learning how Windows does something, at this level. I’m glad to not use the garbage.

                                                                                      1. 6

                                                                                        I also thought the Window Manager could enforce this trivially, by preventing overlap with such windows.

                                                                                        What if the super-topmost window is also the size of the display?

                                                                                        Clearly, you have an interface that attempts such, but can fail and programs should properly handle failure.

                                                                                        “Attempts to run everything last”… What does that even mean? This is the point of the article.

                                                                                        This is something an operating system is expected to provide; a program should be able to ask, but not enforce this, and it shouldn’t be told if it succeeds or fails.

                                                                                        For a third time you’re missing the point of the customer’s request. They’re not asking for best practice behaviour, they want their program to circumvent the default Windows behaviour (the “garbage” you don’t appear to know anything about).

                                                                                        I feel like your entire post is you skimming and intentionally misreading the blog post (which is about UI design, it’s not even particularly about Windows, for Christ’s sake), and using it as a springboard to explain how much smarter than the Windows UI team you are.

                                                                                        1. 1

                                                                                          I’m sure the members of the Windows UI team are very smart. That’s why it’s such a shame they’ve been locked in the Microsoft Dungeon while the business people make decisions on their behalf.

                                                                                        2. 3

                                                                                          Now, you people bringing up the hypothetical example of a program that modifies a Window Manager configuration are wrong. Clearly, a program shouldn’t do this without good reason.

                                                                                          And a program shouldn’t set the ALWAYS_ON_TOP flag without good reason, either. The point I was trying to make was that moving the flag from the runtime window object into the WM config file in ~/.xmonad doesn’t actually change anything.

                                                                                          There are actual solutions to this, including political ones (Free Software is a political movement) and technical ones (use sandboxing to move privileged doodads like WM configuration to a spot where regular old apps can’t get to it). Either way, since you’re avoiding shared mutable state by establishing a privileged mutator, the answer to “what if two programs did this” is simply only one program can ever do this.

                                                                                          You may then think ’‘It will do it anyway.’’; the solution is to modify the program so it doesn’t do this. You may then wonder ’‘What if the program isn’t Free Software?’’; the solution is to acknowledge that proprietary software is malware and to avoid using it; what do you expect?

                                                                                          “Just make it FOSS” is only half a solution. After all, the entire raison d’être for a system like Windows is to be usable by people who don’t know how to write or modify software themselves. The big FOSS OS’s value-add compared to Windows, for such a user, is vendors like Debian, RedHat, and FreeBSD that do not allow software to enter their curated repositories without going through them, the privileged mutator. Obviously, the iOS App Store proves that Free Software doesn’t have a monopoly on bureaucratic curation. And, equally obviously, the presence of a global choke point like this introduces lots and lots of problems all of its own.

                                                                                        1. 17

                                                                                          Seems like a timely response to google’s decision to have autoplay content on the search result page.

                                                                                          1. 8

                                                                                            Wow, really?

                                                                                            I haven’t really used Google search in a while, and I’m not about to go check now, but I know that the web has turned into an increasingly user-hostile environment. The popup ads of yesteryear seem so innocuous now compared with every possible dark manipulation and annoyance that they can come up with in order to get your daily dose of ads in order to fulfill your duty to capitalism.

                                                                                            1. 2

                                                                                              Do you have a link to a recent article about this? I can only find news items from 2017 when it appears they tried a similar experiment.

                                                                                              1. 1

                                                                                                I thought I read an article via lobste.rs about trailing autoplay content on the search result page just a few days before op. However, I can no longer find it. Perhaps I found the same 2017 the guardian article you mentioned. Sorry.

                                                                                            1. 15

                                                                                              Really interesting article! I’m considering switching for the same reasons - although I really wish there was a viable third option.

                                                                                              I noticed that your site uses https://fonts.googleapis.com. You might want to consider self-hosting your fonts. Google’s CDN seems like a pretty obvious scheme to get tracking on the few remaining sites that don’t use Google Analytics.

                                                                                              1. 5

                                                                                                Try sailfish. I use it as my daily driver.

                                                                                                1. 4

                                                                                                  It is. The site is using a fairly new theme and I haven’t got around to it yet. It’s on my list though.

                                                                                                  1. 3

                                                                                                    Awesome, I’m glad it’s on your radar!

                                                                                                    Honestly, I wonder why browsers still send the referrer header by default. It appears to have no advantage to the user - only benefits trackers.

                                                                                                  2. 2

                                                                                                    Not sure what kind of tracking you’re concerned about, but here’s a pretty explicit privacy outline: https://developers.google.com/fonts/faq#what_does_using_the_google_fonts_api_mean_for_the_privacy_of_my_users

                                                                                                    1. 5

                                                                                                      From your link:

                                                                                                      Google Fonts logs records of the CSS and the font file requests

                                                                                                      It seems reasonable to assume that they are logging IP, User-Agent, and Referrer. If you don’t care about their tracking, then it’s nothing to worry about. However, if you’re avoiding Google Analytics specifically because you don’t want Google seeing your site’s traffic, then it seems that using their CDN is pretty counterproductive.

                                                                                                      1. 5

                                                                                                        I worked on the Google Analytics team. For what it’s worth, we didn’t do anything interesting with your site’s traffic, in fact the data wasn’t allowed to be touched by any other org. But I totally respect the idea of privacy for privacy’s sake (you shouldn’t need a reason to value privacy).

                                                                                                        1. 6

                                                                                                          And I worked on the Google Fonts team. There are many concerning things that Google is doing regarding privacy. Tracking users through fonts is not one of them.

                                                                                                          1. 6

                                                                                                            Not yet, perhaps.

                                                                                                            1. 3

                                                                                                              Ok, I’m not going to argue with that. Just giving information so that people don’t make this decision on unfounded fear.

                                                                                                            2. 3

                                                                                                              Everybody says “Google is doing concerning things” but we never hear from the people who do it. Just every department saying “not us!”

                                                                                                              1. 3

                                                                                                                Exactly. They coud also be lying. Im not saying I believe any are. Just that they :

                                                                                                                1. Went to work for a surveillance company helping it achieve its goals in some way that might boost its numbers. They accepted doing that for money and other benefits.

                                                                                                                2. Said they didnt or wouldnt do some privacy-invading thing.

                                                                                                                The contradiction there can indicate anything from a personal line they didnt cross to deception. So, I just cant rely on any of those claims. Instead, I look at past behavior and where incentives push a company. Google’s indicates they arent trustworthy.

                                                                                                            3. 3

                                                                                                              When? Couldn’t this change in the meantime? I remember some Internet moment when it was discovered that Google changed some public policy docs and dropped words claiming they don’t mix data from separate services