1. 4

    As we expect the language to evolve rapidly, we strongly recommend using the regular releases instead of the LTS releases for large projects; while this does mean you need to upgrade more often, both us and our users have found that it is generally easier to catch up on 2 months worth of changes 3 times as often than 6 months of changes in one go. We will also be re-evaluating the length of our release cycle; one possibility is that we will move to releases every 4 weeks, with these releases being supported for 6-8 weeks.

    That’s a break-neck pace usually seen at the genesis of a new language. I know they’re dying to change it and being PHP-compatible has been holding that back, so it makes sense. However, this really means that everyone using it as a drop-in “faster PHP” is going to have to pin their deps for now and possibly migrate back to PHP soon because that’s a hard cadence to maintain for many projects.

    1. 4

      I think they decided that they’re just gonna consider it as an internal tool with no warrant for users outside the company at this point; the major users have either dropped HHVM or recommend using PHP7, from what I understand.

      1. 2

        However, this really means that everyone using it as a drop-in “faster PHP” is going to have to pin their deps for now and possibly migrate back to PHP soon

        If they are not already compatible with it, switching to PHP 7 is arguably the best path for most code since it is as fast or faster than HHVM for most workloads.

      1. 3
        1. It can’t do anything technologically useful.
        2. It should be fast at doing what it does, so that it is safe to call LOLWUT on production instances.
        3. The output should be entertaining in some way.

        This is irritating to all of us with open PRs for real improvements, bugfixes, and enhancements that are starved for attention.

        Because of the master-slave fiasco and intense work involved with scrubbing everything, he now needs a diversion to like working on his own project again? That’s great, it’s over – now let’s get back to brass tacks and fix defects, finally finish replication enhancements now being worked on for 2 years, finally wrap up streams (Salvatore’s pet project nobody asked for), and improve performance to play catch-up with other datastores.

        1. 30

          Or, antirez can spend his time as he sees fit, just like any other FOSS maintainer.

          1. 9

            I’m sorry your PRs weren’t getting attention, but it was very important to change a word and the negative discourse associated with that (and this resulting cry for help) were much more critical to spend cycles on.

            You can’t prioritize software quality over Twitter grumping, that’d be silly.

            1. 6

              I haven’t followed the details of the master-slave kerfuffle, but it seems to be simply a failure of community management. As a lazy maintainer, it seems like the proper route is just to say “I acknowledge that people feel so strongly about this sort of terminology and will happily accept PR’s to fix the problem; this seems like a good candidate for new contributors to get their feet wet with” and link to a connected issue tracker.

              Then after a year or two of no nobody submitting fixes you close the issue as WONTFIX and get on with life.

              Edit: That said, taking a break from the stuff you have to do and making something functioning, silly and completely irrelevant in the grand scheme of things can be deeply satisfying. Sometimes you need that sort of thing to remind us why we love doing what we do.

              1. 3

                Yeah, I still don’t understand how Twitter discussions can have this impact on people’s lives.

                Together with just some wording used since the beginning of IT. So why can’t words acquire new meanings? Isn’t that the definition of a living language?

                1. 3

                  Because the people are suffering from some kind of delusion.

                  I would like to see the budding young DBA-to-be who veered off IT/CS/STEM because he or she got triggered by the word “slave”.

                  Or even honest testimonies along the lines of “I was always interested in code, but I’d suffer immense panic attacks when I saw the word ‘blacklist’. I’m a Person of Color so this touches me deeply. The maintainer was kind enough to rename it (we settled on disallowlist) and now I commit a few times a year to the project. I have never felt this included and welcome in my life. Best of all? No one even complained about the broken APIs after the rename!”

                  1. 1

                    What I find weird is the “matter of fact” tone plus many contributors (not necessarily the maintainer) caving in right away, as if they also felt dirty while typing “git push - u origin master” or felt all the weight of worldwide injustices when the main DB switched to the “slave” one. I was relieved reading sane supporters though.

                  2. 2

                    Yes words do this constantly. But only in a negative way. Negative connotations tend to hang around. That’s why using these words is problematic. Also impractical, since you’d have to add a disclaimer that you mean the word in the new sense not the broadly known old one. If someone knows an example of some words changing from negative to positive connotations I’d be happy to hear about this.

                    For the current example I honestly don’t understand the quarrels people have. Why is dropping language that’s strongly tied to a history of colonisation and oppression a bad thing? Especially when other words can describe the same architectural pattern as accurately as the original words?

                    And every programmer knows that choice of words is important, we shouldn’t use them too lightly.

                    To turn the question around: So why can’t concepts get new names if the old ones are problematic?

                    1. 7

                      If someone knows an example of some words changing from negative to positive connotations I’d be happy to hear about this.

                      • Fun - to cheat or hoax
                      • Smart - a sharp stinging pain
                      • Fond - a fool
                      1. 4

                        “Nice” is one of such words. It meant foolish and silly.

                        The problem isn’t much about naming by itself: you want to use “disallowedList” and “allowedList”? Want to use “primary” and “replica”? Want to use “kaka” and “popo”, do as you wish. But going ahead and picking a project at seemingly random and force them to change words that have been picked as they are (or used to be) the standard name of those elements in a somewhat aggressive way then that’s where I’m drawing the line.

                        Or creating chaos on the issues section or on social media, extending the use of such standard words to the morals of the maintainers, that’s totally disgusting and absolutely useless.

                        What I find even more shocking isn’t the vocal part that enjoys stirring up drama for whatever reason (there is clearly a reason why these groups are doing this and it cannot be to make the tech world a friendlier place, that’s for sure) but it is people who just shrugs them off or who, just like you, now supports their point because they are somewhat technically correct.

                        Let’s start harassing all Spanish speaker developers who use the word “negro” for their black elements, how about the word “sheet” that reads as poo in Swedish, how about the word “pitch” that is extremely similar to a bad word in some Slavic languages, and “git”?

                        That is and would be dumb to do. Also, why is the “American” morality be pushed down the throats of the rest of the world? Just because they still cannot cope with their past, is that a good reason to force everyone to change their behaviour?

                        1. 3

                          I share the idea that this debate is totally dumb. There were intellectuals in the 90s that brought this up with Intel and IDE controllers. PATA went away and that debate didn’t matter, but now we see the same bullshit arising again.

                          The most vocal people in this fight are extremely childish and troll/harass developers. That’s not right. If you take a reasonable stance, you’re a racist.

                          I’m tired of outrage culture.

                          I highly recommend Brendan O’Neil’s speech on offence: https://www.youtube.com/watch?v=BtWrljX9HRA

                          and I also recommend the original post about this debate with ver well reasoned arguments:

                          http://antirez.com/news/122

                          1. 2

                            “In fact, pretty much every leap forward in history… pretty much every freedom we enjoy is a product of individuals having given offense. Having offended against the orthodoxies of their age. Offensiveness is not something we have to begrudgingly accept. Offensiveness is the motor of human progress.”

                            I’ll add the people against offending folks are defending beliefs created by offending folks ranging from speech to progress. Just like he said. They wouldn’t exist if their rules were enforced by the orthodoxy of the day when people were trying to get those reforms started. So, they glorify the reformers who offended piles of people creating their current belief systems but say nobody is allowed to offend their orthodoxies suggesting alternative systems. Double standards are a common sign of bullshit.

                            Edit: Oh, wait, he just said that, too, later in the speech. I’m still watching it.

                          2. 2

                            how about the word “sheet” that reads as poo in Swedish

                            I don’t want to get into the broader discussion again, but I speak fluent Swedish; sheet /ʃiːt/ does not look or sound like skit /ˈɧiːt/.

                            1. 1

                              Can’t argue with you, I just looked up English words which sounded/looked like bad words in other languages. Maybe they had something specific in mind, don’t know :)

                            2. 2

                              IMNSHO the use of the word “slave” isn’t as simple as being “American”. The African slaves were often sold off by their own chieftains, and different types of slavery have existed and (may be argued to) exist around the world.

                              The point about stirring up shit is more relevant. These are homonyms; a word that sounds the same or is spelled the same as another can have different meanings, as rhe examples above.

                              The slave in an IT or mechanical context simply isn’t the same type of slave that picked cotton in the southern states.

                              I’m sure there are plenty of Slavic lobsters here, but I haven’t read a single comment, here or elsewhere, of one of them being triggered by the etymology of that word.

                              1. 2

                                Exactly and that’s because on a global platform, filled with people from all around the world, with absolutely different cultures and languages, people (including myself) are not going to ruin someone else’s day just because they used a word which was/sound/looks/is derogatory in my own language on something totally unrelated.

                                If there was something totally unacceptable, one could look into why such a word was chosen or if it was intended at all, inform them privately of the thing (if, say, they are interested in being known in those countries) and move on. Not starting a debate about something pretty much every single culture in the world has had.

                                This seems to come from the wave of social justice which is plaguing certain countries, where one is offended for someone else and wants to be their saviour, while making everyone more miserable in the process, probably to achieve a “victory” for humanity or just themselves.

                                1. 1

                                  It’s not specifically American at all. Human trafficking rings (a polite euphemism for ‘selling people into slavery’) are still being fought by law enforcement around the world today.

                                  I’m sure there are plenty of Slavic lobsters here, but I haven’t read a single comment, here or elsewhere, of one of them being triggered by the etymology of that word.

                                  Reasonable people aren’t triggered by thousand-year-old etymology.

                                  https://en.wikipedia.org/wiki/Human_trafficking#Revenue indicates $150 billion/year in revenue derived from forced labor, globally. Consider that your users might actually include someone who has been enslaved and would rather not be reminded of it at work.

                                  1. 2

                                    Yet your example is hypothetical. There might actually be someone. People shouldn’t be triggered by homonyms at all.

                                    Maybe the next hill to die on is killing or terminating child processes. Many women need to have late abortions and be reminded at work of infanticide.

                                    This will never stop unless maintainers put their foot down and say that messing around with APIs because a vocal minority bullies them is not ok.

                                    The case would be stronger if the proponents of this had personal experience to share, or other evidence to back it up. Even then, we’re talking about software, not people. Better would be to donate to Amnesty or do something else than change every word and rewrite all the dictionaries.

                                    1. 1

                                      People shouldn’t be triggered by homonyms at all.

                                      If only we got a choice about what trauma the world inflicted on us.

                                      Maybe the next hill to die on is killing or terminating child processes

                                      Maybe. But since nobody has, to my knowledge, brought it up - you are raising a ridiculous straw-man (straw-person, ha).

                                      This will never stop unless maintainers put their foot down and say that messing around with APIs because a vocal minority bullies them is not ok.

                                      Of the things that might stop it, that seems like one of the least likely to work.

                                      As noted elsewhere in the thread, “Feel free to submit a complete PR, including all documentation updates” is more than enough to get them to leave you alone. In the unlikely event that someone cares enough to actually do the work, I’d suggest you’ve just gained a hardworking co-contributor.

                                2. 1

                                  Please do not conflate my questions or position with abusive behaviour towards others. My post was not about that. I haven’t asked you to do anything, nor have I endorsed abusive behaviour by others. If my questions or position causes so much grief and anger maybe it’s worth exploring why that is the case?

                                  Please relax, there’s no need for this aggravating tone here.

                                  1. 1

                                    Mmm what?

                      1. 2

                        pico < nano < micro

                        1. 5

                          mili < vim < kilo < mega < giga < emacs

                          1. 2

                            it’s just a static binary

                            Erm…

                            $ file micro-1.4.1/micro 
                            micro-1.4.1/micro: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=5a83ed8300296d2d29c7c21b668bda0a1db5fa7ba, stripped
                            

                            (This seems to be a common misunderstanding these days.)

                            1. 3

                              I think a lot of people use “static binary” to mean “doesn’t link against anything other than libc” now. Not that that’s correct, but it’s certainly how the Go world tends to use it, which is unfortunate.

                            2. -1

                              Not sure I want an editor to be written in Go, to be honest.

                              1. 3

                                Why not? As with the parent comment you replied to I would very much like to know why you think so. The reasoning behind a claim is often more interesting than the claim itself.

                                1. 1

                                  Some languages just come with a smell of lower quality. If something is written in a language like JavaScript, PHP or Go, I just immediately assume that the engineering standards are lower then some alternative written in e. g. Rust, F#, Haskell – or even C and C++.

                                  I guess some languages are just more attractive to the “worse is better” crowd, and I have become wary of the resulting software.

                                2. 2

                                  Lets be honest here, on a single user system 35kb of ram vs 1 meg of ram doesn’t change much… But given the choice one is better.

                                  1. 1

                                    Any specific reason why?

                                1. 9

                                  guitar cord fingering distance

                                  1. 2

                                    Great read on the process this artifact is a part of: https://blog.golang.org/toward-go2

                                      1. 2

                                        Honest question (I know basically nothing about this area): are recommendation algorithms ever used for anything other than…selling things on the web?

                                        1. 5

                                          They only became “recommendation algorithms” recently. Before sub-specializing, they were used in information retrieval. If you recall, about 10 years ago there was the Netflix Prize to advance the field (and boy did it cause a lot of papers to be written!) by putting a million dollars out there to craft accurate prediction engines out of existing or novel new information retrieval algorithms. The team that won (submitting 24 minutes before the 3 year long deadline) was BellKor’s Pragmatic Chaos (paper here). At its heart, this super-tuned recommendation algorithm is actually an ensemble of pretty traditional IR algos: Restricted Boltzmann Machines (RBMs), matrix factorization with temporal dynamics, and a bunch of basic predictors brought together with gradient boosted decision trees (GBDT). These are general-purpose techniques that were tuned and blended to produce the recommender (RBMs can just as easily be used in computer vision and credit scoring, for example).

                                        1. 4

                                          Trying to figure out a good outdoor security camera system for my new house that can record to the existing NAS (NVR-style) and not forward video to the cloud while still having neat realtime alerts to our mobile devices and remote streaming. The tough requirement is not proxying through the cloud for these features and also securing the streams (i.e. tunneling or RTMPS instead of RTSP or similar).

                                          1. 3

                                            I currently am using the nightfox and yes I do program it cause there’s some buttons that I want on the second layer.

                                            I love it.

                                            1. 1

                                              I want a Nightfox badly but I’ve seen nothing but bad reviews (example video review) of the Hako switches, in particular the Trues that are the only remaining available choice.

                                              You said you love it, so I wonder what switches you have and what your preferences are? Have you tried Zealios?

                                              1. 1

                                                I do have the Hako switches and would have prefered MX browns or Gateron browns but I do like these ones. Honestly they were pretty heavy when I first got them but they are actually really nice now, I would compare them to MX blacks.

                                            1. 9

                                              Please note this is from April; a lot has happened.

                                              This week, the networking WG is supposed to be making some posts overviewing the state of play as it is today. We have landed futures in the core library as well as the first implementation of async/await in the compiler. Still more work to do, though!

                                              1. 2

                                                Exciting! What’s the best way to stay up to date on all this?

                                                1. 4

                                                  This Week in Rust collects the latest news, upcoming events and a week-by-week account of changes in the Rust language and libraries.

                                                  The Rust Blog is where the Rust team makes announcements about major developments.

                                                  And nearly everything happening in Rust is discussed on the unofficial subreddit, /r/rust.

                                                  1. 2

                                                    Probably following the network working group newsletter; one should be out this week with a summary of where we’re at with everything, and what is left to be done. I’ll make sure it gets posted to lobste.rs.

                                                    1. 1
                                                    2. 1

                                                      So what’s the current state regarding implicit vs. explicit execution? Last time I checked there were both explicit executors and poll.

                                                      1. 2

                                                        I think you’re asking about Tokio; the standard library doesn’t provide an executor. The executor is implicit. You still call tokio::run, but that’s it. See here: https://tokio.rs/blog/2018-03-tokio-runtime/

                                                        poll is still the core of how Futures works. https://doc.rust-lang.org/nightly/std/future/trait.Future.html

                                                        1. 3

                                                          So future.map(...).filter(...) won’t start executing until it is polled explicitly? I found the documentation to be somewhat silent on that.

                                                          1. 1

                                                            Yep!

                                                            1. 1

                                                              Thanks, good to hear.

                                                    1. 20

                                                      The yet-another open-plan office blog post is a terrible, horrible, no good, very bad idea.

                                                      1. 20

                                                        And it should be repeated over and over until pointy-haired management stops with the open plan office abuse, and people start demanding reasonable working conditions en masse.

                                                        1. 6

                                                          Things won’t change until a very successful company or startup says their success was because of their not-open office plans. PHBs follow what the big, successful companies do.

                                                          1. 4

                                                            We already have that. Microsoft always gave their employees offices. And they are somewhat successful. Yet no other company ever followed their lead. Go figure.

                                                          2. 3

                                                            TBH if I had to tackle one of the management issues today, I’d choose overtime instead of open offices…

                                                          3. 1

                                                            Yeah, is anyone ever arguing for those things? I don’t mind the one at my office, but we’re also a very small office with an average of six employees in it. I might like it better if we were even more isolated, but except for my coworkers’ typing, I hardly ever hear anything at all.

                                                            1. 2

                                                              It’s not really a big problem until you’re surrounded by people who work on unrelated stuff who like to have loud conversations.

                                                              1. 2

                                                                Yes, this is exactly the problem – not the open floor plan itself, but an open floor plan with lack of strategic desk placement.

                                                          1. 7

                                                            Quick notes: needs an editor’s eyes on it, as there are typos every few pages or awkward wordings. Even before the table of contents we run into one: “…with tons of hands-down tutorials…”

                                                            It’s very opinionated and makes bold assertions like “VS Code is the most popular IDE” and so forth. I understand the need to present a full development stack for folks following along in the book, but it’s literally halfway through the book before you’re done with that and only the remaining 50% is presenting components and other fundamental Vue concepts. I’d cite page numbers but you’ve omitted them. You begin by saying it’s optional to use all these tools and can get started without them but then you have readers follow along installing all of them next before introducing more Vue.js concepts. Isn’t that backwards from what you say at the outset; why not progress from the bottom up?

                                                            The formatting could also use a hand; the page sizes are small and have lots of margin, so the many screenshots and code blocks have run amok a bit, spanning pages and not always easy to follow.

                                                            Overall, beginners would be fast-tracked into writing a basic Vue.js webapp but have little understanding of the tools, why they were chosen, if there are alternatives, or if they could live without some of them. To wit, the title could have easily been The Vue with Yarn, Webpack, Vue Devtools Extension, VS Code, Vetur, Emmet, ESLint, CodeSandbox, Vuex, and Others Handbook for MacOS in Mid-2018.

                                                            1. 4

                                                              Thanks a lot for your detailed feedback! I really appreciate it and helps me improve for the next time I decide to do something similar!

                                                            1. 2

                                                              Yes. The only thing we need to unlock the lock is to know the BLE MAC address. The BLE MAC address that is broadcast by the lock.

                                                              Wow, that’s awful! I wonder if anyone has some good lock recommendations that have passed testing with good marks?

                                                              1. 4

                                                                You should see the mechanical lock they have that flings extra keys at anyone who rings the doorbell.

                                                                1. 1

                                                                  Well compared to this, you could always buy basically anything else, including the cheapest normal lock they have at the corner drugstore. It might be not too hard to cut, but at least it has an actual key and won’t open right up for any cellphone ever made.

                                                                  1. 2

                                                                    Also, according to the author the Tapplock was easier to cut than a normal hardware store padlock: https://twitter.com/cybergibbons/status/1007144017149063168

                                                                    1. 2

                                                                      the cheapest normal lock they have at the corner drugstore

                                                                      …can be opened with a shim fashioned from a soda can.

                                                                  1. 3

                                                                    …rather not have their digital privacy unknowingly violated

                                                                    The internet is a dangerous place to attempt that! I’m not sure self-reported tags would put a significant dent in it.

                                                                    …I’d like to know the author’s real intentions before clicking on one of these said links

                                                                    That’s unlikely to ever be fully revealed and will most certainly become something we bikeshed to death because there is so much gray area with figuring out someone else’s intent.

                                                                    1. 2

                                                                      And there’s a lot of gray area even when intentions are clear. Some of the best articles submitted (and, yes, the worst) are content marketing. Pretty much everything with a newsletter signup form or on a company domain.

                                                                      1. 1

                                                                        I guess the way I view it is that authors can self-report, but just as with any other tag or curation, the burden is on the community to best annotate these things.

                                                                        1. 1

                                                                          I would benefit from an ad tag.

                                                                      1. 4

                                                                        https://github.com/yt-project/unyt/search?q=smoot

                                                                        We couldn’t find any code matching ‘smoot’ in yt-project/unyt

                                                                        rip

                                                                        1. 3

                                                                          Open an issue? ;)

                                                                          1. 3

                                                                            This unit was new to me so I googled it

                                                                            https://en.m.wikipedia.org/wiki/Smoot

                                                                            It tickles me that Smoot later worked for ANSI and ISO.

                                                                            1. 7

                                                                              I always laugh when people come up with convoluted defenses for C and the effort that goes into that (even writing papers). Their attachment to this language has caused billions if not trillions worth of damages to society.

                                                                              All of the defenses that I’ve seen, including this one, boil down to nonsense. Like others, the author calls for “improved C implementations”. Well, we have those already, and they’re called Rust, Swift, and, for the things C is not needed for, yes, even JavaScript is better than C (if you’re not doing systems-programming).

                                                                              1. 31

                                                                                Their attachment to this language has caused billions if not trillions worth of damages to society.

                                                                                Their attachment to a language with known but manageable defects has created trillions if not more in value for society. Don’t be absurd.

                                                                                1. 4

                                                                                  [citation needed] on the defects of memory unsafety being manageable. To a first approximation every large C/C++ codebase overfloweth with exploitable vulnerabilities, even after decades of attempting to resolve them (Windows, Linux, Firefox, Chrome, Edge, to take a few examples.)

                                                                                  1. 2

                                                                                    Compared to the widely used large codebase in which language for which application that accepts and parses external data and yet has no exploitable vulnerabilities? BTW: http://cr.yp.to/qmail/guarantee.html

                                                                                    1. 6

                                                                                      Your counter example is a smaller, low-featured, mail server written by a math and coding genius. I could cite Dean Karnazes doing ultramarathons on how far people can run. That doesn’t change that almost all runners would drop before 50 miles, esp before 300. Likewise with C code, citing the best of the secure coders doesn’t change what most will do or have done. I took author’s statement “to first approximation every” to mean “almost all” but not “every one.” It’s still true.

                                                                                      Whereas, Ada and Rust code have done a lot better on memory-safety even when non-experts are using them. Might be something to that.

                                                                                      1. 2

                                                                                        I’m still asking for the non C widely used large scale system with significant parsing that has no errors.

                                                                                        1. 3

                                                                                          That’s cheating saying “non-c” and “widely used.” Most of the no-error parsing systems I’ve seen use a formal grammar with autogeneration. They usually extract to Ocaml. Some also generate C just to plug into the ecosystem since it’s a C/C++-based ecosystem. It’s incidental in those cases: could be any language since the real programming is in the grammar and generator. An example of that is the parser in Mongrel server which was doing a solid job when I was following it. I’m not sure if they found vulnerabilities in it later.

                                                                                      2. 5

                                                                                        At the bottom of the page you linked:

                                                                                        I’ve mostly given up on the standard C library. Many of its facilities, particularly stdio, seem designed to encourage bugs.

                                                                                        Not great support for your claim.

                                                                                        1. 2

                                                                                          There was an integer overflow reported in qmail in 2005. Bernstein does not consider this a vulnerability.

                                                                                      3. 3

                                                                                        That’s not what I meant by attachment. Their interest in C certainly created much value.

                                                                                      4. 9

                                                                                        Their attachment to this language has caused billions if not trillions worth of damages to society.

                                                                                        Inflammatory much? I’m highly skeptical that the damages have reached trillions, especially when you consider what wouldn’t have been built without C.

                                                                                        1. 12

                                                                                          Tony Hoare, null’s creator, regrets its invention and says that just inserting the one idea has cost billions. He mentions it in talks. It’s interesting to think that language creators even think of the mistakes they’ve made have caused billions in damages.

                                                                                          “I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn’t resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.

                                                                                          If the billion dollar mistake was the null pointer, the C gets function is a multi-billion dollar mistake that created the opportunity for malware and viruses to thrive.

                                                                                          1. 2

                                                                                            He’s deluded. You want a billion dollar mistake: try CSP/Occam plus Hoare Logic. Null is a necessary byproduct of implementing total functions that approximate partial ones. See, for example, McCarthy in 1958 defining a LISP search function with a null return on failure. http://www.softwarepreservation.org/projects/LISP/MIT/AIM-001.pdf

                                                                                            1. 3

                                                                                              “ try CSP/Occam plus Hoare Logic”

                                                                                              I think you meant formal verification, which is arguable. They could’ve wasted a hundred million easily on the useless stuff. Two out of three are bad examples, though.

                                                                                              Spin has had a ton of industrial success easily knocking out problems in protocols and hardware that are hard to find via other methods. With hardware, the defects could’ve caused recalls like the Pentium bug. Likewise, Hoare-style logic has been doing its job in Design-by-Contract which knocks time off debugging and maintenance phases. The most expensive. If anything, not using tech like this can add up to a billion dollar mistake over time.

                                                                                              Occam looks like it was a large waste of money, esp in the Transputer.

                                                                                              1. 1

                                                                                                No. I meant what I wrote. I like spin.

                                                                                            2. 1

                                                                                              Note what he does not claim is that the net result of C’s continued existence is negative. Something can have massive defects and still be an improvement over the alternatives.

                                                                                            3. 7

                                                                                              “especially when you consider what wouldn’t have been built without C.”

                                                                                              I just countered that. The language didn’t have to be built the way it was or persist that way. We could be building new stuff in a C-compatible language with many benefits of HLL’s like Smalltalk, LISP, Ada, or Rust with the legacy C getting gradually rewritten over time. If that started in the 90’s, we could have equivalent of a LISP machine for C code, OS, and browser by now.

                                                                                              1. 1

                                                                                                It didn’t have to, but it was, and it was then used to create tremendous value. Although I concur with the numerous shortcomings of C, and it’s past time to move on, I also prefer the concrete over the hypothetical.

                                                                                                The world is a messy place, and what actually happens is more interesting (and more realistic, obviously) than what people think could have happened. There are plenty of examples of this inside and outside of engineering.

                                                                                                1. 3

                                                                                                  The major problem I see with this “concrete” winners-take-all mindset is that it encourages whig history which can’t distinguish the merely victorious from the inevitable. In order to learn from the past, we need to understand what alternatives were present before we can hope to discern what may have caused some to succeed and others to fail.

                                                                                                  1. 2

                                                                                                    Imagine if someone created Car2 which crashed 10% of the time that Car did, but Car just happened to win. Sure, Car created tremendous value. Do you really think people you’re arguing with think that most systems software, which is written in C, is not extremely valuable?

                                                                                                    It would be valuable even if C was twice as bad. Because no one is arguing about absolute value, that’s a silly thing to impute. This is about opportunity cost.

                                                                                                    Now we can debate whether this opportunity cost is an issue. Whether C is really comparatively bad. But that’s a different discussion, one where it doesn’t matter that C created value absolutely.

                                                                                              2. 8

                                                                                                C is still much more widely used than those safer alternatives, I don’t see how laughing off a fact is better than researching its causes.

                                                                                                1. 10

                                                                                                  Billions of lines of COBOL run mission-critical services of the top 500 companies in America. Better to research the causes of this than laughing it off. Are you ready to give up C for COBOL on mainframes or you think both of them’s popularity were caused by historical events/contexts with inertia taking over? Im in latter camp.

                                                                                                  1. 7

                                                                                                    Are you ready to give up C for COBOL on mainframes or you think both of them’s popularity were caused by historical events/contexts with inertia taking over? Im in latter camp.

                                                                                                    Researching the causes of something doesn’t imply taking a stance on it, if anything, taking a stance on something should hopefully imply you’ve researched it. Even with your comment I still don’t see how laughing off a fact is better than researching its causes.

                                                                                                    You might be interested in laughing about all the cobol still in use, or in research that looks into the causes of that. I’m in the latter camp.

                                                                                                    1. 5

                                                                                                      I think you might be confused at what I’m laughing at. If someone wrote up a paper about how we should continue to use COBOL for reasons X, Y, Z, I would laugh at that too.

                                                                                                      1. 3

                                                                                                        Cobol has some interesting features(!) that make it very “safe”. Referring to the 85 standard:

                                                                                                        X. No runtime stack, no stack overflow vulnerabilities
                                                                                                        Y. No dynamic memory allocation, impossible to consume heap
                                                                                                        Z. All memory statically allocated (see Y); no buffer overflows
                                                                                                        
                                                                                                        1. 3

                                                                                                          We should use COBOL with contracts for transactions on the blockchains. The reasons are:

                                                                                                          X. It’s already got compilers big businesses are willing to bet their future on.

                                                                                                          Y. It supports decimal math instead of floating point. No real-world to fake, computer-math conversions needed.

                                                                                                          Z. It’s been used in transaction-processing systems that have run for decades with no major downtime or financial losses disclosed to investors.

                                                                                                          λ. It can be mathematically verified by some people who understand the letter on the left.

                                                                                                          You can laugh. You’d still be missing out on a potentially $25+ million opportunity for IBM. Your call.

                                                                                                          1. 1

                                                                                                            Your call.

                                                                                                            I believe you just made it your call, Nick. $25+ million opportunity, according to you. What are you waiting for?

                                                                                                            1. 4

                                                                                                              You’re right! I’ll pitch IBM’s senior executives on it the first chance I get. I’ll even put on a $600 suit so they know I have more business acumen than most coin pitchers. I’ll use phrases like vertical integration of the coin stack. Haha.

                                                                                                        2. 4

                                                                                                          That makes sense. I did do the C research. Ill be posting about that in a reply later tonight.

                                                                                                          1. 10

                                                                                                            Ill be posting about that in a reply later tonight.

                                                                                                            Good god man, get a blog already.

                                                                                                            Like, seriously, do we need to pass a hat around or something? :P

                                                                                                            1. 5

                                                                                                              Haha. Someone actually built me a prototype a while back. Makes me feel guilty that I dont have one instead of the usual lazy or overloaded.

                                                                                                                1. 2

                                                                                                                  That’s cool. Setting one up isn’t the hard part. The hard part is doing a presentable design, organizing the complex activities I do, moving my write-ups into it adding metadata, and so on. I’m still not sure how much I should worry about the design. One’s site can be considered a marketing tool for people that might offer jobs and such. I’d go into more detail but you’d tell me “that might be a better fit for Barnacles.” :P

                                                                                                                  1. 3

                                                                                                                    Skip the presentable design. Dan Luu’s blog does pretty well it’s not working hard to be easy on the eyes. The rest of that stuff you can add as you go - remember, perfect is the enemy of good.

                                                                                                                    1. 0

                                                                                                                      This.

                                                                                                                      Hell, Charles Bloom’s blog is basically an append-only textfile.

                                                                                                                    2. 1

                                                                                                                      ugh okay next Christmas I’ll add all the metadata, how does that sound

                                                                                                                      1. 1

                                                                                                                        Making me feel guilty again. Nah, I’ll build it myself likely on a VPS.

                                                                                                                        And damn time has been flying. Doesnt feel like several months have passed on my end.

                                                                                                              1. 1

                                                                                                                looking forward to read it:)

                                                                                                        3. 4

                                                                                                          Well, we have those already, and they’re called Rust, Swift, ….

                                                                                                          And D maybe too. D’s “better-c” is pretty interesting, in my mind.

                                                                                                          1. 3

                                                                                                            Last i checked, D’s “better-c” was a prototype.

                                                                                                          2. 5

                                                                                                            If you had actually made a serious effort at understanding the article, you might have come away with an understanding of what Rust, Swift, etc. are lacking to be a better C. By laughing at it, you learned nothing.

                                                                                                            1. 2

                                                                                                              the author calls for “improved C implementations”. Well, we have those already, and they’re called Rust, Swift

                                                                                                              Those (and Ada, and others) don’t translate to assembly well. And they’re harder to implement than, say, C90.

                                                                                                              1. 3

                                                                                                                Is there a reason why you believe that other languages don’t translate to assembly well?

                                                                                                                It’s true those other languages are harder to implement, but it seems to be a moot point to me when compilers for them already exist.

                                                                                                                1. 1

                                                                                                                  Some users of C need an assembly-level understanding of what their code does. With most other languages that isn’t really achievable. It is also increasingly less possible with modern C compilers, and said users aren’t very happy about it (see various rants by Torvalds about braindamaged compilers etc.)

                                                                                                                  1. 4

                                                                                                                    “Some users of C need an assembly-level understanding of what their code does.”

                                                                                                                    Which C doesnt give them due to compiler differences and effects of optimization. Aside from spotting errors, it’s why folks in safety- critical are required to check the assembly against the code. The C language is certainly closer to assembly behavior but doesnt by itself gives assembly-level understanding.

                                                                                                              2. 2

                                                                                                                So true. Every time I use the internet, the solid engineering of the Java/Jscript components just blows me away.

                                                                                                                1. 1

                                                                                                                  Everyone prefers the smell of their own … software stack. I can only judge by what I can use now based on the merits I can measure. I don’t write new services in C, but the best operating systems are still written in it.

                                                                                                                  1. 5

                                                                                                                    “but the best operating systems are still written in it.”

                                                                                                                    That’s an incidental part of history, though. People who are writing, say, a new x86 OS with a language balancing safety, maintenance, performance, and so on might not choose C. At least three chose Rust, one Ada, one SPARK, several Java, several C#, one LISP, one Haskell, one Go, and many C++. Plenty of choices being explored including languages C coders might say arent good for OS’s.

                                                                                                                    Additionally, many choosing C or C++ say it’s for existing tooling, tutorials, talent, or libraries. Those are also incidental to its history rather than advantages of its language design. Definitely worthwhile reasons to choose a language for a project but they shift the language argument itself implying they had better things in mind that werent usable yet for that project.

                                                                                                                    1. 4

                                                                                                                      I think you misinterpreted what I meant. I don’t think the best operating systems are written in C because of C. I am just stating that the best current operating system I can run a website from is written in C, I’ll switch as soon as it is practical and beneficial to switch.

                                                                                                                      1. 2

                                                                                                                        Oh OK. My bad. That’s a reasonable position.

                                                                                                                        1. 3

                                                                                                                          I worded it poorly, I won’t edit though for context.

                                                                                                                1. 3

                                                                                                                  For a good laugh, look here at this PR.

                                                                                                                  1. 18

                                                                                                                    It’s both easier and more polite to ignore someone you think is being weird in a harmless way. Pointing and laughing at a person/community is the start of brigading. Lobsters isn’t big enough to be competent at this kind of evil, but it’s still a bad thing to try.

                                                                                                                    1. 6

                                                                                                                      https://github.com/tootsuite/mastodon/pull/7391#issuecomment-389261480

                                                                                                                      What other project has its lead calmly explaining the difference between horse_ebooks and actual horses to clarify a pull request?

                                                                                                                      1. 3

                                                                                                                        And yet, he manages to offend someone.

                                                                                                                        1. 4

                                                                                                                          Can someone explain the controversy here? I legitimately do not understand. Is the individual claiming to be a computer and a person? Or do they just believe that someday some people will be computers and desire to future-proof the messages (as it alluded to in another comment)?

                                                                                                                          1. 7

                                                                                                                            This person is claiming they think of themselves as a robot, and is insulted at the insinuation that robots are not people.

                                                                                                                            Posts like this remind me of just how strange things can get when you connect most of the people on the planet.

                                                                                                                            1. 6

                                                                                                                              So, I tried contacting the author:

                                                                                                                              http://mynameiser.in/post/174391127526/hi-my-name-is-jordi-im-also

                                                                                                                              Looks like she believes she’s a robot in the transhumanist sense. I thought transhumanists thought they would be robots some day, not that they already are robots now.

                                                                                                                              I tried reading through her toots as she suggested, but it was making me feel unhappy, because she herself seems very unhappy. She seems to be going through personal stuff like breaking up from a bad relationship or something.

                                                                                                                              I still don’t understand what is going on and what exactly does she mean by saying she’s a robot. Whatever the reason, though, mocking her is counterproductive and all around a dick thing to do. Her request in the PR was denied, which I think is reasonable. So “no” was said to something, contrary to what zpojqwfejwfhiunz said elsewhere.

                                                                                                                              1. 6

                                                                                                                                As someone who’s loosely in touch with some of the transhumanist scene, her answer makes no sense and was honestly kind of flippant and rude to you.

                                                                                                                                That said, it sounds like she’s been dealing with a lot of abuse lately from the fact that this Github thread went viral. I’m not surprised, because there are certain people who will jump on any opportunity to mock someone like her in an attempt to score points with people who share their politics. In this case she’s being used as a proxy to discredit the social justice movement, because that’s what she uses to justify her identity.

                                                                                                                                Abuse is never okay and cases like this require some pretty heavy moderation so that they don’t spiral out of control. But they also require a pretty firm hand so that you don’t end up getting pulled into every crazy ideascape that the internet comes up with. If I was the moderator of this GitHub thread, I would have told her, “Whatever it is you’re trying to express when you say ‘I am a robot,’ the Mastodon [BOT] flag is not the right way to do it.” End of discussion, and if anyone comes around to try to harass her, use the moderator powers liberally so as not to veer off-topic.

                                                                                                                                Then you could get into the actual meat of the discussion at hand, which was things like “If I have a bot that reposts my Twitter onto Mastodon, could that really be said to ‘not represent a person’? Maybe another wording would be better.”

                                                                                                                                In the end she’s just a girl who likes to say she’s a robot on the internet. If that bugs you or confuses you, the nicest thing you can do is just take it like that and just ignore her.

                                                                                                                                1. 8

                                                                                                                                  I don’t think she was rude to me. She’s just busy with other things and has no obligation to respond to every rando who asks her stuff. I’m thankful she answered me at all. It’s a bit of effort, however slight, to formulate a response for anyone.

                                                                                                                                  1. 3

                                                                                                                                    I mean, I can kind of see where you’re coming from, but I’d still argue that starting with “You should develop your software in accordance to my unusual worldview”, followed by flippantly refusing to actually explain that worldview when politely asked, is at least not nice.

                                                                                                                                    Regardless, that might justify a firm hand, but not harassment, because nothing justifies harassment.

                                                                                                                                    1. 2

                                                                                                                                      I see this point of view too. But I’m also just some rando on the internet. She doesn’t owe me anything, If someone needed to hear her reasons, that would have been the Mastodon devs. They handled it in a different way, and I think they handled it well, overall.

                                                                                                                                      1. 1

                                                                                                                                        I’m inclined to agree on that last point, though it’s hard to say for sure given all the deleted comments.

                                                                                                                                        And I do hope she can work through whatever she’s going through.

                                                                                                                                2. 4

                                                                                                                                  I don’t know, personally, anyone who identifies as a robot, but I do know a bunch of people who identify as cyborgs. Some of it’s transhumanist stuff – embedding sensors under the skin, that sort of thing. But much of it is reframing of stuff we don’t think of that way: artificial limbs, pacemakers, etc, but also reliance on smartphones, google glass or similar, and other devices.

                                                                                                                                  From that standpoint, robot doesn’t seem a stretch at all.

                                                                                                                                  That said, I agree that the feature wasn’t intended to be (and shouldn’t be) a badge. But someone did submit a PR to make the wording more neutral and inclusive, and that was accepted (#7507), and I think that’s a positive thing.

                                                                                                                                  1. 2

                                                                                                                                    Actually, that rewording even seems clearer to me regardless of whether someone calls themself a robot or not. “Not a person” sounds a bit ambiguous; because you can totally mechanically turk any bot account at any time, or the account could be a mirror of a real person’s tweets or something.

                                                                                                                                  2. 1

                                                                                                                                    That’s unfortunate. It’s always difficult to deal with these things. I, too, understood transhumanism to be more of a future thing, but apparently at least some people interpret it differently. Thanks for following up where I was too lazy!

                                                                                                                                  3. -6

                                                                                                                                    American ‘snowflake’ phenomenon. The offendee believes that the rest of the world must fully and immediately capitulate to whatever pronoun they decided to apply to themselves that week, and anything other than complete and unquestioning deference is blatant whatever-ism.

                                                                                                                                    1. 16

                                                                                                                                      Person in question is Brazilian, but don’t let easily checked facts get in the way of your narrative.

                                                                                                                                      1. -5

                                                                                                                                        Thanks for the clarification. Ugh, the phenomenon is spreading. I hope it’s not contagious. Should we shut down Madagascar? :-D

                                                                                                                                        1. 3

                                                                                                                                          TBH I think it’s just what happens when you connect a lot of people who speak your language to the internet, and the USA had more people connected than elsewhere.

                                                                                                                                          1. 0

                                                                                                                                            It definitely takes a lot of people to make a world. To paraphrase Garcia, “what a long strange trip it will be”.

                                                                                                                                      2. 3

                                                                                                                                        She says “she” is a fine pronoun for her.

                                                                                                                                  4. 1

                                                                                                                                    It’s wonderful. :)

                                                                                                                                  5. 3

                                                                                                                                    What is happening there? I can’t tell if this is satire or reality

                                                                                                                                    1. 2

                                                                                                                                      That’s pretty common with Mastodon; there’s an acrid effluence that tinges the air for hours after it leaves the room. That smell’s name? Never saying no to anyone.

                                                                                                                                      1. 12

                                                                                                                                        Seems “never saying no to anyone” has also been happening to lobster’s invite system :(

                                                                                                                                        People here on lobsters used to post links to content they endorse and learn something from and want to share in a positive way. Whatever your motivation was to submit this story, it apparently wasn’t that…

                                                                                                                                        1. 4

                                                                                                                                          The person who shared the “good laugh” has been here twice as long as you have.

                                                                                                                                          1. 1

                                                                                                                                            I’m absolutely not saying you’re wrong, but I’m pretty confident there’s something to be learned here. I may not necessarily know what the lesson is yet, but this is not the first or the last situation of this kind to present itself in software development writ large.

                                                                                                                                    1. 7

                                                                                                                                      Mostly I just jot down ideas in my current notebook (I have scores of notebooks full of things) and that allows me to stop thinking about that particular thing because I’ll get around to organizing it into my todo list sometime very soon. Then, months later but also seemingly in the blink of an eye, I’ll remember that I wanted to do it and feel an oppressive guilt wash over me for never even starting it. The feelings of shame and regret swirling around all the tasks become denser and more opaque until they dwarf me and I live in their shadow every waking minute. There is no light here, only tasks. Melville knew my plight: “they heap me; I see them in outrageous strength, with an inscrutable malice sinewing them.”

                                                                                                                                      1. 3

                                                                                                                                        I follow this exact workflow pretty much, but I skimp on the notebooks as an unneeded I/O step.

                                                                                                                                        The savings in wasted paper I pass on to my therapist.

                                                                                                                                        1. 1

                                                                                                                                          I mostly use notecards for that.

                                                                                                                                        1. 2
                                                                                                                                          • Updates move records across partitions
                                                                                                                                          • A default/catch all partition
                                                                                                                                          • Automatic index creation
                                                                                                                                          • Foreign keys for partitions
                                                                                                                                          • Unique indexes
                                                                                                                                          • Hash partitioning (where as 10 was just time/range based)