no such file to load — openssl (RuntimeError)

I was trying to deploy an older Rails 2.2.2 app to a new server and when I started up the application, I ran into the following error:

in `require_frameworks': no such file to load -- openssl (RuntimeError)

Hmm…my app doesn’t even use SSL. Whatever…(think this is because capistrano is involved?)

To fix this, I installed openssl by running

sudo apt-get install libopenssl-ruby1.8

Success!

Changing video playback speed

I was using iMovie ’08 to do some video editing and I wanted to turn a one hour long video into something shorter.

It turns out iMovie ’08 doesn’t support a slow/fast motion effect even though previous versions supported this. I struggled to find a good alternative that allowed me to speed up playback of my video.

I ended up using two command line tools. FFmpeg and MJPEG Tools.

I installed both using MacPorts:

sudo port install ffmpeg
sudo port install mjpegtools

The command to create a fast motion video was:

ffmpeg -i [input_file] -f yuv4mpegpipe - | yuvfps -s [frame_rate] -r [frame_rate]  | ffmpeg -f yuv4mpegpipe -i - -b 57600k -y [output_file]

where

  • input_file – the original source file
  • frame_rate – the resulting frame rate (X:Y)
  • output_file – the output file

The key here is the frame_rate value. Assuming your original video file is X and you want your video to play N times faster, you should sent your new frame rate to be (X*N):1 For example, if your video has a frame rate of 25 fps and you want to increase playback by 4 times, you should use 100:1 for your frame_rate value. You can use the same command to create a slow motion movie. If you wanted to slow the video down to about half speed, you would use 12fps or 13fps for a 25 fps movie. You can find the current fps of your video by running

ffmpeg -i [input_file]

What I did to turn a 50 min movie to a ~12 min video:

ffmpeg -i video.m4v -f yuv4mpegpipe - | yuvfps -s 100:1 -r 100:1  | ffmpeg -f yuv4mpegpipe -i - -b 57600k -y result.avi

It’s been awhile since I played around with video editing. I forgot how long video processing takes. I need a new computer.

Running IntelliJ 9 Public Preview Community Edition on Mac OSX

JetBrains just announced they are open sourcing IntelliJ in a community edition with a subset of features from their commercial product.

Having used Eclipse almost exclusively in my Java work, I was interested in trying it out and went to download the .dmg file. I unpacked everything and tried to run the poorly named Maia-IC-90.94.app

Nothing came up. Lame.

I dug into the package and executed idea.sh which prompted me that I need to set the environment variable IDEA_SDK or JDK_HOME.

Ah ha!

In my .bash_profile, I set

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
export IDEA_JDK=$JAVA_HOME

And ran idea.sh again and IntelliJ came up.

Picture 1

Running Maia-IC.90.94.app still doesn’t run the app but at least now I can play around with IntelliJ.

Linode API for Java

I’ve been really happy with my recent move over to http://www.linode.com.  I was checking out their API and noticed there wasn’t any Java client.  I wanted a do a small pet project so I took a couple hours this weekend and wrote a Java client for the API.

The API leverages Apache HTTP Client and JSON.org Java libraries and is built using Maven.

The project source code can be found here.

If anyone runs into any problems with using it, please feel free to ping me!

Update: Linode was nice enough to update their API page with a reference to my project.