Planet Linux Australia

Syndicate content
Planet Linux Australia - http://planet.linux.org.au
Updated: 1 hour 2 min ago

James Purser: Rethreading the Beanie

Mon, 2015-08-17 23:30

So there hasn't been any activity over at angrybeanie.com (actual podcast wise) since October last year.

I keep meaning to reboot things but I never quite get around to it and I've been thinking about why.

I think it boils down to two problems:

Firstly, I suffer from "Been there done that itis", that is once I've done something I tend to start looking around for the next challenge.

Secondly I suffer from a severe case of "creators block".

For instance, I have twelve different episode ideas for Purser Explores The World, a series I really enjoy making because it means I get to learn new things and talk to interesting people. I mean I've covered everything from Richard the Thirds remains being discovered to what it means to be a geek and using crowd sourcing to deal with disasters

Some of the ideas I want to cover in new episodes include a visit to HARS, a local Air Museum with some really fascinating exhibits, the recent controversy over Amnesty Internationals new approach to sex workers rights and the idea that we've already gone past the point of no return with regards to AI controlled weapons systems.

Then there's For Science. With Magdeline Lum and Maia Sauren, then Mel Thompson, we covered everything from Space Archeology to Salami made from infant bacteria and How not to science.

I want to start podcasting about science again. Since the last episode of For Science I've tried to keep things up with #lunchtimescience but I miss the audio production side of things and I really miss the back and forth that we had going. I'm planning on dipping my toes back into the water with a weekly Lunchtime For Science podcast. This will be a shorter format, coming at the end of each week to summarise the news and hopefully introduce a couple of new segments.

And finally there's WTF Australia. Not sure what to do about this one. Bernie and I had a lot of fun doing the weekly hangouts but at the end we just sort of drifted. 

So as you can see, all the plans, just a lack of the ability to get over the blockage.

Blog Catagories: angrybeanie

Sridhar Dhanapalan: Twitter posts: 2015-08-10 to 2015-08-16

Mon, 2015-08-17 00:27

Peter Lieverdink: Exploring the solar system

Sun, 2015-08-16 21:27

At last week's telescope driver training I found out that Melbourne contains a 1 to 1 billion scale model of the solar system. It's an artwork by Cameron Robbins and Christopher Lansell.

The Sun is located at St Kilda marina and the planets are spaced out along the beach and foreshore back towards the city.

Since the weather was lovely today, I thought ... why not? The guide says you can walk from the Sun to Pluto in about an hour and a half, which would make your speed approximately three times the speed of light, or warp 1.44, if you like.

 

The Sun. It's big.

Mercury, 4.9mm across and still at the car park, 58m from the Sun.

Venus, 1.2cm across on the beach at 108m from the Sun.

 

Earth (1.3cm) and Moon (3.5mm) are on the beach as well, at 42m from Venus (and 150m from the Sun).

Mars is 6.8mm across and at the far end of the beach, 228m from the Sun.

The walk now takes you past the millions of tiny grains of sand that make up the asteroid belt and the beach.

Jupiter is 14cm across and lives 778m from the Sun, near the Sea Baths.

The outer solar system is rather large, so it would be wise to purchase an ice cream at this point.

Saturn (12cm, rings 28cm) is nearly twice as far away from the Sun at 1.4km near St Kilda harbour as Jupiter was.

Uranus (5cm) is so far from the Sun (2.9km) that it's actually in the next suburb, near the end of Wright Street in Middle Park.

Neptune (4.9cm) is in the next suburb again (Port Melbourne) at 4.9km from the Sun.

No longer a planet, but still included. Pluto is a 2mm pellet on the beach at Garden City (yet another suburb along again) at 5.9km from the Sun.

 

On this scale, the nearest star (Proxima Centauri, an uassuming red dwarf) is about 40 trillion kilometers away from the sun. Which, on a one to billion scale, happens to be about the same as once around the Earth. 

 

Proxima Centauri is just on the other side of the Sun from the rest of the solar system, a cool 4.2 light years away.

 

Google map of the Melbourne solar system.

Tags: astronomymelbourne

Linux Users of Victoria (LUV) Announce: LUV Main September 2015 Meeting: Cross-Compiling Code for the Web / Annual General Meeting

Sun, 2015-08-16 18:30
Start: Sep 1 2015 18:30 End: Sep 1 2015 20:30 Start: Sep 1 2015 18:30 End: Sep 1 2015 20:30 Location: 

6th Floor, 200 Victoria St. Carlton VIC 3053

Link:  http://luv.asn.au/meetings/map

Speakers:

• Ryan Kelly, Cross-Compiling Code for the Web

• Annual General Meeting and lightning talks

200 Victoria St. Carlton VIC 3053 (formerly the EPA building)

Before and/or after each meeting those who are interested are welcome to join other members for dinner. We are open to suggestions for a good place to eat near our venue. Maria's on Peel Street in North Melbourne is currently the most popular place to eat after meetings.

LUV would like to acknowledge Red Hat for their help in obtaining the venue and VPAC for hosting.

Linux Users of Victoria Inc. is an incorporated association, registration number A0040056C.

September 1, 2015 - 18:30

read more

Rusty Russell: Broadband Speeds, New Data

Sat, 2015-08-15 15:02

Thanks to edmundedgar on reddit I have some more accurate data to update my previous bandwidth growth estimation post: OFCOM UK, who released their November 2014 report on average broadband speeds.  Whereas Akamai numbers could be lowered by the increase in mobile connections, this directly measures actual broadband speeds.

Extracting the figures gives:

  1. Average download speed in November 2008 was 3.6Mbit
  2. Average download speed in November 2014 was 22.8Mbit
  3. Average upload speed in November 2014 was 2.9Mbit
  4. Average upload speed in November 2008 to April 2009 was 0.43Mbit/s

So in 6 years, downloads went up by 6.333 times, and uploads went up by 6.75 times.  That’s an annual increase of 36% for downloads and 37% for uploads; that’s good, as it implies we can use download speed factor increases as a proxy for upload speed increases (as upload speed is just as important for a peer-to-peer network).

This compares with my previous post’s Akamai’s UK numbers of 3.526Mbit in Q4 2008 and 10.874Mbit in Q4 2014: only a factor of 3.08 (26% per annum).  Given how close Akamai’s numbers were to OFCOM’s in November 2008 (a year after the iPhone UK release, but probably too early for mobile to have significant effect), it’s reasonable to assume that mobile plays a large part of this difference.

