1. 1

    Bellard is such a prolific developer. Does anyone know if this supports stuff like the Webworkers API for multithreading?

    1. 2

      It does not.

    1. 21

      Decentralise! Look at what the CCC does with their content here: https://media.ccc.de/

      1. 3

        My first thought was “they can host it elsewhere”, but that doesn’t solve the discoverability. Many of these channels are about getting people to take they’re first steps in the security space. These newcomers won’t know to look on a dedicated community, or even a smaller universal video platform, but they sure watch YouTube.

        YouTube does a decent job of showing thumbnails and titles to people who might be interested, and without that tease, I’m sure the reach of infosec videos would be much, much lower.

      1. 6

        Unclear what problem you’re solving. Firefox shouldn’t write anywhere else than the profile directory (see @jefftk’s comment). If you don’t want it to access your user configs in ~/. config. you can redirect $HOME though. But maybe you also want to chroot then?

        If you want to separate all sorts of history and site data and settings and extensions and password storage etc, use different profiles. If you want separate cookie jars (e.g. online identifies) to work in parallel, use the Multi Account Containers Extension.

        1. 8

          The problem this solves is that some websites are now detecting private mode browsing, and using it as an opportunity to be a dick.

          1. 6

            Ugh, that’s bad. Can you give an example of those?

            1. 10

              Nytimes does private mode detection as part of their paywall.

            2. 4

              How do they detect it, and how are they being a dick? I’ve honestly never noticed anything weird in private browsing mode, but I don’t use it all that often either.

          1. 26

            While spreading yourself overly thin is definitely a bad idea, this article is basically about the generalist vs specialist debate, and goes all-in on the specialist side.

            While there is value in being very knowledgeable in a certain domain or technology, it also makes you less flexible with regards to possible employers or different projects within a single company. I’ve worked with plenty of developers who refuse to learn a new technology stack, because they think they’ll start as beginners again and it will hamper their career growth (more specifically, they fear that they will not grow their income at the same rate they would if they continued working with the same thing).

            However, the technology landscape changes, perhaps not overnight but definitely over the course of an entire career. Sticking to what you’re experienced at may lead to a dead end some years in the future.

            Additionally, I believe that many of the important skills that make a developer more valuable are not related to using specific technologies or tools, but rather in generic skills that are transferable across languages, tools and frameworks.

            Using and learning new technologies might also prevent you from forming tunnel vision. If all you have is classes and inheritance, everything starts looking like it should be an object, for example.

            You probably shouldn’t use a different language for every project, the same way you shouldn’t use a different Javascript framework for every project just because it’s the hot new thing. But I also think you shouldn’t bet the house on a single language and/or framework just because you consider yourself an expert in that niche.

            1. 10

              While spreading yourself overly thin is definitely a bad idea, this article is basically about the generalist vs specialist debate, and goes all-in on the specialist side.

              I don’t agree. I think the article is trying to signpost a danger for new folks coming to our field - that is the temptation to feel like I MUST LEARN ALL THE THINGS! rather than realizing that there is tremendous depth at play here and that while having a broad skillset is good, you MUST be able to go deep on some small subset of things, whether or not you’re a specialist or a generalist.

              I’d also argue that being a generalist can make it damn hard to stay employed, because the entire recruiting machine wants to plug discrete shapes into discretely shaped holes, and if you don’t fit that model you’re gonna have to work 10 times as hard to make it past said machine rather than working with it.

              That’s my experience, anyway.

              1. 3

                Yes, recruiting machines want developers with specific boxes checked on their resume. But I generally find it pretty easy to write a resume for a specific position highlighting the stuff I’ve done they want to hear while only mentioning others in passing.

                There is also a shortage of qualified workers in our field, at least for now, so as soon as you can match a few of the qualities they’re looking for, you can land an interview, and from there it’s easier to convince a hiring manager that you’re a capable worker.

                1. 2

                  I think it’s possible we’re talking about two different things here.

                  Landing a job is one set of skills - thriving in a job is quite another.

                  I’m talking about the latter.

                  1. 2

                    I’m replying specifically to your remark about recruitement looking for specific profile features to fill certain positions in your parent comment.

                2. 3

                  Breadth & depth are not in contradiction, once you get beyond a very beginner level – particularly in terms of the kind of tech that gets used in our industry, since programming language design for ‘general purpose’ languages & best practices for ‘enterprise’ system is extremely intellectually incestuous. If you know two C-like languages, you can read and write fifty more without actually learning them, or learn them as well in an afternoon as a beginner could in two months.

                  It’s possible to go deep into a domain that doesn’t have broad applicability, but you have to look hard for such a thing. Extremely deep and seemingly-disconnected subjects like cryptography & type / category theory are having a big impact, and weird and previously-obscure languages like haskell are starting to influence how normies write their java.

                  The strangest statement here is where OP says that “even experienced developers don’t know that much”, for a list of technologies that looks like what somebody would put down as the minimum requirements for applying for a junior web dev position. It’s one thing to go all-in on specialist knowledge, but it’s another thing entirely to define the domain so narrowly that everybody with a bachelor’s degree and a vague interest counts as expert.

                  Since this article is aimed at junior devs & folks who are still in college, let me be clear: at this stage of development, you lack the background to determine what is and is not likely to be relevant to future tasks and projects, so your job (first and foremost) is to learn everything. Doing ‘professional’ work with the kind of attenuated understanding that comes from only studying things that are obviously applicable to outsiders is the source of many problems, ranging from merely wasteful and stupid to actually dangerous.

                  1. 1

                    Since this article is aimed at junior devs & folks who are still in college, let me be clear: at this stage of development, you lack the background to determine what is and is not likely to be relevant to future tasks and projects, so your job (first and foremost) is to learn everything. Doing ‘professional’ work with the kind of attenuated understanding that comes from only studying things that are obviously applicable to outsiders is the source of many problems, ranging from merely wasteful and stupid to actually dangerous.

                    I don’t disagree, but I also think it’s super important to learn how to learn the necessary skills to accomplish your goals.

                    Maybe that’s key - create goals for yourself. Build things. Meaningful things, not just variations of Hello World or examples of the particular pony tricks your new pet language can do well.

                    In learning what you need to actually build projects that you can be proud of, you’ll achieve many goals people have stated here - learning the important stuff that’s not language or tech driven, and learning how to learn in a focused way to achieve a particular task / goal, and also getting used to the idea of having projects for yourself that you design, build, test and “ship” for whatever values of “ship” you’re comfortable with - maybe putting them on your github page for example.

                    1. 2

                      not just variations of Hello World or examples of the particular pony tricks your new pet language can do well.

                      This is a good point. You don’t learn much by catering to a toolset’s strengths.

                      In college (and, to a lesser extent, as a junior dev – and to a greater extent, before college, if you are lucky enough to get coding that early) you’ve got time to do things the hard way, and there are a lot of lessons that are best learned by doing things the hard way. So, this is the time to intentionally use the wrong tool for the job, be perverse, and jump into projects that are way above your skill level and way outside your comfort zone. The more you do this, the better you’ll become at not being discouraged by technical and social hurdles, & the bigger your comfort zone will become.

                      A pattern I see with colleagues who learned to code in college is that they’re very precious about sticking to their preferred tools & idioms. They did all their exploration in four years, and ever since, they’ve been under pressure to perform, so new tools and techniques are not just alien but represent a (only mostly imaginary) threat to their livelihoods. They become hyper-specialists. They have never learned the lessons that can only be gained from doing the maximally-wrong thing, because they have never been secure enough to be willing to waste their time, and as a result they’re stuck in a lower grade of expertise than they could attain.

                      The case I typically make for being a generalist, which all these things feed back into, is that the utility of knowledge is weighted by rarity, and rarity is affected by expected utility. Utility and expected utility have little to do with each other outside of situations where nothing is being discovered – if you’re a code monkey writing trivial mashups of big existing libraries, insulated from users, it’s possible to do your work for years and never be surprised or need to learn a new concept, but if you’re doing non-trivial work then you will frequently run into problems that you couldn’t have predicted, and those problems will be ones whose best solutions rely upon knowledge that you couldn’t have previously predicted you would have needed. General knowledge (like a background in common data structures and algorithms) is broad enough to solve a lot of problems, but it’s also standardized – everybody with a CS degree has at least vague familiarity with a bunch of sorting algorithms & their time complexity, can implement a linked list or a binary tree, knows that tree rebalancing is a thing and can look up how to do it, has some basic graph theory under their belt & can write a greedy graph traversal algorithm, etc. So, your value as a developer (whether you are somebody’s employee or just writing your own projects) is based around how you’ve deviated from the norm: if you know MUMPS or J or Idris, or you can write a bootloader or a prover or a compiler, or you know category theory or fast fourier transform or fast inverse square root, or you can write professional-quality prose or can translate between russian and korean.

                      It’s a high bar to set, for every programmer to know enough things that nobody else knows as to be sure, statistically, that at least a couple of them will unexpectedly come in handy. But, we don’t need as many professional programmers as we have, and folks who pass this bar are going to be a lot more useful (not in the ‘10x programmer’ sense of straight linear productivity but in the sense that some obvious-but-ultimately-bad plans will never be attempted). Anyway, such folks have more opportunities & are less replacable, so I recommend everybody endevour to become such a person.

                      1. 1

                        The case I typically make for being a generalist, which all these things feed back into, is that the utility of knowledge is weighted by rarity, and rarity is affected by expected utility. Utility and expected utility have little to do with each other outside of situations where nothing is being discovered – if you’re a code monkey writing trivial mashups of big existing libraries, insulated from users, it’s possible to do your work for years and never be surprised or need to learn a new concept

                        This is the danger of over-specialization. You don’t learn how to learn quickly and effectively, and never gain that intellectual suppleness which will allow you to adversity and new situations.

                        It’s a high bar to set, for every programmer to know enough things that nobody else knows as to be sure, statistically, that at least a couple of them will unexpectedly come in handy. But, we don’t need as many professional programmers as we have, and folks who pass this bar are going to be a lot more useful (not in the ‘10x programmer’ sense of straight linear productivity but in the sense that some obvious-but-ultimately-bad plans will never be attempted). Anyway, such folks have more opportunities & are less replacable, so I recommend everybody endevour to become such a person.

                        So there’s how you build your skill set and how you market yourself. These do not necessarily need to correlate closely :)

                        I am definitely in favor of priming ones self to be a generalist, but I also think it’s important to be able to market yourself to at least a particular broad area of our industry.

                        For instance, I tend towards “Devops” work which is a CRAPPY designation for anything involving infrastructure and not generally solving hard computer science problems, but still code-centric.

                        So, yes build a generalist’s skill set, but be prepared to sail your career ship in a particular direction or you may find that there are no winds to propel you.

                        1. 2

                          Sure. Few companies will give roles to junior devs that entail broad responsibilities. I don’t think that means you need to hide those skills. The broader your skillset, the more likely it is that any given narrow specialization will fall within your wheelhouse.

                          That said, I’ve been at the same place since my intership so maybe the market for candidates is allergic to the ‘overqualified’ & I’m just unaware.

                  2. 2

                    you MUST be able to go deep on some small subset of things, whether or not you’re a specialist or a generalist.

                    Where do you find this “MUST”? As far as I can tell, speaking at such a level of generality, the only must is what is needed to do a job, solve a problem, achieve an aim, etc. One needs to be as specialized as the circumstance requires. But I’m struggling to make the leap from that to some categorical imperative of depth, your MUST.

                    1. 1

                      And how might one attain the level of depth needed to do a given job if one spends one’s time chasing bright shiny new languages and tools?

                      You’re right, we’re speaking in generalities, and I’m sorry my use of the word MUST seems to have triggered you, but my general point still holds, even if you downgrade the word in question to, say, a lowercase ‘need to’?

                      1. 1

                        Haha, I’m not triggered. I think you’re setting up a false dilemma. If I have a job that requires a superficial understanding of a bunch of tools, then I would not be “thriving” in my job if I was trying to cultivate specialization in a few of those tools. I think the real distinction is between stuff that is necessary to do the job and stuff that isn’t. It’s not between depth and breadth. For example, I was recently talking to a friend who just founded a consulting company. In the past few months, he’s worked with several new languages, none of which he plans to specialize in. Working with those languages is what he needed to do to get the job done. Beyond getting the job done, learning more about those languages has diminishing returns. Specializing in anything is only a good idea if the specialization has utility. I think a better principle is to invest time in things proportional to their utility. That really depends on the context and could result in specialization or generalization.

                  3. 2

                    many of the important skills that make a developer more valuable are not related to using specific technologies or tools, but rather in generic skills that are transferable across languages, tools and frameworks.

                    This ^.

                    Or, as they say, “learn weightier shit”.

                    1. 1

                      This is something different again - you can’t learn “the weightier shit” unless you choose a language or two and stick there. Humans, even the most intelligent ones, can only learn so many things at once.

                      So, my point stands. Choose a subset of tools and go deep. Go deep means, in addition to mastery of that particular tool or language, that you learn “the weighty shit” :)

                      1. 2

                        Oh no, no, no, it’s the other “weightier” stuff. It’s things that make sense in engineering in general. Like, a function that does one thing and doesn’t affect surroundings in unexpected ways is as good a thing in Java, as it is in Scheme. Or, say, the idea that you need a queue in between producers and consumers. Or various implications of forks vs. threads vs. polling loops. Or understanding why you can’t parse HTML with a regex.

                        Knowledge like this weighs more than knowing how do you sort an array in your current language/framework.

                  1. 17

                    There’s no reason you have to choose one of them up front. Why not learn both to an elementary level and then choose one to focus on based on that experience?

                    And FWIW, Lisp-1/Lisp-2 and macros aren’t worth worrying about as a beginner (IMO). They don’t make much practical difference as long as you know which one you’re using, and each has trade offs.

                    I personally use Common Lisp, and think it’s great. It’s very fast, there are a lot of libraries available (and easily installable with Quicklisp), and I like the development environment (Slime and Emacs).

                    Another thing I like is that with Quicklisp and Slime it’s very easy to jump to library code, make changes, and reload, and I’ve ended up contributing several small changes to different projects after initially experimenting with bug fixes this way.

                    1. 4

                      Why not learn both to an elementary level and then choose one to focus on based on that experience?

                      Do people really have that sort of extra time in their hands? I’m envious.

                      1. 8

                        I would say everyone who hangs on the net forums does, it’s a matter of priorities.

                        1. 1

                          Depends on their pattern of access. If, as a completely made-up example, someone checks on lobste.rs while on conference calls, it’s probably using a lower cognitive load than learning new programming languages.

                        2. 1

                          In my experience (raising two young kids and working), you can do it if you are mentally and physically well and choose to focus on it.

                          1. 1

                            Yes, I should probably work on those latter items you mentioned :)

                          2. 1

                            If you plan to invest in learning a piece of technology, you’re better of spending 4-8 hours each with different options you’re considering, and picking one that suits you best afterwards, rather than investing hundreds or thousands of hours in a single one to come to the conclusion that you chose poorly.

                            I guess it depends on what you plan to do with the language.

                          3. 1

                            I’d imagine because to become productive in a new language, you have to spend some time exclusively with it. One of the worst things you can do from a productivity standpoint is learn two similar languages at once. (Also goes for natural languages – my semester of simultaneous Italian and Spanish was a set-up for failure.)

                            1. 1

                              Yes. Focus it’s important. First one, later another. Context-switching has a high cost for learning; even better if happens too often.

                          1. 1

                            People are going to hate this, but my prompt is multi-line, full width, and colored. It’s a little hard to copy-and-paste because it uses underlined text, so I’ll link a screenshot at the bottom.

                            [wim@WDC-Mansa-Musa ~]                                   [13:10:08]
                            ✔ ls foo
                            foo
                            [wim@WDC-Mansa-Musa ~]                                   [13:10:14]
                            ✔ ls foo2
                            ls: cannot access 'foo2': No such file or directory
                            [wim@WDC-Mansa-Musa ~]                                   [13:10:20]
                            ✕
                            
                            • At the front of the first line, there’s the straightforward [username@hostname current-directory]
                            • At the end there’s a timestamp that can be used to determine when any command in the scrollback buffer finished executing.
                            • The first line is always full-width in the terminal, an serves as an easy visual marker when scrolling through a ton of output if you want to find the beginning of the last command’s output, for example. I know you can pipe through less, but sometimes you get surprised by a large blurb of output, or forget to first redirect stderr to stdout, so it’s nice to have some comfort in your scrollback buffer.
                            • The second line simply contains a green checkmark or a red cross indicating success or failure of the last command. This is the only colored element I’ve got.
                            • Additionally, if a command runs for more than 30 seconds, my PS1 triggers a desktop notification. This is not really part of the visual prompt but it’s triggered through the prompt expansion so I thought I’d mention it. This is super-useful because I used to work on C++ code which takes FOREVER to compile, and whenever I started compiling I’d never sit around staring at the shell to wait for the result. It’s convenient to be notified as soon as the compilation finishes, otherwise I’d most likely only remember to check back after half an hour of working on something else (cough or watching YouTube cough).

                            All of this is contained in my .bashrc (which does almost nothing else), and can be found here if you want to include any of this stuff into your own prompt.

                            While I think a lot of this is personal preference, I can highly recommend the notification bit if you tend to have long-running commands.

                            Screenshot with colors and underlines

                            1. 40

                              It doesn’t encourage growth. A developer working in Go and only Go will help his business’s bottom line, and the shareholders will be happy, but he will always be a mediocre programmer which is why mediocre coders are so fond of Go.

                              Saying that someone, by deciding to use a tool over other, will be forever a mediocre coder, is just wrong at so many levels, this is disgusting.

                              1. 12

                                Exactly. Growth is not just about coming to grips with terrible programming languages, or with brilliant but complicated languages.

                                It comes from learning to work together with others and learning to build complicated, often interconnected, software. This has inherent complexity, both on a technical and human level.

                                You don’t need to use a terrible language to grow in those things.

                                1. 11

                                  I’m reminded of the cliche, it’s a poor craftsman that blames his tools.

                                  1. 2

                                    The Law of the instrument, may be a relevant concept to bring up though, in conjunction with your noted cliche.

                                    “I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail.”
                                    – Abraham Maslow

                                    That said, I do more strongly align with your stated cliche. I think we are lucky to have such a wide range of quality tools to pick from these days.

                                  1. 7

                                    That one seems way more convincing though - every time I listen to it I find myself wanting to lean in because I can’t quite make out what he’s singing about. Catchy, too. Here’s another one that’s pretty convincing.

                                    The Markov generated version in the post is interesting, but it sounds choppy and clipped (although, admittedly, that could be due to the synthesized voice)

                                  1. 1

                                    Would be interesting to see how this compares to something like wasmtime.

                                    I also didn’t see any mention of WASI support, I wonder if they plan to add it?

                                    Very cool to see so many WebAssembly projects pop up.

                                    1. 3

                                      Wasmtime is a JIT and uses Cranelift. inNative is an AOT and uses LLVM. Since it uses LLVM, it probably sucks as a JIT.

                                      1. 1

                                        That’s one aspect in which they differ, but both allow you to run WebAssembly programs as system software (by which I mean “outside the browser” in this context), so they have a significant overlap in terms of where and when they could be used.

                                    1. 2

                                      This is very interesting. I wonder how many alternative dex/apk builders are out there.

                                      I know that Godot, the open source game engine, is looking to reimplement their Android exporter to be independent of external tools being installed by the user.

                                      1. 4

                                        Cool, thanks! Good to know, so I should probably contact them, they could be interested.

                                        As to alternatives, I didn’t find many. I mean, there’s absolutely smali, which is basically the alternative dex assembler/disassembler; but it is also written in Java, so it requires JVM. Which is something I wanted to try and avoid too. (And I was also plain curious to explore how much work it could be to just do it by hand. Which showed up to be surprisingly little!) Other than that, there was the official Jack & Jill Java->.dex compiler/toolchain, but it was discontinued.

                                        1. 1

                                          Thanks for those links, it’s interesting to see the landscape of alternatives in which a (new) project fits.

                                      1. 1

                                        Any details on how big the resulting binary is and what dependencies it has on system libraries?

                                        1. 1

                                          The size of the binary will depend on what you include in your project. For example, clj-kondo linter compiles to a 16 meg binary, while pgmig migration tool compiles to about 45 megs. The resulting binary is akin to an uberjar containing all the dependencies for the projecct. My understanding is that in terms of external dependencies it’s same as the regular JVM.

                                        1. 4

                                          I’m celebrating my sons first birthday on Sunday, and probably trying to squeeze in some video games on Saturday. I probably won’t be touching any pet project. Judge me all you want ;)

                                          1. 4

                                            Weekends don’t have to (and probably shouldn’t) be about programming. :)

                                          1. 3

                                            Does anyone know if this new WSL implementation requires Hyper-V, meaning we can’t use VirtualBox or VMWare at the same time as WSL?

                                            1. 3

                                              Can someone explain the technical limitation here, that prevents other hypervisors running when Hyper-V is enabled?

                                              I reasonably regularly run Parallels + VMWare + Virtualbox concurrently on macOS, and this “our way or the highway” approach with HyperV approach strikes me as just plain weird.

                                              1. 5

                                                If I understood correctly (but it’s been a long time since I looked into it, so I might misremember or things might have changed), when you run Hyper-V, it will replace the Windows kernel and run Windows within a paravirtualized guest on top of the Hyper-V hypervisor.

                                                Since your Windows is running in a virtualized environment, and nested virtualization is black magic, VirtualBox and VMWare will not detect or be able to access VT-d / VT-x / AMD-V. Effectively, you are not running VirtualBox next to Hyper-V, but inside Hyper-V.

                                                Windows has recently also introduced a new security feature called “Credential Guard” which requires your Windows session to be running on top of Hyper-V, and thus also blocking any other hypervisors from being used.

                                                1. 4

                                                  IIRC, Hyper-V works more like Xen; the host becomes dom0.

                                                  1. 1

                                                    Oh I see, and presumably HyperV doesn’t (or can’t? I can’t say Ive tried it on a Xen vm) embed the cpu capabilities to do ‘nested’ virtualisation (e.g. you can enable Hyper V or run vb/vmware on a windows VM running in Parallels on a Mac, if you enable “Nested Virtualisation” in Parallels)

                                              1. 3

                                                Although it certainly wasn’t anywhere near the specs of that computer, this post brings back good memories of using my Eee PC netbook (is that really the correct capitalization, Wikipedia?) to run DF while waiting to tutor people in high school. I didn’t have to kill off any extraneous processes to even run it, thankfully, but I did have to live with low framerates. Also, with not being good at the game.

                                                One of my favorite tricks with that netbook was that I installed a utility that gave me an expanded desktop, so I could have larger windows open and by pushing my mouse along the edges of the screen, I could move to different areas of the screen. Looking it up just now, I think I found the exact tool I used: “Infinite Screen.” This way I could keep my DF window larger than my screen size and still be able to see everything (though not all at once).

                                                1. 1

                                                  One of my favorite tricks with that netbook was that I installed a utility that gave me an expanded desktop, so I could have larger windows open and by pushing my mouse along the edges of the screen

                                                  When I first installed Linux in the late 1990s it came with FVWM (or maybe this was a feature of XFree86?) with a “virtual desktop” exactly like you described. Of course being used to Windows 95/98 at the time it was the first thing I disabled.

                                                  1. 1

                                                    I’ll have to look that utility up. I think I accidentally triggered similar behaviour in Xorg many years back, but I’ve never been able to recreate it.

                                                    My laptop screen is 1366x768, which can sometimes be annoying if I want to screenshot things taller than this. My favourite workaround:

                                                    xrandr --output yourscreenname --scale 2x2
                                                    

                                                    2732x1536 is where it’s at, take that 1920x1080.

                                                    1. 2

                                                      Oh, to be clear, that’s a Windows-only utility. I should have said that originally.

                                                      The only place I’ve seen that resolution is a Thinkpad T420 with the larger screen mod. Any chance that’s the same for you? I’m lucky in that, when I had that laptop and needed to take large screenshots, I either had a big external monitor or a friend with a retina display.

                                                      That xrandr trick is neat! I just tried it out and visually it works well, but my mouse didn’t want to move into the bottom right corner of the screen, interestingly enough.

                                                      1. 1

                                                        Ooh, I might have to try this on Windows.

                                                        My favourite Windows change is to install bb4win, so I get proper virtual desktops. I have not tried it on Win10, but presumably it’s a reliable way of keeping cortana away as well. I used to use Asuite for a program-launching menu, because the one built into BB is pretty crappy.

                                                        The only place I’ve seen that resolution is a Thinkpad T420 with the larger screen mod.

                                                        1366x768? It’s the standard for almost all cheap laptops these days. Mine is an 11.6” (small) so it not’s a bad option here, but sadly it’s also used for bigger screened laptops.

                                                        my mouse didn’t want to move into the bottom right corner of the screen

                                                        Eep, that’s a bug.

                                                        Are you on Nvidia by any chance? If so: you probably have to stick to using Nvidia’s utilitiy for screen management, not xrandr. I remember having this problem in my days of ATI Catalyst.

                                                      2. 1

                                                        I may be wrong, but wasn’t this the default behaviour on X11 (maybe XFree86 before Xorg took it’s place) at some point?

                                                        I recall often accidentally running into this problem many times when my graphics card drivers weren’t properly installed yet, and my card only reported basic 640x480 or 800x600 support through the BIOS.

                                                    1. 4

                                                      Is Jeff Atwood under the impression that server colocation isn’t something that has been done almost forever? Perhaps with all the VPS providers and cloud platforms, people have forgotten about this option.

                                                      1. 1

                                                        Yeah, it’s surprising it’s so rarely mentioned. It’s the first thing I look at since it lets customers get bare-metal benefits with extra ability to customize hardware. Also, that option only outsources the things that datacenter companies can do better or at least spread cost. That’s space, cooling, redundant power, redundant backbones, and so on.

                                                        Far as custom hardware, it can be useful for compatibility with specific OS’s, too, since the drivers on specific machines are known to work better. Well-known example is how Thinkpads work well with Linux and BSD’s. Niche example is all the high-security, separation kernels run on PowerPC boards that their aerospace companies prefer for some reason. If one wants security and evaluated configuration, then they gotta run it on expensive, PPC board. Colocation lets them do that.

                                                      1. 4

                                                        Things that’ve worked for me:

                                                        • Storage – Samsung SSDs. Spinny disks, Toshibas aren’t bad–I’d use an SSD for the main disk and then bulk storage on spinning rust…and expect to replace the spinning rust after 3-5 years (just had two disks die on me this weekend >:( ).

                                                        • Graphics – All of the AMD cards are now fully open-source drivers iirc, so any of the new cards should see you nicely unless you do CUDA.

                                                        • Memory – Might as well spring for 32GB and forget about things for a while especially if you do containers, VMs, or run Slack. :P Cheapo Kingston or Crucial (I think?) has served me fine here.

                                                        That’s all I’ve got, though processor-wise make sure to update the firmware if you get an AMD Ryzen or Threadripper board–last gen they had an annoying temperature sensing bug that needed patching. Also, watch out for their compatabilty with the Vive wireless stuff if that matters to you.

                                                        1. 4

                                                          What’s this about a temperature bug? Are you talking about the temperature offset added to tCTL?

                                                          Samsung SSDs seconded.

                                                          1. 1

                                                            Yep, ran into this on a 1700X. Scared the hell out of me until I got it sorted out.

                                                          2. 4

                                                            Graphics – All of the AMD cards are now fully open-source drivers iirc, so any of the new cards should see you nicely unless you do CUDA.

                                                            Caveat for OpenBSD: The amdgpu driver has not yet been imported, so many newer AMD cards aren’t supported. Check the man page before buying.

                                                            Integrated Intel GPUs are another good bet.

                                                            1. 1

                                                              AMD graphics are well supported, but require binary blob firmware. Not an issue if you are pragmatic, but might be of you are going for a purist free software station.

                                                              Sadly, if you want fully free drivers, your best need is, ironically, cards supported by nouveau, which means the best you can get is something like a GTX 700 series (excluding the popular GTX 750 and 750Ti).

                                                              Also, while AMD has excellent open source drivers, it takes a while for them to be backported to the various BSDs. Best to check them explicitly for the card you consider getting.

                                                              Intel is another good option, but this heavily restricts your available output ports and puts some restrictions on the CPU choice as well (no Xeon or AMD). Newer Intel graphics require a binary blob for some features/best performance, but I believe the drivers do mostly function without the firmware as well. I don’t know for sure though.

                                                            1. 3

                                                              I’m very curious about RISC-V track and want to go the Rust, Security, Infra Management and Container talks.

                                                              Does anyone recommend a talk/speaker? I heard that some rooms are small and you need to arrive early if the room is full you can’t sit on the floor because of security stuff so basically you will lose the talk.

                                                              1. 3

                                                                True, I remember from my 2017 visit that it can get very busy, depending on how interesting the talk description is. Most rooms follow the “nobody sits on the floor” rule, but I also attended an introduction to open-source FPGA programming where literally every square meter of the floor was filled with people. But yeah, show up early to be safe.

                                                                (I can’t help you with the speakers though)

                                                                1. 3

                                                                  Yes, FOSDEM is notoriously bad at predicting turnout for smaller rooms. They don’t seem to base room allocations on current demand or “hotness” of a topic, but base it on historical attendance, meaning newer or newly popular topics get a small room and are often at capacity all the time, with queues building up in the hallway.

                                                                  Not trying to disrespect the organizers - I’ve attended FOSDEM since 2004, and I love it. Organizing an event like this is hard and they only have unpaid volunteers to organize.

                                                                2. 2

                                                                  Some rooms are extremely crowded and some are not. If you can’t find a spot there’s live streams that you can watch. Instead of doing that though, I prefer to just find something else that sounds interesting. The streams are online shortly after FOSDEM ends, and I prefer seeing talks live while I’m there.

                                                                  The FOSDEM Companion app is nice for finding talks on a whim, and it has links to streams and a map of the site. Find it at https://f-droid.org/en/packages/be.digitalia.fosdem/

                                                                1. 81

                                                                  I beg all my fellow crustaceans to please, please use Firefox. Not because you think it’s better, but because it needs our support. Technology only gets better with investment, and if we don’t invest in Firefox, we will lose the web to chrome.

                                                                  1. 59

                                                                    Not because you think it’s better

                                                                    But that certainly helps too. It is a great browser.

                                                                    • privacy stuff — the cookie container API for things like Facebook Container, built-in tracker blocker, various anti-fingerprinting things they’re backporting from the Tor Browser
                                                                    • honestly just the UI and the visual design! I strongly dislike the latest Chrome redesign >_<
                                                                    • nice devtools things — e.g. the CSS Grid inspector
                                                                    • more WebExtension APIs (nice example: only on Firefox can Signed Pages actually prevent the page from even loading when the signature check fails)
                                                                    • the fastest (IIRC) WASM engine (+ now in Nightly behind a pref: even better codegen backend based on Cranelift)
                                                                    • ongoing but already usable Wayland implementation (directly in the official tree now, not as a fork)
                                                                    • WebRender!!!
                                                                    1. 7

                                                                      On the other hand, WebSocket debugging (mostly frame inspection) is impossible in Firefox without an extension. I try not to install any extensions that I don’t absolutely need and Chrome has been treating me just fine in this regard[1].

                                                                      Whether or not I agree with Google’s direction is now a moot point. I need Chrome to do what I do with extensions.

                                                                      As soon as Firefox supports WebSocket debugging natively, I will be perfectly happy to switch.

                                                                      [1] I mostly oppose extensions because of questionable maintenance cycles. I allow uBlock and aXe because they have large communities backing them.

                                                                      1. 3

                                                                        Axe (https://www.deque.com/axe/) seems amazing. I know it wasn’t the focus of your post – but I somehow missed this when debugging an accessibility issue just recently, I wish I had stumbled onto it. Thanks!

                                                                        1. 1

                                                                          You’re welcome!

                                                                          At $work, we used aXe and NVDA to make our webcomponents AA compliant with WCAG. aXe was invaluable for things like contrast and missing role attributes.

                                                                        2. 3

                                                                          WebSocket debugging (mostly frame inspection) is impossible in Firefox without an extension

                                                                          Is it possible with an extension? I can’t seem to find one.

                                                                          1. 1

                                                                            I have never needed to debug WebSockets and see no reason for that functionality to bloat the basic browser for everybody. Too many extensions might not be a good thing but if you need specific functionality, there’s no reason to hold back. If it really bothers you, run separate profiles for web development and browsing. I have somewhat more than two extensions and haven’t had any problems.

                                                                            1. 1

                                                                              I do understand your sentiment, but the only extension that I see these days is marked “Experimental”.

                                                                              On the other hand, I don’t see how it would “bloat” a browser very much. (Disclaimer: I have never written a browser or contributed to any. I am open to being proved wrong.) I have written a WebSockets library myself, and it’s not a complex protocol. It can’t be too expensive to update a UI element on every (websocket) frame.

                                                                          2. 5

                                                                            Yes! I don’t know about you, but I love the fact that Firefox uses so much less ram than chrome.

                                                                            1. 2

                                                                              This was one of the major reasons I stuck with FF for a long time. It is still a pronounced difference.

                                                                            2. 3

                                                                              honestly just the UI and the visual design! I strongly dislike the latest Chrome redesign >_<

                                                                              Yeah, what’s the deal with the latest version of Chrome? All those bubbly menus feel very mid-2000’s. Everything old is new again.

                                                                              1. 3

                                                                                I found a way to go back to the old ui from https://www.c0ffee.net/blog/openbsd-on-a-laptop/ (it was posted here a few weeks ago):

                                                                                Also, set the following in chrome://flags:

                                                                                • Smooth Scrolling: (personal preference)
                                                                                • UI Layout for the browser’s top chrome: set to “Normal” to get the classic Chromium look back
                                                                                • Identity consistency between browser and cookie jar: set to “Disabled” to keep Google from hijacking any Google > - login to sign you into Chrome
                                                                                • SafeSearch URLs reporting: disabled

                                                                                (emphasis mine)

                                                                                1. 1

                                                                                  Aaaaaaaand they took out that option.

                                                                              2. 1

                                                                                The Wayland implementation is not usable quite yet, though, but it is close. I tried it under Sway, but it was crashy.

                                                                              3. 16

                                                                                I switched to Firefox last year, and I have to say I don’t miss Chrome in the slightest.

                                                                                1. 13

                                                                                  And those with a little financial liberty, consider donating to Mozilla. They do a lot of important work free a free and open web.

                                                                                  1. 10

                                                                                    I recently came back to Firefox from Vivaldi. That’s another Chromium/Webkit based browser and it’s closed source to boot.

                                                                                    Firefox has improved greatly in speed as of late and I feel like we’re back in the era of the mid-2000s, asking people to chose Firefox over Chrome this time instead of IE.

                                                                                    1. 2

                                                                                      I’d love to switch from Vivaldi, but it’s simply not an option given the current (terrible) state of vertical tab support in Firefox.

                                                                                      1. 2

                                                                                        How is it terrible? The hiding of the regular tab bar is not an API yet and you have to use CSS for that, sure, but there are some very good tree style tab webextensions.

                                                                                        1. 2

                                                                                          The extensions are all terrible – but what’s more important is that I lost the belief that any kind of vertical tab functionality has any chance of long-term survival. Even if support was added now, it would be a constant battle to keep it and I’m frankly not interested in such fights anymore.

                                                                                          Mozilla is chasing their idealized “average user” and is determined to push everyone into their one-size-fits-all idea of user interface design – anyone not happy with that can screw off, if it was for Mozilla.

                                                                                          It’s 2018 – I don’t see why I even have to argue for vertical tabs and mouse gestures anymore. I just pick a browser vendor which hasn’t been asleep on the wheel for the last 5 years and ships with these features out of the box.

                                                                                          And if the web in the future ends up as some proprietary API defined by whatever Google Chrome implements, because Firefox went down, Mozilla has only itself to blame.

                                                                                          1. 2

                                                                                            The extensions are all terrible – but what’s more important is that I lost the belief that any kind of vertical tab functionality has any chance of long-term survival. Even if support was added now, it would be a constant battle to keep it and I’m frankly not interested in such fights anymore. The whole point of moving to WebExtensions was long term support. They couldn’t make significant changes without breaking a lot of the old extensions. The whole point was to unhook extensions from the internals so they can refactor around them and keep supporting them.

                                                                                            1. 0

                                                                                              That’s like a car manufacturer removing all electronics from a car – sure it makes the car easier to support … but now the car doesn’t even turn on anymore!

                                                                                              Considering that cars are usually used for transportation, not for having them sit in the garage, you shouldn’t be surprised that customers buy other cars in the future.

                                                                                              (And no, blaming “car enthusiasts” for having unrealistic expectations, like it happens in the case of browser users, doesn’t cut it.)

                                                                                              1. 3

                                                                                                So you’d rather they didn’t improve it at all? Or would you rather they broke most extensions every release?

                                                                                                1. 3

                                                                                                  I’m not @soc, but I wish Firefox had delayed their disabling of old-style extensions in Firefox 57 until they had replicated more of the old functionality with the WebExtensions API – mainly functionality related to interface customization, tabs, and sessions.

                                                                                                  Yes, during the time of that delay, old-style extensions would continue to break with each release, but the maintainers of Tree Style Tabs and other powerful extensions had already been keeping up with each release by releasing fixed versions. They probably could have continued updating their extensions until WebExtensions supported their required functionality. And some users might prefer to run slightly-buggy older extensions for a bit instead of switching to the feature-lacking new extensions straight away – they should have that choice.

                                                                                                  1. 1

                                                                                                    What’s the improvement? The new API was so bad that they literally had to pull the plug on the existing API to force extension authors to migrate. That just doesn’t happen in cases where the API is “good”, developers are usually eager to adopt them and migrate their code.

                                                                                                    Let’s not accuse people you disagree with that they are “against improvements” – it’s just that the improvements have to actually exist, and in this case the API clearly wasn’t ready. This whole fiasco feels like another instance of CADT-driven development and the failure of management to reign in on it.

                                                                                                    1. 3

                                                                                                      The old extension API provided direct access to the JavaScript context of both the chrome and the tab within a single thread, so installing an XUL extension was disabling multiprocess mode. Multiprocess mode seems like an improvement; in old Firefox, a misbehaving piece of JavaScript would lock up the browser for about a second before eventually popping up a dialog offering to kill it, whereas in a multiprocess browser, it should be possible to switch and close tabs no matter what the web page inside does. The fact that nobody notices when it works correctly seems to make it the opposite of Attention-Deficient-Driven-Design; it’s the “focus on quality of implementation, even at the expense of features” design that we should be encouraging.

                                                                                                      The logical alternative to “WebExtension For The Future(tm)” would’ve been to just expose all of the relevant threads of execution directly to the XUL extensions. run-this-in-the-chome.xul and run-this-in-every-tab.xul and message pass between them. But at that point, we’re talking about having three different extension APIs in Firefox.

                                                                                                      Which isn’t to say that I think you’re against improvement. I am saying that you’re thinking too much like a developer, and not enough like the poor sod who has to do QA and Support triage.

                                                                                                      1. 2

                                                                                                        Improving the actual core of Firefox. They’re basically ripping out and replacing large components every other release. This would break large amount of plugins constantly. Hell, plugins wouldn’t even work in Nightly. I do agree with @roryokane that they should have tried to improve it before cutting support. The new API is definitely missing many things but it was the right decision to make for the long term stability of Firefox.

                                                                                                        1. 1

                                                                                                          They could have made the decision to ax the old API after extension authors adopted it. That adoption failed so hard that they had to force developers to use the new API speaks for itself.

                                                                                                          I’d rather have extension that I have to fix from time to time, than no working extensions at all.

                                                                                                2. 1

                                                                                                  Why should Mozilla care that much about your niche use case? They already have a ton of stuff to deal with and barely enough funding.

                                                                                                  It’s open source, make your own VerticalTabFox fork :)

                                                                                                  1. 3

                                                                                                    Eh … WAT? Mozilla went the extra mile with their recent extension API changes to make things – that worked before – impossible to implement with a recent Firefox version. The current state of tab extensions is this terrible, because Mozilla explicitly made it this way.

                                                                                                    I used Firefox for more than 15 years – the only thing I wanted was to be left alone.

                                                                                                    It’s open source, make your own VerticalTabFox fork :)

                                                                                                    Feel free to read my comment above to understand why that doesn’t cut it.

                                                                                                    Also, Stuff that works >> open source. Sincerely, a happy Vivaldi user.

                                                                                                    1. 2

                                                                                                      It’s one of the laws of the internet at this point: Every thread about Firefox is always bound to attract someone complaining about WebExtensions not supporting their pet feature that was possible with the awful and insecure old extension system.

                                                                                                      If you’re care about “non terrible” (whatever that means — Tree Style Tab looks perfect to me) vertical tabs more than anything — sure, use a browser that has them.

                                                                                                      But you seem really convinced that Firefox could “go down” because of not supporting these relatively obscure power user features well?? The “average user” they’re “chasing” is not “idealized”. The actual vast majority of people do not choose browsers based on vertical tabs and mouse gestures. 50% of Firefox users do not have a single extension installed, according to telemetry. The majority of the other 50% probably only have an ad blocker.

                                                                                                      1. 3

                                                                                                        If you’re care about “non terrible” (whatever that means — Tree Style Tab looks perfect to me) vertical tabs more than anything — sure, use a browser that has them.

                                                                                                        If you compare the current state of the art of vertical tabs extensions, even Mozilla thinks they suck – just compare them to their own Tab Center experiment: https://testpilot.firefox.com/static/images/experiments/tab-center/details/tab-center-1.1957e169.jpg

                                                                                                        Picking just one example: Having the navigation bar at a higher level of the visual hierarchy is just wrong – the tab panel isn’t owned by the navigation bar, the navigation bar belongs to a specific tab! Needless to say, all of the vertical tab extensions are forced to be wrong, because they lack the API do implement the UI correctly.

                                                                                                        This is how my browser currently looks like, for comparison: https://i.imgur.com/5dTX8Do.png

                                                                                                        But you seem really convinced that Firefox could “go down” because of not supporting these relatively obscure power user features well?? The “average user” they’re “chasing” is not “idealized”. The actual vast majority of people do not choose browsers based on vertical tabs and mouse gestures. 50% of Firefox users do not have a single extension installed, according to telemetry. The majority of the other 50% probably only have an ad blocker.

                                                                                                        You can only go so far alienating the most loyal users that use Firefox for specific purposes until the stop installing/recommending it to their less technically-inclined friends and relatives.

                                                                                                        Mozilla is so busy chasing after Chrome that it doesn’t even realize that most Chrome users will never switch. They use Chrome because “the internet” (www.google.com) told them so. As long as Mozilla can’t make Google recommend Firefox on their frontpage, this will not change.

                                                                                                        Discarding their most loyal users while trying to get people to adopt Firefox who simply aren’t interested – this is a recipe for disaster.

                                                                                                    2. 1

                                                                                                      and barely enough funding

                                                                                                      Last I checked they pulled in half a billion in revenue (2016). Do you believe this is barely enough?

                                                                                                      1. 2

                                                                                                        For hundreds of millions users?

                                                                                                        Yeah.

                                                                                                  2. 1

                                                                                                    At least with multi-row tabs in CSS you can’t dragndrop tabs. That’s about as bad as it gets.

                                                                                                  3. 2

                                                                                                    Are vertical tabs so essential?

                                                                                                    1. 3

                                                                                                      Considering the change in screen ratios over the past ten years (displays get shorter and wider), yes, it absolutely is.

                                                                                                      With vertical tabs I can get almost 30 full-width tabs on screen, with horizontal tabs I can start fishing for the right tab after about 15, as the tab width gets increasingly smaller.

                                                                                                      Additionally, vertical tabs reduce the way of travel substantially when selecting a different tab.

                                                                                                      1. 1

                                                                                                        I still miss them, didn’t cripple me, but really hurt. The other thing about Tree (not just vertical) tabs that FF used to have was that the subtree was contextual to the parent tree. So, when you opened a link in a background tab, it was opened in a new tab that was a child of your current tab. For doing like documentation hunting / research it was amazing and I still haven’t found its peer.

                                                                                                    2. 1

                                                                                                      It’s at least partially open source. They provide tarballs.

                                                                                                      1. 4

                                                                                                        https://help.vivaldi.com/article/is-vivaldi-open-source/

                                                                                                        The chromium part is legally required to be open, the rest of their code is like readable source, don’t get me wrong that’s way better than unreadable source but it’s also very wut.

                                                                                                        1. 2

                                                                                                          Very wut. It’s a weird uneasy mix.

                                                                                                          1. 2

                                                                                                            that’s way better than unreadable source but it’s also very wut.

                                                                                                            I wouldn’t be sure of that. It makes it auditable, but has legal ramifications should you want to build something like vivaldi, but free.

                                                                                                      2. 8

                                                                                                        firefox does not get better with investment, it gets worse.

                                                                                                        the real solution is to use netsurf or dillo or mothra, so that webmasters have to come to us and write websites that work with browsers that are simple enough to be independently maintained.

                                                                                                        1. 9

                                                                                                          Good luck getting more than 1‰ adoption 😉

                                                                                                          1. 5

                                                                                                            good luck achieving independence from Google by using a browser funded by Google

                                                                                                            1. 1

                                                                                                              I can achieve independence from Google without using netsurf, dillo, or mothra; to be quite honest, those will never catch on.

                                                                                                              1. 2

                                                                                                                can you achieve independence from google in a way that will catch on?

                                                                                                                1. 1

                                                                                                                  I don’t think we’ll ever get the majority of browser share back into the hands of a (relatively) sane organization like Mozilla—but we can at least get enough people to make supporting alternative browsers a priority. On the other hand, the chances that web devs will ever feel pressured to support the browsers you mentioned, is close to nil. (No pun intended.)

                                                                                                                  1. 1

                                                                                                                    what is the value of having an alternative, if that alternative is funded by google and sends data to google by default?

                                                                                                                    1. 1

                                                                                                                      what is the value of having an alternative

                                                                                                                      What would you like me to say, that Firefox’s existence is worthless? This is an absurd thing to insinuate.

                                                                                                                      funded by google

                                                                                                                      No. I’m not sure whether you’re speaking in hyperbole, misunderstood what I was saying, and/or altogether skipped reading what I wrote. But this is just not correct. If Google really had Mozilla by the balls as you suggest, they would coerce them to stop adding privacy features to their browser that, e.g., block Google Analytics on all sites.

                                                                                                                      sends data to google by default

                                                                                                                      Yes, though it seems they’ve been as careful as one could be about this. Also to be fair, if you’re browsing with DNT off, you’re likely to get tracked by Google at some point anyway. But the fact that extensions can’t block this does have me worried.

                                                                                                                      1. 1

                                                                                                                        i’m sorry if i misread something you wrote. i’m just curious what benefit you expect to gain if more people start using firefox. if everyone switched to firefox, google could simply tighten their control over mozilla (continuing the trend of the past 10 years), and they would still have control over how people access the web.

                                                                                                                        1. 1

                                                                                                                          It seems you’re using “control” in a very abstract sense, and I’m having trouble following. Maybe I’m just missing some context, but what concrete actions have Google taken over the past decade to control the whole of Mozilla?

                                                                                                                          1. 1

                                                                                                                            Google has pushed through complex standards such as HTTP/2 and new rendering behaviors, which Mozilla implements in order to not “fall behind.” They are able implement and maintain such complexity due to funding they receive from Google, including their deal to make Google the default search engine in Firefox (as I said earlier, I couldn’t find any breakdown of what % of Mozilla’s funding comes from Google).

                                                                                                                            For evidence of the influence this funding has, compare the existence of Mozilla’s Facebook Container to the non-existence of a Google Container.

                                                                                                                            1. 1

                                                                                                                              what % of Mozilla’s funding comes from Google

                                                                                                                              No word on the exact breakdown. Visit their 2017 report and scroll all the way to the bottom, and you’ll get a couple of helpful links. One of them is to a wiki page that describes exactly what each search engine gets in return for their investment.

                                                                                                                              I would also like to know the exact breakdown, but I’d expect all those companies would get a little testy if the exact amount were disclosed. And anyway, we know what the lump sum is (around half a billion), and we can assume that most of it comes from Google.

                                                                                                                              the non-existence of a Google Container

                                                                                                                              They certainly haven’t made one themselves, but there’s nothing stopping others from forking one off! And anyway, I think it’s more so fear on Mozilla’s part than any concrete warning from Google against doing so.

                                                                                                                              Perhaps this is naïveté on my part, but I really do think Google just want their search engine to be the default for Firefox. In any case, if they really wanted to exert their dominance over the browser field, they could always just… you know… stop funding Mozilla. Remember: Google is in the “web market” first & the “software market” second. Having browser dominance is just one of many means to the same end. I believe their continued funding of Mozilla attests to that.

                                                                                                                              1. 2

                                                                                                                                It doesn’t have to be a direct threat from Google to make a difference. Direct threats are a very narrow way in which power operates and there’s no reason that should be the only type of control we care about.

                                                                                                                                Yes Google’s goal of dominating the browser market is secondary to their goal of dominating the web. Then we agree that Google’s funding of Firefox is in keeping with their long-term goal of web dominance.

                                                                                                                                if they really wanted to exert their dominance over the browser field, they could always just… you know… stop funding Mozilla.

                                                                                                                                Likewise, if Firefox was a threat to their primary goal of web dominance, they could stop funding Mozilla. So doesn’t it stand to reason that using Firefox is not an effective way to resist Google’s web dominance? At least Google doesn’t think so.

                                                                                                                                1. 1

                                                                                                                                  Likewise, if Firefox was a threat to their primary goal of web dominance, they could stop funding Mozilla. So doesn’t it stand to reason that using Firefox is not an effective way to resist Google’s web dominance?

                                                                                                                                  You make some good points, but you’re ultimately using the language of a “black or white” argument here. In my view, if Google were to stop funding Mozilla they would still have other sponsors. And that’s not to mention the huge wave this would make in the press—even if most people don’t use Firefox, they’re at least aware of it. In a strange sense, Google cannot afford to stop funding Mozilla. If they do, they lose their influence over the Firefox project and get huge backlash.

                                                                                                                                  I think this is something the Mozilla organization were well aware of when they made the decision to accept search engines as a funding source. They made themselves the center of attention, something to be competed over. And in so doing, they ensured their longevity, even as Google’s influence continued to grow.

                                                                                                                                  Of course this has negative side effects, such as companies like Google having influence over them. But in this day & age, the game is no longer to be free of influence from Google; that’s Round 2. Round 1 is to achieve enough usage to exert influence on what technologies are actually adopted. In that sense, Mozilla is at the discussion table, while netsurf, dillo, and mothra (as much as I’d love to love them) are not and likely never will be.

                                                                                                            2. 3

                                                                                                              Just switch to Gopher.

                                                                                                              1. 5

                                                                                                                Just switch to Gopher

                                                                                                                I know you were joking, but I do feel like there is something to be said for the simplicity of systems like gopher. The web is so complicated nowadays that building a fully functional web browser requires software engineering on a grand scale.

                                                                                                                1. 3

                                                                                                                  yeah. i miss when the web was simpler.

                                                                                                                  1. 1

                                                                                                                    I was partially joking. I know there are new ActivityPub tools like Pleroma that support Gopher and I’ve though about adding support to generate/server gopher content for my own blog. I realize it’s still kinda a joke within the community, but you’re right about there being something simple about just having content without all the noise.

                                                                                                              2. 1

                                                                                                                Unless more than (rounded) 0% of people use it for Facebook, it won’t make a large enough blip for people to care. Also this is how IE was dominant, because so much only worked for them.

                                                                                                                1. 1

                                                                                                                  yes, it would require masses of people. and yes it won’t happen, which is why the web is lost.

                                                                                                              3. 2

                                                                                                                I’ve relatively recently switched to FF, but still use Chrome for web dev. The dev tools still seem quite more advanced and the browser is much less likely to lock up completely if I have a JS issue that’s chewing CPU.

                                                                                                                1. 2

                                                                                                                  I tried to use Firefox on my desktop. It was okay, not any better or worse than Chrome for casual browsing apart from private browsing Not Working The Way It Should relative to Chrome (certain cookies didn’t work across tabs in the same Firefox private window). I’d actually want to use Firefox if this was my entire Firefox experience.

                                                                                                                  I tried to use Firefox on my laptop. Site icons from bookmarks don’t sync for whatever reason (I looked up the ticket and it seems to be a policy problem where the perfect is the enemy of the kinda good enough), but it’s just a minor annoyance. The laptop is also pretty old and for that or whatever reason has hardware accelerated video decoding blacklisted in Firefox with no way to turn it back on (it used to work a few years ago with Firefox until it didn’t), so I can’t even play 720p YouTube videos at an acceptable framerate and noise level.

                                                                                                                  I tried to use Firefox on my Android phone. Bookmarks were completely useless with no way to organize them. I couldn’t even organize on a desktop Firefox and sync them over to the phone since they just came out in some random order with no way to sort them alphabetically. There was also something buggy with the history where clearing history didn’t quite clear history (pages didn’t show up in history, but links remained colored as visited if I opened the page again) unless I also exited the app, but I don’t remember the details exactly. At least I could use UBO.

                                                                                                                  This was all within the last month. I used to use Firefox before I used Chrome, but Chrome just works right now.

                                                                                                                  1. 6

                                                                                                                    I definitely understand that Chrome works better for many users and you gave some good examples of where firefox fails. My point was that people need to use and support firefox despite it being worse than chrome in many ways. I’m asking people to make sacrifices by taking a principled position. I also recognize most users might not do that, but certainly, tech people might!? But maybe I’m wrong here, maybe the new kids don’t care about an open internet.

                                                                                                                1. 34

                                                                                                                  This is exactly what I thought when I heard the rumour. A lot of people were keen to tell me that “Google already dominates web standard committees”, and while this is true, it is just another symptom of the same illness.

                                                                                                                  I understand that for a company, building a browser engine is expensive and might not be worth it, but Microsoft giving up the browser engine game means we only have one alternative to Blink/WebKit left, Mozilla Firefox. And while I am a loyal Firefox user, I can’t help but notice that year after year, our numbers get fewer.

                                                                                                                  The web is an open platform only because we have multiple implementations of the standards. If we move to a single engine, the standard doesn’t even matter anymore, only the implementation does.

                                                                                                                  And how long before other vendors have only a token handful of developers working on integrating Blink into their branded shells? How long before Google decides that in fact, they are altering the deal (much like they did with Android) and are moving the new parts into proprietary extensions that can only be used with Google’s approval? How long before they make it impractical to use any Blink based engine without phone home circuitry or without logging in to an account linked to their wider ecosystem? Having a single entity control both the user agent and the major services puts the user in a much weaker position to resist such pressures.

                                                                                                                  Google has already shown they are changing from the “do no evil” company they at least pretended to be a decade ago. They have also shown they will not shy away from requiring their browser for certain features of their services (for a while, you could not make calls in Hangouts without Chrome).

                                                                                                                  But regardless of whether you believe Google will betray the public interest, do we really want to put all our eggs in the same basket, no matter who owns the basket?

                                                                                                                  1. 19

                                                                                                                    The web standards are baroque, the process byzantine, and the implementations often dumb.

                                                                                                                    This is the future we deserve, given the choices we failed to contest and the horses we decided to trade.

                                                                                                                    1. 3

                                                                                                                      When Google said it’s time to kill IE6 (2010), I was still using a browser without javascript support for my daily browsing. The web was quite usable. That started to change pretty soon after, and the experience got miserable due to the number of sites that would just not work any longer. When I complained, people just told me to fuck off.

                                                                                                                      I don’t think I ever had a real chance to contest.

                                                                                                                      1. 2

                                                                                                                        Similar experiences here, and the state of noscript web is not much to celebrate. Most of my spare time is spent getting rid of as much ‘web’ (!= internet) as possible from the everyday of my life; admittedly thwarted by an increased forced dependence on e-gov here for basic infrastructure.

                                                                                                                        The current browser/javascript management setup I have settled on is basically a set of “volatile” nodes on AlpineLinux (config system fits this purpose well) that pre-boots into a ‘one-time use’ / PXE chrome instance. “spawning a tab” means remoting into one of the nodes and when the connection is severed, the node reboots. Suspicious crashes gets collected for later study.

                                                                                                                      2. 2

                                                                                                                        Google is going to forge ahead with technologies that improve their products with or without standards. The result of more stringent standards would be a browser that supports cool new features that no other browser does, resulting in a monoculture anyway.

                                                                                                                        1. 5

                                                                                                                          Time, then, to disband the w3c, since its job is apparently to describe Chrome’s features.

                                                                                                                          1. 4

                                                                                                                            To be brutally honest, the W3C has always seemed a little silly as a standards body.

                                                                                                                            They started out chasing the browsers, and they’re still chasing the browsers. There was that little period with HTML5/XForms/XHTML where it looked like they were going to create their own thing, but the browsers ignored them, so they went back to standardizing the existing behavior.

                                                                                                                      3. 12

                                                                                                                        we only have one alternative to Blink/WebKit left

                                                                                                                        It doesn’t make any sense to me to lump together Blink and WebKit like this. One may be a fork of the other, but they’re controlled by separate companies that have, at best, wary attitudes toward each other. The fact that they share code is irrelevant when we’re talking about the danger of a web-engine monoculture.

                                                                                                                        How long before Google decides that in fact, they are altering the deal (much like they did with Android) and are moving the new parts into proprietary extensions that can only be used with Google’s approval?

                                                                                                                        I agree that this is a danger, although it seems like it would be way easier to resist bad Blink changes via the “lazy dev’s fork” of simply continuing to use the older version. If worse came to worst the community could create an actual fork; the code is still a mixture of LGPL- and BSD-licensed, after all. The tricky part is that I don’t know if there is currently a “the community” of people who rely on Blink/Chromium, and it seems like it would be difficult to coalesce one absent some widely-condemned action by Google. I’m not sure what the solution to this is, although as I mentioned elsewhere in the thread, perhaps Mozilla should be looking closely at the “embedding Chromium in other things” market and coming up with a Servo-based alternative.

                                                                                                                        1. 6

                                                                                                                          “It doesn’t make any sense to me to lump together Blink and WebKit like this.”

                                                                                                                          Im with you on that. Didnt make sense. I’ll add they’re not only wary: they’re very opinionated with their own OS’s, new languages, and so on. Despite shared code, that should maintain some diversity in the engines.

                                                                                                                          1. 3

                                                                                                                            However, they still share enough code that what works in one is more likely to work the same way in the other than, say, Gecko.