Remix.run Logo
▲ rfgplk an hour ago

Is this written in jest? Because it's very likely where the future of computing is heading. See https://www.youtube.com/watch?v=kZRE7HIO3vk; a lot of people were nagging on Casey because he implied that software was more efficient back when everyone "wrote their own kernel" and how "impossible it would be today". He even mentions how awesome it could be if every game came with it's own bootable USB. Now back then it truly was unthinkable, but today we're edging ever closer to that reality.

For instance, I have a working microkernel written in a Lisp dialect for embedded devices. Compiled to native machine code. 100% LLM generated. ~70k loc. In benchmarks it outperforms most other embedded kernel projects by a significant margin. And it only took around ~$1500 in tokens (API costs all included).

▲killerstorm 43 minutes ago | parent | next [-]

When AI proves theorems, it uses divide-and-conquer approach just as humans - it breaks a big theorem into lemmas and tackles lemmas one by one.

An alternative approach where it is just one big-ass logical expression is just not better.

Same thing with code, I think - you need some intermediate results like a calling convention, helper subroutines, etc.

A sufficiently powerful AI can do compilation "mentally" - i.e. producing machine code conforming to a specific calling convention. It can also decompile machine code. But you, obviously, don't gain anything doing it this way, if there's one-to-one correspondence between high-level code and machine code. You might as well just write high-level code.

I really hope that software becomes more efficient. But I don't think that it can only be done by generating machine code directly.

▲smokel an hour ago | parent | prev [-]

A problem with this approach is that it would put a large burden on the application developer (or development system) to support other devices (or services) than initially planned.

Of course, it would be possible to add new drivers only when necessary, but that would also allow for security problems.

So, in theory it might work, but in practice it would require quite a bit of thought.

▲3eb7988a1663 an hour ago | parent | next [-]

Now that we are out of the Cambrian explosion of computing hardware - are drivers such a concern anymore? Is there any chance we start consolidating on a few core interfaces?

I know nothing of hardware, but as far as I know, my keyboard and mouse work everywhere because there is a formal specification on how human interface devices are supposed to operate.

There are probably good (and anti-competitive) reasons for why hardware still needs bespoke drivers, but from the outside, it seems like something we could address. I have no interest in loading your artisanally crafted Wifi driver.

▲mikepurvis 22 minutes ago | parent | next [-]

Game consoles worked a lot like this until around the PS3 era, where the disc/cartridge the game came on was shipping binaries for everything including all the hardware support.

This led to some hilarious implementation shenanigans for the Wii as a transitional console, where the Home button pause screen is not in fact a task switch to some underlying console OS but rather a piece of the SDK that is separately-delivered from each individual game.

ref. https://www.copetti.org/writings/consoles/wii/

▲unsnap_biceps an hour ago | parent | prev | next [-]

As AI reduces the cost for writing closer to the metal, it's also reducing the cost for creating new metal to target. I suspect we'll see an explosion in new hardware as it's cheaper and easier to design custom solutions.

▲PunchyHamster an hour ago | parent | prev [-]

If you're writing for VM and don't need stuff like GPUs, you can.

For actual real hardware, not really

▲mikepurvis 20 minutes ago | parent [-]

GPUs, wifi, power/thermal management, firmware. Especially in portable computing there is still a huge amount of hardware support surface area to contend with.

▲mejutoco an hour ago | parent | prev [-]

You could use a library as a base.