balsoft

joined 1 year ago
[–] balsoft@lemmy.ml 4 points 20 hours ago* (last edited 20 hours ago)

This is literally just talk (promise) about a bunch of other talk (recognition). While talk is better than silence, nothing of substance is happening yet. They still trade with Israel, including some weapons.

[–] balsoft@lemmy.ml 1 points 20 hours ago

Well, it gets the city right at least, and that's enough for me

[–] balsoft@lemmy.ml 1 points 20 hours ago

Hmm, interesting. So this is probably the case of beacondb having incorrect data for your surrounding WiFi APs. I don't know why it works on the other laptop, maybe it uses a different location database?

[–] balsoft@lemmy.ml 1 points 2 days ago

I agree with your overall point, that having a single consistent functional language for package descriptions and build scripts is a great thing, and that bash is awful, but your reasoning is somewhat flawed. The main drawbacks of bash are somewhat rectified in Nix because bash is very much contained/sandboxed, which prevents arbitrary damage to the system, and there are some nice defaults in stdenv too.

The Guile version supports a more powerful functionality, which is that evaluation of a package can have several extra results (called outputs). It is over a year that I read about that in the Guix documentation and yet I recognize it immediately.

Nix also supports multiple outputs (in fact this is where the concept of outputs in Guix came from)

the code tells me that it is removing examples.

You could also do that with Nix in an easier and more declarative fashion, either by adding a comment, or by doing this:

postInstallPhases = [ "removeExamplesPhase" ];
removeExamplesPhase = ''
  rm -f "$out"/lib/{basic-server,helloworld,postcollector}
'';

Scheme has much safer and more robust string handling. The code will not do harmful things if a file name contains white space or happens to be equal to 'echo a; rm -rf /etc/*'.

Bash is just two double quotes away from doing this too. See code above for an example

Scheme strings handle Unicode well

Bash also handles Unicode well

If there is an error, it will not be silently ignored as is the norm in shell scripts which are not written by experts, but will throw it.

Nixpkgs stdenv sets set -eu which has a similar effect. If that code fails, the entire build will fail too.

the code has less redundancy. For example, the bash version mentions three times the subfolder “lib”, the Guile version only once. This makes it easier to refactor the code later.

This is also really quite easy to rectify in bash, see code above.

[–] balsoft@lemmy.ml 4 points 2 days ago

Bash code should definitely be

rm -f "$out"/lib/{basic-server,helloworld,postcollector}
[–] balsoft@lemmy.ml 8 points 3 days ago (1 children)

Well, Nix language is also full of hacks, idiosyncrasies and stupid decisions. I say that as someone who's writing it "professionally", i.e. as part of my job. Scheme is way less "unexpected". But there are other parts of Guix which are pretty weird or just bad, like the "channels"/"pins" management situation.

[–] balsoft@lemmy.ml 6 points 3 days ago

“Over the years, [the Triman logo] has inflicted a disproportionate impact on European companies, incurring costs to modify the artwork on their packaging for the French market <...> to bear extra costs of significant scale to comply with this unilateral label requirement."

Oh fuck off. "poor little companies have to label the enormous amounts of waste they produce". Maybe make better packaging that's easier to recycle, then you won't have to mark it 5 different ways. And in any case suing France over this when in 3 years something similar will be required across the EU (and France will drop the requirement) is a huge waste of taxpayer funds for everyone involved.

[–] balsoft@lemmy.ml 5 points 3 days ago* (last edited 3 days ago)

Otherwise, the keyword use seems too generic to be used for this

I also feel that way, and I don't even understand how the word "use" is related to the underlying semantics at all.

My only guess is that use is already a keyword, and anything that's not a keyword currently would require a new language edition. I would also prefer something like autoclone async {}, or maybe even with_cloned <explicit list of objects to clone, or _ for automatic detection> async {} . Not sure if it 100% makes sense but would be more readable IMO.

P.S. it seems they will explore an alternative solution that doesn't involve a new keyword at all, and just automagically clones when it's "cheap" to do. Sounds more user-friendly to me TBH.

[–] balsoft@lemmy.ml 1 points 3 days ago (1 children)

I don't think it is the problem. The build phase also fails for me but I can't identify the error, it only prints make: *** [Makefile:146: all] Error 2 and exits. Maybe you can just take it from an older nixpkgs version where it still compiled.

[–] balsoft@lemmy.ml 4 points 3 days ago (3 children)

I'm afraid that's just how it is. Drivers for old hardware will get deprecated and stop receiving security updates at some point.

If you are using Jellyfin just for yourself, make sure to protect it as much as feasible, and just hope for the best. It's not like any of the vulnerabilities in intel-media-sdk are remotely exploitable by themselves, and if the only way to run it is via a Jellyfin that only you can access, it's probably fine.

[–] balsoft@lemmy.ml 1 points 3 days ago* (last edited 3 days ago)

also what about redundancy at these insane sizes?

https://xkcd.com/1737/

[–] balsoft@lemmy.ml 6 points 3 days ago

Yep. I feel like Guix is surprisingly awesome and polished in a couple places, but mostly it's a very DIY distro, much more so than even NixOS.

 

cross-posted from: https://lemmy.ml/post/33203710

Sunrise in Wadi Rum desert. Taken from my phone with OpenCamera's stacked HDR.

30
submitted 1 week ago* (last edited 1 week ago) by balsoft@lemmy.ml to c/photography@lemmy.ml
 

Sunrise in Wadi Rum desert. Taken from my phone with OpenCamera's stacked HDR.

101
submitted 1 month ago* (last edited 1 month ago) by balsoft@lemmy.ml to c/pics@lemmy.world
 

cross-posted from: https://lemmy.ml/post/32177363

Moon rising during sunset. Taken from Gombori mountain. Nikon D700, 85mm, cropped.

62
submitted 1 month ago* (last edited 1 month ago) by balsoft@lemmy.ml to c/photography@lemmy.ml
 

Moon rising during sunset. Taken from Gombori mountain. Nikon D700, 85mm, cropped.

 

cross-posted from: https://lemmy.ml/post/31830215

I liked posting a picture here so I think I will try to do it weekly :)

This is what the dawn of January 1st 2025 looked like for me. We've slept in my van through the night to get this view. The temperature was about -20℃ but it was worth it in the end.

The flats in the picture is the frozen Lake Paravani and the mountains are the Samsari ridge.

21
submitted 1 month ago* (last edited 1 month ago) by balsoft@lemmy.ml to c/photography@lemmy.ml
 

I liked posting a picture here so I think I will try to do it weekly :)

This is what the dawn of January 1st 2025 looked like for me. We've slept in my van through the night to get this view. The temperature was about -20℃ but it was worth it in the end.

The flats in the picture is the frozen Lake Paravani and the mountains are the Samsari ridge.

 

cross-posted from: https://lemmy.ml/post/31459711

Since today is my first cake day, I've decided it's time to post instead of commenting. This is a picture I took last month on my phone through binoculars. Taken from Gomismta, the mountains you see are the Main Caucasian Ridge.

 

Since today is my first cake day, I've decided it's time to post instead of commenting. This is a picture I took last month on my phone through binoculars. Taken from Gomismta, the mountains you see are the Main Caucasian Ridge.

view more: next ›