

Right but what I’m saying is speed wasn’t really the reason to use it in the first place
I make things: electronics and software and music and stories and all sorts of other things.


Right but what I’m saying is speed wasn’t really the reason to use it in the first place


Maybe this is wrong, but my understanding is BTRFS is generally slower than EXT4, and that’s okay. It’s not going for speed
Where it shines is not in its speed but in its versatility offering compression, rollback, subvol, etc
For example, for applications, you do a lot of writes/reads to Documents or load resources like for games, so use EXT4 for /home or for a dedicated /games partition
For your system, it could be broken via config tweaks or updates, so use BTRFS to have the rollback options
Here is the grammar:
<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>
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:
# 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


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)
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
Never understood the hate. Teams is by far the most competent messaging platform out there. Way more intuitive that crap like Slack or Discord
The modern one: