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

help-circle



  • Bullshit - what “research”? Apple is in no way comparable to goddamn Google and Facebook here. Their ad sector is pretty much “display my app in the AppStore search if they search for similar things” and things like that, that only uses the actual search term, and very basic stuff about the user. They can make relatively much money on that, because they artificially own the whole “Apple market”, so they don’t have any competition there. They don’t fingerprint you across the whole internet, that’s for sure.






  • You do realize that the whole of meaningful architecture we have builds on, and often gives way for legacy ones? XWayland is made by Wayland, because obviously not every software will port overnight or ever. That’s a positive thing.

    It’s almost like the linux community is not controlled by a dictator like Apple, where they can just say “we are using this API from next version, if you wanna work, port”. Wayland required a critical mass before it actually started flying - but it definitely flies now.




  • Security doesn’t work like that and I find it important to share the insecure nature of most linux distros with many people, hopefully to make it improve one day.

    Currently a make install can do literally anything to your computer besides installing a video card driver (as per the old xkcd comic) and sure there is firejail… but let’s be honest, how often do you use it? Defaults matter, and thus linux is insecure.

    Also, again, how is osx locked down? What’s a concrete thing you can’t do on it?







  • I believe we should have a new word that differentiates between ultra-basic tiny unit tests, and bigger unit tests that are still not integration tests.

    E.g. rust and some other newer languages have a way to write basically an inline test for a function — that would constitute my former category. These make sense during development as a reality check. “Yes, this ad hoc stack I need inside this class should have two elements if I push two elems” sort of thing. That implementation may not even be accessible from the outside in case of an OOP language so you can’t even properly test it. Also, these are the ones that should change with the code and removing them is no big deal.

    The other kind should work against the public APIs of libs/classes and they should not be rewritten on internal changes at all.



  • I do believe that static typing is at least a local optimum, but I am still not entirely convinced. Rich Hickey is a very convincing presenter and I can’t help but think that he is on to something — with Clojure the chosen direction is contract-typing, which is basically a set of pre- and post-conditions for your functions that are evaluated at runtime. Sure, it has a cost and in the extremes they are pretty much the same as dependent types, but I think it is an interesting direction — why should my function be overly strict in accepting a “record” of only these fields?