![](/static/66c60d9f/assets/icons/icon-96x96.png)
![](https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png)
So Copilot Runtime is… Windows bundling a bunch of models like an OCR model and an image generation model, and then giving your program an API to call them.
So Copilot Runtime is… Windows bundling a bunch of models like an OCR model and an image generation model, and then giving your program an API to call them.
“Yeah this sounds like a Phil Nash sort of problem, I’ll just stick him in here.”
The rust compiler produces a flawless understanding of your code, and then quits out because understanding that code is a Nightly-only feature and you’re using the stable build.
On phones Android is pretty typical, and on desktop Unix is also pretty typical because MacOS is it. But non-Mac Unix on the desktop is pretty unusual, and stuff built for Mac specifically often won’t work on other Unixes.
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 have had pretty good luck with this actually. You can get e.g. Matlab for Linux no problem, and even weird company-specific tools I want I usually find to be available. But then I guess most of the commercial software I want to use is software for people like me. I don’t bother trying to use e.g. MS Office even on platforms it runs on, I don’t do professional CAD, I don’t do professional graphic design.
Maybe that’s when I mostly stopped getting the wrong page of stuff.
I took one passing look at how the thing is built, found out it’s “basically all websockets for some reason”, and stopped expecting it to work properly. Whenever it breaks I think “this is why you don’t use websockets when you can just send a goddamn server side rendered web page or make an AJAX POST request” and I feel vindicated instead of annoyed.
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.
We could end the era of the developer as a specialized caste. Our tools should be powerful enough that they allow people with problems to collaborate on software to solve those problems, without having to let that become their full time job.
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.
So that’s why everything is enormous now!
On desktop: animations tied to scrolling.
Hello and welcome to our scroll wheel powered video presentation.
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.
Getting stuff onto F-Droid is hard; you have to design for their build system.
Google Play has a thing where if you design for their build system, they will do all the builds and hold the signing keys. So then you don’t have to worry about keeping a signing key safe from various malicious government agencies.
Be the tricorder you wish to see in the world
What’s an illegitimate interest?
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.
It shouldn’t be hard to implement the APIs, the problem would be sourcing the models to sit behind them. You can’t just steal them off Windows or you will have Copyright Problems presumably. I guess you could try and train clones on Windows against the Windows model results?