Makes you wonder about the underlying plumbing though, if setting an GUI appearance option can lead to data loss in the first place.
Is there a writeup/summary somewhere that explains "the lessons learned"? Otherwise I'd kind-of start to worry about what could happen, if ... say ... I change the Bluetooth output codec, or some other other UI details.
> Is there a writeup/summary somewhere that explains "the lessons learned"?
Not that I'm aware of, but I'm sure you could check the GitLab commits and/or ask on their forum if you're interested.
This is a young project (just under a year old) with developers who do this for fun. The developers are going to keep making changes that maintain the fun they have during development.
Mistakes will be made. Things will break. Lessons will be learned. This isn't a decades-old mature distro, so if you're expecting something absolutely bullet-proof then Garuda currently isn't it.
However, I will say that the pace of improvement is pretty stunning. Their direction and what they have achieved in a short space of time is pretty impressive - not just within the distro itself but the surrounding OOB features and infrastructure like ChaoticAUR (prebuilt AUR packages), secure password management (Bitwarden), dotfile sync (NextCloud), a pastebin service for log output (Privatebin), ...
Is it perfect? No. Is it for everyone? No. It is what it is, and doesn't try to be anything else, and I kind of like that approach.
All fine and well, but then the Webpage should perhaps tone down a bit on the flashy images, and perhaps mention more prominently, that this iron is still glowing hot on the forge, and basically a tinkering environment for the time being.
I'm not sure whether this is misleading or not given the nature of illustrative screenshots, e.g. the package management one shows VLC installed but not Firefox:
I always love these things that are really scripts in two (or more) languages. Common is something like this on Windows to make a command script a Perl script. It lets you run your Perl script without having to make sure you had .pl extensions associated. Though, you needed Perl installed, so I never quite got the point.
@rem = '--*--Perl-*--
@echo off
echo Hello from a command script
perl -x -S %0 %*
goto endofperl
@rem ';
#!perl
print "Hello from Perl!\n";
__END__
:endofperl
By far very less common is to stuff some Perl code in a C# source file. A dev that was way too clever for his own code did this to have a Perl script that would update a C# script file and be self contained. This is a simple example of what it looked like, minus the instant headache anyone got that had to look at the real version:
#if PerlScript
$csharp=<<WhyJustWhy;
#endif
using System;
namespace Example
{
public static class Program
{
static void Main()
{
Console.WriteLine("Hello from C#");
}
}
}
#if PerlScript
WhyJustWhy
print("Hello from Perl!")
__END__
#endif
That wasn't quite what I was trying to show with the snippet - I was intimating that you can use tcc to run C directly in something like a shell script.
If you want to make `tcc -w -run` etc. more convenient then:
> That wasn't quite what I was trying to show with the snippet - I was intimating that you can use tcc to run C directly in something like a shell script.
I know, but the first example in the link was:
$ runc 'printf("%s\n", "Hello!");'
Hello!
So I figured I'd complement your example use with one that was more analogous to that.
> I can't edit my parent comment now, but it can be improved with e.g.
To be honest, I liked your original example more. Using that `//` "shebang" depends on what shell it's invoked from, and it wouldn't work when calling exec from other languages. For example, with your last example using `//`:
$ python -c 'import subprocess; subprocess.run(["./hello-tcc-double-slash-shebang.c"])'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3.8/subprocess.py", line 489, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: './hello-tcc-double-slash-shebang.c'
while it would work with the `#!` shebang, since that's handled by the kernel.
> You do realize that no version of Ubuntu was ever released with that feature?
Not sure that is true - I seem to remember that it was enabled by default in a couple of releases (I think somewhere around 12.04?).
> you had to opt in
> It's easy to get upset about stuff people have made up
I raised this issue early in the Lens development phase. The response from the mailing list was (paraphrasing) "well, people can always uninstall the package if they don't want the feature" (at which point I then opted out entirely).
I wish those people who find they can easily find another job without any effort or worry would realise they are not normal.
For the majority of people finding a half-decent job takes a stupid amount of time (the number of jobs advertised which simply list a set of "technology words" and end in a black hole is not insignificant), and even if you do find a reasonable position being advertised then it's perfectly normal to never get any sort of response back.