If we assume Akamai’s numbers reflected real broadband rates prior to November 2008, we can also use it to extend the OFCOM data back a year: this is important since there was almost no bandwidth growth according to Akamai from Q4 2007 to Q7 2008: ignoring that period gives a rosier picture than my last post, and smells of cherrypicking data.

So, let’s say the UK went from 3.265Mbit in Q4 2007 (Akamai numbers) to 22.8Mbit in Q4 2014 (OFCOM numbers).  That’s a factor of 6.98, or 32% increase per annum for the UK. If we assume that the US Akamai data is under-representing Q4 2014 speeds by the same factor (6.333 / 3.08 = 2.056) as the UK data, that implies the US went from 3.644Mbit in Q4 2007 to 11.061 * 2.056 = 22.74Mbit in Q4 2014, giving a factor of 6.24, or 30% increase per annum for the US.

As stated previously, China is now where the US and UK were 7 years ago, suggesting they’re a reasonable model for future growth for that region.  Thus I revise my bandwidth estimates; instead of 17% per annum this suggests 30% per annum as a reasonable growth rate.

Leon Brooks

Sat, 2015-08-15 11:51
In this case, it was similar to having the garbage dispose of itself... except for the kidnappees also taken and reprogrammed into psychopathy, as was done to the kidnapper when they were an infant.

Gary Pendergast: The Basics: The Age of Entitlement

Fri, 2015-08-14 13:26

The first new album from The Basics in several years, and it’s a good ‘un.

They’ve been making use of their time off – Wally became an international star as Gotye, Kris spent 2 years working in Kenya with the Red Cross, and both Tim and Kris ran for parliament in the recent Victorian state election.

Now, mix those experiences together, you have an idea of what’s on the new album. A combination of politically aware rock, both locally focussed 1 with Whatever Happened To The Working Class?, globally focussed with Tunaomba Saidia; and some Gotye-esque pop such as Good Times, Sunshine!.

Anyway, listen to it now below, then go out and buy it.

  1. Is it too much to call them a modern Midnight Oil? I don’t think so.

Matt Palmer: Your "Infrastructure as Code" is still code!

Thu, 2015-08-13 14:46

Whether you’re a TDD zealot, or you just occasionally write a quick script to reproduce some bug, it’s a rare coder who doesn’t see value in some sort of automated testing. Yet, somehow, in all of the new-age “Infrastructure as Code” mania, we appear to have forgotten this, and the tools that are commonly used for implementing “Infrastructure as Code” have absolutely woeful support for developing your Infrastructure Code. I believe this has to change.

At present, the state of the art in testing system automation code appears to be, “spin up a test system, run the manifest/state/whatever, and then use something like serverspec or testinfra to SSH in and make sure everything looks OK”. It’s automated, at least, but it isn’t exactly a quick process. Many people don’t even apply that degree of rigour to their system config systems, and rely on manual testing, or even just “doing it live!”, to shake out the bugs they’ve introduced.

Speed in testing is essential. As the edit-build-test-debug cycle gets longer, frustration grows exponentially. If it takes two minutes to get a “something went wrong” report out of my tests, I’m not going to run them very often. If I’m not running my tests very often, then I’m not likely to write tests much, and suddenly… oops. Everything’s on fire. In “traditional” software development, the unit tests are the backbone of the “fast feedback” cycle. You’re running thousands of tests per second, ideally, and an entire test run might take 5-10 seconds. That’s the sweet spot, where you can code and test in a rapid cycle of ever-increasing awesomeness.

Interestingly, when I ask the users of most infrastructure management systems about unit testing, they either get a blank look on their face, or, at best, point me in the direction of the likes of Test Kitchen, which is described quite clearly as an integration platform, not a unit testing platform.

Puppet has rspec-puppet, which is a pretty solid unit testing framework for Puppet manifests – although it isn’t widely used. Others, though… nobody seems to have any ideas. The “blank look” is near-universal.

If “infrastructure developers” want to be taken seriously, we need to learn a little about what’s involved in the “development” part of the title we’ve bestowed upon ourselves. This means knowing what the various types of testing are, and having tools which enable and encourage that testing. It also means things like release management, documentation, modularity and reusability, and considering backwards compatibility.

All of this needs to apply to everything that is within the remit of the infrastructure developer. You don’t get to hand-wave away any of this just because “it’s just configuration!”. This goes double when your “just configuration!” is a hundred lines of YAML interspersed with templating directives (SaltStack, I’m looking at you).

Gary Pendergast: Developer On Fire

Wed, 2015-08-12 23:27

I recently had a chat with Dave from Developer On Fire. We talked about a bunch of things – what I work on, how I got started in programming, as well as some thoughts on remote working and maintaining a healthy work/life balance.

The post is here, or you can listen to the audio below.

David Rowe: A Miserable Debt Free Life

Wed, 2015-08-12 16:30

I have a lifestyle that is different to many people, and I have been encouraged to write about it. According to my friends, I am “living the dream”. I get up in the morning and can choose to do anything I want. I don’t work for money any more. I’ve been able to do this since I was 38 (I’m 48 now). I don’t appear to want for anything (material).

This is not a HowTo on retiring young, just a little about my story. Use it as a source of ideas.

Ten years ago I had an executive job in the sat-com industry, and prior to that I had a moderately successful small business, and a stint in academia. Although I was an effective manager, small businessman, and engineer, I was consistently dissatisfied. I did enjoy some parts of these jobs: Digital Signal Processing (DSP), open source, helping people, engineering, teaching thereof, annoying my managers, doing coffee and extremely long pub lunches. Rather than knuckle under and be a good corporate lad I decided to to focus on what I enjoyed most. Especially the coffee and pub lunches.

So I quit corporate life to be a full time “hacker”. I use the term hacker in the positive sense: I develop clever technology. Then, rather than using it to make a profit, I give the technology away in the hope that it will help people. I’ve had some success at this goal over the last 10 years.

My corporate wardrobe is now my pajamas. I spend most of the day sitting on my couch (thanks Dave for the couch BTW!) hacking on my laptop, with daily forays on my bike to a cafe by the beach. This gets me exercise, some social connection, and caffeine.

