Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

The Night Watch [for kernel hackers only]
Microsoft ^ | November 2013 | James Mickens

Posted on 11/19/2013 6:44:17 PM PST by re_nortex

This article in in PDF form so be aware of that. Here's a snippet that's indicative of the overall style and the points that Mickens makes:

When you debug a distributed system or an OS kernel, you do it Texas-style. You gather some mean, stoic people, people who have seen things die, and you get some primitive tools, like a compass and a rucksack and a stick that’s pointed on one end, and you walk into the wilderness and you look for trouble, possibly while using chewing tobacco. As a systems hacker, you must be prepared to do savage things, unspeakable things, to kill runaway threads with your bare hands, to write directly to network ports using telnet and an old copy of an RFC that you found in the Vatican. When you debug systems code, there are no high-level debates about font choices and the best kind of turquoise, because this is the Old Testament, an angry and monochromatic world, and it doesn’t matter whether your Arial is Bold or Condensed when people are covered in boils and pestilence and Egyptian pharaoh oppression. HCI people discover bugs by receiving a concerned email from their therapist. Systems people discover bugs by waking up and discovering that their first-born children are missing and “ETIMEDOUT” has been written in blood on the wall.

(Excerpt) Read more at research.microsoft.com ...


TOPICS: Computers/Internet
KEYWORDS: assembly; computers; debugging; geek; humor; kernel; proms; systems
Navigation: use the links below to view more comments.
first 1-2021 next last
The author clearly has his tongue firmly planted in his cheek and the reminiscent of Brian Kernigan's sardonic classic, Why Pascal is Not My Favorite Programming Language. It's a fun read for a niche audience and for the smart people who inhabit Free Republic, systems or applications programmers alike.
1 posted on 11/19/2013 6:44:17 PM PST by re_nortex
[ Post Reply | Private Reply | View Replies]

To: ShadowAce; rdb3
Ping to your possible interests. Sure, the guy's from Microsoft but he's not unlike Linus Torvalds who wrote this some twenty years ago on Usenet:

Do you pine for the days when men were men and wrote their own device drivers?

