1. 3

    Some facts that remove all the sensationalism:

    • This person was an IT contractor,. not an employee
    • They weren’t “fired” per se; their contract simply wasn’t renewed due to a silly oversight and bad processes
    • The “machine” had nothing to do with the termination, except for implementing some apparently-naive ticket scripting to revoke access

    None of this is shocking to me EXCEPT it’s unconscionable his staffing company (and “recruiter” as he refers to them) didn’t call to say plainly “your contract was sadly not renewed, do not go to work as of date X until a new contract may or may not be signed”. The fact his staffing company and host manager either didn’t know or didn’t tell him, and allowed him into the building to do work after the contract was up, are very problematic and could be legally actionable.

    1. 1

      This reads like a proper sci-fi short story and I suspect that a LOT of it was highly embellished. It makes sense to me that his direct managers would be confused as to what was going on, but it does not make any sense that it took them three weeks to figure it out. “The thing that I’m responsible for is on fire and my contractor can’t access anything” is a managerial complaint that should make its way up to the fucking CEO in a matter of hours if all anyone else wants to do is point fingers. So either important details were omitted to make it a better story or this big business is exceptionally bad at being a business.

      1. 3

        I think you have too much faith in the efficiency of business. There are many reasons people might choose not to escalate, for example - even if it doesn’t help the business. Most managers are in the business of protecting their little patch and their own career prospects, nothing else. Unfortunately, I found the story quite plausible (although it could be exaggerated as you say).

        1. 1

          You’re probably right. I’ve had only 10 months experience in a truly bureaucratic business myself (not counting the military which is actually suprisingly efficient, just slow) and that wasn’t even a big company. I do find it plausible, just the details far-fetched.

    1. 5

      I must be the only person ever who would want the reverse: C for C++ users. I honestly find C a lot weirder than C++.

      Due to a curious historical accident, in 1998 the AP Board (a US high school educational thing) decided to use C++ for a single year to teach AP Computer Science. Normally they go with Pascal, Java and I think right now it’s Python. But for one glorious year, they decided to go with C++. So that was my first “real” programming language, i.e. the first I learned in a classroom setting. This means I really did learn C++ without knowing C.

      This makes me a feel a bit different from nearly everyone else who considers C to be the foundation and is baffled by C++.

      1. 5

        Really to get to C from C++ you mostly just have to remove features. I’m curious what specific confusions you’ve run into that such a guide could cover?

        1. 1

          I don’t understand memcpy, malloc, free, strcpy, strncpy.These are not functions you use in C++. Why do I have to do struct foo x; if foo is a struct type instead of just doing foo x;?.The general syntax for structs is really weird in C. You have to typedef, you can’t just declare new structs? And I can’t declare looping variables, I have to instead declare it outside the loop. Ah, and no single-line coments, // is not a valid comment starter. What’s with all the pointers? We don’t use nearly that many pointers in C++. Arrays are confusing as shit. I always forget when do arrays become pointers and when do they not. Why is there no actual array type?

          I think newer versions of C have made some of these things more like C++, but you still run into a lot of C that has to be written in an older way. C is just very foreign if you use C++.

          1. [Comment removed by author]

            1. 1

              I think I already understand most of these things, but what I was trying to convey was that C is foreign, not so much looking for an explanation.

              It is entirely possible to know C++ and find C to be weird and foreign.

            2. 1

              I’ll try to summarize these.

              memcpy, malloc, free, strcpy – the best source for these is their manpages, which are generally well-written

              You do not use typedef to define structs in C (though some people confusingly choose to add a typedef as well). The name of the type is struct foo so that’s why you say struct foo x to declare variable.

              The reason C89 doesn’t allow variable declaration in for loop is for consistency (new things can only be added to the stack after an open brace) – there was no one “right way” semantic for the special case – however C99 dispensed with this so it’s the same as C++ now.

              Single line comments weren’t in C89 probably because no one thought having two comment syntaxes would be easier than just having one. C99 added the second one if you prefer it.

              All the C++ I’ve ever seen is still full of pointers – do you routinely pass full object instances on the stack? Anytime you say new in C++ you have created a pointer.

              Arrays in C are always “converted” to pointers when used in a value context. Declared arrays have their own semantics for sizeof, etc (since they are of “array type”). In arguments, int x[] is just sugar for int *x

              Hopefully those are helpful.

              1. 1

                Arrays are confusing as shit. I always forget when do arrays become pointers and when do they not. Why is there no actual array type?

                http://www.torek.net/torek/c/pa.html

                1. 1

                  That still confuses me. I always need to refer to this document which I always forget.

                  http://c-faq.com/aryptr/index.html

                  Btw, I wasn’t looking for an explanation. I was trying to impress upon you how weird and foreign C is for a C++ person. I can look up these explanations, but C will always be weird and foreign to me because I was raised on C++.

            3. 2

              I went from Pascal straight to C++. My parents happened to buy me Stroustrup’s C++ book. I only had to learn to read C later as I started encountering C libraries.

            1. 16

              Well, there goes the neighbourhood.

              Bitbucket are good. - Free private repos make these people super compelling.

              GitLab are good too. - Explorer interface makes this more of a public destination too, like GitHub.

              We do not forget the Halloween documents, nor the phrase embrace, extend, extinguish.

              1. 7

                Bitbucket being closed source and super expensive to self-host I’d prefer gitlab tbh…

                1. 2

                  There are a lot of options actually, if you’re after paid, private repos.

                  I’m sure I’ve missed a lot too - those are the ones I remember working with or reviewing for clients in the last couple of years.

                  1. 1

                    I used Assembla for a number of years until 2017. The UI was somewhat clunky but I had no other issues so it’s a workable option. It also offered free private Git repos, although I’m not sure it still does.

                1. 11

                  I’m experimenting with something new for my new startup. I’m calling it “fractional” remote: Everybody is encouraged to work from home Wednesday through Friday. Open to better names for this too.

                  So far, we’re all really enjoying the balance.

                  • You get to connect with everybody Monday/Tuesday.
                  • All meetings are scheduled for those two in office days, which is more than flexible enough to enable that kind of collaboration, which is often necessary.
                  • You get a solid three days of productive time to do independent work.
                  • Remote workers aren’t considered second-class, since everybody is a “remote” worker.
                  • Fewer days commuting means that my hiring pool is a bit larger, as people can stomach a longer commute for two days rather than five.
                  • You don’t miss out on important discussions because nobody is in the office when you aren’t.
                  • All important communications are likely to recorded electronically, since remote communication days dominate the calendar.

                  BTW, if you’re in (or near!) Seattle. I’m hiring :) Contact details in profile.

                  1. 2

                    Oh the irony - a seemingly remote-friendly approach, looking for people in a single city in a single country.

                    I do hope your experiment works out though, so good luck!

                    1. 2

                      It should at least make the catchment a bit wider, though. There are some people who won’t commute to X every day, or most days, but who would do one or two days. I’ve worked with someone like that, who had a very long commute, and it was fine (though it for me it really underscored the question “so why do the rest of us have to be in here every day?”)

                      1. 1

                        Yeah, the Seattle-area commutes are amongst the worst I’ve ever seen, so weirdly this actually sounds like a god thing.

                        I love living in a city with proper transport though.

                      2. 2

                        Right now, we’re pretty small. As the company grows, my intention is to also grow the geographical area we hire from.

                        I still believe that face-to-face time is critically valuable. Having myself been a remote worker on distributed teams, I’ve seen first hand how it requires the right kind of people, culture, and experience to make it work effectively. There is a real human cost to not having regular face-to-face interactions. The baseline is remote-friendly practices, which I think we’re on track for. As the team grows, work becomes more clearly defined, and individuals become more specialized, the communication overhead of remote-work are reduced.

                        If were didn’t do this, we could only really hire from Seattle proper. Maybe some folks who don’t mind a long commute too. But, with this policy, all of a sudden everybody on the east side of Lake Washington may be more willing to take a chance on such a job. An hour+ commute daily across the bridge is hellish, but doing it only twice per week, and probably only commuting around 10am and 3pm or so, and suddenly it’s not that bad. Same goes for cities neighboring to the north and south.

                        The next step would be hiring from Portland, Oregon or Vancouver, Canada. Commute a bunch for your first few weeks, we’ll put you up in a hotel, and then reduce your commute schedule to monthly, and then eventually only commute for a week each quarter, or something like that. Once we can afford it, this option can be opened up to people who need to commute by plane too. Eventually, the “100%” remote is likely, but even then, I’d want to make sure people interact face-to-face at least several times per year.

                      3. 2

                        that kind of collaboration, which is often necessary

                        Can you write more about why in-person collaboration is often necessary? I’m a fan of the remote-only option, but I’d like to understand other perspectives.

                        1. 3

                          Two reasons:

                          1. Face-to-face communication has higher information bandwidth than any other form of communication.

                          My new business involves the marriage of legal and engineering expertise. On more than one occasion in the short lifespan of this organization, a week-long engineering confusion was resolved by physically looking over the shoulder of the paralegal assembling a binder of paperwork. In past remote work, I’ve experienced escalation from email, to IM, to phone call, to video conference, and at least once to “fuck it, I’m getting on a plane and coming over there”. In my opinion, an escalation process like that should be more common rather than less. If you want to be competitive, you shouldn’t completely eliminate your highest-bandwidth communication channel. Besides, there’s still no better collaboration tool than shared physical writing surfaces.

                          1. Face-to-face communication enables bonding that soothes tensions and smooths work.

                          I’ve worked on several split-office, but non-remote teams. The narrative at each was “everybody in $other_city is an idiot”, but at the end of a week long visit, “oh they’re not so bad”. I have lots of regular internet acquaintances. The only ones who have become “friends” are those I’ve run in to physically at conferences over and over again. I’ve contracted work remotely to people with or without having worked with them locally before. A month of working together locally builds the same trust as a year’s worth of remote work. As far as I can tell, these are not unique experiences.

                          1. 2

                            Thanks for sharing your perspective. Now, here’s more on mine.

                            For me, the advantages of remote-only work all come down to maximizing inclusion.

                            1. Face-to-face communication, video conferencing, and (to a lesser extent) audio convey a lot of irrelevant information that could be a distraction and even trigger unconscious biases: the person’s appearance, clothing, accent, etc. In text, a person is just their name (or possibly a pseudonym) and their words.

                            2. A remote-only team, particularly using primarily text, is more inclusive of people with disabilities – blind, deaf, mobility impaired, speech impediments, etc.

                            I’ll grant, though, that the ideal remote-only, text-only environment that I’m advocating here would probably feel very constrained for most people.

                            Also, I’ve only experienced the remote-only option in the context of a company where most of the staff were blind (or at least visually impaired like me). So maybe it only worked for us because we were used to doing without the high-bandwidth channel of vision in the first place. And even we relied heavily on voice communication. Sometime I want to try doing a team project from start to finish with nothing more than text.

                            1. 2

                              I ran a remote team for a couple of years and I have to agree with @brandonbloom. As much as I prefer text communication, it just didn’t work all that well. We used Slack, email and video calls. We regularly failed to resolve things via Slack and email, whether regarding requirements or development problems. It is very hard to explain things clearly without writing a wall of text, and nobody wants to write a wall of text (or has the time to do it). Video calls and screen sharing allowed us to have a much more productive dialog.

                              Contrariwise, I didn’t feel a particular need to escalate further and meet in person. For me, it was enough to spend a bit of time in person to get acquainted in the beginning, and after that video calls were enough both to carry the relationship forward and to resolve any issues.

                        2. 1

                          I’ve thought about giving this a try, it’s cool to know someone is already doing it! A couple of questions: does this happen only to your team or is it for the whole company? What happens when someone can’t come on a be-in-office-day?

                          1. 2

                            We’re a small startup still, so it’s the whole company.

                            If you can’t come in the office for whatever reason, it’s no different than other flexible schedule companies where you’d either take time off, or just WFH that day to get your big delivery, or rearrange hours to deal with a personal matter, or whatever. The key difference is that a large portion of the non-productivity reasons to WFH are schedule-able, so you can just plan to have your couch or whatever delivered on a Thursday. But “life happens”, so if something unplanned comes up, that’s perfectly OK. Since electronic communication is the norm W-F, you hopefully won’t have missed too much.

                          2. 1

                            i’ve wished i was in this situation for a while now after experiencing both “remote only” and “no remote”.

                            Remote is great when working alone. When hunkering down and actually coding, working remote is great. Brain not currently working? No problem, I’ll just take a break for 2 hours and work tonight. Or, wake up and “in the zone”, let me hack for 12 hours today with no interruptions.

                            At the same time, when I was remote, not being able to have the occasional sync up in person definitely made work more difficult.

                            So I think your idea is great and as long as your team is honest/responsible I think it should work out well. Would be interested in knowing how it works out.

                          1. 2

                            for all the diligence required to solve this sort of problem, you’d think that would start pushing programming more towards, ya know, engineering as a way of building things, but at least its a cool story!

                            1. 2

                              As it was a hardware issue in this case, I’m not sure I understand what you’re saying. Do you mean that if, say, the software was verified and guaranteed not to crash, they would have immediately diagnosed the crash as a hardware issue, thus saving a lot of time?

                              1. 3

                                In general, you can do that sort of thing in Design-by-Contract with a certified and non-certified compiler. In debug mode, the contracts can all become runtime checks showing you exactly which module fed bad input into the system. That lets you probe around to localize exactly which bad box took input that accepted its preconditions, did something with it, and produced output that broke the system. When looking at that module, it will normally be a software bug. However, you can run all failing tests through both a certified and regular binary to see if the failure disappears in one. If it does, it’s probably a compiler error. Similar check running sequential vs concurrent in case it’s a concurrency bug. Similarly, if the logic makes sense, it’s not concurrency, and passes on certified compiler, it’s probably an error involving something else reaching into your memory or CPU to corrupt it. That’s going to be either a hardware fault or a privileged component in software. With some R&D, I think we could develop for those components techniques for doing something similar to DbC in software for quickly isolating hardware faults.

                                That said, I don’t think it was applicable in this specific case. They’d have not seen that problem coming unless they were highly-experienced, embedded engineers. I’ve read articles from them where they look into things like effects of temperature, bootloader starting before PLL’s sync up, etc. Although I can’t find link, this isn’t the first time sunlight has killed off a box or piece of software. I’ve definitely seen this before. I think a friend might have experienced it with a laptop, too. We might add to best practices for hardware/software development to make sure the box isn’t in sunlight or another situation that can throw its operating temperature. I mean, PC builders have always watched that a bit but maybe the developers on new hardware should ensure it’s true by default. The hardware builders should also test the effects of direct sunlight or other heat to make sure the boxes don’t crash. Some do already.

                                1. 3

                                  However, you can run all failing tests through both a certified and regular binary to see if the failure disappears in one. If it does, it’s probably a compiler error.

                                  I don’t think that’s true, at least in C. I know CompCert at least takes “certified” to mean “guarantees well-defined output for well-defined input”, so it’s free to make hash of any UB-containing code the same as Clang.

                                  That said, if your test results change between any two C compilers, it’s a strong suggestion you have a UB issue.

                                  1. 2

                                    it’s a strong suggestion you have a UB issue.

                                    True, too. There’s teams out there that test with multiple compilers to catch stuff like that. OpenBSD folks mentioned it before as a side benefit of cross-platform support.

                                    1. 2

                                      That said, if your test results change between any two C compilers, it’s a strong suggestion you have a UB issue.

                                      In C, this can also mean that you depend on implementation-defined bahaviour or unspecified bahaviour which are not the same as undefined behaviour (which often will also be a bad thing ;)).

                                    2. 2

                                      Are you proposing gamedev companies should adopt that kind of techniques?

                                      1. 3

                                        Im always pushing all programmers to adopt anything that helps them that they can fit in their constraints. Aside from Design-by-Contract, I’d hold off on recommending game developers do what I described until the tooling and workflow are ready for easy adoption. Ive got probably a dozen high-level designs for it turning around in my head trying to find the simplest route.

                                        One thing Im sure about is using C++ is a drawback since it’s so hard go analyze. About everything I do runs into walls of complexity if the code starts in C++. Still working on ideas for that like C++-to-C compilers or converting it into equivalent, easier-to-analyze language that compiles to C (eg ZL in Scheme). So, I recommend avoiding anything as complex as C++ if one wants benefits from future work analyzing either C or intermediate languages.

                                        Edit: Here was a case study that found DbC fit game dev requirements.

                                        1. 2

                                          The other day there was a link to a project that does source-to-source transformation on C++ code to reduce the level of indirection: https://cppinsights.io

                                          1. 2

                                            Try doing an exhaustive list of FOSS apps for C and C++ doing this stuff. You’ll find there’s several times more for C which also collectively get more done. There’s also several certifying compilers for C subsets with formal semantics for C++ still barely there despite it being around for a long time.

                                            So, that’s neat but one anecdote goimg against a general trend.

                                          2. 1

                                            Im always pushing all programmers to adopt anything that helps them that they can fit in their constraints.

                                            This is meaningless - is there someone who doesn’t?

                                            Aside from Design-by-Contract, I’d hold off on recommending game developers do what I described until the tooling and workflow are ready for easy adoption.

                                            So the only one thing you propose would not help at all with problem with overheating console or with performance regression from that post ;)

                                            One thing Im sure about is using C++ is a drawback since it’s so hard go analyze.

                                            Sure, it’s hard but there are tools that can do some sort of static analysis for it (for example Coverity or Klocwork). Either way, there are no alternatives today for c++ as language for engine that can be used for AAA games.

                                            Here was a case study that found DbC fit game dev requirements.

                                            Have you actually read it? I have nothing against DbC, but as far as I can see that study doesn’t really show any great benefits of DbC nor is it realistic. They do show that writing assertions for pre/post conditions and class invariants helps in diagnosing bugs (which is obvious), but not much more.

                                            They don’t show that really hard bugs are clearly easier to diagnose and fix with DbC, nor do they show that cost/benefit ratio is favourable for DbC.

                                            Finally, that paper fails to describe in detail how was the experiment conducted - all I could gather is this:

                                            Implementation took approximately 45 days full-time and led to source code consisting of 400 files.

                                            code was predominantly implemented by one person

                                            Even it was an interesting paper (which imo it is not) it’s impossible to try and replicate it independently.

                                            1. 1

                                              “This is meaningless - is there someone who doesn’t?”

                                              Yes, most developers don’t if you look at the QA of both proprietary and FOSS codebases. I mean, every study done on formal specifications said developers found them helpful. Do you and most developers you see use them? Cuz I swore Ive been fighting an uphill battle for years even getting adoption of consistent interface checks and code inspection for common problems.

                                              “but as far as I can see that study doesn’t really show any great benefits of DbC nor is it realistic. They do show that writing assertions for pre/post conditions and class invariants helps in diagnosing bugs (which is obvious)”

                                              It’s so “obvious” most developers aren’t doing DbC. What it says is that DbC fits the requirements of game developers. Most formal methods don’t. It also helped find errors quickly. It’s not mere assertions in the common way they’re used: it can range from simple Booleans to more complex properties. One embedded project used a whole Prolog. Shen does something similar to model arbitrary, type systems so you can check what you want to. Finally, you can generate tests directly from contracts and runtime checks for combining with fuzzers taking one right to the failures. Is that standard practice among C developers like it has been in Eiffel for quite a while? Again, you must be working with some unusually-QA-focused developers.

                                              “would not help at all with problem with overheating console “

                                              First part of my comment was about general case. Second paragraph said exactly what you just asked me. Did you read it?

                                              “Even it was an interesting paper (which imo it is not) it’s impossible to try and replicate it independently.”

                                              The fact that it used evidence at all would put it ahead of many programming resources that are more like opinion pieces. Good news is you don’t have to replicate it: you can create a better study that tries same method against same criteria. Then, replicate that. If that’s the kind of thing you want to do.

                                              1. 1

                                                I mean, every study done on formal specifications said developers found them helpful. Do you and most developers you see use them?

                                                Academic studies show one thing, while practitioners for unknown reasons do not adopt practices recommended by academics. Maybe, the studies are somehow flawed. Maybe the gains recommended in studies don’t have good roi for most of gamedev industry?

                                                What it says is that DbC fits the requirements of game developers. Most formal methods don’t. It also helped find errors quickly. It’s not mere assertions in the common way they’re used

                                                The study was using “mere assertions in the common way they’re used” so I don’t know what is the point of rest of that paragraph - techniques you mention there are not even mentioned in that paper so there is no proof of their applicability to gamedev.

                                                First part of my comment was about general case. Second paragraph said exactly what you just asked me.

                                                I asked you about your recommendations for gamedevs not about some unconstrained general case and just pointed out that your particular recommendation would not help in case from the story - nothing more :)

                                                Did you read it?

                                                Sure I have, but to make it easier in future try to make your posts more succinct ;)

                                                1. 1

                                                  Academic studies show one thing, while practitioners for unknown reasons do not adopt practices recommended by academics.

                                                  I agree in the general case. Except that most practitioners trying some of these methods get good results. Then, most other practitioners ignore them. Like CompSci has it’s irrelevant stuff, the practitioners have their own cultures of chasing some things that work and some that don’t. However, DbC was deployed to industrial practice via Eiffel and EiffelStudio. The assertions that are a subset of it have obvious value. SPARK used them for proving absence of errors. Now, Ada 2012 programmers are using it as I described with contract-based testing. Lots of people are also praising property-based testing and fuzzing based on real bugs they’re finding.

                                                  So, this isn’t just a CompSci recommendation or study: it’s a combo of techniques that each have lots of industrial evidence they work and supporters that work well together that also have low cost. With that, either mainstream programmers don’t know about them or they’re ignoring effective techniques despite evidence. The latter is all too common.

                                                  “I asked you about your recommendations for gamedevs not about some unconstrained general case”

                                                  What helps programming in general often helps them, too. That’s true in this case.

                                                  “Sure I have, but to make it easier in future try to make your posts more succinct ;)”

                                                  Oh another one of you… Haha.

                                                  1. 2

                                                    Lots of people are also praising property-based testing and fuzzing based on real bugs they’re finding.

                                                    Those techniques are not what I would call “formal specifications” any more than simplest unit tests are, but if you consider them as such, than…

                                                    either mainstream programmers don’t know about them or they’re ignoring effective techniques despite evidence. The latter is all too common.

                                                    … I have no studies to back this up, but my experience is different. DbC (as shown in that study you linked), property based and fuzzing based testing are techniques that are used by the working programmers. Not for all the code, and not all the time but they are used.

                                                    When I wrote about studies showing one thing and real life showing something opposite I was thinking about methods like promela, spin or coq.

                                                    1. 1

                                                      Makes more sense. I see where you’re going with Coq but Spin/Promela have lots of industrial success. Similar to TLA+ usage now. Found protocol or hardware errors easily that other methods missed. Check it out.

                                  1. 2

                                    I had a lot of fun researching all this stuff when I was writing a book about working with time in PostgreSQL. It’s remarkably complicated.

                                    1. 1

                                      PG handles time really well. I was always pleasantly surprised.

                                      1. 2

                                        That’s how I would describe my experience with Postgres generally: more often pleasantly surprising than not. Its date/time/interval facilities are great.

                                    1. 22

                                      Even a blog post needs tags, categories, and images. When it comes to stock images, there are two sites that have a wide selection of free to use, no credit required works:

                                      Strong disagree here. I’m a firm believer of the “clear and cold” writing style: your writing should be clear and concise. The reader isn’t there for your memes or hero headers or zany gifs. They’re there for your words. If an image doesn’t make the words clearer, then it doesn’t belong.

                                      Case in point: at 97 KB, your typewriter image is the heaviest thing on the site. All it does is make me have to scroll in order to read your actual content.

                                      1. 11

                                        The useless practice of hero images has become so prevalent that I acquired a habit of scrolling past them without even looking.

                                        The memes also have negative value because they take up space but carry no information.

                                        Related to this, in newspaper articles I often see random images that have nothing to do with the article like, say, a man waiting for a bus in an article about mass transit. To add insult to injury, it’s also captioned with “A man waiting for a bus”.

                                        1. 3

                                          I do agree with you for images, but not for tags and categories. Sometimes I stumble upon a great article on a subject and would like to find more articles from the same author on this subject. When there are tags, they are often useful, when there is not… you have to go the the archives (that sometimes you cannot even have…) and ctrl+f on several pages several key words to find what you’re looking for. Sometimes, some Google foo helps but sometimes not.

                                          To me it’s like some blogs that don’t serve RSS because the author don’t use it himself. This drives me mad.

                                          1. 2

                                            It seems many recommend the use of these header images to increase engagement. Of course, this is often from SEO websites that may do that to compensate for lack of contents. And there is no source for such a claim. I didn’t find if there was any appropriate research work on this topic. I also don’t like to scroll an unrelated image to see content, but maybe many people find it engaging.

                                            1. 3

                                              To be precise: to increase engagement on social media, for the post to have a thumbnail.

                                          1. 2

                                            The architecture specifics of Electron have helped it succeed, but what really matters are results: a developer can make a desktop application using a single JavaScript codebase, and it compiles into a binary that works on every OS.

                                            This is obviously bullshit.

                                            1. 7

                                              “Works” and “every” obviously require scare quotes, at the very least, but I don’t think the overall point is wrong. Electron succeeded (as far as it has succeeded, at any rate, which IMO is certainly too far to be dismissed) because there are massive numbers of incurious web programmers in the world, and Electron enables them to ship an application that will at least execute on several distinct, popular OSs without having to learn anything at all about those OSs or any languages or concepts other than Javascript.

                                              Do you see a different high-level reason for its success?

                                              1. 7

                                                I think it’s disingenuous to call these web developers “incurious”. There are other practical reasons to use Electron. I had to make a similar decision at my company: how do I allocate limited resources when I need to provide a web app plus iOS and Android apps? Guess what: I chose to go with hybrid mobile apps which shared a lot of code with the web app and between iOS/Android.

                                                Does that make me incurious, or pragmatic?

                                                I’m not sure you understand the effort involved in developing applications for multiple platforms. It’s all very nice to proclaim that these lazy developers just need to learn another two-three languages and another two-three monstrous sets of APIs, damnit, but in reality, what’s needed is another two or three teams of developers.

                                                As a matter of fact, I don’t like Electron and I think companies like Slack can afford the extra developers, but that’s a different argument.

                                            1. 75

                                              Capitalism is killing us in a very literal sense by destroying our habitat at an ever accelerating rate. The fundamental idea of needing growth and having to constantly invent new things to peddle leads to ever more disposable products, that are replaced for the sake of being replaced. There’s been very little actual innovation happening in the phone space. The vendors are intentionally building devices using the planned obsolescence model to force the upgrade cycle.

                                              The cancer of consumerism affects pretty much every aspect of society, we’ve clear cut unique rain forests and destroyed millions of species we haven’t even documented so that we can make palm oil. A product that causes cancer, but that’s fractionally cheaper than other kinds of oil. We’ve created a garbage patch the size of a continent in the ocean. We’re poisoning the land with fracking. The list is endless, and it all comes down to the American ethos that making money is a sacred right that trumps all other concerns.

                                              1. 22

                                                Capitalism is killing us in a very literal sense by destroying our habitat at an ever accelerating rate.

                                                The cancer of consumerism affects pretty much every aspect of society, we’ve clear cut unique rain forests and destroyed millions of species we haven’t even documented so that we can make palm oil.

                                                One can get into a big debate about this, but the concept of externalities has existed for a long time and specifically addresses these concerns. Products do not cost what they should when taken their less tangible environment impact into account. It’s somewhat up to the reader to decide if the inability of society to take those into account is capitalism’s fault, or just human nature, or something else. I live in a country that leans much more socialist than the US but is unequivocally a capitalist country and they do a better job of managing these externalities. And China is not really capitalistic in the same way the US is but is a pretty significant polluter.

                                                1. 5

                                                  Indeed, it’s not the fault of the economic system (if you think Capitalistic societies are wasteful, take a look at the waste and inefficiency of industry under the USSR). If externalities are correctly accounted for, or to be safe, even over-accounted for by means of taxation or otherwise, the market will work itself out. If the environmental cost means the new iPhone costs $2000 in real costs, Apple will work to reduce environmental cost in order to make an affordable phone again and everyone wins. And if they don’t, another company will figure it out instead and Apple will lose.

                                                  Currently, there is basically no accounting for these externalities, and in some cases (although afaik not related to smart phones), there are subsidies and price-ceiling regulations and subsidies that actually decreases the cost of some externalities artificially and are worse for the environment than no government intervention at all.

                                                  The easy example of this is California State water subsidies for farmers. Artificially cheap water for farmers means they grow water-guzzling crops that are not otherwise efficient to grow in arid parts of the state, and cause environmental damage and water shortage to normal consumers. Can you imagine your local government asking you to take shorter showers and not wash your car, when farmers are paying 94% less than you to grow crops that could much more efficiently be grown in other parts of the country? That’s what happens in California.

                                                  Step 1 and 2 are to get rid of the current subsidies and regulations that aggravate externalities and impose new regulation/taxes that help account for externalities.

                                                  1. 2

                                                    I have talked to a factory owner in china. He said China is more capitalist than the USA. He said China prioritizes capital over social concerns.

                                                    1. 1

                                                      Ok? I can talk to lots of people with lots of opinions. That doesn’t make it true.

                                                      1. 1

                                                        It’s just impressive that a capitalist would say. If China was even remotely communist, don’t you find it interesting that most capitalists who made deals with China seem ok helping ‘the enemy’ become the second largest economy in the world? I prefer to believe the simpler possibility that China is pretty darn capitalist itself.

                                                        1. 2

                                                          I did not say China was not capitalist, I said it’s not in the same way as the US. There is a lot more state involvement in China.

                                                          1. 2

                                                            Is your claim then that state involvement means you have more pollution? Maybe I’m confused by what you were trying to get at, sorry :-/

                                                            1. 2

                                                              No, I was pointing out that different countries are doing capitalism differently and some of them are better at dealing with externalities and some of them are worse. With the overall point being that capitalism might be the wrong scapegoat.

                                                    1. 7

                                                      I think the consumer could be blamed more than capitalism, the companies make what sells, the consumers are individuals who buy products that hurt the environment, I think that it is changing though as people become more aware of these issues, they buy more environmentally friendly products.

                                                      1. 30

                                                        You’re blaming the consumer? I’d really recommend watching Century of the Self. Advertising has a massive impact and the mass of humans are being fed this desire for all the things we consume.

                                                        I mean, this really delves into the deeper question of self-awareness, agency and free will, but I really don’t think most human beings are even remotely aware.

                                                        Engineers, people on Lobster, et. al do really want standard devices. Fuck ARM. Give me a god damn mobile platform. Microsoft for the love of god, just publish your unlock key for your dead phone line so we can have at least one line of devices with UEFI+ARM. Device tree can go die in a fire.

                                                        The Linux-style revolution of the 2000s (among developers) isn’t happening on mobile because every device is just too damn different. The average consumer could care less. Most people like to buy new things, and we’re been indoctrinated to that point. Retailers and manufactures have focus groups geared right at delivering the dopamine rush.

                                                        I personally hate buying things. When my mobile stopped charging yesterday and the back broke again, I thought about changing it out. I’ve replaced the back twice already and the camera has spots on the sensor under the lenses.

                                                        I was able to get it charging when I got home on a high amp USB port, so instead I just ordered yet another back and a new camera (I thought it’d be a bitch to get out, but a few YouTube videos show I was looking at the ribbon wrong and it’s actually pretty easy to replace).

                                                        I feel bad when I buy things, but it took a lot of work to get to that point. I’ve sold or given away most of my things multiple times to go backpacking, I run ad block .. I mean if everyone did what I’d did, my life wouldn’t be sustainable. :-P

                                                        We are in a really solidly locked paradigm and I don’t think it can simply shift. If you believe the authors of The Dictators Handbook, we literally have to run our of resources before the general public and really push for dramatically different changes.

                                                        We really need more commitment to open standards mobile devices. The Ubuntu Edge could have been a game changer, or even the Fairphone. The Edge never got funded and the Fairphone can’t even keep parts sourced for their older models.

                                                        We need a combination of people’s attitudes + engineers working on OSS alternatives, and I don’t see either happening any time soon.

                                                        Edit: I forgot to mention, Postmarket OS is making huge strides into making older cellphones useful and I hope we see more of that too.

                                                        1. 7

                                                          I second the recommendation for The Century of the Self. That movie offers a life-changing change of perspective. The other documentaries by Curtis are also great and well worth the time.

                                                          1. 3

                                                            Century of the Self was a real eye opener. Curtis’s latest documentary, HyperNormalisation, also offers very interesting perspectives.

                                                          2. 26

                                                            Capitalism, by it’s very nature, drives companies to not be satisfied with what already sells. Companies are constantly looking to create new markets and products, and that includes creating demand.

                                                            IOW, consumers aren’t fixed actors who buy what they need; they are acted upon to create an ever increasing number of needs.

                                                            There are too many examples of this dynamic to bother listing.

                                                            1. 12

                                                              It’s also very difficult for the consumer to tell exactly how destructive a particular product is. The only price we pay is the sticker price. Unless you really want to put a lot of time into research it is hard to tell which product is better for the environment.

                                                              1. 14

                                                                It’s ridiculous to expect everyone to be an expert on every supply chain in the world, starting right from the mines and energy production all the way to the store shelf. That’s effectively what you are requiring.

                                                                I’m saying this as a very conscious consumer. I care about my carbon footprint, I don’t buy palm oil, I limit plastic consumption, I limit my consumption overall, but it’s all a drop in the ocean and changes nothing. There are still hundreds of compounds in the everyday items I buy whose provenance I know nothing about and which could be even more destructive. Not to mention that manufacturers really don’t want you to know, it’s simply not in their interest.

                                                                You’re creating an impossible task and setting people up to fail. It is not the answer.

                                                                1. 2

                                                                  “It’s ridiculous to expect everyone to be an expert on every supply chain in the world, starting right from the mines and energy production all the way to the store shelf. That’s effectively what you are requiring.”

                                                                  I don’t think it is what they’re requiring and it’s much easier than you describe. Here’s a few options:

                                                                  1. People who are really concerned about this at a level demanding much sacrifice to avoid damaging the environment should automatically avoid buying anything they can’t provably trust by default. The Amish are a decent example that avoids a lot of modern stuff due to commitment to beliefs.

                                                                  2. There’s groups that try to keep track of corporate abuse, environmental actions, and so on of various companies. They maintain good and bad lists. More people that supposedly care can both use them and join them in maintaining that data. It would be split among many people to lessen each’s burden. Again, avoid things by default until they get on the good lists. Ditch them if they get on the bad ones.

                                                                  3. Collectively push their politicians for laws giving proper labels, auditing, etc that help with No 2. Also, push for externalities to be charged back to the companies somehow to incentivize less-damaging behavior.

                                                                  4. Start their own businesses that practice what they preach. Build the principles into their charters, contracts, and so on. Niche businesses doing a better job create more options on the good lists in No 2. There’s entrepreneurs doing this.

                                                                  So, not all-knowing consumers as you indicated. Quite a few strategies that are less impossible.

                                                                  1. 4

                                                                    @ac specifically suggested consumer choice as the solution to environmental issues, and that’s what I disagreed with.

                                                                    Your point number 3 is quite different from the other three, and it’s what I would suggest as a far more effective strategy than consumer choice (along with putting pressure on various corporations). As an aside, I still wouldn’t call it easy - it’s always a hard slog.

                                                                    Your points 1, 2 and 4 still rely on consumer choice, and effectively boil down to: either remove yourself from modern civilisation, or understand every supply chain in the world. I think it’s obvious that the first choice is neither desirable nor “much easier” for the vast majority of people (and I don’t think it’s the best possible solution). The second is impossible, as I said before.

                                                                    1. 1

                                                                      “consumer choice as the solution to environmental issues”

                                                                      edit to add: consumer choice eliminated entire industries worth of companies because they wanted something else. It’s only worsened environmental issues. That’s probably not an argument against consumer choice so much as in favor of them willing to sacrifice the environment overall to get the immediate things they want.

                                                                      “either remove yourself from modern civilisation, or understand every supply chain in the world”

                                                                      This is another false dichotomy. I know lots of people who are highly-connected with other people but don’t own lots of tech or follow lots of fads. In many cases, they seem to know about them enough to have good conversations with people. They follow what’s going on or are just good listeners. Buying tons of gadgets or harmful things isn’t necessary for participation. You can get buy with a lot less than average middle or upper class person.

                                                                      What you said is better understood as a spectrum to be in like most things. Lots of positions in it.

                                                                      1. 2

                                                                        I think we might actually be mostly in agreement, but we’re talking past each other a bit.

                                                                        That’s probably not an argument against consumer choice so much as in favor of them willing to sacrifice the environment overall to get the immediate things they want.

                                                                        I agree with this. But even when consumer choice is applied with environmental goals in mind, I believe its effect is very limited, simply because most people won’t participate.

                                                                        This is another false dichotomy.

                                                                        Yeah, but it was derived from your points :) I was just trying to hammer the point that consumer choice isn’t an effective solution.

                                                                        You can get buy with a lot less than average middle or upper class person.

                                                                        Totally. I’ve been doing that for a long time: avoiding gadgets and keeping the stuff I need (eg a laptop) as long as I can.

                                                                        1. 1

                                                                          “But even when consumer choice is applied with environmental goals in mind, I believe its effect is very limited, simply because most people won’t participate.”

                                                                          Oh OK. Yeah, I share that depressing view. Evidence is overwhelmingly in our favor on it. It’s even made me wonder if I should even be doing the things I’m doing if so few are doing their part.

                                                                2. 5

                                                                  The blame rests on the producers, not on the consumers.

                                                                  Consumers are only able to select off of the menu of available products, so to speak. Most of the choices everyday consumers face are dictated by their employers and whatever is currently available to make it through their day.

                                                                  No person can reasonably trace the entire supply chain for every item they purchase, and could likely be impossible even with generous time windows. Nor would I want every single consumer to spend their non-working time to tracing these chains.

                                                                  Additionally, shifting this blame to the consumer creates conditions where producers can charge a premium on ‘green’ and ‘sustainable’ products. Only consumers with the means to consume ‘ethically’ are able to do so, and thus shame people with less money for being the problem.

                                                                  The blame falls squarely on the entities producing these products and the states tasked with regulating production. There will be no market-based solution to get us out of the climate catastrophe, and we certainly can’t vote for a green future with our dollars.

                                                                  1. 4

                                                                    Consumers are only able to select off of the menu of available products, so to speak. Most of the choices everyday consumers face are dictated by their employers and whatever is currently available to make it through their day.

                                                                    That’s not true even though it seems it is. The consumers’ past behavior and present statements play a major role in what suppliers will produce. Most of what you see today didn’t happen overnight. There were battles fought where quite a few companies were out there doing more ethical things on supply side. They ended up bankrupt or with less marketshare while the unethical companies got way ahead through better marketing of their products. With enough wealth accumulated, they continued buying the brands of the better companies remaking them into scumbag companies, too, in many cases.

                                                                    For instance, I strongly advise against companies developing privacy- or security-oriented versions of software products that actually mitigate risks. They’ll go bankrupt like such companies often always did. The companies that actually make lots of money apply the buzzwords customers are looking for, integrate into their existing tooling (often insecure), have features they demand that are too complex to secure, and in some cases are so cheap the QA couldn’t have possibly been done right. That has to be private or secure for real against smart black hats. Not going to happen most of the time.

                                                                    So, I instead tell people to bake cost-effective security enhancements and good service into an otherwise good product advertised for mostly non-security benefits. Why? Because that’s what demand-side responds to almost every time. So, the supply must provide it if hoping to make waves. Turns out, there’s also an upper limit to what one can achieve in that way, too. The crowds’ demands will keep creating obstacles to reliability, security, workers’ quality of life, supplier choice, environment… you name it. They mostly don’t care either where suppliers being honest about costs will be abandoned for those delivering to demand side. In face of that, most suppliers will focus on what they think is in demand across as many proven dimensions as possible.

                                                                    Demand and supply side are both guilty here in a way that’s closely intertwined. It’s mostly demand side, though, as quite a few suppliers in each segment will give them whatever they’re willing to pay for at a profit.

                                                                    1. 3

                                                                      I agree with a lot of your above point, but want to unpack some of this.

                                                                      Software security is a strange case to turn to since it has less direct implications on the climate crisis (sure anything that relies on a datacenter is probably using too much energy) compared to the production of disposable, resource-intensive goods.

                                                                      Demand and supply side are both guilty here in a way that’s closely intertwined. It’s mostly demand side, though, as quite a few suppliers in each segment will give them whatever they’re willing to pay for at a profit.

                                                                      I parse this paragraph to read: we should blame consumers for buying what’s available and affordable, because suppliers are incapable of acting ethically (due to competition).

                                                                      So should we blame the end consumer for buying a phone every two years and not the phone manufacturers/retailers for creating rackets of planned obsolescence?

                                                                      And additionally, most suppliers are consumers of something else upstream. Virtually everything that reaches an end consumer has been consumed and processed several times over by suppliers above. The suppliers are guilty on both counts by our separate reasoning.

                                                                      Blaming individuals for structural problems simply lets suppliers shirk any responsibility they should have to society. After all, suppliers have no responsibility other than to create profits. Suppliers’ bad behavior must be curtailed either through regulation, public education campaigns to affect consumption habits, or organizing within workplaces.

                                                                      (As an aside, I appreciate your response and it’s both useful and stimulating to hear your points)

                                                                      1. 2

                                                                        “I parse this paragraph to read: we should blame consumers for buying what’s available and affordable, because suppliers are incapable of acting ethically (due to competition).”

                                                                        You added two words, available and affordable, to what I said. I left affordable off because many products that are more ethical are still affordable. Most don’t buy them anyway. I left availability off since there’s products appearing all the time in this space that mostly get ignored. The demand side not buying enough of what was and currently is available in a segment sends a message to suppliers about what they should produce. Especially if it’s consistent. Under vote with your wallet, we should give consumers their share of credit or blame for anything their purchasing decisions as a whole are supporting or destroying. That most won’t deliberately try to obtain an ethical supplier of… anything… supports my notion demand side has a lot to do with unethical activities of financially-successful suppliers.

                                                                        For a quick example, there are often coops and farmers markets in lots of rural areas or suburban towns in them. There’s usually a segment of people who buy from them to support their style of operation and/or jobs. There’s usually enough to keep them in business. You might count Costco in that, too, where a membership fee that’s fixed cost gets the customers a pile of stuff at a promised low-markup and great service. There’s people that use credit unions, esp in their industry, instead of banks. There’s people that try to buy from nonprofits, public beneit companies, companies with good track record, and so on. There’s both a demand side (tiny) and suppliers responding to it that show this could become a widespread thing.

                                                                        Most consumers on demand side don’t do that stuff, though. They buy a mix of necessities and arbitrary stuff from whatever supplier is lowest cost, cheapest, most variety, promoting certain image, or other arbitrary reasons. They do this so much that most suppliers, esp market leaders, optimize their marketing for that stuff. They also make more money off these people that let them put lots of ethical, niche players out of business over time. So, yeah, I’d say consumer demand being apathetic to ethics or long-term thinking is a huge part of the problem given it puts tens of billions into hands of unethical parties. Then, some of that money goes into politicians’ campaign funds so they make things even more difficult for those companies’ opponents.

                                                                        “Blaming individuals for structural problems simply lets suppliers shirk any responsibility they should have to society.”

                                                                        Or the individuals can buy from different suppliers highlighting why they’re doing it. Other individuals can start companies responding to that massive stated demand. The existing vendors will pivot their operations. Things start shifting. It won’t happen without people willing to buy it. Alternatively, using regulation as you mentioned. I don’t know how well public education can help vs all the money put into advertising. The latter seems more powerful.

                                                                        “(As an aside, I appreciate your response and it’s both useful and stimulating to hear your points)”

                                                                        Thanks. Appreciate you challenging it so I think harder on and improve it. :)

                                                                    2. 2

                                                                      Only consumers with the means to consume ‘ethically’ are able to do so, and thus shame people with less money for being the problem.

                                                                      This is ignoring reality, removing cheaper options does not make the other options cheaper to manufacture. It is not shaming people.

                                                                      You are also ignoring the fact that in a free country the consumers and producers are the same people. A dissatisfied consumer can become a producer of a new alternative if they see it as possible.

                                                                    3. 3

                                                                      Exactly. The consumers could be doing more on issues like this. They’re complicit or actively contribute to the problems.

                                                                      For example, I use old devices for as long as I can on purpose to reduce waste. I try to also buy things that last as long as possible. That’s a bit harder in some markets than others. For appliances, I just buy things that are 20 years old. They do the job and usually last 10 more years since planned obsolescence had fewer tricks at the time. ;) My smartphone is finally getting unreliable on essential functions, though. Bout to replace it. I’ll donate, reuse, or recycle it when I get new one.

                                                                      On PC side, I’m using a backup whose age I can’t recall with a Celeron after my Ubuntu Dell w/ Core Duo 2 died. It was eight years old. Attempting to revive it soon in case it’s just HD or something simple. It’s acting weird, though, so might just become a box for VM experiments, fuzzing, opening highly-untrustworthy URLs or files, etc. :)

                                                                    4. 7

                                                                      Capitalism is killing us in a very literal sense by destroying our habitat at an ever accelerating rate

                                                                      Which alternatives would make people happier to consume less – drive older cars, wear rattier clothing, and demand fewer exotic vacations? Because, really, that’s the solution to excessive use of the environment: Be happier with less.

                                                                      Unfortunately, greed has been a constant of human nature far too long for capitalism to take the blame there.

                                                                      1. 9

                                                                        Which alternatives would make people happier to consume less – drive older cars, wear rattier clothing, and demand fewer exotic vacations?

                                                                        Why do people want new cars, the latest fashions, and exotic vacations in the first place? If it’s all about status and bragging rights, then it’s going to take a massive cultural shift that goes against at least two generation’s worth of cultural programming by advertisers on the behalf of the auto, fashion and travel industries.

                                                                        I don’t think consumerism kicked into high gear until after the end of World War II when modern advertising and television became ubiquitous, so perhaps the answer is to paraphrase Shakespeare:

                                                                        The first thing we do, let’s kill all the advertisers.

                                                                        OK, maybe killing them (or encouraging them to off themselves in the tradition of Bill Hicks) is overkill. Regardless, we should consider the possibility that advertising is nothing but private sector psyops on behalf of corporations, and should not be protected as “free speech”.

                                                                        1. 2

                                                                          If there was an advertising exception for free speech, people would use it as an unprincipled excuse to ban whatever speech they didn’t like, by convincing the authorities to classify it as a type of advertising. After all, most unpopular speech is trying to convince someone of something, right? That’s what advertising fundamentally is, right?

                                                                          Remember that the thing that Oliver Wendell Holmes called “falsely shouting fire in a crowded theater” wasn’t actually shouting “fire” in an actual crowded theater - it was a metaphor he used to describe protesting the military draft.

                                                                          1. 9

                                                                            I agree: there shouldn’t be an advertising exception on free speech. However, the First Amendment should only apply to homo sapiens or to organisms we might eventually recognize as sufficiently human to possess human rights. Corporations are not people, and should not have rights.

                                                                            They might have certain powers defined by law, but “freedom of speech” shouldn’t be one of them.

                                                                        2. 3

                                                                          IMO, Hedonistic adaptation is a problem and getting worse. I try to actively fight against it.

                                                                          1. 2

                                                                            It would be a start if we designed cities with walking and public transportation in mind, not cars.

                                                                            My neighborhood is old and walkable. I do shopping on foot (I have a bicycle but don’t bother with it). For school/work, take a single bus and a few minutes walking. Getting a car would be a hassle, I don’t have a place to park it, and I’d have to pay large annual fees for rare use.

                                                                            Newer neighborhoods appear to be planned with the idea that you’ll need a car for every single task. “Residential part” with no shops at all, but lots of room for parking. A large grocery store with a parking lot. Even train stations with a large parking lot, but no safe path for pedestrians/cyclists from the nearby neighborhoods.

                                                                          2. 4

                                                                            The new features on phones are so fucking stupid as well. People are buying new phones to get animated emojis and more round corners. It’s made much worse with phone OEMs actively making old phones work worse by slowing them down.

                                                                            1. 7

                                                                              There has been no evidence to my knowledge that anyone is slowing old phones down. This continues to be an unfounded rumor

                                                                              1. 2

                                                                                There’s also several Lobsters that have said Android smartphones get slower over time at a much greater rate than iPhones. I know my Galaxy S4 did. This might be hardware, software bloat, or whatever. There’s phones it’s happening on and those it isn’t in a market where users definitely don’t want their phones slowing down. So, my theory on Android side is it’s a problem they’re ignoring on purpose or even contributing to due to incentives. They could be investing money into making the platform much more efficient across devices, removing bloat, etc. They ain’t gonna do that.

                                                                                1. 3

                                                                                  Android smartphones get slower over time at a much greater rate than iPhones.

                                                                                  In my experience, this tends to be 3rd party apps that start at boot and run all the time. Factory reset fixes it. Android system updates also make phones faster most of the time.

                                                                                  1. 1

                                                                                    Hmm. I’ll try it since I just backed everything up.

                                                                                    1. 3

                                                                                      I’m still using a Nexus 6 I got ~2.5 years ago. I keep my phone pretty light. No Facebook or games. Yet, my phone was getting very laggy. I wiped the cache (Settings -> Storage -> Cached data) and that seemed to help a bit, but overall, my phone was still laggy. It seemed to get really bad in my text messaging app (I use whatever the stock version is). I realized that I had amassed a lot of text messages over the years, which includes quite a lot of gifs. I decided to wipe my messages. I did that by installing “SMS Backup & Restore” and telling it to delete all of my text messages, since apparently the stock app doesn’t have a way to do this in bulk. It took at least an hour for the deletion to complete. Once it was done, my phone feels almost as good as new, which makes me really happy, because I really was not looking forward to shelling out $1K for a Pixel.

                                                                                      My working theory is that there is some sub-optimal strategy in how text messages are cached. Since I switch in and out of the text messaging app very frequently, it wouldn’t surprise me if I was somehow frequently evicting things from memory and causing disk reads, which would explain why the lag impacted my entire phone and not just text messages. But, this is just speculation. And a factory reset would have accomplished the same thing (I think?), so it’s consistent with the “factory reset fixes things” theory too.

                                                                                      My wife is still on a Nexus 5 (great phone) and she has a similar usage pattern as me. Our plan is to delete her text messages too and see if that helps things.

                                                                                      Anyway… I realize this basically boils down to folk remedies at this point, but I’m just going through this process now, so it’s top of mind and figured I’d share.

                                                                                      1. 2

                                                                                        I’ll be damned. I baked up and wiped the SMS, nothing else. The phone seems like it’s moving a lot snappier. Literally a second or two of delay off some things. Some things are still slow but maybe app just is. YouTube always has long loading time. The individual videos load faster now, though.

                                                                                        Folk remedy is working. Appreciate the tip! :)

                                                                                        1. 2

                                                                                          w00t! Also, it’s worth mentioning that I was experiencing much worse delay than a second or two. Google Nav would sometimes lock up for many seconds.

                                                                                          1. 1

                                                                                            Maps seems OK. I probably should’ve been straight-up timing this stuff for better quality of evidence. Regardless, it’s moving a lot faster. Yours did, too. Two, strong anecdotes so far on top of factory reset. Far as we know, even their speed gains might have come from SMS clearing mostly that the reset did. Or other stuff.

                                                                                            So, I think I’m going to use it as is for a week or two to assess this change plus get a feel for a new baseline. Then, I’ll factory reset it, reinstall some apps from scratch, and see if that makes a difference.

                                                                                            1. 2

                                                                                              Awesome. Please report back. :-)

                                                                                              1. 2

                                                                                                I’ll try to remember to. I’m just still stunned it wasn’t 20 Chrome tabs or all the PDF’s I download during the day. Instead, text messages I wasn’t even using. Of all things that could drag a whole platform down…

                                                                                                1. 2

                                                                                                  Sms is stored on the SIM card, right? That’s probably not got ideal I/O characteristics…

                                                                                                  1. 1

                                                                                                    I thought the contacts were but messages were on phone. I’m not sure. The contacts being on there could have an effect. I’d have hoped they cached a copy of SIM contents onto in-phone memory. Yeah, SIM access could be involved.

                                                                                        2. 2

                                                                                          Now, that’s fascinating. I don’t go in and out of text a lot but do have a lot of text messages. Many have GIF’s. There’s also at least two other apps that accumulate a lot of stuff. I might try wiping them. Btw, folk remedies feel kind of justified when we’re facing a complex, black-box system with nothing else to go on. ;)

                                                                                  2. 2

                                                                                    Official from apple: https://www.apple.com/au/iphone-battery-and-performance/

                                                                                    They slow phones with older batteries but don’t show the user any indication that it can be fixed very cheaply by replacing the battery (Until after the recent outrage) and many of them will just buy a new phone and see it’s much faster.

                                                                                    1. 12

                                                                                      Wow, so much to unpack here.

                                                                                      You said they slow old phones down. That is patently false. New versions of iOS are not made to run slowly on older model hardware.

                                                                                      Apple did not slow phones down with old batteries. They throttled the CPU of phones with failing batteries (even brand new ones!) to prevent the phone from crashing due to voltage drops. This ensured the phone was still functional even if you needed your phone in an emergency. Yes it was stupid there was no notification to the user. This is no longer relevant because they now provide notifications to the user. This behavior existed for a short period of time in the lifespan of the iPhone: less than 90 days between introduction of release with throttling and release with controls to disable and notifications to users.

                                                                                      Please take your fake outrage somewhere else.

                                                                                      1. 5

                                                                                        Apple did not slow phones down with old batteries. They throttled the CPU of phones with failing batteries (even brand new ones!) to prevent the phone from crashing due to voltage drops.

                                                                                        In theory this affects new phones as well, but we know that as batteries grow older, they break down, hold less charge, and have a harder time achieving their design voltage. So in practice, this safety mechanism for the most part slows down older phones.

                                                                                        You claim @user545 is unfairly representing the facts by making Apple look like this is some evil ploy to increase turnover for their mobile phones.

                                                                                        However, given the fact that in reality this does mostly make older phones seem slower, and the fact that they put this in without ever telling anyone outside Apple and not allowing the user to check their battery health and how it affected the performance of their device, I feel like it requires a lot more effort not to make it look like an intentional decision on their part.

                                                                                        1. 2

                                                                                          Sure, but if you have an old phone with OK batteries, then their code did not slow it down. So I think it is still more correct to say they slowed down those with bad batteries than those that were old even if most of those with bad batteries were also bad which really depended on phone’s use.

                                                                                          The difference is not just academic. For example I have “inherited” iPhone6 from my wife that still has a good battery after more than 2 years and performs fine.

                                                                                          1. 2

                                                                                            the fact that they put this in without ever telling anyone outside Apple

                                                                                            It was in the release notes of that iOS release…

                                                                                            edit: additionally it was known during the beta period in December. This wasn’t a surprise.

                                                                                            1. 1

                                                                                              Again, untrue. The 11.2 release notes make no mention of batteries, throttling, or power management. (This was the release where Apple extended the throttling to the 7 series of phones.) The 10.2.1 release notes, in their entirety, read thus:

                                                                                              iOS 10.2.1 includes bug fixes and improves the security of your iPhone or iPad. It also improves power management during peak workloads to avoid unexpected shutdowns on iPhone.

                                                                                              That does not tell a reader that long-term CPU throttling is taking place, that it’s restricted to older-model iPhones only, that it’s based on battery health and fixable with a new battery (not a new phone), etc. It provides no useful or actionable information whatsoever. It’s opaque and frankly deceptive.

                                                                                              1. 0

                                                                                                You’re right, because I was mistaken and the change was added in iOS 10.2.1, 1/23/2017

                                                                                                https://support.apple.com/kb/DL1893?locale=en_US

                                                                                                It also improves power management during peak workloads to avoid unexpected shutdowns on iPhone.

                                                                                                A user on the day of release:

                                                                                                Hopefully it fixes the random battery shutoff bug.

                                                                                                src: https://forums.macrumors.com/threads/apple-releases-ios-10-2-1-with-bug-fixes-and-security-improvements.2028992/page-2#post-24225066

                                                                                                additionally in a press release:

                                                                                                In February 2017, we updated our iOS 10.2.1 Read Me notes to let customers know the update ‘improves power management during peak workloads to avoid unexpected shutdowns.’ We also provided a statement to several press outlets and said that we were seeing positive results from the software update.

                                                                                                Please stop trolling. It was absent from the release notes for a short period of time. It was fixing a known issue affecting users. Go away.

                                                                                                1. 4

                                                                                                  Did you even read the comment you are responding to? I quoted the 10.2.1 release notes in full–the updated version–and linked them too. Your response is abusive and in bad faith, your accusations of trolling specious.

                                                                                                  1. [Comment removed by moderator pushcx: We've never had cause to write a rule about doxxing, but pulling someone's personal info into a discussion like this to discredit them is inappropriate.]

                                                                                                    1. 2

                                                                                                      I don’t hate Apple. I’m not going to sell my phone because I like it. The battery is even still in good shape! I wish they’d been a little more honest about their CPU throttling. I don’t know why this provokes such rage from you. Did you go through all my old comments to try to figure out what kind of phone I have? Little creepy.

                                                                                                      1. 2

                                                                                                        I’m not angry about anything here. It’s just silly that such false claims continue to be thrown around about old phones intentionally being throttled to sell new phones. Apple hasn’t done that. Maybe someone else has.

                                                                                                        edit: it took about 30 seconds to follow your profile link to your website -> to Flickr -> to snag image metadata and see what phone you own.

                                                                                          2. -3

                                                                                            They throttled the CPU of phones with failing batteries (even brand new ones!)

                                                                                            This is untrue. They specifically singled out only older-model phones for this treatment. From the Apple link:

                                                                                            About a year ago in iOS 10.2.1, we delivered a software update that improves power management during peak workloads to avoid unexpected shutdowns on iPhone 6, iPhone 6 Plus, iPhone 6s, iPhone 6s Plus and iPhone SE. [snip] We recently extended the same support to iPhone 7 and iPhone 7 Plus in iOS 11.2.

                                                                                            In other words, if you buy an iPhone 8 or X, no matter what condition the battery is in, Apple will not throttle the CPU. (In harsh environments–for example, with lots of exposure to cold temperatures–it’s very plausible that an 8 or X purchased new might by now have a degraded battery.)

                                                                                            1. 2

                                                                                              You are making a claim without any data to back it up.

                                                                                              Can you prove that the batteries in the new iPhones suffer voltage drops when they are degraded? If they use a different design with more/smaller cells then AIUI they would be significantly less likely to have voltage drops when overall capacity is degraded.

                                                                                              But no, instead you continue to troll because you have a grudge against Apple. Take your crap elsewhere. It’s not welcome here.

                                                                                              1. 3

                                                                                                You’re moving the goalposts. You claimed Apple is throttling the CPU of brand new phones. You were shown this to be incorrect, and have not brought any new info to the table. Your claim that the newer phones might be designed so as to not require throttling is irrelevant.

                                                                                                Please don’t accuse (multiple) people of trolling. It reflects poorly on yourself. All are welcome here.

                                                                                                1. 3

                                                                                                  You can buy a brand new phone directly from Apple (iPhone 6S) with a faulty battery and experience the throttling. I had this happen.

                                                                                        2. 1

                                                                                          Google services update in the background even when other updates are disabled. Even if services updates are not intended to slow down the phone, they still do.

                                                                                        3. 3

                                                                                          The new features on phones are so fucking stupid as well.

                                                                                          I think the consumer who pays for it is stupid.

                                                                                          1. 3

                                                                                            It’s both. The user wants something new every year and OEMs don’t have anything worthwhile each year so they change things for the sake of change like adding rounded corners on the LCD or cutting a chunk out of the top. It makes it seem like something is new and worth buying when not much worthwhile has actually changed.

                                                                                            1. 4

                                                                                              I think companies would always take the path of least resistance that works. If consumers didn’t fall for such stupid tricks the companies that did them would die off.

                                                                                        4. 2

                                                                                          Yep. I guess humanity’s biggest achievement will be to terraform itself out of existence.

                                                                                          This planet does neither bargain nor care about this civilizations’ decision making processes. It will keep flying around the sun for a while, with or without humans on it.

                                                                                          I’m amazed by the optimism people display in response to pointing out that the current trajectory of climate change makes it highly unlikely that our grand-grand-children will ever be born.

                                                                                          1. 2

                                                                                            The list is endless, and it all comes down to the American ethos that making money is a sacred right that trumps all other concerns.

                                                                                            s/American/human

                                                                                            You can’t fix a problem if you misunderstand what causes it.

                                                                                            1. 5

                                                                                              Ideology matters, and America has been aggressively promoting toxic capitalist ideology for many decades around the world. Humans aren’t perfect, but we can recognize our problems and create systems around us to help mitigate them. Capitalism is equivalent of giving a flamethrower to a pyromaniac.

                                                                                              1. 3

                                                                                                If you want to hash out how “toxic capitalism” is ruining everything, that’s fine–I’m just observing that many other countries (China, Germany, India, Mozambique, Russia, etc.) have done things that, to me at least, dispel the notion of toxic capitalism as purely being American in origin.

                                                                                                And to avoid accusations of whataboutism, the reason I point those other countries out is that if a solution is put forth assuming that America is the problem–and hence itself probably grounded in approaches unique to an American context–it probably will not be workable in other places.

                                                                                                1. 2

                                                                                                  Nobody is saying that capitalism alone is the problem or that it’s unique to America. I was saying that capitalism is clearly responsible for a lot of harm, and that America promotes it aggressively.

                                                                                                  1. 0

                                                                                                    Don’t backpedal. You wrote:

                                                                                                    The list is endless, and it all comes down to the American ethos that making money is a sacred right that trumps all other concerns.

                                                                                                    As to whether or not capitalism is clearly responsible for a lot of harm, it’s worth considering what the alternatives have accomplished.

                                                                                                    1. 0

                                                                                                      Nobody is backpedaling here, and pointing at other failed systems saying they did terrible things too isn’t much of an argument.

                                                                                          1. 18

                                                                                            I love postgres (I’m a postgres DBA), and really dislike mysql (due to a long story involving a patch-level release causing server crashes and data loss).

                                                                                            That said, there is still a technical reason to choose mysql over postgres. Mysql’s replication story is still significantly better than postgres’. Multi-master, in particular, is something that’s relatively straightforward in mysql, but which requires third-party extensions and much more fiddling in postgres.

                                                                                            Now, postgres has been catching up on this front. Notably, the addition of logical replication over the last couple major versions really expands the options available. There’s a possibility that this feature will even be part of postgres 11, coming out this year (it’s on a roadmap). But until it does, it’s a significant feature missing from postgres that other RDBMSes have.

                                                                                            1. 7

                                                                                              There’s a possibility that this feature will even be part of postgres 11

                                                                                              PG 11 is in feature freeze since April. I don’t think there was anything significant for multi-master committed before that.

                                                                                              1. 3

                                                                                                Good point. I’d seen the feature freeze deadline, but wasn’t sure if it had actually happened, and what had made it in (I haven’t followed the -hackers mailing list for a while). I was mostly speculating based on the fact that they’d announced a multi-master beta for last fall.

                                                                                                I’m not surprised it’s taking a long time – it’s a hard problem – but it means that “clustering” is going to be a weak point for postgres for a while longer.

                                                                                              2. 3

                                                                                                Once you take all the other potential issues and difficulties with MySQL into account though, surely Postgres is a better choice on balance, even with more difficult replication setup?

                                                                                                1. 5

                                                                                                  It really depends. If you need horizontally-scalable write performance, and it’s important enough to sacrifice other features, then a mysql cluster is still going to do that better than postgres. It’s possible that a nosql solution might fit better than mysql, but overall that’s a decision that I can’t make for you.

                                                                                                  I’ll add that there are bits of postgres administration that aren’t intuitive. Specifically, bloat of on-disk table size (and associated slowdowns) under certain loads can really confuse people. If you can’t afford to have a DBA, or at least a dev who’s a DB expert, mysql can be very attractive. I’m not saying that’s a good reason to choose it, but I understand why some people do.

                                                                                                  1. 1

                                                                                                    What are your thoughts on MySQL vs MariaDB, especially the newer versions?

                                                                                                    1. 3

                                                                                                      Honestly, I haven’t looked closely at MariaDB lately. The last time I did was just to compare json datatypes – at the time, both mysql and mariadb were just storing json as parsed/verified text blobs without notable additional functionality.

                                                                                                      I have to assume it’s better than mysql at things like stability, data safety, and other boring-but-necessary features. That’s mostly because mysql sets such a low bar, though, that it would take effort to make it worse.

                                                                                                    2. 1

                                                                                                      You clearly know more about databases than me, but I would question idea that MySQL is a good choice when you lack a DB expert. If anything, it is then when you shouldn’t use it. I still carry scars from issues caused by such lack of expertise at one of my previous employers.

                                                                                                1. 11

                                                                                                  If we followed all of these things:

                                                                                                  • Don’t write your own encryption
                                                                                                  • Don’t write your own database
                                                                                                  • Don’t write your own math functions
                                                                                                  • Don’t write your own data structures
                                                                                                  • Don’t write your own web framework
                                                                                                  • Don’t write your own drivers
                                                                                                  • Don’t write your own operating system
                                                                                                  • Don’t write your own graphics routines
                                                                                                  • Don’t write your own …

                                                                                                  I think we’d all be pretty damn bored.

                                                                                                  1. 8

                                                                                                    I’ve always thought that “advice” was insulting, condescending, and wrong. Obviously someone needs to write all those things, and that someone better had the experience which only comes after doing all those things for a while.

                                                                                                    We need to encourage better understanding of tricky fields, and we need to encourage software diversity and fight against software monocultures.

                                                                                                    1. 2

                                                                                                      we need to encourage software diversity and fight against software monocultures

                                                                                                      Not trolling…but why?

                                                                                                      1. 3

                                                                                                        Any monopoly or oligopoly is usually bad for the customer. Things stagnate at best or get destructive to customers at worst. Even when they’re good, attempts at reinventing the wheel slightly can be a lot better. For a recent example, VMS-style clusters with a database were pretty bullet-proof at high-availability within a few hundred miles at decent performance. I’m still glad people worked on alternatives necessary to build Spanner and FoundationDB, though. That’s why we get even higher performance on cheaper boxes at a global level with similar level of consistency. It didn’t happen overnight either: people stayed trying to reinvent databases and distributed services for a while before things lined up right.

                                                                                                        4ad’s OpenSSL example is a good one. iOS vs Android for mobile apps is another.

                                                                                                        1. 1

                                                                                                          Doesn’t your argument mostly apply to closed source software in a commercial setting? I think it’s possible Linux wouldn’t stagnate even if there were no alternative OSes.

                                                                                                          1. 3

                                                                                                            Linux, as a product people consume, has a lot of diversity in it, from Ubuntu to Arch, to Slackware. As a kernel, no, Linus is pretty heavy handed on what the kernel cannot do these days, so we’re stuck with things like epoll until Linus changes his mind or moves on to another project.

                                                                                                            But lets flip this on me and have me using an OS that I quite like and thinks makes a lot of right decisions: FreeBSD. Do I think stagnation would be a problem if FreeBSD was the only operating system? Definitely. FreeBSD has ended up steeling good ideas from other operating systems that were very unlikely to arise within FreeBSD. The security conscious programmers at OpenBSD might have a kinship to FreeBSD, but the values of FreeBSD to align enough with them to be able to innovate in the ways that interest them.

                                                                                                            1. 1

                                                                                                              That’s a good counterpoint, thanks.

                                                                                                            2. 1

                                                                                                              That you went right to Linux shows that it’s an outlier. The last time someone dug up data, Nadia Eghbal, most of the FOSS projects were in bad shape financially. Things like Linux are rare. Situation is opposite for proprietary software.

                                                                                                              1. 2

                                                                                                                I’m aware of the funding issues with open source, but I think that’s a separate issue from what I’m trying to say. My point is: a monopoly or oligopoly of open source software wouldn’t be bad for the users of that software, because development would still continue due to the different incentive structure. Do you think that’s not true?

                                                                                                                1. 2

                                                                                                                  I think there’s at least two concerns: development drops off due to incentives not holding up (happens a lot); incentives, esp if corporate, can push the FOSS in directions people dont want. Red Hat and systemd is the first example coming to mind for Linux. Another was a scheduler I read about that improved things on desktop workloads that was rejected or pulled due to server focus of many stakeholders.

                                                                                                                  Good for users is relative. That there’s often competing interests means ability to diverge on some points is valuable. Whether you need it or not, who knows. Someone might.

                                                                                                          2. 3

                                                                                                            When the alternative is OpenSSL, I think the answer is self-evident.

                                                                                                            1. 1

                                                                                                              Were the problems with OpenSSL really driven by the lack of competition, or by the lack of funding?

                                                                                                              1. 2

                                                                                                                OpenSSL has many problems but no matter how well funded OpenSSL could be it will have a security hole in it because it’s software. Having some competition at least means not all of the software on ones stack would have the security hole.

                                                                                                            2. 2

                                                                                                              The common, concrete, argument given is usually security. A hole found in Linux probably does not affect BSD. VeriSign runs (at least?) three operating systems in their infrastructure for this reason. There is a push to support Tor better in BSD for this as well. It’s possible if x86 didn’t dominate our servers, Meltdown and Specter could have been less problematic (tangentially, I hope something comes of POWER9).

                                                                                                              For more hand wavy arguments, the different project cultures has allows for different ideas to flourish with other systems picking up the things that win. Despite not being an OpenBSD user, I support it with my money because I want it to survive because I think the world is a better place with the ideas that bubble up to the top making it elsewhere. I think it would be challenging for someone with an OpenBSD ethos to participate in Linux.

                                                                                                          3. 7

                                                                                                            Might also get something done. :)

                                                                                                            1. 2

                                                                                                              Or… adapting existing solutions to fit our problems might lead to vulnerabilities, additional cost, additional resource requirements, etc.

                                                                                                              But, yeah, you might go faster. You might not. As always, it depends.

                                                                                                            2. 3

                                                                                                              I don’t do any of this and pump terabytes of data through infrastructures and networks using stock software. It’s pretty pleasing.

                                                                                                              1. 5

                                                                                                                My job involves pumping lots of bytes through kafka, doing some computations on said data, and then writing them to cassandra.

                                                                                                                With more specialized tooling, this could be done far simpler, and cost a fraction of what the whole thing costs to run right now. Of course, at the expense of engineering resources to design, build, test, and operate it all. And, not to mention the time it’d take to do it.

                                                                                                                I’m all for composable solutions from well tested components, but let’s be honest—composing infrastructure requires you to make a lot of compromises…like wasting CPU cores by adopting redis…, etc.

                                                                                                              2. 2

                                                                                                                IMO, we still haven’t nailed some of those, esp web frameworks and OSes.

                                                                                                                Don’t read the comments.

                                                                                                                1. 1

                                                                                                                  Don’t read the comments.

                                                                                                                  That’s actually the best advice. Adding it to the list. :)

                                                                                                              1. 7

                                                                                                                SQL is something that everyone needs to learn better (including, sadly, the people doing the interviewing). I often see people doing something in two dozen lines of JS or Python (and two or three round-trips to the DB) that could be done in a single, well-written query.

                                                                                                                Otherwise, Python is what everyone uses, JS is what management thinks everyone should use, and Go is the new hotness.

                                                                                                                1. 5

                                                                                                                  When I was in charge of a product, we did as much as possible in SQL. For most requests, we would get JSON from Postgres and send it straight to the client. The longest queries we had were about 200 lines (we used CTEs a lot), but I believe that they were shorter than corresponding JavaScript, and we only needed one roundtrip to the database instead of several per request. It worked well.

                                                                                                                  I agree that SQL is underrated.

                                                                                                                  1. 2

                                                                                                                    SQL is something that everyone needs to learn better

                                                                                                                    Any books or other resources you would recommend for upping ones (Postgre)SQL game to mastery?

                                                                                                                    1. 1

                                                                                                                      SQL is something that everyone needs to learn better

                                                                                                                      I rarely deal with databases in my current job (I mean, “real” databases, rather than just flat files of data). I can write simple SQL queries, and have done for personal websites, but I don’t know it well. Thank you - that’s clearly something for me to study more.

                                                                                                                      […] Go is the new hotness.

                                                                                                                      That’s promising. I really enjoyed the small amount of Go I did recently.

                                                                                                                    1. 2

                                                                                                                      Is there any way to keep up with this blog? I find his work very interesting, but there doesn’t seem to be any way to subscribe using an rss/atom reader.

                                                                                                                      1. 5

                                                                                                                        Eh, the blog has RSS Autodiscovery metadata. Any feed reader implementing RSS Autodiscovery (most of them, IIRC) should work, just give the URL of the blog.

                                                                                                                        1. 1

                                                                                                                          Cool, I wasn’t aware of that feature.

                                                                                                                        2. 3

                                                                                                                          http://sam.zeloof.xyz/feed/

                                                                                                                          I find that many blogs still have a feed but it takes some digging to find it because it’s not linked anywhere on the pages.

                                                                                                                          Also, I use NewsBlur for my RSS subscriptions and it seems to be pretty good at finding the feed when given the URL of the blog itself.

                                                                                                                          1. 1

                                                                                                                            Thanks. I didn’t find anything when searching the site for “rss” and “atom.”

                                                                                                                        1. 2

                                                                                                                          Always a little wary when this is the first line:

                                                                                                                          At Microsoft, the core of our vision is “Any Developer, Any App, Any Platform”
                                                                                                                          

                                                                                                                          Orlly?

                                                                                                                          But I’m interested…

                                                                                                                          1. 4

                                                                                                                            Maybe “all platforms” means all versions of Windows, most OS X, and latest Debian stable.

                                                                                                                            1. 6

                                                                                                                              To be fair, that puts them miles ahead of almost everybody else working on platforms these days :(

                                                                                                                              All the action right now seems to be on “JS tool of the week” and “build for Android and iOS with one codebase”

                                                                                                                            2. 3

                                                                                                                              I sincerely don’t understand this hate against Microsoft.

                                                                                                                              Yeah sure, Ballmer days sucked and they really screwed up. But since Natya picked up the role, there seems to have been quite a shift in the company’s mindset. Plus all the OS things they’ve been doing in the past few years.

                                                                                                                              1. 1

                                                                                                                                That’s a description of what they want to extend and eventually extinguish.

                                                                                                                                1. 1

                                                                                                                                  That view is a little out of date, don’t you think? What have they tried to extinguish recently?

                                                                                                                              1. 8

                                                                                                                                The act of powering up a computer, waiting for it to boot, doing some work, and then waiting for it to shut down gracefully is a barbaric ritual from ancient times. In 2018, we’re all modern and hip and just want to open up the laptop lid and get to work. Unfortunately this is easier said than done and as such it really only works reliably with the right combination of supported hardware. And even then, bugs in various layers of the OS can cause it to suddenly stop working consistently after an OS update.

                                                                                                                                This is one of the things keeping me on MacOS. The laptops are expensive for what they are, but the Just Works factor is pretty high.

                                                                                                                                1. 10

                                                                                                                                  This is one of the things keeping me on MacOS. The laptops are expensive for what they are, but the Just Works factor is pretty high.

                                                                                                                                  Have you found that to still be the case with recent models and OS revisions? That’s also the reason I’m on macOS, but it’s gotten less true for me over the past 3-4 years. The worst is that sleep/hibernate no longer seems to work reliably, and it happens on two completely different devices, a MacBook Pro (2016 model) and a MacBook Air (2014 model). About once a month, one will fail to properly wake from sleep when opening the case. Sometimes it fails to wake entirely; sometimes it seemingly wakes but won’t turn the backlight on (in the 2nd case it sometimes flashes on briefly). Usually this ends up requiring a hard powercycle to fix. Googling suggests I’m not alone, and there’s a whole pile of cargo-cart suggestions for fixing it (NVRAM resets and such). That’s by far the worst issue, but there’s a bunch of software-side stuff seemingly getting more flaky too (especially the App Store app, which sometimes requires a reboot to convince the Updates tab to load).

                                                                                                                                  In 10 years of using PowerBook and MacBook laptops 2004–14 I never had that kind of basic functionality fail to work flawlessly, and I would’ve completely agreed with you back then, which is why I kept buying them.

                                                                                                                                  1. 6

                                                                                                                                    I can confirm your experience - I sometimes have the issue with waking from sleep, and regularly see the OS freezing for extended periods of time (I do have a lot of applications open, but come on, it’s 2018). The quality of software has been declining over the last 4 years. Unfortunately, I still don’t see any better alternative.

                                                                                                                                    1. 3

                                                                                                                                      I am sorry, are you talking about your actual computer or was this a metaphor about human condition?

                                                                                                                                      1. 2

                                                                                                                                        Haha, it’s true, we’re all sleepwalking through life most of the time.

                                                                                                                                  2. 6

                                                                                                                                    Get a Thinkpad.

                                                                                                                                    1. 4

                                                                                                                                      The laptops are expensive for what they are, but the Just Works factor is pretty high.

                                                                                                                                      So, not really expensive for what they are, given that apparently no others do what they do, reliably?

                                                                                                                                      1. 2

                                                                                                                                        I wasn’t clear that I was referring primarily to the hardware - Windows 10 laptops with better specs (especially the GPU) and comparable build quality can be significantly cheaper than a new Macbook Pro.

                                                                                                                                        1. 1

                                                                                                                                          It’s the Apple Tax: “In the end, we found each Apple machine to cost more than a similarly equipped PC counterpart, with the baseline Mac Pro being the exception. Usually the delta is around $50 to $150…”

                                                                                                                                          1. 2

                                                                                                                                            So firstly, that’s an article from 8 years ago, that also highlights Apple machines having longer battery life, better resistance to malware, and use higher quality materials.

                                                                                                                                            Secondly, the thread is about a feature that works quite reliably on Apple computers, but very poorly on generic PC’s running Linux.

                                                                                                                                            So, if you want to call “better, more reliable features” a TAX, then we have to agree to label any product anywhere that is objectively better than it’s competitors, and has a higher price, “Includes CompanyName TAX”

                                                                                                                                            Got a HP laptop that works faster than a piece of shit Chromebook? Must be a HP Tax.

                                                                                                                                            Got a BMW that has more comfortable seats than a Camry? Must be a BMW Tax.

                                                                                                                                            1. 3

                                                                                                                                              Any time a person ever gave me a set of Mac specs I was able to find a cheaper Windows machine that could do the same with hardware that works well. It’s not shocking at all to me given Apple’s marketing strategy of going for high margins. They’re currently one of the most profitable companies in the world with that strategy. Whereas, most of the other vendors became something more like commodities competing so hard on things like price. Your strawman comparisons don’t change that.

                                                                                                                                              1. 4

                                                                                                                                                And any time a person ever said to me “I found this non-Apple machine with the same features/specs” they conveniently leave out features that they personally don’t place value on.

                                                                                                                                                We can trade anecdotal stories all day, but the article you linked to, doesn’t really support your argument the way you seem to think it does.

                                                                                                                                                1. 2

                                                                                                                                                  Yup. Buying a product purely on paper specs instead of including things like build quality seems foolish.

                                                                                                                                                  Macs aren’t that expensive anyways when you compare them to machines in the same class, like ThinkPads, Surfaces, XPSes, Latitudes, etc.

                                                                                                                                        2. 2

                                                                                                                                          The thing keeping me on macOS is being able to use Control and Alt for emacs style shortcuts for editing text anywhere (like my browser’s URL bar) because all the system keyboard shortcuts use the Command key.

                                                                                                                                          https://jblevins.org/log/kbd

                                                                                                                                          1. 2

                                                                                                                                            Same. Apple can’t be beaten there in the current ecosystem. It just won’t happen. Unless Red Hat acquires a hardware vendor and builds a HatBook, there’s no chance. And they won’t do that because it’s not profitable enough.

                                                                                                                                            1. 6

                                                                                                                                              This is basically the idea behind Librem laptops.

                                                                                                                                              1. 7

                                                                                                                                                If only they had gigantic truckloads of money.

                                                                                                                                                1. 6

                                                                                                                                                  Only way to make that happen is to vote with our wallets. :)

                                                                                                                                                2. 1

                                                                                                                                                  I like the idea of librem, but unfortunately I cant see myself buying a laptop without a trackpoint…

                                                                                                                                                3. 2

                                                                                                                                                  There are some nice vendors where this Just Works. I use system76. Dell xps developer laptops are also great linux laptops.

                                                                                                                                                  1. 2

                                                                                                                                                    As a very happy Surface Book user, I’d argue you’ve forgotten about the other OS vendor.

                                                                                                                                                    1. 1

                                                                                                                                                      I’ve had this working on a de-chromed chomebook and xubuntu for a long time, the key is using not too new hardware maybe?

                                                                                                                                                      1. 1

                                                                                                                                                        That’s definitely the key. And while I’m glad you have a setup you’re happy with and have no doubt it works for you, I doubt it works for everyone, or even a majority.

                                                                                                                                                  1. 3

                                                                                                                                                    I’m working on my Elm-based static site generator and my Elm book, as well as some less fun consulting bits.

                                                                                                                                                    1. 2

                                                                                                                                                      Am I the only one that thinks that all these netflix things are extremely over-engineered? The bulk of their content is not even served from AWS, but from boxes that are close to the eyeballs.

                                                                                                                                                      I am not saying, I could build one in a weekend or anything like it, but what do all these servers do? There is hardly any user interaction, except search and maybe giving a rating. The search is also not that big, given the size of the catalog they serve per country. The traffic comes from local caches. What is all this for, except keeping engineers in the bay area busy?

                                                                                                                                                      1. 19

                                                                                                                                                        just a psa, I don’t and have never worked for Netflix, all of this is mostly conjecture from experience.

                                                                                                                                                        sure, I think that micro service bloat is probably a problem that they have. and many of the FANG companies suffer from NIH (not invented here syndrome), in some cases because of (IMO) broken promotion processes that require engineers to ship “impactful” work at all costs, and in others just because they have an unlimited amount of money to spend on engineering time.

                                                                                                                                                        That being said, even the most trivial problems become quite difficult at the scale that they’re working at – they have 125 million subscribers worldwide, which means peak time is almost all of the time. In addition, maybe you only use search and ratings, but what about admin UI’s? What do customer service teams use? What tooling do content creators use to get materials onto their platform, and what do they use to monitor metrics for content once it’s uploaded? What about ML and BI concerns, SOC2 concerns, GDPR concerns? I could go on forever perhaps. It’s very difficult to reconstruct all of the reasons for the way any platform evolved the way it did without getting a historical architecture overview. But! Their service is very reliable and their business is profitable, so they must be doing something right. (not that there isn’t always room for improvement)

                                                                                                                                                        1. 15

                                                                                                                                                          There was a good presentation at StrangeLoop last year: Antics, Drift, and Chaos. The short version is “Netflix is a monitoring company that, as an interesting and unexpected byproduct, also streams movies.”

                                                                                                                                                          1. 1

                                                                                                                                                            this is great! thanks for the link – I’ve got to get to strangeloop next year.

                                                                                                                                                            1. 1

                                                                                                                                                              What kind of monitoring do they do, do you know?

                                                                                                                                                              1. 3

                                                                                                                                                                We use Atlas for monitoring.

                                                                                                                                                            2. 1

                                                                                                                                                              The result and the press is not as important as the journey. Being able to failover that quickly such a huge infrastructure is impressive, but the most important part is how they managed to achieve this and improve their work-flow, resiliency, and many other things along the way!

                                                                                                                                                              1. 1

                                                                                                                                                                I assume these other boxes are Very Important^TM for authorization and provides the search/indexing functionality of their service. The CDN boxes they ship out do nothing but host the videos, and not all videos exist on each box, so something would have to handle directing you to the correct node.

                                                                                                                                                                You can’t stream the videos if you can’t get authorization, so…

                                                                                                                                                                1. 1

                                                                                                                                                                  Those boxes they ship to ISPs only hold a subset of content. They still have to deal with routing a request to the closest node with the content they want, and update the ISP cache box with that content when there’s a spike in demand for something that isn’t cached locally. If your AWS nodes are down and nobody on the ISP requested Star Trek in the last N hours, you’re up shit creek with the customer requesting it unless you have a good fail over strategy.

                                                                                                                                                                  I doubt those ISP cache nodes do local authentication or billing, either.

                                                                                                                                                                  1. 1

                                                                                                                                                                    Do you know where the movie content lives though? I’d be surprised if any of it was served from AWS hosts, instead I’d expect it on a CDN somewhere. I don’t think @fs111 is saying that Netflix doesn’t do anything, but rather does their architecture actually make sense given what they do?

                                                                                                                                                                    My two cents is that it is probably overengineered and that is probably because it happened organically because nobody really knew what they were doing. With hindsight we could probably say some things are needed or could be done simpler.

                                                                                                                                                                    1. 2

                                                                                                                                                                      The video content, at least as of a couple of years ago, is encoded by EC2 instances into a bunch of qualities/formats (some on demand, I believe?), which live in S3 and are shuttled to around to various ISP cache nodes as needed.

                                                                                                                                                                      Netflix doesn’t use a CDN, they are a CDN.

                                                                                                                                                                      1. -1

                                                                                                                                                                        Netflix doesn’t run S3, though, which, for my point, is not different than outsourcing to some CDN.

                                                                                                                                                                        1. 2

                                                                                                                                                                          S3 isn’t geographically distributed at all. It’s RAID with a REST API. It’s nothing like a CDN – Netflix does all the CDN things (replication, dynamic routing-by-proximity, distributing content to multiple edges close to customers) at their own layer above the storage layer.

                                                                                                                                                                1. 4

                                                                                                                                                                  The distribution of programming talent is likely normal, but what about their output?

                                                                                                                                                                  The ‘10X programmer’ is relatively common, maybe 1 standard deviation from the median? And you don’t have to get very far to the left of the curve to find people who are 0.1X or -1.0X programmers.

                                                                                                                                                                  Still a good article! I think this confusion is the smallest part of what he’s trying to say.

                                                                                                                                                                  1. 6

                                                                                                                                                                    That’s an interesting backdoor you tried to open to sneak the 10x programmer back into not being a myth.

                                                                                                                                                                    1. 6

                                                                                                                                                                      They exist, though. So, more like the model that excludes them is broken front and center. Accurate position is most people aren’t 10x’ers or even need to be that I can tell. Team players with consistency are more valuable in the long run. That should be majority with some strong, technical talent sprinkled in.

                                                                                                                                                                      1. 3

                                                                                                                                                                        Is there evidence to support that? As you know, measuring programmer productivity is notoriously difficult, and I haven’t seen any studies to confirm the 10x difference. I agree with @SeanTAllen, it’s more like an instance of the hero myth.

                                                                                                                                                                        EDIT: here are some interesting comments by a guy who researched the literature on the subject: https://medium.com/make-better-software/the-10x-programmer-and-other-myths-61f3b314ad39

                                                                                                                                                                        1. 5

                                                                                                                                                                          Just think back to school or college where people got the same training. Some seemed natural at the stuff running circles around others for whatever reason, right? And some people score way higher than others on parts of math, CompSci, or IQ tests seemingly not even trying compared to those that put in much effort to only underperform.

                                                                                                                                                                          People that are super-high performers from the start exist. If they and the others study equally, the gap might shrink or widen but should widen if wanting strong generalists since they’re better at foundational skills or thinking style. I don’t know if the 10 applies (probably not). The concept of gifted folks making easy work of problems most others struggle is something Ive seen a ton of in real life.

                                                                                                                                                                          Why would they not exist in programming when they exist in everything else would be the more accurate question.

                                                                                                                                                                          1. 0

                                                                                                                                                                            There’s no question that there is difference in intellectual ability. However, I think that it’s highly questionable that it translates into 10x (or whatever-x) differences in productivity.

                                                                                                                                                                            Partly it’s because only a small portion of programming is about raw intellectual power. A lot of it is just grinding through documentation and integration issues.

                                                                                                                                                                            Partly it’s because there are complex interactions with other people that constrain a person. Simple example: at one of my jobs people complained a lot about C++ templates because they couldn’t understand them.

                                                                                                                                                                            Finally, it’s also because the domain a person applies themselves to places other constraints. Can’t get too clever if you have to stay within the confines of a web framework, for example.

                                                                                                                                                                            I guess there are specific contexts where high productivity could be realised: one person creating something from scratch, or a group of highly talented people who work well together. But those would be exceptional situations, while under the vast majority of circumstances it’s counterproductive to expect or hope for 10x productivity from anyone.

                                                                                                                                                                            1. 2

                                                                                                                                                                              I agree with all of that. I think the multipliers kick in on particular tasks which may or may not produce a net benefit overall given conflicting requirements. Your example of one person being too clever with some code for others to read is an example of that.

                                                                                                                                                                              1. 3

                                                                                                                                                                                I think the 10x is often realized by just understanding the requirements better. For example, maybe the 2 week long solution isn’t really necessary because the 40 lines you can write in the afternoon are all the requirement really required.

                                                                                                                                                                              2. 2

                                                                                                                                                                                There’s no question that there is difference in intellectual ability. However, I think that it’s highly questionable that it translates into 10x (or whatever-x) differences in productivity.

                                                                                                                                                                                It does not simply depends on how you measure, it depends on what you measure.

                                                                                                                                                                                And it may be more than “raw intellectual power”. For me it’s usually experience.

                                                                                                                                                                                As a passionate programmer, I’ve faced more problems and more bugs than my colleagues.
                                                                                                                                                                                So it often happens that I solve in minutes problems that they have struggled for hours (or even days).
                                                                                                                                                                                This has two side effects:

                                                                                                                                                                                • managers tends to assign me the worst issues
                                                                                                                                                                                • colleagues tends to ask me when the can’t find a solution

                                                                                                                                                                                Both of this force me to face more problems and bugs… and so on.

                                                                                                                                                                                Also such experience make me well versed at architectural design of large applications: I’m usually able to avoid issues and predict with an high precision the time required for a task.

                                                                                                                                                                                However measuring overall productivity is another thing:

                                                                                                                                                                                • I can literally forget what I did yesterday morning (if it was for a different customer than the one I’m focused now)
                                                                                                                                                                                • at time I’m unable to recognize my own code (with funny effects when I insult or lode it)
                                                                                                                                                                                • when focused, I do not ear people talking at me
                                                                                                                                                                                • I ignore 95% of mails I receive (literally all those with multiple recipients)
                                                                                                                                                                                • being very good at identifying issues during early analysis at times makes some colleague a bit upset
                                                                                                                                                                                • being very good at estimating large projects means that when you compare my estimation with others, mine is usually higher (at times a lot higher) because I see most costs upfront. This usually leads to long and boring meeting where nobody want to take the responsibility to adopt the more expensive solution (apparently) but nobody want to take the risk of alternative ones either…
                                                                                                                                                                                • debating with me tends to become an enormous waste of time…

                                                                                                                                                                                So when it’s a matter of solving problems by programming, I’m approach the 10x productivity of the myth despite not being particularly intelligent, but overall it really depends on the environment.

                                                                                                                                                                                1. 1

                                                                                                                                                                                  This is a good exposition of what a 10x-er might be and jives with my thoughts. Some developers can “do the hard stuff” with little or no guidance. Some developers just can’t, no matter how much coaching and guidance are provided.

                                                                                                                                                                                  For illustration, I base this on one tenure I had as a team lead, where the team worked on some “algorithmically complex” tasks. I had on my team people who were hired on and excelled at the work. I had other developers who struggled. Most got up to an adequate level eventually (6 months or so). One in particular never did. I worked with this person for a year, teaching and guiding, and they just didn’t get it. This particular developer was good at other things though like trouble shooting and interfacing with customers in more of a support role. But the ones who flew kept on flying. They owned it, knew it inside and out.

                                                                                                                                                                                  It’s odd to me that anyone disputes the fact there are more capable developers out there. Sure “productivety” is one measure, and not a good proxy for ability. I personally don’t equate 10x with being productive, that clearly makes no sense. Also I think Fred Brookes Mythical Man Month is the authoritative source on this. I never see it cited in these discussions.

                                                                                                                                                                            2. 2

                                                                                                                                                                              There may not be any 10x developers, but I’m increasingly convinced that there are many 0x (or maybe epsilon-x) developers.

                                                                                                                                                                              1. 3

                                                                                                                                                                                I used to think that, but I’m no longer sure. I’ve seen multiple instances of what I considered absolutely horrible programmers taking the helm, and I fully expected those businesses to fold in a short period of time as a result - but they didn’t! From my point of view, it’s horrible -10x code, but for the business owner, it’s just fine because the business keeps going and features get added. So how do we even measure success or failure, let alone assign quantifiers like 0x?

                                                                                                                                                                                1. 1

                                                                                                                                                                                  Oh, I don’t mean code quality, I mean productivity. I know some devs that can work on the same simple task for weeks, miss the deadline, and be move on to a different task that they also don’t finish.

                                                                                                                                                                                  Even if the code they wrote was amazing, they don’t ship enough progress to be of much help.

                                                                                                                                                                                  1. 1

                                                                                                                                                                                    That’s interesting. I’ve encountered developers who were slow but not ones who would produce nothing at all.

                                                                                                                                                                                    1. 4

                                                                                                                                                                                      I’ve encountered it, though it was unrelated to their skill. Depressive episodes, for example, can really block someone. So can burnout, or outside stresses.

                                                                                                                                                                                      Perhaps there are devs who cannot ship code at all, but I’ve only encountered unshipping devs that were in a bad state.

                                                                                                                                                                                  2. 1

                                                                                                                                                                                    You’re defining programming ability by if a business succeeds though. There are plenty of other instances where programming is not done for the sake of business, though.

                                                                                                                                                                                    1. 1

                                                                                                                                                                                      That’s true. But my point is that it makes no sense to assign quantifiers to programmer output without actually being able to measure it. In business, you could at least use financials as a proxy measure (obviously not a great one).

                                                                                                                                                                                2. 1

                                                                                                                                                                                  Anecdotally, I’m routinely stunned by how productive maintainers of open source frameworks can be. They’re certainly many times more productive than I am. (Maybe that just means I’m a 0.1x programmer, though!)

                                                                                                                                                                                  1. 1

                                                                                                                                                                                    I’m sure that’s the case sometimes. But are they productive because they have more sense of agency? Because they don’t have to deal with office politics? Because they just really enjoy working on it (as opposed to a day job)? There are so many possible reasons. Makes it hard to establish how and what to measure to determine productivity.

                                                                                                                                                                              2. 3

                                                                                                                                                                                I don’t get why people feel the need to pretend talent is a myth or that 10x programmers are a myth. It’s way more than 10x. I don’t get why so many obviously talented people need to pretend they’re mediocre.

                                                                                                                                                                                edit: does anyone do this in any other field? Do people deny einstein, mozart, michaelangelo, shakespear, or newton? LeBron James?

                                                                                                                                                                                1. 4

                                                                                                                                                                                  Deny what exactly? That LeBron James exists? What is LeBron James a 10x of? Is that Athelete? Basketball player? What is the scale here?

                                                                                                                                                                                  A 10x programmer. I’ve never met one. I know people who are very productive within their area of expertise. I’ve never met someone who I can drop into any area and they are boom 10x more productive and if you say “10x programmer” that’s what you are saying.

                                                                                                                                                                                  This of course presumes that we can manage to define what the scale is. We can’t as an industry define what productive is. Is it lines of code? Story points completed? Features shipped?

                                                                                                                                                                                  1. 2

                                                                                                                                                                                    Context is a huge factor in productivity. It’s not fair to subtract it out.

                                                                                                                                                                                    I bet you’re a lot more then 10X better then I am at working on Pony… Any metric you want. I don’t write much C since college, I bet you’re more then 10X better then me in any C project.

                                                                                                                                                                                    You were coding before I was born, and as far as I can tell are near the top of your field. I’ve been coding most of my life, I’m good at it, the difference is there though. I know enough to be able to read your code and tell that you’re significantly more skilled then I am. I bet you’re only a factor of 2 or 3 better at general programming then I am. (Here I am boasting)

                                                                                                                                                                                    In my areas of expertise, I could win some of that back and probably (but I’m not so sure) outperform you. I’ve only been learning strategies for handling concurrency for 4 years? Every program (certainly every program with a user interface) has to deal with concurrency, your skill in that sub-domain alone could outweigh my familiarity in any environment.

                                                                                                                                                                                    There are tons of programmers out there who can not deal with any amount of concurrency at all in their most familiar environment. There are bugs that they will encounter which they can not possibly fix until they remedy that deficiency, and that’s one piece of a larger puzzle. I know that the right support structure of more experienced engineers (and tooling) can solve this, I don’t think that kind of support is the norm in the industry.

                                                                                                                                                                                    If we could test our programming aptitudes as we popped out of the womb, all bets are off. This makes me think that “10X programmer” is ill-defined? Maybe we’re not talking about the same thing at all.

                                                                                                                                                                                    1. 2

                                                                                                                                                                                      No I agree with you. Context is important. As is having a scale. All the conversations I see are “10x exists” and then no accounting for context or defining a scale.

                                                                                                                                                                                  2. 2

                                                                                                                                                                                    While I’m not very familiar with composers, I can tell you that basketball players (LeBron) can and do have measurements. Newton created fundamental laws and integral theories, Shakespeare’s works continue to be read.

                                                                                                                                                                                    We do acknowledge the groundbreaking work of folks like Ken Ritchie, Ken Iverson, Alan Kay, and other computing pioneers, but I doubt “Alice 10xer” at a tech startup will have her work influence software engineers hundreds of years later, so bar that sort of influence, there are not enough metrics or studies to show that an engineer is 10x more than another in anything.

                                                                                                                                                                                2. 3

                                                                                                                                                                                  The ‘10X programmer’ is relatively common, maybe 1 standard deviation from the median? And you don’t have to get very far to the left of the curve to find people who are 0.1X or -1.0X programmers.

                                                                                                                                                                                  So, it’s fairly complicated because people who will be 10X in one context are 1X or even -1X in others. This is why programming has so many tech wars, e.g. about programming languages and methodologies. Everyone’s trying to change the context to one where they are the top performers.

                                                                                                                                                                                  There are also feedback loops in this game. Become known as a high performer, and you get new-code projects where you can achieve 200 LoC per day. Be seen as a “regular” programmer, and you do thankless maintenance where one ticket takes three days.

                                                                                                                                                                                  I’ve been a 10X programmer, and I’ve been less-than-10X. I didn’t regress; the context changed out of my favor. Developers scale badly and most multi-developer projects have a trailblazer and N-1 followers. Even if the talent levels are equal, a power-law distribution of contributions (or perceived contributions) will emerge.

                                                                                                                                                                                  1. 1

                                                                                                                                                                                    I’m glad you acknowledge that there’s room for a 10X or more then 10X gap in productivity. It surprises me how many people claim that there is no difference in productivity among developers. (Why bother practicing and reading blog posts? It won’t make you better!)

                                                                                                                                                                                    I’m more interested in exactly what it takes to turn a median (1X by definition) developer into an exceptional developer.

                                                                                                                                                                                    I don’t buy the trail-blazer and N-1 followers argument because I’ve witnessed massive success (by any metric) cleaning up the non-functioning, non-requirements meeting (but potentially marketable!) untested messes that an unskilled ‘trailblazer’ leaves in their (slowly moving) wake. Do you think it’s all context or are there other forces at work?

                                                                                                                                                                                1. 8

                                                                                                                                                                                  I never could get into these jump tools. zsh with auto_cd and cdpath is good enough for me. I just type dotf<Tab><Enter>, it completes to dotfiles/ and cds into ~/src/github.com/myfreeweb/dotfiles (because that …myfreeweb/ directory is on the cdpath).

                                                                                                                                                                                  1. 4

                                                                                                                                                                                    Another really useful thing about zsh autocompletion is that it matches on any portion of the directory name. So, for example, when I had multiple projects like project-server, project-hq, and project-mobile, I only needed to type eg -mob<Tab> and it would autocomplete to project-mobile. It was very convenient because I switched between these three directories all the time.

                                                                                                                                                                                    1. 4

                                                                                                                                                                                      My favorite is the deep path expansion, e.g. ~/s/g/m/dot to ~/src/github.com/myfreeweb/dotfiles. I really miss that in other applications (e.g. neovim)

                                                                                                                                                                                      1. 2

                                                                                                                                                                                        I use that a fair bit as well, it’s a helpful feature.

                                                                                                                                                                                      2. 1

                                                                                                                                                                                        Autojump utilities, such as fasd and pazi (mine), do that as well. Some of them (fasd, not pazi) even have shell autocomplete too so z hq would go to project-hq if that were frecent.

                                                                                                                                                                                        One other cool feature they have which tab-completion sorta mimics is picking from items in a list. With those, z -i project would give an interactive menu of all items with “project”, while with tab completion, double-mashing tab does a similar thing.

                                                                                                                                                                                        If auto_cd is good enough for you, that’s totally fine, I just want to also explain that autojump utilities also do have tab completion and partial matching of path partial parts too.

                                                                                                                                                                                      3. 3

                                                                                                                                                                                        One of my favorite features is auto_pushd. It combines nicely with auto_cd. Zsh is remarkably well polished.

                                                                                                                                                                                      1. 4

                                                                                                                                                                                        I’ve been tinkering with my Elm-based static site generator which is based on elm-static-html. That library relies on Elm’s undocumented native modules feature which is going away with the next release of the compiler, so I’m trying to figure out if there’s a way to do Elm-to-HTML conversion without relying on native modules.