• 360 Posts
  • 1K Comments
Joined 2 年前
cake
Cake day: 2025年4月4日

help-circle
  • One distribution which stands out in its philosophy is Guix. It is entirely reproducible and stresses that anyone can built it from reviewable source code. This is so important that non-free firmwares are rejected (which gets them a lot of hate and negative astroturfing). That gives a lot of transparency and a solid base for trust.

    Now, accepting vibecoded, unreviewable packages would make the whole buildable-from-source aspect moot, so I guess they are unlikely to accept slop packages.


  • I think you can see large Linux distributions like a supermarket. In a supermarket, you can find junk food, booze, and pringles, or bio fruits and vegetables which you prepare yourself. Of course there are differences between what different markets offer, but what ultimately matters is what you chose to buy.

    Distributions do have mostly influence over their internal build tools, packaging, infrastructural decisions like when to adopt Wayland or the choice of init system. They are unlikely to reject security fixes in the kernel or in a browser just because these contain AI-assisted bug fixes. They do not have real control over upstream development practices.

    The above might change if security gets affected by AI slop. For example, Debian is used a lot as a server distribution and security matters a lot. So, it is unlikely to compromise on that.

    One can use smaller, more minimalist distributions, or alternatively make minimalist choices in ones own package selection. Or use e.g. not vim but the ai free fork of vim.















  • Ubuntu or Mint is quite okay, I have used both of them in the past and set it up for a friend with little money, little time, and very little PC expertise. Worked perfectly for them for over 10 years without a problem.

    Today, if you can get a little help with setting up, I’d recommend Debian stable with either GNOME or KDE. It is more stable and has longer and better long term security support, which did become more important.

    Also, it is now easy to set up with disk encryption, which matters for keeping private data secure on Laptops which can get lost or stolen.





  • This is a fantastic discussion between John Ousterhout and Robert Martin on the issue of commenting code, but more of understanding code.

    In brief: Robert “Bob” Martin aka “Uncle Bob”, author of “Clean Code”, could not explain an algorithm he published himself in his own book. He generally advocates to minimize comments, and published it without comments.

    When asked by Ousterhout, he was also not able to change it without breaking it, because he did not understand the invariants in the code he published.

    Bonus points for that he copied the algorithm - which is an efficient algirithm for finding prime numbers - from Don Knuth, who published it as an example for his lucid invention of “Literate Programming” - a method to better explain code and its pre-conditions and invariants, by interspersing explanatory text with the actual code, and providing a tool that extracts the program code from it.

    Extra bonus points for that the algorithm which Don Knuth documented was first published by grandmaster Edsger W. Dijkstra in “Notes on Structured Programming”. A brilliant book chapter which explains once and for all invariants in code and data structures.

    Both Don Knuth’s article on “Literate Programming" and Dijkstras book chapter in “Notes in Structured Programming” are available online, I can only encourage to take the time to read them - both of them are timeless masterpieces on writing computer programs.

    (And also, Ousterhouts book “A Philosophy of Software Design” is a really good and nice book on modern software engineering - highly recommended.)



  • He sounds a bit depressed, yes.

    It might be right that part of the software industry has just entered a downward spiral like a stalled jet. They could not make anything of value and quality and have commited to lower quality, less value, in a race to the earth surface.

    Consumers don’t demand better quality because their expectations have reached zero. What these companies produce is worthless to them.

    But there exist other areas where software delivers massive value and I think in two years or so, good developers which still know how to code and to maintain and debug old stuff, will be worth their weight in gold for such companies, because the sloppers won’t be up to the job.

    Also, paradoxically, I think this will make companies to rely more on open source. In the last weeks I heard from two different companies that their suppliers - firms which were delivering stepper motors with firmware and such - are not any more able to make their stuff work. One company has resorted to do the testing for their supplier.

    And there is a lot of software that needs to work. More than ever.

    This is why companies are resentful towards software developers: They need them.


  • Comments rot. The code changes. The comment beside it doesn’t. By the third commit the prose lies about the line above it.

    That only happens if people editing the code do not see comments as valuable and important. The fix is easy: Unterstand the code, its changes in the version log, and update and correct the comments as you change the code.

    And: If LLM tools could really understand code, it would be easy for them to check changed code and point out where code and comments do not match any more - and why.

    The worst, I think, is to have all three of specs and requirements, code, and comments and documentation generated by LLMs.

    Because then you have nothing which is checked by a human whether any of it makes really sense.

    If the LLM tool just implemented a signature/spec/architecture wrong that was written by a human, this would be easy to fix later, without messing up the interfaces within the system. Not so if you have ai Spaghetti code created without human understanding.