
Show HN: The operating system I built as my high school project (2016) - aswinmohanme
https://github.com/aswinmohanme/ultronOS
======
covercash
For my high school senior theology project, we were instructed to select a
modern news event, categorize it into one (or more) of the seven deadly sins,
and then give a class presentation. I miraculously convinced my group to
choose the Microsoft antitrust case since I had just read the Wired cover
story on it. Throughout the year, I sat in the back of the room and had a fake
bible cover over my Flash 5 Bible and was reading about actionscript instead
of paying attention to a topic I had no interest in. For the project, I made a
fully interactive Windows 2000 desktop and functioning start menu that would
launch “programs” that were the visual components of the presentation. We had
the teacher move class to the computer lab where I loaded the flash executable
onto each computer so the students could play with it while we gave the oral
presentation. It was pretty awesome and we ended up with the only A in the
entire grade!

~~~
d-sc
... and this is the reason we can’t have nice things. Source: In 8th grade our
class had to do a book report ‘project’. I selected an ebook on intro to
processing (it’s an environment build on Java that lets you create graphics
applications easily). I wrote an application that drove a (self built) 6-wheel
drive robot wirelessly around our school for the project.

Needless to say, there’s was little literary analysis done, but the class
enjoyed the wireless video stream.

Future me came to get annoyed by overachievers that raised the bar for ‘A’
grades.

~~~
jmts
Overachievers should not be able to raise the bar. If they can, then the
system is broken. Grades should be relative to the course content, not the
abilities of the students.

When I started university, it was clear that I had much more experience
programming than the other students, but I had to do certain introductory
classes anyway because there was no way to receive credit for half a decade of
self learning. On one assignment my lecturer went looking for things to mark
me down on that were outside the scope of the assignment because "it would
look suspicious if you got a perfect grade".

Some people are just capable of more than is expected of that class for
whatever reason, not because they intend to demoralise everyone else and break
the system.

~~~
noir_lord
Similar story when I was at college (UK meaning) (late 90s).

Final project was an inventory system for a company.

Mine was a RDBMS backed system that implemented proper stock control with
parent/child SKU handling etc (I went to the library and checked out books on
inventory control) and was fully documented (180 pages of documentation) and a
full user manual with a FAQ.

I thought that was what professional programmers did...man was I in for a
shock when I hit industry.

------
avisaven
What a coincidense, for my high school senior project in 2017 I built an
operating system as well [1] (which I still work on to this day). For anyone
who is put off by the difficult of building an operating system I highly
recommend just going in and getting your hands dirty. osdev.org is a fantastic
resource and theres plenty of reading to do on the web, and getting more
intimately familair with your hardware is an incredibly gratifying and
enlightening experience. Even if you never end up with something useful, the
learning experience of working in such a liberated and constrained (theres no
rules, but no supports! anything goes within the constraints of the hardware)
environment is second to none. And once you build your operating system, you
can always go back and do something new with it. Mine has become something of
a zen garden where I can just play with new ideas and algorithms, without
having to worrying about reaching some sort of goal.

[1]
[https://github.com/block8437/brackos](https://github.com/block8437/brackos)

------
kazinator
Those who say this is more about bravery than raw skill or intellect have
momentarily forgotten that OS's have to not only be coded, but debugged.

~~~
twtw
Like the author?

[https://news.ycombinator.com/item?id=19070587](https://news.ycombinator.com/item?id=19070587)

------
lmitchell
'Ultron is designed with OOP in mind and has not failed to live up to the
promise at all possible places.'

Would that more professional programmers had this humility. :)

~~~
konschubert
I read that sentence as saying that OOP was successful.

~~~
hexane360
I read that too, and also read OP as being sarcastic

------
lainga
Ultron! This is the browser that Google uses, right?

------
keithnz
is there any projects that influenced this project? Just curious as googling
some of your code turns up in other projects.

------
lachlan-sneff
I did this too! Was a great learning experience.

------
RandomGuyDTB
Jesus, at my high school it's an accomplishment to know how to read

~~~
twtw
In my experience, writing "scary" software like a compiler, an OS, a kernel
driver, etc is more about bravery/daring than raw skill or intellect. There
are quite a few people that know C and C++ in high school, so it seems
reasonable that at least some of them would have someone (IRL or online) nudge
them in the direction of an OS and tell them "it's not as hard as you think,
if you dare to try."

I don't say this to diminish the accomplishment here, but to encourage others
to try it too.

~~~
rblion
I don't know C but I am interested in learning.

What would be a good place to learn the steps of making an OS?

I just want a bird's eye view right now, just to understand the moving parts.
This will also help me in the future as a manager.

~~~
aswinmohanme
I followed this
[http://www.osdever.net/bkerndev/Docs/intro.htm](http://www.osdever.net/bkerndev/Docs/intro.htm)
with some pointers from osdev wiki

~~~
DarmokJalad1701
Nice! I remember following this site back in the day. My tiny "OS" got till
paged memory management and didn't really go any further. I used to use
"Bochs" CPU emulator for testing.

~~~
necovek
Right, I used bochs too: it was a full emulator, none of this "let's just let
the CPU really run these" things. :)

------
memory_grep
How does it compare to TempleOS? :)

~~~
kuroguro
TempleOS is real mode. What do we do all day?

~~~
shiveringking
TempleOS does not run in real mode, it runs in long mode (64 bit)

~~~
kuroguro
The author had some... memorable quotes. It was a reference to his most
infamous post. I assumed the OP knew about the author's past and wasn't asking
for a genuine comparison. Tho looking back I'm not so sure.

For the brave of heart (NSFW):
[https://www.youtube.com/watch?v=UCgoxQCf5Jg&t=3295](https://www.youtube.com/watch?v=UCgoxQCf5Jg&t=3295)

Won't make much sense out of context. The video does a pretty good job of
explaining the whole story if you have time.

------
abbiya
Which school did you go to?

~~~
aswinmohanme
Kendriya Vidyalaya Adoor, Kerala, India

~~~
DarmokJalad1701
KV-ഇൽ OS development ഒക്കെ പഠിപ്പിച്ചു തുടങ്ങിയോ?

~~~
Nydhal
Kannada? I'm not indian but I remember these symbols from a twitter crawling
project.

~~~
the_arun
Idu malayalam aanu mone

------
nopacience
You went to a great school!

Congrats for your accomplishment