Once a month I travel interstate to a friends house, borrow their bike, cook for them, and sit on their couch and hack. Mixing a bit of travel with my “work”.

At the moment I average 6 hours of real, focused, head over the laptop work a day. Which is the equivalent of 2 days in a “real job” where you have meetings, managers to annoy, and pub lunches to attend.

Influences

  • In my final years of corporate life I listened to podcasts about using technology to help people by a guy called David Bornstein. This idea was quite appealing, a good use of my skills.
  • At the same time a couple of friends (Scott and Horse) put the idea in my head of lifestyles not aimed merely at continual material accumulation. One of them had paid off his house but didn’t see any reason to “upgrade” with more debt; the other just bailed on an engineering career to play volleyball and guitar, living off his savings for a bit. Huh? I found myself admiring them.
  • Volunteer work my Father did for disabled people.
  • A book called Affluenza by Clive Hamilton, which deals with our growing addiction to materialistic lifestyles.
  • Travel. Especially to the developing world, Timor Leste, India, townships in South Africa.

But How Do You Get Money to Live?

Money you need = income – how much you spend.

I live frugally, but am always happy to spend money on my kids (for stuff they really need) or entertaining friends. Most nights I dine in rather than going out, and can cook a bunch of meals in 10 minutes that feed 4 people for $10.

My living costs (including food, bills, housing, schooling, medical, transport) are about $40,000/pa, before any discretionary purchases like new IT or holidays. That is for a household of 2.5 people (I share care of one child).

I drive an electric car which costs very little to drive and maintain, which I supplement with the occasional loan/rental of petrol cars.

My kids go to public schools; my peers spend up to $40k/year on private education. I am home every day for them when school ends, can help them in almost any subject (although they never ask of course as I am their Dad), and attend every interview to monitor their progress at school.

I am not convinced there is any significant advantage from private schools, but acknowledge the emotional buttons and peer group pressure around private education is strong for many parents. My kids are doing pretty well, e.g. one at University, another getting good grades at the best science and maths school in the state.

I get income from a variety of sources, but the total is rather low compared to my peers. And that’s OK. Currently there is some income from SM1000 sales. In the past it’s been from VOIP products like the IP0X VOIP systems and a little contract work. I have some passive income from shares, enough to cover my rent. So it’s a bit like owning my home. These shares have been accumulated over 20 years simply by saving and reinvesting. No get rich quick schemes here.

Planning is good if you want to get somewhere. Here is a simple financial plan, start with $10k, start saving $100/week (5% more every year), invest at 10% (you get to work out where). Repeat for 20 years and you have enough to buy a house, or generate some passive income. Yes I know it doesn’t include inflation, and returns vary over time, blah, blah, blah. Your turn – come up with a model that does include these factors.

In Australia the government gives much of the population “middle class welfare”, a few $100/week which covers much of my food and bills. We also have free public health care. So the country you live in helps. On the down side the houses here are really expensive to buy, an average of $500,000 (10 years average income), and public transport poor. Every country has it’s pros and cons.

I have modest financial skills and good habits. Primarily the ability to spend less than I earn and avoidance of debt. I use a trusted share broker to choose conservative shares, but I decide the overall strategy. Some people like real estate for investment, it doesn’t really matter.

Saving and time is the key. Conversely if you can’t save, it doesn’t matter if you earn $200k. At the end of your time you will have nothing but a pile of debt, useless possessions, an endless need to work hard, broken relationships, and stress.

Every few years I go without income and live off savings for 12 months while I develop a new product. Living off savings for a while has ceased to worry me. However I understand most people are 1 pay cheque away from serious financial trouble. How about you? How long could you live without a pay cheque? It’s a good check on your financial health.

Effective Altruism

I’ve recently realised that working for free to help people is a form Altruism. So instead of traveling to a village to help less fortunate people I’d like to invent a widget (or part of a widget) that might let 1000′s of villages communicate. Or something like that. At the moment I’m focused on digital voice over HF radio that has many applications, e.g. in humanitarian and remote communications. I’m inventing technology building blocks that let me help the world a little bit, and stretch my professional skills (it’s post doctoral R&D in my field of signal processing).

Now, if you can name an enterprise, you can engineer it. Use numbers to make it better.

So, I’m currently reading a book called The Most Good You Can Do by Peter Singer. This guy is applying a numerical framework to “Effective Altruism”. Engineering it. For example he calculates the impact of donating a kidney (really!), or saving a persons life with $x versus preventing blindness in 10 people with the same $x. Is it better to work for 200k and donate 150 to a charity, or work for 50k in the same charity? Quite an easy to read book, but some fascinating ideas.

Thoughts

I have to think carefully and be sensitive to connect with the life of people with “real jobs”. When my friends head off to work every day, it’s a mental shift for me to understand. Yes I understand we need to be fed and housed. However I note a large portion of this work seems to be around paying for things we don’t really need, or making minimum payments on enormous debt. Wage slavery? But hey, my bank shares keep going up, and the dividends keep getting bigger, so who I am to question this system!

Until age 38 I was very focused on material accumulation. I had a Porsche 911 (called Helmut), several investment properties, a wife, and several pairs of trousers. At that stage I just ran out of things to buy. That was disconcerting for someone who came of age in the 1980′s. It felt, inexplicably, like a miserable debt free life. So I had a bit of a think. It’s taken me a little while to shift my attitude to money, however I am gradually letting go. Old habits die hard. I still feel bad when not saving and accumulating.

Re money all you need is the ability to save and time. Many people seem compelled to piss every cent they get down the drain. This is encouraged by the “growth paradigm” that governments push, easy debt, materialism, and lack of financial literacy.

Here is how I’m making my kids rich. It’s working too – they are in a better position than I was at their age and a million miles ahead of their peers. Or for that matter a lot of people my age (30 years older than them). It’s not just their net worth either: I get them involved, building their skills in handling money and investing. Showing a 9 year old a dividend statement. Getting a 17 year old to build a spreadsheet predicting growth of his assets over 10 years. Giving a child part of my web business to run. Making them wait for new material possessions. Not giving them everything they want, of that their friends have. Forming good habits early.

