1. 3

    Python ought to adopt a package scheme like

      …/site-packages/$pkgname/$pkgver/
    

    such that multiple versions can be installed at the same time, and such that if a program doesn’t request a specific version of a package, then it will get the newest (or the one that is configured as the default version).

    1. 1

      Nice, I remember there is nntplib in Python stdlib. But I am always wondering is there anybody still actively using it?

      1. 1

        I am using it daily to post on Usenet.

        1. 1

          Is Usenet actually used outside of piracy these days? I might use the aforementioned library to write a bridge to YOSPOS, but only for the aesthetic value.

          1. 1

            Usenet has certainly shrunk since its heydays, but there are still newsgroups worth visiting for their discussions.

        1. 23

          And Urbit speaks IPv4 only.

          And a planet cannot DM its own moons.

          1. 5

            Wait it can’t? How would you do planet->moon communication then?

            1. 12

              I’m unsure. Perhaps you need to create a private group and use that.

              I have tried initiating DMs on the planet as well as on its moon, it just doesn’t work. The funny thing is, a planet can |hi its moons, and vice versa, so it’s not a routing problem.

              We are led to believe that moons can be useful for IOT stuff, it’s just hard to imagine how when the ships can’t DM each other (the memory requirements alone also makes IOT an unlikely scenario).

              Another weird thing: While you can post image links in groups/channels/DMs, you have to host the images elsewhere.

              Like the blog poster, I’m not impressed by urbit.

              1. 5

                Oh lord you may need to make a custom channel to your moons yeah. Wow, that’s kinda crap lol.

            2. 1

              Update: After the latest OTA (basehash 4dii7, 2021-06-02) a planet can now DM its moons.

            1. 5

              The Mudita phone is huge for the few things it does, isn’t it? it’s almost as big as my Samsung Galaxy S8. In particular, the Mudita is ~5 cm thicker that the S8. That’s gonna feel bulky in the pocket of my jeans.

              1. 7

                I thought you’d made a mistake here, from the photos I’d assumed it was relatively small. That was part of its appeal to me.

                Nope, it is indeed massive. My TV remote is not far off this size.

                1. 3

                  Exactly. I made the same mistake and thought it was a small, handy phone. Not so. It’s big and bulky (and expensive).

              1. 12

                This article leaves aside the most useful special parameter for elegant conditional: the “most recent argument”, $_.

                Example of use: test -f /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh && source $_ || echo "zsh-syntax-highlighting not installed" >&2

                1. 6

                  Even

                  test -f /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh \
                  && source "$_" \
                  || echo "${_##*/} is not installed" >&2
                  

                  😎

                  1. 3

                    TIL. Thank you for sharing, I never knew that one.

                    1. 2

                      Brilliant! Wasn’t aware. Added it in the post.

                    1. 1

                      There’s also slsh, which is a shell for the S-Lang programming language ⌘ https://www.jedsoft.org/slang/slsh.html

                      1. 3

                        I thought I’d share this next follow-up post to something I shared last week here - I hope that’s OK with respect to etiquette here, please let me know if it’s not. Thanks!

                        1. 2

                          Keep them coming!

                        1. 4

                          Does anyone use Jami for chatting or calling? What are your experiences?

                          1. 3

                            I’ve been trying it out with a couple of crustaceans today, and at least on android, basic two-person chats seem to work well. They don’t have group conversations yet, but work is underway: https://jami.net/swarm-introducing-a-new-generation-of-group-conversations/

                            1. 3

                              Also, while you can link your account to several devices, messages sent from one device does not show up on the linked devices. Pretty frustrating.

                              1. 1

                                It’s on the way, swarm chat give the ability to sync messages across devices (cf the article from munksgaard)

                                1. 1

                                  Sounds good. Thanks.

                              2. 2

                                caution: video conference are done since the beginning. There’s only 1-1 text chat though.

                                (I got fooled too and was corrected by a Jami dev: https://lobste.rs/s/gm1xqu/gnu_jami_together_release_enriched_video#c_hxknps)

                              3. 2

                                I tried it yesterday, there is no way to explicitly reply to a certain message and afaict the only emoji is the thumbs up emoji but besides that it was surprisingly good, it just worked.

                                There was a sync issue at one point and I was like “this sucks I am spoiled” but it turns out the person on the other end had closed the app for a second and since it’s literally p2p it’s not surprising that the messages failed to deliver as instantly as they had been when we were both present.

                                Looking forward to group conversations, I think using a DHT for routing, TLS for e2e connections and git for the underlying sync model is brilliant. All of this technology is super battle tested and the result seems to work quite good.

                                Edit: feel free to add me, I have the same username here as there.

                              1. 7

                                What about GNU Jami? It’s a truly decentralized messaging system based on OpenDHT.

                                1. 2

                                  I’d never heard of Jami before! Definitely looks interesting. Have you tried it? What has been your experience with it?

                                  1. 2

                                    I have installed, but I don’t have anyone to chat with. I tried to chat between my phone and my PC, but it’s just a test.

                                    Anyway, I think the technology is quite interesting and promising.

                                    1. 3

                                      I’ve just created a user with the name munksgaard. Feel free to contact me on there, I’m curious to try it out.

                                      1. 3

                                        I’ve just contacted you in Danish. :)

                                        1. 2

                                          Takeaway:

                                          Jami — formerly Ring — is distributed and E2E encrypted, and you can link several devices to one account.

                                          However, while text messages sent from contacts are echoed to every device, my own messages only appear on the device from where it was sent. This is a highly frustrating experience.

                                          Also, Jami does not support groups yet.

                                          If the latter two issues were fixed, I would probably prefer Jami to both Signal and Telegram when I ditch WhatsApp soon.

                                1. 3

                                  The EV cert requirement makes no sense to me. The image isn’t stored in the cert, it’s DNS+HTTPS. Could work fine with any cert.

                                  1. 1

                                    I agree, the EV certificate is a showstopper.

                                    1. 1

                                      The problem is that anyone can set their own DNS+HTTPS to serve a PayPal-looking logo. It needs a human to say “no, this logo looks misleading, it’s not yours”.

                                      1. 2

                                        EV never worked to prevent this, though. Major browsers all either have dropped or are in the process of dropping any special address-bar indicator of EV cert, precisely because it didn’t help and the workarounds were always trivial anyway – everything from stolen identity documents (no obstacle for someone already committed to a criminal enterprise), to just straight-up registering a throwaway business somewhere (which was Ian Carroll’s infamous example; he registered a new company in Kentucky under the name “Stripe, Inc.”) can get you an EV cert.

                                        1. 1

                                          I think this time it’s substantially different to give it another shot:

                                          • It’s a familiar logo in a prominent location in a relatively uncluttered list that user actively clicks on. That’s different than a slightly different flavor of a padlock, displayed passively out of the view, next to spoofable favicons, between half a dozen of other gadgets.

                                          • It’s riding the trademark law. Companies know how to zealously defend that. Apple sues companies with a pear in their logo.

                                          There’s still the jurisdiction loophole, which sucks. But at least trademarks are per country, not per state. Maybe they could require either a more widely registered trademarks, or e-mail clients could be smart enough to display the logo only when the user’s country is within trademark’s jurisdiction. This is another advantage over company registration: you can have company registered in one place and trade world-wide, but you’re supposed to have your trademark registered everywhere you trade.

                                        2. 1

                                          Yes, but… the logo is not in the EV cert. So even if they check the DNS record and URL before giving out the cert (unlikely, since it’s an unrelated spec) you could just change the logo image after you get the cert.

                                          1. 3

                                            The article omits this, but the BIMI spec does have a Mark Verified Certificate that validates the image itself. I hope nobody is going to deploy this without verifying the cert, as otherwise that’d be nothing but a complicated favicon.

                                            1. 1

                                              Would you happen to have a link to the format (or just a sample) of a Mark Verified Certificate? I spent a few minutes casting around for one and could only find press releases from CAs harboring ambitions of issuing them or unlinked references that weren’t specific enough for me to find a draft in the IETF. The descriptions I did find left me a little uncertain whether the artifacts for relying parties would actually carry the logo itself as opposed to a URL controlled by the entity that is being certified.

                                      1. 2

                                        Not to be confused with the Pike programming language: https://pike.lysator.liu.se/

                                        1. 4

                                          Pike is based on LPC, which you might have used if you were a creator / wizard / admin on an LPmud. I believe there’s some kind of continuity in development too; the lysator.liu.se domain hosted a lot of MUD content.

                                          1. 2

                                            Wow, that takes me back! Roxen AB, one of the backers of Pike, is named after the lake and apparently pike can be fished there.

                                          1. 4

                                            One of the images says armv7l, which is a 32bit architecture. The RPi400 itself is 64bit. Can I get and install a 64bit OS on the device?

                                            1. 4

                                              Yes. For weird historical reasons, the default Rasbian OS claims to be 32-bit, but the CPU is a 64-bit ARM. You can install stock 64-bit Debian or Ubuntu on it if yo want, or any of a bunch of other OSes.

                                              1. 2

                                                What I really would like is to have ArchLinux as the OS.

                                                I have a traditional RPi4 running ArchLinuxARM, and /proc/cpuinfo says “model name: ARMv7 Processor rev 3 (v7l)”. However, it also says “Hardware: BCM2711”, which is listed under ARMv8: https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4

                                                So should I be able to use the ARMv8 image for the RPi 400 (and my traditional RPi, provided I had the spoons to reinstall everything)?

                                                edit: typo

                                                1. 2

                                                  Grab a fresh SD card & try it out? It ought to work, but I’ve never tried Arch.

                                                  1. 1

                                                    Good idea. Thanks!

                                                  2. 2

                                                    I too love Arch Linux. I’ve never run it on the Pi, however. I’m going to download and burn a copy of it and try it out next week. I will probably write about it as well.

                                                    1. 1

                                                      I’d love to hear about it. :)

                                              1. 5

                                                Albert Einstein’s Theory of Relativity — In Words of Four Letters or Less ⌘ https://www.muppetlabs.com/~breadbox/txt/al.html

                                                1. 2

                                                  That is awesome. I don’t know how understandable it would be to someone without background knowledge in physics. But very impressive how much they were able to explain.

                                                  1. 2

                                                    That essay is very similar in philosophy to the Gödel-proof description mentioned in the article. Like Evans points out, it’s mostly written for people who already know what Gödel’s proof is. My essay has the advantage of being about Einstein’s relativity – a lot more people have a vague idea what relativity is, at least. (And of course it’s much longer than the Gödel essay. I actually started out intending it to be shorter, but I really did want to try to explain the ideas behind relativity, and so it wound up getting longer and longer.)

                                                    1. 2

                                                      Back in 2011 I created an ebook out of the webpages so that I could read the essay on my ereader:

                                                      To be honest, I cannot remember how successful the conversion was.

                                                      They weren’t meant for public consumption, but now that you’re here…

                                                  1. 10

                                                    There is already another “extended dump [and load]” program called xd out there: https://www.fourmilab.ch/xd/

                                                      1. 14

                                                        Yes, but it’s not written in Rust so the new utility automatically takes precedence /s.

                                                        1. 2

                                                          🤣

                                                        2. 5

                                                          You should let the author know!

                                                            1. 2

                                                              Awesome!

                                                          1. 6

                                                            I wish people writing utilities would not be so arrogant as to assume their utility is so important as to warrant taking a two-letter command name. There’s only one namespace for commands. Leave the shortest names for user’s own aliases.

                                                            1. 2

                                                              Leave the shortest names

                                                              One character names?

                                                              1. 3

                                                                Zero character. Not sure if there’s only one of them, none of them, or an infinite number.

                                                              2. 1

                                                                I agree. However, a command may have started as a personal command that has then become public.

                                                                Still, the author of the xd thing announced here should have done their homework and searched the interwebs for commands of the same name.

                                                            1. 1

                                                              Could

                                                              #!/usr/bin/env -S /long/path/to/real/interpreter with many arguments
                                                              

                                                              be a solution if their env implementation accepts the -S switch?

                                                              1. 1

                                                                env -S allows many arguments, yes, but the OS will still truncate that line at the max shebang limit. So if /long/path/to/real/interpreter is very long (> 127 chars is the total line length limit on Linux), you will miss all the arguments and possibly part of the interpreter path. See https://www.in-ulm.de/~mascheck/various/shebang/ for lots of details and https://lwn.net/Articles/779997/ for an interesting story on nix and long shebangs.

                                                                1. 1

                                                                  Whauw, 127 characters is not a lot.

                                                                  Thanks for the interesting links!

                                                              1. 2

                                                                Neon source code is case sensitive

                                                                I’m sorry, but that alone is enough for me to not dive deeper into the language: the mixture of all-uppercase, all-lowercase, and “title case” looks like it’s asking to be a PITA.

                                                                1. 1

                                                                  Don’t you mean case-insensitive?

                                                                  1. 3

                                                                    I didn’t mean anything, I was quoting from the docs: »Neon source code is case sensitive«.

                                                                    See e.g. https://neon-lang.dev/docs/overview.html

                                                                    4.1 General

                                                                    All identifiers are case sensitive. Language defined keywords are all upper case.

                                                                    And then we have types. Most of them must be title cased:

                                                                    Boolean

                                                                    Number

                                                                    String

                                                                    Bytes

                                                                    But it would be too easy if all om them were title cased, so there’s

                                                                    RECORD

                                                                    CLASS

                                                                    mentioned together with two title cased types in section 4.2.

                                                                    And function names seems to be lower case.

                                                                    That’s not something I would like to teach to neophytes.

                                                                    1. 2

                                                                      Yes, agree on that.

                                                                      I wonder why these languages are so … not sure … I’m always thinking “they are learners, not dumb” when I see such “pedagogical” languages.

                                                                1. 3

                                                                  Please get a TLS certificate and serve this over https.

                                                                  1. 8

                                                                    TBH i get it when people don’t want to set up HTTPS for every server. I’ve had issues with TLS in the past, that even broke domain names, because of some minor mistakes here and there.

                                                                    1. 5

                                                                      “Minor mistakes here and there” is an opportunity to learn. Now that we have Let’s Encrypt, there are only few excuses to not provide secure connections everywhere.

                                                                      Personally, I have mostly stopped visiting websites that offer insecure http only.

                                                                      1. 3

                                                                        I’m talking about Let’s Encrypt, I wouldn’t have never set TLS up if it weren’t for free.

                                                                        Personally, I have mostly stopped visiting websites that offer insecure http only.

                                                                        I don’t get why? What’s the problem, especially if it’s a personal or a hobby site? No accouts, no important data, nothing to care about.

                                                                        1. 2

                                                                          I live in a country where the government is spying on its citizens and is logging all data connections.

                                                                          1. 2

                                                                            Denmark?

                                                                            1. 2

                                                                              Yes, Denmark.

                                                                          2. 1

                                                                            Private entities in the United States (e.g. your hotel, that hotspot you used over coffee) often make use of user data to further solicit commercial transactions. I’d take it as a fun excuse to play with Let’s Encrypt – or to see if you can get your CA to issue you a domain-validated certificate backed by an 8192-bit key (higher is probably possible, but it sacrifices compatibility and it a bit too absurd even for me).

                                                                          3. 3

                                                                            Personally, I have mostly stopped visiting websites that offer insecure http only.

                                                                            Well I guess if you’re not visiting the site your opinion doesn’t really count for much. There are reasons to support HTTP, and reasons not to use HTTPS. Just because they might not apply to you doesn’t mean they don’t apply to the person creating the content. Nobody owes you a HTTPS connection.

                                                                            1. 4

                                                                              True, I’m just stating my preferences and asking nicely.

                                                                          4. 1

                                                                            I agree, TLS is often a huge barrier for someone, e.g. whose device clock is not set.

                                                                            I don’t think it is always necessary for just reading text.

                                                                            If your ISP is MITMing you to the extent that this is an issue, you’ve got bigger problems.

                                                                          5. 5

                                                                            Yah, no, why?

                                                                            I mean, the spec for twtxt doesn’t require https. Non-modern computer systems can’t use https, stuff like plan9 and such.

                                                                            Why is it important that this be put over https? Why not comment on the spec, or on the implementation of the site, or pretty much anything to do with the OP than this load of nonsense.

                                                                            Seriously, this comment is like something you’d see on /. or HN.

                                                                            1. 1

                                                                              Chill, man. For reasons that I have already made clear in this thread I have a strong preference for encrypted connections, and all I did was asking nicely for https. That’s a comment that is just as valid as if I’d commented the CSS or on the concept of aggregation, and implementing https doesn’t necessarily remove http, so if people wish to connect over an insecure connection they can do so, the opposite is not true: if https is unavailable, you cannot choose it.

                                                                              I’ve been on twtxt for more that three years and the site mentioned is not a new one. I’m not a big fan of these aggregation sites: They keep obsolete feeds around and put a burden on the publisher of the original individual twtxt streams to update them or have them removed.

                                                                          1. 5

                                                                            On my wishlist: A way to block all the bloody “Subscribe to my spiffy mailinglist”-popups that has infested the web.

                                                                            1. 2

                                                                              Big same. I was working on a browser plugin to turn position:fixed/etc elements into display:none, but it ran into a wall of

                                                                              1. literally the first wild website I tested it on hit an infinite loop
                                                                              2. javascript permission errors when trying to introspect style sheets

                                                                              I suspect dealing with it robustly would require hacking up the browser renderer itself.

                                                                              1. 2

                                                                                The No, Thanks extension gets rid of some of them. Enough that I’m willing to pay its subscription fee because those stupid things make my blood boil, but it still misses a bunch.

                                                                                1. 1

                                                                                  Thanks, I’ll give it a spin.

                                                                                2. 1

                                                                                  The unfortunate reality is that they work. I remember reading, I think, Andrew Chen (A16Z) who mentioned that he feels sorry for these popups but he has to keep them on his blog since they work.

                                                                                  1. 3

                                                                                    Andrew Chen doesn’t have to have these annoying popups on his blog, he could perfectly well choose to have a button or a link. Truth is that he chose the annoying popups because he values the number of subscriptions more than the wellbeing of his audience.

                                                                                    1. 1

                                                                                      Do you have the source / data for the that? I’m not even sure how you’d measure how well they work. I assume you’d have to do some A/B testing, but while you can measure the number of people who sign up for your newsletter, and possibly even track whether the emails cause them to come back to your blog, you can’t measure the people who are unimpressed or get annoyed and don’t come back or recommend your blog to others.

                                                                                  1. 2

                                                                                    I’m currently looking into TiddlyWiki + Stroll + markdown plugin for this.

                                                                                    1. 2

                                                                                      I can vouch for TiddlyWiki + Stroll!

                                                                                    1. 3

                                                                                      Another good surce on breathing is “Breath” by James Nestor: https://www.mrjamesnestor.com/breath/ He swears by 5.5 seconds inhales and exhales, but the half second hardly makes a significant difference in results.

                                                                                      1. 3

                                                                                        Thanks! This book about 5.5 seconds actually prompted me to start researching this topic. When I started digging in using Semantic Scholar and Google Scholar I noticed 0.1Hz show up again and again. It was only after I thought “uhh 0.1Hz…once every ten seconds. Does that mean 5 seconds in 5 seconds out? Or 10 seconds in 10 seconds out? Oh it’s 5” did I realize I was substantiating the same idea.

                                                                                        1. 2

                                                                                          Yes, the frequency is per entire cycle.

                                                                                          The breathing method you describe says “Inhale as deeply as you can.” This differs significantly from that of Nestor, who does want us to exhale more than normally, but his inhale is relaxed and doesn’t fill the lungs completely (if I have understood his book correctly).

                                                                                          1. 2

                                                                                            I will read Nestor’s book! I’m curious about their suggested method and the research behind it. Thank you for clarifying the differences between the book and my article.

                                                                                            1. 2

                                                                                              Nestor’s default breathing is 5.5 seconds inhale + 5.5 seconds exhale, with a total flux of 5.5 litres of air per minute. However, his book covers a wide range of breathing methods and their benefits, and there is an appendix that summarizes the breathing methods.

                                                                                              If what Nestor writes is true, it is completely redefining almost everything I thought I knew about breathing, and answers some long-held questions I’ve had. Now I’ll have to put it to a test for a couple of months and see if I reap any benefits.