Archive for the ‘Windows & MS’ Category

after an hour's fiddling…

Thursday, September 29th, 2005

Got GTK+/gtkmm projects compiling under Win32. Eclipse (CDT) doesn’t really know about pkg-config. So in order to get CDT to drive the command line correctly I had to put the `pkg-config –libs gtkmm-2.4` as part of a -l directive to the linker. It doesn’t work as just a link option since that puts it before the object files on the command line and results in link errors because of the one-pass left-to-right nature of the Cygwin (g++) linker.

Still, it works now. Hopefully in a future release of CDT miscellaneous link options after the object files will be allowed.

Computer niggles

Tuesday, August 23rd, 2005

… of my efforts to run a dual boot Gentoo/WinXP system.

The other day I ran across 10 days as a Linux user, the account of a Windows user’s self-imposed Linux odyssey. And it makes fairly interesting reading. As you know I’ve been a Linux user for hmm, over 10 years now (Slackware, Redhat, Mandrake, Debian, Gentoo at various times), but I’ve never quite managed to give up Windows. I recently upgraded my machine to an Athlon64 and I’m still in the process of smoothing it out.

There are problems on both sides. More on the Linux side at the moment, but the problem with Windows is that should I meet any problems there, they are much less soluble. Here’s the state of things at the moment:

My partitions are approx 40GB NTFS, 40GB ext3, 220GB FAT32. And miscellaneous gubbins for a Linux boot partition and swap partition. I use Grub as my bootloader, which works fine. Windows sees the NTFS and FAT32 partitions; Linux sees them all (but the NTFS is read-only). I set it up this way so that I could have a nice big data partition visible to both where I could store mp3s, code, etc.

So here’s my feature checklist, what currently works, and what doesn’t.

– Graphics drivers: Fine on both, thanks to nVidia. I have decent resolutions and hardware acceleration in Windows and in X.
– Sound drivers: Windows fine. Linux had some teething problems with mixing. I have it configured OK for most apps now, but I still get no sound out of KDE.
– Video playback: Windows fine. Linux untested. Playing back protected content under Linux is tricky.
– Web browsing: Firefox on both. No flash plugin on Linux because I run a native 64-bit system and the flash plugin isn’t available for 64-bit mozilla. I tried installing 32-bit Firefox binaries with the plugin, but I got sound issues. I only need flash for Homestar anyway. Java does work since I use the Blackdown native 64-bit Java VM.
– iPod: Windows fine. Linux a bit flaky on automounting with coldplug, but I can reboot the iPod to fix that if needed. So I can access the iPod as a normal drive under Linux. The real problem is that I haven’t got gtkPod working yet – it hangs all the time. Not sure why.
– Games: the only game I play on PC is World of Warcraft, and since I keep a dual boot, I haven’t bothered to try to get it working under Linux.
– Development: This is where the shared drive comes into its own. I have installed Eclipse on both sides (again, on Linux using the 64-bit Java VM) and use it pretty much interchangeably to compile the same source code. I also have Cygwin (to support Eclipse CDT) and MSVC on the Windows side; consider the 32-bit Windows vs native 64-bit Linux too and I have a fantastic level of portable code potential. The one problem I am running into is actually on Windows: I’m still trying to get OpenGL hardware acceleration running.
– Email: I use Thunderbird on the Linux side. I suppose I could set it up to use the shared drive, again, but I haven’t yet. So I have nothing on the Windows side.
– Webcam: Basically works under Windows, although it continually claims to find the new hardware. I don’t know why it can’t just treat it like a pluggable device and not complain. Under Linux, I load the pwc module but I haven’t got the pwcx yet. And there is some config yet to be sorted – camstream just displays grey, although it detects everything correctly.
– IM: Usually Gaim on both sides. Identical. But no alternative on Linux – I can’t videocon with the family like I do in MSN. Is gaim-vv getting anywhere?
– Printing: More difficult to set up on Windows than Linux. Since I use a networked print server, it works basically the same way on both systems. But as always Windows likes to hide the details.
– Office software: I simply don’t use it on either platform, so far. When I want to, I’ll grab on both.

Overall: I’ll be keeping both for a while. Windows because it has a few apps that I can’t replace (World of Warcraft, MSN videocon, flash plugin). Linux because it is cleaner (I know what is running), safer (I don’t need to run AntiVir, Spybot S&D, or Ad-Aware), and nicer in my daily usage (web browsing and coding). I have Grub set to boot Gentoo by default.

DLL Hell

Sunday, August 7th, 2005

Gaim & Eclipse don’t play nicely together!

At least not where Cygwin is concerned. The problem is the tcl dll you see. Eclipse (actually CDT) requires Cygwin in the path to be able to run gdb. gdb requires that I install Cygwin’s tcl. As soon as that happens, Cygwin’s tcl masks Gaim’s tcl and Gaim fails to run.

But if Cygwin isn’t in the path, try as I might, I can’t get Eclipse to launch gdb properly. However, I can get it to run make, g++, etc by setting the project paths correctly. Perhaps I can get this to apply to gdb as well.

Curiously, gaim runs correctly when I launch the exe, just not from a shortcut.

MD5: more meaningful collisions

Friday, June 10th, 2005

I previously wrote about how XBox videogame publishers can break free from Microsoft. It wasn’t so theoretical. This week, researchers showed how to get MD5 collisions with meaningful documents.

I wonder what method Microsoft will use to sign Xenon XBEs?

SHA-1 Followup

Saturday, February 19th, 2005

More re the SHA-1 result:

  • Around $30M (give or take a few million) should build you a machine to find a collision in a few days.
  • What previously took (say) the NSA 40 years to figure out now takes about a week.
  • A second preimage attack is theoretically 2106, according to a Schneier paper.

If a registered game developer conspires with the XBox linux guys, the birthday attack (269) is quite possible. Actually this raises an interesting point similar to the Nintendo vs Codemasters wrangles of the late 80s (if I’m remembering that correctly). Imagine you are a big publisher that has its own manufacturing processes and doesn’t want to rely on MS. Here’s what you do (would this work?):

  1. Spend around $30m to get a machine to find a collision. (Expensive, but $30m isn’t so much more than the cost of developing a big title – depends what this is worth to you).
  2. Write 2 XBEs – one is a game you have in dev, one is a generic loader program.
  3. Make it so that the SHA-1 hashes of the 2 XBEs collide. (Assumedly not too hard; use the machine, and adjust a bit of random padding on both until you get a collision.)
  4. Publish the game as normal through MS. They sign the game. But the crucial point is that the same signature that is now on the game will also fool a retail XBox into loading your generic loader program.
  5. Job done – you now have a loader program that you can use to run any game, without having to submit anything else to MS. Let the legal battles begin…