The Quest for PN on OS X

As many of my readers know, my favorite application on Windows is called Programmer’s Notepad. I’ve been using it for about 6 years or so (since at least early 2000) and I am really comfortable in it. This is my story – still in progress – of getting this thing to run on OS X. It covers the first part of the quest – including SciTE, ReactOS, Q, and Parallels. Read on for more.

My quest started long ago when I asked Simon if he had ever though about PN on Linux. I tried to run it via Wine years ago (see [[http://osnews.com/img/1803/lindows7.png|screenshot from 2002]]. Since then, I’ve tried to replicate this setup with little success. When Xandros 3 came out, I tried to run PN2 via Crossover office and it runs well enough, but not well enough for everyday actual use.

When I jumped over to a Mac in 2005, I asked Simon again about porting PN. Turns out this is pretty much impossible. Yes, SciTE and Scintilla can be tricked into running on a Mac, but to build PN you need WTL (Windows Template Library), which is based on ATL (Active Template Library), neither of which exists for OS X, nor can I find an effort to build a drop-in replacement for them for OS X. So building PN natively is not something that can be accomplished, it’s not something that can be ported – it must be rewritten. From scratch. And that ain’t gonna happen.

SciTE on OS X
Click image for a larger view

So recently, when I found out that Parallels has something called “[[http://digg.com/search?s=parallels+coherence|coherence mode]]” which allows you to “disjoin” your windows from a desktop and layer them with OS X apps (probably not – more likely it’s just a transparent desktop). I decided it was time to take another swing at getting PN on my Mac. Since then, I’ve been happily using [[http://codingmonkeys.de|SubEthaEdit]], which has served me just fine, but I miss PN. Yes, I realize PN will not integrate terribly well with the OS X desktop experience, but I don’t care that much. I’m very handy with it.

Before taking the dive and going XP, I had a thought. What if instead of running XP, I ran [[http://reactos.org|ReactOS]]? ReactOS aims to be Windows binary compatible. If I could pull this off for free, I though, so much the better. I downloaded the latest release, ReactOS 0.3.1 and tried to boot it in my demo copy of the latest beta version of [[http://parallels.com|Parallels]]. Upon boot: “Unable to locate boot partition” D’oh.

ReactOS boot error on Parallels
Click image for a larger view

So I tried booting the ISO in “Q” which is a Cocoa-based front-end for Qemu. I was able to get it to boot and install. However, it was slow as molasses.

I found a newer build and was able to get it to install in Q. Again, it was so slow it was unusable, and it crashed every 30 seconds. iBrowser didn’t work at all, and Firefox would crash when I tried to download a file.

Several downloads later, after visiting the forums and getting lightning fast responses from “Ged,” one of the ReactOS forum admins, I located the nightly builds from the latest Subversion trunk. Interesting that the nightlies were VERY hit or miss. The latest nightly tagged -rel (for release, I’d imagine) would not install, it would give me an error. So I went back to Parallels and gave a Dec4 -dbg (for “debug”, natch) build a shot. And bingo – I got it installed.

ReactOS 0.4-svn ran about 200 times faster in Parallels than it did in Q. It was almost usable! So I jumped online and tried to download PN. Sadly though, double cliking the exe file would do one of two things: the first time, it would fail outright, sometimes displaying an errant “Next” button as though a phantom window might have surrounded it, but didn’t. The second time, it would simply bluescreen the entire OS and kick me back to the Parallels launch screen.

Downloading PN2 on ReactOS
Click image for a larger view

Now, for the record, Parallels can bring your Mac to its knees, and I’m not even kidding a bit. When Parallels is unhappy, it will take down your entire system. Even though I never allocated over 256 MB and 4GB of my 2GB/250GB system to it, it would slow me down to NOTHING. Honestly – the dock would stop bouncing, the magnifcation would freeze, and if I could bring up Activity Monitor, it would show pmTool eating everything up (which is, itself, the Activity Monitor, which makes no sense). I can’t blame ReactOS for any of that. ReactOS looks cool, although it appears it has a long way to go before it’s much more than proof of concept. Very cool to see things like Notepad running like a champ, but I don’t think many EXEs will run out of the box. My next step is to run PN on ReactOS without an installer and see how that works.

So stay tuned for chapter 2 of this.

Tagged , , , , , , ,