I’ve been developing a guitar pedal firmware in an ESP32-P4, and the flash image size is still under 1 MB and the PSRAM sits unused. It has not only a bunch of sound filters, control code for ADC, DAC a couple of USB devices, SDIO and LittleFS, but also a full-blown serial terminal TUI to control all sorts of details and to monitor performance. Said performance is good, but what blows me away is that there’s no jitter in the number that measures the number of cycles the processor executes while processing a sound frame, i.e. no preemption by the kernel to go and take care of its business.
There’s no way a multi-user OS such as Linux can be as efficient as a firmware blob that does one thing. Tell me if I’m wrong, but in my mental model, one can get about the same mileage with 16 MB of PSRAM in an MCU running FreeRTOS as one can get in a 512 MB SBC running Linux. For my use case, the winner combination would, of course, be a 512 MB SBC running FreeRTOS, but I’ve so far been unable to find such a wondrous thing.
The benefit of running Linux on a what used to be an MCU is that you're getting the best network stack, Bluetooth/Wi-Fi stack, one of the best device drivers (say for USB Host), stock and very well tested software, etc.
For your use case, you need raw performance and low-level control, and you have it. But for IoT device which is all about network more or less, there's usually no need to go low-level.
ESP32 for Wi-Fi handling uses wpa_supplicant port from Linux for example.
You can run a real, multi-user Linux with as low RAM as 8 MB. You get the benefit of running any Linux-supported programming languages (and combine any amount of them without extra effort, just on a real machine), established portable abstractions, established memory protection model, ease of debugging.
You can run both though. Both FreeRTOS and Linux simultaneously, where Linux is a FreeRTOS task on a dedicated core. That's how several Linux ports work, haven't checked if Espressif's works this way as well.
Nobody is going to build an IoT device with this MCU running Linux. It's only able to access 64 MB of RAM from its slow cores. There's also limited support for 32-bit RISC-V in distros so anyone looking to run Linux on this will need to build everything themselves. Easier to just get a cheap ARM SoC that can probably run Android.
Or you could just use it as a microcontroller. Networking support is already good. Programming language support is better than you think (C++, Rust, Python, JavaScript). Debugging just works on newer boards.
Full operating system with all the compatibility and device drivers. Ease of development: you program on Linux, testing on desktop Linux, and then run on a small Linux. Need additional software? Just compile and use it, without porting or adaptation/integration. I've described everything above, don't know what could I add.
ESP32-S31 is no longer an MCU anymore if it has an MMU I guess. It's a full-blown "computer chip".
> There’s no way a multi-user OS such as Linux can be as efficient as a firmware blob that does one thing
Yes, obviously. The advantage is in how easy it is to port software to the board, and how much work you need to do to get any given amount of functionality.
Anecdotally, but I have lived in different cultures with entirely different languages and/or dialects, and the thoughts and even entire categories of thoughts people from these cultures express, or can easily express, are very much shaped by their language. Relatedly, I've also often witnessed multilingual people switch out of their native language to a second one just to express a particular idea or nuance, because they can do it with two words in that other language but would need at least a couple of sentences to say the same thing in their native one.
We use formal language to express symbolic relationships, e.g. "A implies B". But even "A implies B" has multiple meanings: material conditional, strict implication, logical entailment, etc. So, symbolic systems are not "pure and hard", they are also contaminated and softened by the vagaries of language outside them, which is our primary access to those systems: "valid" natural language and its strings of words. A statistical system that can string words into valid(=allowed by the distribution) language asymptotically approaches reason. So, the mind is not in the words, but in the laws that permit many words to come together, i.e. the probability distribution.
Upvoted. I think that said humans should get used to the idea that their intellect is special only insofar as it was first, and if they want to adopt or invent a value system that keeps them at the center, that's actually fine and good for their survival. But said humans would do well to stop laboriously and curmudgeonly moving the posts that mark the goals, and get busy trying to coax the AI to do useful things for them and for the species as a whole.
If human intelligence is so boring and non-special, how exactly did LLMs get this smart? Is it not from a) being developed by humans and b) being fed a very large portion of all human-generated text?
Without the human intellect to emulate, LLMs would be nothing.
LLMs learn from patterns in human-provided data (and soon each other and directly from nature). Humans learn(ed) from patterns in nature-provided data, and eventually each other (and, increasingly, LLMs).
"Boring": that's a straw man, it was never in my comment. I did say that people should stop grumbling and use the tool for good things. I'm not quite sure what was your point, but it sounded like you disagreed (one doesn't deploy the straw-man weapon otherwise), and this "Without the human intellect to emulate, LLMs would be nothing" sounds like an expression of grief, which admittedly is a very reasonable feeling for a number of reasons. What confuses me is that creating an intellect at the human level or above is indeed a great human achievement, but it's not a good thing because...? Maybe an emulation of the thing is not as good as the thing, was that your meaning?
Here, let me add my own little straw man: "if God didn't make us, how exactly did humans get so smart? Is not from a) being created in His image and b) being given His love? Without God, we would be mud from the ground (and a rib!)." If you agree with this statement, then, understandably, everything we have done since the Enlightenment has been to secure our place in hell, and LLMs are a particularly impertinent such device, but compared to a true human mind like a figurine of clay to a true person.
But, if of all things the measure is Man, of the things that are, that they are, and of the things that are not, that they are not, and Man keeps measuring the thing and the thing indeed seems very smart, then Man should stop moping and deal with the consequences of their actions: either ban the thing or use it for their own benefit.
No idea what you're on about. It is provable that humans developed LLMs, there is no proof that God created humans. It's possible that a human creation will someday be more capable and intelligent than humans on all fronts, but it still stands that without the foundation of human intellect, there would be no LLMs. So I don't understand people who act like "AI" is a separate species that came to exist independently and proves human inferiority, that humans need to accept that they're not special, and that we should rush to submit to our new AI overlords. If anything, the existence and capabilities of AI proves that human intellect is still impressive and versatile, because it is a direct reflection of human knowledge.
> To take Coxon's argument seriously, you have to believe frontier models are hypercapable, and not just hype objects.
It's harder and harder to make the point that frontier objects are just hype objects though. And, even if they stay where they are today, that's more than enough to make them incredibly...destabilizing, to say the least. It's not only it, but frontier models act like knowledge mixers and percolators. Some people (not necessarily everybody), are adept at the discipline of learning, building things and executing projects, and that's all you need today with LLMs filling many of the gaps such person can have. Now, most of those people are actually engineers. So I'm going to go with the article and say that we must stop selling our souls for money.
Hype objects when it comes to the idea that they will soon become recursively self-improving, boot strapping themselves to super intelligence, at which point we will be at their mercy. Because that's basically the p(doom) argument, that some probability is associated with ASI killing us all.
That's different from what we have today with powerful software tools that people can use for all sorts of things, which is an extension of what we already had in less concentrated form. It makes things easier for humans to do good and bad things, but it's not an autonomous digital god.
This is the tech at Cloudflare of course, but I swear that my first interpretation of the title was "We have replaced all our python coders with AI and they (the coders) are out and generally available" :-)
Your statement piked out my interest and I went searching for what Rubisco was. My prediction is that this particular one will be cracked out soon, and at around 2045, creating disgustingly efficient variants of RuBisCO along with other photosynthesis mechanisms will be AGIs’ hot hobby.
That there are no more efficient variations of it in nature just tells us that the local minimum is really deep and that natural evolution, as it is, can’t produce anything better, not even with a billion years and 10^30 organisms serving as a “brute force lab”. It’s also the kind of problem an AGI system would tackle for purely ideological reasons, i.e. to prove that it is superior to nature.
Roughly, there are two types of code in a user application: logic and media related. There are many exceptions, but logic code generally doesn’t need a lot of CPU. Media algorithms on the other hand are all CPU hogs, and SIMD helps there quite a bit.
Now, I also happen to think that modern desktops run a lot of background survtech…some from the operating system itself, but most from third-party software and web pages. So, in addition to more CPU performance, I would also like more system utilities that spy on the spies and automatically puts them in some public score of shame.
> In your first draft, most of your paragraphs are bad, your topic flow is incoherent, and you’ve got at least 750 words you don’t need.
I stopped reading at this point. All of the above may have been correct five years ago, when there was a "canon" of good writing, but now LLMs pack that canon as tight as teenagers in a boy band concert. So, go with a flow that reflects your state of mind--LLMs don't have that--and yield the words in fistfuls and with abandon. To further distance yourself from LLM output, your writing can be any or all of these things: sassy, prosaic, heathen.
Uses for LLMs: grammar checks, and to see if your idea comes through. However, depending on what you are writing, I recommend leaving in your writing a tiny doses of typos, grammar issues, and infuriating word order choices. Even some level of ambiguity is fine; your fellow humans and LLMs are not all of one mind, and if some of them are going to fight with knives over your exact meaning, well, it's them who are the extremists, not your problem.
I often think of what we are buying ourselves with AI. Five years ago, when this wave started, my conclusion was that either humanity or humanism is scheduled for extinction. I love my species enough to prefer the lesser evil of the demise of humanism, if for that price we can save our species.
There’s no way a multi-user OS such as Linux can be as efficient as a firmware blob that does one thing. Tell me if I’m wrong, but in my mental model, one can get about the same mileage with 16 MB of PSRAM in an MCU running FreeRTOS as one can get in a 512 MB SBC running Linux. For my use case, the winner combination would, of course, be a 512 MB SBC running FreeRTOS, but I’ve so far been unable to find such a wondrous thing.
reply