Skip Navigation

Posts
2
Comments
82
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

  • 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 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

  • As others said, it means nullable, but to put it in more intuitive, less-jargony way - it's a question mark bc you don't know if the value is actually there or not. It could be a Singleton, but it isn't until you check if there is a value. Whereas if you have, idk, int a no question mark, then you're saying you actually have data.

    Essentially with C# 8, they "removed" null and reused the idea of null references in creating what is essentially an Option like in other languages. You either have some data of some type, or none (a null reference, in this case). By default, everything has to be there. Then when you need null, e.g. you may not have something initialized or an operation could fail, you explicitly grab for it. Thus it reduces null pointer bugs. If you don't need nullability, you can ensure that you don't accidentally write in an issue. It safety checks statements and parameters.

  • Wdym? They're so good they even got backported to C in C23

    You know how often C gets big features like that? I mean to get auto they had to basically deprecate a keyword (well, sort of)

  • xD.

    Jump
  • Ah I see. So the complaints aren't really in the feature-set or design of the app, but rather the optimization.

    That makes sense to me now. I was coming from the perspective of "I really like how information is organized and how collaboration works" not from a "does this app function well."

    I've never really had any performance issues, personally. Perhaps that's bc I always used the Linux app back when I used teams and had a beefy PC. It had its own issues, but they were really with getting it to run in the first place. Once I could get it running, it always worked well for me.

    Also, I was using it a couple years ago, pre-copilot, so maybe that's added to the crappiness

  • xD.

    Jump
  • Never understood the hate. Teams is by far the most competent messaging platform out there. Way more intuitive that crap like Slack or Discord

  • Just use enums

  • I wonder how Asahi on Apple Silicon would do. I would think it would be even less

  • This is how I learned about ReScript

  • This is just a vertical scrolling window manager