Hi! My name is Robert and I live in Sweden. I'm a programmer and I try to work for more freedom and simplicity, because I really think we need that in our computers.
So, what is freedom? It's nothing. It just means that you are not being hindered from doing what you want to do. That means you can do more things.
And without simplicity, there is not much freedom, because complexity kills freedom. It's not enough to be allowed to do something if you are not able to. Everyone who is willing to, should have a chance to understand how their computer and the software on it works, all the way through the stack, from the user interface to the transistor.
Do you like first-person shooters? I am working on one that I call Fragility. I hope you will enjoy it as much as I do.
You can reach me at the email address that starts with "robert", then an at-sign, then "almnil.se". Feel free to write!
On this page:
If I am your developer, what can you expect from me? I know that my code will run on your computer and that it will be under my control while you use a program I have written. I know that you will have to trust me completely. I know that your computer is not mine and that's why I have to be very respectful about what I do on it. As a developer, I will always try to write the code that my target users would have written for themselves. I never use AI to generate code, images, texts or any other type of content; it is all done with a human quality of care for every detail. Read more under "I don't use LLM AIs".
In the future that I would build, given enough time and money, there is a lot of freedom and possibilities. Software is simple and can be understood. Hardware is easy to design and build. That means the hardware must be allowed to be slower, which means the software has to be fast. Both software and hardware can be used for any purpose, modified, repaired, whatever you want.
Nothing I have ever created and published has been generated using Large Language Models. One reason is that I care too much about what I create, especially when it is code. Here is an explanation.
If you have an idea, then you can implement it better than an LLM, just like you can implement it better than another person, because you are the only one who understands what you mean exactly. Details are always lost and misunderstood in communication; this is a weakness of LLMs.
Similarly, even if I don't write the code but I let someone else who I trust do it for me, there is value for me in that person not using LLMs, because only if they don't, I can know that the only spirit that lives in the code is of the person of my choice. It's like a social thing; I can know and trust a human, but I'm not sure I can do that with an LLM.
It's similar to how you wouldn't want to use LLMs in politics: the whole point of expressing your ideas is that they are your ideas. If you let someone (or something) else do it for you, the words will not be yours anymore.
So, it's about caring. If you care enough about what you build, then you are the only one who can build it.
Back to complexity. Software tends to get more complex with time. Entropy tends to increase. We all know this and we can only do so much to keep it low.
That's why I think that some software should be continuously remade. While an existing system keeps getting bigger, slower and more complex, I like to have a new version that I work on in parallel. The new version will replace the old version more and more with time. New features will be implemented in the new version while the old one mostly gets bug fixes.
Later, the new verison will start getting complex and that's when it's time to start working on the next rewrite.
If you would like to do some programming, then here is a challenge for you that might be fun.
Write a simple game for an environment (computer and operating system) that doesn't exist. Please, document what the parts that don't exist are supposed to do, so that one could build the environment and play the game. You can make any assumptions you want about this environment.
If you want feedback, you can send your solution in an email to me and I might respond to it.