Category Archives: Technology

Installing FFmpeg with H264 support on Mac OS X (Mountain Lion)

If you are installing Adobe CQ5, you’ll love the fact that FFmpeg integration is supported out of the box. The bad news is that due to licensing restrictions Adobe does not bundle FFmpeg with the standard CQ installation. Another issue is that the “standard” FFmpeg build does not include support for H264 which is useful for video playback on iOS devices etc.

Given that I had to repeat the installation process recently after reinstalling my MacBook AIR with Mountain Lion, I took some notes compiled from a few different sites into one quick cheat sheet. Note that this will take at least an hour to complete due to the need to download and compile a bunch of stuff. Continue reading

Building a robot: Dagu Magician Chassis & Arduino

I’ve been reading quite a lot about Arduino & open source hardware recently and managed to build my first robot! Since I learned quite a bit in the process I wanted to share the experience.

This robot is based on the Magician Chassis from Dagu using an Arduino controller & Monster Moto Shield. I order the kit from Australian Robotics who have had really good service and delivery times.

Robot parts

I approached the building in a few stages;

  1. Assemble the chassis
  2. Program the Ultrasonic Range Finder
  3. Program the Monster Moto Shield
  4. Combine the above three steps!

Assemble the chassis

Assembling the chassis was quite simple. Most of the pieces simply screw together although I had a bit of fun trying to get the motor mounts to snap in place. They were a bit tight but managed to fit so if you experience the same then you should get there eventually.

Assembled Motor & Wheels

 

Programming the Ultrasonic Range Finder

This part was fun and my first experience doing something more interesting with an Arduino beyond blinking a LED. I used a breadboard and experimented getting the range finder working in isolation. This is generally a good way to approach building anything, as once the range finder was working I knew that code was fine and could go onto the next step.

Before moving on, I made one simple mod to the basic range finder sample, and that was to add a feedback LED so I could see when the robot detected something in front of it. Not needed, but good for debugging.

In the picture below you may notice an Ethernet Shield, this is not needed and was simply part of my test environment.

Ultrasonic Range Finder on breadboard with Arduino

 

Assemble & Program the Motor Shield

This is the part of the project was the most challenging. I made a few mistakes but got there in the end.

First of all I could have probably gotten away with just using the cheaper Ardumoto – Motor Driver Shield rather than the Monster Moto Shield but after watching the demo video on the Sparkfun site and viewing some images, it appeared that that was the recommended controller and being new, I wanted to make sure things worked.

The blue screw terminals shown on the board below are not supplied so you’ll need to purchase and solder these on as well as the risers (not shown below) so it mounts on the Arduino board. If you are new to soldering (or a bit rusty as I was) you may want to practice on something else before burning out a $80 board. For this I used a different cheap Arduino shield to practice on.

Monster Moto Shield

My last hurdle was powering up the motors. I made the mistake of thinking that the motors would be powered via the base Arduino power source and spent a few hours scratching my head trying to work out why the motors wouldn’t start even though the board had lit up. I emailed SparkFun tech support and they quickly set me straight (thanks Michelle!) and advised that I’d need an additional power supply even though one was not shown in the photos. I connected a second power supply and voila! We have movement!

Putting it all together.

All that was left now was to combine the 3 stages above. Merging Arduino code, putting the sensors on the robot chassis and start testing it out. This part was smooth sailing and after a couple of trial runs and tweaks to the code, I’m quite happy with the results.

Side view of complete robot  Top view of completed robot

 

Here is a video of the completed robot

If you are interested in building something similar, here is the final Arduino code I used

SensorBlinkMotor.zip

 

Now comes the hard part.. what to build next? Stay tuned…

How I configure my Windows 2008 R2 demo setup

Given that I often demonstrate Adobe’s server products (LiveCycle ES and others) I typically have a server centric environment on a VMWare image stored locally on my laptop. I have (finally) upgraded my demonstration environment from Windows 2003 to Windows 2008 R2. Since I often get asked how and why I set up my demo environment the way I do, I’ve captured some notes and share them

I won’t cover the actual OS installation, so i’ll assuming the OS & drivers are installed and you’ve run Windows update. First, in order to make the OS look slightly more familiar, I install the Desktop Experience feature using Server Manager, or with the following command line:

  • ServerManagerCmd -i Desktop-Experience
This will install the Windows Aero and other desktop themes, along with a lot of other programs that go into Vista by default (Windows Media Player, Windows Photo Gallery, etc.). Next, you need to set the Themes service to Automatic and start it. For Windows Server 2008 R2:
  • Click Control Panel > Appearance and Personalization
  • Click Personalization and select the Aero Theme

Stop the annoying Windows server shutdown event tracker. Each time you reboot you have to log a reason why… useful in production, but ANNOYING in development & demo. Continue reading

Screencasting your Android

Quick post to share a great utility for anyone like me who would like to show off their Android app on a projector. In my case I’ve been demoing the latest Adobe Reader, LiveCycle client, Acrobat.com, Photoshop Express apps from Adobe as well as some samples created with the upcoming AIR for Android.

Screencasting an Android

The problem is that I used to use a web camera and try and hold the phone in front of it while demonstrating. What I’ve started using now is AndroidScreencast (http://androidscreencast.googlecode.com). It’s a java app that displays whatever is on your Android device onto your PC. The screen refresh rate is not amazing, but it does work on Mac, Windows & Linux!

All the gory details are on the project site, but it works great!

How to fix PDF previews in Outlook 2007 64 bit

If you’re like me and have finally made the move to a 64bit version of Windows, be it Vista or Windows 7, you may have come across an annoying glitch related to PDF previews within Outlook 2007. Instead of displaying the PDF correctly you receive an error similar to “This file cannot be previewed because of an error with the following previewer: PDF Preview Handler for Vista –  To open this file in its own program, double-click it.”

Adobe Acrobat and Reader both come with Adobe PDF preview handlers for Outlook but the installer has a mistake which means the preview handler does not work on 64-bit systems. It turns out the problem can be fixed via a simple registry change.

All that needs to be done to correctly preview PDF docs in Outlook 2007 64bit is to first download the latest Adobe Reader, then add the following key to your registry;

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodeClassesCLSID{DC6EFB56-9CFA-464D-8880-44885D7DC193}]
"AppID"="{534A1E02-D58F-44f0-B58B-36CBED287C7C}"

The fix should only be applied to 64-bit versions of Windows that have Adobe Reader installed. Don’t apply the fix to 32-bit versions of Windows.  To install make it easier to configure, download the adobe_pdf_x64_fix, unzip then double-click the adobe_pdf_x64_fix.reg file and follow the prompts.


thanks to http://www.pretentiousname.com/adobe_pdf_x64_fix/index.html for this workaround..