11 ms·
“We Are Morons” – A quick look at the Win2k source (2004)
- orionblastar 9y agoGood web scrape of the old Kuro5hin website before trolls, hackers, and spammers took over and it eventually got shut down.
- eesmith 9y agoThanks for pointing that out. It felt a bit out of place. It wasn't until after reading your comment that I noticed the writeup was from 2004.
- yuhong 9y agoFor fun, read about ToAscii in https://github.com/BlastarIndia/msword/blob/7a66dde071722f6fbdd729148a8820e18eaa0bf0/Opus/asm/eldden.asm https://github.com/BlastarIndia/msword/blob/7a66dde071722f6f...
- dwightgunning 9y agoIf, like me, you find these quirks and oddities fascinating, you must keep an eye on Raymond Chen's blog, The Old New Thing[1]. [1] https://blogs.msdn.microsoft.com/oldnewthing/ https://blogs.msdn.microsoft.com/oldnewthing/
- krylon 9y agoI think that blog is worth reading even to people who do not use or code for Windows.
- PeterStuer 9y agoI used to love reading his pieces. Then Google killed Reader, I never found a replacement I liked, and blogs just died for me. Not 'rational', I know, but I'm sure I'm not alone.
- nunodonato 9y agoi kept using The Old Reader. works like a charm, and I have a huge feed of blogs :)
- zacmps 9y agoFeedly is pretty good imo.
- groceryheist 9y agoNewsblur works great for me. It has some slick machine learning features to help manage complicated feeds.
- aaronbrethorst 9y agoFeedbin is worth the couple of bucks it costs per month: https://feedbin.com https://feedbin.com
- pvdebbe 9y agoI went to using local aggregators for a while but then went on to using bazqux.com which handles really nice.
- pvdebbe 9y ago> Not 'rational', I know, but I'm sure I'm not alone. But in fact what you did was rational in its own way. You enjoyed blogs in the beginning, as long as they were easily accessible by an aggregator. When the user friendly aggregator went away, you decided the blogs didn't offer enough good content to justify the increased management and use of your time.
- keypress 9y agoLots of interesting things out there. But sometimes you need a flyer pushed through your letterbox to discover them.
- sien 9y agoInoreader. I loved Google Reader. But now Inoreader is better than Google Reader ever was. Link to the last time I posted this comment: https://news.ycombinator.com/item?id=16285449 https://news.ycombinator.com/item?id=16285449 (Seriously - if you liked RSS try Inoreader) Also, I have no connection with Inoreader whatsoever. I wish I did. Great product.
- mehrdadn 9y agoOne of my favorite posts was [1], specifically this bit: > Note: I actually don't know who ordered first. I just made up that part of the story to make it funnier. (Note that I make up parts of other stories, too. I'm not a historian. I'm a storyteller.) It really made me rethink the value everyone places in the accuracy (or lack thereof) of storytelling. [1] https://blogs.msdn.microsoft.com/oldnewthing/20130205-00/?p=5343 https://blogs.msdn.microsoft.com/oldnewthing/20130205-00/?p=...
- marcoperaza 9y agoFor another classic example of taking some liberties with the truth for the sake of a good story, see: https://www.ibiblio.org/harris/500milemail.html https://www.ibiblio.org/harris/500milemail.html And especially the FAQ about it: https://www.ibiblio.org/harris/500milemail-faq.html https://www.ibiblio.org/harris/500milemail-faq.html
- mehrdadn 9y agoAh! This is probably the third time I'm reading this, and it's still just as entertaining as it always was. :-) > "You waited a few DAYS?" I interrupted, a tremor tinging my voice. "And you couldn't send email this whole time?" > "We could send email. Just not more than--" > "--500 miles, yes," I finished for him, "I got that. But why didn't you call earlier?" > "Well, we hadn't collected enough data to be sure of what was going on until just now." Right. This is the chairman of statistics. I hadn't read the FAQ before though! Thanks for posting these. This guy definitely has a lot of patience for putting up with all those FAQs about inconsistencies in his story...
- sureaboutthis 9y agoThat's why they call them stories and not facts. I've been in the "movie industry" for decades and it still astounds me that people come out of the theater thinking what they saw, in most cases, is reality--even when the disclaimer "based on" is clearly shown ahead of time.
- deleted 9y ago
- kalleboo 9y ago[2004]
- PeterStuer 9y agoGoogle cache link for the impatient http://webcache.googleusercontent.com/search?q=cache:EhC7uFJAGVMJ:atdt.freeshell.org/k5/story_2004_2_15_71552_7795.html+ http://webcache.googleusercontent.com/search?q=cache:EhC7uFJ...
- intsunny 9y ago> private\inet\wininet\urlcache\filemgr.cxx: > // ACHTUNG!!! this is a special hack for IBM antivirus software Why should Microsoft produce a hack for an IBM antivirus product? That IBM software might be used by a few tens of thousands of people for a few years, whereas Win2k impacted billions of people and will continue to do so. At some point it is likely the programmer, PM, and maybe even the bug tracker behind this code may have moved on, and a newer generation of contributors will have to waste time understanding the bug, and deciding to support it or not. Possibly without ever knowing if IBM has fixed their own bug, or still uses that antivirus software or not.
- mathw 9y agoBecause Microsoft have long had a reputation (especially at the time) for maintaining compatibility over a very long period for applications. They did horrendous engineering to make DOS applications still work through Windows 95 and onwards because their customers still needed it. This was considered an important thing for the product. Windows is still one of the most backwards-compatible systems you're ever likely to encounter. Sure, not everything works anymore, but you can still install a lot of software written for Windows 95 and expect it to still function. That's hugely impressive, given that we're not even running the same kernel anymore.
- mschuster91 9y ago> That's hugely impressive, given that we're not even running the same kernel anymore. Unless you're doing shenanigans with ioctls to devices or direct access to kernel functions, the kernel does not really matter - everything goes through user32 and friends anyway, so as long as MS does a good job keeping this abstraction layer stable OS upgrades don't concern you much.
- danbruc 9y ago[...] as long as MS does a good job keeping this abstraction layer stable OS upgrades don't concern you much. The problem is that you have to keep them stable to a much higher degree than you might think at first. Obviously you have to maintain the functionality as described in the API documentation but that is far from enough. If the implementation has a bug, you can not simply fix it because there might be software either relying on the wrong behavior or having implemented workarounds that you might break with the fix. And no matter how often the API documentation states that this or that is not supported or undefined behavior there will be software doing it anyway or relying on what ever undefined behavior meant in the version they developed against. You return a list of something and say nothing about the ordering in the documentation but as an implementation detail it happens to be in some specific order, if you wait just long enough there will be a program critically depending on the ordering you choose. This is an endless nightmare especially if your APIs have as many different consumers as the Windows APIs.
- emmelaich 9y ago(2004) Also, hindsight is a wonderful thing. > Despite the above, the quality of the code is generally excellent
- pjc50 9y agoSo, what happened to the circulating source? Is it still out there?
- cesarb 9y agoI went to the nautical-themed torrent site, typed "windows 2000 source", and it returned one result uploaded in 2006 with 6 seeders, so I assume yes (but I haven't downloaded, so I don't know if it's real or a fake).
- c3833174 9y agoIt's real
- deleted 9y ago[deleted]
- nxc18 9y agoYes it still is. I found both the NT 4 leak and the Windows 2000 leak while I was doing some research into the Windows kernel. Lots of cool stuff in both; the NT 4 leak had a lot more of the cool kernel stuff, like a DEC Alpha HAL. I don’t recall the links and won’t share them. I also notified Microsoft about them when I found them, so they may have been taken down already. But it’s the internet so realistically they’re still up somewhere. You can also find the Windows Research Kernel, which is slightly sanitized and leaves out NTFS, HAL, PnP, and power management, but is slightly newer coming from the win 2k3 era.
- toast0 9y agoWindows 2000 up through early release candidates also could run on Alphas, NT4 could run on even more things.
- ThinkingGuy 9y agoMy question is: has anyone ever tried to actually compile the source and create their own working "unofficial build" of Windows? Or is this not feasible due to factors that we non-programmers wouldn't understand?
- Stenzel 9y agoAt least these guys commented, nowadays the paradigm "Identifiers are comments" seems to prevail. Technically this might be good, but reading such code is an experience equivalent to eating unsalted fries.
- mrguyorama 9y ago"Self documenting code" often isn't, in my experience
- jonex 9y agoOn a scale from x to ListOfSinglePeopleWhoHasADogButNoCar I'd say that "self documenting" code tend to be quite a lot more so than some of the alternatives I've seen. However, if someone claims to write self documenting code, and by that think it's enough to have long variable names and skip comments, then I can understand the sentiment above coming into existance. In "identifiers are comments" paradigm the goal isn't only to just skip comments, but also to structure the code in a way so that it's as clear as possible what it does and why. This helps much more than a long comment block hidden somewhere in a big ball of spaghetti code. Comments aren't a panacea either, as they take effort to write in a helpful way, often only occurs once (so you'd have to find the place where the purpose of x is defined) and of course, often are some level of wrong/outdated in relation to the purpose/function of the code. Sometimes, it's not possible to write the code in a way that is clear, this could be for compatibility reasons or performance reasons. That is when comments really come into their light.
- blauditore 9y ago> While surprisingly informal, there are limits to how far the programmers go. There are no derogatory references to Microsoft or Windows themselves. Bill Gates is never mentioned. There are no racist or homophobic slurs. You know, just because someone uses swear words doesn't mean they're racist or homophobic... Also, I don't find those comments terrible. If anything, maybe a bit childish.
- psyc 9y agoI’m an ex-MS dev and they brought a wave of nostalgia. The hypothesis they were injected by maligners isn’t needed. We wrote comments like that all the time, although after this leak they were somewhat discouraged.
- kabdib 9y agoThere was a simple scanning system called "Policheck" that was introduced in most source trees; it checked against a list of keywords. It didn't prevent checkins IIRC, but it flagged files for attention (it's been a while, and I never personally ran into a policheck hit). The list included the obvious "dirty" words, and milder words like "idiot" and "moron". Surprising inclusions were references to the DOJ, the Microsoft consent decree with the DOJ, and Janet Reno.
- AndrewGaspar 9y agoReading that policheck file was also incredibly educational. I learned all sorts of exotic curse words I didn't know before. :)
- chocolatebunny 9y agoWhat exotic curse words apply to Janet Reno?
- kabdib 9y agoThe mere mention of her name was sufficient :-)
- mv4 9y agoI remember downloading the source code in 2004, and promptly receiving a letter from my ISP stating that I should delete it immediately. I was impressed. btw, Microsoft's original reaction to the leak: https://news.microsoft.com/2004/02/12/statement-from-microsoft-regarding-illegal-posting-of-windows-2000-source-code/ https://news.microsoft.com/2004/02/12/statement-from-microso...
- mighty_bander 9y ago> It would therefore be both hypocritical and meaningless to go through the comments looking for embarrassments. But also fun, so let's go. This is going to be awesome.
- cjsawyer 9y agoTheir comment on the “HACK” section seems to indicate that they took “this is a hack” to mean security vulnerability instead of lazy programming.
- favorited 9y ago> It's noticeable that a lot of the "hacks" refer to individual applications... a Borland compiler came to depend on an existing bug, so their fix worked to preserve some of the bug's behaviour Hyrum's law states: "With a sufficient number of users of an API, it does not matter what you promise in the contract, all observable behaviors of your system will be depended on by somebody."
- georgeecollins 9y agoI think it is reassuring when I see code where programmers comment that they aren't doing something the best way. Even when they say it is a "hack" or because something else is moronic. It shows to me that the engineers know that not everything in a complex system is beautiful. It is when an engineer is convinced that every line of a very complex system is completely elegant that I worry dragons are hiding.