linux.conf.au (LCA) 2012

Well, it’s that time of year again – my annual geek-week at linux.conf.au. Every day there were many interesting talks to attend and many I had to miss. I am currently catching the ones I missed by watching the LCA 2012 videos.

Keynotes and Open Source DSP

The Bruce Perens keynote had many good points on why open source is becoming essential to our security and well-being in the 21st century. These themes were expanded by the other keynote speakers. Bruce stated that “open software is the only credible producer of software”, we can choose to be “slaves to tools or the people who control the tools”. Watch the talk for more information on these memes.

I am interested in “the art” of presentation (as distinct from the content) so was also interested in Bruce’s presentation style from that perspective. He appeared on stage in a suit, which is uncommon in a geeky crowd. It raised a few eyebrows. However Bruce then explained that “a suit at LCA” was a theatrical device to underscore the point that we, as an open source community, should be facing outward. Open source communities are good at talking to people within our community, but our image outside of that community is poor and misunderstood (e.g. not many people understand their email is relayed via open source, or how it helps security problems and can help preserve democracy). Our external image must be improved.

Another great point by Bruce was how Open Source is now solving tough, previously opaque problems that were traditionally considered too hard due to patents or specialised knowledge. All you need is one guy to really get into and understand the problem. Suddenly the voodoo evaporates. People then know it’s possible – a problem that our peers have solved always appears easier. This one guy publishes source and shares what he has learnt. Others start to hack the code. Bruce, much to my embarrassment (!), actually cited my DSP work as an example, for example Oslec for echo cancellation and projects like Codec 2. When Oslec started I had many people tell me “it can’t be done”, “you need a DSP chip to do it in hardware”, or “it’s all covered by patents”. The truth is that Open Source DSP algorithms are now out performing closed source competitors. For example the Opus guys have developed a world-beating open source audio and voice codec. More on that below.

Actually I really enjoyed all of the keynotes. Paul Fenwick spoke on how our mind works, including topics like “decoy choices” and the “planning fallacy”, and how playing Tetris can help with traumatic experiences. I also recommend you watch the keynotes by Jacob Applebaum and Karen Sandler.

It was great to see Jean-Marc Valin and Timothy B. Terriberry in person, presenting on the Opus Codec. I wonder if this will be the “last” audio codec. It’s open source, royalty and patent free, will be an IETF standard, codes speech and music signals from 6,000 bit/s up, and outperforms other codecs like MP3.

Codec 2 talk

As I mentioned above I am interested in how conference presentations work. Like a lot of my work, I am inclined to experiment. Try something different. Hack it. A presentation on Codec 2, like many presentations at LCA, has a strong technical component that is hard for the average LCA attendee to follow. My Codec 2 work is an extension of my PhD research in speech coding. It took me 3 years to get my head around speech coding for the PhD. So how do I communicate Codec 2 topics to a smart, but non-speech-coding aware audience?

One way to handle this is “tutorial” style. You spend about half the talk bringing people up to speed on your technical topic. Enough to explain in the second half how you applied Linux or open source to this field. This is a common approach at LCA. It can work well, but also means a lot to absorb for the audience. This can be a challenge after a day (let alone a week) of great ideas and intellectual stimulation at a conference like LCA.

Instead of the tutorial approach I hit on a different idea. Rather than confine my talk to Codec 2 and DSP theory, I tried approaching Speech Coding from a variety of tangential topics that matter to LCA attendees. I talked about codec patents, how Ham radio relates to Open Source, and finally a really easy to grasp graphical explanation of how the sinusoidal model used in Codec 2 works. I left out a bunch of DSP topics, and didn’t even put up a block diagram of the codec. I wanted the audience to walk away knowing 3 or 4 things about speech coding really well, rather than try to cover the entire, technically deep, acronym rich subject at a shallow level.

This worked well. Really well in fact – my Codec 2 talk was voted the best of the conference and I was asked to repeat it later in the week. Wow! This was especially amazing for me as the voting is done by the attendees. A nice way to start 2012 for me, after working through some tough personal issues in 2011. Here are the slides for my Codec 2 LCA 2012 talk in Open Office format.

How Good Was Your Conference Talk?

It is important to me that my talks are well received. For me it’s part of my job and I take it seriously. Here is what I look for. This applies mainly to conferences with multiple parallel threads where people have a choice in what they attend:

  • Did I fill the room (or nearly so)?
  • Were people still asking questions at the end of your allocated time? Extra points if people come up to you afterwards and ask more questions. Even better if you get hustled off by the conference organisers because the next speaker is overdue to start.
  • Did some of the more popular speakers/major contributors to the conference attend the talk?
  • Was the applause loud and enthusiastic?

Oh, and I also like to make my talks short and leave more time than usual for questions. For example in a 50 minute slot I will time my talk to be 30 minutes rather than the nominal 40, allowing 20 minutes for questions. I feel strongly that the audience should drive a good chunk of the talk through their questions. This feels much better to me than running over time and not allowing enough time for questions.

