Tag Archives: source

Windows 2000 Source Code

Several days ago, two files containing Microsoft source code began circulating on the Internet. One contains a majority of the NT4 source code: this is not discussed here. The other contains a fraction of the Windows 2000 source code, reportedly about 15% of the total. This includes some networking code including winsock and inet; as well as some shell code. Some other familiar items include the event log, and some of the default screensavers.

There has been some speculation that while the bulk of the source is genuine, some of the comments have been tampered with to embarrass Microsoft. This is difficult to disprove, but I find it implausible. The embarrassing comments occur on thousands of lines, in realistic places. Furthermore, if someone had done that, it would have been easy to make the comments far more incriminating.

In the struggle to meet deadlines, I think pretty much all programmers have put in comments they might later regret, including swearwords and acerbic comments about other code or requirements. Also, any conscientious coder will put in prominent comments warning others about the trickier parts of the code. Comments like “UGLY TERRIBLE HACK” tend to indicate good code rather than bad: in bad code ugly terrible hacks are considered par for the course. It would therefore be both hypocritical and meaningless to go through the comments looking for embarrassments. But also fun, so let’s go.

via We Are Morons: a quick look at the Win2k source || kuro5hin.org.

#349916 – Pastie

Zune Source Code FAIL

via #349916 – Pastie.

The offending function from the source code of Zune’s that caused the huge, epic Zune failure.

For those of you that don’t know how it managed to fail (myself included), see this Digg explanation for more:

Ouch.

For anyone who is wondering or just doesn’t want to figure it out, Dec. 31 qualified as being greater than day 365 (obviously, because it was day 366) but it got caught where the program says to look at (days > 365). The problem is that there was no code for what to do if the day *equals* 366, only if days is *greater* than 366. So, there was no way to break out of the (days > 365) loop until today (day 367) when the program would reset days to 1, thereby breaking the loop.

Whoops. It’s amazing what one bad “if” statement can do.

Heh. Amateur mistake, I know…

aXon Ube|2gasm LANs are AWESOME!

Long story short: My week this week consisted of a trip up to Devonport to stay at Rob’s place.

On Saturday, we went to the aXon Ube|2gasm LAN – a LAN party of epic proportions.

Some highlights:

  • Martin W’s computer wouldn’t start. That thing seriously has issues. I managed to get it started by holding down the power button after it crashed, and then starting it normally again. This wasn’t tried before – and none of the other solutions worked. Mind you, this was after we had been at the LAN for 4+ hours – and only about 3 hours before we left. Notable quote: “I’d pay just so I could leech.”
  • Martin P also had computer troubles – his computer managed to BSOD on him not once, twice, but thrice. CS: Source also wouldn’t open in Steam for him – so he managed to get an aXon version which worked perfectly. Notable quote: “I’m giving up.” (After a particularly vicious L4D session).
  • James G will never live down the fact that he had over 300GB of files queued for download in DC++, a file-sharing utility. 300GB! Notable quote: “But it was downloading stuff I didn’t want it to!” – Yeah, right. Anyways, he was the man who forgot any sleeping gear of any kind, as well as bring no monitor. But really – he did try to download 300GB with only 190GB total HDD space…
  • Rob K was kind enough to lend us his computer while he was away, as well as his internet, hot water, toilet, house, cat, vast media collection, etc. He’s a top bloke. He enjoyed playing some particularly quirky games at the LAN – Savage, COD4, as well as CS:S. However, his computer did manage to chuck the BSOD – twice, but not while he was using it. Alas, it was the 300GB James G…
  • Benny L didn’t use the computer he brought up. Instead, he used Klutz’s machine – which was more than capable for CS:S and L4D. Huge thumbs up to Klutz for trusting us with his computer. I also managed to bring down more gear than I brought up – care of a 20″ BenQ monitor I bought in Launceston from a fellow MacTalker. It’s quite awesome. Notable quote: “It’s harder than it looks!” (Epic Lego Star Wars on the 360), and “<3 flashbangs” (while NoSpoon was getting pwned in the CS:S tourney).

It was unfortunate that the NoSpoon clan got pwned in the CS:S tourney at aXon -we got really, really pwned. It was embarrassing.

Anyway, Rob will have photos up soonish – so I’ll just link him here: www.jawapro.com

I Love WINE!

Well, as some of you may already know, I’m one of those people that game on a Mac. One of the select few, who, despite crappy integrated graphics, try their best to game (CS: Source being the FPS of choice) on what hardware they have.

Now for some strange reason I can get Source to run under Steam (the gaming portal of choice) under Windows, under Apple’s way of Bootcamp – which is pretty much an emulated BIOS, since Mac’s use EFI nowadays.

However, under native Windows it runs great – as a slideshow. I get maybe 5-10fps – totally unplayable.

I even took the step to borrow and upgrade a computer that was just lying around to be able to run Source – something it now does a LITTLE better than it did. Only thing I did was up the graphics card from a Nvidia MX440 to a FX5500 – however, the mobo’s audio is screwed as a direct result of me giving the board a good shock a couple of years back – luckily, the processor, ram, HDD, and all the other parts are still fine. We replaced the case, PSU, and the board now works – albeit loudly as the fan for the PSU is attached to the heatsink by 4 different screws, none of which quite fit properly. Result? Massive vibrations and noise.

Luckily, I’m an advocate (glorified beta-tester) for this great app called CrossOver, by CodeWeavers. It’s basically a cross-platform app that emulates a VERY BASIC Windows environment so that your Windows apps like Office, Internet Explorer *shudder*, and other productivity-based apps. I use their derivative product called CrossOver Games, their Windows emulator designed purely for games (and Mac/Linux gamers!) in mind. From their website:

Based on the latest Wine Games development work, CrossOver Games allows Mac and Linux users to run their favorite Windows games in the environment of their choice. No rebooting, no switching to a virtual machine, and no Windows Operating System license required; CrossOver gives you the best performance possible if you’re not running on Windows.

For those of you that don’t know, it’s based on the WINE package – one of those recursive acronyms for “Wine Is Not an Emulator”. Basically it uses X11 under OSX for GUI stuff, and then wineloader is the process that makes the magic happen in the background.

Again, those of you that are in the know would have heard that WINE 1.0 was released not too long ago – CrossOver games was updated as a result of this. Now before the update to WINE 1.0, I had a couple of strange issues – things that I put down to WINE incompatibilities.

However, one particular issue frustrated the heck out of me – in Source under CX Games, I couldn’t play on Internode servers.because of their “server start screen”, that screen when you join a server, and says things like “Don’t Cheat!”, and “The player of the week is NOT YOU!” Now for some strange reason, I couldn’t click on the “OK” button underneath that screen on any Internode server. Bizzarely, GameArena (BigPond’s gaming portal) servers didn’t load the “Don’t Cheat!” screen either, but I could just hit OK and then all would be, okay.

With the WINE 1.0 update, and the corresponding CX Games update to 7.1, I am pleased to report that Internode servers on Source, under CX Games on OSX, now work.

Here blogs a happy, integrated-graphics card, Mac OSX gamer, all thanks to CodeWeavers and Crossover Games. And, of course, the WINE dev crew. Kudos to you, guys!

Comments below.