• 4 Posts
  • 79 Comments
Joined 1 year ago
cake
Cake day: June 8th, 2023

help-circle





  • I’m going to go with “be normal”.

    Linux is unusual in a way that Windows is not. In a lot of areas (games, interfacing with weird hardware), Linux uses up one of your three innovation tokens in a way that Windows doesn’t. You are likely to be the only person or one of a very few people trying to do what you are doing or encountering the problem you are having on Linux, whereas there is often a much larger community of like-minded people to work with who are using Windows.

    Sometimes the reverse is true: have fun being the only person trying to use a new CS algorithm released as a .c and a Makefile on Windows proper without WSL.

    But that’s kind of why we have Wine and WSL: it’s often easier to pretend to be normal than to convince people to accommodate you.





  • I think the article is probably right. A software developer should be able to make software to do whatever needs doing. Maybe not good at any given thing, but able to do it. Eventually. Nobody wants a software developer who isn’t themselves Turing-complete.

    Will they always do it the Right Way if they spent 10 years learning compiler design and you want them to program an ESP32? Of course not. But if you hired a compiler engineer who cannot teach themself to solve a user’s ESP32-shaped problem, then you have hired a compiler engineer who can be completely incapacitated by a sufficiently leaky abstraction.

    Sooner or later when doing any one thing in software development, you are going to run into a problem that requires you to dig into something else that you don’t actually know how to do. The abstraction leaks and suddenly how file handles work or the fact that an ESP32 needs to go to sleep sometimes is now impinging on your compiler design problem and the users are not able to do the things because of it. If you have an expert on whatever the thing is, sure, you call them in and they help you out. But if not, you learn enough to make yourself useful and you hit the problem with research and analytical thinking until it stops bothering the users.



  • The death of the device and the return of the system.

    A device is a sealed thing provided on a take it or leave it basis, often designed to oppose the interests of the person using it. Like hybrid corn, a device is infertile by design: you cannot use a device to develop, test, and program more devices.

    A system is a curated collection of interchangeable hardware and software parts. Some parts are only compatible with certain other parts, but there is no part that cannot be replaced with an alternative from a different manufacturer. Like heirloom seeds, systems are fertile: systems can be used to design and program both other systems and devices.

    A system is a liberatory technology for manipulating information, while a device is a carceral technology for manipulating people.


  • And it doesn’t cause other problems like outsmarting the brain systems that are supposed to be attaching your intelligence to the interests of your body? Or the people inconveniently stopping you from snorting cocaine constantly until you die? And there’s no level of intelligence you reach where you note that higher levels are unlikely to be any more use to you in achieving your actual goals, versus spending that button-pushing time on other tasks? And all this intelligence is free and doesn’t require any energy input to run in your head? And at some level you become intelligent enough to impart these abilities to your descendants or to just never die? And you reach a level of intelligence where you can fight off the CIA before you reach a level of intelligence where you interest the CIA?

    People don’t generally reason about things like “intelligence” as an abstract value from zero to infinity, because we don’t encounter such things very often. What we do encounter is people trying to scam us. If you present someone with something that appears to be a 100% obvious perfect move with absolutely no drawbacks whatsoever, they mostly correctly conclude that they just aren’t smart enough to understand the catch.




  • Alice is a pretty good 3D programming environment aimed at kids, with little programming blocks to snap together.

    You might want to try going back into the archives and pulling out something like MS-DOS and QBasic, or Logo. You can find a good tutorial in book form, and you can get a system that was designed to be programmed offline, with things like local help in the editor instead of behind a Google search, so it should be 100% safe to leave the kid alone with the machine.





  • If you don’t have your code report in at all, then you have no idea how many people are using it or what features they use the most. So when someone says “how many people use the thing? We need to prove it is useful so people will pay us to make it” then you can’t answer. Or if someone says “that feature is hard to maintain, can we just ditch it?” you either have to leave it in or risk ditching a very popular feature.