1. 4

    If you are Facebook, using React makes sense. For a plain business website, React just introduce a shit ton of complexity and security issues while providing very little, if any, advantages. Why people use that crap for normal websites is beyond me.

    1. 4

      If you are Facebook, using React makes sense.

      It’s been a while since I last used Facebook (and it was mostly for the “marketplace” stuff anyway), but when I last used it about a year ago it was slow, buggy, and generally just not a very pleasant experience.

      I don’t know the causes for this, but it’s not like React is necessarily working out all that great for them.

      1. 7

        I don’t work at FB, but having worked on many large web apps using many different frameworks, React likely isn’t the bottleneck. The poor performance is likely due to how much tracking they do. Tracking adds tons of excess events, http requests, and general bloat.

        1. 2

          We were in the middle of rolling out the new website one year ago. Check it out now. The new site (no blue bar at the top) is quite a bit faster, at least compared to the old one.

          1. 1

            It is even worse now than it used to be. Frequently freezes up entirely while typing and clicking buttons often does nothing at all. If react is supposed to prevent bugs, Facebook is about the worst advertisement I could imagine.


              While your personal experience may differ I promise that performance in general is MUCH better on the new site (individual interactions, the initial page load, incremental page loads, average and median, slower machines faster machines, etc). We measure extensively.

        2. 3

          If you are Facebook, using React makes sense.

          It makes sense if you’re building web applications, basically. Not that it’s the only technology anyone should ever use, it definitely competes with a few other amazing tools I can think of, but it’s still a viable choice.

          1. 3

            React just introduce a shit ton of complexity

            That’s true, as soon as you pull in React you’ll also need a bundler, something to strip the JSX, and all the complexity that comes from managing those tools. Not to mention how React components and hooks are both their own DSL that has its own separate rules from JS.

            and security issues

            Care to elaborate? Do you mean security issues from using tons of JS libraries? You can actually use React without pulling in tens of libraries to do everything, and if you’re still concerned about bundle/code size you can also use Preact in production.

            while providing very little, if any, advantages.

            This is simply not true. Keeping UI and application state in sync starts out simple but quickly becomes tremendously complex, so having a library that takes care of that for me is invaluable. Making reusable components is also hard and clunky and React also makes that incredibly easy.

            1. 2

              I don’t consider the jsx parser or bundler, which come preconfigured for most projects via create-react-app, as complexity. If we are considering that complexity, then anything that comes with dependencies is automatically complex even if you have no need to configure anything.

              The complexity of react is really based around understanding of hooks and lifecycle. If you’re building a webapp, you need to deal with state somewhere so that’s universal. I guess you could say jsx is complex but it’s basically html instead of a bunch of function calls, which should be pretty easy to understand.

              1. 1

                I would argue that hooks made JSX more complex because now there are extra things to consider when rendering your components. I only say this because I had a coworker who was learning React get thoroughly confused by when and how they could use hooks in relation to JSX syntax. Additionally, JSX isn’t just html but an additional hidden function call. It used to be a simpler h('div', attributes, children) but it’s gotten a little more complex under the hood with what that function does now.

                I’d also be tempted to argue that JSX is a poorer version of how to structure html because it only accepts attributes and not properties, so it actually adds extra complexity around how to set properties on real dom nodes. Which in turn complicates how one uses web components within React.

          1. 1

            The quotes in the title are there for what? Emphasis? That’s not what quotes do: https://www.dailywritingtips.com/punctuation-errors-quotation-marks-for-emphasis/

            1. 1

              The quotes are there to undermine the idea that there is one real reason, as opposed to a myriad of essential, accidental, and contextual problems. Imagine me saying it with air quotes.

              In retrospect, the ambiguities in what people mean by UML and techdeath, I should have called it Why “UML” “Really” “Died”.

            1. 5

              Visual Studio 2022 will be a 64-bit application

              Woah, it still wasn’t 64-bit?! o_0

              We’re working to move Visual Studio for Mac to native macOS UI

              Hmm. VS for Mac being based on MonoDevelop, will that work end up in the open MonoDevelop repo? Would MonoDevelop on GTK receive less attention now?

              1. 8

                Woah, it still wasn’t 64-bit?! o_0

                For some background:


                As far as I know, the philosophy in VS has been to move extensions out of the devenv process for resiliency, but having done so, multiple 32 bit processes end up being more compact than a single 64 bit process. The lack of 64 bit devenv has always raised eyebrows since almost everything else is these days, although it is a legitimate question to ask why an IDE really needs 4Gb of RAM. Things like compilation are going to be done by a large number of child processes, not the IDE process.

                1. 1

                  A 32bit address space can cause problems even before your app has allocated 4gb of memory.

                  Depending on how you allocate and free memory, you might get a fragmented heap and not have room to allocate large chunks of memory anymore, well before you’ve allocated all addressable memory.

              1. 4

                A splash’s screen with a loading indicator is very 90s so in some ways I appreciate the new site.

                Here’s a thought: the person/people that made the new site are probably younger than the old site.

                1. 1

                  The mind boggles

                1. 6

                  This is insane…

                  I assume most people here that use Ubiquiti have disabled remote access to devices if they haven’t already.

                  Legal overrode the repeated requests to force rotation of all customer credentials, and to revert any device access permission changes within the relevant period

                  I’m struggling to see how this is good advice. Was it really to protect the stock value (rotating would reveal something bad happened and open it up to questions)? Even that is short sighted.

                  1. 23

                    A comment from a former employee lifted from the HN thread:

                    While I was there, the CEO loved to just fly between offices (randomly) on his private jet. You never knew where he’d pop up, and that put everybody on edge, because when he was unhappy he tended to fire people in large chunks (and shut down entire offices).

                    This seems consistent with some Glassdoor reviews; for example:

                    No one is safe here. you expendable just like the trashbag in your garbage can. owner gives unreasonable goals and when not met, he fires. upper management/cfo like money and rjp [Robert J. Pera, the CEO] clout over the product. over the consumer experience. the company morale is everyone tries to fly under RJP’s radar due to random firings. Upper Management is number people, worried about the stock more than employees and the product. Very muddy project mangement and very foggy leadership. No one really knows where the ship is sailing. Everyone is on the same ride trying to avoid a wreck at the same time avoiding RJP.

                    The company is a one-man show who completely ignores people value.

                    You are being questioned, demoralized and you even don’t believe your skills in the end.

                    No feedback, no HR, no planning.

                    • Incredibly toxic culture where most people would rather not have to deal with the CEO at all (“be invisible”) due to his behaviour and complete lack of respect towards his employees. I have witnessed or experimented a lot of what you can see in the other negative reviews on this site.

                    • This may vary from office to office, but there doesn’t seem to be a general HR department. If the CEO is being disrespectful or abusive, who can you complain to, really?

                    And a bunch more.

                    Seems like the owner/CEO is just a twat that everyone is afraid of, and for good reasons too. This kind of company culture incentives the wrong kind of decision-making; from a business, ethical, and legal perspective. It’s no surprise that whistleblower “Adam” wants to remain anonymous.

                    It’s all a classic story repeated untold times over history innit? People will go to great lengths to avoid strong negative consequences to themselves, whether that’s a child lying about things to avoid a spanking, a prisoner giving a false confession under torture, or an employee making bad decisions to avoid being fired. We only have several thousand years of experience with this so it’s all very new… Some people never learn.

                    1. 4

                      holy shit.

                      This kind of company culture incentives the wrong kind of decision-making; from a business, ethical, and legal perspective.

                      Indeed, and it makes its way right into the product too; you can tell when release feature quantity is prized over quality. This honestly explains more than I thought it could about my experience with their products so far — they feel so clearly half-baked, in a persistent, ongoing sense.

                      1. 2

                        Yeah, I had similar experiences with Ubiquiti stuff–I bought it because I liked the idea of separating routing and access point functionality, but it never stopped being flaky. After the last time throughput slowed to a crawl for no reason I got a cheap TP-Link consumer router instead and I haven’t had to think about it once.

                        1. 2

                          I never even heard of Ubiquiti until a few days ago when there was a story on HN that their management interface started displaying huge banner ads for their products – I just use standard/cheap/whatever’s available kind of hardware most of the time so I’m not really up to speed with these kind of things. Anyway, the response from that customer support agent is something else. The best possible interpretation is that it’s a non-native speaker on a particularly bad day: the wife left him yesterday, the dog died this morning, and this afternoon he stepped on a Lego brick. But much more likely is that it’s just another symptom of the horrible work environment and/or bad decision making, just like your meh experience with their products.

                      2. 1

                        I assume most people here that use Ubiquiti have disabled remote access to devices if they haven’t already.

                        Ironically, I can’t. The UniFi Protect phone apps require it, so I have to choose between security of my network and physical security of my house.

                      1. 4

                        I suggested “historical” tag. As tag description says, it is for histories, not for “historical” (as in outdated) things. ZFS is certainly not oudated but this is a history. By the way, can we rename the tag to just “history”?

                        1. 1

                          “historical” is just the adjective for things that pertain to history. It does not carry the connotations of being outdated or obsolete.

                        1. 1

                          It draws some weird similarities with the Javascript ecosystem, which also offers lots of choices and is very volatile…

                          JavaScript is not a volatile ecosystem in the sense the article is talking about (Linux as a stable platform for gaming). The only thing that’s volatile about JavaScript is the choice of tools you have when building. “JavaScript fatigue” refers to the fatigue of choice, not the fatigue of having to rewrite your code to keep it working (eg python 3). Once you build something it will work forever because JavaScript is an incredibly stable platform. JS written 20 years ago still executes perfectly in the browser. You don’t have to rewrite websites.

                          1. 38

                            I would consider changing the title to “trying to bend Windows to my vim workflow is painful.”

                            1. 2

                              This. It’s basically a (justified) rant around how bad the VSCode Vim plugin is.

                              I use it as my daily editor, and it DOES have a bunch of fairly serious warts. Compare and contrast Pycharm/IntelliJ’s superlative Vim plugin :)

                            1. 6

                              Must be nice for Bloomberg to get vindication for their widely disbelieved reporting in 2018.

                              1. 3

                                That’s what Bloomberg would like but it seems as if the number of people who called bs on the original story before but are now suggesting this new story changes anything (as opposed to adding more fuel to the bs fire) doesn’t seem to be very high.

                              1. 34

                                Disclaimer: I represent a GitHub competitor.

                                The opening characterization of GitHub detractors is disingenuous:

                                The reasons for being against GitHub hosting tend to be one or more of:

                                1. it is an evil proprietary platform
                                2. it is run by Microsoft and they are evil
                                3. GitHub is American thus evil

                                GitHub collaborated with US immigration and customs enforcement under the Trump administration, which is a highly controversial organization with severe allegations of “evil”. GitHub also recently fired a Jewish employee for characterising armed insurrectionists wearing Nazi propeganda as Nazis.

                                It’s not nice to belittle the principles of people who have valid reasons to cite ethical criticisms of GitHub. Even if you like the workflow and convenience, which is Daniel’s main justification, other platforms offer the same conveniences. As project leaders, we have a responsibility to support platforms which align with our values. There are valid ethical and philosophical complaints about GitHub, and dismissing them because of convenience and developer inertia is cowardly.

                                1. 27

                                  GitHub collaborated with US immigration and customs enforcement under the Trump administration

                                  This makes it sound worse than it actually was, ICE bought a Github Enterprise Server license through a reseller. Github then tried to compensate by donating 500.000$ to “nonprofit organizations working to support immigrant communities”.

                                  … other platforms offer the same conveniences.

                                  Maybe, but they definitely lack the networking effect that was one of main points for curl to use Github.

                                  1. 24

                                    The inconsistency is what kills me here. Allowing ICE to have an account became a heinous crime against neoliberalism, meanwhile how many tech companies openly collaborated with the US military while we killed a million innocent people in Iraq? Or what about Microsoft collaborating with our governments surveillance efforts?

                                    I’m not even engaging in what-about-ism here in the sense that you must be outraged at all the things or none. I’m suggesting that ICE outrage is ridiculous in the face of everything else the US government does.

                                    Pick less ridiculous boogeymen please.

                                    1. 20

                                      I see a lot of the same people (including myself) protesting all of these things…

                                      I feel like I should say something to make this remark longer, and less likely to be taken as hostile, but that’s really all I have to say. Vast numbers of people are consistently opposing all the things you object to. If you’re attempting to suggest that people are picking only one issue to care about and ignoring the other closely related issues, that’s simply wrong - factually, that is not what is happening. If you’re not trying to suggest that, I don’t understand the purpose of your complaint.

                                      1. 13

                                        The inconsistency is what kills me here.


                                        1. Free Software and Open Source should never discriminate against fields of endeavour!
                                        2. GitHub should discriminate against this particular organisation!


                                        1. We need decentralised systems that are resistant to centralised organisation dictating who can or can’t use the service!
                                        2. GitHub should use its centralised position to deny this service to this particular organisation!

                                        Anyway, how exactly will curl moving away from GitHub or GitHub stopping their ICE contract help the people victimized by ICE? I don’t see how it does, and the entire thing seems like a distraction to me. Fix the politics instead.

                                        1. 14

                                          Is some ideological notion of consistency supposed to weigh more heavily than harm reduction in one’s ontological calculus? Does “not discriminating against a field of endeavor” even hold inherent virtue? The “who” and “on what grounds” give the practice meaning.

                                          If I endeavor to teach computer science to under-served groups, and one discriminated against my practice due to bigotry, then that’s bad. If I endeavor to make a ton of money by providing tools and infrastructure to a power structure which seeks to violate the human rights of vulnerable populations, you would be right to “discriminate” against my endeavor.

                                          Anyway, how exactly will curl moving away from GitHub or GitHub stopping their ICE contract help the people victimized by ICE?

                                          I don’t think anyone here has suggested that if curl were to move away from github that it would have an appreciable or conclusive impact on ICE and it’s victims. The point of refusing to work for or with with ice or their enablers is mainly to raise awareness of the issue and to build public opposition to them, which is a form of direct action - “fixing the politics” as you put it. It’s easy to laugh at and dismiss people making noise online, or walking out of work, or writing a heated blog post, but as we’ve seen over the last decade, online movements are powerful forces in democratic society.

                                          1. 8

                                            Is some ideological notion of consistency supposed to weigh more heavily than harm reduction in one’s ontological calculus?

                                            If you’re first going to argue that 1) is unethical and should absolutely never be done by anyone and then the next day you argue that 2), which is in direct contradiction to 1), is unethical and should absolutely never be done by anyone then I think there’s a bit of a problem, yes.

                                            Because at this point you’re no longer having a conversation about what is or isn’t moral, and what the best actions are to combat injustices, or any of these things, instead you’re just trying to badger people in to accepting your viewpoint on a particular narrow issue.

                                            1. 3

                                              If you’re first going to argue that 1) is unethical and should absolutely never be done by anyone and then the next day you argue that 2), which is in direct contradiction to 1), is unethical and should absolutely never be done by anyone then I think there’s a bit of a problem, yes.

                                              does anyone say that though

                                          2. 12

                                            Your first two points are a good explanation of the tension between the Open Source and Ethical Source movements. I think everyone close to the issue is in agreement that, yes, discriminating against militant nationalism is a form of discrimination, just one that ought to happen.

                                            There was some open conflict last year between the Open Source Institute, and the group that became the Organization for Ethical Source. See https://ethicalsource.dev/ for some of the details.

                                            Your second two points, also, highlight a real and important concern, and you’ve stated it well. I’m personally against centralized infrastructure, including GitHub. I very much want the world to move to decentralized technical platforms in which there would be no single entity that holds the power that corporations presently do. However, while centralized power structures exist, I don’t want those structures to be neutral to injustice. To do that is to side with the oppressor.

                                            (Edit: I somehow wrote “every” instead of “everyone”. Too many editing passes, I guess. Oops.)

                                            1. 11

                                              To clarify: this wasn’t really intended as a defence of either the first or second points in contradictions, I just wanted to point out that people’s views on this are rather inconsistent, to highlight that the issue is rather more complex than some people portray it as. To be fair, most people’s worldviews are inconsistent to some degree, mine certainly are, but then again I also don’t make bold absolute statements about these sort of things and insult people who don’t fit in that.

                                              I think that both these issues are essentially unsolvable; similar to how we all want every criminal to be convicted but also want zero innocent people to be convicted unjustly. This doesn’t mean we shouldn’t try, but we should keep a level head about what we can and can’t achieve, and what the trade-offs are.

                                              I don’t want those structures to be neutral to injustice. To do that is to side with the oppressor.

                                              In Dutch we have a saying I rather like: “being a mayor in wartime”. This refers to the dilemma of mayors (and journalists, police, and so forth) during the German occupation. To stay in your position would be to collaborate with the Nazis; but to resign would mean being replaced with a Nazi sympathizer. By staying you could at least sort of try to influence things. This is a really narrow line to walk though, and discussions about who was or wasn’t “wrong” during the war continue to this day.

                                              I don’t think GitHub is necessarily “neutral to injustice”, just like the mayors during the war weren’t. I know people love to portray GitHub as this big evil company, but my impression is that GitHub is actually not all that bad; I mean, how many other CEOs would have joined youtube-dl’s IRC channel to apologize for the shitty situation they’re in? Or would have spent time securing a special contract to provide service to Iranian people? Or went out of their way to add features to rename the default branch?

                                              But there is a limit to what is reasonable; no person or company can be unneutral to all forms of injustice; it would be debilitating. You have to pick your battles; ICE is a battle people picked, and IMO it’s completely the wrong one: what good would cutting a contract with ICE do? I don’t see it, and I do see a lot of risk in alienating the government of the country you’re based in, especially considering that the Trump administration was not exactly know for its cool, level-headed, and calm responses to (perceived) sleights. Besides, in the grand scheme of injustices present in the world ICE seems small fries.

                                              And maybe all tech companies putting pressure on ICE would have made an impact in changing ICE’s practices, I don’t really think it would but let’s assume it would. But what does that mean? A bunch of undemocratic companies exerting pressure to change the policy of a democratically elected government. Yikes? Most of the time I see corporate influence on government it’s not for the better and I would rather we reduce this across the board, which would also reduce the potential “good influences”, but the bad influences vastly outnumber the good ones that this is a good trade.

                                              1. 6

                                                Yes, those are all fair and thoughtful points. I agree very much that with any system, no matter how oppressive, if one has a position of power within the system it’s important to weigh how much good one can do by staying in, against how much they can do by leaving. I rather wish I were living in times that didn’t require making such decisions in practice so frequently, but none of us get to choose when we’re born.

                                                On the strategic point you raise, I disagree: I do think the GitHub/ICE issue is a valuable one to push on, precisely because it prompts conversations like this. Tech workers might be tempted to dismiss our own role in these atrocities; I think it’s important to have that reminder. However, I very much acknowledge that it’s hard to know whether there’s some other way that might be better, and there’s plenty of room for disagreement, even among people who agree on the goals.

                                                When I was young, I was highly prone to taking absolute positions that weren’t warranted. I hope if I ever fall back into those old habits, you and others will call me out. I do think it’s really important for people who disagree to hear each other out, whenever that’s feasible, and I also think it’s important for us all to acknowledge the limits of our own arguments. So, overall, thank you for your thoughts.

                                                1. 2

                                                  I recently read a really approachable article article from Stanford Encyclopedia of Philosophy (via HN), which I found really interesting and balanced in highlighting the tensions between (in this case study) “free speech” and other values. To me it also helps to understand that those apparent “conflicts of interest” are still rather possible to balance (if not trivially) given good will; and IMO that the “extreme positions” are something of a possibly unavoidable simplifications - given that even analyzing the positions of renowned philosophers, skilled at precise expression, it’s not always completely clear where they sat.


                                                  edit: though I am totally worried when people refuse to even discuss those nuances and to explore their position in this space of values.

                                                  1. 7

                                                    Anyone with a sincere interest in educating themselves about the concept of free speech and other contentious issues will quickly learn about the nuances of the concepts. Some people will however not give a fig about these nuances and continue to argue absolutist positions on the internet, either to advance unrelated political positions or simply to wind people up.

                                                    Engaging with these people (on these issues) is generally a waste of time. It’s like wrestling with a pig - you’ll get dirty and the pig enjoys it.

                                                    1. 3

                                                      I’m not sure I agree that anyone who makes a sincere effort will learn about the nuances. The nuance is there, but whether people have the chance to learn it is largely a function of whether the social spaces they’re in give them the chance to. I’m really worried about how absolutist, reactionary positions are the bulk of discussion on social media today. I think we all have an obligation to try to steer discussions away from reductive absolutism, in every aspect of our lives.

                                                      With that said, it’s clear you’re coming from a good place and I sympathize. I only wish I felt that not engaging is clearly the right way; it would be easier.

                                                      1. 5

                                                        I’ll have to admit that my comment was colored by my jaundiced view of the online conversation at this point in time. “Free speech” has become a shibboleth among groups who loudly demand immunity from criticism, and who expect their wares to be subsidized in the Marketplace of Ideas, but who would not hesitate to restrict the speech of their enemies should they attain power.

                                                        I’m all for nuanced discussion, but some issues are just so hot button it’s functionally useless in a public forum.

                                                        1. 4

                                                          I completely understand, and that’s very fair.

                                                          I agree with your assessment but, purely for myself and not as something I’d push on others, I refuse to accept the outcome of stepping back from discussion - because that would be a win for reactionary forms of engagement, and a loss for anyone with a sincere, thought-out position, wherever they might fall on the political spectrum.

                                                          It’s fine to step back and say that for your own well being, you can’t dedicate your efforts to being part of the solution to that. You can only do what you can do, and no person or cause has a right to demand more than that. For myself, only, I haven’t given up and I’ll continue to look for solutions.

                                              2. 6

                                                There are a lot of people in the OSS community who don’t agree with your first point. You might find it contradictory, or “wrong” (And sure, I guess it wouldn’t be OSI certified if you codified it in a license). But it’s what a decent part of the community thinks.

                                                And the easy answer to your comment about helping, let’s do the contrary. ICE has policies. Selling them tools to make it easier is clearly helping them to move forward on those policies. Just like AWS was helping Parler exist by offering its infrastructure. You can have value judgements or principles regarding those decisions, but you can’t say that it doesn’t matter at all.

                                                And yeah, maybe there’s someone else who can offer the services. But maybe there are only so many Github-style services out there! And at one point it starts actually weighing on ICE’s ability to do stuff.

                                                Of course people want to fix the politics. But lacking that power, people will still try to do something. And, yeah, people are allowed to be mad that a company is doing something, even they probably shouldn’t be surprised.

                                                1. 4

                                                  And yeah, maybe there’s someone else who can offer the services. But maybe there are only so many Github-style services out there! And at one point it starts actually weighing on ICE’s ability to do stuff.

                                                  I’d expect ICE to be more than capable of self-hosting GitLab or some other free software project.

                                                  Of course people want to fix the politics. But lacking that power, people will still try to do something.

                                                  I don’t think it’s outside of people’s power to do that, but it is a lot harder, and requires more organisation and dedication. And “doing something” is not the same as “doing something useful”.

                                                  As for the rest, I already addressed most of that in my reply to Irene’s comment, so I won’t repeat that here.

                                              3. 12

                                                no disagreement with your main point, but… a crime against neoliberalism?

                                                1. 4

                                                  I think they mean against the newest wave of liberal politics in the US. Not the actual term neoliberalism which—as you clearly know—refers to something completely different, if not totally opposite.

                                                2. 10

                                                  there are active campaigns inside and outside most companies about those issues. It’s not like https://notechforice.com/ exists in a bubble. Amazon, Google, Microsoft, Palantir, Salesforce and many others have been attacked for this. Clearly the DoD created the Silicon Valley and the connections run deep since the beginning, but these campaigns are to raise awareness and build consensus against tech supporting imperialism, concentration camps and many other crimes committed by the American Government against its citizens or foreign countries. But you have to start somewhere: political change is not like compiling a program, it’s not on and off, it’s nuanced and complex. Attacking (and winning) stuff like Project Maven or ICE concentration camps is a way to show that you can achieve something, break the tip of the iceberg and use that to build bigger organizations and bigger support for bigger actions.

                                                  1. 1

                                                    Clearly the DoD created the Silicon Valley and the connections run deep since the beginning

                                                    Oh, I’d love to be red-pilled into that!

                                                3. 22

                                                  This makes it sound worse than it actually was, ICE bought a Github Enterprise Server license through a reseller.

                                                  LA Times:

                                                  In a fact sheet circulating within GitHub, employees opposing the ICE contract wrote that the GitHub sales team actively pursued the contract renewal with ICE. The Times reviewed screenshots of an internal Slack channel after the contract was renewed on Sept. 4 that appear to show sales employees celebrating a $56,000 upgrade of the contract with ICE. The message, which congratulated four employees for the sale and was accompanied by emojis of a siren, bald eagle and American flag, read “stay out of their way. $56k upgrade at DHS ICE.” Five people responded with an American flag emoji.

                                                  It was not as at arm’s length as they’d like you to believe. Several prominent organisations rejected offers of parts of the $500k donation because they didn’t want to be associated with the ICE contract. Internally the company was shredded as it became clear that GitHub under MSFT would rather be torn apart inside than listen to employees and customers and commit to stop serving ICE in the future.

                                                  There were plenty of calls to cancel the contract immediately, which might’ve been a pipedream, but even the more realistic “could we just not renew it in future” was met with silence and corporatespeak. Long-serving employees asking “well, if this isn’t too far for us, what concretely would be over the line?” in Q&A’s were labelled hostile, and most certainly not answered.

                                                  1. 16

                                                    We could debate the relative weight of these and other grievances here, but I’d rather not. My point is simply that the ethical concerns are based on reason, and Daniel’s blithe dismissal of them is inappropriate.

                                                    1. 7

                                                      Could you elaborate on the reasons?

                                                      You state that the reasons exist, and you give an example of someone you think github should reject as a customer. But you don’t talk about what those reasons are, or really go into principles, rationales or philosophy at all.

                                                      I worry that without a thought-through framework, your attitude degenerates into mindless shitstorms.

                                                      1. 4

                                                        He has not engaged with the ethical concerns you raise. That may well be because he is simply not aware of them. You are overinterpreting that as “blithe dismissal”.

                                                    2. 10

                                                      The firing of the employee has been reversed.

                                                      1. 10

                                                        Just a honest question: does this poop management actually makes them look better to you? Despite this being a reaction to public outrage that would have hurt the company? Like, do you think they that out of guilt or something like that?

                                                        1. 3

                                                          Considering the fired employee was reinstated and the head of HR resigned, this looks like a much more substantive concession than the employment status Ctrl-Z that internet outrages usually produce.

                                                          1. 3

                                                            how? isn’t the “let’s sacrifice a scapegoat without fundamentally changing anything” a quite common strategy?

                                                            1. 2

                                                              None of us know the details of this case. It’s way too easy to form a conclusion from one party, especially if they’re not bound by law from discussing sensitive HR details openly.

                                                              So while I can project a hope that this is a lasting change at GH, you are free to cynically dismiss it as window dressing. The facts, as we know them, support either view.

                                                        2. 17

                                                          Aye, and I commend them for that. But that doesn’t change the fact that “retaliated against an employee who spoke out against Nazism” is a permanent stain on their reputation which rightfully angers many people, who rightfully may wish to cease using the platform as a result. Daniel’s portrayal of their concerns as petty and base is not right.

                                                          1. 2

                                                            Not only that but the HR person who fired him was fired.

                                                            1. 4

                                                              Probably out of convenience and not actually the person who gave the order. At least, I think that’s the case more than we know.

                                                              1. 5

                                                                The person who resigned was the head of HR. It almost certainly wasn’t the person who made the call, or even their manager, it was likely their manager’s manager. That sends a pretty strong signal to the rest of HR that there will be consequences for this kind of thing in the future.

                                                                1. 1

                                                                  Damn, the head of HR!? What a turnover. Maybe that means they’re taking this more seriously than I thought at first.

                                                          2. 7

                                                            Every time someone asked me to move away from GitHub it’s been because “it’s not Free Software” and various variants of “vendor lock-in” and “it’s centralized”. I am aware there are also other arguments, but those have not been stated in the two instances people asked me to move away from GitHub. What (probably) prompted this particular Twitter thread and that doesn’t mention ICE or anything like that (also: 1 2). Most comments opposed to GitHub on HN or Lobsters don’t focus on ICE either.

                                                            That you personally care a great deal about this is all very fine, but it’s not the most commonly used argument against GitHub.

                                                            There are valid ethical and philosophical complaints about GitHub

                                                            According to your view of ethics, which many don’t share.

                                                            1. 2

                                                              I think that asking someone to change their infrastructure based solely on personal preferences is a step or two too far, be it based on ethics or ergonomics (“all the other code I use is on GitHub, yours should be too”).

                                                              It’s at the very least a bunch of work to move, and the benefit is likely small. You’ve already made a choice when deciding to put your code where it is, so why would you want to change it?

                                                              If asked, I’d recommend using something other than Github to work against the monoculture we’re already pretty deep in, but I don’t see myself actively trying to persuade others to abandon them.

                                                            2. 4

                                                              Isn’t sr.ht hosted and incorporated in the US? Or are only points (1) and (2) valid? :-D

                                                              GitHub also fought the US Gov to get the Iranian developer access to their platform, which is also helping your platform as far as I know. https://github.blog/2021-01-05-advancing-developer-freedom-github-is-fully-available-in-iran/

                                                              Any organization that is large enough will have some incidents which, when cherry-picked, can be used to paint the organization as evil. But really what happens is that they represent humanity. In terms of evil, you don’t have to look far to see much worse groups of people than GitHub.

                                                              IMO a more compelling argument would be centered around how he is an open-source developer, depending on a closed platform. Daniel’s utilitarian view is understandable but also short-thinking. He is contributing towards building this monolith just by using it.

                                                              1. 21

                                                                Or are only points (1) and (2) valid? :-D

                                                                None of the points Daniel raises are valid, because they’re strawmen, and bad-faith portrayals of actual positions.

                                                                Actual argument: “GitHub, an American company, is choosing to cooperate with ICE, an American instutition which is controversial for its ethical problems”

                                                                Bad faith re-stating: “GitHub is American thus evil”

                                                                There is nuance here, and indeed you’ve found some of it, but a nuanced argument is not what Daniel is making.

                                                              2. 6

                                                                collaborated with US immigration and customs enforcement

                                                                I think “is American and thus evil” definitely covers this.

                                                                1. 2

                                                                  Why are two [1, 2] of your most popular projects primarily hosted on github?

                                                                  1. https://github.com/swaywm/sway

                                                                  2. https://github.com/swaywm/wlroots

                                                                  1. 19

                                                                    I have been gradually moving off of GitHub, but not all at once. A few months ago I finished migrating all of the projects under my user namespace (github.com/ddevault) to SourceHut. Last week I also announced to my GitHub Sponsors supporters that I intend to leave the program, which is almost certain to cause me to lose money when many of them choose not to move to my personal donation platform (which has higher payment processing fees than GitHub does, so even if they all moved I would still lose money). If you intend to imply that I am a hypocrite for still using GitHub, I don’t think that holds very much weight.

                                                                    Regarding those two projects in particular, some discussion was held about moving to gitlab.freedesktop.org last year, but it was postponed until the CI can be updated accordingly. In any case, I am no longer the maintainer of either project, and at best only an occasional contributor, so it’s not really my place nor my responsibility to move the projects elsewhere. I think that they should move, and perhaps a renewed call for doing so should be made, but it’s ultimately not my call anymore.

                                                                    1. 10

                                                                      If you intend to imply that I am a hypocrite for still using GitHub, I don’t think that holds very much weight.

                                                                      Nope, I was just genuinely curious since I don’t follow you that closely, and hadn’t heard any explanation or reasoning why those repos are still on github when I have heard you explain your position regarding github multiple times. So it seemed odd, so I asked.

                                                                      In any case, thanks for explaining! I hope those projects are moved off too (@emersion !)

                                                                      1. 6

                                                                        Cool, makes sense. Thanks for clarifying.

                                                                      2. 2

                                                                        I love that you represent another point of view here. I firmly believe that free software needs free tools. We don’t want history to repeat. And Yes, there will be some sacrifice for the switch.

                                                                        Watching your actions closely for months, You represent how a free software leader should be.

                                                                    1. 2

                                                                      I bought this based on the initial reviews but the shipping units are having a lot of trouble getting a good picture. They’re very sensitive to having perfect lighting and the software is pretty buggy (and basically useless on macOS, where the lack of pan/tilt/zoom and the high field of view make it less suited to video conferencing than all the cheaper options).

                                                                      In short, I wouldn’t recommend it.

                                                                    1. 5

                                                                      Articles like this always make wonder what the zfs user base ratio is of home users to business users. Running raidz2 at home to eek out more storage efficiency is surely always the right thing to do when number of disks is >=6.

                                                                      1. 1

                                                                        I’m using RAID-Z1 at home with three disks in a NAS. With 4 disks, I’d have 1/3 more cost and only marginally better fault tolerance (both handle a single disk failure, mirroring handles two disks failing if they’re in different VDEVs but not if they’re in different ones). I mostly use the NAS over WiFi, so the performance doesn’t matter that much and it’s not sufficiently critical that spending a day or two restoring it from backups would be more than a minor annoyance.

                                                                        If I had performance constraints that affected some business outcome, I’d probably do it differently but at that point I’d probably be thinking about HAST and iSCSI as well as ZFS.

                                                                        1. 1

                                                                          I run multiple mirror vdevs at home, as my plan was to move my image library from my current setup to my NAS. I just wanted some more IOPS hence going with mirror vdevs.

                                                                        1. 8

                                                                          I read the entire article, and it never answered the question asked after the first paragraph:

                                                                          But why would someone do this?

                                                                          I realize there aren’t answers for many things in life, but if I had someone so determined attacking my company, I’d want to track them down and try to figure out what their motivation is. And now I’m curious. Why ask the question if you’re not going to even attempt to answer it?

                                                                          1. 22

                                                                            Sixteen years ago I was the target of an attack. Four days after posting that, I got an explanation from the attacker, which I was not expecting. For the attacker, it was just business as usual, as they were hired (most likely by a crime organization due to the nature of the sites that were attacked that I was hired to maintain).

                                                                            At first, I thought the attack described here might have something to do with the US elections, given the initial date, but elections were on the 3rd, not the 5th. But like my case, it’s probably just business as usual, either by some unethical competition, or a criminal organization for reasons related to their industry.

                                                                            1. 5

                                                                              This guy has been blogging since 1999. 👍

                                                                              1. 1

                                                                                That year, I got my first computer! LOL, I mean okay… I got introduced to computers at age 17, but still…

                                                                                UPDATE: This is pure Gold! Check this out:

                                                                                Since the server was Mark’s he felt it best for everybody on the server to move their sites elsewhere and take the server down (I now suspect it’ll never go back up).

                                                                                You got to love this old pet approach to server management.

                                                                          1. 6

                                                                            While being unable to manage a mailing list for a company whose entire purpose is infra is very confidence shaking, failing to take you off their mailing list is a pretty low-severity data violation. You can easily block Cloudflare emails and the email address itself may not be associated to any user-identifiable information beyond the email address itself.

                                                                            1. 10

                                                                              It might be low-severity, but it is a violation.

                                                                              But I think that the point of the article is that they’re breaching data protection laws. They said “we’re protecting your data”. Then they say “we don’t know where your data lives”. That’s not confidence-inspiring, especially considering that half the internet goes through Cloudflare and they have the data from all of us.

                                                                              1. 5

                                                                                No, this is not about the principle or low-severity. The whole thing was meant to prod organizations to create proper practices and concepts how to continue going forward with (customer) data (and when to delete). This was tedious and not fun, but we did it, in order to comply with the law and because it’s the right thing to to. Apparently Cloudflare simply doesn’t care.

                                                                                1. 1

                                                                                  Cloudflare is large enough to not be subject to that “right thing to do” moral calculus. Organizations of that scale can be very creative at justifying their behavior, but the behavior itself reliably responds only to (dis)incentives.

                                                                                  They will continue to not care until it is demonstrated to them, very conclusively, that non-compliance is more expensive than compliance.

                                                                                  1. 1

                                                                                    You’re stating the obvious and I agree with you. I was simply trying to convey to the parent poster why it’s worth making a fuss and it’s not just fine glossing over it. They certainly don’t need unaffiliated people downplaying it.

                                                                              1. 2

                                                                                Confused, people have been doing this with samba, sshfs, etc for 20 years. How is any of this specific to visual studio code?

                                                                                1. 13

                                                                                  This brings very different (and significantly richer IME) integration than you get with just a network shared filesystem containing code. Especially when your client and server differ significantly and you want things like intellisense, refactoring support, integrated interactive debugging, etc.

                                                                                  Visual Studio Code is running a headless copy of itself, with extensions specific to the server environment, on the server, and using your local client to display it and handle the interaction. If anything, it’s more similar to forwarding an Xemacs window across the network, but the display and interaction feels much more local than that ever has for me.

                                                                                  I don’t use visual studio code that much for software development, but the times I have, it’s been a scenario similar to what @freddyb mentioned. I think there might be some emacs setups that approximate this, but just using remote files over sshfs or smb is not all that similar.

                                                                                  1. 3

                                                                                    Yes. Vscode is running the file handling stuff all on that remote box. sshfs latency is unbearable for larger projects.

                                                                                  2. 6

                                                                                    I’ve toyed with remote workflows for years and VS Code Remote w/ SSH nails it in a way that nothing else before has. It’s super slick and feels like you’re developing locally.

                                                                                    1. 1

                                                                                      What exactly doesn’t feel the se way if you mount a remote file system locally? I never noticed any difference whatsoever comparing to editing local files.

                                                                                      1. 3

                                                                                        With things like LSP you don’t want the files transiting on the wire. A good solution might be to also run LSP servers remotely, which i did for weird reasons recently and should blog about.

                                                                                        1. 2

                                                                                          Good question! Mounting a remote file system locally only gives you remote files and does not give you a remote dev environment. For example, it doesn’t give you shared extensions. When I remote ssh in VS Code I’m always using the same extensions installed on the server (although I can control that and install extensions locally if I want to for some reason). So in your setup every machine that mounts the remote file system needs to replicate the development environment. In my setup every machine that connects is already the same dev environment.

                                                                                    1. 2

                                                                                      Check out all the great small apps like Little Snitch, Magnet, Flycut, Little Ipsum, etc. People have good lists online. Then mentally prepare yourself for your keyboard to break.

                                                                                      1. 1

                                                                                        The 2020 MBP should have the old, pre-butterfly keyboard switches again, which were very reliable for me back when I used them. Luckily the days of “prepare yourself for your keyboard to break” should be over!

                                                                                        1. 1

                                                                                          Good news

                                                                                          1. 1

                                                                                            I’ve got a 2019, and they really did fix the keyboards. Feels much better than my pre-butterfly Mac as well. I’d call it a new generation rather than reviving the old gen.

                                                                                        1. 18

                                                                                          Nice setup.

                                                                                          1. I really advice against the side by side monitors. There problem is, your going to have your main app open in one monitor at a time so your going to be turning your neck for hours at a time. Suggest either stacking it going with a single large monitor. I got a Dell 43” 4k monitor for $700 ish. I previously had a single 32” ultra wide, which as the author mentioned is too short. Then a friend sold me his and I stacked them. That was ok but made me standing desk hard to use in standing mode.

                                                                                          I like the single monitors with a window management app. I’d love this setup now if I could get it in a curved version and a higher resolution for sharper text, but otherwise it’s amazing.

                                                                                          1. I’m always amazed that people are so hesitant to spend money on their work tools. They are tax-deductible but more importantly, they are in investment in your long term health and happiness. It’s one of the biggest advantages of working from home. Your don’t have to use the cheap crap your employer provides.

                                                                                          It’s doubly amazing because many in this situation are making $100k (possibly multiples of that). Also do many people have some crazy expensive bike,car,boat,guitars, home theater, etc that’s only used a few hours a week.

                                                                                          I know it’s tempting to cheap out, but 30,40,50 year old you will thank you.

                                                                                          That’s my PSA if the day.

                                                                                          1. 3

                                                                                            Shouldn’t have read this. The night just got expensive.

                                                                                            1. 3

                                                                                              turning your neck for hours at a time. Suggest either stacking it going with a single large monitor.

                                                                                              So you should be looking up for hours at a time?

                                                                                              1. 1

                                                                                                The distance between the center of two widescreen monitors is much smaller when stacked than when side-by-side. And of course that’s not true of landscape or square monitors. Not ALL stacked monitors are ergonomically arranged but you can reduce neck movement by stacking.

                                                                                                1. 4

                                                                                                  I don’t know if it’s just about distance. I find the vertical angle matters much more than the horizontal angle. For example, I find laptops difficult to use for long periods because my neck gets sore looking down all the time, instead of looking straight ahead. However, I don’t have any problems with horizontal monitors.

                                                                                              2. 1

                                                                                                That’s a good point about the dual monitors. I’m considering having one facing flat forward, and another angled off to the side. I’d probably have to sit off to one side of my desk but that’s not too concerning.

                                                                                                I get your point about spending money on work tools, which might fall in the same category as what people say about beds & shoes. I do worry this attitude if adopted too enthusiastically can dull judgement about whether a given tool is really necessary - for example a gas-spring monitor stand instead of a basic one or an Ergodox instead of Goldtouch keyboard (although I admit being tempted by the Kinesis Advantage2 from seeing all the people who swear by it). With the way our society is set up it is often very difficult to determine (even within our own heads) whether something expensive is a reasonable purchase that supports good craftsmanship, or just a flex.

                                                                                                1. 6

                                                                                                  Consider rotating one of the screens. I sit straight down the middle for the landscape screen, then have the portrait screen to my right.

                                                                                                  I’m pretty sensitive to shitty ergonomic setups, and this causes me no problems at all.

                                                                                                  1. 2

                                                                                                    This is my setup too. Looks dorky, works great.

                                                                                                    1. 2

                                                                                                      I do this too. The only problem is that 16:9 screens reeally don’t like being in portrait. I have a 24” 16:9 screen to the left of the primary screen used mostly for web browsing, and it’s really common for websites to grow a combination of horizontal scroll bars and buttons with text extending outside of their bounds.

                                                                                                      1. 1

                                                                                                        Hah, yeah I got the last 16:10 that dell sold a few years ago and just picked up a partner for it, and having them side-by-side vertically is great, but I would be loathe to throw away 10% of that space.

                                                                                                      2. 1

                                                                                                        That’s a neat idea, I think I’ll try that!

                                                                                                      3. 2

                                                                                                        All decisions come with error bars. Fall on one side, you have a flex; fall on the other, you are performing worse at work than you could be.

                                                                                                        I know which side I’m happier to land on.

                                                                                                        1. 2

                                                                                                          The main point is this: every single person I’ve had a discussion on buying quality tools for work and had an objection to spending money also had some expensive hobby they were willing to splurge on. (I’m sure not everyone is like this, just seemed the people with the strongest objection had other money sinks). Is just a matter of logical consistently. They might have $25k of bike equipment in the garage but get upity about spending $500 on good equipment. That’s why this is one of my hot button issues. A course of physical therapy is going to cost more than decent equipment.

                                                                                                          My old equipment always finds it way to friends and family and tends to get years of useful life beyond me.

                                                                                                          1. 2

                                                                                                            There’s nothing logically inconsistent about spending money in some places and saving it in others. “I spent a bunch of money on thing X, so I should also spend a lot of money on thing Y” sounds more like sales tactic psychology than logical reasoning. You can easily get good enough ergonomic equipment to keep the PT away without spending much money. A $20 used Microsoft Natural Ergonomic 4000 keyboard, a $25 Anker vertical mouse… even monitor stands can be replaced with a stack of old technical manuals. A good chair is really the only thing I’d say you need, and you can get a good-enough used Costco model for like $60.

                                                                                                            1. 1

                                                                                                              a stack of old technical manuals

                                                                                                              To be fair, these are harder and harder to find. Same goes for phone books…

                                                                                                              1. 1

                                                                                                                It is if a) this is the way you make your living and b) you are oddly cheap in this area but spend big money on things you use way less. That’s the point in trying to make and I still find the behavior quite baffling.

                                                                                                                Invest in yourself and your health.

                                                                                                                I’m not trying to sell you a standing desk.

                                                                                                            2. 1

                                                                                                              That’s a good point about the dual monitors. I’m considering having one facing flat forward, and another angled off to the side. I’d probably have to sit off to one side of my desk but that’s not too concerning.

                                                                                                              At work with a two monitors set-up, I tended to have my main one in front of me flat and the other angled on the left. Not being in the centre of the desk allowed me to have a notebook and pen on the left of the mouse that I can reach for quick notes and having a space not in front of the main screen for thinking with reasonable space to use the notebook.

                                                                                                            3. 1

                                                                                                              Could not agree more with this! Many of my colleagues think I’m crazy for sticking to one monitor but I find it not only saves my kneck but also helps keep focus.

                                                                                                            1. 5

                                                                                                              I am currently thinking of investing in an ultra wide monitor for my work from home office: a completely different direction than what is described in this article. I basically want more space at the expense of the pixel density.

                                                                                                              As I am getting older, I enjoy a lot more a clean layout and clean desk. It is most certainly subjective but minimalism brings me joy.

                                                                                                              As such, I am excited by the new LG lineup; their 34” and 38” are now good compromises for gamers and software developers. I happen to be both!

                                                                                                              1. 6

                                                                                                                I’ve been using a 34” ultra-wide display with 3440x1440 pixels for… (checks) my goodness! Almost 5 years now. I’ve tried various multi-monitor setups but using this one display seems to be the sweet spot for most of what I do. The 38” 3840x1600 displays seem to have a similar pixel size (110 dpi vs 109?) so would probably be even better, though they weren’t as readily available at the time I bought this one. I believe these days you can even get 5120x1440 monsters?

                                                                                                                For testing purposes, I’ve also got an LG 27” UHD 4K display. (~163 dpi) I can’t get on with this as a primary display with macOS. At native retina resolution (“looks like 1920x1080”) everything seems huge and I’m constantly fighting with the lack of screen real estate. And as the article says, at native 1:1 resolution, everything is too tiny, and the scaled modes are blurry. So I’m going to dissent on the advice of going for a 27” 4k. The ultra-wide 5120x2160 displays have the same pixel pixel size so I’d imagine I’d have similar problems with those, though the bit of extra real estate probably would help.

                                                                                                                Don’t get me wrong, I like high resolutions. But I think for this to work with raster based UI toolkits such as Apple’s, you basically have to go for around 200 dpi or higher. And there’s very little available on the market in that area right now:

                                                                                                                I can find a few 24” 4K displays which come in at around 185dpi. That wouldn’t solve the real estate issue, but perhaps a multi-monitor setup would work. But then you’ve got to deal with the bezel gap etc. again, and each display only showing 1080pt in the narrow dimension still seems like it might be a bit tight even when you can move windows to the other display.

                                                                                                                Above 200dpi, there are:

                                                                                                                • The LG Ultrafine 5K. Famously beset with problems, plus only works at 5K with Thunderbolt 3 inputs, and can’t switch inputs.
                                                                                                                • Dell UltraSharp UP3218K. This is an 8K (!) display at 31.5”. So it actually comes in at around 280dpi, plus of course it costs over 3 grand. I mean I’d be happy to give it a try… (I suspect I’d have to use an eGPU to drive it from my Mac Mini though - what the article’s author fails to realise is that DisplayPort 1.4 support depends primarily on the GPU, not port type, and to date I believe Intel GPUs only go up to DP 1.2.)
                                                                                                                • ASUS ProArt PQ22UC. Only 4K, but higher pixel density as the panel is only 21.6”. 4 grand though! I’m guessing this has awesome colour reproduction, but that’s wasted on me, so if I was to experiment with 4K displays, I’d go for the 24” ones which cost an order of magnitude less.
                                                                                                                • Apple’s Pro Display XDR. At 6K and 216dpi, I’m sure this one is lovely, but I don’t think it’s worth the price tag to me, particularly as it once again can’t seem to switch between inputs.

                                                                                                                That seems to be it? I unfortunately didn’t seize the opportunity a few years ago when Dell, HP, and Iiyama offered 5K 27” displays.

                                                                                                                Now, perhaps 27” 4K displays work better in other windowing systems. I’ve briefly tried mine in Windows 10 and wasn’t super impressed. (I really only use that OS for games though) It didn’t look great in KDE a few years ago, but to be fair I didn’t attempt any fine tweaking of toolkit settings. So for now I’m sticking with ~110dpi; I’ve got a 27” 2560x1440 display for gaming, the aforementioned 3440x1440 for work, and the 4K 27” for testing and occasional photo editing.

                                                                                                                I’m sure 27” at 4K is also great for people with slightly poorer vision than mine. Offloading my 27” 4K onto my dad when he next upgrades his computer would give me a good excuse to replace it with something that suits me better. Maybe my next side project actually starts making some money and I can give that 8K monitor a try and report back.

                                                                                                                Another thing to be careful with: high-speed displays aren’t necessarily good. At the advertised 144Hz, my Samsung HDR gaming display shows terrible ghosting. At 100Hz it’s OK, though I would still not recommend this specific display.

                                                                                                                (Now, don’t get me started on display OSDs; as far as I can tell, they’re all awful. If I were more of a hardware hacker I’d probably try to hack my displays’ firmware to fix their universally horrible OSD UX. Of course Apple cops out of this by not having important features like input switching in their displays and letting users control only brightness, which can be done from the OS via DDC.)

                                                                                                                1. 1

                                                                                                                  I switched from a single LG 27” 4k monitor to two LG 24” 4k monitors for around $300/each. I’m happy with the change. Looking forward to the introduction of a 4k ultrawide to eliminate the bezel gap in the middle; currently all such ultrawides are 1440p.

                                                                                                                2. 1

                                                                                                                  The 34WK95U-W is a high-DPI ultrawide with good color reproduction. It has temporary burn-in problems but I’ve been using two (stacked) for a year and overall I’m happy with them.

                                                                                                                  They aren’t high refresh though (60hz).

                                                                                                                1. 5

                                                                                                                  The best general advice I can give is just this: make sure performance is part of the foundation of your app.

                                                                                                                  The line between this and premature optimization isn’t clearly defined. Perhaps this isn’t in the scope of the article, but in general, I’ve noticed that many developers tend to fall into one of two camps: “pervasive optimization is necessary for performance”, and “premature optimization is the root of all evil”. Those in the former camp don’t often explain how they avoid premature optimization or spending time optimizing things that end up having a tiny impact on the performance of the system due to Amdahl’s Law.

                                                                                                                  I suspect that only some architectural decisions made in NetNewsWire (and most applications) actually are significant with respect to app performance, and that the rest are incidental or so low-impact as to be irrelevant. I also suspect that determining which of those architectural decisions are important before you make them is an extremely difficult, if not intractable problem.

                                                                                                                  1. 10

                                                                                                                    The difference between premature optimization and pervasive optimization is domain knowledge. I’m working on a team finishing up a from-scratch rewrite of a very big website. Performance was a founding principle of the project and we nailed it. To a person who doesn’t understand the systems we are dealing with inside-out, the constraints of our specific project, what our user base looks like, exactly why our existing website had hit a local maxima in performance, why prior attempts at rewrites had failed the performance metric, etc it might seem like we were making all the wrong decisions to improve performance (e.g. moving from server rendering to client-side JS rendering). That person would be worried about a set of things they perceive to be important but in reality aren’t, because they have no way of knowing what is important. Premature optimization is just optimizing before you know what is important and getting that wrong. Pervasive optimization from the start requires knowing exactly what is important.

                                                                                                                    The takeaway is that given a sufficiently complex project you can’t choose to worry about optimization up front and NOT prematurely optimize the wrong things. It’s not a philosophical stance you can take. You have to start by trying to optimize things and fucking everything up over and over again until you become an expert at knowing what is actually important, and then you can do it right the next time you tackle the same problem.