

I love it, I wouldn’t have clicked this post without it. Its an actual term
https://www.howtogeek.com/what-are-boomer-shooters-and-are-they-worth-playing/
I love it, I wouldn’t have clicked this post without it. Its an actual term
https://www.howtogeek.com/what-are-boomer-shooters-and-are-they-worth-playing/
Almost, but you bring up an important point about other language support.
The code includes an install script for one language, and the second part about “any language” isn’t quite right. There is an alternative way to get any-language support but the current approach requires a language to have a syntax that is compatible with bash/powershell. For example I abuse the hell out of multi-line strings and multi line comments in javascript to make it be interpreted as a do-nothing bash/powershell script.
Python specifically might be possible because of its triple-quote strings, I haven’t spent a long time trying but I did try a bit. However in general I don’t think languages, like Haskell or Elixr, can work in this form because their syntax is incompatible.
However, if you don’t care about being able to edit the script, it should be possible to mangle code from other languages, like converting Haskell code to hex or some other escaped format (can’t be binary because that’s not valid bash/powershell). We’d need to handle unpacking that hex with shell/powershell, but it could be done. And in that case, yes it would work with any portable language. (And many are more portable than Deno, which struggles to run on old stuff like Ubuntu 16.04!)
If you’re interested in the hex unpacking let me know. I’m working on an offline bootstrapping script for deno, which involves embedding the runtime binaries of all OS’s as hex into the script itself. Once I make it, it should be a lot easier to get this kind of thing working for other portable runtimes.
It can run compiled wasm! So you could write a bootstrap script in rust, compile it to wasm, embed that wasm into a deno installer script using https://deno.land/x/binaryify and then ship that as a universal executor.
Agreed hahaha. I thought I’d enjoy the day my code golf skills would be used to solve a legit problem but instead it just feels kinda gross 😆
Honestly it’s really dissapointing we don’t just have an agreed-upon universal pre-installed language. And it’s beyond ironic (more like the universe is laughing at us) that JS, the web language that gets used for every not-web-thing, is also the language with a syntax that allows it to become the effectively universal no-preinstall language.
Actually I’ve been thinking of starting a Youtube/Peertube channel for a while so this will be a good place for me to start!
I’ll come back and post a response once I’ve uploaded it! It’ll probably take a week or two.
I write a lot of bootstrapping scripts, and I have a solution thats probably something you and others in this thread have never seen before. You can write a single script in a full/normal language, no compilation step, and it works on systems that only have bash/sh. It doesn’t compile to bash, or at least not in the way you might think/expect it to, but it should do what you want.
(guillotine because it’s a universal executor) https://github.com/jeff-hykin/deno-guillotine
It definitely requires some explanation, so I’ll try to give that here;
As another person said, shells are not nearly as standardized as we need them to be. Mac uses zsh, Ubuntu uses dash, neither store a posix bash exectuable in the same place, and both have ls
and grep
differences that are big enough to crash common scripts. Even if you’re super strict on POSIX compliance, common things will still break.
However, you can make a single script that does it all without making any problematic assumptions. I hate JS as much as the next guy, but its possible to write a single text file that is valid bash/dash/zsh/powershell and valid JavaScript all at the same time. It sounds impossible, but there is enough overlapping syntax that actually any javascript program can be converted into a valid bash script without mangling the JS code. It might be possible to do for python as well.
From there, we can use a small amount of bash/powershell code at the top to ensure that the JS runtime you want is installed (auto install if missing). Then the script executes itself again using the JS runtime. It wasn’t easy but I a made a library that explains how it’s possible and gives a cli tool for doing it with the Deno runtime. Which is the link I posted above.
After that, I just recreated tools that feel like bash, but this time the tools actually were cross platform. Ex:
let argWithSpaces = "some thing"
run`echo hello ${argWithSpaces}`
I picked Deno because it auto installs libraries (imports directly from URL so users don’t have to install anything)
Can confirm, France worked. Thanks 👍
Can someone please post what country I need to set my VPN to in order to watch this.
I love how every advertisement ever is like “buy our thing, then you’ll be happy” and then you look at this list and almost nothing on the list is a product or service.
The killer feature (IMO) is automatic conversion of C code to Zig code (transpiling). E.g. take a C project, convert it all to Zig, and even if you don’t transpile, you still get really nice compat (include C headers just like a normal input without converting). Getting a medium sized C project converted to Zig in 1 day or 1 week, then incrementally improving from there, is really enticing IMO especially considering the alternative of rewriting in Rust could be months of very hard conversion work. Transpiling isn’t perfect but it seems to be a 97% soltuion.
The second advantage seems to be easy unsafe work.
BTW I don’t really use Zig, and I still prefer Rust, but those are the reasons I think it has a niche of its own. Does rust already fill this space? Yeah kinda, but that’s why I’d call in a niche
The killer feature (IMO) is automatic conversion of C code to Zig code (transpiling). E.g. take a C project, convert it all to Zig, and even if you don’t transpile, you still get really nice compat (include C headers just like a normal input without converting). Getting a medium sized C project converted to Zig in 1 day or 1 week, then incrementally improving from there, is really enticing IMO especially considering the alternative of rewriting in Rust could be months of very hard conversion work. Transpiling isn’t perfect but it seems to be a 97% soltuion.
The second advantage seems to be easy unsafe work.
BTW I don’t really use Zig, and I still prefer Rust, but those are the reasons I think it has a niche of its own.
I also prefer Rust, but I saw a pretty good argument for Zig (and actually a pretty big hole/problem with Rust) when it comes to unsafe stuff. The title of this is clickbait but the content is really good: https://www.youtube.com/watch?v=CbQVR4v5PZw
Yes some people are using it! I think this video gives a good idea of adoption since its about a company’s experience using zig: https://www.youtube.com/watch?v=wxx5_Xaw7zU
I considered Zig and Nim as kind of irrelevant given Rust is being adopted, but this video, specifically the C compat, changed my mind, at least for Zig.
I love when a comment gets more upvotes than the original post
Nothing is stopping them. Have you seen Leptos? https://github.com/leptos-rs/leptos
Deno solves this problem :)
JavaScript (is the universal language) (is also the answer of why there are so many languages)
Yeah I like it cause it’s got better UI’s than reddit and users get to pick. There’s a few features I’d like to add (I’m a dev) that I think would also make it better than reddit.
I do think the front-page is kinda uninviting with how much patting-ourselves-on-the-back there is (nobody talks about how great reddit is on the front-page). But other than that, I think better experience is where Lemmy can shine. The best part is each instance can try there own features to see what sticks.
I’d be nice if they mentioned how to identify structural problems. Itd be even more nice if the paper wasn’t hidden behind a $64 paywall.