[-] Gobbel2000@programming.dev 5 points 1 day ago

But you can just as well make an exception to allow errors when -e is enabled with something like command || true, or even some warning message.

I feel like, while it does occur, allowing errors like this is more unusual than stopping the script in an error, so it's good to explicitly mark this case, therefore -e is still a reasonable default in most cases.

[-] Gobbel2000@programming.dev 6 points 4 days ago

That's a very good background and should be more than enough to understand the rust book. But if you do eventually want to go more into the theoretical background, I recommend looking towards type theory, specifically Algebraic Data Types (ADT) which Rust uses a lot, and Polymorphism (Generics). But it's certainly not required to write good Rust code.

[-] Gobbel2000@programming.dev 1 points 6 days ago

It's wild that one of the problems is that the kernel doesn't use floating point numbers.

76
How Big Tech Killed Online Debate (www.currentaffairs.org)

I saw this article by Nathan J. Robinson on Current Affairs and wanted to share. I do agree with the idea that the twitter format discourages deep conversation and debate. Lemmy is in general much better in this regard, but even still it is affected by the wider internet culture of our time, and a proper debate culture takes effort.

Even on Lemmy I frequently see more nuanced takes being shut down by quick, snarky comments pushing the conversation into absolutes. And yes, a democratic society absolutely requires healthy discussion of difficult issues, not just outrage.

44
E-Mail with own domain (programming.dev)

I was thinking about how to improve my email situation, because at the moment I am using an address of a commercial mail provider, which obviously brings some concerns of lock-in.

While fully self-hosting the email is an option, I am a bit wary of this, because having a working email is very critical and I do trust the commercial providers to give better uptime and reliability than my old server in the closet. Does anyone have experience hosting an email service and what is it like/could you recommend it?

The other option that I am more inclined to is having the email hosted by some cloud provider, but using an address under my personal domain name. The point would be of course that I could change the email provider while keeping the address. Which providers supporting this could you recommend? What is the process like linking a domain to an email host?

46
Tram in Warsaw (programming.dev)

As seen on Marszałkowska street.

[-] Gobbel2000@programming.dev 57 points 5 months ago

Huh, Silksong is out now. Maybe it's time I played the first Hollow Knight?

[-] Gobbel2000@programming.dev 93 points 6 months ago

We have no clue what electricity is, because we, the authors, are dumb as fuck.

[-] Gobbel2000@programming.dev 44 points 9 months ago

Clearly we need self-centering support from editors.

[-] Gobbel2000@programming.dev 48 points 9 months ago

The death of affordable computing in the US of A.

46
6
submitted 11 months ago* (last edited 11 months ago) by Gobbel2000@programming.dev to c/linux_gaming@lemmy.world

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

[-] Gobbel2000@programming.dev 62 points 1 year ago

The article only summarizes it shortly, but the parallels to the Munich Agreement from 1938 are really scary.

Hitler's aim was to take over all of Czechoslovakia by breaking it apart. The subject of the Munich Agreement was the Sudetenland, the region bordering Germany. Before there were some votes and local political forces expressing the wish of the German minority in the Sudetenland to create an independent state (See the parallels with DNR, LNR and Crimea). This was used by Hitler to justify taking over the region. Suddenly it wasn't about independence anymore, but about inclusion into Germany.

The Czechoslovakian government in Prague obviously hated the idea, but they were not invited to the talks in Munich. Only afterwards were they made aware of the decision that would be imposed on their nation. Who was invited was fellow fascist Mussolini from Italy, as well as France and UK, who gave in and signed this agreement, giving international support to Germany just taking over parts of neighboring nations.

Their reasoning was, if they were to disagree, Hitler would assert his will by force and take Czechoslovakia militarily, starting a large European war (that is also the reason Prague was forced to accept the decision: the alternative was a war they could never win, they could not count on any outside help). This was the so-called appeasement policy by the UK. They bought "peace" in exchange for territories they didn't own but felt the right to decide over. We all know how this heavily-priced peace turned out. At most it gave the allied forces one more year to prepare for WWII.

65
[-] Gobbel2000@programming.dev 89 points 1 year ago

It's not just ugly, it's against the spec. The quiet zone is meant to be 4 "dots" wide on all sides for the code to be optimally readable.

106

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.

136

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.

[-] Gobbel2000@programming.dev 48 points 1 year ago

The really crazy thing about the graph is that there are 433 fucking datapoints!

[-] Gobbel2000@programming.dev 88 points 1 year ago

man -k to the rescue: mbsrtowcs, strxfrm and wcstold are C functions.

[-] Gobbel2000@programming.dev 54 points 2 years ago

I enjoy this meme. Truly a Lemmy original.

36

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 ›

Gobbel2000

joined 2 years ago