• 0 Posts
  • 14 Comments
Joined 1 year ago
cake
Cake day: June 18th, 2023

help-circle







  • It’s not just because of nonsense, it’s more that it doesn’t really matter what you do - the only thing stopping someone with physical access to your machine is their level of determination.

    At some point, there’s no stopping the laws of physics. Your data is physically stored there. You can do a lot to make it really difficult to access it, but the best you can do is full disk encryption with a sufficiently strong key, and only store that key on external hardware that isn’t accessible to the attacker.

    Even then, you better make sure that your encryption key wasn’t hanging around cached anywhere in memory before you shut down your computer.





  • What bike do you use and would you recommend it? I’ve been looking for an e-bike recently since I work so close to home, but I haven’t found any that seem reputable and a good value. I’m definitely looking for one that’s easily repairable and not paired to a specific brand’s software or proprietary parts.

    Granted, I’ve only been passively looking (I.e. when I see an ad or doing a quick google search sometimes), but from what I can tell most of the advertised bikes are just the same handful of models with a different logo slapped on it and dubious claims about its performance.


  • TypeScript is essentially the “measure twice, cut once” approach to JavaScript.

    Yeah, anything can be anything in JS and the type declarations don’t make it into the compiled JS, but allowing anything to be anything starts to become fairly dangerous when the size of your projects starts to grow and especially when you’re working with a team.

    Rather than writing functions and just hoping they always get called with a parameter that has the properties you expect to use, TypeScript helps you make sure that you always are calling that function with the right object in the arguments. You don’t need to debug some runtime error up and down 8 frames in the call stack because this week you named a property “maxValue” but last week you used “maxVal” or you forgot to parseInt some string because you thought it would be coerced - you just need to make sure your types match and eliminate that type of debugging altogether.

    All in all, TS really just enforces a bit of sanity to the foot gun that is vanilla JS.


  • “Dependency injection” is just a term for providing a function or method with its dependencies rather than making the function go and gather them itself.

    It’s (typically) done through parameters, but it’s still more specific than just invoking a function. It describes how that function was written and the reasoning for certain parameters. To the other commenter’s point, you’ll have a hard time communicating about your code with other developers if you refuse to use the term dependency injection just because you don’t like OOP.


  • I don’t agree - while you could copy it, if an instance gathered a large user base and had some well-implemented quality of life features, there’s nothing stopping them from putting ads on it and I’d guess that most users would continue to use that instance. If it has quality content, they already have an account, and it has compelling improvements over other instances, I can’t imagine that some unobtrusive ads would bother people enough to go to a clone of that instance and create another account.

    Sure, it could be done, and ad blockers are common enough, but I don’t think well-placed ads would cause some mass exodus. I’d even be okay with it if it’s in the name of paying the server bills for such an instance.