Skip Navigation

Posts
5
Comments
373
Joined
3 yr. ago

Professional software engineer, musician, gamer, stoic, democratic socialist

  • rule

    Jump
  • Or idk maybe people have a job where it's useful to hone your tools? This meme doesn't make any sense.

  • That's why I quit coffee. Tea doesn't do that to me for whatever reason, probably just less caffeine total.

    But I assume it also had something to do with high blood pressure.

  • I thought it was a reference to Maxwell's demon.

    Daemons in computing, generally processes that run on servers to respond to users, are named for Maxwell's demon.

  • Deleted

    Permanently Deleted

    Jump
  • Definitely not from my parents. I had to teach myself in college and have been doing the same til now. Following recipes obviously helps, but also taking classes or watching YouTube is great for the more subtle points as well as making sure you've covered the basics.

  • Or if you have like $5/mo to spend on a VPS, self-host vaultwarden. It's compatible with the bitwarden apps and browser plugins.

  • Deleted

    Permanently Deleted

    Jump
  • The vendor/site does not need to know a name.

    The idea is that people already trust the government with their identifying info. So what the government can do is issue, for example, an opaque "age ID" that is only to be used with an "over 18?" service hosted by the government. Then anyone visiting a website with age-restrictions would provide their age ID, which tells the site nothing about the user. The site checks the "over 18?" service. At no point do arbitrary websites need to collect identifying info.

    Now obviously as I've described it, there are multiple problems:

    1. People could easily publish their age ID for anyone to use.
    2. If people aren't careful (they aren't) then they will give too much identifying info away to sites anyway, and then those sites could correlate the age ID with their identity.

    One solution is to make the age ID into a "one time password" (OTP). Much like an authenticator app, you could have an app provided by the government which generates a new random OTP on request, and it would expire in a minute or so. Then users provide that instead of a constant age ID. Like before, the site checks the "over 18?" service using the OTP.

    It's still not perfect, but you'll never solve the "adult buying beer for kids" trick without counterproductive measures. There are probably some additional tricks to make it better, but I don't want to get too far into it.

    EDIT: One more point. Having this "over 18?" service is itself a privacy risk, because it relies heavily on your trust in the government not to conspire with the sites you are visiting or to just log info about all of the age-restricted sites you visit. There are apparently solutions to this problem involving zero-knowledge proofs, but I don't know quite enough to explain that entirely here.

    EDIT2: I got curious and did a little more reading. The zero-knowledge proof idea kinda fails to prevent credential sharing, unless you rely on some kind of hardware cryptographic vault thing. I'm not sure if that ends up being strictly better than the service idea.

    Another way you might prevent the govt from logging all of the age-restricted sites you visit is to put the service behind something like Tor to make the requesting site anonymous. But this still doesn't prevent the govt from just knowing that you visited some age-restricted site at a specific time. Still not ideal.

  • I have used OOP design patterns many times, but that doesn't mean I use inheritance a lot. I almost always reach for interfaces instead.

  • It was actually typed. Python had type annotations at the time.

    I only wrote C++ very early in my career so I don't remember much, but I'm sure I at least tried some inheritance in toy games I would write. All of that code was trash though by my standards today.

  • Some legacy Python code that already used inheritance. I had to extend it, and it was pretty infeasible to refactor the whole thing to not use inheritance. Not sure if I technically regretted that decision, but it was definitely painful, since Python inheritance makes it really hard to follow program control flow.

  • No because those are different things.

  • In over ten years of professional programming, I have never used inheritance without regretting it.

  • There should be some balanced path in the middle somewhere, but I haven’t stumbled across a formal version of it after all these decades.

    This is where experience is so valuable. It helps you know how much planning to do before you start building. Or sometimes if you need to build something before you can start planning (i.e. prototyping). You need to identify the most critical problems to solve for your given use case, and make sure you do just enough planning to solve those problems. Often that means anticipating future requirements and making sure your plan doesn't put you on a path that's incompatible with future requirements. But don't completely solve the future problems yet; do just enough to convince yourself that you aren't painting yourself into a corner.

  • What's wrong with good old Internet with E2EE?

  • I can't take this seriously if MATLAB is near the top of the scoreboard.

  • I've been surprised that I haven't had to pay for Anki cloud sync yet.

  • Not a senior dev thing, just a bad dev thing.

  • These days with language services, code should be compiling after nearly every edit.