I struggle with the idea of debt for non-essential items, or huge, barely serviceable debt that is impossible to pay down quickly. Certainly not for a bigger house or a $500 outfit or gadgets “paid” for on a credit card. Or strongly depreciating items like cars (unless it’s electric of course). Useless debt turns the financial model above on it’s head. If you waste $100/week now YOU get to pay the banks $500k over 20 years. Then go back to work to do it again for another 20!

I am very fortunate and feel I must help others with my good fortune. We are all going to die one day. Everything that matters to us, everything we ever owned, every problem we have – will all be dust. Quickly forgotten, after a few kind words at your funeral. However helping improve the lives of others matters. That can endure. I can’t imagine a life where I am not helping others. Working just for more toys or my own needs is not enough.

So now I’m going to sit on my couch, do some hacking, then give it away.

And no – you are not going to see me in my PJs!

Reading Further

A Miserable Debt Free Life Part 2

Linux Users of Victoria (LUV) Announce: LUV Beginners August Meeting: BTRFS and ZFS on Linux hands on tutorial

Tue, 2015-08-11 22:30
Start: Aug 15 2015 12:30 End: Aug 15 2015 16:30 Start: Aug 15 2015 12:30 End: Aug 15 2015 16:30 Location: 

RMIT Building 91, 110 Victoria Street, Carlton South

Link:  http://luv.asn.au/meetings/map

Russell Coker will demonstrate how to setup and use BTRFS and ZFS filesystems and recover from errors that are fatal to other filesystems.

This tutorial will be run on Xen servers run by Russell. The OS images will be available on USB sticks for anyone who wants to run it on their own virtual machines. Xen and Kvm should work without much effort and other virtual machines should work with a little more effort.

Russell has done lots of Linux development over the years, mostly involved with Debian.

LUV would like to acknowledge Red Hat for their help in obtaining the Trinity College venue and VPAC for hosting.

Linux Users of Victoria Inc., is an incorporated association, registration number A0040056C.

August 15, 2015 - 12:30

read more

David Rowe: FreeDV Robustness Part 7 – FreeDV 700B

Tue, 2015-08-11 20:30

For the last few weeks I’ve been working on improving the quality of the 700 bit/s Codec 2 mode. It’s been back to “research and disappointment” however I’m making progress, even uncovering some mysteries that have eluded me for some time.

I’ve just checked in a “FreeDV 700B” mode, and ported it to the FreeDV API and FreeDV GUI application. Here are some samples:

Clean SNR=20dB 700 700B 1600 SSB HF fast fading SNR=2dB 700 700B 1600 SSB

I think 700B is an incremental improvement on 700, but still way behind FreeDV 1600 on clean speech. Then again it’s half the bit rate of 1600 and doesn’t fall over in HF channels. On air reports suggest the difference in robustness between 1600 and 700 on real HF channels is even more marked than above. Must admit I never thought I’d say the FreeDV 1600 quality sounds good!

FreeDV 700B uses a wider Band Pass Filter (BPF) than 700, and a 3 stage Vector Quantiser (VQ) for the LSPs, rather than scalar quantisers. VQ tends to deliver better quality for a given bit rate as it takes into account correlations between LSPs. This lets us lower the bit rate for a given quality. The down side is VQs tend to be more sensitive to bit errors, use more storage, and more MIPs. As HF is a high bit error rate channel, I have shied away from VQ until now.

Cumulative Quality, Additive Distortion

Using the c2sim program I can gradually build up the complete codec (see below for command line examples):

Original Sinusoidal Model p=6 LPC Amplitude Modelling phase0 Phase Model Decimated to 40ms Fully Quantised 700B

As each processing step is added, the quality drops. There is also another drop in quality when you get bit errors over the channel. It’s possible to mix and match c2sim command line options to homebrew your own speech codec, or test the effect of a particular processing step. It’s also a very good idea to try different samples, vk5qi and ve9qrp tend to code nicely, tougher samples are hts1a, hts2a, cq_ref, and kristoff.

I have a model in my mind “Overall Quality = 0BER quality – effect of bit errors”. Now 700B isn’t as robust as 700 as it uses Vector Quantisation (VQ). However as 700B starts from a higher baseline, when errors occur the two modes sound roughly the same. This was news to me, and a welcome development – as VQ is a powerful technique for high quality while lowering the bit rate. A good reason to release early and often – push a prototype through to a testable state.

The model also seems to apply for the various processing and quantisation steps. The BPF p=6 LPC model causes quite a quality drop, so you have to be very careful with LSP quantisation to maintain quality after that step. With p=10 LPC, the quality starts off high, so it appears less sensitive to quantisation.

Quantiser Design and Obligitory Plots to break up Wall of Text

A quantiser takes a floating point number, and represents it with a finite number of bits. For example it might take the pitch in the range of 50 to 500 Hz, and convert it to a 7 bit integer. Your sound card takes a continuous analog voltage and converts it to a 16 bit number. We can then send those bits over a channel. Less bits is better, as it lowers your bit rate. The trade off is distortion, as the number of bits drop you start to introduce quantisation noise.

A quantiser can be implemented as a look up table, there are a bunch of those in codec2-dev/src/codebook, please take a look.

Quantiser design is one of those “nasty details” of codec development. It reminds me of fixed point DSP, or echo cancellation. Lots of tricks no one has really documented, and the theory never seems to quite work without experienced-based tweaking. No standard engineering practice.

Anyhoo, I came up with a simple test so see if all quanister indexes are being used. In this case it was a 3 bit quantiser for the LPC energy. This is effectively the volume or gain of the coded speech in the current frame. So I ran a couple of speech samples through c2sim, dumped the energy quantiser index, and tabulated the results:



vk5qi (quieter)

 

octave:40> tabulate(eind)

     bin     Fa       Fr%        Fc

       1    306     22.58%      306

       2    164     12.10%      470

       3    298     21.99%      768

       4    329     24.28%     1097

       5    199     14.69%     1296

       6      9      0.66%     1305

       7      1      0.07%     1306

 

ve9qrp_10s (normal volume)

 

octave:42> tabulate(eind)

     bin     Fa       Fr%        Fc

       1     73      7.30%       73

       2     68      6.80%      141

       3     88      8.80%      229

       4    240     24.00%      469

       5    328     32.80%      797

       6    132     13.20%      929

       7     44      4.40%      973

