• 119 Posts
  • 870 Comments
Joined 2 years ago
cake
Cake day: June 11th, 2023

help-circle

  • , but it works reliably well. It takes a second or two to be redirected to the site you’re visiting.

    Do you mean it works reliably well in letting users through, or in blocking AI?

    Do you have sources or more information about the effectiveness of it in blocking AI? What else it blocks as collateral damage would also be interesting.

    /edit: Clicking through some links (specifically canine.tools) I have to say - it may also be effective in annoying me personally, and eventually exiting those websites. Similar to consent dialogs you could go into settings for and save with opt-outs. But it’s a barrier and user-opposing functionality.

    I certainly don’t see it as a simply or only good and effective thing.


  • It doesn’t open with a summary or overview but dives right in to exploration, but I think the point comes across:

    The copy and paste key codes, which have no physical keys anymore, are - to a degree - supported in software. Their claim is that those key codes are the tool for universal copy and paste, and then it’s the input interpretations job (key and combination mapping) to offer bindings to those key codes.

    GTK added support the copy and paste keyboards in January 2025. QT also added support for copy and paste key codes the same month. I’m not sure of the first released version of the GTK toolkit that will contain the fix. For QT, it will be QT 6.10, scheduled for release in September 2025. Together, this will cover many apps built for Gnome and KDE as well as others that use the same toolkits.

    … followed by some more “current state of support for those key codes”.



  • You linked a tutorial to sh. Note that nobody ends up shell scripting in sh. People will use bash, which is an alternative shell and shell language, and almost universally available where sh is available. sh is very old and limited. bash is much more common.

    There’s many other kinds of shells as well though. And you such an automation task you could use any number of scripting languages. The part that makes it a shell, which is interactive use, is not necessary for a scripting task like this of automating an operation. Shell languages can be used as scripting languages too though. I just want to point out alternatives and context.

    Personally, I use Nushell as my daily shell and for scripts and am very satisfied with it. It’s not universally available as in pre-installed, but is multi-platform and easy to install through an exe or package. Because it’s a newer project, there’s not that many resources yet, and still occasionally makes changes to its language with new releases. But, for me, the upsides to other shells are obvious and significant. I posted my Nushell solution in a separate comment (separating concise solution from this general prose exploration).


  • My preferred shell is Nushell. I would write:

    glob **/*.mp3 | wrap mp3 | insert txt { $in.mp3 | path parse | update extension 'txt' | path join } | each { ^mp3splt -A $in.txt $in.mp3 }
    

    or with line breaks for readability

    glob **/*.mp3
      | wrap mp3
      | insert txt { $in.mp3 | path parse | update extension 'txt' | path join }
      | each { ^mp3splt -A $in.txt $in.mp3 }
    
    1. glob to find the files (according to pattern from current dir)
    2. wrap list values in a named column
    3. add column txt with extension replaced by txt
    4. => now I have a table with mp3 and txt columns with respective full paths
    5. call mp3splt for each










  • At my work we explored a low-code platform. It was not low on code at all. Beyond the simplest demos you had to code everything in javascript, but in a convoluted, intransparend, undocumented environment with a horrendous editing UI. Of course their marketing was something different than that.

    That was not the early days of low-code mind you. It was rather recently; maybe three or four years ago.








  • KissakitoOpensourceGNU Taler for payments?
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    10 days ago

    I looked at Wikipedia; Taler then Blind signature, then looked for docs on GNU Taler where I didn’t immediately find any technical overview of how that works. Phind gave me a seemingly reasonable and understandable answer. (Surely sourced from somewhere.)

    When we multiply the original message by rere, sign it, and then multiply by r−1r−1, the blinding factors cancel out while preserving the signature.

    The success of this process relies on two critical properties:

    • The blinding factor must be relatively prime to N
    • The RSA keypair must satisfy the congruence relation red≡r(modN)red≡r(modN)

    The magic is that you can

    1. Apply a mathematical operation on your data
    2. Sign that data
    3. Revert/Invert the mathematical operation

    and the signature remains valid.

    It does sound like magic. But isn’t most of cryptography like that?

    There’s a python example in there as well, with such a calculation. I didn’t go through it though.



  • KissakitoProgrammingLicenses are boring but you really need one!
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    10 days ago

    There’s a lot more variance in the specifics, but I think for an overview like this it’s certainly missing dual-licensing and “business-open” licenses like “readable but limited now, but free software two years from now”.

    But I guess with the specific target audience of this post the reduction for simplicity is a good thing.




  • Performance optimization is hard because it’s fundamentally a brute-force task, and there’s nothing you can do about it.

    I think that only takes effect after a certain degree of best practices, knowable practices and effects, and after educated guesses and theories with testing. That’s a lot before you reach brute force territory. At least in typical and higher-level programming language development.














Moderates