2 posted on 11/19/2013 6:46:45 PM PST by re_nortex (DP - that's what I like about Texas)
[ Post Reply | Private Reply | To 1 | View Replies]

To: re_nortex; rdb3; Calvinist_Dark_Lord; Salo; JosephW; Only1choice____Freedom; amigatec; ...

3 posted on 11/19/2013 6:59:43 PM PST by ShadowAce (Linux -- The Ultimate Windows Service Pack)
[ Post Reply | Private Reply | To 1 | View Replies]

To: re_nortex
I laughed my ass off. I needed that. Thank you.

/johnny

4 posted on 11/19/2013 7:08:17 PM PST by JRandomFreeper (Gone Galt)
[ Post Reply | Private Reply | To 2 | View Replies]

To: ShadowAce
And the author's bio might make you chuckle:

Widely acknowledged as one of the greatest scholars of his generation, James Mickens ran out of storage space for his awards in 1992, and he subsequently purchased a large cave to act as a warehouse/fortress from which he can defend himself during the inevitable robot war that was prophesied by the documentary movie “The Matrix.” In his spare time, James Mickens enjoys life, liberty, and the pursuit of happiness, often (but not always) in that order, and usually (almost always) while listening to Black Sabbath.

$1 to xyzzy at r.s.f.c. for the poast [sic] of the article. IMML.

5 posted on 11/19/2013 7:09:17 PM PST by re_nortex (DP - that's what I like about Texas)
[ Post Reply | Private Reply | To 3 | View Replies]

To: re_nortex

Now that was funny. I have bled in that wilderness - debugged assembly language with a digital oscilloscope because there plain was no user interface. I’ve worked inside OSes, device drivers, and written my own real-time executive. I’ve lived through projects where getting output to a terminal was considered a huge leap forward in debugging capability. Your IDE is a luxurious syntax highlighting editor and make.


6 posted on 11/19/2013 7:21:50 PM PST by ThunderSleeps (Stop obarma now! Stop the hussein - insane agenda!)
[ Post Reply | Private Reply | To 1 | View Replies]

To: JRandomFreeper
then you will be able to appreciate this then, from a long time ago... 8^)

Creators Admit UNIX, C Hoax

Computerwelt

In an announcement that has stunned the computer industry, Ken Thompson, Dennis Ritchie and Brian Kernighan admitted that the Unix operating system and C programming language created by them is an elaborate prank kept alive for over 20 years. Speaking at the recent UnixWorld Software Development Forum,Thompson revealed the following:

"In 1969, AT&T had just terminated their work with the GE/Honeywell/AT&T Multics project. Brian and I had started work with an early release of Pascal from Professor Niklaus Wirth's ETH labs in Switzerland and we were impressed with its elegant simplicity and power. Dennis had just finished reading 'Bored of the Rings', a National Lampoon parody of the Tolkien's 'Lord of the Rings' trilogy. As a lark, we decided to do parodies of the Multics environment and Pascal. Dennis and I were responsible for the operating environment. We looked at Multics and designed the new OS to be as complex and cryptic as possible to maximize casual users' frustration levels, calling it Unix as a parody of Multics, as well as other more risque allusions. We sold the terse command language to novitiates by telling them that it saved them typing.

Then Dennis and Brian worked on a warped version of Pascal, called 'A'. 'A' looked a lot like Pascal, but elevated the notion of the direct memory address (which Wirth had banished) to the central concept of the language. This was Dennis's contribution, and he in fact coined the term "pointer" as an innocuous sounding name for a truly malevolent construct.

Brian must be credited with the idea of having absolutely no standard I/O specification: this ensured that at least 50% of the typical commercial program would have to be re-coded when changing hardware platforms. Brian was also responsible for pitching this lack of I/O as a feature: it allowed us to describe the language as "truly portable".

When we found others were actually creating real programs with A, we removed compulsory type-checking on function arguments. Later, we added a notion we called "casting": this allowed the programmer to treat an integer as though it were a 50kb user-defined structure. When we found that some programmers were simply not using pointers, we eliminated the ability to pass structures to functions, enforcing their use in even the simplest applications. We sold this, and many other features, as enhancements to the efficiency of the language. In this way, our prank evolved into B, BCPL, and finally C. We stopped when we got a clean compile on the following syntax:

for(;P("\n"),R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|"+(*u/4)%2);

At one time, we joked about selling this to the Soviets to set their computer science progress back 20 or more years.

Unfortunately, AT&T and other US corporations actually began using Unix and C. We decided we'd better keep mum, assuming it was just a passing phase.

In fact, it's taken US companies over 20 years to develop enough expertise to generate useful applications using this 1960's technological parody. We are impressed with the tenacity of the general Unix and C programmer. In fact, Brian, Dennis and I have never ourselves attempted to write a commercial application in this environment.

We feel really guilty about the chaos, confusion and truly awesome programming projects that have resulted from our silly prank so long ago."

Dennis Ritchie said: "What really tore it (just when AIDA was catching on), was that Bjarne Stroustrup caught onto our joke. He extended it to further parody, Smalltalk. Like us, he was caught by surprise when nobody laughed. So he added multiple inheritance, virtual base classes, and later ... templates. All to no avail. So we now have compilers that can compile 100,000 lines per second, but need to process header files for 25 minutes before they get to the meat of "Hello, World".

Major Unix and C vendors and customers, including AT&T, Microsoft, Hewlett-Packard, GTE, NCR, and DEC have refused comment at this time.

Borland International, a leading vendor of object-oriented tools, including the popular Turbo Pascal and Borland C++, stated they had suspected this for a couple of years. In fact, the notoriously late Quattro Pro for Windows was originally written in C++. Philippe Kahn said: "After two and a half years programming, and massive programmer burn-outs, we re-coded the whole thing in Turbo Pascal in three months. I think it's fair to say that Turbo Pascal saved our bacon". Another Borland spokesman said that they would continue to enhance their Pascal products and halt further efforts to develop C/C++.

Professor Wirth of the ETH institute and father of the Pascal, Modula 2 and Oberon structured languages, cryptically said "P.T. Barnum was right." He had no further comments.

april fool...

7 posted on 11/19/2013 7:22:32 PM PST by Chode (Stand UP and Be Counted, or line up and be numbered - *DTOM* -vvv- NO Pity for the LAZY - 86-44)
[ Post Reply | Private Reply | To 4 | View Replies]

To: Chode
I saw that one years ago. It's like 'The Story of Mel'. It makes me smile when I run across it.

/johnny

8 posted on 11/19/2013 7:29:24 PM PST by JRandomFreeper (Gone Galt)
[ Post Reply | Private Reply | To 7 | View Replies]

To: ThunderSleeps
The author, James Mickens, sure has a way with words. A an applications developer with a good amount of C++ in my repository, this part made me guffaw. Sadly though, the fictional compiler diagnostic is all too real. :)


Similar to the Necronomicon, a C++ source code file is a wicked, obscure document that’s filled with cryptic incantations and forbidden knowledge. When it’s 3 A.M., and you’ve been debugging for 12 hours, and you encounter a virtual static friend protected volatile templated function pointer, you want to go into hibernation and awake as a werewolf and then find the people who wrote the C++ standard and bring ruin to the things that they love. The C++ STL, with its dyslexia-inducing syntax blizzard of colons and angle brackets, guarantees that if you try to declare any reasonable data structure, your first seven attempts will result in compiler errors of Wagnerian fierceness:

Syntax error: unmatched thing in thing from std::nonstd::__
map<_Cyrillic, _$$$dollars>const basic_string< epic_
mystery,mongoose_traits < char<, __default_alloc_<casual_
Fridays = maybe>>
One time I tried to create a list<map<int>>, and my syntax errors caused the dead to walk among the living.
9 posted on 11/19/2013 7:33:42 PM PST by re_nortex (DP - that's what I like about Texas)
[ Post Reply | Private Reply | To 6 | View Replies]

To: ThunderSleeps
Burning PROMS only to find an error after the first few hundred are in the field. The joy.

Life is simple as a cook. You know how you did that day. When you walk away from the kitchen, you are done. And you never, ever have to disassemble and upgrade a meal cooked by someone else working for a company that no longer exists on equipment that can only be found in outer Mongolia. At a flea market.

/johnny

10 posted on 11/19/2013 7:34:40 PM PST by JRandomFreeper (Gone Galt)
[ Post Reply | Private Reply | To 6 | View Replies]

To: JRandomFreeper
tooo funny... i'd not seen that one before
11 posted on 11/19/2013 7:37:20 PM PST by Chode (Stand UP and Be Counted, or line up and be numbered - *DTOM* -vvv- NO Pity for the LAZY - 86-44)
[ Post Reply | Private Reply | To 8 | View Replies]

To: JRandomFreeper
LOL!!!
12 posted on 11/19/2013 7:40:02 PM PST by Chode (Stand UP and Be Counted, or line up and be numbered - *DTOM* -vvv- NO Pity for the LAZY - 86-44)
[ Post Reply | Private Reply | To 10 | View Replies]

To: re_nortex

Made my night!

Been doing this since 1970 (FORTRAN) and 1975 (assembler) see my FR profile page for the rest....

Haven’t laughed so hard in a week! Thanks!


13 posted on 11/19/2013 7:43:44 PM PST by dayglored (Listen, strange women lying in ponds distributing swords is...sounding pretty good about now.)
[ Post Reply | Private Reply | To 1 | View Replies]

To: re_nortex

Thanks for the laugh. Been there and done that. Seriously.


14 posted on 11/19/2013 7:43:51 PM PST by catnipman (Cat Nipman: Vote Republican in 2012 and only be called racist one more time!)
[ Post Reply | Private Reply | To 1 | View Replies]

To: Ernest_at_the_Beach; martin_fierro

:’)

I got nuts a week or so ago and downloaded some distros during the lunch hour, then transferred them to a flash drive yesterday, with a view to actually trying some installs on different geriatric hardware around here. :’)


