WhoLockMe Mac OSX

Who's locking Me?
From time to time I find myself working across a bunch of programs. Because I have a new Mac I’m very conscious of moving files around, organizing and keeping my trash bin empty. Every so often I run into a locked file. On the PC I got comfortable with WhoLockMe, a program that would hunt down the process locking the file and give you the option to quit it. Today I thought I’d look for an OSX equivalent. I found one. Going to try it out now…

I got it!

I just ran the Blackberry compiler from Maven… on my Mac. Two cans of Pabst Ice and one Mike’s hard cranberry lemonade into my dev cycle and I finally see a “.cod” file show from a pyx4Me project! It’s in the wrong folder, project root vs. projectroot/target but I can live with that for now. Anyone know a groovy way to set the working directory from a command string run by the overloaded String.execute() method? I don’t wanna call out to Runtime.exec and I don’t wanna write a bunch of platform checks in my plugin. Right now I’m one too many drinks swallowed to know whether or not String.execute() implies platform. In other words I don’t know if I need to code a prefixing “cmd /c ” on my string and check for Windows before calling String.execute(). I’m not happy with the impl because there were a few things I wanted to do better. Right now I’m spawning a java process because the GMaven plugin doesn’t set the rootLoader, which means I can’t dynamically append to my classpath. I’ll either have to set the rapc.jar as a dependency or figure something else out. I’m just glad I got this far! More updates later…

Run Progaurd Preverify os OSX?

Last night I went heads down researching and trying to figure out how to get passed the infamous preverify hurdle when building J2ME apps on OS X. I’m happy to report that I’m an idiot. I went through a boatload of trouble finding and almost attempting to fix a bug in the Antenna preverify task as it is slightly broken on OS X. I emailed everyone I could think of who had anything to do with Antenna, the Maven2-J2ME-plugin, and OS X. I submitted to blog posts along the way as I worked. Just moments ago I found what looks like a much more simple fix. The Pyx4ME project includes support for Progaurd which now includes a preverifier! I completely overlooked this option as I waded through mounds of documentation al from different sources regarding the best way to get past preverification on OS X.

I just ran a build with the Progaurd preverify option and it succeeded! I haven’t tried to run it or anything… that step comes next. I’m all too excited to see something actually run all the way through on my Mac.

I must admit that I’m slightly hesitant to take this approach due to the frailties our team has found with build time tools for J2ME. I’m speaking about issues with different JVMs, different obfuscators, too many obfuscators, lack of obfuscators, preverify configuration, application signing methodologies, and every other flaming hoop you have to leap through to get a decent build for a single device. I’d go into detail but I wanna keep plugging away to see how far my insanity can carry me.

Run WTK preverify on OSX!

In other breaking news I found a possible way to do true cross platform WTK development. If you’re not familiar OS X is the one platform where you really can’t do JavaME unless you’re really really savvy! The missing too is preverify. (An intel Mac compatible version can be found deep in the bowels of the PhoneME source download.) There’s the ol’ MPowerplayer preverify tool but that’s a little dated and out of synch with the WTK preverify tool. As a result you’ll find tools such as the EclipseME and Pyx4ME plugins won’t work with it. (Actually I believe EclipseME has Mpowerplayer support but I haven’t tried it.) I’m gonna keep this short so I can work on it. There’s this cat that’s blogging about doing cross platform JavaME development and I’m reading the blog now. On the blog he explains that the preverify tool in the PhoneME MR2 download under phoneme_feature/cldc/build/share/bin/darwin_powerpc/ will run on an Intel Mac. I just tried it on my 2.4Ghz MacPro running Leopard and I was able to bring up the help text from the command line. I’m loosely following his write up and a few other tutorials and links in an attempt to create a deployable Blackberry J2ME project using Maven on my Mac. We’ll see how far I get.

Run The Blackberry Compiler on Linux

Run rapc on Linux? Rapc for Mac? BSD and rapc?

Seriously, is this possible? I’ve been wondering for a while how feasible it would be to do J2ME development full time on a Mac or Linux machine and I dunno… it sounds reasonable at times and far fetched at other times. Today I found this gem. A guy supposedly got rapc, the Blackberry compiler, to work on a Linux machine. I’ve personally managed to sign Blackberry apps without requiring a full JDE install so maybe this is the other half of what I’ve been looking for? Here’s a shameless copy from the forum, in case it ever get deleted or lost:

1. Compile normal midp-2.0 midlet with J2ME SDK from Sun
2. set up $WTK_HOME to point to your J2ME install, $RIM to point to
your JDE/MDS/classpath, and $APPNAME to your app name
4. cd to $WTK_HOME/apps/$APPNAME
3. run
java -jar $RIM/rapc.jar import=$RIM/net_rim_api.jar \
codename=$APPNAME -midlet jad=bin/$APPNAME.jad bin/$APPNAME.jar

Your .cod file will end up in current dir. bin/$APPNAME.jad will be modified to contain all
BB-specific info.

I’m looking to do something with this knowledge. I’ll post back if I ever come up with something.

Mac gets a failing grade

Ok this is just ridiculous…

Maybe it’s because I got in the game all late with the “now I love my Mac too!” hype. Or maybe I’m just too much of a geek. I’ve been using my Macbook Pro for some time now and certain things I’ve been trying to ignore while still hyping and promoting it. Today I had one of those moments where enough is enough. It all started when a buddy referred me to a recent Javalobby post describing the shortcomings of Leopard. Honestly I saw the whole Java 6 nightmare months ago when I installed the preview version on my other Macbook and totally hosed it when I combined the QuickTime 7.1 update. So then I was like, “ok… I don’t need Java6. It’s still new and most of the good stuff is in Java5 anyway, right?” Plus since I’m doing embedded I haven’t felt the pain of missing out on Mustang goodness. So far so good, right? Well there have been other toe-stubbers that as of this morning have pushed me over the edge.

Something Simple
I wanted to do something really simple this morning. Something that we often take for granted. I wanted to open a PDF. I’ve been apologizing for Preview for too long and this morning I thought, “gee wouldn’t it be great to get that ol’ Acrobat integration I used to have on both Windows and Linux?” So I go to the Firefox “File Types” preferences page to tell it to use Acrobat for opening files. For some crazy reason I can’t add a file type for PDF. That’s no big deal because I really want to inline Acrobat in Firefox. So I go searching for the extension to make it happen. I end up here. That’s not as bad as what happens next. After downloading and attempting to install the PDF Browser plugin I get this wonderful message:

There is no default application specified to open the document “PDF Browser Plugin”

As usual I over analyze the intent of the message and completely misunderstand. (I actually just figured out what it means after typing the message into this post.) So then I go back to the site looking for install instructions, I even look at the readme to figure out what to do. I get completely lost and frustrated because all I wanted to do was open a doggone PDF and now it’s 10am and I’m in the middle of a long blog rant and I still can’t get PDFs to inline in my browser. Yes I know what I’m supposed to do with the plugin now but let me ask you… how many OS X newbies would be able to figure out what to do at this step? Why provide a DMG without an easy to use installer? I’d much rather have a tar.gz with the readme because the dmg implies that alls I haff tuh do is double click the plugin to get it to install. That said, I am fully aware that Apple is not responsible for the confusion I experienced with the “PDF Browser Plugin”. But why does it have to be so hard to read a PDF the way I used to?