[-] FizzyOrange@programming.dev 2 points 1 year ago

IDEs tend to work out of the box while the likes of vim or emacs need configuration and have an initially steep learning curve.

Not in my experience. It's very easy to design systems that break IDE support. People love adding all sorts of ad hoc build scripts that mean you can't just press F5 or whatever. It takes discipline and caring about IDEs to not do that.

And while people might love tweaking Emacs and Vim, it isn't required.

[-] FizzyOrange@programming.dev 2 points 1 year ago

I don't think this is a very interesting article. We already know AI suggests nonsense a lot of the time. That in no way demonstrates that it is net-negative. In my experience it's a net positive even accounting for the times it gets things wrong.

Yes you do have to review its code closely. News at 10.

It is kind of funny that they picked an example where it made an obvious mistake for their hero image though.

[-] FizzyOrange@programming.dev 2 points 1 year ago

Even when there are huge network effects like this you do occasionally see big shifts, usually when the incumbent screws up, or there's a competitor that is so much better that people want to switch anyway. For example SMS->BBM->WhatsApp, MySpace->Facebook->WhatsApp, Digg->Reddit, and of course Sourceforge->GitHub.

So I guess the deeper question is "why does everybody else still use GitHub?" and the answer is:

  1. Microsoft haven't screwed GitHub up in any significant way (like e.g. Digg did).
  2. There aren't any competitors that are so obviously better than people want to use it despite the network effects.
[-] FizzyOrange@programming.dev 2 points 2 years ago

RHEL 8. Unfortunately I don't have a choice about that.

[-] FizzyOrange@programming.dev 2 points 2 years ago

To be clear I fully support Rust in Linux. I just think it's going to rapidly be impractical to work on Linux without learning Rust.

The solution isn't to pretend that isn't the case; it's to learn Rust!

[-] FizzyOrange@programming.dev 2 points 2 years ago

Hardened standard library is going to make the times when I am forced to use C++ a lot more pleasant. Does anyone know how you will enable it? I think it's pretty much guaranteed that they're not going to take the sensible route of making it opt-out, and if it's too difficult to enable nobody is going to bother.

[-] FizzyOrange@programming.dev 2 points 2 years ago

And I certainly am not proposing that we can abandon robustness.

If you're proposing Bash, then yes you are.

You’ll probably hate this, but you can use set -u to catch unassigned variables.

I actually didn't know that, thanks for the hint! I am forced to use Bash occasionally due to misguided coworkers so this will help at least.

But you can’t eliminate their dependence on shared libraries that many commands also use, and that’s what my point was about.

Not sure what you mean here?

Just want to copy some files around and maybe send it to an internal chat for regular reporting? I don’t see why not.

Well if it's just for a temporary hack and it doesn't matter if it breaks then it's probably fine. Not really what is implied by "production" though.

Also even in that situation I wouldn't use it for two reasons:

  1. "Temporary small script" tends to smoothly morph into "10k line monstrosity that the entire system depends on" with no chance for rewrites. It's best to start in a language that can cope with it.
  2. It isn't really any nicer to use Bash over something like Deno. Like... I don't know why you ever would, given the choice. When you take bug fixing into account Bash is going to be slower and more painful.
[-] FizzyOrange@programming.dev 2 points 2 years ago

Ah yeah I misread.

[-] FizzyOrange@programming.dev 2 points 2 years ago

Yeah I tried Buildroot and Yocto and got frustrated. Buildroot did work, but it does a ton of stuff with a ton of not-very-well-documented options, and it definitely wasn't integrated into a proper build system. Like there's no way I'd trust any kind of incremental build.

I ended up doing it myself. Tbf I was just benchmarking kernel boots so I didn't need userspace or even real hardware. I only needed OpenSBI (a RISC-V firmware thing) and the kernel.

Frankly OpenSBI is a rather undocumented mess too. Incremental OpenSBI builds don't work, and I did try and contribute fixes but despite the repo being on GitHub they auto-close PRs and tell you to use git send email from the command line to a mailing list like it's the 90s. I shit you not. How to keep away contributors.

Anyway my conclusion is that the whole Linux OS building story is a shit show. If you only want a basic image with busybox etc. you can probably do it yourself and then you will actually understand it, but you will just be recreating Buildroot.

[-] FizzyOrange@programming.dev 2 points 2 years ago* (last edited 2 years ago)

Ah right so sherperd is designed for developers and professional sysadmins, and systemd is something that "normal" users (e.g. Ubuntu users) might use?

[-] FizzyOrange@programming.dev 2 points 2 years ago

I've never done it but apparently you can actually gradually transition to Typescript one file at a time by renaming them from .js to .ts. Might help a bit. Good luck anyway!

[-] FizzyOrange@programming.dev 2 points 2 years ago

It has them, but you can't use them from a single-file script. You have to set up a pyptoject.toml, create a venv and then pip install . in it. Quite a lot of faff. It also makes some things like linting in CI way harder than they should be because the linters have to do all that too.

With Deno a single .ts file can import third party dependencies (you can use any URL) and Deno itself will take care of downloading them and making them available to the script.

Some other languages have this feature to certain degrees. E.g. I think F# can do it, and people are working on it for Rust, but Deno is at the forefront.

view more: ‹ prev next ›

FizzyOrange

0 post score
0 comment score
joined 3 years ago