That probably shows evidence of reverse engineering, not code copying, similar to the clean-room reimplementation of IBM's BIOS chips by Compaq.
> the types of actions that send/receive text from a printer, phone, hard disk, etc.
I know they are giving examples for a modern audience, but I was amused by the inclusion of phones in that list. Heck, even hard drives would have been unsupported until version 2 IIRC.
Indeed. In fact, when IBM first built the PC, they'd tried to reach a deal with Digital Research to get an official version of CP/M as the PC's flagship OS. The deal fell through for some reason I can't recall at the moment, so IBM went to MicroSoft and explicitly asked for a CP/M work-alike and a BASIC interpreter (which was considered MS's forte back then). This was really a no-brainer, given how supremely popular CP/M and BASIC were on microcomputers at the time.
After Digital Research heard about the QDOS/PC-DOS deal, they threatened to sue IBM, alleging even then that it infringed their intellectual property. But they gave IBM an option: also sell CPM/86 alongside PC-DOS, and IBM gladly obliged. Problem was: PC-DOS cost something like $50 whereas CPM/86 cost something like $250, and consumers voted with their wallets.
(I recently read somewhere that IBM didn't tell DRI about their planned price tag for PC-DOS, and Gary Kildall was right-miffed about the situation).
Besides those two, UCSD Pascal was also available to run on the bare metal of PC, essentially as an OS. I've never used it myself, so I don't know what its OS-y features were like, or if it had any at all.
DOS kernel interrupts by name:
# Ralf Brown's Interrupt List
Wow, that brings back memories of my ASM and Turbo Pascal programming days (inline ASM). I had a dot matrix printout of Ralf's list and it was invaluable.
A couple of weeks back I found some old floppies in the attic and after I unpacked and refitted a 3.5" drive to my desktop machine, I rediscovered a lot of my old work from the late 1980s and early 1990s - for example (using kernel interrupts...) - here's the QT (Qute Time) program which was inspired by an idea from the late, great Jim Button:
It outputs exciting things like "It's nearly half past three" etc.
I've considered putting it on github, but I wouldn't want it to be seen as representative of my current work!
Outside of the Bill Gates is evil bubble, he's regarded as a technical genius and a business genius; which is why he was able to trounce his competition. (Basically, he wrote better code and ran better businesses.)
All of the late 1970s and early 1980s personal computers ran Bill Gates' basic. Basic was their operating system.
Why would someone like this need to copy someone else's OS? He didn't, because he was mart enough to write his own OS, and had the experience to do so. The function number thing is no different then Android copying Java's API.
They bought QDOS (Quick and Dirty OS):
And Dos 1.x's feature set was so small that a single programmer should be able to reproduce the it set in well under a year of full-time work. IBM's BIOS did most of the heavy lifting anyway.
(edit: fixed name!)
One of these two assertions may not be true.
Keep in mind that this is BASIC, and, as a result, is mostly targeted at people with little to no programming experience. Ideally, someone would be able to open the script up and probably learn something from it.
Err, tons of programmers in that era could program a BASIC or something similar. His skills are not particularly impressive given the time. At best, he was a decent programmer.
Contrast to someone like Bill Joy or Dennis Richie and you get my point.
> Controversy has continued to surround the similarity between the two systems. Perhaps the most sensational claim comes from Jerry Pournelle, who claims that Kildall personally demonstrated to him that DOS contained CP/M code by entering a command in DOS that displayed Kildall's name; as of 2006 Pournelle has not revealed the command and nobody has come forward to corroborate his story. A 2004 book about Kildall says that he used such an encrypted message to demonstrate that other manufacturers had copied CP/M, but does not say that he found the message in DOS; instead Kildall's memoir (a source for the book) pointed to the well-known interface similarity. Paterson insists that the 86-DOS software was his original work, and has denied referring to or otherwise using CP/M code while writing it. After the 2004 book appeared, he sued the authors and publishers for defamation. The court ruled in summary judgement that no defamation had occurred, as the book's claims were opinions based on research or were not provably false.
If this command existed in MSDOS this most certainly would have come up in court for far more than $100k by now, no? This is a good way to dispell the myth though.
There are just repeated claims that "MSDOS infringed on CP/M's copyrights" and based on all reverse engineering efforts and the lack of an actual lawsuit, we can safely assume Kindall is not using a legally valid definition of "copyrights".
Though it doesn't really matter what he has been doing recently, my point is that there was no lawsuit back in the '80s when he was alive, so we can safely assume he had no proof of actual infringement.
Furthermore, we can infer that what Kildall claimed was "Infringements of CP/M's copyrights" was something more along the lines of what google and oracle are now having massive legal battles over.
On microcomputers, perhaps, but not on computers in general. Unix is a well-known example of an OS that did this, with the hardware-dependent parts mostly confined to a small amount of assembly language and much of the C source platform-independent. This was the state of Unix by around 1973 or so. And that was near the dawn of minicomputers.
Even before Unix and minicomputers, it was starting to become common on mainframe computers as manufacturers started releasing revised and novel models (and dealing with the porting efforts). Notably, the Burroughs B5000 didn't have an assembly language at all, and system software (the Master Control Program, an awesome name that (perhaps unfortunately) lost the jargon skirmish with "Operating System") was written primarily in a dialect of Algol-60. The MCP went on to run on successor systems starting with the B6500 with only a small number of changes to support the new architecture, and Unisys's offerings to this day still run a continuously updated version of that original MCP -- first released in 1961.
Once we know what it is, we can easily prove if the command does or doesn't exist in MSDOS.
Older programmers: what are function numbers? Thanks.
This list of BDOS system calls bears a passing resemblance, based on my foggy memory, to some of the interrupt 21h calls I remember: http://www.seasip.info/Cpm/bdos.html The conventions with arguments in registers is different, however.
;* Get the time from DOS *
MOV AH,2CH ;Set up DOS call to get the current time
INT 21H ;And go get it!
MOV AX,04C00 ;Return to DOS
In my opinion it's unsurprising that they would be the same as in CP/M.
Nowadays processors have a dedicated "syscall" instruction but it has no operands so you still pass the actual index of the syscall you want in a register.
So no icky trap entry points to code around - just call the OS directly! It was slick.
CTOS was message-passing. All system calls were for timers, memory or message manipulation. The messages were a tiny header including a 'request code', some scalar arguments and a set of buffers. OpenFile, Read, everything. On the top of the OS were Services that received messages. There was an OS message dispatch mechanism where Services registered for particular message codes. So the client Sending a message didn't know where their message would end up. The original feature that made money was the 'diskless workstation'. The file system codes were dispatched to Client Agent that simply packaged them up and sent them to a designated Server. Brought down the client workstation cost dramatically.
More supporting evidence that any title that ends in a question mark can be safely summed up as 'No'.
Why not like a little boy? Because Joel thinks women are weaker then men, obviously.
Well no or, maybe he does, but you can't infer that from this. What he is referring to is the tendency of little girls to like, OMG, get super excited and make squeally noises.
As a parent of both sexes and having refereed birthday parties for both I can safely say that his analogy was fair and wouldn't have worked if he had said "little boy". Of course, if he had run around the meeting room, screaming at the top of his lungs, trying to break furniture, then he had indeed picked the wrong gender.
That said it could be an artifact of a time where it was acceptable to say that kind of stuff. Like watching old movies reading old articles can be a bit jarring at times. But getting upset with someone for posting it to support a point is unfair.
How is the idea that women are "more emotional" than men "more neutral" than the idea that "women are weaker than men".
Assuming that your question is meant in good faith, here's an example. I have two sons. One is extremely emotional, far more so than his brother was at that age. He cries over minor incidents, take small slights to heart, gets upset easily, etc. His teacher describes him as "feeling things very deeply."
However, he is also extremely bright and very strong willed. Even at a young age, we can already see that he is not the type of person who will allow himself to be taken advantage of. Despite his sometimes irritating emotionality, there is simply no way I could ever characterize him as weak.
Does that help?
I mean, the whole post (excluding quoted material used to show what that post was responding to) was (including the incorrect use of a period where a question mark was intended):
To your point, this isn't from 1950 or even 1975. It's recent.
I'm not saying it wasn't a sexist comment or that if it was that Joel has changed. But I'm willing to give him the benefit of the doubt.
Doesn't change it's effects.
As Microsoft grew larger, his role became much more associated with managing the company at large than with technical mumbo jumbo, but Gates was more technically competent than you think. He co-developed Altair BASIC and (supposedly) FAT, and was well versed in some more CS-heavy stuff, also: