Threads for raymii

    1. 1

      I know not what this “QString” thing is. Part of some nonstandard library. Odd thing to use in an example.

      You can write \N{NAME} in C++23 source and it compiles down to a single Unicode character, which becomes however many bytes it needs to be.

      I’m a bit confused by that — cppreference is vague about what encoding is used. It kind of implies that in a regular string literal it’s UTF-8, but it doesn’t say so, it just gives UTF-8 as an example:

      A universal character name in a narrow string literal or a 16-bit string literal may map to more than one code unit, e.g. \U0001f34c is 4 char code units in UTF-8 (\xF0\x9F\x8D\x8C) and 2 char16_t code units in UTF-16 (\xD83C\xDF4C).

      So either it’s always UTF-8, or it’s whatever encoding the source file uses.

      1. 2

        The painful thing is that C and C++ (which inherited this from C) do not mandate a character encoding for source. This was to allow things like ASCII or EBCDIC as inputs. I think C can work with 6-bit encodings. If you provide anything else, the compiler has to do some translation. This leads to fun if you write a character in UTF-8 but the person running the compiler has an 8-bit code page locale set. I ran into some very interesting bugs from non-ASCII characters in string literals when the code was built on a machine with a Thai or Japanese locale. GCC would parse the character in the user’s local and then emit it as the corresponding point in some other encoding (UTF-8?). Or, in the opposite direction, they’d type a character that their editor would save according to their locale’s charset and clang would pass it through. In both cases, the code expecting UTF-8 would then do the wrong thing (sometimes very excitingly if the byte sequence wasn’t even valid UTF-8).

        C++20 finally provided string formats that are guaranteed to output UTF-8 and, as long as your source is also UTF-8, everything is fine. I wish C++26 would just sat ‘source code must be UTF-8’. I doubt there’s much code that’s deliberately something else, and it’s a one-time mechanical translation to fix.

        1. 1

          I think C can work with 6-bit encodings.

          C’s basic character set has 74 characters and each basic character must be encoded as one byte. So it does not quite work for 6 bit character sets - I think historically 6-bit charsets were upper-case only which would make it tricky to write C.

          Which reminds me that Unix tty drivers had support for upper-case-only terminals - there were oddities like, if you gave login an upper-case-only username, it would switch the terminal into case smashing mode. I have no idea how well this worked in practice, or if it was cripplingly awkward.

          Back to C, I think the most restricted character sets it aimed to support were ISO-646, i.e. the international versions of ASCII that had things like nordic letters instead of []\

      2. 1

        QString is Qt’s string type and this guy is a Qt / KDE (desktop built on Qt) developer, so I guess thats some context that is missing. Like CString.

    2. 3

      Richard Stallman, on 27th September GNU 40 Hacker Meeting revealed that he is suffering from cancer in his keynote talk.

      Video timestamp: 2:16

      However he says that fortunately the condition is not that worse and manageable and he will be still there for some more years.

      This speech was given at GNU40. The GNU project and FSF were celebrating the 40th birthday of the GNU project.

    3. 2

      Is there something interesting here I’m missing? Seems like a pretty standard bugfix release.

      1. 3

        I found this number to be quite huge:

        Qt 6.5.3 does not introduce any new features but contains more than 500 bug fixes,

    4. 8
      1. 1

        That official announcement seems to be a better source than the linked pdf. Also sadly not as exciting as a leak.

        EDIT: I don’t think I’ve seen a “legit” leak in a long time. Interesting sign of the times.

        1. 1

          Correct. I first saw the PDF, then 30 minutes later the official blogpost… but I cant change a posts url…

      2. 1

        Mentions don’t send notifications. I’d DM!

        1. 1

          Did that, Thanks!

    5. 6

      Happy user of pagefind for my static site! Wrote about it some time ago: https://raymii.org/s/blog/Site_update_self_hosted_search_via_pagefind.html

    6. 1

      Anybody know what their goals are? Why should I use it over stock Debian?

      I haven’t heard of this distro before, and it’s not clear from their website.

      1. 2

        I just reviewed it. I can post a link when it’s up.

        It’s one of the parent distros of MX Linux. Pared-down systemd-free Debian 12, with WMs rather than full desktops. Remarkably low RAM usage.

        1. 2

          El’ Reg delivers: antiX 23: Anarchic for sure, but ‘design by committee’ isn’t always the best for Linux: https://www.theregister.com/2023/09/01/antix_23/

          1. 1

            Thanks!

            Reminder: I write the content, not the headlines.

      2. 2

        Seems to be a Debian-based distro with low system requirements and no systemd:

        https://en.wikipedia.org/wiki/AntiX

    7. 10

      It’s important to note that PID controllers are a general concept and many embedded devices contain some implementations of PID controllers to control temperatures, timings, motor positions, etc. This is just one of many implementations of a PID controller. They make it sound like PID controllers specifically regulate temperature.

      1. 5

        The intro of that article needs a link to Nicholas Minorsky who invented PID controllers for the automatic steering system of the warship the USS New Mexico. Rather a long way from a coffee machine!

      2. 4

        When they installed new coffee machines at $WORK, I was astonished by what was exposed in the admin interface. The entire state machine for making different beverages is exposed, including temperature, flow rate, and (millisecond-precision) timing for each step. If you haven’t seen this, it’s well worth a look next time someone is servicing a machine. Apparently most of them have a sequence you can press that gives you a read-only view of the admin interface, so you can see exactly how your coffee is made, you just can’t change it.

        1. 2

          I write software for commercial coffee machines (c++ and c) and us and most others have default codes for the service interface (try 1111, 2222, 12345, etc or lookup the service manual for your type online).

          In my case the recipes are a sequence of steps, like, open this valve for x ms, run this grinder for y ms, move the brewer to position z, regulate flow).

          I implemented PID code in the flow / pressure regulator for one of the brewer systems. With some special hardware it can auto correct to the requested pressure even if the coffee grind is too course or fine. It uses the flow data over time to give consistency, even if 6 months in your grinder has run in, theoretically giving a consistent beverage every time.

          Go ahead and ask along if you want to know more.

          (The main factory is in the Netherlands, but we also operate a Factory in Taylor, MI, for the American market, so you might even have seen a machine by us in the US)

      3. 4

        Agreed. PID controllers are awesome. They’re an amazingly simple and general-purpose algorithm for any time you have a value and a target number, and you want to say “move the current value smoothly towards the target and keep it there even if the target moves around”.

        1. 4

          move the current value smoothly towards the target

          Perhaps even more interesting is you can purposefully tune it to not be smooth, if that’s to the benefit of your system. The smoother it is, the longer it takes to get to the desired value. It’s often advantageous to quickly overshoot and then rapidly back off. Basically oscillate towards the intended value while smoothing out over time.

          Your statement is generally true, I just wanted to add this bit that I find interesting.

      4. 4

        they are incredibly common in industrial applications. they can regulate flow, heat, cooling, anything really. they have cascading pid controllers and many other. PI or PD are also common subsets.

    8. 2

      This is often in the modlog:

      Please don’t use the story text to summarize the link.

      Also, i’ve suggested the release tag and a title edit.

    9. 1

      Anyone know how much RAM the toolkit needs? I’d love to have something like this in a CHERIoT SoC with something like 384 KiB of RAM, but we need a chunk of that for the network stack, update service, and so on.

      1. 1

        That is hard to say, as it depends a lot on the UI you are doing.

        Things like the images used and even the number of different glyphs you used in your UI effect the storage needs of the generated UI.

      2. 1

        I can’t seem to find a minimum anywhere, just that it’s less than 300kb. Some heap size in the backends ( https://github.com/slint-ui/slint/blob/af15fca9a2b0d74d991d3cee97f613c28ee4277a/internal/backends/mcu/stm32h735g.rs#L30 ) but nothing in the issues or docs what i could find so soon…

    10. 3

      I do love plantuml, but I wish there was a tool that could make diagrams from existing code instead of doing double bookkeeping…

      1. 3

        Run your code through ChatGPT to write a prompt for DALL·E 2 which then generates your diagrams. Work smart, not hard ;^)

        1. 2

          I think this is a joke but I use bing to generate dall-e 2 prompts - and claude for midjourney, I get better results than manually writing image prompts.

          not for diagrams though.

      2. 2

        I don’t know any off the top of my head for PlantUML specifically, but there are definitely tools that will generate UML diagrams from existing codebases (though I imagine you’re more interested in sequence diagrams and such)

        1. 2

          I wrote this because I wanted to create diagrams periodically but I didn’t want to keep them up-to-date… https://github.com/glesica/dcdg.dart/

    11. 1

      Thanks for submitting! Since I’ve never use it but heard it being praised, would you mind sharing how you’re using it? Is it better than things like kopia/restic/borg?

      1. 2

        At a previous job I wrote a wrapper around duplicity to very easily backup a Linux vps to an openstack object store, including menu-based restore: http://web.archive.org/web/20230808083309/https://www.cloudvps.com/knowledgebase/entry/2453-cloudvps-linux-backup-object-store/ and that was used on over 9000 servers. https://github.com/CloudVPS/CloudVPS-Boss

        Compared to the other tools, no idea, have never used those. Duplicity is easy and without duplicity you can still unpack the backup since it uses regular formats, not its own thing. Its also a lot older. Supports encryption. The only downside was that a large incremental backup would sometimes not fit in the cloud storage, since the metadata file would grow larger than the single file limit (+5GB). Not many customers hit that limit but if they did, an archive of the backup and a new one fixed it. Version 2 should fix that, splitting the metadata up. (https://bugs.launchpad.net/duplicity/+bug/385495).

        I now use Deja Dup on my desktop as a backup, not the commmandline version. It often makes my entire system hang due to cpu and IO load…

        1. 1

          Solid design decisions, thanks. Now that 2.0 is released, the bug should get closed soon hopefully.

      2. 2

        I believe it is the backend of Deja Dup, which I used to use as my laptop backup. It would routinely require an hour or longer to back up my machine. I switched to Restic, which can back up my entire machine in a couple minutes, to the same device.

        I wish Restic had a nice GUI like Deja Dup, but the performance difference is so stark I can’t imagine going back.

    12. 2

      I’m not sure it is spam, but Lunduke is known to do clickbait-y stuff. The question to ask yourself when submitting questionable links is, does it make the reader a better programmer? Or, quoting the about page:

      Some rules of thumb for great stories to submit: Will this improve the reader’s next program? Will it deepen their understanding of their last program? Will it be more interesting in five or ten years?

      Some things that are off-topic here but popular on larger, similar sites: entrepreneurship, management, news about companies that employ a lot of programmers, investing […]

      Does this fall under entrepeneurship? Is this tangentially related to browsers and javascript? Not sure. Is it programming related? A very little bit. Suitable for lobsters? Probably not.

      But I do am surprised that the finances are a mostly not browser development related and really politically oriented. I do hope Mozilla make Firefox the best browser there is in this chromium-based landscape, but it seems they do not. The research and write up is comprehensive though without being overly clickbait-y and there is little political steering, just starting facts and questions related to browsing.

      1. 1

        None of this is surprising given their corporate goals. The write up is garbage, except for linking to its source materials.

        There almost certainly is an interesting article to be written that isn’t a hit piece, and probably highlights that Mozilla is one of the better run US non profits. There’s also an interesting article to be written criticizing US non profits more broadly. This is not any of that.

    13. 2

      I was involved with the earlier majoe release of AXPbox and across forks of es40 (mostly this one: https://github.com/gdwnldsKSC/es40) exciting new development is going on.

    14. 3

      Fun to see the file system, it includes an old version of Qt (5.5, after 5.6 the license changed to LGPLv3). I wonder if the user interface of the scope uses Qt?

      1. 3

        Yes, I didn’t proceed to reverse engineer the user interface, but I recall it using Qt for displaying the scope readings and the user interface.

    15. 2

      A typo in the topic is painful to watch (Cirle -> Circle?)

      1. 1

        Thanks, I didn’t notice it. Fixed now, but I cannot edit the lobste.rs post anymore.

      2. 40

        Nick, we spent lots of time talking on and in private messages here over the years and I’m pretty used to the way you talk. This message does not read like any conversation we’ve ever had and it deeply troubles me to see how drastically your thoughtful conversations with me have changed and someday I hope you go through and read those to compare.

        Honestly, as someone who used to consider you an “internet friend” I hope you get banned. This sort of rhetoric is eliminationist by nature and is not just a statement of differences of opinion. This is what makes people feel less safe.

      3. 23

        Serious q: do we tolerate this on lobsters? Anyone going to do something (ban)?

        1. 16

          I really don’t care for the way this nice Unicode hack for Pride has been denigrated by someone who comes back, repeatedly, to spread hate and lies about people like me. It makes me not want to be here.

          Edit so I’m relatively new here; how am I supposed to respond to hate speech written directly to me? I’m trying very hard to be polite but it’s just so exhausting having even the most innocuous LGBT content be attacked by bigotry.

          1. 18

            It’s considered very abusive and not allowed here. I banned the user and the comments are all removed.

            1. 1

              Ban after one comment? Isn’t this a bit harsh?

              1. 12

                I read the multiple comments expressing religiously motivated bigotry before they were removed. The ban was entirely justified.

              2. 3

                Lobsters has a public moderation log if you want to review.

        2. 18

          Peter (@pushcx) will probably prune this comment thread any moment from now (does not relate to computing), but Banning someone just for having a different viewpoint than your own seems a bit harsh.

          1. 34

            It’s not clear cut, of course. But I do not think it would be disproportionate to at least give a time limited ban with a warning. Because it is not just a different viewpoint; Nick attacked a marginalized group just because they were mentioned. When moderating a community you sort of have to choose between the attackers and those being attacked. You either force out the former or they will alienate the latter.

            1. 27

              Leaving a hatted comment to note that this is pretty much the mod philosophy at work here, yes, the paradox of tolerance.

              1. 15

                There is no realistic pro-LGBT movement. There are anti-LGBT, and anti-anti-LGBT movements (this is not a logical negation).

          2. 17

            Bigotry with a nice veneer does not become a “different viewpoint” simply because of that nice veneer.

        3. 6

          Seems like exterminist bigotry is fine and dandy on this site, which is a real shame. Makes me much less inclined to hang around.

          1. 19

            It’s not fine. I don’t think it’s fine. See also his massive amount of flags, and the deluge of people telling him to shut it. Going to -10 is practically unheard of on Lobsters.

            I’ve been a long time active member (9+ years 1600+ comments), and this is by far the worst anti-LGBT garbage I’ve seen on this site. I wholeheartedly support a ban.

            1. 5

              Railing against gay people on a tech focused site is massively off-topic, which is why you are getting your comments flagged.

              You are free to express your views on these topics elsewhere. When posting here, please confine yourself to tech, where I know your input is valued.

    16. 20

      did not read this but I think you are confused and it is a shame to see you being negative about gays.

    17. 8

      This reads like copypasta

    18. 6

      I think your comment is off-topic here because lobste.rs is primarily a computing-focused forum, but your commentary has no relation to computing.

      Then, pseudoscience to back the new lifestyle.

      But since I read the linked paper anyways, I’ll include my summary of its argumentation for other readers:

      • A behavior or property which is common throughout a population is not automatically “ordered” or disordered.
      • Behavior can be considered “disordered” without physical or mental distress induced in the self or others.
      • Behavior which doesn’t serve to enhance sexual fitness is “disordered”.

      Regardless of whether one agrees or disagrees with those points, this doesn’t seem like a matter of pseudoscience at all, but rather philosophy discussing the classification of “disorder”. It doesn’t directly make claims like “individuals of population X are more likely to have property P than those of population Y”, which would be more scientific. Nor does it make a claim that treating non-distressing disordered behavior would be good.

      Overall, I am concerned because your comment is citing sources that don’t seem to justify the statement you’re making.

      Oops, I realize now that my comment is serving to artificially push this post higher in the rankings, along with the rest of this thread.

  1. 14

    Normally I don’t submit these small blog like posts here but pagefind was so easy to setup and integrate in my own static site generator and looks beautiful. It even defects images, the default UI looks nice and it responds fast. I think there are more people here that run a static site and would be interested, including an example of how it looks with 10+ years of static site content. I just recently heard about pagefind, it was discussed here almost a year ago ( https://lobste.rs/s/pvkg80/static_low_bandwidth_search_at_scale ) but I missed that…

    1. 7

      Direct link to save a click: https://pagefind.app/

  2. 1

    CentOS Stream will now be the sole repository for public RHEL-related source code releases.