This looks reasonable to me. The louder sample has a distribution skewed towards the higher energy bins, as expected. Although I note the 8th bin is never used. This means we are effectively “wasting” bits. So perhaps we could reduce the range of the quantiser, or it could be a bug. The speech sounds pretty similar with/without the energy quantiser applied in c2sim. This is good.

Here are some plots I generated in the last few weeks that illustrate quantiser design. My first attempt to improve 700 involved new scalar quantisers for the 6 LSPs (click for a larger image):

These are histograms of the indexes of each quantiser. A graphical form of the tabulations above, except for the 6 LSP quantisers rather than energy. Note how some indexes are hardly used? This may indicate wasted bits. Or not. It could be those few samples that hardly register on the histogram REALLY matter for the speech quality. Welcome to speech coding…..

Here is a single frame frozen in time:

The “A enc” and “A dec” lines are the LPC spectrum before and after quantisation. This is represented by 6 LSP frequencies that are the vertical lines plotted at the bottom. Notice how the two spectrums and LSP frequencies are slightly different? This is the effect of quantisation.

Here is a another view of many frames, using a measure called Spectral Distortion (SD):

SD is the difference between the original and quantised LPC spectrums, averaged over all frames and measured in dB. The top plot shows a histogram of the SD for each frame. Most frames have a small SD but there is a long tail of outliers. Some of these matter to us, and some don’t. For example no one cares about a large SD when coding background noise.

The bottom plot shows how SD is distributed across frequency. The high SD at higher frequencies is intentional, as the ear is less sensitive there. The SD drops to zero after 2600 Hz due to the band pass filter roll off.

Next Steps

I’m pleased that with a few weeks work I could incrementally improve the codec quality. Lots more work could be done here, I had to skip over a bunch of ideas in order to get something usable early.

I was also very pleased that once I had the Codec 2 700B mode designed and tested in c2sim, I could quickly get it “on the air”. I “pushed” it through the FreeDV “stack” in a few hours. This involves adding the new mode to codec2.c as separate encoder and decoder functions, modifying c2enc/c2dec, modifying the FreeDV API (including freedv_tx/freedv_rx), testing it over a fading channel simulation with cohpsk_ch, and adding the new mode to the FreeDV GUI program. The speed of integration is very pleasing, and is a sign of a good set of tools, good design, and a well thought out and partitioned implementation.

OK, so back to work. After listening to a few samples on the 700/700B/1600 modes I had the brainstorm of trying p=10 LPC using the same VQ design as 700B. The “one small step leads to another” R&D technique that is the outcome of steady, consistent work. Initials results are very encouraging, as good as FreeDV 1600 for some samples. At half the bit rate. So I’ll hold off on a general release of 700B until I’ve had a chance to run this 700C candidate to ground.

Command Line Kung Fu

Here’s how I simulate operation over a HF channel:



~/codec2-dev/build_linux/src$ ./freedv_tx 700B ../../raw/ve9qrp_10s.raw - | ./cohpsk_ch - - -24 0 2 1 | ./freedv_rx 700B - - | play -t raw -r 8000 -s -2 -

Here’s how I use c2sim to “build” a fully quantised codec. I start with the basic sinusoidal model:



~/codec2-dev/build_linux/src$ ./c2sim ../../wav/vk5qi.wav -o - | play -t raw -r 8000 -e signed-integer -b 16 - -q

Lets add 6th order LPC modelling:



~/codec2-dev/build_linux/src$ ./c2sim ../../wav/vk5qi.wav --bpfb --lpc 6 --lpcpf -o - | play -t raw -r 8000 -e signed-integer -b 16 - -q

Hmm, lets compare to 10th order LPC (this doesn’t need the band pass filter as explained here):



~/codec2-dev/build_linux/src$ ./c2sim ../../wav/vk5qi.wav --lpc 10 --lpcpf -o - | play -t raw -r 8000 -e signed-integer -b 16 - -q

Unfortunately we can’t send the sinusoidal phases over the channel, so we replace them with the phase0 model.



~/codec2-dev/build_linux/src$ ./c2sim ../../wav/vk5qi.wav --phase0 --postfilter --bpfb --lpc 6 --lpcpf -o - | play -t raw -r 8000 -e signed-integer -b 16 - -q

Next step is to use a 18 bit VQ for the LSPs, decimate from 10ms to 40ms frames, and quantise the pitch and energy. Which gives us the fully quantised codec.



~/codec2-dev/build_linux/src$ ./c2sim ../../wav/vk5qi.wav --phase0 --postfilter --bpfb --lpc 6 --lpcpf --lspmel --lspmelvq --dec 4 --sq_pitch_e_low -o - | play -t raw -r 8000 -e signed-integer -b 16 - -q



To make a real world usable codec we then need to split the signal processing into a separate encoder and decoder (via functions in codec2.c). However this won’t change the quality, the decoded speech will sound exactly the same.

If you are keen enough to try any of the above and have any questions please email the codec2-dev list, or post a comment below.

Last Few Weeks Progress

Jotting this down for my own record, so I don’t forget any key points. However feel free to ask any questions:

  • I have been working with LSPs using a warped frequency (mel scale) axis that models the log frequency response of our ear.
  • Tried a new set of scalar quantisters but not happy with quality.
  • Studied effect of microphones on low bit rate speech coding. Systemaically tracking down anything that can affect speech quality. Every little bit helps, and improves my understanding of the problems I need to solve.
  • Finally worked out why pathological samples (cq_ref, kristoff, k6hx) don’t code well with LPC models.
  • Explored p=6 LPC models, and found out just how important clear formant definition is for speech perception.
  • Explored vector quantisation for p=6 LPC model, including Octave and C mbest search implementations.
  • Engineered an improved 700 bit/s mode, implemented in Octave, C, integrated into FreeDV API and FreeDV GUI program.
  • Extended my simulation and test software, c2sim, melvq.m
  • Formed ideas on additive distortion in speech coding, importance of clear definition of formants
  • Came up with an idea for a non-LPC model that preserves clear formants with less emphasis on factors that don’t affect intelligibility, such as HP/LP spectral slope, format widths. LPC/LSP has some weaknesses and only indirectly preserves the attributes of the speech spectrum that matter, such as formant/anti-formant structure.
  • Reading Further

    Codec 2 Page

Linux Australia News: Council Minutes Wednesday 15 July 2015

