phoehne
Joined 6 years ago
Joined 6 years ago
Or, if you're less lucky, you'll left with software you can't maintain. Even if there's a contract clause that says you get all the yummy, yummy source code. You may not even be able to open source it because you don't own the copyright to some or all of the code. You just have the source code. Good luck with that.
No one gets fired for buying IBM because you know (or at least we once knew) IBM would definitely be around for years to come to support the product. Is it expensive? Yes. Have I found a lot of enterprise products miserable to use? Yes. Does everything have the stink of "well we made it work well enough not to get fired?" Yes. But you won't be getting extorted Broadcom style, or sitting around with 5,000,000 lines of AI generated source that has all sorts of hacks and work around for the four other companies to whom the startup sold their software.
Baking a roll of bread is not immoral. Baking bread as part of a contract to feed the gestapo, is.
In the case of Palantir, should we allow the federal government to combine databases (which may have been hoovered up by DOGE and held in a private sector company that isn't subject to FOIA)? Should there be judicial review, like for FISA warrants before you can field an application? Should we allow the government to buy that kind of app in the first place? I don't give Palantir a free pass.
But it's not the engineer at Palantir that decides to send poorly vetted and trained people into a home, fully stoked, believing your have complete immunity, and full of anabolic steroids, and praying any of the occupants shows an iota of resistance. 79 million voters chose this. This is the morality of the people employing the tool.
A thing clearly has no intention and it's impossible for us to know every possible use for a product. But at some level we need to feel responsible for what we create, we need to feel responsible for our choices, and we need to see the responsibility others have because of their choices.
But the point is also that maybe we should take one step back and think about the morality of the people we put in decision making roles. The technology is morally neutral, but the intention is not. And helping to realize that intention is not. And sometimes the things we build can be used in horrible ways unless we also think about safeguarding their use.
This is just the tip of the iceberg. It is my very real fear that a lot of information has been aggregated into Palantir and other applications and is usable with no restraint. And that even if you just run the build system, across hundreds of apps, you might be culpable as well.
If I were putting teaching materials today - I would pick something like Micro python. The down side is it isn't as "canned" a solution, meaning there might be something new to figure out every so often. Which means you spend more time helping people trouble shoot why something isn't working, instead of teaching something useful. On the up side, Python is pretty much the introductory language of choice, today. With lots of available materials.
That's not to say Arduino was perfect. Far from it. Just easier to do, and more consistent over time, than other options.
But take a room full of kids and get them to write a program that blinks an LED, or drive a simple 'robot' forward, and it's awesome. Easy to use. I've never burned out a board (even driving considerable current through them). Things are tolerably well marked. Lots of teaching tools. Lots of different suppliers of easy to connect motors, servos, lights, sensors, etc.
For the same reason, if you are not an embedded engineer, but need a simple micro-controller to turn something on an off like a heater in a chicken coop, it's fantastic. And if you want, buy the $5 knock-off Uno. It should be the same, except that it doesn't support the (now defunct) foundation.
Not all platforms give you the right to do this. For example, if you buy a dev board from STM - it's only licensed for research and development. Also, because you might want to continue to sell the same thing for years, and the board designs were open-sourced, you could buy the same part for years and years. So you can continue to sell your CNC kit that uses an Mega 2560 without worrying about Arduino coming after you or that they'd discontinue that part.
Just before that, at work, I found a bug in an AI driven refactor of code. For some reason, both the original refactor and the ai driven autocomplete kept trying to send the wrong parameters to a function. It was determined to get it wrong, even after I manually fixed it. [Edit - I should also mention the AI driven code review agent tried to do the same thing. The clankers are consistent.]
This is why familiar language matters. Because at some point, you'll have bugs that the AI can't fix. And by the way, I use LLM tools at work and have a set of skills that improve my productivity, if not my QoL. But I still need to be able to dive into the language, the build tools, and fix things.