SparkFun Video Captioning

After spending many hours working on captioning SparkFun According to Pete Ep. 34, I definitely have a new appreciation for the people who do this for a living. It is long and tedious work. Also, I have found that there is a delicate balance between trying to stay true to what the speaker is saying, and making readable captions; especially when the speaker says "um" (and similar) a lot.

Pull request here.

[More SF Captioning]


Baresip DTMFIO module

The main thing that I will be using the URIx-Util lib for once it is "finished" is to control a radio's push to talk signal while it is being fed audio from some form of VoIP program. Historically, this has been SIP since, prior to the URIx-Util library being written, the only program that we have been able to find that will control the URIx is the extremely out of date chan_usbradio Asterisk module. In this setup, the radio had to be connected to the Asterisk server. This means, if you have radios in multiple places you had to have (and administer, and secure) multiple Asterisk servers and deal with trunking.

Yesterday, I came across the baresip program: an extremely basic, command line, SIP client. After messing around a bit with the program, I found that it had major potential to be the client that served the radios. I set up a test which utilized the URIx-Util lib and snagging the stderr of the baresip program. After much cringing at how gross this code was, but proving the concept worked, I was very happy and began to plan how to better get the DTMF events out of the SIP client.

Thus, I began the process of learning a C based module API that has no (real) documentation associated with it (at least that I could find).

After a few hours of poking at it, giving up, realizing a better way to do it, more poking at it, etc., this pull request was born.

Here is the info from the pull request:



Writes received dtmf button presses to a FIFO located at /tmp/dtmf.out.
Also, will write an 'E' when a call is established and an 'F' when the call is finished.

To Do

  • Proper error handling
  • Using a dtmf.in file, be able to send DTMF signals
  • Use a filename specified by the user in the config file
  • Clean up build output so there aren't errors regarding unused vars


URIx-Util [Update 1]

I have been working on the URIx-Util [github] library and utility for the past week, and I am able to talk to the device using the Ruby bindings to libusb.

Resources I have been using:

Currently, the library is working, but in no way is it stable. Libusb has the potential to throw many, many errors, and URIx-Util is not gracefully handling ANY of them.


ADVFOSS - Ruby URIx Library


A command line utility and Ruby library to control the URIx device.

Libraries Needed:

Upstream Repo:

Code will be released on rubygems. Link to come later.

Hardware Needed:

Team Members:

  • Aaron Herting - qwertos <aaron@herting.cc>


  • 2014.02.22 - Have proof of concept code finished
    • Can talk to the URIx device and see things happen
  • 2014.03.01 - Have the library and command line utility finished
    • Also, have a cable to connect the URIx to the FT-817 
  • 2014.03.08 - Have testing and documentation finished

[UPDATE 1]: Link to development repository added


Mounting the Dirt Cheap Paddle

The Dirt Cheap Paddle needs to be mounted. Here are some notes on what I did.
  • The box is a smallish Radio Shack project box
  • I drilled two holes in the metal top and one on the back
    • On the top:
      • Hole for the signal wires
      • Hole for the mounting screw
    • On the back:
      • Hole for the 3.5mm TRS port
  • There is 15 (or 20... I can't remember) pennies in there for weight.

Adventures in Morse Code

As a bit of a communications nerd, I have been wanting to learn morse code for a while now. Tried and "got too busy" many times. Finally, I got around to putting these recordings on a flash drive and hooked it up to my car. Now, as a captive audience during the commute to class, I'd listen to them. After a few listen times listening through the tracks, I started looking for purchasing or making an iambic paddle. As I currently don't have (easy) access to many tools, making one was slightly out of the question. Looking around online for a cheaper iambic paddle is hard. Many of them are more expensive than what I want to pay for a first paddle, in case I "ran out of time" again. On the other hand, I didn't want to get one that I'd want to replace if I did stick with it during the short term. I eventually went with the American Morse Dirt Cheap Paddle. I tend to agree with most of eHam's reviews.


  • Well made
  • Inexpensive
  • Need to mount it on something, to protect the connections.
Other comments:
  • It does not come polished. This does not impact the function. Some of eHam's reviews say that they found some burrs that were uncomfortable, but I didn't find anything.


RIT Advanced FOSS Course

One of the classes I am taking this term, Advanced FOSS, requires us to keep a blog. Instead of spinning up another one I will be using this one. Any posts for this class will be tagged under RIT-ADVFOSS.

Part of this class is going to be helping in other open source projects and/or communities. During this class, any community projects that I am a part of, will also be tagged under RIT-ADVFOSS.

This course has 3 release cycles. In 5 weeks design, develop, and release a tightly scoped open source project on a raspberry pi. (3 * 5 = 15 weeks in the semester)

For more information, the course website is located here.