TechNom (nobody)

  • 0 Posts
  • 163 Comments
Joined 1 year ago
cake
Cake day: July 22nd, 2023

help-circle
  • Google has discovered that FOSS software under their full control is better than pure proprietary software for monopoly abuse and rent seeking. With FOSS software, they enjoy the automatic popularity that they otherwise would have had to market very hard for. At the same time, none of Google’s free software is truly free. Google devs regularly neglect and reject overwhelming user requirements (jpegxl in chrome is probably the best example of this) and choose designs that clearly favor the company monetarily. It isn’t even practical for normal people to fork their projects.

    Google often uses their ‘FOSS’ projects to twist open standards or the market to their advantage. Android and Chrome are very significant players in this regard. Using Chrome, Google even managed to make the W3C standard too complicated for others to make alternative browsers easily. Google has similar ambitions in the multimedia market. They want to replace the monopolistic media formats with quasi-monopolistic formats like webp and av1 instead of truly open ones like jpegxl.







  • We need three four things:

    1. A way to poison the data that will throw off the training without causing perceptible difference to humans. As I remember it, many image AIs were sensitive to a peculiar noise that was imperceptible to humans.
    2. A skiplist of AI data stealers, so that their IPs/domains can be blocked in bulk.
    3. Eventually, the above technique will become useless as AI data stealers will start using dynamic IPs and botnets to bypass the skiplists. We’ll need to throttle or block data to visitors based on pattern recognition. For example, if the visitor requests linked pages in rapid succession. Or if the request interval is uniform or pseudo random, instead of genuinely random.
    4. If the pattern recognition above is triggered, we could even feed the bots with data from AI models, instead of blocking or throttling. Let the AI eat its own s**t.



  • Python decided to use a single convention (semantic whitespace) instead of two separate ones for machine decodeable scoping and manual/visual scoping. That’s part of Python’s design principle. The program should behave exactly like what people expect it to (without strenuous reasoning exercises).

    But some people treat it as the original sin. Not surprised though. I’ve seen developers and engineers nurture weird irrational hatred towards all sorts of conventions. It’s like a phobia.

    Similar views about yaml. It may not be the most elegant - it had to be the superset of JSON, after all. But Yaml is a semi-configuration language while JSON is a pure serialization language. Try writing a kubernetes manifest or a compose file in pure JSON without whitespace alignment or comments (which pure JSON doesn’t support anyway). Let’s see how pleasant you find it.


  • The kernel isn’t a place to play politics. You can’t just yank a component out like that on short notice, even if it has such a horrible story attached to it.

    Back then, ReiserFS was mildly popular and its use would have been widespread (that includes me). The users of ReiserFS and probably even the other kernel devs had no idea that Hans Reiser was capable of such a crime. Infact, he was known as a computer prodigy back then.

    There are plenty of users who don’t have the luxury of migrating data on a short notice to a different filesystem. Disabling the filesystem would have left them high and dry. That’s why the devs gave it a long deprecation period.






  • The vast majority of Linux users consider systemd as a good thing because it apparently makes system administration easier. They also don’t agree that systemd is monolithic, because it’s actually designed modular.

    But of course there are detractors. The only thing I like about systemd is its declarative service definition and parallel service startup. But if I wanted to run an OS with bloated and inscrutable software (even with the source code), my choice wouldn’t be Linux or Systemd.

    I also routinely switch parts of my OS. This is harder with systemd. Although it is modular, the modules are so tightly coupled that it will prevent the replacement of modular components with alternatives. Frankly, I think systemd is killing the innovation in system component development.




  • I looked at the post again and they do talk about recursion for looping (my other reply talks about map over an iterator). Languages that use recursion for looping (like scheme) use an optimization trick called ‘Tail Call Optimization’ (TCO). The idea is that if the last operation in a function is a recursive call (call to itself), you can skip all the complexities of a regular function call - like pushing variables to the stack and creating a new stack frame. This way, recursion becomes as performant as iteration and avoids problems like stack overflow.