15 posted on 11/19/2013 7:45:47 PM PST by SunkenCiv (http://www.freerepublic.com/~mestamachine/)
[ Post Reply | Private Reply | To 1 | View Replies]

To: re_nortex

Obviously you need a space between the >> so it recognizes the template declaration rather than a right shift. ;-) And hey, don’t be hating on the STL, doesn’t everyone love the fun little front() pop_front() dance to get a value out of a queue?


16 posted on 11/19/2013 7:49:37 PM PST by ThunderSleeps (Stop obarma now! Stop the hussein - insane agenda!)
[ Post Reply | Private Reply | To 9 | View Replies]

To: JRandomFreeper

About the time I was downloading an EPROM so that I could disassemble the code off of it to recover lost source... yeah, I was longing for my teen years pumping gas. Or when you’ve been hacking so long your wife comes home and finds you writing code in the dark, wearing sunglasses because your eyes are about to bleed. Ah, memories...


17 posted on 11/19/2013 7:55:23 PM PST by ThunderSleeps (Stop obarma now! Stop the hussein - insane agenda!)
[ Post Reply | Private Reply | To 10 | View Replies]

To: re_nortex

good laugh. some bad memories (pun intended).


18 posted on 11/19/2013 9:53:10 PM PST by dadfly
[ Post Reply | Private Reply | To 1 | View Replies]

To: re_nortex

And for the rest of us who are thrilled each time windows starts when we turn on the computer. All the rest is just magic. :-)


19 posted on 11/19/2013 9:56:44 PM PST by Conservative4Ever (A pox on the House of Apple and the ios7 horse they rode in on.)
[ Post Reply | Private Reply | To 1 | View Replies]

To: ThunderSleeps
Obviously you need a space between the >> so it recognizes the template declaration rather than a right shift.

Beat me to it. My hate of C++ was so intense I ripped it out of my resume, just as I did with PL/1 so long ago.

20 posted on 11/19/2013 10:32:15 PM PST by no-s (when democracy is displaced by tyranny, the armed citizen still gets to vote)
[ Post Reply | Private Reply | To 16 | View Replies]


Navigation: use the links below to view more comments.
first 1-2021 next last

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson