Tuesday, August 14, 2012

OSX HP48 Emulators

I recently brushed the dust off my trusty HP48SX calculator I used in college.  Back in 1991 it was my prized possession.  After all these years stuck in my desk drawer at work, it still works great.  I'm still blown away at how much it can do.

Unfortunately, it is not a calculator I want to carry around with me (you would need really big pockets).  Luckily there is a great free version of the HP48GX available for iOS: m48  This does so much more than 99% of the paid calculators available (not to mention nice extras like unit conversion, loan amortization, etc).

After spending some time rediscovering how to use the dang thing, I wanted to maximize my investment and use the equivalent on my desktop machine.  Unfortunately, it doesn't look like there is much available, other than a paid version in the AppStore.

However, I was able to get the x48 0.6.4 emulator compiled for OSX.  The only drawback is that it requires XQuartz/X11 to be installed (no longer default with Mountain Lion).  I also bundled the app with Platypus which works great.

Here's a screenshot with an extra memory card installed (see the readme/docs for instructions).

So, without further ado, you can grab the binary or the source.

Have fun!

Tuesday, April 20, 2010

AVCHD (Lite) iPhoto Importing

A few months ago I bought a Panasonic DMC-TS1 digital camera. One great thing about this camera is that it shoots 720p HD videos. They look amazing. The problem is that iPhoto does not recognize the HD video format (AVCHD) used by the camera.

iMovie is able to import the videos, but converts them to a much larger file format in the process.

I really like the ability to intermix my photos and videos within iPhoto and generate slideshows that include both. Most of the solutions on the internet that I've found require a lengthy re-encode, which also results in a quality loss.

Luckily, I came across a thread that describes a near perfect solution that is completely free! Rather than re-encode the H.264 video and AC3 audio used by the camera, you simply have to convert the file format from MTS to MP4 (or M4V as Apple likes to call it). The audio and video remain untouched during the conversion.

This can be done with a freeware command line utility called ffmpeg. The command format is extremely simple (and fast!):

./ffmpeg -i [INPUT].mts -acodec copy -vcodec copy [OUTPUT].m4v

For those that don't enjoy running things from the command line it is also possible to implement an Automator application to handle the conversion. I've modified the Automator application from the thread mentioned above to automatically set the time and date of the new file to match the original file. This optional step helps keep things easy when importing into iPhoto.

I have also bundled everything you need into an Automator app called "CovertToMp4", including ffmpeg and the command line utilities needed to modify the date/time of the new files. Beware, if you modify and save the application using Automator it will overwrite the ffmpeg and utility binaries in the bundle. Be sure to copy them out before you save!

To use the bundled application, first copy the "ConvertToMp4" application to your "Applications" directory (it won't work in any other directory as it needs absolute paths to find ffmpeg). Then drag and drop the MTS files you want to convert on top of the application icon. A m4v file of the same name will be generated. These m4v files can then be imported into iPhoto. I've found that dragging more than 5 or 6 at a time doesn't always work.

I usually create a directory on my Desktop and copy the MTS files from my camera to that directory before doing the conversion. On my camera the MTS files can be found in the /PRIVATE/AVCHD/BDMV/STREAM directory on the SD card.

I've only tested this on my iMac, so let me know if you have any problems getting it to run on your system.

One last thing... Quicktime does not natively support AC3 audio, so if your camera uses AC3 for audio you will need to install the a52codec or Perian (which includes additional a/v file formats and codecs using Quicktime).

Friday, October 9, 2009

IE WebKit Add-On - Part Duex (Google Chrome Frame)

Looks like someone at Google thinks a lot like me. They have announced an Internet Explorer plug-in that does just what I proposed in my blog entry from a few months ago.


Not surprisingly, it doesn't look like Microsoft is too happy about it, although the reasoning behind Microsoft's objection (i.e. it makes IE6 less secure) is anything but logical. Come on MS, you got to be able to come up with something better than that!

A bit more surprising (at least for me), is that Mozilla is not happy about it either. Perhaps they don't like Google beating them to the punch, as Google Chrome Frame is an excellent Trojan-Horse for Google's Chrome browser. Not to mention, it builds name recognition for Google's Chrome OS coming in the near future.

Next stop, Google Chrome OS Frame for IE6?

Thursday, October 8, 2009

2009 Bass Lake 250

A friend of mine pointed out that my 15 minutes of fame have started. Someone captured some pictures of me on the Bass Lake 250 dual-sport ride over the weekend and posted them here:

It was a great ride! Saturday was a bit dusty, and it was my first ride with using a roll-chart. We started as a group of 4, but were separated within the first 30 minutes. I guess we weren't the only ones a bit confused, as we ended up giving directions to several groups of riders that we encountered along the trail.

Sunday was cold and amazing, with a light snowfall dusting the trees, and an inch or so of fresh powder to keep the trails dust free. Unfortunately, we only completed the first half of the planned ride in the snow. At the time, there was no telling if the storm was going to stay mellow, or turn nasty.

Monday, July 20, 2009

Moon Landing a Fake?

My Mom told me that something like 28% of the population born after 1969 believes that the moon landings were a hoax. I'm so happy that a large chunk of my income is being so well spent on education. Some of the details can be found here:


Here's a link with some facts if you run across any idiots that think the moon landing was fake:


I also loved Ken Rockwell's article on the raw power of the Saturn V Rockets:


1 billion HP, that's some serious power...

Tuesday, June 16, 2009

IE WebKit Add-On - A Possible Solution for Internet Explorer Compatibility?

As many web developers know, getting web sites working with Microsoft's Internet Explorer (especially IE6) can be frustrating at best. Unfortunately, IE is the most popular browser, so not supporting it is simply not an option.

As the newer standards based HTML 5 web technologies become available on browsers such as Firefox, Safari, and Opera, supporting IE will become an even a larger burden for developers. And in many cases, it is not in the best interest for some large players (Microsoft and Adobe included) to quickly rush adoption of these new standards. The recent InfoWorld article regarding HTML 5 explains aspects of this in detail.

This whole thing got me wondering if a plug-in approach could be used for adding alternative rendering engines into IE itself. All it would take is for someone to create an IE plugin (i.e. BHO or Content Extension) with the open source WebKit rendering engine at it's core. A little bit of redirection magic when IE is detected, sends the user to a page to install and launch the IE WebKit add-on, and we're done. This same approach works for Adobe Flash and Microsoft Silverlight. Why not for viewing HTML 5 documents?

Monday, June 15, 2009

Overheard from the Bathroom

The following is a couple conversations between my son Nolan (he's 4) and Aunt Barbie while she was visiting a couple weeks ago:

Nolan (from the bathroom): "OH MAN! Not again."
Barbie (overhearing from the living room): (concerned)"What happened?"
Nolan: "I peed on myself."

A little later while dealing a friendly game of Uno (with only 10 cards):

Barbie: "We need some more cards."
Nolan: "How many cards you want?"
Barbie: "How about 150?"
Nolan (excited): "Thats the whole deck, baby!"