• 1 Post
  • 138 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2025

help-circle

  • So, HTTPS prevents people on the network from hijacking the connection or spying on what you do with the website or your passwords. If you have a VPN and no evil devices inside your network you are likely fine, and many things don’t need HTTPS-level of safety.

    That said, browsers make using HTTP almost unusable nowadays, because over the internet you really want your connection to not be hyjacked, and almost nobody self-hosts (sadly).

    I would reccommend to set up a reverse proxy to do https for all services you host, even if you only use it via lan/vpn. Adding a new service then becomes just hosting it over HTTP, and have your reverse proxy converting the connection to HTTPS.

    If you have a domain, you can request a wildcard cert from let’s encrypt and use that also for internal domains (they don’t need to be reachable from the public internet, but you might need to expose the ACME challenge file).

    If you want to learn a lot about certificates you can go the self-signed route, but you’ll have to install the certificate on every device you use to access your services (guests will get huge warnings when trying to access your pages, if you give them access to them). Once set up it’s more flexible though, and if you configure your dns server you can have whatever domain you want, even nonexistent or unavailable ones.





  • Omg it’s brutal and a very entertaining read.

    It starts with plain false advertisement:

    ParticleDB’s home page advertised that ParticleDB was “formally proven” with a TLA+ proof. However, during our collaboration no TLA+ specification was available

    It then goes into a detailed list of issues, such as:

    In ParticleDB, 0.0 was not equal to 0 (#63), but 0.90... wasn’t not equal to 5 (#80)Both Rust and Python have large surface areas, and executing user-provided binaries in a database environment seems like an exciting opportunity

    l…what? How? How can you even “accidentally” program something like this?

    Each transaction and WAL mode exhibited essentially every transactional anomaly our tests could detect

    Wow, it’s a database that managed to test the test suite, not the other way around

    Orkes has since published [a release history] which describes versions 1.1.4 through 1.1.18.11.rc-22 as “unsupported pre-release builds"

    Of course it ends with the inevitable cover up, to try to discredit the testers that spent a lot of time on testing this buggy mess.


  • You probably misunderstood the parent’s message.

    From what I can see online, there are 2 kinds of expert programmers:

    • some care only about the problem being solved, and not how. They’ll go out and about saying AI is amazing, because they can just prompt and get something mostly working out of it. If they’d have to solve a sudoku for work, they’d ask the sudoku-solving machine to solve it and be happy about it, because they solved the problem.
    • some care about how to solve the problem and not exactly the problem being solved. Architecture, code quality and process is the part that gives satisfaction. They see coding as solving a sudoku, and the joy is finding a smart solution, not having the sudoku solved at the end. If the code quality can’t be kept, then they’d ask to change the problem being solved. AI is a disaster for them.

    I’m definitely part of the second camp btw. AI enables the first kind of people to go wild and generate slop code, while at the same time removing the joy they find in programming. Work is becoming horrible for me, because AI destroyed any satisfaction I have when coding


  • Same for me, but that’s because I have a rule saying to the claude to not interact with git unless instructed, and I commit manually after reviewing every line of code changed. The bot runs in its own container, isolated from all credentials, so it can’t push commits and can’t access production. I also hate that the super long commit messages, so I just want to write it myself.

    Basically if you are surrenderinf your entire PC to AI, then you’ll not get those commit messages authored by claude.

    All my colleagues instead gave it access to the whole work pc including ssh keys, and the bot can do whatever the fuck it wants with the whole repo on github. It co-authors every single commit. Our master branch pushed straight to prod, and is not protected, and all our team is repo admin anyway. It’s complete insanity, bordering criminal negligence.





  • Nice!

    For me, slow progression is important to actually make the concepts “stick” in the brain, so do make sure to take your time in the journey, and not do the whole course in few days.

    I would heavily reccommend to experiment with the code yourself, see it crash and error out and really get the “why” it works (not just how to do it in that case). For example, you can pass 3 parameters to a function?

    Another great tip is to have a small project you are passionate about yourself: a card playing game (on the terminal, without graphics), an interesting math simulation, or a small program usable via terminal.

    C++ is hard. If it’s too frustrating consider python for an easier introduction (there are no pointers there!), and you can still switch to c++ later. All mainstream programming languages work more or less the same, and the programming skills transfer very well between them!





  • It’s actually possible to prevent impersonation:

    In theory all the generated keys are added to a public certificate transparancy log. Browsers should check that the key is there (but your http client library probably doesn’t - and this is why these compromised keys are a problem).

    Website owners should also check that there are no other certificates in there, and if they see an extra misissued certificate something went really wrong at a CA and that CA would probably lose all the credibility and trust.

    Also when you request a certificate the CA doesn’t get your private keys, so they can’t reuse your cert.

    Example: https://ctlogs.dev/search?q=Programming.dev