Mon, 2015-08-10 20:26
Wed, 2015-07-15 19:47 - 20:29

1. Meeting overview and key information

Present

Josh Hesketh, Josh Stewart, Craige McWhirter, Sae Ra Germaine

Apologies:

James Iseppi, Chris Neugebauer, Tony Breeds

Meeting opened by Josh H at 1947hrs and quorum was achieved

MOTION that the previous minutes of 1 July are correct

Moved: Josh H

Seconded: Sae Ra

Passed with 2 abstentions.

2. Log of correspondence

Motions moved on list

Nil

General correspondence

GovHack 2015 as a subcommittee

MOTION by Josh H We accept govhack as an LA Sub-committee with the task of running GovHack at a national level with:

- Geoff Mason - lead

- Alysha Thomas

- Pia Waugh - as the liaison to LA

- Sharen Scott

- Diana Ferry

- Alex Sadleir

- Richard Tubb

- Jan Bryson

- Keith Moss

Under the Sub-committee policy v1 to allow the committee to run with autonomy and to use an external entity for administration.

Seconded Chris

Passed Unanimously

The old Subcommittee policy will need to come into effect

UPDATE: Bill from GovHack for Tony to process.

Need to discuss the Linux Australia Prize. Who will be judging the prize. The prize value is at $2000 “Best use or contribution to Open Source”.

For future GovHack events an option to offer tickets to a LA run conference.

A few tickets could be given

MOTION: Josh H Moves LA sponsors GovHack for the prize of “Best use of or contribution to Open Source” for the value of $2000.

Seconded by Sae Ra

Passed unanimously.

MOTION: Josh H Moves LA to reach out to the Geelong GovHack team and Geelong LCA team to discuss local sponsorship of LCA tickets

Seconded Chris

Passed unanimously.

Josh H to take this action

UPDATE: Josh H to find out if we need to do anything to Judge the OpenSource Bounty.

Invoice from LESLIE POOLE - Reminder notice from Donna and Leslie have arrived.

Supporting the Drupal Accelerate fund

UPDATE: In Progress. Tony to process in Xero

UPDATE: Drupal to send through an updated invoice. - In Progress

UPDATE: Paid and processed, to be removed from the next agenda

Admin Team draft budget from STEVEN WALSH

UPDATE: Awaiting for a more firm budget

UPDATE: Still awaiting

Insurance claim for GovHack

The TV has been damaged.

MOTION by Josh Hesketh: Approve Spacecubed to purchase a replacement up to $600

Seconded: Josh Stewart

Passed unanimously

ACTION: Josh H to action this.

JoomlaDay Brisbane Subcommittee:

Proposed members:

- Jeff Wilson: Site Chair

- Carly Willats: Treasurer

- Julian Murray

- Tim Plummer: Community Member

- Shane Thorpe: Community Member

MOTION: Josh H approve the formation of Joomla Day brisbane, with the members mentioned above. With Tim and Shane as Community members

Seconded: Sae Ra Germaine

Passed Unanimously

DrupalSouth 2016 Subcommittee:

Proposed Subcommittee members:

- Vladimir Roudakov: Site Chair, Community Brisbane

- Simon Hobbs: Treasurer,

- Josh Waihi*: Observer, Community NZ

- Brian Gilbert*: Observer

- Josh Li*: Observer, Community Canberra

- Tony Aslett*: Community Brisbane

- Sean Cleary*: Community Brisbane

- Murray Woodman: Community Sydney

- Josh Martin: Community Melb

- Jamie Jones: Community Gold Coast

- Owen Lansbury*: Observer

MOTION: Josh H approve the formation of DrupalSouth 2016 subcommittee with the members mentioned above.

Seconded: Sae Ra Germaine

Passed Unanimously

3. Review of action items from previous meetings

Email from DONNA BENJAMIN regarding website and update to D8 or possible rebuild.

Discussion held about means of finding people willing to assist with both the maintenance of the website platform as well as the content available on this.

JOSH H to speak to Donna regarding this

UPDATE: Ongoing

UPDATE: to be moved to a general action item. To do a call for help to work on the website. Could this be treated as a project.

We need to at least get the website to D8 and automate the updating process.

ACTION: Josh to get a backup of the site to Craig

ACTION: Craige to stage the website to see how easy it is to update.

UPDATE: Craige to log in to the website to elevate permissions.

UPDATE: Still in progress

ACTION: Josh H to tarball the site.

ACTION: Josh H and Tony to assess an appropriate amount to transfer funds back from NZ to Australia.

Update: In progress

Update: To be done on friday.

Update: Still in progress

ACTION WordCamp Brisbane - JOSH H to contact Brisbane members who may possibly be able to attend conference closing

ACTION: Sae Ra to send through notes on what to say to James.

UPDATE: James delivered a thank you message to WordCamp.

WordCamp was a successful event. Thank you to the organisers.

ACTION: Josh H to get a wrap up/closing report

UPDATE: Still in progress

ACTION: Josh H to follow-up on Invoices from WordCamp Sydney

UPDATE: Would be interested in changing the subcommittee structure for ongoing conferences. Conference committees to draft a policy.

UPDATE: Still in progress

4. Items for discussion

- LCA2016 update

Going along very well.

- LCA2017 update

Going along well

- LCA2018 update

There have been no expressions of interest.

- PyCon AU update

In a few weeks

Sales are going well.

- Drupal South

Correspondence: Quotes from Venue

UPDATE: require some final details to finalise the sub-committee. DrupalSouth to submit a budget.

Covered in the points above

- WordCamp Brisbane

Wrap up report required

- OSDConf

ACTION: Josh H to follow-up on budget status

ACTION: Josh to ping OSDConf

Payment for venue has been processed, banking and finances have been sorted.

- GovHack

Logos have been updated

Insurance claim

Judging needs to be sorted.

- JoomlaDay

Covered in previous notes.

5. Items for noting

Second F2F

Dates have been set for 14-15-16th F2F

ACTION: Josh H to book the Hotel and conference room.

6. Other business

Membership of auDA

Relationship already exists.

LA has the potential to influence the decisions that are made.

ACTION: Council to investigate and look into this further. To be discussed at next fortnight.

UPDATE: Carried to next meeting

MOTION: Josh H moves that LA becomes a Demand Class member of auDA

Seconded: Tony B

