I want to jump to the next level in C. I'm a quite skilled programmer for what I do, know the whole K&R but I feel like I miss something, especially about those weird techniques proPROgrammers use in OS dev and related. Suggested readings?
Name:
Anonymous2009-04-24 14:46
>>1 weird techniques programmers use in OS dev and related
Like what?
Recommended readings (theory):
* Operating System Concepts (the Dinosaur book)
* Microsoft Windows Internals
* Architecture of the Windows Kernel (with Networking) http://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=7400
* Computer Organization and Design
There was also another really book, whose title escapes me, which described the network stack and different protocols at each level in the OSI stack. I'll hop down to the library and see if I can find it again, it was a really great book.
Recommended stuff to play around with (practical):
* NACHOS - Not Another Completely Heuristic Operating System http://www.cs.washington.edu/homes/tom/nachos/
* Windows research kernel - you usually need a subscription, however there was a thread here which described a trick which allowed you to download anything from the microsoft website. Search subject.txt if you're interested.
>>6
>There was also another really book, whose title escapes me, which described the network stack and different protocols at each level in the OSI stack. I'll hop down to the library and see if I can find it again, it was a really great book.
* NACHOS - Not Another Completely Heuristic Operating System
This is written in Sepples and is pig disgusting, avoid at all costs
Name:
Anonymous2009-04-25 9:34
>>14
Sadly, many parts are quite outdated these days. It would be awesome if they released a new edition. There are lots of new, exciting things to RAGE about in the *nix world.
Name:
Anonymous2009-04-25 9:45
>>15 * NACHOS - NACHOS, Another Completely Heuristic Operating System
Name:
Anonymous2009-04-25 10:36
The novice Unix user is always surprised by Unix’s choice of command
names. No amount of training on DOS or the Mac prepares one for the
majestic beauty of cryptic two-letter command names such as cp, rm, and ls.
Those of us who used early 70s I/O devices suspect the degeneracy stems
from the speed, reliability, and, most importantly, the keyboard of the
ASR-33 Teletype, the common input/output device in those days. Unlike
today’s keyboards, where the distance keys travel is based on feedback
principles, and the only force necessary is that needed to close a
microswitch, keys on the Teletype (at least in memory) needed to travel
over half an inch, and take the force necessary to run a small electric gener-
ator such as those found on bicycles. You could break your knuckles touch
typing on those beasts.
Accidents Will Happen 19
If Dennis and Ken had a Selectric instead of a Teletype, we’d probably be
typing “copy” and “remove” instead of “cp” and “rm.”1 Proof again that
technology limits our choices as often as it expands them.
After more than two decades, what is the excuse for continuing this tradi-
tion? The implacable force of history, AKA existing code and books. If a
vendor replaced rm by, say, remove, then every book describing Unix
would no longer apply to its system, and every shell script that calls rm
would also no longer apply. Such a vendor might as well stop implement-
ing the POSIX standard while it was at it.
A century ago, fast typists were jamming their keyboards, so engineers
designed the QWERTY keyboard to slow them down. Computer key-
boards don’t jam, but we’re still living with QWERTY today. A century
from now, the world will still be living with rm.
Is this a trolling book?
Name:
Anonymous2009-04-25 10:45
>>18
Are you suggesting someone on /prog/ has the audacity to post a link to trolling material?
Name:
Anonymous2009-04-25 14:22
>>19
Upon longer examination, I can say that this is surely a trolling book.
>>18
Even if that were so, why change rm to remove? It's just going to take longer to type in commands that are complete words. I'd say leave the system as is.
Name:
Anonymous2009-04-25 18:20
>>11
Your ideas intrigue me, is there any more like this?
Name:
Anonymous2009-04-25 18:37
Here's what I don't understand: basic Unix commands are largely two-letter abbreviations. Why didn't they just make them one letter? Most of the two-letter commands could simply have their second letter removed with no other changes necessary, and be typed twice as quickly and easily.
Name:
Anonymous2009-04-25 18:39
>>10
That wasn't it. I remember the author having sections for each level in the OSI stack, and writing about different protocols in each level. He also provided packet dumps with annotations of each field, and recommended that the reader "follow along" by downloading Ethereal (now Wireshark).
>>24
So there would be a namespace for 26 different basic Unix commands. Great idea!
Name:
Anonymous2009-04-25 20:52
code my anus
Name:
Anonymous2009-04-26 3:46
>>26
Funny you should mention that. There are exactly 26 two letter unix utilities. i.e.: they could be successfully mapped to a 26 letter formal language of maximum word size 1.
Name:
Anonymous2009-04-26 4:30
>>28
actually, there are 28:
ar, at, bc, bg, cd, cp, dd, df, du, ed, ex, fc, fg, id, ln, lp, ls, m4, mv, nl, nm, od, pr, ps, rm, sh, tr, vi
and 4 more if you count shell reserved words (do, fi, if, in).
"linuxoncrack (2 days ago) Show Hide
Marked as spam
Reply | Spam
I run Debian/unstable because the system can be secured, it comes with gcc. I can program in a true C language not in Micro$hafts diluted version of C. I can be fairly sure that what I get on my pc is not a virus since I download all my packages from secured repositories through secured means and if I compile a program from source I can see what that program does. Oh and yes I can customize my system to my needs, burn my changes to a cd or live usb and carry it around with me, and give away."
Name:
Anonymous2009-04-26 9:32
>>34
actually, the guy was on earth all along, in the present.
in the 2001 remake he goes back to the future
>>34
It's a toy system that is not worth my time. Many of it "innovations" are just poor and late reimplementations of what already existed in the Unix world.
>>26,33
Hey, you idiots. Obviously once we run out of one-letter commands we can start in on the many-letter commands for less commonly used ones. ls, cd, rm, mv, cp, df,, and du, should become [m]l, d, r, m, c, f, u[m]. And maybe p for pwd.
>>40
Unix: it's a toy system that's not worth my time. Many of its "innovations" are just poor and late reimplementations of what already existed in Multics. (in b4 Project Genie, etc.)
Name:
Anonymous2009-04-27 2:00
>>48
multics had everything plan 9 has?
multics had zfs? hammer? ext4?
yeah, i didn't think so.
>>52 Plan 9 from Bell Labs is a distributed operating system, primarily used for research. It was developed as the research successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002.
>>41
Congratulations for recognising it for what it was intended: not a troll.
>>48
Unix and Multics solved different problems and so, it's not good analogy for Unix vs. Windows. Windows originated as a toy system (a GUI on top of a CP/M clone). Systems far superior to Windows existed at that particular time. Over time, MS have been bolting on various technologies to the Windows system as their attempt to maintain relevance. It also doesn't help that MS is committed to trap users to their systems as one method used for achieving this goal is aim of legacy binary object support. While the NT system was a chance of improving the Windows brand as it wouldn't be hindered by legacy requirements, MS killed the potential by strapping in legacy support. Windows is a toy system not worth my time.
Name:
Anonymous2009-04-27 10:37
not a troll
Nice try, Trolly McTrollerberger.
Name:
Anonymous2009-04-27 18:36
>>61 While the NT system was a chance of improving the Windows brand as it wouldn't be hindered by legacy requirements, MS killed the potential by strapping in legacy support. Windows is a toy system not worth my time.
I agree. Win7 looks pretty suave in this regard, though. It merely has herpes, instead of AIDS.
The network book mentioned earler is:
Computer Networking Internet Protocols in Action
by Jeanna Matthews
Name:
Anonymous2009-04-27 22:05
>>61 Unix and Multics solved different problems and so, it's not good analogy for Unix vs. Windows. Windows originated as a toy system (a GUI on top of a CP/M clone).
Unix originated as a toy system, too (a broken multics clone written in assembly language so it could run on a toy instead of on a real computer).