21 Second Lightning Talk

Lightning talks are a fun part of LCA. These usually last 5 minutes. I had an idea for a lightning talk on my Electric Car that I wanted to try. I figured I could get my talk done in 10-15 seconds. Yes, I was experimenting with presentation styles again. I wanted to use lots of slides connected with just a few words (normally we are encouraged to do it the other way around). This year I managed to get a lightning talk slot and presented the talk. You can see it on the lightning talk video starting at 50:20. From when I start to when I stop talking is 21 seconds, not quite the sub-15 seconds I was aiming at. I always was a bit talkative. However the applause was pretty loud so I think the idea worked!

Codec 2 Hacking

While at LCA Jean-Marc did some great LSP vector quantiser work for Codec 2 and explained some of the techniques involved. This was very useful, and will be part of Codec 2 soon. Thanks Jean-Marc!

At the end of the conference Bruce Perens (left), Timothy and Jean-Marc (right), came to stay for a few days at Nuria’s (centre) house. It was really nice to have them all, we did some good work on Codec 2, and the dinner-time conversation (fuelled by Nuria’s fine lasagne and BBQ) was fascinating. As Bruce pointed out, there is great value in the small number of open source speech coding guys meeting face to face.

I was a bit nervous travelling in the same car with Jean-Marc and Timothy. People working on open source voice codecs are rare – so we figured we had 60% of the world’s open source codec guys in one car!

28,000 Electric km

I haven’t written much about my EV for a while as nothing much has happened. It just goes and goes, and has just clocked over 28,000 electric km since it was converted. This post is a collection of notes from my EV driving in 2011.

It’s been two years since I installed Lithium batteries and . . . → Read More: 28,000 Electric km

Codec 2 at 1400 bits/s

I’m in the process of releasing a 1400 bit/s version of Codec 2. Through efficient quantisation of the LSPs I have reduced the bit rate from 2500 to 1400 bit/s with only a small change in quality. This bit rate makes the codec very useful for digital voice over HF radio channels.

Here are . . . → Read More: Codec 2 at 1400 bits/s

My IP04 hacked and SIP ALG

Well this is a bit embarrasing. I make and sell embedded Asterisk boxes. My IP04 has been hacked! Some one made a bunch of calls to Guyana, among other places:

Call Summary

Destination
Calls
Amount

Algeria – Mobile Orascom
1
$0.39

Algeria – Mobile Wataniya
1
$0.59

Australia – 13/1300
2
$0.52

Australia – Adelaide
14
$1.82

Australia – Mobile
2
$3.18

Cape Verde – Mobile
1
$0.34

Cayman Is – Mobile C&W
1
$0.21

Dominica
1
$0.27

East Timor
1
$0.50

Guyana – Mobile
47
$16.91

Ireland – . . . → Read More: My IP04 hacked and SIP ALG

Driving the Nissan Leaf

Yesterday I took part in a Green Zone Drive event and had a test drive in the Nissan Leaf in the Mebourne CBD. I attended along with Michael and John, of the 3 Day EV fame. Also present were some other low emission vehicles and the Mitsubishi MIEV.

Our guide for the drive in the . . . → Read More: Driving the Nissan Leaf

Writing as Therapy

It’s been a long time since I last blogged. I have been dealing with some big personal problems since March and haven’t had time for technical work or the will to blog on anything. I have however been doing a lot of private writing or journalling. So I would like to talk a little . . . → Read More: Writing as Therapy

Simple Low Pass Digital Filter Design

For the $10 ATA DC-DC converter I need to design a low pass filter so that the discrete time model matches the real world DC-DC converter hardware. Given the time constant (tau), and the sampling rate Fs, I want to work out a value for c in the DC-DC converter discrete time model. In . . . → Read More: Simple Low Pass Digital Filter Design

Microwave Design and Why Experience Matters

I recently helped out debugging the Wifi on another AR2317 router project. This is the same SoC chip as the Mesh Potato, so I was revisiting the same Wifi debug territory as 18 months ago.

Turns out this board had the same major bug as we found in the Mesh Potato – the reference clock crystal . . . → Read More: Microwave Design and Why Experience Matters

Resonant Feed Line Antenna for 40m

After my success with the Flower Pot antenna on 2m I was inspired to try the same antenna design on the 40m (7MHz) Ham band. At HF frequencies, my ARRL handbook calls this design a Resonant FeeD line (RFD) antenna.

I used the dipole formula of antenna length equals 143/f meters where f is the . . . → Read More: Resonant Feed Line Antenna for 40m

$10 ATA Part 5 – Ringing a Phone with a DC-DC Converter

In Part 4 I managed to get a micro-controller based DC-DC converter running. To ring a telephone we need a 20-50Hz sine wave of about 100Vpp superimposed on -48VDC. In other words a ring signal that moves between 0 and -100V.

The DC-DC converter set point can be programmed in software, for example -48V for . . . → Read More: $10 ATA Part 5 – Ringing a Phone with a DC-DC Converter