I used to post here 5 years ago, when I was in my early teens, but nowadays I just lurk.
Frankly, when I was developing my OS was the only time I enjoyed programming and created things for the sake of it. I still program (albeit in much less cooler technologies) for college and programming gigs but I think I'm inadequate: I suck at it. The act of getting stuck, having bug, or consulting documentation seems torturous.
Routine programming is such a mundane, cumbersome task that's too inhumane for most people and its pay is too inflated for what it's worth. It should've been eliminated a long time ago.
I used to believe that I was among the upper strata of programmers because I could write a working OS in baremetal assembly. But almost no one cares about it now and I am more-or-less below average to just average. Also, I get universally rejected from programming jobs and gigs. If I wasn't born in a closely-knit society, I'd probably end up on streets.
It's so demoralizing. Some people who learned to program, say, two years ago are doing amazing things like cutting edge edge research in machine learning or self-driving cars, and winning prestigious prizes like Microsoft Imagine Cup and here I am, searching on YouTube "How to do MongoDB."
I should never have stopped working on my OS. At least, I would have something to be proud of and feel worthy. It's a huge regret.
Rants/confessions from a former(?) OSDever
Re: Rants/confessions from a former(?) OSDever
Hi,
My advice, don't pay attention to others, and don't give up. There's a very good chance that those prize-winners are just frauds who happens to have an uncle or something at Microsoft. I've seen that so many times! 99% of the so called elite with countless prizes are actually totally useless in a real life project, personal experience.
For an inspiring reading, I'd recommend Bach: Jonathan Livingstone Seagull.s/flight/OSDev/g
Cheers,
bzt
My advice, don't pay attention to others, and don't give up. There's a very good chance that those prize-winners are just frauds who happens to have an uncle or something at Microsoft. I've seen that so many times! 99% of the so called elite with countless prizes are actually totally useless in a real life project, personal experience.
For an inspiring reading, I'd recommend Bach: Jonathan Livingstone Seagull.
Code: Select all
Part One of the book finds young Jonathan Livingston frustrated with the meaningless materialism, conformity, and limitation of the seagull life. He is seized with a passion for flight of all kinds, and his soul soars as he experiments with exhilarating challenges of daring aerial feats. Eventually, his lack of conformity to the limited seagull life leads him into conflict with his flock, and they turn their backs on him, casting him out of their society and exiling him. Not deterred by this, Jonathan continues his efforts to reach higher and higher flight goals, finding he is often successful
Cheers,
bzt
Re: Rants/confessions from a former(?) OSDever
The book surely seems interesting, thanks for the suggestion. As for the Microsoft cup, that was just an example. Replace it with any other award/getting into a top university/getting an internship at Google/creating a software that's used by a million people and it's still the same.bzt wrote:Hi,
My advice, don't pay attention to others, and don't give up. There's a very good chance that those prize-winners are just frauds who happens to have an uncle or something at Microsoft. I've seen that so many times! 99% of the so called elite with countless prizes are actually totally useless in a real life project, personal experience.
For an inspiring reading, I'd recommend Bach: Jonathan Livingstone Seagull.s/flight/OSDev/gCode: Select all
Part One of the book finds young Jonathan Livingston frustrated with the meaningless materialism, conformity, and limitation of the seagull life. He is seized with a passion for flight of all kinds, and his soul soars as he experiments with exhilarating challenges of daring aerial feats. Eventually, his lack of conformity to the limited seagull life leads him into conflict with his flock, and they turn their backs on him, casting him out of their society and exiling him. Not deterred by this, Jonathan continues his efforts to reach higher and higher flight goals, finding he is often successful
Cheers,
bzt
Re: Rants/confessions from a former(?) OSDever
You're welcome!Muazzam wrote:The book surely seems interesting, thanks for the suggestion.
Exactly. I wasn't Microsoft specific either. There are lots of mediocre programmers, and those who has connections or money got prizes for their mediocre or sometimes even worse software. In other words, they are cheating. And this is going on a grand scale now.Muazzam wrote:As for the Microsoft cup, that was just an example. Replace it with any other award/getting into a top university/getting an internship at Google/creating a software that's used by a million people and it's still the same.
Don't make the assumption that we live in a meritocracy, we are not. Prizes are not given to the best solutions. Look at the Nobel prize for one, it's a big scandal lately. Sport prizes? Come on, even the papers constantly writing about scandals, bribed judges and doppings. And the list just goes on and on. It's not different for software prizes either.
Unfortunately this behavior leads millions of people using unoptimal (or sometimes even bad) implementations at best. That's one reason why there are so many bugs and vulnerabilities in mainline software. If they would award real talents and best solutions instead of their friends, there would be far less CVE tickets.
Cheers,
bzt
Re: Rants/confessions from a former(?) OSDever
I was literally just thinking about my own regret in not pursuing my own OSdev goals when I was a teenager! Well, I don't think about the regret any more, it's too painful. Ditto for the state of modern software, which used to make me terribly angry for various reasons, some of which are better thought-out than others. What I'm trying to do now is trying to improve myself to make programming easier, so I can make up for all the things I didn't practice back then. My problem-solving and planning abilities are improving from month to month. I'm now trying to develop patience with my own thought processes. I'm trying to be like Chuck Moore:
Actually, I'm trying to develop that skill without holding back from gaining experience. Experience clarifies understanding, which in turn helps simplification, but gaining experience means I need to just dive in and do things. It's a bit of a paradox.
Muazzam, you're probably ahead of me in reading documentation, which is an essential part of programming these days. I'm presently tolerating Python, but it took me hours to pick out the simple way to open a tcp stream connection from a single module's documentation! It was exhausting. Some modules are better documented than others, but the apparantly universal drive to sort documentation alphabetically does not help the beginner! Modern hardware is just as bad. I wanted to start machine code programming the other week, so I downloaded Intel reference manuals and found them as vast and impenetrable as the Himalayas! I will make use of them some day, when I have practice with it and better know what I want and how to achieve it. I'm going to start with a 386 reference to get practice. I'm hoping studying documentation in general will get easier with practice too.
You know, there's a whole bunch of different skills in programming. Studying documentation, design, implementing, bug analysis, and even motivating yourself and finding inspiration are all different skills. Developing your bug analysis skills will help with hobby and job alike, and may help overcome implementation difficulties. Getting stuck is an inspiration problem. I get my inspiration by trying other systems, and by meditating on the consequences of design choices. I come up with a design I fancy, often a simple thing, and I imagine a system built around it. I try to imagine how other design features would interact with it. This can take hours; its like daydreaming but a bit more focused. (It's not "transcendental" medatation, that's something else entirely.) Time away from the subject can also be important.
I don't think there's any meaningfull strata of programmers. I'm sure those 2-year programmers "doing" cutting edge research would be merely lab techs in any other field of science. Their names wouldn't be on the papers. There has always been a lot of hype and hubris in computing. It was needed in the early days to sell those slow machines.* It's desired now to motivate programmers to work, regardless of their actual skill level.
A guy I know is a supercomputer sysadmin. Last I heard, he was on the 14th best supercomputer in the world. (He was on #1, but moved his family out of Baltimore.) He knows he's just a technician, not an engineer. His wife is an actual qualified civil engineer, and he teases her because his job title includes the word "engineer" too, but he knows computer "engineering" standards are far below those of any other field.
*: An elderly friend has a story about that. He worked for a company which had a giant filing cabinet for all their paperwork. They hated it! Believing the hype that a computer would cut down on paperwork, they were one of the first companies in the area to get a computer, in the 1960s. The computer produced so much more paperwork, they had to buy two more giant filing cabinets like the first!
Oh by the way, considering the time it takes to make an operating system, 5 years isn't a terribly long hiatus. 30 years might be, but I'm not letting it stop me.
http://www.ultratechnology.com/mmeta.htmlMike Perry relates a story about Chuck's CAD system.... Chuck
showed Mike that he had written the core of the CAD application
in about five lines of code. When Mike asked him how long it
had taken, he replied, "Oh, about two years."
cmForth's metacompiler is the result of one of Chuck's long
contemplations. It reduces the largest headaches in
metacompilation to fewer than twenty lines of code, all told.
To make that possible, the structure of cmForth departs
somewhat from the familiar.
Actually, I'm trying to develop that skill without holding back from gaining experience. Experience clarifies understanding, which in turn helps simplification, but gaining experience means I need to just dive in and do things. It's a bit of a paradox.
Muazzam, you're probably ahead of me in reading documentation, which is an essential part of programming these days. I'm presently tolerating Python, but it took me hours to pick out the simple way to open a tcp stream connection from a single module's documentation! It was exhausting. Some modules are better documented than others, but the apparantly universal drive to sort documentation alphabetically does not help the beginner! Modern hardware is just as bad. I wanted to start machine code programming the other week, so I downloaded Intel reference manuals and found them as vast and impenetrable as the Himalayas! I will make use of them some day, when I have practice with it and better know what I want and how to achieve it. I'm going to start with a 386 reference to get practice. I'm hoping studying documentation in general will get easier with practice too.
You know, there's a whole bunch of different skills in programming. Studying documentation, design, implementing, bug analysis, and even motivating yourself and finding inspiration are all different skills. Developing your bug analysis skills will help with hobby and job alike, and may help overcome implementation difficulties. Getting stuck is an inspiration problem. I get my inspiration by trying other systems, and by meditating on the consequences of design choices. I come up with a design I fancy, often a simple thing, and I imagine a system built around it. I try to imagine how other design features would interact with it. This can take hours; its like daydreaming but a bit more focused. (It's not "transcendental" medatation, that's something else entirely.) Time away from the subject can also be important.
I don't think there's any meaningfull strata of programmers. I'm sure those 2-year programmers "doing" cutting edge research would be merely lab techs in any other field of science. Their names wouldn't be on the papers. There has always been a lot of hype and hubris in computing. It was needed in the early days to sell those slow machines.* It's desired now to motivate programmers to work, regardless of their actual skill level.
A guy I know is a supercomputer sysadmin. Last I heard, he was on the 14th best supercomputer in the world. (He was on #1, but moved his family out of Baltimore.) He knows he's just a technician, not an engineer. His wife is an actual qualified civil engineer, and he teases her because his job title includes the word "engineer" too, but he knows computer "engineering" standards are far below those of any other field.
*: An elderly friend has a story about that. He worked for a company which had a giant filing cabinet for all their paperwork. They hated it! Believing the hype that a computer would cut down on paperwork, they were one of the first companies in the area to get a computer, in the 1960s. The computer produced so much more paperwork, they had to buy two more giant filing cabinets like the first!
Oh by the way, considering the time it takes to make an operating system, 5 years isn't a terribly long hiatus. 30 years might be, but I'm not letting it stop me.
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie
Re: Rants/confessions from a former(?) OSDever
That's a very well-written comment, worthy of being published.eekee wrote:I was literally just thinking about my own regret in not pursuing my own OSdev goals when I was a teenager! Well, I don't think about the regret any more, it's too painful. Ditto for the state of modern software, which used to make me terribly angry for various reasons, some of which are better thought-out than others. What I'm trying to do now is trying to improve myself to make programming easier, so I can make up for all the things I didn't practice back then. My problem-solving and planning abilities are improving from month to month. I'm now trying to develop patience with my own thought processes. I'm trying to be like Chuck Moore:
http://www.ultratechnology.com/mmeta.htmlMike Perry relates a story about Chuck's CAD system.... Chuck
showed Mike that he had written the core of the CAD application
in about five lines of code. When Mike asked him how long it
had taken, he replied, "Oh, about two years."
cmForth's metacompiler is the result of one of Chuck's long
contemplations. It reduces the largest headaches in
metacompilation to fewer than twenty lines of code, all told.
To make that possible, the structure of cmForth departs
somewhat from the familiar.
Actually, I'm trying to develop that skill without holding back from gaining experience. Experience clarifies understanding, which in turn helps simplification, but gaining experience means I need to just dive in and do things. It's a bit of a paradox.
Muazzam, you're probably ahead of me in reading documentation, which is an essential part of programming these days. I'm presently tolerating Python, but it took me hours to pick out the simple way to open a tcp stream connection from a single module's documentation! It was exhausting. Some modules are better documented than others, but the apparantly universal drive to sort documentation alphabetically does not help the beginner! Modern hardware is just as bad. I wanted to start machine code programming the other week, so I downloaded Intel reference manuals and found them as vast and impenetrable as the Himalayas! I will make use of them some day, when I have practice with it and better know what I want and how to achieve it. I'm going to start with a 386 reference to get practice. I'm hoping studying documentation in general will get easier with practice too.
You know, there's a whole bunch of different skills in programming. Studying documentation, design, implementing, bug analysis, and even motivating yourself and finding inspiration are all different skills. Developing your bug analysis skills will help with hobby and job alike, and may help overcome implementation difficulties. Getting stuck is an inspiration problem. I get my inspiration by trying other systems, and by meditating on the consequences of design choices. I come up with a design I fancy, often a simple thing, and I imagine a system built around it. I try to imagine how other design features would interact with it. This can take hours; its like daydreaming but a bit more focused. (It's not "transcendental" medatation, that's something else entirely.) Time away from the subject can also be important.
I don't think there's any meaningfull strata of programmers. I'm sure those 2-year programmers "doing" cutting edge research would be merely lab techs in any other field of science. Their names wouldn't be on the papers. There has always been a lot of hype and hubris in computing. It was needed in the early days to sell those slow machines.* It's desired now to motivate programmers to work, regardless of their actual skill level.
A guy I know is a supercomputer sysadmin. Last I heard, he was on the 14th best supercomputer in the world. (He was on #1, but moved his family out of Baltimore.) He knows he's just a technician, not an engineer. His wife is an actual qualified civil engineer, and he teases her because his job title includes the word "engineer" too, but he knows computer "engineering" standards are far below those of any other field.
*: An elderly friend has a story about that. He worked for a company which had a giant filing cabinet for all their paperwork. They hated it! Believing the hype that a computer would cut down on paperwork, they were one of the first companies in the area to get a computer, in the 1960s. The computer produced so much more paperwork, they had to buy two more giant filing cabinets like the first!
Oh by the way, considering the time it takes to make an operating system, 5 years isn't a terribly long hiatus. 30 years might be, but I'm not letting it stop me.
Re: Rants/confessions from a former(?) OSDever
Thanks! I was in a writing mood yesterday, the words flowed easily.Muazzam wrote:That's a very well-written comment, worthy of being published.
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie