I only watch the go part, and I'll say that in 3 years working with I might have had at most 3 times nil pointer crashes in prod, in which took about 30 min between getting fixed and deployed.
There are linter which helps prevent most of if not all crashes (just keep in mind to run linting and compile the binary it would still be ages faster than anything rust I have ever compiled). His argument is weak, and not simple.
I'll give that type system in golang is too simplistic sometimes, and a more complex could help to express better some use cases.
Still go for a person coming from a interpreted language is a solid choice by being MUCH MUCH simpler.
> 3 years working with I might have had at most 3 times nil pointer crashes in prod
I've been running a rust app for my personal trading app and a small service at a very large FAANG company for more than 3 years, and guess what I'm yet to see a nil crash.
Agree, people should understand why they are picking a language. If it is to learn new language that is fast, compiles to a binary (also fast) and has a nice onboard experience for a person coming from a interpreted language (which is the topic of thread) go fits nicely.
Rust is not always the answer just because it has "no nil exception". The correctness of Rust comes at a cost as well.
Have you considered a network manager? Weirdly enough I have no trouble connecting to a Bluetooth device via bluetoothctl, I can never remember how to disable wifi, or set a static ip though
that's why I don't like network manager and bloated software in general, they try to do everything and it always come problems
You don't need network manager for bluetooth. just install bluetoothd and there you go and use bluetui or bluetoothctl
for wifi, I recommend iwd, and then you can use impala, or iwctl
pick up the right tool for right purpose
> It made me really happy how a tool so simple makes such a huge difference in terms of how smooth it is to solve a problem,
Happy to hear that :)
> if I have one tiny criticism about bluetui is the annoying fonts
You suggest to get rid of the icons ? what if they can be disabled in the config, will that fix the issue for you ?
> there's plenty of white space
You can set the window width from the config file (width = positive integer) if you don't want the TUI to be responsive.
Emoji in text is annoying, but this isn't a page of text, it's a UI element, and that can make something clear especially if you're connecting a device whose name is unknown, but you know it's a speaker, or whatever.
So having the option to enable / disable is better than taking away the icons, in my opinion.
Absolutely this. Particularly when there might be a few unnamed devices, but you know your devices is a particular device class, you can guesstimate the correct device based on its class, and the icon is extremely useful for this!
That method isn't entirely reliable either: all come out at “question mark in a box” (Chrome, Edge) or “codepoint hex in box” (FF) on the old Win10 box that I'm currently trying to retire. The come out find on a similarly default Win11 setup.
While the issue here is Win10, it shows that the problem is client font sensitive so it might affect others too (perhaps those running old-but-still-supported Linux distro releases with default fonts).
> all come out at “question mark in a box” (Chrome, Edge) or “codepoint hex in box” (FF) on the old Win10 box that I'm currently trying to retire. The come out find on a similarly default Win11 setup.
This is pretty funny to me, because on plain ol' Firefox on NixOS everything looks just fine!
We've come pretty far from the days when things were randomly broken on Linux..
Firefox on Fedora 43 here, no joy, and indeed, randomly broken on Linux (too).
[edit] Okey, so installing the complete Google Noto Fonts family resolved this issue. But I still don't know if relying on a script with almost no font support is any better than what the OP did.
> In general, its a good idea to not rely on someone having installed nerdfonts / fonts with glyphs. Or at the very least offer fallback.
This bears emphasis; I sometimes use tools that try to use fancy fonts for icons, and it just gives me unreadable symbols because I don't have the font installed. And you might reasonably say, "just install the font package", but that only works if the font is packaged for my system, and I know what package it's in.
Hi bluetui author. I just discovered your app last week, just wanted to say it is great.
I truly like this new generation of command line utils (I have bat, eza, etc aliased to things like cat and ls) and TUIs like yours. TUIs in particular: having grown up with DOS apps, then graduating to using Pine for email on a shell account, they are nostalgic, but also just super fast and practical. And I like having an option in between the command line and config files and a full-blown GUI app (which, on Linux, might look like any old random thing anyway).
This is such a great book, especially the section on operating system primitives, which made the book wider in scope and more practical. After all, you're probably not building exotic data structures by hand in memory without also needing high performance IO.
It's been a hobby of mine to collect concurrency examples from books and blog posts and simulating them in Temper, my Rust memory model simulator. As far as I know, it's the largest Rust/C++11 memory model test suite on the internet (but I'm happy to be corrected).
I didn't find any bugs in the examples, but with how good the book was, I didn't expect to :)
The Williams book for C++ contains many of the same ideas (Rust's memory model is a copy/paste from C++11 without the now deprecated Consume) and I can highly recommend that too.
reply