Passed unanimously.

ACTION: Josh H to sign up with LA CC

UPDATE: In progress

zookeepr

David would like to keep working on ZooKeepr.

We will need to find a solution that does not block volunteers from helping work on ZooKeepr.

ACTION: James to look at ZooKeepr

UPDATE: In Progress.

ACTION: Josh S to catch up with David Bell regarding the documentation.

UPDATE: In progress.

ACTION: Josh H to catch up with James at PyconAU

Grant Request from Kathy Reid for Renai LeMay’s Frustrated State

MOTION by Josh H given the timing the council has missed the opportunity to be involved in the Kickstarter campaign. The council believes this project is still of interest to its members and will reach out to Renai on what might be helpful in an in kind, financial or other way. Therefore the grant request is no longer current and to be closed.

Seconded Sae Ra Germaine

Passed unanimously

ACTION: Josh Stewart to contact Renai

UPDATE: Contact has been made.

Mailing list request from RUSSELL COKER regarding Science Cafe

To be discussed next Council Meeting.

MOTION by Josh Hesketh Linux Australia approves Russell Coker’s Science Cafe Mailing List

Seconded: Sae Ra Germaine

Passed unanimously

7. In camera

2 Items were discussed in camera

2029PM close.

Linux Australia News: Minutes of Council Meeting 1 July 2015

Mon, 2015-08-10 20:26
Wed, 2015-07-01 19:50 - 20:39

1. Meeting overview and key information

Present:

Chris Neugebauer, Tony Breeds, Sae Ra Germaine, James Iseppi, Josh Hesketh

Apologies:

Josh Stewart, Craige McWhirter

Meeting opened by Josh H at 1950hrs and quorum was achieved

MOTION that the previous minutes of 17 June are correct

Moved: Josh H

Seconded: Chris

Passed with 2 abstentions

2. Log of correspondence

Motions moved on list

Nil

General correspondence

GovHack 2015 as a subcommittee

MOTION by Josh H We accept govhack as an LA Sub-committee with the task of running GovHack at a national level with:

- Geoff Mason - lead

- Alysha Thomas

- Pia Waugh - as the liaison to LA

- Sharen Scott

- Diana Ferry

- Alex Sadleir

- Richard Tubb

- Jan Bryson

- Keith Moss

Under the Sub-committee policy v1 to allow the committee to run with autonomy and to use an external entity for administration.

Seconded Chris

Passed Unanimously

The old Subcommittee policy will need to come into effect

UPDATE: Bill from GovHack for Tony to process.

Need to discuss the Linux Australia Prize. Who will be judging the prize. The prize value is at $2000 “Best use or contribution to Open Source”.

For future GovHack events an option to offer tickets to a LA run conference.

A few tickets could be given

MOTION: Josh H Moves LA sponsors GovHack for the prize of “Best use of or contribution to Open Source” for the value of $2000.

Seconded by Sae Ra

Passed unanimously.

MOTION: Josh H Moves LA to reach out to the Geelong GovHAck team and Geelong LCA team to discuss local sponsorship of LCA tickets

Seconded Chris

Passed unanimously.

Josh H to take this action

Invoice from LESLIE POOLE - Reminder notice from Donna and Leslie have arrived.

Supporting the Drupal Accelerate fund

UPDATE: In Progress. Tony to process in Xero

UPDATE: Drupal to send through an updated invoice. - In Progress

Admin Team draft budget from STEVEN WALSH

UPDATE: Awaiting for a more firm budget

UPDATE: Still awaiting

3. Review of action items from previous meetings

Email from DONNA BENJAMIN regarding website and update to D8 or possible rebuild.

Discussion held about means of finding people willing to assist with both the maintenance of the website platform as well as the content available on this.

JOSH H to speak to Donna regarding this

UPDATE: Ongoing

UPDATE: to be moved to a general action item. To do a call for help to work on the website. Could this be treated as a project.

We need to at least get the website to D8 and automate the updating process.

ACTION: Josh to get a backup of the site to Craig

ACTION: Craige to stage the website to see how easy it is to update.

UPDATE: Craige to log in to the website to elevate permissions.

UPDATE: Still in progress

ACTION: Josh H and Tony to assess an appropriate amount to transfer funds back from NZ to Australia.

Update: In progress

Update: To be done on friday.

Update: Still in progress

ACTION WordCamp Brisbane - JOSH H to contact Brisbane members who may possibly be able to attend conference closing

ACTION: Sae Ra to send through notes on what to say to James.

UPDATE: James delivered a thank you message to WordCamp.

WordCamp was a successful event. Thank you to the organisers.

ACTION: Josh H to get a wrap up/closing report

Potential sponsorship of GovHack.

More information is required on the types of sponsorship that LA can look at.

Clarify with GovHack. LA may not be able to sponsor a prize as you would also need to

UPDATE: Criteria would need to be developed. LA would be able to provide their own judge. Josh S to come with some wording and criteria motion to be held on list.

Value of the prize also to be discussed after budget has been analysed by Josh H and Tony B.

To be removed from further agendas

ACTION: Josh H to follow-up on Invoices from WordCamp Sydney

UPDATE: Would be interested in changing the subcommittee structure for ongoing conferences. Conference committees to draft a policy.

4. Items for discussion

- LCA2016 update

All going well. CFP closes on Monday

- LCA2017 update

Progressing.

- LCA2018 update

Formal call for bids to go out

UPDATE: Tony to send out a formal call.

- PyCon AU update

Sponsorship is going well. Registrations are tracking well.

- Drupal South

ACTION: Follow-up on DrupalSouth 2016 enquiry. will need to setup a sub-committee

UPDATE: To work out the sub-committee details with organisers.

Correspondence: Quotes from Venue

UPDATE: require some final details to finalise the sub-committee. DrupalSouth to submit a budget.

- WordCamp Brisbane

In Progress

- OSDConf

ACTION: Josh H to follow-up on budget status

ACTION: Josh to ping OSDConf

Payment for venue needs to be processed.

- GovHack

Report from Pia

Do we need to get a Logo to them for the website?

Also one for the LA website?

ACTION: Sae Ra to update LA Website with GovHack logo.

5. Items for noting

Nil items for noting

6. Other business

Backlog of minutes

MOTION by Josh H Minutes to be published to planet.linux.org.au

