Slashdot Mirror


MenuetOS, an Operating System Written Entirely In Assembly, Hits 1.0

angry tapir writes: MenuetOS, a GUI-toting, x86-based operating system written entirely in assembly language that's super-fast and can fit on a floppy disk, has hit version 1.0 — after almost a decade and a half of development. (And yes, it can run Doom). The developers say it's stable on all hardware with which they've tested it. In this article, they talk about what MenuetOS can do, and what they plan for the future. "For version 2.0 we'll mostly keep improving different application classes, which are already present in 1.00. For example, more options for configuring the GUI and improving the HTTP client. The kernel is already working well, so now we have more time to focus on driver and application side."

223 of 368 comments (clear)

  1. Re:floppy disk... by Anonymous Coward · · Score: 1

    I have an 8" floppy disk.

  2. Wow. Still? by halivar · · Score: 5, Insightful

    I remember futzing around with this little project 15 years ago. I am pleased to see that, not only is it still going strong, it's pretty remarkably modern.

    1. Re:Wow. Still? by Anonymous Coward · · Score: 1

      But will it run with UEFI Secure Boot?

    2. Re:Wow. Still? by Darinbob · · Score: 1

      I'm still waiting for them to port it.

  3. Really? by ArcadeMan · · Score: 5, Funny

    Question: MenuetOS is entirely written in assembly? There's no traces of other languages, such as C?
    Reply: nop

    1. Re:Really? by Anonymous Coward · · Score: 2, Informative

      Question: MenuetOS is entirely written in assembly?

      Yes, that's the whole point of the OS.

    2. Re:Really? by Anonymous Coward · · Score: 1

      Question: MenuetOS is entirely written in assembly? There's no traces of other languages, such as C?
      Reply: nop

      I wrote a small operating system entirely in assembly language using the Microsoft DOS debug utility and it fit on a single floppy diskette too. This was way back in the Year of Our Lord 1995. There was no graphical user interface; it was entirely command shell allowing for command-line applications and text user interface applications. The kernel and the command processor interpreter were the only part of the operating system that was not interpreted; everything else was written in a small language that ran on the command processor and was interpreted at run-time. The device drivers provided keyboard and console input-output and there was even a device driver for the dial-up MODEM via the serial port. The project was entirely for my own amusement and learning while I was reading a book about operating system architecture (monolithic kernel versus microkernel, uni-tasking versus multi-tasking, single application versus multiple application). All configuration including devices was via a registry-type data structure so I could swap devices on a single port and resume when the previous device was re-enabled.

    3. Re: Really? by Anonymous Coward · · Score: 3, Funny

      Yes. Phenomenal speed and minimal resource requirements, both of which translate into an ability to run on smaller, cheaper, and less power hungry hardware. I can tell you weren't alive during the Reagan administration.

    4. Re: Really? by kthreadd · · Score: 1

      I'm not reallyd sure that I understand that point. To me, thst would sound reasonable for educstionsl Ãr entertainment purposes, but are there any other meaningful reasons for writing an entire OS in assembler?

      Today, not that much apart from looking cool. Not a lot of programmers know assembly that well anymore so writing a non-trivial operating system completely with it is definitely something to put on the resume. It used to be necessary to use assembly get good performance, but since the late 80's and early 90's it's not really necessary anymore on personal computers.

    5. Re: Really? by OzPeter · · Score: 4, Funny

      I can tell you weren't alive during the Reagan administration.

      Was anyone?

      --
      I am Slashdot. Are you Slashdot as well?
    6. Re:Really? by uradu · · Score: 1

      You clearly don't speak assembly--or funny ;)

    7. Re: Really? by Grishnakh · · Score: 2

      The problem with this is that smaller, cheaper, and less power-hungry hardware these days has an entirely different architecture, called "ARM". (I think MIPS is also alive and kicking, being used in many embedded applications as well as ARM.) This shows why writing stuff in assembly is generally a bad idea: you can't port it to another architecture.

    8. Re:Really? by Anonymous Coward · · Score: 3, Informative

      QNX fit a realtime OS with GUI, file browser, web browser, notepad and demos on a 1.44MB diskette.

      http://toastytech.com/guis/qnxdemo.html

    9. Re:Really? by narcc · · Score: 4, Insightful

      Seriously? There's absolutely nothing suspicious about the AC's claim. Countless hobbyists have done the same thing.

      I know the younger crowd seems to think assembly seems a bit like incomprehensible magic, but it's really not.

    10. Re: Really? by mjm1231 · · Score: 2

      From what I remember, Ronald Reagan wasn't.

      --
      Ideology: A tool used primarily to avoid the bother of thinking.
    11. Re: Really? by Langalf · · Score: 1

      No.

    12. Re: Really? by cyberchondriac · · Score: 1

      Hey, it wasn't that long ago!

      --

      Look back up at my post, now look back down, you're on the Internet. Now look back up. I'm a signature.
    13. Re: Really? by __aaclcg7560 · · Score: 2

      Besides Max Headroom, no.

    14. Re:Really? by Anrego · · Score: 1

      Indeed. I think it's a phase a lot of programmers go through.

      Mine never made it out of Bochs. I had an insanely basic command line, but it didn't handle scrolling... once you got to the end the screen cleared and it started back up at the top.

      I don't have the code, but you don't have to search too hard on the net to find hundreds of little hobby operating systems people have written.

    15. Re: Really? by tnk1 · · Score: 1

      It may be smaller, but is it that much faster? C compilers have some pretty darn good optimizations these days.

      I think its a cool project though. It's nice to see people coding tightly in a general atmosphere of prevalent bloatware. If only to show it can be done, and to demonstrate the advantages.

    16. Re: Really? by Nyder · · Score: 1

      I can tell you weren't alive during the Reagan administration.

      Was anyone?

      I'm pretty sure mentally Reagan wasn't even alive during his administration.

      --
      Be seeing you...
    17. Re: Really? by Cramer · · Score: 1

      Actually, you can, but it's certainly a lot more work. But then, porting AN OS to a different processor usually involves more work than changing the -march option to gcc. (i.e. coding to handle a completely different platform. It's not like you can pop the i7 out of your desktop and replace it with an ARM or MIPS processor.)

    18. Re: Really? by Cramer · · Score: 1

      It certainly is "still necessary". However, processors have gotten fast enough that people don't notice how horrible their OS and applications actually are. Compilers (read: gcc) have gotten *worse*, not better because there are so few people who really understand assembly, or the complexities of modern processors.

    19. Re: Really? by Grishnakh · · Score: 1

      No, with assembly you have to rewrite everything for the new architecture, because it's so different. x86 assembly does not resemble ARM assembly at all.

      When the OS is written in C, you don't have this problem. Just look at the Linux kernel. Only small bits of it are in assembly, which of course are CPU- and arch-specific, but the rest is fully portable. Obviously, this means not making any assumptions along the way, like that your CPU is only 32 bits, but this isn't that hard to do. Recompiling the Linux kernel for an all-new CPU is not hard, you just have to change the arch-specific low-level things and you're done; all the scheduler, device driver, etc. code stays the same.

    20. Re: Really? by cusco · · Score: 1

      I don't think personal computers are the target for an OS like this, embedded hardware like access control panels, refinery crackers, antenna controllers and the like would be. A lot of that stuff still runs on TRON, this would probably be a replacement for that kind of stuff.

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
    21. Re:Really? by ajedgar · · Score: 2

      That is true. Microkernel, POSIX Filesystem, TCP/IP stack, GUI, auto hardware detection, web browser and web server, terminal, command line tools, demo apps including 3D vector graphics. And it was all written in C/C++ except for about 200 lines in the kernel where Dan Dodge (co-founder and CTO) found he could do task switching faster with hand coded assembly instead of using TSS. We studied the output of the Watcom C/C++ compiler with full optimization enabled and register passing, there's no way a human could make tighter code, and that was 25 years ago.

      As others have questioned I can't think of any other reason why you would want to right an entire OS in assembly language except as an academic exercise. QNX is tiny and portable, it currently runs on x86, ARM, PPC, and MIPS.

    22. Re:Really? by unixisc · · Score: 1

      So do they support the multiple cores of say, an i3? What sort of UI does the OS use - something like Windows?

    23. Re:Really? by unixisc · · Score: 1

      Isn't cheating allowed? Write the original OS in C, then compile, and then work on the resultant assembly code, first on optimizing, and then on adding features?

    24. Re:Really? by wbr1 · · Score: 1

      it was a joke. nop is an assembly instruction.

      --
      Silence is a state of mime.
    25. Re:Really? by perpenso · · Score: 1

      Isn't cheating allowed? Write the original OS in C, then compile, and then work on the resultant assembly code, first on optimizing, and then on adding features?

      Writing C code and playing with the generated assembly might be OK for a day or two's work in learning assembly on a particular architecture. However for any half serious project its probably a terrible way to get started.

      Assembly programming is not about trying to out code generate a compiler. Its about thinking of implementations that are not restricted by the semantics of a particular high level language, of being able to leverage knowledge that can not be given to the compiler, of thinking in terms of the actual hardware architecture.

    26. Re:Really? by ruir · · Score: 1

      Indeed. I had fun writing assembly code that protected the DOs partition and obfuscated the MBR upon boot unless you typed the correct password. Or having fun with mates, intercepting the writing calls to the floppy disk and encoding everything. Here, lets write this floppy disk for you to take some files. Also wrote a virtual floppy disk in RAM. Heck, one of my first assembly programs in the PC was writing an emulation of mouse via keyboard. Gave it to some jackass friends that I do not know why in earth, changed my name to Electronic arts as it was being used to play with Deluxe Paint. My final project coursework was a Spectrum Z80 emulation, and had a companion DOS program that read software on tape via SoundBlaster or the parallel port. http://ruka12.tripod.com/wspec...

    27. Re: Really? by Grishnakh · · Score: 1

      You'll get lousy performance since the translated code isn't written specifically for the new CPU. The whole reason for writing in assembly is to optimize the code for the CPU hardware.

    28. Re:Really? by Ulric · · Score: 1

      Try to compile an OS with a C compiler and see if it fits on a floppy...

      Here's my old "Ulric's Router Construction Kit", a single-floppy Linux distribution. Of course, Linux is an OS compiled with a C compiler. At the time there were a bunch of such mini-distributions, I'm not so sure it would be possible today. http://siag.nu/urck/

    29. Re:Really? by Ihlosi · · Score: 1
      Try to compile an OS with a C compiler and see if it fits on a floppy...

      8", 5.25" or 3.5"?

    30. Re:Really? by rubycodez · · Score: 1

      I've been doing systems / kernel coding for over three decades on mainframe (what'd you call Z/VM and Z/OS now), VMS, Unix, BSD ....bring it on

    31. Re:Really? by rubycodez · · Score: 1

      I've had to do it for graduate course (on a Vax of all things); I just what to see if AC is blowing smoke

    32. Re:Really? by narcc · · Score: 1

      I used to tutor VAX assembly ages ago. It was a nice system. Be thankful that it wasn't x86.

       

  4. Floppy disk? by Anonymous Coward · · Score: 1

    It fits on a floppy disk? We are in 2015, right? What is a 'floppy disk'?

    1. Re:Floppy disk? by camperdave · · Score: 5, Funny

      It fits on a floppy disk? We are in 2015, right? What is a 'floppy disk'?

      It's an object lesson in using pure assembly. By the time you get anything useful done, technology has moved on.

      --
      When our name is on the back of your car, we're behind you all the way!
    2. Re:Floppy disk? by perpenso · · Score: 4, Interesting

      It's an object lesson in using pure assembly. By the time you get anything useful done, technology has moved on.

      Not really. I have some computational code that I wrote in assembly 4 Pentium architectures ago. Every new architecture I run it against the C implementation, freshly recompiled with a current compiler. The assembly is still faster given all the hardware and compiler improvements. Now the performance improvement is getting much smaller but it is still a win.

    3. Re:Floppy disk? by gnupun · · Score: 1

      Maybe it takes 10 times longer for the 2-3x performance gain. But with decent apps, it could beat Windows, Linux, OS X, BSD etc in the performance game. In case you haven't noticed, operating systems have stagnated... there haven't been major advances in OS X or Windows for over a decade.

    4. Re:Floppy disk? by Lunix+Nutcase · · Score: 3, Insightful

      And you're assembly is probably easy to beat with even pretty crappy SSE2 code.

    5. Re:Floppy disk? by Lunix+Nutcase · · Score: 1, Insightful

      Damnit, yes it was supposed to be *your*. Typed faster than thinking.

    6. Re:Floppy disk? by mpercy · · Score: 1

      For me, when I do a any assembly it is writing SSE cores for algorithms. So pretty crappy SSE2 code wouldn't usually beat it.

    7. Re:Floppy disk? by Lunix+Nutcase · · Score: 1

      The assembly barely wins if I update it every generation with the latest improvements in SIMD instructions.

      Then you're doing something horribly wrong and causing all sorts of stalls in the pipeline.

      Otherwise, the unchanged c code wins ever since autovectorization has been implemented decently.

      Well since autovectorization is still mostly shit this time has yet to arrive. If you think autovectorization is so great, take x264 and compile it with this mythical compiler with all its fancy autovectorization but without any of the assembly optimization. There's no way in hell any compiler is going to beat the hand-written SIMD.

    8. Re:Floppy disk? by rubycodez · · Score: 2

      No NT is not VMS, but common architect and core developers make for many shared concepts: http://windowsitpro.com/window...

    9. Re:Floppy disk? by Lunix+Nutcase · · Score: 1

      but without any of the assembly optimization

      And by this I mean disabling x264's handwritten assembly optimizations.

    10. Re:Floppy disk? by Grishnakh · · Score: 1

      there haven't been major advances in OS X or Windows for over a decade.

      That's because the field has become mature, and there's little improvement to be made. For kernel-level and system-level stuff, all these concepts were mostly invented ages ago. Even the UI stuff was pretty stable by the early 2000s. So now some groups are trying to reinvent the wheel with all-new UI paradigms, as seen with Gnome3 and Windows' Metro UI, usually by trying to tie mobile and desktop UIs together, and the results have been horrifically bad.

      Maturity is something we see in most technological fields: there's a whole lot of innovation early on, then people settle on one or two standard ways of doing things, then they stick with that for a long time, only making very small incremental improvements. Just look at aviation: they invented all kinds of weird-looking aircraft in the first few decades there, but what changes have there been to aircraft in the last 40 years or so? It's all been in the electronics, navigation, etc., not in the aerodynamics. Airplanes look almost exactly like they did 50 years ago, but with some relatively minor optimizations. Same goes for, say, laundry machines. A modern washing machine isn't much different from one 40 years ago, but now it has electronics which allow it to be more efficient with water and power and do a better job washing, but the overall design is pretty much the same, with two basic designs: a vertical-axis tub with an agitator, or a horizontal-axis tub (originally much more popular in Europe, but has gained popularity in the US in the past 15 years).

    11. Re:Floppy disk? by Lunix+Nutcase · · Score: 1

      Then your software must be only using pretty trivial algorithms. Again, if you think autovectorization is so great, take x264 and disable it's hand-written SIMD and compile it with your compiler of choice. There's no way the compiler will even get within 2x of x264's SIMD.

    12. Re:Floppy disk? by Lunix+Nutcase · · Score: 1

      And to add, if C compilers were good enough at autovectorization there would be no reason for assembly intrinsics to exist nor for compiler/hardware vendors to provide libraries that are highly optimized with assemby for performance. Plain C code should be plenty fine.

    13. Re:Floppy disk? by EmeraldBot · · Score: 1

      It fits on a floppy disk? We are in 2015, right? What is a 'floppy disk'?

      They started writing this back in like 2000, when people still used them. Besides, it's just a hobby project: if they want to write it as a challenge, who cares? Personally, I think it's quite impressive and I commend them for their work.

      --
      "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
    14. Re:Floppy disk? by Lunix+Nutcase · · Score: 1

      Some intrisics make additional assumptions that a compiler cannot know about generic operations, whereas the programmer knows more about what is actually being done. But these are for specific command and operations that are not inherent in C, and you can still end up with C code with occasional additional function calls. YMMV, as some compilers seem to suck at using intrinsics much more so than others.

      Yes, I know all this. I posted it above. The point, though, is that compilers still suck at SIMD. Otherwise intrinsics wouldn't need to exist in the first place. Intrinsics are mostly there so people can coax the compiler into being less shitty.

    15. Re:Floppy disk? by sonicmerlin · · Score: 1

      I don't know much about OS's, but I feel that iOS's UI thread priority system was pretty revolutionary. It lets you run an extremely responsive OS on very underpowered hardware.

    16. Re:Floppy disk? by Khyber · · Score: 1

      http://en.wikipedia.org/wiki/S...

      Well, not BY NAME. But it does exist.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
  5. So give it another 15 years... by 93+Escort+Wagon · · Score: 4, Funny

    And they'll have something that'd be marginally useable today.

    --
    #DeleteChrome
    1. Re:So give it another 15 years... by fustakrakich · · Score: 1

      If it can run Doom, what else do you need? I guess we can call it 'DoomOS'

      --
      “He’s not deformed, he’s just drunk!”
    2. Re:So give it another 15 years... by Daniel+Hoffmann · · Score: 4, Funny

      Well if it ran Emacs it would be able to do anything anyone could possibly want.

    3. Re:So give it another 15 years... by zieroh · · Score: 5, Funny

      Except edit text.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    4. Re:So give it another 15 years... by Anonymous Coward · · Score: 1

      I'm sure you could find a way to run vim in emacs.

    5. Re:So give it another 15 years... by Rockoon · · Score: 1

      Emacs doesnt fit on a floppy.

      --
      "His name was James Damore."
    6. Re:So give it another 15 years... by gwolf · · Score: 1

      The real test for computability is to demonstrate that a Turing machine is Emacs-complete.

      Sadly, it still requires a chord-enabled keyboard, which the traditional tape-based Turing machine does not implement.

    7. Re:So give it another 15 years... by Anonymous Coward · · Score: 1

      Except edit text.

      That's what vi is for.

    8. Re:So give it another 15 years... by belthize · · Score: 3, Funny

      If you use a small enough font it will.

    9. Re:So give it another 15 years... by Em+Adespoton · · Score: 1

      Well if it ran Emacs it would be able to do anything anyone could possibly want.

      If it runs emacs, does it contain some sort of hypervisor?

      What would be more interesting is getting EMACS to boot off bare metal, and be recompiled in pure asm. Let's see vi do THAT!

  6. It can run Doom by Spy+Handler · · Score: 2

    and their website looks like it's from 1995 as well!

    1. Re:It can run Doom by perpenso · · Score: 5, Funny

      and their website looks like it's from 1995 as well!

      So its not bloated and it is fast too? Seems appropriate. :-)

    2. Re:It can run Doom by Lunix+Nutcase · · Score: 1

      For a page so spartan, it shouldn't have needed 3 seconds to load on a 100mbit connection.

    3. Re:It can run Doom by perpenso · · Score: 1

      For a page so spartan, it shouldn't have needed 3 seconds to load on a 100mbit connection.

      Well it is hosting its own web page and running on a Pentium MMX 200. :-)

    4. Re:It can run Doom by smooth+wombat · · Score: 5, Insightful

      Finally, a web site which doesn't try to overrun your browser with unnecessary rotating images and the latest and greatest shiny because some web designer said, "Why not?"

      In other words, a web site which is useful.

      --
      We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
    5. Re:It can run Doom by Lunix+Nutcase · · Score: 1

      And yet Slashdot loads faster even with all its shit coding.

    6. Re:It can run Doom by EmeraldBot · · Score: 1

      And yet Slashdot loads faster even with all its shit coding.

      Slashdot is not running off someone's spare Pentium box clocking in at 200 MHz.

      Not anymore.

      --
      "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
    7. Re:It can run Doom by Dogtanian · · Score: 1

      and their website looks like it's from 1995 as well!

      Finally, a web site which doesn't try to overrun your browser with unnecessary rotating images and the latest and greatest shiny because some web designer said, "Why not?"

      Which is ironic, because even in the mid-90s (i.e. almost as soon as the web had become popular), people were already slapping crappy, pixelated pre-rendered GIF animations of all manner of spinning crap onto their "home pages"!

      Please see this historical documentary of the phenomenon.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    8. Re:It can run Doom by RavenLrD20k · · Score: 1

      You mean to tell me that a site hosted on a Pentium MMX 200 can make it to 180+ comments on /.'s front page and not turn itself into a molten glob of burning white hot metal? If they're running their site on MenuetOS, I'm sold!

    9. Re:It can run Doom by zieroh · · Score: 3, Insightful

      and their website looks like it's from 1995 as well!

      So its not bloated and it is fast too? Seems appropriate. :-)

      I can state with authority that in 1995, there were exactly zero fast websites. Of this I am 100% certain.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    10. Re:It can run Doom by itzly · · Score: 1

      It doesn't take much CPU power to saturate 100Mbps with static pages.

    11. Re: It can run Doom by rickb928 · · Score: 1

      Really? I was reaching fast web sites in 1995.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    12. Re:It can run Doom by NormalVisual · · Score: 1

      Which is ironic, because even in the mid-90s (i.e. almost as soon as the web had become popular), people were already slapping crappy, pixelated pre-rendered GIF animations of all manner of spinning crap onto their "home pages"!

      Don't forget the flashing text, too!

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    13. Re:It can run Doom by goarilla · · Score: 1

      Yes, Marque and blink tags all around, with a pink background and hosted on geocities' or angelfire servers.

  7. Looks great for industrial by spiritplumber · · Score: 2

    if the timing is that tight, it would allow using secondhand PCs instead of ladder logic controllers.

    --
    Liberty - Security - Laziness - Pick any two.
    1. Re:Looks great for industrial by perpenso · · Score: 1

      if the timing is that tight, it would allow using secondhand PCs instead of ladder logic controllers.

      Think high performance computing too . An entire OS that takes a small fraction of the CPU Cache.

    2. Re:Looks great for industrial by phantomfive · · Score: 1

      A ladder logic controller costs $100. I can't imagine going through the troubleshooting of broken components on second-hand PCs only to save $100.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Looks great for industrial by itzly · · Score: 5, Insightful

      Or a $10 ARM chip, programmed in C.

    4. Re:Looks great for industrial by itzly · · Score: 1

      Doesn't help if you spend 99.9% of the time in user space, dealing with TBs of data on a disk.

    5. Re:Looks great for industrial by tibit · · Score: 1

      Given that Beckhoff's TwinCAT 2 and 3 - both free downloads - allow just that, and much more, I don't really see the point. Heck, anything that uses the realtime CODESYS stack allows you to do that, it's just that I know of TwinCAT. All those old Dell machines you may have hanging around can be great PLCs. Heck, the PLC (61131) libraries include functions that access hardware ports directly from realtime code, so you can bit-bang your parallel port with 1-2 microsecond jitter, if you wish so.

      Best thing? It runs on top of standard Windows (XP or 7).

      IOW, if you value your time, you won't care about such hacks. If you really want to run 61131 languages on bare metal, just get your CODESYS license, use an existing BSP or write your own, and you'll be set.

      --
      A successful API design takes a mixture of software design and pedagogy.
    6. Re:Looks great for industrial by tibit · · Score: 1

      There's more that I forgot to add: there are tons of EtherCat-based I/O available for cheap on eBay, so as long as your old Dell box has an Intel ethernet adapter, or you add one to it, you can have distributed, hard-realtime, fast I/O all over the place - no need for stupid parallel port bits if you can buy a bus coupler and dozens of I/O modules for under $100. And you can easily do realtime distributed variables between your hosts, if you have more than one host, etc. And it's all cheap.

      --
      A successful API design takes a mixture of software design and pedagogy.
    7. Re:Looks great for industrial by tibit · · Score: 1

      nobody uses PCs for hard RTOS

      There are synchronized spindle paper machines/offset printers, running on top of Windows and CODESYS, where if the realtime cycle is late twice in a row, the whole thing throws the emergency brakes on, and you have lots of cleaning-up to do, and costly downtime. And, frankly said, it just doesn't happen, not because of the BIOS or any other monsters are in your closet. So there.

      --
      A successful API design takes a mixture of software design and pedagogy.
    8. Re:Looks great for industrial by itzly · · Score: 1

      Rotating spindles may be real time, but probably not very fast, meaning that you have plenty of slack.

    9. Re:Looks great for industrial by Khyber · · Score: 1

      "afaict, menuetos is not a real-time OS"

      If you can't be bothered to read the first sentence off the MenuetOS main page, you're retarded.

      "MenuetOS is a pre-emptive, real-time and multiprocessor Operating System in development for the PC written entirely in 32/64 bit assembly language."

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    10. Re:Looks great for industrial by tibit · · Score: 1

      I do it on modern hardware, in production, on a 125us update cycle in the velocity loop, using off-the-shelf everything and old Dell PCs for prototyping, and it works, so perhaps you're doing something wrong.

      --
      A successful API design takes a mixture of software design and pedagogy.
  8. Not Open by Zontar+The+Mindless · · Score: 3, Insightful

    http://www.menuetos.net/m64l.t...

    I might play with it, but if I can't use it for work, play is all it'll be.

    --
    Il n'y a pas de Planet B.
    1. Re:Not Open by quantaman · · Score: 2

      http://www.menuetos.net/m64l.t...

      I might play with it, but if I can't use it for work, play is all it'll be.

      I wonder what commercial uses they're thinking of.

      Presumably they're thinking of some super-low footprint embedded devices, but still this seems like a lot more of a fun project than a viable product.

      --
      I stole this Sig
    2. Re:Not Open by jones_supa · · Score: 4, Informative

      Not Open

      Yeah, KolibriOS is an open fork of MenuetOS. It was forked when Menuet was still open source. Although Kolibri hasn't been updated for almost a year.

      Not sure why they want to keep the genie in the bottle. Open source would be perfect for this kind of hobby project.

    3. Re:Not Open by sexconker · · Score: 2

      But corporations are people, so...

    4. Re:Not Open by grimmjeeper · · Score: 1

      So is processing power.

    5. Re:Not Open by grimmjeeper · · Score: 1

      And that's an issue with modern processors... how?

    6. Re:Not Open by bluefoxlucid · · Score: 4, Insightful

      The problem with this thinking is memory is not cheap. Memory has grown, and program memory usage has grown linearly with memory, or greater. The problem is when you run two programs at once: the combined working set is bigger than RAM, and has grown linearly as well. Where you may have had 32MB of RAM and 48MB swapping on and off disk, now you have 16GB of RAM and you're swapping around 10GB of data; but swapping is not now 500 times faster, and so the bloat has slowed the machine.

      The growth of the working set means the growth of memory controller latency, the need for RAS and CAS selects on different rows requiring precharges taking up 200 FSB cycles on CPUs which now have multipliers of 10 or 15 instead of 1.5 or 2. Random memory access may now have delays of 3000 cycles, causing an instruction requiring 4 cycles to execute to now take 750 times as long; your typical CAS selection may in fact require 7, 10, even 21 cycles now, multiplied by 10 or 15, so as to take 300 cycles of stall. Modern CPUs are made and broken by their CPU cache efficiency and their predictive execution, and multi-tasking flushes those caches and destroys performance.

      Computers have grown to manage immense spans of cheap resources, yet they have not increased their capability to manage resources nearly as fast as they have increased those resources.

    7. Re:Not Open by bluefoxlucid · · Score: 5, Interesting

      I wonder what use they're thinking at all. Minix 3 is a step forward: were we to port Linux interfaces for udev, kevents, and such onto Minix, we could drop a Linux userland onto it wholesale, with systemd and all, and benefit from a core operating system which lends itself to drastic rearchitecting.

      Consider that running Minix as an OS-level virtualizer--OpenVZ, LXC--is a trivial task, one which requires only providing a different network server and different security features (e.g. users and groups, and their flow through the file system driver and such), largely doable on the existing code base. You could even run Xen on top of Minix with a minor tweak.

      Consider that Minix is a collection of services which may be extended by adding other services. It is interfaces and features, not tightly-bonded kernel code. The shape and form of the OS can be changed without commitment: to add services to handle Linux services is not to change Minix, for you may simply not use those services; you could instead add services to make Minix pretend to be OpenBSD. You could replace its threading model or scheduler by swapping out a service, providing a system that uses the advanced features of DragonflyBSD.

      There, again, we see a step forward: DragonflyBSD, with its non-locking semaphores, its highly-efficient threading model, its ability to freeze an application and thaw it after a reboot, to checkpoint running applications--a feature Minix does not possess, but could simply by adding a new kernel service--and even to move applications between machines. Extending some of these things would be to bring the features of OpenMOSIX: check pointing and running an application on a different boot cycle or different machine brings the magic of scheduling applications across a cluster of machines acting as one.

      Why, then, do we persist in creating these tinker toys, instead of extending, cannibalizing, or imitating those things which show real progress? Why has Minix not embraced the great strides forward made by Linux and integrated its interfaces so as to integrate its user space in distribution? Why has Linux not subsumed the threading model of Dragonfly BSD? Why has someone chosen to create an OS to no purpose, rather than to create a unified system carrying and integrating the lessons from all prior systems?

    8. Re:Not Open by gnupun · · Score: 1

      Memory is too cheap to write stuff in assembler.

      But every time RAM capacity increases and CPU speed increases, the OS gets more bloated and your apps' performance has only marginally increased in 5 years. Hardware improvements should go to the apps, and not get eaten by the OS.

    9. Re:Not Open by jones_supa · · Score: 1

      Where?

    10. Re:Not Open by itzly · · Score: 1

      Memory has grown, and program memory usage has grown linearly with memory, or greater.

      Because people want more features, not because they were written in a higher language.

      now you have 16GB of RAM and you're swapping around 10GB of data; but swapping is not now 500 times faster, and so the bloat has slowed the machine.

      I have 8GB of RAM in my PC, and 2GB of swap, none of which is currently used. And compared to my 486 with 16MB, everything is a lot faster, despite the bloat.

    11. Re:Not Open by rubycodez · · Score: 1

      It's not free software (as in freedom)

    12. Re: Not Open by grimmjeeper · · Score: 1

      Back in the days of the Pentium 3 or 4. Again, I ask what speed concern would you have with one of those processors? I mean, sure, if you were dealing with an 8086 or something like that speed is an issue. But most tasks run just fine on a Pentium grade processor so long as you don't have a GUI filled with bloat.

    13. Re:Not Open by itzly · · Score: 1

      I don't know what you're doing, but I rarely see the OS use more than 1% of the CPU.

    14. Re:Not Open by bluefoxlucid · · Score: 1

      I have like 24GB on my computer and it runs a VM consuming some 2GB of RAM. I had 16GB, but was always 900-1400MB into swap. At times, my computer would hang for 20 minutes, until Linux kicked in the OOM killer; it would swap like fuck in the interim. Modern web browsers are kind of asinine; run Chrome and let Flash play a video on a news site or YouTube or whatnot, and you'll find that the Flash Player Plug-In thread runs in 200MB of RAM, and then 600, and then over a gigabyte eventually; meanwhile something like Facebook can eat 300-500MB on its own. Firefox somehow consumes several gigabytes. Often my e-mail client is bigger than the fucking VM.

    15. Re:Not Open by phantomfive · · Score: 1

      I wonder what use they're thinking at all.

      They see it as a highly efficient, waste-no-resources OS. Check out the memory footprint of Linux sometime.

      Also, there are so many people building their own OS that there's a wiki devoted to it. It's fun.

      --
      "First they came for the slanderers and i said nothing."
    16. Re:Not Open by Desiree+Hindenburg · · Score: 1

      Well if the entire OS is written in honest assembly (not some kind of macro-assembler), then the OS is the code, just run it through a disassembler. LOL

    17. Re:Not Open by itzly · · Score: 1

      But yet, you aren't using MenuetOS instead. And that's because it doesn't support the features you care about. And if somebody were to add all those features, it would take many years, and you'd end up with the same shit, plus some more bugs and memory leaks.

    18. Re:Not Open by bluefoxlucid · · Score: 1

      My applications eat all of that; if I were to use a different OS, I'd still have Thunderbird on top of it eating gigabytes of RAM, and Chrome or Firefox eating gigabytes of RAM. Linux eats 2MB of my RAM, and the rest of the hundreds of MB it eats are for managing all of the shit applications need--the kernel is keeping small bits of data around, a few hundred bytes to describe each task or thread, a few dozen bytes to describe cached disk pages, and so forth. Any OS will need to do all that, and the application will be the same.

    19. Re:Not Open by tibit · · Score: 1

      There are other problems in the architecture of this, where the fact that they use assembly simply doesn't help. When you're talking of speed and power efficiency, you need a good scheduler, timer coalescence, event-driven non-blocking code, etc. Having a judiciously done architecture in C could make it much faster than Menuet is. The assembly circlejerk doesn't make much sense, at least not to me when I write low-level, bare-metal C almost every day. You could generate almost identical assembly from a modern C compiler - it's all about architecting the same. I only write assembly when there's no way to coax a C compiler into producing the code that's fast enough, and even that only makes sense for backwards architectures that have old C compilers.

      --
      A successful API design takes a mixture of software design and pedagogy.
    20. Re:Not Open by bluefoxlucid · · Score: 4, Interesting

      Check out the memory footprint of Linux sometime.

      Two megabytes. Four, really, when using a single 4MB huge page to allocate the entire kernel in one go. A few bytes to maintain each task's information, each cached disk page, each handle held by an application.

      Linux uses so little memory you can run it on a microcontroller with a megabyte of RAM. When you build up all the services needed to supply network management, graphical systems, user log-on, audio mixing, and so forth, you get maybe 100MB. When you then run a Web browser and go to a few open tabs, you need a gigabyte or three.

    21. Re:Not Open by tibit · · Score: 4, Informative

      That's the whole point. It's not open source. The 32 bit kernel is old and not developed anymore.

      --
      A successful API design takes a mixture of software design and pedagogy.
    22. Re:Not Open by itzly · · Score: 1

      Yes, so we agree there's no point of writing the OS in assembly. And nobody in their right mind is going to write a modern standards compliant web browser in assembly. And it wouldn't even help, because it would still have to run bloated javascript.

    23. Re:Not Open by itzly · · Score: 1

      Exactly. And when you have a big filesystem implementation in assembler, and you notice it's kinda slow because of some linear searches, you won't be tempted to rip out all the linear stuff, and replace it with a faster B-tree implementation, because it's too much work. Whereas in C, that would be a lot easier to do.

    24. Re:Not Open by pghmike4 · · Score: 1

      How much memory are you saving by writing in assembly? Pretty close to none, since all you're saving is the text (code) segment space, even assuming you write code better in ASM than C++. For all intents and purposes, all of your memory is data, not code.

    25. Re: Not Open by EmeraldBot · · Score: 1

      Back in the days of the Pentium 3 or 4. Again, I ask what speed concern would you have with one of those processors? I mean, sure, if you were dealing with an 8086 or something like that speed is an issue. But most tasks run just fine on a Pentium grade processor so long as you don't have a GUI filled with bloat.

      One, they explicitly wanted the ability to use a GUI along with the ability to do things like watch movies and browse the internet. Linux is not going to cut it here.

      Two, it's a pet hobby. Next time you make a model airplane, I'll be sure to point out that it's a waste of time because it will never actually fly.

      --
      "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
    26. Re:Not Open by RavenLrD20k · · Score: 1

      If he uses Hibernation either a swap partition or a swap file (if you have uswsusp installed) is a requirement. The reason it's usually recommended that swap partitions are to be at least as big as your RAM (more often I hear twice as large as available RAM) is so that when the system is being placed into hibernation, the entire contents and state of RAM can be written to disk before the system powers down.

    27. Re:Not Open by Khyber · · Score: 1

      "And nobody in their right mind is going to write a modern standards compliant web browser in assembly."

      Better look again. Kolibri has one and it works just fine last I checked.

      "And it wouldn't even help, because it would still have to run bloated javascript."

      Yea, no. Works just fine on my auction website. No Javascript needed.

      You talk but you don't seem to have the experience.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
  9. 30 seconds of music from iTunes. by perpenso · · Score: 5, Funny

    It fits on a floppy disk? We are in 2015, right? What is a 'floppy disk'?

    Its a unit of storage space measurement equivalent to about 30 seconds of music from iTunes.

    1. Re:30 seconds of music from iTunes. by ArmoredDragon · · Score: 1

      You forgot to convert it to MIDI first, which any good hacker can do.

    2. Re:30 seconds of music from iTunes. by future+assassin · · Score: 3, Funny

      Its a disk invented by AOL and promoted by them with free internet offer on the disk.

      --
      by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
    3. Re:30 seconds of music from iTunes. by Anonymous Coward · · Score: 3, Funny

      Definition of a "good" hacker; One who knows how to convert Jimi Hendrix to MIDI format, but doesn't.

    4. Re:30 seconds of music from iTunes. by Greystripe · · Score: 1

      Approximately 1/7millionths of a Library of Congress.

  10. What next? by Anonymous Coward · · Score: 5, Funny

    Now that they've got this thing working, what would be really cool is if they could come up with a way of getting it to run on different processor architectures, in case x86 loses out to ARM in the long run.

    I'm thinking maybe they could write some sort of abstraction layer whereby the instructions are originally written in some sort of higher level format, which could then be automatically turned into machine code for different hardware using a special program. You could do all sorts of things with that kind of system. I'm surprised nobody's thought of it before, actually.

    1. Re:What next? by grimmjeeper · · Score: 4, Funny

      Now that they've got this thing working, what would be really cool is if they could come up with a way of getting it to run on different processor architectures, in case x86 loses out to ARM in the long run.

      All they have to do is translate the part of the OS written in x86 assembler...

    2. Re:What next? by home-electro.com · · Score: 1

      You mean, start over and rewrite everything they've done so far in ARM assembler?

    3. Re:What next? by Lunix+Nutcase · · Score: 1

      Did you bother reading the whole post? Apparently not since the joke whooshed over your head.

    4. Re:What next? by lister+king+of+smeg · · Score: 1

      You mean, start over and rewrite everything they've done so far in ARM assembler?

      I wonder if you could do something like have LLVM Clang compile it to byte-code and compile the byte-code to ARM binaries?...

      --
      ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
    5. Re:What next? by rubycodez · · Score: 1

      and if they use keypunch it'll fit on a punched card

    6. Re:What next? by suutar · · Score: 2

      I'm not sure he's the one who got whooshed :)

    7. Re:What next? by grimmjeeper · · Score: 1

      I suggest you make your joke funnier so you don't get heckled the second time. ;)

    8. Re:What next? by canadiannomad · · Score: 1

      I was thinking it would be cool to just write it all in LLVM's Intermediate Representation(IR) Language... Extremely low level, and could be optimized and converted to machine code for different architectures directly.

      --
      Hmm, the humour and sarcasm seem to have been be lost on you.
  11. Re:Uh by Anonymous Coward · · Score: 1

    It's not based on DOS architecture or any other operating system.

  12. VENOM bug exploits floppy drivers in KVM, etc. by billstewart · · Score: 1

    A Floppy Disk is that device you almost never bother using, but which gets added to your virtual machines by default, at least under VMware (haven't paid attention on OpenStack.) The recently-discovered VENOM vulnerability exploits bugs in the floppy drivers, which have been around for a decade, to let a process on a virtual machine break out into the hypervisor and maybe mess with other virtual machines.

    So it's especially timely to have a convenient new platform for using floppies!

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  13. Remarkable by home-electro.com · · Score: 1

    Remarkable, in the same way that hand made Swiss watches are remarkable. Really awesome, but pointless at the same time.

    1. Re:Remarkable by Virtucon · · Score: 1

      Really? I'll remember that when people's IWatches are breaking and my old Rolex and Omegas keep ticking. Just because something may not be as technically advanced as something else doesn't mean it's obsolete.

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    2. Re:Remarkable by home-electro.com · · Score: 1

      Simple electronic Casio is basically eternal and much more precise than your Omega. Omega is not even that awesome, I was referring to like Patek Philippe. I can buy new watch every month for the rest of my life for the price of one of those.

    3. Re:Remarkable by Virtucon · · Score: 1

      The Patek is nice but you'll get your wrist sliced off wearing it on the subway. ;-)

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    4. Re:Remarkable by manquer · · Score: 1

      If you owned a Patek, you won't be riding the subway in the first place :P

    5. Re:Remarkable by Virtucon · · Score: 1

      hey, even rich people have some place to be.

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    6. Re:Remarkable by Khyber · · Score: 1

      That's what a chauffeur is for.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
  14. Nostalgia by Tablizer · · Score: 1

    Fixed-pitch fonts, I miss those. They made UI development so much easier because the sizing was far more predictable than variable pitched fonts.

    True, it's esthetically ugly, but when you want small, quick, and cheap; it's the way to go.

    1. Re:Nostalgia by flargleblarg · · Score: 1

      Fixed-pitch fonts, I miss those. They made UI development so much easier because the sizing was far more predictable than variable pitched fonts.

      Not if you have to support translation of your UI to other languages. :)

    2. Re:Nostalgia by Tablizer · · Score: 1

      In that case, you would be using the wrong tool for the job.

  15. Disappointing by bugs2squash · · Score: 2

    Assuming it is much faster than an equivalent system written in, say , C. I find it disappointing that hand crafted assembler should be so much faster than what compiler optimizations can achieve.

    --
    Nullius in verba
    1. Re:Disappointing by Anonymous Coward · · Score: 2, Insightful

      Never wrote any DSP code have you? It's trivially easy to beat compiler optimizations even with naive SIMD assembly.

    2. Re:Disappointing by Lunix+Nutcase · · Score: 1

      It's been a long time since I was able to "out-code" a C compiler.

      Do anything requiring SIMD to have any decent performance. Then it's pretty easy to beat C compilers since they are all pretty shit at vectorization. And thats even when following the arcane requirements of each compiler that the vendor says improves the chances that auto-vectorization can work which mostly don't work for anything more than trivial algorithms.

    3. Re:Disappointing by Tablizer · · Score: 1

      Maybe a C version could be as fast, but not as compact, per EXE size. Perhaps a compiler may "waste" some space as a trade-off for speed, whereas human-tuned assembler can more easily optimize both space and speed.

    4. Re:Disappointing by itzly · · Score: 1

      It's mostly faster because they left out all the things that were too hard in assembly.

    5. Re:Disappointing by tibit · · Score: 2

      It's not, and it doesn't run on tiny systems either. It requires ~300MB of RAM just to boot up. It's basically a hack done to stroke someone's fancy. It's not practical in any sense of the word. You could rewrite it in C and it would run just as fast. Its speed is mostly related to the architectural choices, and many of them are just plain wrong. Way too much of the API is blocking - that means that the internal architecture is broken, pretty much, and won't scale, and wastes power. It's basically a demonstration of a cargo cult approach to design: someone thinks that if only they do a ritual (assembly), it'll be fast.

      --
      A successful API design takes a mixture of software design and pedagogy.
  16. Entire OS in about 1/3 of i7 Cache by perpenso · · Score: 5, Insightful

    I'm not reallyd sure that I understand that point. To me, thst would sound reasonable for educstionsl Ãr entertainment purposes, but are there any other meaningful reasons for writing an entire OS in assembler?

    The entire OS would occupy about 1/3 of an Intel i7's cache. For ultra-high performance apps that might actually be useful.

    Of course that includes user land apps and such so the footprint of the OS itself would probably be far smaller.

    1. Re: Entire OS in about 1/3 of i7 Cache by bill_mcgonigle · · Score: 2

      yeah, and think of the lower-powered chips. If I can get an HTTPS server into cache at 10W TDP, a whole new class of apps becomes possible. How small can a Go runtime be?

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    2. Re:Entire OS in about 1/3 of i7 Cache by lgw · · Score: 5, Informative

      None of that follows from it being written in assembly.

      My first 5 years as a dev were spent working on a team that maintained an all-assembly OS, database, print server, and so on. Very fast, very small. But you can get all that in C, and a modern C compiler on full optimization produces object much faster than any sane, maintainable assembly source.

      It's a mindset issue, not a toolset issue. Actually using assembly is a great way to keep the right mindset throughout. Plus, learning to read assembly fluently, find bugs by glancing at core dumps, fix bugs with a sector editor to save an assembler pass when you're in a hurry, bugfix a running program in memory - all of that builds your coding muscles, even if it all a bit silly for a modern prod environment.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    3. Re: Entire OS in about 1/3 of i7 Cache by chuckugly · · Score: 3, Funny

      Yeah, imagine what you could do with the ARM port .... oh, wait a tick .....

    4. Re:Entire OS in about 1/3 of i7 Cache by LordLimecat · · Score: 1

      On the flipside for anything remotely complex like printing you would expect it to be riddled with bugs and about 5-10 years behind everyone else. Lacking subsystems means creating 3rd party apps for it will be "fun": sounds like a return to DOS days. Which I guess is good news for me, because I never got to experience them in their heyday, so I can see firsthand what instability looks like when you dont have OS provided APIs for things.

    5. Re: Entire OS in about 1/3 of i7 Cache by madbrain · · Score: 3, Informative

      Someone would have to be crazy enough to try to write an SSL & PKIX library fully in assembly to get that HTTPS server working.

      --
      -- Julien Pierre http://www.madbrain.com/blog
    6. Re:Entire OS in about 1/3 of i7 Cache by Gallefray · · Score: 1

      a modern C compiler on full optimization produces object much faster than any sane, maintainable assembly source.

      Do you have any sources on this? I did a quick google but nothing aside from anecdotes turned up (my google-fu is absolutely abysmal, though).

      From experience I know that a well-trained, well-weathered assembly hacker can generate code faster than the compiler. (The programmer who knows their code will produce much better code than a compiler.) But alas, that's still anecdotal.

      I read somewhere (Can't remember where :/) that the fastest assembly code produced to date was written by a human, not a computer; again, google returns nothing.

    7. Re:Entire OS in about 1/3 of i7 Cache by lgw · · Score: 5, Informative

      From experience I know that a well-trained, well-weathered assembly hacker can generate code faster than the compiler.

      This hasn't been true since instruction pipelining. And it hasn't been true for maintainable assembly source for abut 20 years.

      Quick, what's the fastest way to multiply an integer by 8? Did you answer "depends on the previous 20 instructions, but probably 3 adds separated by 3-4 instructions each"? There's just too much state to keep track of with which silicon is doing what for how long following each instruction.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    8. Re:Entire OS in about 1/3 of i7 Cache by NormalVisual · · Score: 2

      I read somewhere (Can't remember where :/) that the fastest assembly code produced to date was written by a human, not a computer; again, google returns nothing.

      Michael Abrash's ancient-but-awesome book, "The Zen of Graphics Programming", contains a chapter called "Heinlein's Crystal Ball, Spock's Brain, and the 9 Cycle Dare" that 's about Abrash's adventures in coming up with the fastest CPU-driven texture mapper he could write in hand-written assembly for his X-Sharp graphics library (he eventually ended up with 16 million texture-mapped pixels per second on a 90 MHz Pentium). Might that be what you're thinking of?

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    9. Re: Entire OS in about 1/3 of i7 Cache by lgw · · Score: 5, Informative

      Not a left shift?

      Depends - did you do a shift or multiply in the previous several instructions? When do you need the result? Do you need to add anything else soon, or is the adding silicon idle? Modern compilers actually keep track of all that. For sure, if you need to shift two values, doing each a different way is faster.

      The important stuff the coder can provide to help with optimization comes down to: avoid conditional branches, and emphasize locality of reference (I miss the days when a 256-byte lookup table was the fast answer to most bitwise questions).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    10. Re:Entire OS in about 1/3 of i7 Cache by lgw · · Score: 1

      R1 += R1
      R1 += R1
      R1 += R1

      With other stuff in between, of course. Never occurred to me as a fast approach till I saw it in the object code.

      Left shift can be faster or slower, depending on what else the silicon is up to in the near past and future. In my case, where I saw the optimizer doing this, there was another shift operation nearby. Modern optimization is just odd. Division can be the fastest way to accomplish something, as long as you don't need the answer soon, as it's not about the wall clock for any given op an more, it's about making the best use of an oddball heterogeneous set of potentially parallel operations that are related in strange ways. And just about anything's better than a conditional branch, of course.

      There's still stuff where the optimizer can't safely make enough assumptions to beat human optimization, of course, but you can manually optimize that stuff in C. I miss the days where caring about that level of performance commonly mattered - now it's down to odd niches.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    11. Re:Entire OS in about 1/3 of i7 Cache by Ihlosi · · Score: 1
      From experience I know that a well-trained, well-weathered assembly hacker can generate code faster than the compiler.

      Maybe if you have a really bad compiler and a simple, non-pipelined CPU.

      I tried to out-optimize my compiler on a simple (ARM Cortex-M3) CPU, and it was really close, but the compiler still beat my hand-optimized code by a few percent, probably because the compilers programmers spent much more time reading the CPUs datasheet than I did.

      I've mostly given up assembly. C, if done right, is just as fast and much more readable.

      The product containing my first work project is still being sold. Naive as I was, and lacking tutoring/guidance from more experienced folks, I wrote most of it in assembly on a DSP with lots of ... interesting features - six-stage pipeline, delayed instructions, tons of internal states to keep track of (fractional mode, etc), zero-overhead looping, circular buffers in hardware, etc. I hope I'll never have to touch this code again.

    12. Re: Entire OS in about 1/3 of i7 Cache by lgw · · Score: 1

      The assembly I learned on had "br" as the opcode for a non-conditional jump: we used the word "branch" whether conditional or not. :)

      --
      Socialism: a lie told by totalitarians and believed by fools.
    13. Re:Entire OS in about 1/3 of i7 Cache by Ihlosi · · Score: 1
      Power's of two make a very bad example and I would be curious two know what three adds of a single number result in multiplying it by eight,

      x=x+x
      x=x+x
      x=x+x

      Three additions. At the end, x will containt eight times its initial value.

  17. Come a long way by Anonymous Coward · · Score: 5, Insightful

    Wow, slashdot has come a long way from when I first started reading "chips & dips" in 1997. Even just 10 years ago, a story like this would have been met with enthusiasm and honest support, with a virtual pat on the back to the developers.

    Today, a story like this is reduced to a mere platform for chest-beating (see the parent above). As in, "nevermind the lame story, look at me instead". Why in the world are you people even here?

    1. Re: Come a long way by Anonymous Coward · · Score: 3, Insightful

      After the Beta fiasco and the Systemd wars combined with the 7month long--every day--posts of "all STEM/geek males are severely sexist," all the quality slashdotters left.

      Right now we are basically in a post-apocolyptic state here.

    2. Re:Come a long way by zieroh · · Score: 3, Insightful

      Wow, slashdot has come a long way from when I first started reading "chips & dips" in 1997. Even just 10 years ago, a story like this would have been met with enthusiasm and honest support, with a virtual pat on the back to the developers.

      Today, a story like this is reduced to a mere platform for chest-beating

      To be fair, the vast world of computers and software has come a long way since 1997. What might have been an interesting accomplishment in 1997 is now basically an exercise in pointlessness. Sure, it can be done. Sure, it's small and fast. But so what? What was actually accomplished that's worth anything? Processor power and memory advances since 1997 have obviated any reasonable need for an operating system such as the one described here, and the demands made on modern operating systems pretty much dictate that they be a whole lot more maintainable than any assembly code will ever be.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    3. Re:Come a long way by Anonymous Coward · · Score: 1

      Well, there are a few things. For one, compilers have come a long way, so much so that it's almost certain that you would have better performance if this were written in C rather than assembly. Certainly if you're writing assembly that is at all readable and maintainable. That makes it little more than a hobbyist project. Another aspect is that other technological areas continue to improve, the original release of this project was 15 years ago. It's hard to even list the things that have changed since 2000 when it comes to OS and design.

      The short answer is, yeah, I find it interesting (so I'm not going to be dismissive of it), but this project won't ever be used for anything other than learning assembly.

    4. Re: Come a long way by Anonymous Coward · · Score: 1

      Right now we are basically in a post-apocolyptic state here.

      Go figure, it's been overrun Libertarians for the past 8 years.

    5. Re:Come a long way by wbr1 · · Score: 1

      Come to.soylent news. it's made of people!

      --
      Silence is a state of mime.
    6. Re:Come a long way by Khyber · · Score: 4, Insightful

      "What was actually accomplished that's worth anything?"

      I can turn my computer on and pretty much INSTANTLY use it after POST.

      The only other OSes to do that have been purely command-line.

      The entire OS can fit within the L3 or L2 cache of modern processors, leaving the RAM entirely free for applications. Got a linux distro that will do that?

      It also demonstrates the absolute shit bloat code inefficiencies of today.

      MenuetOS is the demoscene of operating systems. It does what any operating system can do, faster, with fewer resources, in much smaller, tighter, SUPERIOR code.

      Also, because of the code being pure ASM, most nimrod 'hackers' won't even be able to touch it, as they know jack shit about bare-metal programming. It's more secure by its nature, not by obscurity.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    7. Re:Come a long way by goarilla · · Score: 1

      I sometimes worry this is the result of free internet for everybody.
      I think giving kids the means to always pleasure themselves at any given time isn't good for their development.

    8. Re:Come a long way by WarlockD · · Score: 1

      Everyone says it can fit in the cache of a CPU but CAN it? It seems to load mostly in lower memory and stays there. Sure its footprint is non-existent but I have yet to see an OS that does this feet.

      Be nice if it could though. Load directly from flash to the cpu to do memory checks and or dumps when the watchdog dies.

    9. Re:Come a long way by Khyber · · Score: 1

      " In fact, as menuetOS doesn't seem to have ASLR or W^X"

      That's all going to depend on the .reloc in your APPLICATION executable, not the OS itself. You could at least be up to speed on your ASM before talking.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
  18. Worse, no Unix or POSIX either by mi · · Score: 4, Informative

    From their own site:

    Menuet isn't based on other operating system nor has it roots within UNIX or the POSIX standards. The design goal, since the first release in year 2000, has been to remove the extra layers between different parts of an OS, which normally complicate programming and create bugs.

    So, if you want to port your own application to it, you'll need to rewrite it too. And you may need to do it in assembly — although there is, apparently, a C-compiler for MenuetOS it is billed as "low-level", which, I gather, means no (or limited) libc, and other exciting and challenging limitations.

    --
    In Soviet Washington the swamp drains you.
    1. Re:Worse, no Unix or POSIX either by LordLimecat · · Score: 2

      That sounds like theyve been actively un-learning all of the lessons the computer science field has spent decades learning.

      Here everyone else has been learning how abstraction can promote collaboration and keep bugs simple, and theyve found a way to justify removing abstraction as a way to reduce complexity (lol?).

    2. Re: Worse, no Unix or POSIX either by guruevi · · Score: 2

      There is a problem these days with over generalizations and abstraction to the point where things become unmaintainable and can't be troubleshooted. Eg. JavaScript.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
  19. Assembler Scene by Snospar · · Score: 1

    Surely this runs so embiggeningly fast that it's unusable?

    I remember running some assembler demo's (back in the day) that made "legacy" hardware do things that just didn't seem possible. The thought of running an OS with that same performance on modern hardware is frightening. Hopefully they've tuned the input routines so that you don't eeennnddd uuuppp wwwiiittthh kkkeeeyyybbboooaaarrrddd jjjiiitttttteeerrr :o)

    --
    Moore's law is not a law. Theory, yes; Predictable trend, certainly; Law, no.
    1. Re:Assembler Scene by tibit · · Score: 1

      It's not that fast, actually.

      --
      A successful API design takes a mixture of software design and pedagogy.
    2. Re:Assembler Scene by Snospar · · Score: 1

      Now, now, no knocking good old Firefox, it's still working well for me. And according to the current requirements:

      https://www.mozilla.org/en-US/firefox/38.0.1/system-requirements/

      ...it only needs 512M RAM (on Windows). And apparently has no memory requirements at all on Linux. o_O

      OK, I'll concede it's using around 2G currently on my machine but that's only because there is plenty spare at the moment and I'm pretty sure that all modern browsers would use the same or worse.

      --
      Moore's law is not a law. Theory, yes; Predictable trend, certainly; Law, no.
    3. Re:Assembler Scene by Snospar · · Score: 1

      With your use of the word "actually", I can't tell if I 'whooshed' you or you're 'whooshing' me.

      --
      Moore's law is not a law. Theory, yes; Predictable trend, certainly; Law, no.
    4. Re:Assembler Scene by tibit · · Score: 1

      It's just a collective whoosh :)

      --
      A successful API design takes a mixture of software design and pedagogy.
  20. 32-bit is open (GPL) by perpenso · · Score: 2

    The 32-bit version is open (GPL), the 64-bit is currently not.

  21. Re: floppy disk... by Anonymous Coward · · Score: 1

    I have the opposite problem ;)

  22. Re:Huh? by Tablizer · · Score: 1

    It's what you call your @#&% when you get old.

  23. Do they still teach assembly language? by __aaclcg7560 · · Score: 2

    When I went back to community college to learn programming after the Dot Com bust, I was frustrated that all the courses was in every flavor of Java. (The school couldn't afford to renew the Microsoft site license for a few years.) When the assembly language class appeared on the schedule, I later discovered that I was only the student signed up for the course. Class cancelled. Since this class wasn't required for graduation, the dean couldn't grant my request to learn assembly language as an independent study class.

  24. Plenty of OSes written in assembly by cfalcon · · Score: 4, Insightful

    Plenty of OSes have, over the course of history, been written in assembly.

    And all of them proprietary, just like this one.

    Menuet is cool, but I don't see a compelling reason to use closed source assembly unless it demonstrates some really crazy superpowers. It's also an odd case of a GPL codebase switching to a closed source license a couple years before it becomes useful.

    Kolibri forked from the GPLed 32 bit branch, but I don't think it's pure ASM at all.

  25. Really? by dtiArkadiy · · Score: 1

    Somebody’s living in the past.

  26. Think of the legacy hardware ... by perpenso · · Score: 3, Interesting

    And you're assembly is probably easy to beat with even pretty crappy SSE2 code.

    Apparently not by compilers.

    You don't seem to understand the purpose of writing in assembly language. Its not to optimize for the current state of the art box. It is to get acceptable performance from old legacy boxes. Some assembly in the right spot(s) can make the difference between an old architecture making the cutoff in terms of acceptable performance, of being able to include that segment of the market in your minimum system requirements.

    My point is that such optimizations for the sake of the old boxes doesn't necessarily do any harm to the new boxes. That worrying about future architectures is a red herring of sorts.

    1. Re:Think of the legacy hardware ... by Lunix+Nutcase · · Score: 2

      Apparently not by compilers.

      Duh. Compilers are shit at things like vectorization. They can fail at generating decent code even with intrinsics.

    2. Re:Think of the legacy hardware ... by perpenso · · Score: 1

      Apparently not by compilers.

      Duh. Compilers are shit at things like vectorization. They can fail at generating decent code even with intrinsics.

      Thank goodness we still have assembly language. :-)

    3. Re:Think of the legacy hardware ... by Lunix+Nutcase · · Score: 1

      Yeah, without SIMD there's no other way to get decent performance from DSP/multimedia applications on a general purpose CPU. Even moreso important when it comes to NEON on ARM chips.

    4. Re:Think of the legacy hardware ... by epyT-R · · Score: 1

      Well, you could optimize for current arches, too, if you wanted to squeeze all you can out of them. New arches become old rather quickly. Why not do some optimization if it reaps decent benefits? Just keep a C fallback for each so your code remains portable into the future. When such a future arch comes along, then it's a matter of re-porting the still relevant optimizations and looking for new ones the differing arch exposes. An example of this would be a math library. Compilers are pretty good but they don't replace an unoptimized math library, or compensate for shitty design.

    5. Re:Think of the legacy hardware ... by perpenso · · Score: 1

      Well, you could optimize for current arches, too, if you wanted to squeeze all you can out of them.

      Don't need to. Their performance was already good. Optimization of an old arch was only necessary to make its performance acceptable, to make it a minimum system requirement. To enlarge the potential market at the time.

      To be honest support for the old arch (and WinXP) is being dropped from the next major release of the software. So the original reference C code is going back in to simplify maintenance. The old ASM is no longer needed. The segment of the market it served effectively no longer exists.

      It would be fun to redo it for new archs, I enjoy such things, but its not justifiable. I will continue to occasionally compare it against the C code out of curiosity.

  27. Clearly this is the Kuerig of OS's. by gatkinso · · Score: 1

    Good work Menuetosites!

    --
    I am very small, utmostly microscopic.
  28. Re: floppy disk... by rubycodez · · Score: 5, Funny

    it grows to 2.5"?

  29. Must have systemd! by Anonymous Coward · · Score: 1

    [sarcasm]Can it run systemd?
    How about Gnome 3.x?
    And does it use binary log files?

    I must have those on any OS I run![/sarcasm]

    (Or run very far away from!!!)

  30. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  31. is this year by goombah99 · · Score: 5, Funny

    of assembly language on the desktop? will it run linux?

    --
    Some drink at the fountain of knowledge. Others just gargle.
  32. So many negative comments by folderol · · Score: 1, Insightful
    ... says a lot about the posters, and nothing about the OS. Personally I think coders should be obliged to write at least one significant project entirely in assembler before being allowed anywhere near high level languages. You pretty quickly lean to program defensively when just the slightest error results in total melt-down.

    I bet this OS doesn't have any buffer overrun issues!

    1. Re:So many negative comments by __aaclcg7560 · · Score: 1

      I did "Hello, world!" in assembly language for the Commodore 64. Does that count?

    2. Re:So many negative comments by podom · · Score: 1

      Every programming language leads to its own types of laziness. I.e., there are unique types of laziness associated with assembly programming.

      I've noticed this in the projects I've worked on in assembly. In several cases, I've later done a C version of the project targeting more powerful hardware, and the result is more robust. Yes, you could argue that the experience gained doing the assembly version aids the later development of the C version, and you would probably be correct. But it's just so much easier to do things in C, and this includes error checking!

      Every assembly programming task is time consuming, and this can lead people to take shortcuts. Think there aren't any buffer overrun issues? Why? In C, all you might have to do is type something like "if (index>=length) {/*don't write to buffer or whatever*/}" There! Buffer overrun issue solved! In assembly, the same fix takes longer, and you might be less likely to implement it before the problem surfaces.

      One thing I think assembly programming does give you is a very intuitive understanding of how a processor works, which in turn will help you avoid errors when programming in higher-level languages in the future. It helps to understand, for example, the sheer number of instructions required to perform extended precision floating point arithmetic on a fixed-point 8-bit processor!

      Programming in assembly is not productive. It is educational, it is sometimes necessary, and I think it can be fun, but it is definitely not productive. I'd like to see a variant of C that exposes more of the low-level capabilities of the typical microcontroller (and that explicitly supports Harvard architecture processors, for that matter), but even in its current form, C seems to me an appropriate compromise between performance and productivity for low-level and bare metal programming.

      --
      We're wanted men. I have the death sentence in 12 systems!
  33. Re:CD Boot? by peppepz · · Score: 1

    No, that only works when the ISO has been expressly engineered to have in its first sectors a fake HD boot record whose boot code will jump into the el torito boot floppy image. Traditional ~year 2000 BIOSes won't look for ISO9660 structures on anything that isn't optical media.

  34. Re:Hobbiest are amazing by kthreadd · · Score: 1

    It's not so much that it's hard to learn. It's not actually that hard. When building an operating system dealing with all the small details of the hardware is much more harder than learning assembly. The reason why we stopped building operating systems completely in assembly was not that it was hard to learn but it was because we wanted to port them to different architectures.

  35. optimizing for exactly the wrong thing by pghmike4 · · Score: 1
    So, by writing in assembly language, you optimize for code size, which is the smallest part of any application, typically easily overwhelmed by 10-100X by the app's data. And the code is much more error prone, now that you have no type checking, or even types. Most productivity studies have shown that you get about the same number of lines of code written per programmer-year, no matter what language it is written in, so by choosing the least powerful language to use, you minimize your productivity. Yay!

    Conceivably, you also might pick up a small execution time benefit, although most compilers probably can do better than a hand-coder these days -- they can perform instance specific optimizations that would be impossible to maintain in assembly source.

    Writing an OS in assembly in 2015: what a great engineering decision!

  36. Re:Hobbiest are amazing by ledow · · Score: 2

    Assembly is not difficult.

    And nobody creates chips from scratch any more, but the underlying electronics is still worth learning. If you disagree, go look at the THOUSANDS of Arduino etc. projects. Arduino is a microcontroller, not a processor. It has a pittance of RAM, a pittance of speed (16Mhz?) can't access external memory directly, etc. But the principles behind using it reveal a lot about how the electronics work and the problems associated with them.

    Just a digital circuit? Far from it when you have power-issues, trace-length issues, hidden impedances in the circuit, etc.

    Assembler is also how you begin to understand what a chip DOES. Sure, we all "know". Sure we do. So how do you do bitwise-add-plus-carry? What CPU flags might be triggered and when? What about the circuit timing? Rising-edge, falling-edge, high, low? What about memory refresh, clock-cycles etc.?

    Sure, this stuff is not necessary to OPERATE a computer. Nor to PROGRAM a computer in most languages. But then it does begin to come into how to ENGINEER a computer. There are Arduino projects that push a string of bytes down to a Z80 chip with no onboard RAM (literally, the Arduino acts as a memory emulator). They've been enormously helpful in understanding how integrated circuits work - you can literally manually clock one cycle at a time and interrogate the bus timing, memory access, etc. of the attached Z80 as you go. Hell, it's even generating information useful for anyone making a Z80 emulator, etc. What timing does that undocumented instruction have?

    There are levels required for certain things, and there's also what happens in science - understanding of OTHER seemingly-unrelated, or obsolete, or total disparate sciences affects your understanding of everything else you touch.

    Understanding assembler doesn't make you a better programmer automatically, but it completes the circle - you know what's happening and so can understand why it happens when your engineers come back and tell you the bus timings aren't as they are on the spec sheet, and you can compensate. It's like being a car mechanic who's never seen a Wankel engine. Sure, maybe you never will. Maybe you'll only ever seen them when tinkering with one you bought on eBay. But the different ideas give you different concepts that you can join together because they are based on two solutions to the same problems.

    Nobody sits and does arithmetic any more. And you don't need to be able to do mental arithmetic to be a great mathematician. But the knowledge of such things CAN greatly enhance your understanding - and the speed at which you understand new things. Fermat's Last Theorem was solved because someone linked it to elliptic curves. I bet there were mathematicians the world over who were told to stop wasting their time on a 400-year-old problem because it would never be relevant. Now we've JOINED two areas of mathematics, we understand both more. And the guy who had both mathematics in his head simultaneously understands them better than anyone else.

    Assembler is not something you'd branch out the next version of Windows into. Of course not. But if you don't tinker with it, understand it, play with other circuits, write your own bootloader, even, then - sorry - you're not a geek with the interest that I would get on with and who I find best at doing geek jobs.

    At the end of the day, some bastard had to write the Windows bootloader in assembler. Then, only a few years ago, someone had to rewrite all their bootloaders to take account of UEFI. And every new architecture needs someone to write a bootstrap in assembler even if it's only ever used to get the compiler up and running.

    Saying it's a waste is to completely miss the point of life. To pursue interests to satisfy man's innate curiosity.

    Your instructor was as blinkered as you.

    And, fuck, if you can't get the hang of assembler, when one instruction rarely does anything more than a single piece of binary arithmetic, and each official

  37. Re:Hobbiest are amazing by itzly · · Score: 2

    Arduino is a microcontroller, not a processor.

    Actually, it isn't. The microcontroller is an Atmel AVR. The Arduino project is the processor, plus some standard hardware boards, plus a C++ programming environment that actually shields you from the bare metal.

  38. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  39. Re:floppy disk... by epyT-R · · Score: 3, Informative

    Hey buddy, ever wait around near the nurses station at a hospital? Women can and do tell dirty jokes all the time.

  40. Re:Turn in your geek card. by skelly33 · · Score: 3, Informative

    Doom is shown as an icon on the desktop in the various screenshots found on the project site, but indeed, Quake is the game running in a window.

  41. Re:floppy disk... by rot26 · · Score: 2

    How big is that in terms that we can all relate to, say, football fields?

    --



    To ensure perfect aim, shoot first and call whatever you hit the target
  42. Re:Turn in your geek card. by garyisabusyguy · · Score: 2

    Doom can run on a Super Nintendo, while Quake requires more system performance.
    Doom is a fan favorite, but Quake is a more relevant demo

    --
    Wherever You Go, There You Are
  43. IT Tech Note: MenuetOS - x86 operating system rele by DarkStarZumaBeach · · Score: 1

    Lightweight - fast MenuetOS release 1.0 shipping

    --
    DarkStarZumaBeachSurfinApocalypseWow
  44. MenuetOS 64 bit will boot over the network via PXE by dsmatthews9379 · · Score: 1
    The machine takes longer with the lower level BIOS stuff than it does to load a memdisk (borrowed from Clonezilla in my case) kernel off the tftp server and boot the M6410000.IMG file. The relevant part of pxelinux.cfg reads:

    label MenuetOS64

    menu LABEL MenuetOS 64 bit - version 1.0

    KERNEL images/clonezilla/syslinux/memdisk

    append initrd=images/menuetos/M6410000.IMG

  45. Re:Hobbiest are amazing by NormalVisual · · Score: 1

    Plus the bootloader firmware (although I guess you could call that part of the environment) - you can't just drop a stock AVR into the socket and have it work without it unless you use an external programmer to burn the sketch into the chip beforehand.

    --
    Please stand clear of the doors, por favor mantenganse alejado de las puertas
  46. ACPI mess by manu0601 · · Score: 1

    stable on all hardware with which they've tested

    How do they manage ACPI mess that exists on some machines, and unusual chipsets? There is nothing impossible here, but if the end product must fit on a floppy, there is no much room.

  47. Re:All in ASM. Why? C + ASM is the correct answer. by NormalVisual · · Score: 1

    So, write your OS in 90% C and optimize the remaining 10% in ASM

    "A profiler? What's that?"

    --
    Please stand clear of the doors, por favor mantenganse alejado de las puertas
  48. Portable? by Deliveranc3 · · Score: 1

    How portable is it? Do you have an interface for C (which would allow compilation of everything else I'd imagine). Can we see the object oriented code? It's got to be temping.

  49. you knew asm, which vastly improves your C by raymorris · · Score: 1

    I'm not the least bit surprised that an assembly programmer, who really understands what's happening in the CPU, can write very fast C. I bet for most software, your asm version will be at least twice as fast as a C version written by a typical programmer, who doesn't even realize that the CPU caches have any effect on how well their software runs. More to the point, the typical C programmer would never think about how writing their code differently might allow the inner loop to run from cpu cache. Hell, the typical C# programmer doesn't often even think about the fact that memory is thousands of times faster than disk.

    I wouldn't suggest writing much in asm, but being ABLE to do so, having a clue what your C or .NET code may end up looking like in asm, is a huge advantage.

  50. Re:Floppy disk? [OT] by goarilla · · Score: 1
    I've been taking baby steps in assembly at the moment and I wonder a few things, I apologize in advance if this question makes you facepalm:

    Then you're doing something horribly wrong and causing all sorts of stalls in the pipeline.

    Are there any instructions that give direct insight into the state of the pipeline (like rdtsc for cycle count).
    How do you distinguish slowness from faulty "branch prediction", pipeline woes or any other reason on any non trivial codebase ?

  51. People are forgetting the obvious use by ruir · · Score: 1

    You people are forgetting the obvious use of dabbling in assembly today. Hacking software for instance.

  52. Re:Turn in your geek card. by nospam007 · · Score: 1

    "They show off the platform running Quake. Doom is mentioned in the article, but who read that far?"

    They also mention floppy disks.

    It's written in Assembler, they started this project in 1983, it used up all their time and so didn't have time to follow the technical evolution.

  53. ADA compilers written in ADA itself? by Jefftoe · · Score: 1

    I recall in college, my ADA textbook mentioned that it was the only language who's only and first compiler was written in ADA itself. How in the Hell? There had to be something in at least assembler to start off small, right? Just to plant a seed for gosh sake...

  54. Very easy to find back doors too by lems1 · · Score: 1

    Yep, with assembly is a breeze to keep the system secure.

    --
    This sig can be distributed under the LGPL license