10 ms·
ExDOS is developed by Omar, “almost 14 years old”
- lmitchell 11y agoI've lurked on the OSDev forums he credits on his website for a long time, and both Omar and Muazzam (mentioned as well on the website) are goddamn impressive for barely-teenagers. Someone hire those kids!
- meddlepal 11y agoEh, let them enjoy their early formative teenage years without the stress of a job. There's a time and place for working but barely 14 isn't it.
- muazzam 11y agoThanks for mentioning me, by the way. Oh, and I don't need a job--it's against my ego to ever work for someone else for money (though, I'll definitely help you, if you need it).
- vezzy-fnord 11y agoSomeone should set up an AMA for him, I'd be really curious to hear his opinions on the state of OS research and similar topics.
- dkarapetyan 11y agoHe's a kid. Just let him be. You can pick his brain when he is a little older. People forget that even prodigies need time to grow up.
- socceroos 11y agoGood on him. Building an OS from the ground up is actually fun when you get into it. I found it to be a great learning experience (but did it years later than this dude).
- 101914 11y agoMuzzam's site: http://alotware.hol.es http://alotware.hol.es "Q: Why did you choose Assembly? A: It is easy, simple, and the language of real programmers." Will he still believe this when he's older? I hope so. Because it is the truth.
- na85 11y agoBut don't real programmers use a magnetized needle and a steady hand?
- derefr 11y agoNo joke: I strongly believe that "real programmers" do indeed write in assembler. Not x86 assembler, mind you. Rather, "real programmers" first compose an abstract machine semantics for the solution domain, create an instantiation of those semantics in the form of a virtual machine on some host architecture, and then express the solution in an assembler language targeting the abstract machine semantics. (See, for example, the Prolog abstract machine semantics to represent the solution domain of expert systems.) They might, if their problem is really hairy and requires large amounts of exploratory programming, create a high-level programming language (usually a macro-language) that allows easy access to the same abstract machine semantics, and then code in that. For well-defined "closed" problems (e.g. in-kernel packet filtering), this added baggage is usually unnecessary, but for more "engineering-oriented" problems, you might end up with something more like an Erlang than a Prolog. Note that C itself follows this rule; the "C abstract machine" is a pretty good fit (though perhaps not perfect) to the solution domain of low-level systems programming.
- pekk 11y agoCan you explain why this is a smarter way to build software?
- derefr 11y agoMostly that it's the simplest and oldest (and, in my opinion, the least "sandwiched in between five layers of indirection") version of a very common idea, that I'm not quite sure the name of. It's the idea behind DSLs, and Lisp-like languages. Most of Chuck Moore's writings on the potential behind Forth-like languages are also about this idea. The most modern instantiation of the idea, I believe, is "Behavior-Driven Development" with Cucumber et al. But it's all the same thing, in the end. Generally, the idea is: first, you should define a language to directly express statements about your problem domain. Then, in one place, you can define the solution in terms of the problem domain. Completely separately to that, you can implement the mechanism by which a machine interprets and acts upon statements about the problem domain. Putting the two together results in a program that solves your problem. But either may be maintained separately. The term "separation of concerns" has effectively always been about making sure that demands for change that come from separate "departments" don't end up touching the same line of code. This model excels in that: maintaining the specification of the solution is solely the province of the business, while maintaining the interpreter of that specification is solely the province of some engineers somewhere. As long as the interface between the two is stable—a stable ABI—improvements can be made to one or the other without the other group ever having to be aware. A great example of this is the Inform 7 language. One group of people writes text adventures in this language, or enhancements and plugins for text-adventure development. A separate group of people maintains interactive-fiction interpreters that parse a given ISA. Neither group has to think about the other. The ecosystems of the IDE and the runtime are, in fact, completely divorced.
- jeswin 11y agoCongrats to Omar. I remember I was in awe about Marcelo Tosatti when he became the 2.4 kernel maintainer at 14. Here's an interview http://www.informatica.co.cr/linux/research/2002/03.htm http://www.informatica.co.cr/linux/research/2002/03.htm
- voltagex_ 11y agoThis is extrememly impressive. I just ran through the OSDev Bare Bones [1] tutorial this evening, even implementing newline support! I don't understand all of it yet and here's a kid half my age doing amazing things. Goes to show what you can acheive with time and perseverance. I really wish I learned Assembly at that age. [1]: http://wiki.osdev.org/Bare_Bones http://wiki.osdev.org/Bare_Bones
- deleted 11y ago[deleted]
- zaroth 11y agoFrom "About me" My name is Muazzam Ali Kazmi, a hobbyist programmer from Shahpur, Layyah, Punjab, Pakistan. I am a student of grade-11 and I started programming about 4 years ago. I am developing the OS since 7 September 2014. My interests include religion(s), philosophy, operating systems, virtual machines, simulating a universe in the computers, compilers, theoretical computer science, artificial intelligence, mathematics, and science.
- akclr 11y agohttps://disqus.com/by/muazzamalikazmi/comments/ https://disqus.com/by/muazzamalikazmi/comments/
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]
- byuu 11y agoI'm very happy to see people are still doing this sort of thing! I've always wanted to see something of a truly 'barebones' OS; but one that could at least get you 64-bit mode, OpenGL ES, audio output, USB polling and network connectivity with libc available. Yet not be as complex and large as Linux/BSD. Being able to run a real-time application with no pre-emption, no virtual memory protections, no kernel transitions, etc could probably eke out an additional ~20-30% of performance on a CPU-bound application. Plus the near-instant boot would be great for media players, emulator arcade boxes, etc. Probably just not possible, due to the driver situation. There was a bit of hope UEFI could lead to better drivers for hardware prior to boot, but efforts around things like GOP (graphics output protocol) haven't really gone anywhere that I've seen. Sadly, there's a very small amount of modern things you can do with 32-bit mode, VESA and a keyboard. I've never even found a video card with a 1920x1080 VESA display mode; they're almost exclusively still 4:3 only. Plus, no sound rules out gaming and media; no internet (let alone Wifi) rules out any connectivity; no strong filesystem rules out moving data around easily; no USB rules out loading things from external storage, gamepads, etc. Only strong use case would be for embedded; but ARM platforms have this area beat substantially in cost, power, tooling, etc.
- jacquesm 11y ago> Plus, no sound rules out gaming and media; no internet (let alone Wifi) rules out any connectivity; no strong filesystem rules out moving data around easily; no USB rules out loading things from external storage, gamepads, etc. > Only strong use case would be for embedded; but ARM platforms have this area beat substantially in cost, power, tooling, etc. http://docstore.mik.ua/orelly/linux/run/ch01_02.htm http://docstore.mik.ua/orelly/linux/run/ch01_02.htm Linux started out as something quite a bit less impressive than what you see today.
- qznc 11y agoIt is much less work to tune Linux. http://electronicdesign.com/embedded/how-boot-linux-under-one-second http://electronicdesign.com/embedded/how-boot-linux-under-on... http://www.makelinux.com/emb/fastboot/ http://www.makelinux.com/emb/fastboot/
- chetanahuja 11y agoRegarding learning assembly, I'm beginning to come to the view that it's in fact the best way to teach the first course in programming to kids. They don't come with any preconceived notions of what programming should look like and given an explicit, visual model of the computer, they quickly learn the small number of operations to write programs. More over, once they learn to do LDA A ADD TWO STA A DAT TWO 2 <-- initializing variable TWO then, this line of code A = A + 2 in C or a higher level language makes soooo much more sense. That awkward phase of internalizing that '=' is an assignment operator and is different from another operator meant to test equality gets a lot shorter for a beginner. Btw, this is the best online CPU simulator I've found for that use http://peterhigginson.co.uk/LMC/ http://peterhigginson.co.uk/LMC/ I'm shocked at how all the code academies and hour of code's haven't created a polished version of LMC (Little Man Computer... look it up).
- RodgerTheGreat 11y agoI've had some success teaching middle schoolers with Chip8 and a structured assembler: http://johnearnest.github.io/Octo/ http://johnearnest.github.io/Octo/
- chetanahuja 11y agoIf you're still involved in teaching school kids some sort of assembly but still in a fun and visual way, I highly recommend checking out the link to LMC I posted above.
- userbinator 11y agoThat looks like 6502 but it doesn't have ADD, only ADC. I prefer the Z80 though. :-) I also think starting with Asm is a good idea, because it forces you to think about things like data representation (often glossed over in HLLs) and breaking down complex operations into a series of simple steps - something that you have to internalise effectively to become good at programming. If there is time for it, going one step lower to logic gates would be even better to dispel the "magic" and see that CPUs are actually very conceptually simple and logical machines. Of course to become productive they should move to a HLL and learn the higher-level organisation (functions/procedures, objects, ...) but I agree that the basics are important to understand first. This is a book I strongly recommend, it's definitely written at a level readable for kids and young adults: https://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_Computer_Hardware_and_Software https://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_C...
- deleted 11y ago[deleted]
- trsohmers 11y agoThis is anecdotal, but when I was his age and getting into the "real" tech world (and getting my work recognized), I really disliked my age being made a big deal. A big influence on my own view (and I think many others in this community) of being a "hacker" was Steven Levy's "Hacker Ethic", which specifically said: "Hackers should be judged by their hacking, not criteria such as degrees, age, race, sex, or position" While it is great that we recognize good work like this, bringing up his age in the title is focusing on a pretty irrelevant metric when we should focus on good work, no mater who makes it.
- elliotec 11y agoSure, but it's impressive nonetheless. A 14 year old kid is building an operating system. What was I doing at 14? I was not building operating systems, thats for sure.
- trsohmers 11y agoThat's not the point... by bringing up age as an important factor, you are then discounting the work. Personally, I would rather have my work valued the same way if I was 14 or 64... In the case of my current work, I would say I have put the same amount of time into learning and working as people twice my age (Though I guess that means I haven't had much of a life otherwsise, heh). Regardless of my age, I think my work should stand on its own against anything that currently exists. If you add an age qualifier, it does feel insulting (at least for me). I should also mention that I have used my age to my advantage in some cases, but I strongly dislike people who use it as their main selling point, such as when people brag about being a "young startup founder" etc.
- jacquesm 11y ago> That's not the point... by bringing up age as an important factor, you are then discounting the work. I see it rather the opposite. By mentioning his age the feat becomes all the more impressive.
- 11y ago
- deleted 11y ago[deleted]
- camgunz 11y agoThere's a difference between something you are (race, age, sexual orientation, gender) and something you choose to do (donate to a political organization, become a cop). It's very different to discriminate against someone for something they can't control vs. something they can.
- mikaraento 11y agoHaving a political view or religious belief is almost synonymous with acting on that - participating in the political process or your religious community. (Though you shouldn't be doing these at work). To be uncharitable, you are taking an unreasonably narrow view because you disagree with Eich (I do too), but like with freedom of speech it's all about the case when you do disagree.
- camgunz 11y agoI'm not sure what you're getting at, but I'm talking about the difference between ascribed and achieved statuses. An ascribed status is something you can't control: your race, gender, sexual orientation, and so on. An achieved status is something you can: one's profession, for example. In this context, someone was implying that discriminating against someone based on their age is the same as discriminating against them based on their political or religious views. It's a false equivalence, because you choose your political and religious beliefs, you don't choose your age. I'm not arguing for or against discrimination; it's a complicated topic. I just felt like in this context, parent was using a false equivalence to discredit identity politics, and I took the opportunity to try and speak out about the difference between ascribed and achieved statuses. I do disagree with Eich, but I think that's immaterial.
- deleted 11y ago[deleted]
- wtallis 11y ago
- deleted 11y ago[deleted]
- jacquesm 11y agoHey Omar, You can flesh out your profile by clicking on your name in the top right, suggest you add a link to your project there. Super neat to see your stuff, keep at it! Jacques
- trsohmers 11y agoI know how that feels, but it gets better, and you should definitely continue. Be proud of your work, and know that you are developing it to be the best piece of work you can develop... and not just what you can develop "for your age". The only advice I would give for this sort of situation is while you should not emphasize your age (which you are not doing), definetely use it to your advantage when you can... Get sponsorships to conferences/events, meet cool/influential/important people, go audit university courses, and the many other things at your disposal. And just remember that there are very few real "hard" limits when it comes to age, and don't take "no" for an answer if someone tells you you can't do something because you are too young... the best way to prove them wrong is to do the best work you can, and to never stop trying to improve yourself. If you would like any more advice, feel free to shoot me a message (my contact info is in my HN profile)
- S4M 11y agoThe screenshots link is dead at the time I write this (5h after submission).
- chaostheory 11y agoThe server hosting his site went down. Here's the github link: https://github.com/omarrx024/exdos https://github.com/omarrx024/exdos
- e19293001 11y agoHere is an archive https://web.archive.org/web/20150810162221/http://exdos.eu.pn/ https://web.archive.org/web/20150810162221/http://exdos.eu.p...
- deleted 11y ago[deleted]
- jacquesm 11y agoJealous much? Flagged.
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]
- pknerd 11y agoMuazzam's Twitter handle: @muazzam_kazmi
- deleted 11y ago[deleted]
- muazzam 11y agoKeep in mind that I rarely use Twitter. However, feel free to contact me through email or Facebook.
- deleted 11y ago[deleted]
- NickHaflinger 11y agoERROR 403: FORBIDDEN WEB PAGE
- NickHaflinger 11y agohttp://exdos.eu.pn/ http://exdos.eu.pn/ .. ERROR 403: FORBIDDEN WEB PAGE
- jakub_g 11y agoIt seems HN crowd DDOS-ed the page, here's the archived link https://web.archive.org/web/20150810162221/http://exdos.eu.pn/ https://web.archive.org/web/20150810162221/http://exdos.eu.p...
- omarrx024 11y agoMy site has apparently reached the view limit. I'll move to GitHub Pages, I'll let you all know when I finish. Thanks a lot!