Seconded: Craige

Passed unanimously

Bank account balances need rebalancing

ACTION: Tony to organise transfers to occur including NZ account.

Appropriate treasurers to be notified.

UPDATE: to be discussed on friday

To be removed from further agendas

Membership of auDA

Relationship already exists.

LA has the potential to influence the decisions that are made.

ACTION: Council to investigate and look into this further. To be discussed at next fortnight.

UPDATE: Carried to next meeting

MOTION: Josh H moves that LA becomes a Demand Class member of auDA

Seconded: Tony B

Passed unanimously.

ACTION: Josh H to sign up with LA CC

zookeepr

David would like to keep working on ZooKeepr.

We will need to find a solution that does not block volunteers from helping work on ZooKeepr.

ACTION: James to look at ZooKeepr

UPDATE: In Progress.

ACTION: Josh S to catch up with David Bell regarding the documentation.

Grant Request from Kathy Reid for Renai LeMay’s Frustrated State

MOTION by Josh H given the timing the council has missed the opportunity to be involved in the Kickstarter campaign. The council believes this project is still of interest to its members and will reach out to Renai on what might be helpful in an in kind, financial or other way. Therefore the grant request is no longer current and to be closed.

Seconded Sae Ra Germaine

Passed unanimously

ACTION: Josh S to contact Renai

UPDATE: In Progress

Mailing list request from RUSSELL COKER regarding Science Cafe

To be discussed next Council Meeting.

7. In Camera

3 Items were discussed in camera.

Chris Neugebauer: PyCon Australia 2015!

Mon, 2015-08-10 20:25

I was at PyCon Australia 2015 in Brisbane last week, and I presented a couple of talks!

  • Python’s New Type Hints In Action… In JavaScript looked at the tarpit surrounding PEP 484, by introducing Pythonistas to TypeScript, an implementation of the same type system but for JavaScript. There’s a video on youtube and notes on github.
  • Test-Driven Repair looked at the issue of adding tests to code that hadn’t really considered it. I proposed some ideas about how to go about adding tests and refactoring your code to make future testing easy. There was a lot of good discussion after this talk, and this one represents an improvement over the version I presented at OSCON a week earlier. Once again, there’s a video on YouTube and notes on Github.

This was the second year of PyCon Australia in Brisbane, it was pretty excellent. I’m looking forward to next year’s, which will be in Melbourne!

Colin Charles: LinuxCon North America in Seattle

Mon, 2015-08-10 19:25

I’m excited to be at LinuxCon North America in Seattle next week (August 17-19 2015). I’ve spoken at many LinuxCon events, and this one won’t be any different. Part of the appeal of the conference is being able to visit a new place every year.

MariaDB Corporation will have a booth, so you’ll always be able to see friendly Rod Allen camped there. In between talks and meetings, there will also be Max Mether and quite possibly all the other folk that live in Seattle (Kolbe Kegel, Patrick Crews, Gerry Narvaja).

For those in the database space, don’t forget to come attend some of our talks (represented by MariaDB Corporation and Oracle Corporation):

  1. MariaDB: The New MySQL is Five Years Old & Everywhere by Colin Charles
  2. MySQL High Availability in 2015 by Colin Charles
  3. Handling large MySQL and MariaDB farms with MaxScale by Max Mether
  4. The Proper Care and Feeding of a MySQL Database for a Linux Administrator by Dave Stokes
  5. MySQL Security in a Cloudy World by Dave Stokes

See you in Seattle soon!

Maxim Zakharov: City2Surf 2015

Mon, 2015-08-10 11:25

It was a Big Run in Sydney yesterday - City2Surf 2015, with 80,000+ participants and more $4.1 mln funds raised to various charities.

This year I have entered the Blue start:

City2Surf 2015: Blue start

And finished in 1:22:08, 5 minutes 1 second faster than last year!

After finish 2015

A friend of mines who also participated in City2Surf 2015 is raising donations to Operation Smile Australia, - they make cleft surgeries in developing countries. The goal of funding two new smiles has reached with help of many supporters, though we need a little bit more to make them four! Please consider to donate!

Sridhar Dhanapalan: Twitter posts: 2015-08-03 to 2015-08-09

Mon, 2015-08-10 00:27

David Rowe: Advanced VHF Digital Radio using Codec 2

Sun, 2015-08-09 12:30

Justin, VK7TW, has published a video of my recent presentation at Gippstech, which was held in July 2015. Good summary of FreeDV, the SM1000, and the exciting possibilities for VHF Digital Voice. Thanks Justin! Here are the Open Office slides of the presentation.

Oh, yes and in the cut out image below my head doesn’t really have the right side missing, although after week of speech coding R&D and/or a night on red wine it does often feel that way

James Purser: An Open Letter to Prime, WIN and Southern Cross

Sat, 2015-08-08 00:31

So, you've decided to launch a campaign to "Save our voices" to try and "rescue" regional voices in news and current affairs.

That's nice and all, but what exactly are you proposing here?

I mean seriously, what do you think it will take to "rescue" an industry that has essentially been left to rot because the people in charge have completely missed the biggest shift in media consumption since the advent of the radio?

If you really want to "Save our voices" and ensure that regional Australia still has access to regional news, then may I suggest that the first thing you do is hire someone who knows something about the internet, someone who understands that the world has moved on and that if companies like WIN and Prime want to survive, then they're going to have to compete with not only the Netflixs and Youtubes, but their own content partners.

Demanding that the government relax media ownership laws or any other sort of government intervention isn't going to save the regional media industry. People have a whole wide internet to go for their entertainment and news needs, there is absolutely no reason for them to stick with their local media, we're so far beyond the age of the 6 o'clock bulletin being the core around which people organised their evenings it's not funny.

Oh and while I'm at it, dear WIN Television, it's a bit hard to take your call for support for local news services seriously when you don't have any news on your website.

So, as someone who has worked in the industry (albiet over 11 years ago), someone who relies on regional media to find out what's going on in his neck of the woods, and someone who is EXTREMELY frustrated that we're still having the "What even is the internet?" discussion in 2015, I am begging you to please hire someone with clue.

For all of the good hard working people within your organisations who are facing the very real possibility of job losses if you don't switch gears, I am begging you to please hire someone with clue.

Just do it. Really.

James

Blog Catagories: mediaregional media