• 0 Posts
  • 18 Comments
Joined 3 years ago
cake
Cake day: November 10th, 2023

help-circle
  • It is worth pointing out that the only reason docx support is lackluster is because of active efforts from MS to undermine third party support. It is a interesting story actually, but I don’t recall exactly, but it goes like this, there was some regulatory push to open formats and MS undermined this by creating and making the docx (and all other *x family) open but make it so convoluted and unnecessarily difficult. If I am not mistaken they even keep unnecessarily updating and changing it so third party is always lagging behind in support and the cherry on top that MS don’t correctly implement its own format on purpose so the files are effectively broken for anyone that follows the spec to a T.




  • I “love” when the wrong technology is applied.

    On the the dawn of the smartphones Mozilla tried to enter the space with an FirefoxOS and the pitch was that every app was just a website just more tightly integrated with the phone. The problem is that all the web stack is wonderfully resource hog and at the time phones were super underpowered running websites were not optimized in a browser that were not as optimized as today. So it was a terrible choice for the time being.

    Other good one was Android early days. They choose Java as the default app environment and development. It kinda makes sense to use it if you want the same program to run on different platforms, the problem, again, it runs worst and with the underpowered devices of the time everything was a slog. And they doubled down on the mistake by using a garbage collector that doubled the memory usage of every app. The cherry on top, at least in hindsight is that arm was and still is the de facto Android plataform, greatly disminishing the advantage of using Java/JVM. And today Google enabled apps with native code optimized for specific plataforms, but everyone only care about ARM so of you try to run Android like in an Intel laptop a lot of apps are not compatible.

    End of rant.






  • The biggest hurdle for a Linux phone is proprietary drivers. On a PC you can swap parts, you can add a USB wifi or sound card on a laptop, but on a phone you are kinda stuck with all the stuff on the phone, so the problem with binary blobs is so much worse, and untill we don’t have at least the full drivers source or datasheet as an normal part of phone releases it will always be an impossible to win catch-up race.

    At least phones are not getting that much better anymore so is starting to be feasible to floss hackers to fully port Linux to some phones in time for them to still be usable (battery problems a part).




  • You know… I was about to reply with "I use set -e and I love it, but them I read the link and it gave me flashbacks. In a previous work at some points I programmed way more in bash than the languages I was officially hired to program into, and I run in some many of this edge cases, I think almost all of the ones mentioned in the link, including doing the workarounds mentioned. two that standed out to me was local var=$(fail) and if f(). Side note, I remember finding a bug in declare (I don’t remember exactly, but one of the flags, maybe -l to make a local variable was not working) and was só excited to fill a bug report but then I saw that it had already fixed in a newer bash release.

    Anyway, In the end if I recall correctly I never settled in a one fixed approach, I distinctly remember adding set -eu to a bunch of scripts but also remember having to set +e in some cases like when sourcing other scripts and also adding the suggested foo || die combo a bunch"

    I think in the end my approach was the same as rking’s at the end of the linked text, I used it but not relied on it. And I guess using too much bash made me paranoid and I heavily tested every line for all sorts of error cases. I think set -e is good when debugging when the thing is not working, especially because bash also suffers to lack a good debug and tracing environment, leaving you to set a bunch of stuff just to have a trace of your script and see what it is doing.



  • You don’t even need to specify the decompression algorithm anymore, I don’t even know if it was mandatory at some point but since I was introduced to Linux like 20 years ago tar would already extrapolate the decompression from the filename extension. Now for the compression I think you do need to include the algorithm, it would be nice if it would default to the extension on the supplied filename also.


  • I think find UI is so bad every time I use it I think about hacking a script just to make it simpler for my use case. At the same time I am very reluctant to use one of this new versions of standard commands trying to reinvent the wheel.

    Some things I don’t link about find:

    1. How the directory needs to be the first argument. I get the reasoning but it is such a pain, specially if you are using it with the same query repeatedly in different paths.

    2. The parenthesis to set order of matches, you are doing it in the shell so you have to escape them which is never fun.

    3. The fact that -name does not match partial names and there is not a version that do so you have to keep doing stuff like -name "*foo*" and of course you have to escape that shit or risk you shell expanding it. Having the GLOB version is nice but there could have a more ergonomic way to do this type, which I assume is a very common use case.

    4. Actually, doing more complex logical matches is always a pain and it would be nice to have a easier way to do some common operations.

    5. The fact that when you do some complex match then the -print is not automatic anymore or the the behaviour is kinda weird. And is a pain to add it in all logical branches or do it in a way that you do not repeat a lot.

    Anyway, sorry for the rant.