Live data from Hacker News

Why was Pinball removed from Windows Vista?

blogs.msdn.com

91–100 of 149 posts

Re: Why was Pinball removed from Windows Vista?

#91
post #8

Earlier quoted context omitted.

It's an argument for clear code that's readily understandable by other people. It's not an argument for any particular technique for achieving that goal. I've never seen any programmer seriously suggest that code should be deliberately made difficult to understand.

Respectfully, commenting code and making it easily readable don't usually add to the bottom line. So while we all miss playing Pinball, it would be a waste of money to the shareholders. This game was another casualty of maximizing value towards shareholders and away from all other stakeholders.

There's some commonly repeated (and likely even true to some extent) that ~60-70% of the cost of a software system is in maintenance. Which to me, sounds like if you're the contractor providing the system, that means 60-70% of the value is in the maintenance. It does mean taking something of a hit upfront so make things maintainable, but with the right billing structure you can be adding to the profits by Doing It Right as you go. It's certainly still a gamble though; you might not get the maintenance contract. You might be billing hourly and thus don't see any extra cash for your timesavings (and indeed, might see less).

Re: Why was Pinball removed from Windows Vista?

#92

This is an excellent example of why comments in code are so very useful, helpful and in my opinion, necessary. ... 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! To all those folks out there who kee…

Comments under the article seem to imply that most of the relevant code was somehow hand converted from (probably well commented) assembly to C which I only assume was done by someone who had no interest in how or why the code actually works, which seems to perfectly explain the lack of comments (or meaningful structure for that matter).

Re: Why was Pinball removed from Windows Vista?

#93
post #72

Earlier quoted context omitted.

Windows unicode support predates the existence of UTF-8 -- so that's great API design for Windows if you possess a time machine. The ANSI functions merely map to the unicode functions. In addition, the Windows Kernel is probably similar in API size to the Linux kernel. Of course, that's not nearly enough API for a complete Windowing operating system in either case.

The point is both Unix and Windows faced the exact same problem: needing to support larger characters. MS thought little and unleashed their army of coders to do something foolish. The Unix guys thought hard and did something elegant and sensible.

A huge amount of Unix software uses UTF-16 just like Windows (including Java). You're just being deliberately ignorant of the history. UTF-8 didn't exist and UCS-2/UTF-16 was the standard. One could argue that the Unicode Consortium screwed up assuming that Basic Multilingual Plane would be enough characters for everyone.

Re: Why was Pinball removed from Windows Vista?

#94
post #72

Earlier quoted context omitted.

Windows unicode support predates the existence of UTF-8 -- so that's great API design for Windows if you possess a time machine. The ANSI functions merely map to the unicode functions. In addition, the Windows Kernel is probably similar in API size to the Linux kernel. Of course, that's not nearly enough API for a complete Windowing operating system in either case.

The point is both Unix and Windows faced the exact same problem: needing to support larger characters. MS thought little and unleashed their army of coders to do something foolish. The Unix guys thought hard and did something elegant and sensible.

They didn't exactly face this problem. Linux kernel actually mostly has no idea of any kind of unicode or encoding except two places: character console code and windows-originated unicode based filesystems. It's interesting to note that NTFS in windows kernel implements it's own case folding mechanism for unicode and that this is also probably only significant place where windows kernel has to care about unicode.

Re: Why was Pinball removed from Windows Vista?

#95
post #28

argh > The source code was licensed from another company. If you want the source code, you have to go ask them. Twice this mystery company is referenced, but never a name is mentioned.

Look for Danny Thorpe's comments, he mentions that it was created by a company called "Cinematronics", which was later acquired by Maxis, which was then acquired by EA.

Re: Why was Pinball removed from Windows Vista?

#96
Apparently, you can just copy the folder across to an installation of the later versions of windows and it's "fully functional"

http://mspinball.weebly.com/

I can't try this right now, since I don't currently have access to a Windows machine, but can anyone confirm/deny this? Do you get the floating-point gravity bug?

Re: Why was Pinball removed from Windows Vista?

#97
post #60
post #49

Earlier quoted context omitted.

MS implemented NT, which only worked in Unicode. They had to add a compatibility layer to run Ansi apps. Which is MS's separate OS for 64-bit? OS APIs are distinct from kernel APIs. You're comparing a kernel (Linux) with a distribution (Windows).

Which is MS's separate OS for 64-bit? I believe you'll find it to be Windows 64-bit Edition. A quick googling suggests that Windows 7 retail copies have both 32-bit and 64-bit editions, but I'm guessing you still have to pick the right edition when you go to install it. And if you don't have a retail disc, then you probably only got one of the two architectures. Compare this with Mac OS X, where there is no "32-bit e…

>Everybody installs the same OS, and it transparently works for both 32-bit and 64-bit machines.

Or doesn't work. Didn't the recent releases drop support for 32-bit Macs?

Re: Why was Pinball removed from Windows Vista?

#98
post #82
post #38

To me, the lesson is: Do not duplicate code! and keep it simple stupid When implementing Unicode, MS said "hey let's copy all of our API functions to new names". Now they have two problems. When implementing 64-bit, MS said "hey let's have a completely different OS for 64-bit." Now they have four problems. Compare this to Unix/Linux/MacOS where Unicode is just implemented as a standard way (UTF-8) of encoding charact…

Confusing the Linux kernel service API and the OS API is pretty misleading.

Even when you look at syscalls themselves there is difference: Linux kernel deals with mostly opague strings of bytes (that are today by user-space side convention mostly utf-8) while NT kernel deals mostly with UCS-2 unicode codepoint strings (that are sometimes UTF-16 and this way madness ensues).

Re: Why was Pinball removed from Windows Vista?

#99
post #56
post #52

Earlier quoted context omitted.

Nah I didn't think that at all, it was clear from the way you said "minimal commenting". I just have an axe to grind when it comes to comments of the form // assign the integer value 10 to the variable x x = 10

What's really annoying is that most of the time you see this kind of comment there is no explanation why 10 was chosen.

That's why you should use constants. Still self documenting without the need for comments (usually).

Re: Why was Pinball removed from Windows Vista?

#100
post #83

Earlier quoted context omitted.

First, it was not a minor bug, it is a major bug that made the whole product unusable. Second, the whole code base was one big, nasty, uncommented mud-ball. From the article: "... we simply couldn't figure out why the collision detector was not working. Heck, we couldn't even find the collision detector!" I was genuinely curious to hear how you think sprinkling fairy dust open source on top of the mess is going to ma…

People not in the middle of working on the program don't understand the magnitude of the problem and it's way easier to be an internet warrior shooting off their mouth. GP's comments made it appear to be trolling. In fact the problem was way worse, the program used floating point for movement computation and could accumulate floating point errors along the way and moved too much. The floating point size was changed i…

[deleted]
Post reply on HN