OSle is an incredibly small operating system, coming in at only 510 bytes, so it fits entirely into a boot sector. It runs in real-mode, and is written in assembly. Despite the small size, it has a shell, a read and write file system, process management, and more. It even has its own tiny SDK and some pre-built programs.
The code’s available under the MIT license.
This project is pretty astounding. I looked at the demo video. It boots into a command line interface. I am also really impressed with Sector LISP. A minimal LISP implementation that also fits in a boot sector. https://justine.lol/sectorlisp2/
Man! There’s some fun on that page.I hadn’t considered that JS and C code could be made source code compatible until I saw “`#define var int\n#define function“`!
Yeah, I know. I would have never, ever thought of that. Justine, the creator of Sector LISP, is brilliant and definitely thinking outside the box.
LISP is the King of programming languages anyway.
Kochise
LISP’s foundations are elegant, but it’s also a notoriously poor syntax for humans. I’d suggest checking out prolog and haskell as these get you think about programming differently while still having a human friendly syntax. I know that some people argue that syntactic sugar designed for humans makes languages less simple and less pure. But unless you are using LISP for auto-generated code, you quickly run into parenthesis overload and it’s not so fun at scale.
LISP, out of any other programming languages more tailored for human taste, is the only one concise enough to have an interpreter in less than 1000 lines of C code, and here can fit in a boot sector and able to run a complete test suite.
Yes the parenthesis syndrome might be an issue for some, but remember that many developers were proficient in LISP back in the days (Emacs, Symbolics, …) which only proves that it is still relevant, provided we care about it.
Remember that LISP was targeted for AI development, which is a trend nowadays, plus the ability to “self” code itself, imagine what it can lead to…
Kochise,
This ” lisp implementation fits in a boot sector” is interesting trivia, but in real life it’s of dubious benefit. I don’t think anyone is genuinely trying to make the case that this changes the merit of the language. Clearly we can make languages smaller without the syntactic sugar that makes programming nicer for humans, but that’s not really the goal of good programming languages. We could find an even simpler turing complete language than LISP, but I think this misses the point that complex programming features exist to help programmers do more complex stuff easier. I concede that we may not always hit the right balance, but an overly simple language can have a detrimental effect on the complexity of software written in said language. IMHO this is the case with LISP. It’s a cool research language, but I don’t want to use it for most of my programming jobs.
I was quite proficient with intel assembly language, but I prefer working with higher level languages.
Sure, but LISP is just one of many tools in the toolbox and not everyone will agree it’s the best tool even for AI. Anyway this reminds me of an old project where I experimented with the ability to “self code” in one of my projects. I built a stack based language for an AI project years ago. Fun times. These days clearly it would be advantageous to go with a GPGPU language.
There are similar shenanigans used to get C and ASM to use the same headers files (imperfectly but there you go). That used to be important but I haven’t used those hacks since the days on 16 bit Windows and Win95 drivers.
In other news, adobe’s glorified pdf viewer takes more than 1.5 GB.
cevvalkoala,
Isn’t that incredible? This is why modern software can still be slow despite magnitudes of hardware improvement.
I looked over acrobat’s requirements, The “Hard disk space” don’t make any sense when you look at the different versions. If the specs aren’t wrong, I wonder what could possibly explain the different requirements?
https://helpx.adobe.com/reader/system-requirements.html
Adobe now packages the full Acrobat product and its features in just one download. Everyone gets the Reader features for free, and those with a Cloud suscription unlock the full editing and publishing features of Acrobat.
Orisai,
Is it true that you can’t download acrobat reader alone without the full acrobat software? IMHO this would reinforce the bloat narrative. After all the vast majority of users only want to view/print PDFs and don’t need any of the other shovelware.
Bloat isn’t just unneeded features, modern programming practices encourage inefficiency and discourage optimization. Most CS guys will have heard this “Optimization is not worth our time. Don’t spend more hours/days optimizing stuff when you can buy bigger/faster hardware for cheaper instead”. Of course this position typically fails to factor in the fact that millions of users may need to upgrade hardware for a good experience to the tune of millions/billions of dollars. At the macro level this absolutely justifies more optimization on the software. However at the micro level most software vendors don’t care about the external costs even when they are personally responsible for them 🙁
Optimization can make a huge difference to the outcome. And we can’t just tack it on at the end because by then it’s already too late. Optimization is a philosophy that needs to be ingrained throughout the process, just like code correctness. We loose ground when these are not consistent. I probably came across as disagreeing with Kochise earlier, but Kochise makes a great point about being concise. IMHO this is something that we should promote in our software and if we did there would be less bloat.