[–] 2 points 1 day ago

Remember that life is long, and if the present is terrible the future can only be better. Try to contact and meet up with some old friends, and see if they can help in any way. The world has many more kind people than what you think, but you need to reach out for help to come your way.

I hope you'll find something soon!

  • source
  • parent
  • context
  • [–] 7 points 1 day ago

    I fully agree with you.

    I consider myself a feminist man because I think we need to do much more to bring real parity to all genders.

    There are discrimination issues with women, like the fact that there's a pay gap visible also in the statistics, they don't get promoted as often and, yes, they can't join the army in many countries. There are also issues with men being discriminated from certain jobs and lacking emotional and mental support options, which we should also work towards. Let's not even start talking about the discrimination towards transgender people, because they live life in hard mode right now.

    There's a particular kind of aggressive/toxic feminism that says that women should be treated better than men, and I think that it's detrimental to actually bring equality. It's the same as saying "man should be treated better than women". I think that if someone feels attacked their first reaction is to defend themselves and attack back. All this toxicity IMHO brings resistance to change and is slowing down the progress. Progress which, btw, we had plenty in recent years!

    We are all in this together, so let's work together towards ending discrimination of all forms!

  • source
  • parent
  • context
  • [–] 3 points 1 day ago

    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.

  • source
  • [–] 11 points 3 days ago

    Usually the key format is not only a number but an ASN.1 (https://en.wikipedia.org/wiki/ASN.1 ) encoded data structure, with many different fields for metadata, usage restrictions etc, so a lot of the bytes you have in there are actually not random at all.

    That text could have been the private key (as the joke implies), or could have been a metadata field which just gets ignored and signed by the CA.

  • source
  • parent
  • context
  • [–] 5 points 1 week ago

    Orkes is now adding stored procedures to ParticleDB. These user-defined functions, called Particles, are written in Python or Rust and executed by the database server. Both Rust and Python have large surface areas, and executing user-provided binaries in a database environment seems like an exciting opportunity.

    "Exciting opportunity" ... for the testers!

    Overall it was a great professional report, very well written, with clever language that stays professional while implicitly communicating "WTF!" without saying it out loudly or being irrespectful.

    Compliments to the technical writer that compiled this, very skillfully written!

  • source
  • parent
  • context
  • [–] 5 points 1 week ago (1 child)

    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.

  • source
  • [–] 9 points 1 week ago (4 children)

    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

  • source
  • parent
  • context
  • [–] 5 points 1 week ago

    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.

  • source
  • parent
  • context
  • [–] 5 points 2 weeks ago

    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!

  • source
  • parent
  • context
  • [–] 7 points 2 weeks ago* (5 children)

    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

  • source
  • parent
  • context
  • [–] 10 points 3 weeks ago

    Our management is so "forward-looking" that we are still in the March stage: they want AI used everywhere, and added everywhere in the product.

    Saying that sometimes you still need to use the brain for big decisions will make some people question your prompting skills publicly.

    Hell, we even rebranded the whole company to be an """AI company""". I hate it there and I sense layoffs coming soon, but finding a job in this period is hard. Wish me luck.

  • source
  • parent
  • context
  • [–] 3 points 4 weeks ago

    Oh yes, since all AI companies really want more regulations, I have an amazing idea for them: anything trained on stolen copyrighted materials needs to be published and licensed under public domain.

    Microsoft, I'm sure you'll thank me later!

  • source
  • view more: next ›