• 0 Posts
  • 20 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.


  • 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



  • 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!




  • I also found it useful to do some one-off batch processing of a big file without thinking of chunking and doing too complicated things. Imagine something like a 60GB file in a custom format that need to be deduplicated. It’s easier to just load it all up in memory and do run the algorithm 2-3x slower using a 50GB swapfile than spend hours to complicate the algorithm.


  • I should publish a blog post titled “Using Antropic’s Claude is a Perversion of Writing”. If you are taking AI output and thinking it’s good and engaging, you are making a load-bearing mistake.

    Joking aside, the criticism can come only after they implement it and we can see if it’s having any effect on the output quality. I doubt it’s going to be detectably worse.

    If anybody is feeling so strongly against watermarking even before we can evaluate how it affects the output, I am only thinking that they have ulterior motives or they don’t want to be caught spreading copy-pasted slop.




  • Let me preface this by saying that I am generally against AI and I hate LLMs being pushed everywhere, but I currently hate facebook and social media even more than AI.

    I think that ad blocking might actually be a good use of a model trained to detect ads: AI models are “black boxes” and it would make it difficult for facebook to find out precisely how the detection works and workaround it. Imagine a tiny classifier running locally, whose only job is to look at a post html or resulting rendered pixels and detecting if it’s an ad or not, and then generating the blocking rules.

    It would be quite cool, because it would work on any website without an explicit list of ad-blocking rules that somebody needs to maintain.





  • I agree! On gentoo even if you do manage to break your system you’d also know how to fix it (since you basically spent days installing it by hand…).

    I ran it on my pc for a few years and the only source of breakage were nvidia drivers (in the past they sucked possibly even more). I remember running it using VESA drivers for like a week until I figured out how to fix it.

    It’s really nice how much you can customize it and make it really fit your own use-case. I once ran it in a fully offline raspberry pi for 5-10 years (without updates) and it was rock solid. The hard disk it ran on and the power adapter died, but the sd card was mounted read-only so it lasted the full 10 years without any corruption. I kept a backup of the root filesystem on the sd-card so restoring it to a new disk was super-easy. I also ran the hdd in btrfs raid-1 mode with a itself (two partitions), so that it could self-recover from random corruption due to power losses (I’m not sure it’s a good idea, but it never caused any trouble) It was just running 1 service and that’s it, without any monitor or keyboard connected. I even made a small program with a single-key interface to run admin commands directly without needing a screen or any login (press “b”=reboot, “s” for btrfs scrub, for example). Trying to customize, say, an ubuntu like that would have been a nightmare. It took forever to compile everything on the raspberry pi though.



  • The trick for windows is to rename the file and kill the process that’s using it / reboot (if it’s some unkillable service). The service won’t then be able to find the file after reatarting and you can delete the renamed copy.

    On linux this whole thing is done automatically by the OS: if a file is open and you delete it, it will disappear from the folder but its data won’t actually be deleted from the disk until it’s closed by every program. Some programs even use this trick to create invisible temporary files to offload some data from RAM to disk!