Tag Archives: screencast

A quick video tour of Lanyrd

I’ve waxed lyrical about how much I like Lanyrd, the social conference website, before. I bumped into Natalie and Simon again at the Brighton Mini Maker Faire this weekend, actually – and Lanyrd just turned 1 last week!

I’ve been helping to curate some of the event pages for things like OggCamp and BMMF recently. After my recent mention of Lanyrd on UUPC, it struck me that I was getting a few people ask how to do things like linking to coverage of a recent event, or saying things like “I’m not on Lanyrd, can you do it for me?”… when they do indeed have profiles on the site, since they are on Twitter and someone has already added them as a speaker at an event, for example. It’s crowdsourced social event management, folks – similar to a Wikipedia for conferences, if you like – have at it, get in there, and add the information that makes it more useful to all of us 🙂

Anyway, with that in mind, I thought I’d do a really quick screencast to point out a few of the main features. Hope it turns out to be useful!

Disclosure: although I talk about it a lot, I have no direct interest in the company, site or service – I just think it’s incredibly useful and the team behind it are lovely people!

Update 7th Sept: Lanyrd just announced new investors – so it is onwards and upwards!

Advertisements

OS X mosquitto “bites”…

In my post last week about the new MQTT support coming to WebSphere MQ I very briefly mentioned that there are some third-party tools that already implement MQTT. One of those I pointed to is the very neat mosquitto broker, a project started by Roger Light.

mosquitto has been around for a while now and is aiming to replicate the functionality of the Really Small Message Broker that is on IBM alphaWorks. One of the neat things about it, from my point of view, is that it there is an Ubuntu PPA repository, so with a couple of apt commands, I can install a running MQTT broker and build my own applications independently (NB there are packages for other Linux distros too, as well as Windows). When I want to do some “heavy lifting” or share data with my ESB, I connect up my local mosquitto broker to pass messages across to WebSphere MQ through the new telemetry channels – because MQTT supports a concept of bridges, and both RSMB and mosquitto both include support for bridging.

I noticed that there wasn’t yet a version available for Mac OS X but figured that it shouldn’t be too difficult to compile and run it on that platform. As it happens, it did turn into a bit of an adventure for a couple of reasons, but at least I learned from the experience. If you’re desperate to build yourself a version to try some MQTT development on the Mac, here’s what I had to do to get it going on Snow Leopard:

  1. Installed mercurial, and a GUI for it called Murky (which requires the hg command line tool from the base mercurial package). The sources for mosquitto are in bitbucket, a Mercurial repository… this is optional of course as I could have just used a source tarball.
  2. Grabbed the latest mosquitto source from bitbucket.
  3. Modified the Makefiles throughout the mosquitto tree to build libraries with a .dylib instead of a .so extension (the default on OS X), and also changed the -soname parameter to -install_name which the OS X version of gcc understands.
  4. At this point the compile was starting to show progress… but failing due to missing symbols… the offender being one from sqlite, _sqlite_enable_load_extension. Turns out that the version of sqlite shipped in OS X 10.6.x is 3.5.4 but it does not have extension loading functionality built in, as evidenced by nm -g /usr/lib/libsqlite3.dylib | grep 'sqlite3_enable'
  5. Downloaded sqlite3.8.0, configured it to install to /usr/local (to avoid overwriting the default OS X shipped version), and built and installed it with no issues.
  6. At this point the compile was pretty smooth, once I modded Makefile link and include lines to point to the new version of sqlite in /usr/local. The only thing that failed was documentation, but that was “optional” 🙂
  7. Trying to start the broker failed… because it was trying to load the sqlite3-pcre extension.
  8. Installed git (the source for the sqlite3-pcre extension is in a git repository).
  9. Grabbed the source for sqlite3-pcre and built and installed it using:
    gcc -shared -o pcre.so -L/usr/local/lib -lsqlite3
              -lpcre -Werror pcre.c -I/usr/local/include
    sudo mkdir /usr/local/lib/sqlite3
    sudo cp pcre.so /usr/local/lib/sqlite3
  10. The final issue was that the path to the pcre extension is hard-coded into mosquitto/src/conf.c so I modded that to point at the version in /usr/local and recompiled. I’m assuming that this would not generally be required, but it worked as a hack to get me going!
    D’oh. Just realised that this is precisely what the ext_sqlite_regex variable in the mosquitto.conf file is for. Shouldn’t have bothered!

