But yeah, I would really like a way for the builds to be available in the way you describe without any git history issues.
Well... move along please, nothing to see here.
Should Apple have not called their notebook MacBook Air because of Adobe AIR?
It's in field that's close enough. What will you say after, "I wrote my website in Hack and Hack"?
Besides, it's a trend that's really easy to satirize.
Here's a fun game: describe an "os for hackers." See how long it takes for the person you are talking to to realize you're describing ITS. You win if the person fails to realize this, and actually says they would want to use said system today. For bonus points, cart in a PDP-10: their new 'working environment'. :-D
I say this because DOS was an OS that didn't get in your way. No, it didn't afford you any conveniences, really. It gave you a (shitty) file system, command line, program loader, a handful of utilities, and practically nothing else. Not exactly user-friendly. However, it also gave you completely unfettered access to the underlying hardware. The Intel reference manuals and a good assembler, and you could do literally anything. Since it was single-tasking, once your program was loaded, it had complete control and owned the entire physical address space. There was nothing to prevent you from calling into the BIOS, or doing I/O willy-nilly to ports, peeking/poking randomly into memory, etc. There's a reason why several OS's were bootstrapped on top of DOS, including Windows: it gave you just enough conveniences that you didn't have to start from total scratch, but it did so little that it never got in your way or otherwise prevented you from doing whatever you wanted.
I occasionally fire up FreeDOS on an old P2 or in a VM and just tinker. If I were to produce a real product, I'd obviously be better off writing something for Linux or BSD kernelspace, but for exploring the way hardware gets programmed on its lowest level, DOS is pretty indispensable. I'd liken the difference between low-level programming on DOS and the same on Linux/BSD to the difference between using an interactive interpreter and a batch compiler. It really can enable low-level experimentation in much the same way.
Anyway, ITS was the bee's knees.
I should probably play around a bit with DOS at some point. Know any good references?
Here are some resources for DOS:
Ralf Brown's Interrupt List is very handy when doing low-level DOS programming: http://www.cs.cmu.edu/~ralf/files.html
The Intel architecture reference manuals, too: http://www.intel.com/content/www/us/en/processors/architectu...
Delorie Software maintains a linklist for assorted documentation: http://www.delorie.com/djgpp/doc/
You'll want a good assembler, too, even if you wind up writing most of your code in a high-level language. GNU as ("gas") is okay, but I prefer the Flat Assembler ("fasm"), the Netwide Assembler ("nasm"), or Yasm (... "yasm"). I think you can still get MASM from Microsoft, but I don't know if recent versions still support DOS targets. You can probably also find older versions of MASM and TASM online somewhere.
Sometimes I'll do my coding directly in DOS, if only for the nostalgia. You might have better luck using more modern tools for development and cross-compiling or cross-assembling. If you want some higher-level DOS tools, here's a (partial) rundown of what I've used:
For real-mode (16-bit) programming, it's hard to beat Borland's old "Turbo" line of tools. Borland used to have a "museum" site where you could download old versions of Turbo C, Turbo C++, and Turbo Pascal for DOS for free. I don't know if the museum is still around, but you should be able to find copies of the tools. There's also Pacific C which is freely available and includes a somewhat Turbo C++-style IDE (but with a different color scheme), and OpenWatcom, which is open-source nowadays and comes with a decent vi clone. I remember a few FORTHs for DOS, too; PC Forth was pretty nice. Might be able to find that somewhere on the 'net still.
For protected-mode (32-bit) programming, I'd recommend DJGPP (Delorie's GNU tools for DOS, including GCC, gmake, and gas), FreePascal, and/or FreeBasic. If I recall correctly, they all include a suitable DPMI server (a.k.a. DOS extender) to provide DOS syscalls in protected mode. OpenWatcom can target protected mode, too; its extender DOS4GW has not been open-sourced with the rest of the system (at least, it wasn't a few years ago). Regardless, DOS4GW is a solid extender and was very popular once upon a time.
Some even-higher-level languages run fine in DOS, too. Lua comes to mind, and I remember messing with Logo, Tcl, Common Lisp, and Scheme on DOS before (XLISP comes to mind). I think DJGPP might have a Perl interpreter for DOS, but since I've never liked Perl, my memory may be hazy on that one ;)
FreeDOS also has a package repository with loads of software including development tools.
I'm not aware of any tools for doing long-mode (64-bit) programming on DOS. I'd assume you'd at the very least either need a DPMI-type thing for long-mode (LPMI?), or you'd need to essentially rewrite all of the BIOS and DOS services in 64-bit code (and at that point, you probably might as well just be doing bare metal).
And I have to say, coloring books are pretty fun. Which is to say, I really like UNIX. The (almost) everything is a file model makes dealing with external devices remarkably simple, compared to other systems. And the predisposal towards textuality makes system configuration fairly simple, with little need for special tools. Pipes and sockets make program composition simple, so you can build several small programs instead of one big one, or compose together smaller programs instead of writing a new one. And shell, while not perfect, makes simple automation easy.
It's not a perfect system, but it usually works, and it's pretty damn elegant for a system built as what was effectively a weekend hack in the '70s.
Oh, and do you know if any assemblers other than GAS support AT&T syntax? I think it's much nicer.
But I agree with the sentiment. Frameworks seem pretty much antithetical to the spirit of hacking.
I never used one and everyday there is another one on HN, confusing me with all its features xD
Or am I missing something?
It's kind of sad that it isn't.