Today I read a story about a Swedish programmer who, in just six months of his spare time, single-handedly built something that would take an average programmer several years or even more than a decade of spare time to accomplish:
Operating system kernel, TCP/IP protocol, GUI framework, process manager, file browser, text editor, interface editor, snake game, drawing tools...
This guy is the legendary 10x or even 100x programmer .
Add to that the subsequent browsers, JS engines, CSS, C++ IDEs, HTTP servers, spreadsheets... Although the functions are not yet perfect, the scope of the project is terrifyingly broad!
This not only requires rewriting the operating system, but also rewriting all the software on it! Oh my god!
Why did he do that?
Here is his story told in the first person.
In October 2018, I had just finished a 3-month rehabilitation program at a drug rehabilitation center in Sweden. I was unemployed, staying with my family, and had nothing to do.
The days are too long and I have to find something to do.
Before, I worked at Apple and Nokia, mainly working on WebKit-based web browsers. But I am particularly interested in low-level things. I have written ELF parsers, Ext2 file system browsers, and GUI frameworks with event loops...
Slowly, an operating system began to take shape, and I named it SerenityOS.
You may ask, why do we need to create a new operating system?
The answer was simple, I wanted to build my dream operating system for daily use: a combination of a 1990s GUI and the no-nonsense command line of Unix.
When I was working at Apple, I really enjoyed the feeling that all Apple software was under one roof. Not only was all the software super tightly integrated, but programmers could also tinker with it to their heart's content.
I decided to bring this feeling to the open source world: my SerenityOS is no longer "pieced together" from software packages, I want to rebuild everything: from the kernel to the browser, and everything in between!
Let’s get to work!
First year, from zero to HTML!
2018-11-08: Running in a virtual machine
2019-1-09, started testing Widgets (windows, buttons, CheckBox, etc.)
2019-01-21: Create multiple "guitest" processes
2019-02-03: Added font editor and clock
2019-02-11: Implemented menu! An early file manager
2019-02-28: Early process managers
2019-03-15: TCP protocol stack is done, let's implement an IRC for fun
2019-04-11: Create VisualBuilder, inspired by Visual Basic
2019-04-20: Snake game
2019-04-22: GCC is basically working now
2019-06-14: Simple drawing program
2019-09-09: Ladies and gentlemen, we have DOOM!
2019-09-29: Implementing basic CSS in LibHTML
2019-10-10 The first browser has implemented it!
Year 2
2019-11-04: Ported Quake
2019-11-30: Let's build a C++ IDE: HackStudio IDE
2019-12-30: SerenityOS was hacked on 36c3, and I started learning security knowledge like crazy to protect it
2020-02-29: A simple HTTP server (to celebrate my birthday)
2020-03-31: JavaScript support takes shape
2020-05-30: Support for TLS (and HTTPS)
2020-06-22: JPEG decoder
(If you want to know who this beauty in the picture belongs to, you can refer to this article "Computer Goddess, the First Lady of the Internet!")
2020-06-30: Working towards passing the CSS compatibility test for web browsers (ACID2)
2020-08-30: More board games (Chess and 2048)
2020-09-22: C++ IDE HackStudio starts supporting Git
2020-09-29: Simple Excel!
As time went by, more and more people discovered my little project (and my videos on GitHub), and it resonated with many people, such as:
I really like your project, with a Unix-style kernel, a mixed GUI, a Mac OS menu bar, a Windows GUI interface, and a NextSTEP-style Launcher. You took your favorite parts from other systems.
As more and more people get involved, Serenity OS has grown from an inconspicuous small project into an active open source community with hundreds of contributors around the world, and has received 11.9K stars and 1.1k forks on GitHub.
On May 28, 2021, I resigned and devoted myself to the development of this operating system.
This is mainly due to everyone's generous support. I currently receive $2,000 per month in donations from Patreon, GitHub, and PayPal, a small amount of income from YouTube ( $150 per month ), and merchandise sales of Serenity OS ( $100 per month ).
It wasn't enough to fully support myself and my family, but it was close.
As you can see, I don't want to get rich through this operating system. I just want to be a healthy and sane person. It just so happens that my "self-healing" project has attracted so much attention and support from so many people.
My name is Andreas Kling, a Swedish programmer.
After reading the story, I wonder what you guys feel about it?
To be honest, my first feeling after watching it was shock!
As mentioned at the beginning of the article, this guy single-handedly built in just half a year what would take an average programmer several years or even more than ten years of spare time to accomplish. This guy is the legendary 10x or even 100x speed programmer .
Secondly, Andreas was really bold and daring , starting from scratch from the kernel to the application. After so many years of Linux development, everyone thought that Linux had taken over the world and that they should just study Linux. Some enthusiasts just wrote a toy operating system, but Andreas had his own unique ideas, took a unique path, and cultivated a good open source community.
Third, interest is the best teacher . He developed this system entirely out of personal interest. In the initial stage, all the codes were written by one person. Most people who write operating systems probably only get a start, can start up, and copy a few examples, and they will not come up with so many complicated GUI frameworks and programs.
He has posted more than 700 videos on YouTube! It is amazing, and he talks about his development process and his understanding of the operating system.
However, his aging speed has been visible to the naked eye in recent years.
Fourth, why Northern Europe again?
Linux was written by Linus from Finland
MySQL was developed by a Swede named Monty.
Minecraft was written by Markus from Sweden
......
Although SerenityOS cannot be compared with the above products, it is also a very influential project.
Why don't these products appear in China?
If Linux, MySQL, and Minecraft were developed relatively early, there were not many Chinese programmers at that time and their level might not be high. But now it is 2020, and the technology involved in SerenityOS has long been popularized. Why is no one doing it?
I think the most likely reason is that there are many talented programmers like Andreas in China, but he is overwhelmed by demands all day long, and his spare time is squeezed out by 996. When he returns home, he is so tired that he has no time and energy to tinker with his interests and hobbies...
As you can see, I don't want to get rich through this operating system. I just want to be a healthy and sane person. It just so happens that my "self-healing" project has attracted so much attention and support from so many people.
Details
Published on 2021-9-19 07:04
It's amazing. After 3 years, he finally quit drugs and came out to do this. Although it is technically easier to work on operating systems now than when Linus did it, it's amazing to think that he didn't even finish his undergraduate studies in China in 3 years and did so many things. Bald head is shining.
Regarding the statement in the article that "Chinese programmers can't do it because of 996", I strongly disagree with this. If you don't want to work 996, you can quit your job and stay at home. Don't use money as the standard to measure success or failure. Living for passion is the key. Actively or passively accepting 996 for high income, and then blaming the boss or the company, this kind of blame-shifting behavior is shameless!
chunyang posted on 2021-9-9 18:15 Regarding the statement in the article that "domestic programmers can't do it because of 996", I strongly disagree with this. If you don't want to work 996, you can quit your job and stay at home. Don't take money as your first priority...
Hehe, most companies have only learned about Huawei’s overtime, but have not learned about Huawei’s treatment.
Most companies don’t have the same profit levels as Huawei. But this is not the point here. Whether or not you get Huawei’s treatment has nothing to do with quitting your job and doing what you like. In China, whether or not there is 996, people with strong technical skills can live without savings and are not second-generation officials or rich people without worrying about losing income.
Details
Published on 2021-9-12 19:09
Most companies do not have the profit level of Huawei. But this is not the key point here. Whether or not you get Huawei's treatment has nothing to do with quitting your job to do what you like regardless of income. In China, whether or not there is 996, people with strong technical skills can do what they like without savings and without losing income without being the second generation of officials or rich people. I dare not say that there are absolutely no such people, but they are definitely extremely rare. Even if there are, the end is almost doomed to be tragic and desolate, and they will be ridiculed. This is determined by culture and there is no solution. This netizen obviously does not care about the views in my reply. The first thing he thinks of is "treatment". Isn't this a clear proof? You are not alone in this regard. We are all the same, and we are all birds of a feather. I just dare to admit it.
chunyang posted on 2021-9-12 19:09 Most companies do not have the profit level of Huawei. But this is not the key point here. Whether there is Huawei's treatment or not, quitting your job and doing what you like...
Yes, first meet the requirements of "universal values" and then play what you want
The "universal values" in different cultures are different, and naturally, "what we want to do" is also different, so let's not talk about "universal", just talk about ourselves.
Details
Published on 2021-9-12 22:20
The "universal values" in different cultures are different, and naturally, "what we want to do" is also different, so let's not talk about "universal", just talk about ourselves.
As you can see, I don't want to get rich through this operating system. I just want to be a healthy and sane person. It just so happens that my "self-healing" project has attracted so much attention and support from so many people.