So that was it. Being fair, if I hadn’t been feeling my way through that, I would have installed git and mercurial, grabbed all the lib sources for sqlite3 and pcre and built them, built mosquitto, and been good to go. At this point, the broker and test clients are runnable (assuming the library paths are set up appropriately):

DYLD_LIBRARY_PATH=/usr/local/lib ./mosquitto
DYLD_LIBRARY_PATH=../lib ./mosquitto_pub -t test/andy
        -m "hello world"

If you are interested in seeing this in action, here’s a short (and silent, but annotated) screencast:

The Java GUI application you see in the screencast is the test client shipped in an old IBM SupportPac, IA92, a Java implementation of MQTT. The final release of the WebSphere MQ Telemetry component for WebSphere MQ will contain something similar, considerably enhanced and integrated into WebSphere MQ Explorer.

In other news, Roger recently announced version 0.8 of mosquitto, which now has slightly different packaging and includes C, C++ and Python clients. I hope to give these a test drive shortly!

Useful tools for homebrew media – my OS X workflow

As I’m sure regular readers are aware, I’m producing a wider range of media than ever before, now that I’m a regular podcaster and creating a range of video content as well. I thought it would be useful to talk a little about the range of tools that I’m using – far from professional level Final Cut or anything!

Hardware

The hardware is pretty varied. The core of the whole “system” is the MacBook Pro, which I use for pretty much all of my editing. That also has the iSight camera, which is adequate for videos which need to include my face, although I’d like something higher quality (any recommendations?). I’ve mentioned iGlasses before, which is useful for adjusting the iSight input. From an audio perspective I use a USB headset and also a Blue Snowflake USB microphone, which is absolutely great – compact, convenient, and it captures excellent quality sound.

If I need to capture video away from the computer, my current camcorder of choice is the Kodak Zi6 which can take HD 720p footage, albeit at a quality limited by the rest of the hardware (lens, sensor etc). I’ve yet to do a proper review of this, but as far as I’m concerned it’s a step up from either the Flip Mino or the older disgo Video Plus which I’d tried. I also sometimes grab snippets of video on my compact Canon camera.

Screencasting

For screencasts I use ScreenFlow. This is just a wonderful piece of software which is capable of recording both the screen, and from the iSight simultaneously. This allows the video to be overlaid into the screencast if required, so you can personally narrate what is going on. Even better than that, ScreenFlow lets you zoom in on windows and desktop features, and is really a general purpose compositing application… if you look at this video I made when I talked to a friend recently, you’ll see there are no desktop elements at all, just the video stream from the camera, a picture of him, and the audio, with some nice image tilt and reflection effects applied. ScreenFlow has also recently added text annotation features, which are really useful.

I’ve yet to use it for any practical purpose, but I also just downloaded OmniDazzle, which is now free. OmniDazzle lets you highlight areas of the screen with visual effects using a single keystroke – I can see this being useful in combination with ScreenFlow in the future.

Video editing

A few weeks ago I blogged about iMovie 09. I know a lot of people really dislike both iMovie 08 and 09, but I’m totally comfortable with both versions now, and I have to say that 09 is just beautiful. I’ve had no issues with it – it’s great for rapidly mixing and editing video, still images and audio. Watch my introductory series on YouTube or the whole thing as one movie on Viddler. I wrote a bit more about my use of iMovie back in December, too.

Here’s a tip: have you ever wanted to create some animated titles of your own? I have one word for you – Keynote! When I created the Home Camp TV title sequence it was a simple matter of creating a slide with some animated elements in Keynote, and exporting it as a Quicktime movie (which I did without sound, allowing me to overlay a choice of audio on the title sequence in iMovie). It’s great for quickly creating JPEG stills with text for titles, too.

In terms of finding audio to accompany videos… I’ve used both the pre-canned loops that come with iMovie, and also used some audio from Podsafe Audio. I do find that site a bit cumbersome to search though, so I’d be interested to know of any other useful, royalty-free resources.

Audio editing

I’ve not done a great deal on the audio-only side of things, but my essential tools here are Audacity for editing and cleanup; and Levelator for post-processing. That’s a really important point, by the way: only levelate your audio once everything is mixed together, the whole point is that it’s going to analyze everything and modulate the volume equally… if you have a bunch of snippets of audio and levelate them separately, then edit them together, you may well still end up with volume variations.

Another quick tip at this stage: to avoid issues with VBR MP3s showing up as weird (and incorrect) lengths in some tools, I bring the audio file into iTunes and do the MP3 export in there.

Imaging

For “proper” RAW photo editing and management, regular readers will know that I’m a huge fan of Lightroom. I use Pixelmator for finer adjustments on exported images.

Beyond that, I find that iPhoto is useful for quickly grabbing snapshots from the digital compact camera for compositing into iMovie clips. Skitch and LittleSnapper are both very useful tools as well as they enable me to rapidly take, resize and annotate screenshots or clips of web pages. For diagrams and so forth, there’s nothing that can beat OmniGraffle.

Extras

Finally, a couple of other useful bits and pieces. Transcoding to different formats is through either VisualHub (now defunct) or ffmpegX. QuickTime Pro is an essential (and highly cost-effective) upgrade too, since it lets you make very quick edits to QuickTime movie files and control the output format more finely.

There. Now, I imagine this may attract a range of “have you heard of…?” “why aren’t you using…?” and other responses, but that’s how I’ve currently settled things. Hopefully some of the tips and thoughts here will be useful to other amateur content creators, too! 🙂

Experiments with PHP and MQTT

Over the past few days I’ve been playing around with combining lightweight messaging and PHP. There are a couple of reasons for this, but the primary one is that I’d like to extend my prototype iPhone CurrentCost monitoring web application to display more up-to-date information about the state of my home energy usage. I’d planned to do this for a while, but recently Mark Taylor created his own version of the iPhone interface (PDF link) and he has got current readings on the front page. Clearly, I have to compete 🙂

Actually, in my system, I’d like to do things a different way. The heart of my setup is a Really Small Message Broker. At the moment, data from the CurrentCost meter comes in over the USB connection and is then published in pieces, or on topics, to the RSMB (temperature and energy readings are separate). These published messages are then read by a script which is subscribing to the topics and squirrelling the historical data into an rrdtool database; and also being pushed up to our IBM broker “in the interweb cloud” via an MQTT broker bridge connection.

So in theory, having the up-to-date information in the web UI should be a simple case of grabbing the MQTT publications on each topic and displaying them. The way I’ve coded things (and would prefer to do things), this involves having the ability to subscribe to MQTT publications from PHP.

I’m not at the end of the road yet, but I do have a starting point.

howitworks.png

I’ve got a front-end test page which currently uses Prototype to send an Ajax request to a server-side PHP script (yes, I have had jQuery recommended to me, and I may well look into that instead of Prototype, but this works).

The server-side script uses the Simple Asynchronous Messaging PHP library. SAM is a wrapper which enables a variety of messaging transports to be supported in PHP, such as MQTT, WebSphere MQ or WebSphere Platform Messaging. Just one thing: I found that in order to get the most recent SAM release to work on Ubuntu on my MPC-L, I had to install IBM’s XMS client SupportPac (for some reason, it won’t build without it, even though it is “optional”) and I also had to delete a spurious empty line from the end of /usr/share/php/SAM/php_sam.php to prevent header issues. Other than that, it was all good.

The script is really simple and basically uses all of the defaults to create a connection to my local RSMB over MQTT. The advantage of this being server-side is that I don’t have to open my RSMB to the Internet, the PHP code can connect via localhost. Once that’s done, it creates a subscription on the topic I’ve asked for, and receives the first data that comes along, then echoes it back to the front-end. I could make it auto-updating with Ajax.PeriodicalUpdater too, but there’s no need to put a load on my server.

Wanna see a quick demo? 😉

I’m quite pleased with the way this is working. There’s some more plumbing to do, and I’ll almost certainly extend the server-side piece to allow two-way communications (publish as well as subscribe) as well as finer-grained control over the options. As a proof-of-concept though, I think this is looking good.

iMovie 09 – beyond the basics

A lot of the iMovie 09 reviews I’ve seen on YouTube have been pretty much “standard” coverage of the basic new features. I’ve been using it for a while now and put together a number of different videos with it… along the way, I’ve found a couple of handy tricks like how to incorporate on-screen logos or information, or how to zoom into a map. Interested? Take a look at my screencast.

(I would have posted this on YouTube as well, but need to re-edit it first as there’s a 10 minute length limit!)

Oh, and another really interesting resource if you want to get more out of iMovie 09 is the Unlocking iMovie 09 blog – some great material over there!