13 ms·
Microsoft Solitaire was developed by a summer intern
- pc86 11y agoFor anyone who comes here without clicking the link, it's linking to a comment of the intern that actually wrote it. He provides some neat context as well. Worth the read if you don't mind being on Reddit at work.
- Raphmedia 11y agoOr if you want to hide the fact that you are on reddit at work, here is the link displayed as "code". http://codereddit.com/?topic=3zfadv http://codereddit.com/?topic=3zfadv
- pc86 11y agoBlocked by the firewall as a Games website :) But hopefully it helps someone else!
- l0c0b0x 11y agoFind out what type of firewall you're using. Find the vendor's website on how to request a url/domain re-categorization, and submit a change request. Most firewalls subscribe to a live database hosted by the vendor, and its request forms are public most of the time.
- rpgmaker 11y agoIt has 'reddit' in the url. It won't be re-categorized.
- lelandbatey 11y agoHere's a (giant) png screenshot of the whole reddit thread: http://mirror.xwl.me/solitaire_history.png http://mirror.xwl.me/solitaire_history.png Screenshot captured with phantomjs/rasterize.js and shrunk with pngquant.
- kauegimenes 11y agoYou can just add a .json at the end of any url on Reddit to get a JSON object of the page. https://www.reddit.com/r/todayilearned/comments/3zfadv/til_that_microsoft_solitaire_was_developed_by_a/.json https://www.reddit.com/r/todayilearned/comments/3zfadv/til_t... Maybe this will help?
- deleted 11y ago[deleted]
- yuhong 11y agoWhich also reminds me that Wes itself mentioned a "boss key" that was removed before the game was released. Hopefully things are better nowadays.
- golergka 11y agoOr you can just browse the web in lynx or w3 mode in emacs.
- JDiculous 11y agoOh god, why would anyone code with a white background? The contrast hurts my eyes.
- kgabis 11y agoI feel the same about coding on dark backgrounds. Code is text and I find it much easier to read on a white background.
- 72deluxe 11y agoI used to, for years! Visual Studio and Borland's C++ Builder always had white backgrounds. I found the dark screens fashionable in Linuxland and themes very hard to look at for a long time. Weirdly, now I code with Monokai theme in OSX and it is very enjoyable. Perhaps the white background was easier when you weren't typing on two 24" screens and only had a 12" screen to peep into.
- Joeri 11y agoBright backgrounds behind the screen require bright content on the screen to be easy on the eyes. A typical office needs a light theme, a shaded bedroom needs a dark theme.
- dice 11y agoYou used to be able to underflow the score in MS Solitaire by repeatedly dealing new hands (would subtract 52 points or so). I believe that, in Win95 at least, the score was a 16 bit signed variable so you could underflow it with a mere 1261 deals! I wonder if the modern one is 64 bits, and if you can still underflow it...
- Houshalter 11y agoIIRC Windows did a thing where they wanted all the software they shipped to be 64 bit. That's why some of the games like pinball were removed.
- esMazer 11y agoI loved pinball! :(
- bolasanibk 11y agoFor pinball, there was a bug with the collision detector in the 64 bit version they could not fix. "Two of us tried to debug the program to figure out what was going on, but given that this was code written several years earlier by an outside company, and that nobody at Microsoft ever understood how the code worked (much less still understood it), and that most of the code was completely uncommented, we simply couldn’t figure out why the collision detector was not working. Heck, we couldn’t even find the collision detector!" Source: https://blogs.msdn.microsoft.com/oldnewthing/20121218-00/?p=5803/ https://blogs.msdn.microsoft.com/oldnewthing/20121218-00/?p=...
- dingo_bat 11y agoAs a newbie dev, I'm happy to see that even experts have difficulty navigating third-party code!
- i336_ 11y agoThis article has a pesky agenda that needs to be filtered for, but might be relevant: http://www.theverge.com/2015/12/30/10691290/twitter-mac-outsourced http://www.theverge.com/2015/12/30/10691290/twitter-mac-outs...
- DanBC 11y agoI hope someone is archiving this folklore properly. It's a bit scary that it's only in a Reddit thread. (ditto for the stuff that's languishing in Google's Usenet archive.)
- greglindahl 11y ago3 people have gone to the Internet Archive's Wayback machine already to save the reddit thread. There's this for Usenet: https://archive.org/details/usenethistorical https://archive.org/details/usenethistorical and https://archive.org/details/usenet https://archive.org/details/usenet and https://archive.org/details/giganews https://archive.org/details/giganews
- i336_ 11y ago/!\[L TIL TIL TIL TIL TIL TI]/!\ I'm saving up for a little 10TB disk array... at this rate it will be full shortly after it arrives. This is gonna be so awesome to go through... thanks for this!!
- kyle_u 11y agoI don't know what it is, but I love implementing Solitaire to learn new languages and frameworks. It's always a fun exercise, and the engine gets better with every iteration. My latest attempt is https://solitaire.gg https://solitaire.gg - it's a Scala/Scala.js WebGL/websocket Phaser web/native app with hundreds of games.
- dnissley 11y agoLooks great! Is this open source?
- kyle_u 11y agoI'll probably open source it in the future, there's a lot of code there, and not much money to be made in Solitaire. I did extract some of the best general parts of the app (the admin, authentication, etc) into a project template I call Boilerplay (https://github.com/KyleU/boilerplay https://github.com/KyleU/boilerplay). If anyone's interested, I could also publish my pipeline to turn the Scala.js webapp into native apps for OSX, Windows, Linux, iOS, and Android.
- matwood 11y agoGreat job! I love the feel while playing with the card movement.
- thomasthomas 11y agoa little off topic but is it possible to truly randomize the 80,658,175,170,943,878,571,660,636,856,403,766,975,289,505,440,883,277,824,000,000,000,000 shuffle combinations? edit: also, when i play solitaire via an ipad app there is always a 'top score' by someone for the hand i was dealt. i dont understand how this is probabilistically possible
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]
- qnaal 11y agothe classic freecell game had the useful feature where you could play the entire game from the numpad, the new one sucks
- cabirum 11y agoHe mentioned "KlondGmProc" and "DefColProc" as names of message passing routines, so google finds a single result [1] from win2ksrc.rar > klond.c, I think that might be the actual source code. [1]: http://read.pudn.com/downloads3/sourcecode/windows/248345/win2k/private/windows/shell/games/sol/klond.c__.htm http://read.pudn.com/downloads3/sourcecode/windows/248345/wi...
- TazeTSchnitzel 11y agoklond.c? Well, it is Klondike Solitaire.
- sauere 11y agoYes. The Windows 2k source leaked a few years ago.
- Someone1234 11y agoNT4 and 2K. It was supposedly only 15% of 2K's total source code, but the majority of the NT4 source. It is a pretty interesting read if you're interested in C programming. In particular Microsoft's internal style and error handling.
- i336_ 11y agoOh, TIL. I had no idea the WinNT source leak was nearly complete. I vaguely recall hearing something about getting the Win2K kernel to build, but I don't remember exactly what I read (I think it was on BetaArchive). Then there's the Mac OS 7.x leak, which is also curious. I need to dig my old archives up and poke at this stuff... heh
- saltyshake 11y agoJust fwiw, I remember it got leaked in 2004, that was 12 years ago...
- bcherry 11y agoLikely - "Klondike" is the technically-correct name for the game popularly known as "Solitaire". Probably it was called Klondike originally but packaged as Solitaire by a PM on the Windows 2.1 team. https://en.wikipedia.org/wiki/Klondike_(solitaire) https://en.wikipedia.org/wiki/Klondike_(solitaire) But this klond.c is not the original source, judging by the inclusion of comments referencing Win 3.1
- protomyth 11y agoIt was probably the nicest way to teach new people how to use a mouse. I am grateful to the author for that.
- Someone 11y agoNo, that was "Mousing around" for the original Macintosh. See https://www.youtube.com/watch?v=1pwammW5syw https://www.youtube.com/watch?v=1pwammW5syw (Mac boots at around a minute in; the audio is from one of the two audio cassettes that shipped with each Mac) More info at http://gizmodo.com/heres-how-a-macintosh-tutorial-taught-people-to-use-a-m-1583366354 http://gizmodo.com/heres-how-a-macintosh-tutorial-taught-peo...
- ChicagoDave 11y agoBest Reddit comments ever. "I'm the Girlfriend!"
- Diederich 11y agoI've said it before, and I'll say it again: an un-nervingly large amount of the work I've done over the years has had this property: the long-term value is inversely proportional to the time put into it. Learning from this correlation remains a big priority for me.
- ffn 11y agoSame here, my best projects are the ones that were banged out over at most a week or so (then possibly supported with minor fixes over time). Still though, every shitty cancerous hell project before that plays its part in training your mind and preparing you for the moment when you can finally produce your opus.
- steve-howard 11y agoWhat if you produce your opus and a series of constant organizational changes puts you right back in hell? Is there an end?
- deleted 11y ago[deleted]
- throwaway2048 11y agoI have heard this explained as stuff that needs to be done yesterday almost always also has the property of cannot be disrupted for any reason (which is why it was so urgent to begin with). So your quick hack that stops the world from exploding cant afford to be meddled with, lest it causes the world to explode in the process.... Its similar to the worse is better philosophy, low quality wins because it can be churned out quickly, it stays in place because the value proposition of replacing it is unclear or insufficient. When it comes to critical things, its very important that changing things has a definite, demonstrable purpose in regards to its outward effects, not just itch scratching. Aesthetic concerns matter little because the potential for disruptive effects is a near certainty while the upside is much more nebulous typically (the devil you know etc)
- joeyespo 11y agoI've observed a similar effect in my own work. I wonder if it's as simple as the capability to produce more smaller projects and fewer large projects. Curious if you produced a lot of smaller projects before having valuable ones.
- us0r 11y ago"He received no royalties for his work despite it being among the most used Windows applications of all time." Anyone know why he would receive a "royalty" (esp. as an intern)? I've seen big bonuses/stock options but never a royalty.
- incepted 11y agoNo reason. No employee at a company ever received royalty for the code they write for the company.
- georgemcbay 11y agoRoyalties are a thing in the game industry, not universal or even the norm, but they do exist. I mean, they do everything they can to screw employees out of them using Hollywood-style accounting, but it is incorrect to say "No employee at a company ever received royalty for the code they write for the company".
- oxryly1 11y agoTrue. I've both received and been screwed out of royalties while programming games on a salary.
- gohrt 11y agohttp://www.folklore.org/StoryView.py?story=Switcher.txt http://www.folklore.org/StoryView.py?story=Switcher.txt > I eventually negotiated the final agreement with Guy Kawasaki, where, in addition to the $100,000, I managed to get a 10% royalty of the wholesale price if Apple sold Switcher separately, which Steve swore they would never do, but eventually the royalty delivered another $50,000. This was written on a leave of absence, though.
- ido 11y agoHe explains in the first comment: A little clarification on Solitaire history. I wrote it for Windows 2.1 in my own time while an intern at Microsoft during the summer of 1988... ...A program manager on the Windows team saw it and decided to include it in Windows 3.0. It was made clear that they wouldn't pay me other than supplying me with an IBM XT to fix some bugs during the school year - I was perfectly fine with it and I am to this day.
- albemuth 11y agoAn interesting bit is that the design for the game came from Susan Kare from NeXT [1] and had been on the original Macintosh team. [1]https://en.wikipedia.org/wiki/Susan_Kare#After_Apple https://en.wikipedia.org/wiki/Susan_Kare#After_Apple
- piokuc 11y agoI wrote a clone of Solitaire in Turbo Pascal long time ago. I still remember the satisfaction of coming up with a recursive algo for uncovering safe tiles. The joy of understanding recursion, that was nice, ha ha!
- induscreep 11y agoWhat does "goofy message passing architecture to get polymorphism and inheritance" mean?
- yarou 11y agoProbably COM or its precursor. [0] Coding for Windows was fun back in the day ;) https://en.m.wikipedia.org/wiki/Component_Object_Model https://en.m.wikipedia.org/wiki/Component_Object_Model
- cek 11y agohttps://en.wikibooks.org/wiki/Windows_Programming/Message_Loop_Architecture https://en.wikibooks.org/wiki/Windows_Programming/Message_Lo...
- JDiculous 11y agoI think the most interesting part is that he now makes hard cider full time. A reminder that there's a whole world outside of programming.
- wstrange 11y agoSo a single intern single handedly caused billions of dollars in lost productivity :-)
- ThrustVectoring 11y agoNot quite. The intern is only responsible for the difference between solitaire and the time-wasting activity it substitutes for. I learned this when my parents tried to blame video games for why I wasn't doing homework. They didn't want to blame books when I substituted activities.
- ChuckMcM 11y agoI remember playing 'spider' on my Sun system back in the day (it was a form of solitaire) and once Don Woods (who was also working at Sun at the time) walked past my office and said, "Oh you like that? I wrote it." To which I could only reply he was responsible to two major time wasters in my early career :-)
- i336_ 11y agoThat's kinda cool. I'm curious: what was the other time waster? :P
- acqq 11y agoThe card deck was designed by Susan Kare: http://kare.com/portfolio/17_microsoft_solataire.html http://kare.com/portfolio/17_microsoft_solataire.html Anybody knows if that happened only once MS decided to publish the game?