Gobbel2000

joined 2 years ago
[–] Gobbel2000@programming.dev 6 points 8 hours ago

The CSR (compressed sparse row) format is a very simple but efficient way of storing sparse matrices, meaning matrices with a large amount of zero entries, which should not all occupy memory. It has three arrays: one holds all non-zero entries in order, read row by row, the next array contains the column indices of each non-zero element (and therefore has the same length as the first array), the third array indices into the first array for the first element of each row, so we can tell where a new row starts.

On sparse matrices it has optimal memory efficiency and fast lookups, the main downside is that adding or removing elements from the matrix requires shifting all three arrays, so it is mostly useful for immutable data.

[–] Gobbel2000@programming.dev 3 points 1 day ago (1 children)

The graph of Day 11, created with very little effort using the dot utility of graphviz. Because of a stupid parsing error I ended up with a cyclic graph, so this visualization helped in debugging.

That's interesting that they look so different, but both look absolutely delicious. Weird how apparently some people in this comment section are unfamiliar with the concept of cheese.

[–] Gobbel2000@programming.dev 6 points 2 days ago (1 children)

I'm not sure that's really what's happening. The plan is specifically for when Russia collapses. I fear that this might make the job of any more democratic successor to Putin much harder, because the worst way to start a new government is by having a large part of your country taken away.

[–] Gobbel2000@programming.dev 2 points 2 days ago

Young people leaving the countryside is definitely a problem for rural areas in general, but a "wilting" wine industry is not what personally worries me, instead I would really like to see the culture of alcoholism get reduced.

[–] Gobbel2000@programming.dev 6 points 3 days ago (1 children)

It's not that I'm expecting Chinese to be commutative, but the original image makes it look as such, with the upper and lower triangles of the matrix having the same symbols. In your 2D example this would be like having ab on the top right as well (I would give an example of the characters, but I cannot write Chinese).

[–] Gobbel2000@programming.dev 3 points 3 days ago (4 children)

Because the matrix in the original post is symmetric.

[–] Gobbel2000@programming.dev 5 points 3 days ago (6 children)

Uhh, why is it not symmetric?

[–] Gobbel2000@programming.dev 3 points 1 week ago

That's a lot of money. At this point they should have bought something like this, would actually help in an apocalypse:

[–] Gobbel2000@programming.dev 4 points 1 week ago

Generell: wenn der Absender unbekannt ist und sich nicht als zumindest halbwegs respektables Unternehmen identifizieren lässt, besser überhaupt keine Links öffnen sondern direkt als Spam markieren und löschen.

[–] Gobbel2000@programming.dev 4 points 1 week ago

In my opinion yes, Debian is the best choice for server machines, especially on the homelab scale.

[–] Gobbel2000@programming.dev 7 points 2 weeks ago (1 children)

Holy shit, stadiums are expensive.

 
 

As seen on Marszałkowska street.

 

Der Sturm heute hatte den Ausfall des gesamten S-Bahnnetzes zur Folge.

 
 

I just think it's pretty cool that Felix, who has never really mentioned anything Linux before, chose to go with a Linux distro for the PC he put together.

Link to video : https://youtu.be/tsu0Rw3Nqi8?t=1554

 

Now that Advent of Code 2024 has concluded, I wanted to get people's opinion on what puzzles they especially liked looking back. This could be because of the puzzle mechanics, the description, because you are especially proud of your solution that day, or for any other reason.

Feel free to answer even if you only saw part of the puzzles.

My picks would be:

  • 14 (Restroom Redoubt, robots moving into christmas tree shape). Even though it caught me off-guard in the moment, I did like that part 2 had this very imprecise requirement for once. Definitely made for varied, creative solutions.
  • 15 (Warehouse Woes, robots pushing boxes) The second part was a fairly big complexity spike with just a minor change in the tasks. Basically a form of simulation where the hard part is finding a good data representation for the setup. I liked this one because debugging was such a visual process for me, by printing the grids.
  • 17 (Chronospatial Computer, running a machine code) For me the first really tricky one, but still doable. These assembly puzzles are just neat. A lot of computation is started with a pretty small input, and the task is basically to really understand how this "computer" works.

What have been your favorites?

 

linked from: https://programming.dev/post/19267200

In its current plan, the EU commission intends to cut €27 million in funding for Free Software. The article has a link to a questionnaire that you can fill out and express your opinion about the plan. I believe non-EU citizens can participate as well.

 

In its current plan, the EU commission intends to cut €27 million in funding for Free Software. The article has a link to a questionnaire that you can fill out and express your opinion about the plan. I believe non-EU citizens can participate as well.

 

While the exact details of this vulnerability are still investigated (see here if you want to catch up on the topic), I wanted to share some of the thoughts I had regarding to what this incident means for the wider open source ecosystem.

TL;DR: To summarize, these are the main points I found remarkable in this entire development:

  • A backdoor was snuck relatively openly into an open source project
  • It was done by a somewhat trusted maintainer
  • The target was not even xz itself, but rather sshd through an obscure chain of dependencies
  • Luckily, it was discovered within a few weeks before the backdoored version was widely adopted

Obviously, there are many examples of security vulnerabilities occurring in open source software. But these are usually due to oversights or mistakes of most likely well-meaning developers that end up enabling the possibility for critical exploits. In the case of the xz backdoor however, it was obviously constructed with malicious intent and high effort towards a precise target. Does anybody know of another vulnerability ending up in a high-profile open source project that is similar in that sense?

This was only possible because the malicious actor under the pseudonym Jia Tan had direct write access to the xz repository as a maintainer. I don't think it is too unreasonable that with enough time and effort, anyone can get maintenance access to openly developed projects like xz. That is part of the beauty of the democratic process in open source. But what this incident shows is that for projects that are as widely used as xz, even changes coming from seemingly trusted maintainers should be properly reviewed. I don't mean to say that the original maintainer Lasse Collin has any fault in this matter, or that he should have prevented it, this is too much of a burden to expect from a single person. Instead I think the large tech corporations should put more resources into vetting these kind of open source projects that much of their infrastructure so heavily relies on (in fact, this backdoor seems to mainly target servers).

Even just looking at the source code, the backdoor was very cleverly hidden in testing binaries for the compression algorithm. These things are always easy to say in hindsight, but I do believe that a closer review of the build system shenanigans used to install the backdoor would have at least raised some questions. There was just too much luck involved in the discovery of the backdoor with someone noticing ssh access taking 0.5 seconds longer than usual.

This isn't really news, but this incident again shows that just like a chain is only as strong as its weakest link, a program is only as strong as its weakest dependency. The fact that the backdoor just hooks into the dynamic library loading process and completely hijacks authorization functions of ssh from inside xz is pretty scary. Maybe this will encourage developers to be more careful and sparing with adding dependencies. However to be honest, up until recently I would have pretty blindly trusted xz to be a very safe dependency due to its popularity and relatively simple use-case.

By opening a backdoor into ssh servers, this is a very critical issue, and there was clearly a lot of time and effort put into making it seem innocuous and hard to detect. I'm very glad that it got found and patched by the time it did, but it does leave me wondering what else is out there. It would be illusionary to think that such attack vectors always get found out eventually.

view more: next ›