Skip Navigation

Posts
8
Comments
279
Joined
3 yr. ago

I make things: electronics and software and music and stories and all sorts of other things.

  • TOML

    Jump
  • Here is the grammar:

     bnf
        
    <json> ::=              <value> | <fn-def> <json>
    <value> ::=             <object> | <array> | <string> | <number> | <bool>
                            | <fn-def> | <fn-app>
                            | "null"
    <object> ::=            "{" [ <member> { "," <member> } ] "}"
    <member> ::=            <string> ":" <value>
    <string> ::=            "\"" { <char> } "\""
    <char> ::=              (ASCII other than "\"", "\\", 0-31, 127-159)
                            | (Unicode other than ASCII)
                            | ( "\\" (
                                "\"" | "\\" | "/" | "b" | "f" | "n" | "r" | "t"
                                | "u" <hex> <hex> <hex> <hex>
                            )
    <hex> ::=               /A-Fa-f0-9/
    <array> ::=             "[" [ <value> { "," <value> } ] "]"
    <number> ::=            <integer> [ <fraction> ] [ <exponent> ]
    <integer> ::=           "0" | /[1-9]+/ | "-" <integer>
    <fractional> ::=        "." /[0-9]+/
    <exponent> ::=          ("E" | "e") [ "-" | "+" ] /[0-9]+/
    <bool> ::=              "true" | "false"
    <fn-def> ::=            "(" <ident> { <ident> }
                                ("->" <value> | ":" <string> <string>) ")"
    <ident> ::=             <startc> { <identc> }
    <startc> ::=            /A-Za-z_/ or non-ASCII Unicode
    <identc> ::=            <startc> | /[0-9-]/
    <fn-app> ::=            "(" <ident> { <value> } ")"
    <var> ::=               "$" <ident>
    
      
  • TOML

    Jump
  • It’s basically just JSON that can generate itself !

    You have inspired me.

    I will make JSON with meta-programming

    I will call it DyJSON, i.e. "Dynamic JSON" but pronounced "Die, Jason!"

    It is JSON with meta-programming and the ability to call C functions from libraries

    Example:

     Python
        
    # This is a line comment
    
    # Put your function definitions up here
    (concat str_a str_b: "concat" "my-lib.so") # Import a function through a C ABI
    (make-person first_name last_name email -> { # Define our own generative func
        "name": (concat (concat $first_name " ") $last_name),
        "email": $email
    })
    
    # And then the JSON part which uses them
    [
        (make-person "Jenny" "Craig" "jenn.craig.420@hotmail.com"),
        (make-person "Parson" "Brown" null)
    ]
    
      

    As you can see, it is also a LISP to some degree

    Is there a need for this? A purpose? No. But some things simply should exist

    Thank you for helping bring this language into existence

  • Common Niri W tho

  • That or make your system immutable

  • But I don't need to do those things with ip

  • 'ɹaʊ.ɾɚ

  • They can take ifconfig from my cold, dead hands. I will not learn ip

    scp too. What even is an rsync? BS that's what!

  • Nope.

    I've thought about this before, and it gave me an interesting thought process: AI can't ever be good at doing a large project.

    It has a hard limit. Not only is it not as good as us, the best it can ever do is as good as us, and we're not even good at it. That's all it can be trained on! Our garbage code lol

  • Ah Eduroam and university Linux struggles. Takes me back to my days at Rose-Hulman

    You should see if your college has a LUG (Linux User Group) who can help with getting class-specific software, wifi, etc working on Linux

  • Pentium III? Oh man, the cleanup is getting close to affecting me.

    I have a Pentium 4 PC (an old Dell Optiplex that originally ran XP). It still runs modern Linux straight from the distro download page without any other set up needed bc it's an early 64-bit CPU

    But maybe soon it will lose support for some other reason like a driver losing support.

  • Maybe if more projects add things like this it will keep them from having to get rid of bug bounties.

  • I mean distro only matters in so much as it's how you get software.

    Arch or Arch-based distros (except Manjaro) are nice for Nvidia bc you're always on the latest drivers and latest wine and latest Niri. Mainly bc you get bug fixes and new features early.

    That's what I use.

    Fedora is like that too, but Fedora tends to organize the system in a non-standard way, so I don't use it. Tried for a few months. Ran into weird issues where I ended up needing to just build kernel and nvidia myself bc the COPR and main repo options just... didn't work.

    Nix can do it too but you have to deal with the static, immutable nature of everything. I like the centralized config nature but some apps just don't work immutably.

    Ubuntu and Debian distros can do it, but you might have to tweak more since they're more stable and may not have the latest driver which you may need.

    So I mean, they can all be tweaked to get the software you need. I like Arch bc of the AUR, up-to-date software, extensive documentation, and standard design, but then the risk is every now and then it's "too up-to-date" and you get a regression, and for some people that's too big a problem, even if it rarely happens.

  • My 16G RTX-3080 Mobile works well with Niri

    I've found it varies from compositor to compositor:

    • Plasma? Mid on Nvidia
      • Constantly I have issues and I can't even solve them myself
      • I have plasma working on Ubuntu Studio on a laptop I use for music making which has some Nvidia card, and that works fine, but not on my main Arch install
    • GNOME? Works okay until you want to do something with portals like screen recording
      • Even if I use a different portal, GNOME overrides it.
    • Hyprland? Works amazing EXCEPT for random tiny issues
      • Also I had to do a lot of tweaking
      • Every now and then some program will not start or something
      • But generally pretty good
    • Sway? Garbo support
      • Nvidia may not even boot. Lots of tweaking. Lots of issues
    • Cosmic? For wayland - solid
      • For everything else... it needs a little work still
      • I also tried Cosmic Shell + Niri, and it just kinda didn't work in some ways like theming, but Wayland worked great.
      • Also performance with multi-displays is kinda poor, or at least it was when I tried it.
    • But Niri? Perfect
      • Absolutely FLAWLESS Wayland. EVERYTHING works
      • And now that I have DMS there's so much done for me. It's really a great system

    Since I love the scrolling aspect of Niri as well, it works out well that it has the best Wayland support. 10/10 project. I love it

    When I was on X11 still I was primarily an i3 user, and the transition to Hyprland and Niri has been generally positive

    But yeah, I've worked with Nvidia on Linux for several years now on multiple machines. I'm finally throwing in the towel whenever I buy a new PC. AMD all the way. It's just better on Linux, even on X11

  • I bet they'll get mad if I call it "X-fowl" instead of X-F-W-L lol

  • All I need is VLC and MPV

  • I'd recommend using something like Niri instead of mutter for the compositor as Niri is:

    • Extremely customizable
    • Meant to be used alone (unlike mutter which is for Gnome)
    • Supportive of Wayland portals better than any compositor I've tried
    • Very modern
    • Pretty stable
    • Making use of scrolling window management which is, imo, superior to anything else
      • You could force all windows to be floating if you want that traditional method tho

    I'd also recommend using DankMaterialShell and simply providing a theming to get the appeal you want. It works well with Niri and provides all the system tools you need for an OS like bluetooth and audio management, application lookup, etc. It's sort of a stripped down Gnome-shell for standalone compositors but way more customizable.

    Then everything else can just be installed WINE apps.

  • Another reason why raw pointers are superior to object nonsense

    Isn't "explicit is better than implicit" part of the Zen of Python?

  • I like Ardour. It's got everything you need. It's what I've been using for the past couple years now. It even supports VST2/VST3 plugins through WINE

    I also recommend using yabridge to set up Windows plugins to work on Linux, but be warned there is risk of compatibility issues with plugins on Linux when buying new ones!

    EDIT - Resources:

    Wait a little while and low key Audacity 4 might release a fully capable DAW as well now that it's adding better clip support, plugin support, non-destructive editing for some effects like compression, reverb, etc. Of course, it will be mainly for if you do a lot of recording. For electronic, Ardour would probably be better even after Audacity 4 releases.

  • Nexctloud home server ftw

  • Linux @lemmy.ml

    I made this Linux wallpaper a while ago, but never shared it

  • Linux @programming.dev

    What is the best setup for Wayland + Nvidia/Intel Laptop (Alternative to Reverse Sync)?

  • C++ @programming.dev

    ACBS - Another C Build System (compatible with C++)

  • C Programming Language @programming.dev

    ACBS - Another C Build System

  • Programming Languages @programming.dev

    It's nothing special, but it's special to me :)

  • Godot @programming.dev

    OoT-lineage-Zelda-like Camera and Movement in Godot 4

  • The Legend of Zelda @lemmy.ml

    An unexpected similarity, but a welcome one

  • Nix / NixOS @programming.dev

    How to declaratively define Strongswan VPN connections for NetworkManager?