Core.Command (and the closely-related Async.Command) is an OCaml library for creating command line programs with nice interfaces (including help text and argument parsing). This article is an overview of Command.Param, the newer interface for defining your command’s arguments (replacing Command.Spec).
The structure of an MPEG-DASH MPD
The MPEG-DASH Media Presentation Description (MPD) is an XML document containing information about media segments, their relationships and information necessary to choose between them, and other metadata that may be needed by clients.
In this post, I describe the most important pieces of the MPD, starting from the top level (Periods) and going to the bottom (Segments). In a later post, I cover common informative metadata. Other topics that I might cover include MPD events, in-band events (‘emsg’), and encryption (DRM).
Review: Geeksphone Revolution
I just got my Geeksphone Revolution in the mail. Since no one else seems to have a real hands-on review, I figured I’d do a quick one myself. Unfortunately, I’m about to switch to a Sprint-based carrier, so I won’t actually get to use this phone very long …
Better responsive design
My last update made this site render better on small screens, but didn’t look right on Android. It looks like the problem is that mobile browsers do weird things on the assumption that website developers are idiots (generally a valid assumption). MDN has an article about how to fix it …
Easy mistakes when writing OCaml C bindings
I recently spent several days improving the OCaml FreeTDS C bindings for work, and I thought it might be useful to share the problems I ran into and how to solve them.
I tried to order things so the most likely issues are listed first, but if you’re trying to debug some C binding crashes, I recommend just reading the whole thing.