1. 12

    This feels like the worst Javascript job interview ever and like beating a dead horse.

    Everyone drags out this “Made In 10 days” line, even Eich himself, but he made a working prototype in 10 days 26 years and 12 ECMA versions ago, and somehow it’s the core of every single argument against Javascript - by this standard, you can discount the entire World Wide Web by the time it took Tim Berner’s Lee to make the first prototype web browser. Heck, you can summarize the entire history of the Web as “prototype released into the wild” and nab all the problems of modern computing as “weird edge cases that still exist for historical reasons” but for some bizarre reason, people only ever bring this up when it comes to Javascript.

    1. 5

      JavaScript has a strong commitment to backwards compatibility and that makes the 10 day prototype more significant IMO. Many things that get built quickly can be refactored down the line. JavaScript won’t.

      1. 4

        Open up the console in your browser and try out print("Hello World!") … this would’ve printed Hello World in 1995 on Eich’s 10 day prototype “Mocha” - it doesn’t do that anymore. It’s not completely backward-compatible.

        1. 4

          That seems like a minor form of backwards incompatibility. I don’t think we’ll ever see a breaking change like python 2 to 3, which is a good thing, but it means that the underlying design is even more important.

          1. 3

            The p2 to p3 break is one of the worst things they could do, for negligible actual “improvement”.

            My wife is now stuck perpetually having to fight p2 vs p3 software issues, and will be for all time as there are some very hefty bioinformatics packages that aren’t going to be rewritten any time soon.

          2. 2

            Print has been (surprisingly) bringing up a print dialog for pretty much every version of JS other than maybe the first betas when there was no backwards compatibility problem.

            1. 1

              So he actually made it even worse.

          3. 3

            Heck, you can summarize the entire history of the Web as “prototype released into the wild” and nab all the problems of modern computing as “weird edge cases that still exist for historical reasons”

            Great, let’s do it. And go back to native software running on machines users actually control.

            1. 1

              Awesome! I was planning to look for solutions on how to manage microKorg patches from linux, this looks like it fits the bill.

              1. 1

                “Theseus himself is much too small to even contain a small computing machine” …. 70 years later: RasPi Pico, which is about the size of 3 pennies end-to-end, and you could probably stack 3 of them (with headers) in that space…

                1. 3

                  Matrix’s IRC bridge is awkward, Gitter’s IRC bridge is much better - I wonder if they’re going to switch and give IRC diehards a hard time.

                  1. 1

                    Matrix has two forms of IRC bridging; one that is enabled on a per-user basis and one that is enabled on a per-room basis. They are both quite awkward to set up, but I’ve been using the room-based bridging in a few freenode channels I administer, and it’s worked seamlessly for almost a year now.

                    But I agree that the user-level IRC bridging is not that great. If you want to use Matrix to talk to freenode folks, please consider asking the channel ops to set up “plumbed rooms” that are much more reliable.

                  1. 2

                    this looks like a really neat project, I love seeing technology designed to live up to its full potential.

                    1. 8

                      If your branch is already named “master,” there’s literally nobody going to force you to change it. Git changed a default; if you profoundly need to call your branch “master” have at it, but there’s really no need to write a 3000-some word diatribe about the decline of western civilization or whatever this is simply because of a default name changing. All your “cons” are resolved by a simple sed command, which seems to have already been run at git hq

                      1. 1

                        It’s time for NaNoGenMo 2020, so I’m going to be working towards making a generative novel or two…

                        1. 1

                          I can’t wait to see what you come up with.

                        1. 2

                          Took a minute to find the code examples and the documentation, looks interesting, but this site seems more directed towards the business side than the code side.

                          1. 1

                            The frontpage literally has a link to the docs in the first paragraph…

                            1. 2

                              Maybe I would’ve seen it if it said “click here” instead of just “here.”

                          1. 5

                            I love the obligatory link to XKCD right up front, although I think the buried lede here is that Word Perfect for DOS still requires a license. I don’t think there’s going to be many fresh installs, but I find it interesting that this is still available; maybe GRR Martin’s love of WordStar 4 will sway people to trying the old ways.

                            1. 4

                              Betteridge’s law says “no”, but I’m certain somebody out there is making the switch.

                              1. 1

                                Here’s my site, if anyone cares to critique or not.

                                https://jkirchartz.com/

                                1. 3

                                  Beautifully simple solution - I have a pair of power-banks that I love but are aging out. Yesterday I became curious as to whether they always wobbled a little on a flat surface or not, and I’ve started looking for a source for replacement batteries in case mine had started bulging.

                                  1. 28

                                    This is probably going to become a bit of a free for all, but in my opinion:

                                    I guess I could use some clarification: should I stop posting stories about anything not explicitly technical here?

                                    Yes, but so should everyone. There are many outlets for non-technical and technical-adjacent stuff. HN, for example, is good for hiring/firing/financial stuff related to tech. Part of what has make lobsters good in the past is a relatively tight focus on technical articles.

                                    I hope that we don’t become a muddy mish-mash of whatever people find “interesting” that’s not strictly technical. I understand that the culture and practices tag have both attracted attention for perhaps not being useful because of the implications they hold as tech-adjacent, rather than technical tags for posting things that don’t otherwise fit.

                                    1. 15

                                      I’ve had a link removed that was I thought a good piece (by someone else) about designing software for better social interactions. Sometimes I’m pretty baffled about what the focus is supposed to be, exactly, if software design isn’t on the table. Maybe we aren’t supposed to post about people-centric design decisions, but only performance/correctness stuff?

                                      I don’t really care about that one story, but the overall uncertainty is offputting.

                                      1. 4

                                        What technical topics could/should be posted to the “culture” tag?

                                        1. 7

                                          Perhaps an analysis of how the design and implementation of Unix was informed by the culture of Bell Labs and any ringing effects that has today?

                                          I don’t think I have ever, or will ever, post under such a tag because tbh I just don’t see how it’s that useful, but other people disagree and find that it is - which is fine, we’re a community and we are allowed to disagree.

                                        1. 4

                                          DNS doesn’t actually convert it, as mentioned in the post. It’s the normalization process that does, it uses a map found on unicode.org. I made a small script that only outputs valid ones. There’s also the unorm javascript library, which is the equivalent of libidn in js.

                                          1. 4

                                            Quite a few programming languages also work similarly, using a specific (but not IDNA) method of normalizing identifiers. For example, here’s some valid Python.

                                            If you know your way around the different Unicode equivalence types and normalization forms, you can have a lot of fun (for varying definitions of “fun”) with this.

                                            1. 2

                                              That’s awesome, thanks for the info.
                                              Actually, that reminds me that in URLs upper and lower cases are equivalent, I had forgotten upper cases in my script. That adds another whole range of equivalent glyphs.

                                        1. 1

                                          You can also learn vim by playing an RPG

                                          P.S. It’s probably long past due for me to update my vim post

                                          1. 2

                                            …especially since the previous post is “RIP Google Reader” 🤣

                                            1. 1

                                              Wow! Thanks for that link. I’m going to give it a try this weekend. Maybe I’ll finally take a side on the timeless Vi(m) vs. Emacs debate…

                                            1. 6

                                              Fun game, but it would be interesting to see a write-up about what all is going on here under the hood.

                                              1. 4

                                                Thanks, I’m strongly considering such a write-up.

                                              1. 3

                                                The avatars are so small that they’re barely noticeable. Ideally, our community members’ opinions wouldn’t be swayed by the avatars of others and they would focus on the content/topic at hand.

                                                1. 2

                                                  I’ve had these settings, more or less, for the past couple of decades - the one thing I have that they don’t is an easy way to search history

                                                  function hgrep(){
                                                    history | grep $@
                                                    # grep "$@" "$HISTFILE" # alternative without line numbers
                                                  }
                                                  
                                                  1. 4

                                                    If your history is large, history | grep can be quite slow. I’ve resorted to the second option you mention, because it’s quite faster.