There’s less than a week left to get your proposal in for PyCon Australia 2014, Australia’s national Python Conference. We focus on first time speakers so please get in touch if you have any questions. The full details are available at http://2014.pycon-au.org/cfp
Filed under: Uncategorized Tagged: pyconau
Here are some results for 3,4, and 5 bit quantisers over a range of errors:
Curiously, the natural binary results are a little better (about 1dB less Eb/No for the same SNR). Another surprise is that at low Eb/No (high BERs) the SNRs are about the same for each quantiser. For example around 9dB SNR at Eb/No = -2dB, for 5,4 and 3 bits.
Here is a plot of 2 to 7 bit natural binary quantisers over a wide Eb/No range. Up to about Eb/No of 4dB (a BER of 1%), the 3-7 bit quantisers all work about the same! At lower BER (higher Eb/No), the quantisation noise starts to dominate and the higher resolutions quantisers work better. Each extra bit adds about 6dB of improved SNR.
Channel errors dominate the SNR at BER greater than 1% (Eb/No=4dB). In some sense the extra quantiser bits are “wasted”. This may not be true in terms of subjective decoded speech quality. The occasional large error tends to drag the SNR measure down, as large errors dominate the noise power. Subjectively, this might be a click, followed by several seconds of relatively clean speech. So more (subjective) testing is required to determine if natural or Gray coding is best for Codec 2 parameters. The SNR results suggest there is not much advantage either way.
Here is a plot of the error from the natural and Gray coded quantisers at Eb/No=-2dB. Occasionally, the Gray coded error is very large (around 1.0), compared to the natural coded error which has a maximum of around 0.5.
This example of a 3 bit quantiser helps us understand why. The natural binary and Gray coding is listed below the quantiser values:Quantised Value 0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 Natural Binary Code 000 001 010 011 100 101 110 111 Gray Code 000 001 011 010 110 111 101 100
Although Gray codes are robust to some bit errors (for example 000 and 001), they also have some large jumps, for example the 000 and 100 codes are only 1 bit error apart but jump the entire quantiser range. Natural binary has an exponentially declining error step for each bit.
A common task in speech coding is to take a real (floating point) number and quantise it to a fixed number of bits for sending over the channel. For Codec 2 a good example is the energy of the speech signal. This is sampled at a rate of 25Hz (once every 40ms) and quantised to 5 bits.
Here is an example of a 3 bit quantiser that can be used to quantise a real number in the range 0 to 1.0:Quantised Value 0.0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 Binary Code 000 001 010 011 100 101 110 111
The quantiser has 8 levels and a step size of 0.125 between levels. This introduces some quantisation “noise”, as the quantiser can’t represent all input values exactly. The quantisation noise reduces as the number of bits, and hence number of quantiser levels, increases. Every additional bit doubles the number of levels, so halves the step size between each level. This means the signal to noise ratio of the quantiser increases by 6dB per bit.
We use a modem to send the bits over the channel. Each bit is usually allocated the same transmit power. In poor channels, we get bit errors when the noise overcomes the signal and a 1 turns into a 0 (or a 0 into a 1). These bit errors effectively increases the noise in the decoded value, and therefore reduce the SNR. We now have errors from the quantisation process and bit errors during transmission over the channel.
However not all bits are created equal. If the most significant bit is flipped due to an error (say 000 to 100), the decoded value will be changed by 0.5. If there is an error in the least significant bit, the change will be just 0.125. So I decided to see what would happen if I allocated a different transmit power to each bit. I chose the 5 bits used in Codec 2 to transmit the speech energy. I wrote some Octave code to simulate passing these 5 bits through a simple BPSK modem at different Eb/No values (Eb/No is proportional to the the SNR of a radio channel, which is different to the SNR of the quantiser value).
I ran two simulations, first a baseline simulation where all bits are transmitted with the same power. The second simulation allocates more power to the more significant bits. Here are the amplitudes used for the BPSK symbol representing each bit. The power of each bit is the amplitude squared:Bit 4 3 2 1 0 Baseline 1.0 1.0 1.0 1.0 1.0 Variable Power 1.61 1.20 0.80 0.40 0.40
Both simulations have the same total power for each 5 bit quantised value (e.g 1*1 + 1*1 + 1*1 + 1*1 + 1*1 = 5W). Here are some graphs from the simulation. The first graph shows the Bit Error Rate (BER) of the BPSK modem. We are interested in the region on the left, where the BER is higher than 10%.
The second graph shows the quantiser SNR performance for the baseline and variable power schemes. At high BER the variable power scheme is about 6dB better than the baseline.
The third figure shows the histograms of the quantiser errors for Eb/No = -2dB. The middle bar on both histograms is the quantisation noise, which is centred around zero. The baseline quantiser has lots of large errors (outliers) due to bit errors, however the variable power scheme has more smaller errors near the centre, where (hopefully) it has less impact on the decoded speech.
The final figure shows a time domain plot of the errors for the two schemes. The baseline quantiser has more large value errors, but a small amount of noise when there are no errors. The variable power scheme look a lot nicer, but you can see the amplitude of the smaller errors is higher than the baseline.
I used the errors from the simulation to corrupt the 5 bit Codec 2 energy parameter. Listen to the results for the baseline and variable power schemes. The baseline sample seems to “flutter” up and down as the energy bounces around due to bit errors. I can hear some “roughness” in the variable transmit power sample, but none of the flutter. However both are quite understandable, even though the bit error rates are 13.1% (baseline) and 18.7% (variable power)! Of course – this is just the BER of the energy parameters, in practice with all of the Codec bits subjected to that BER the speech quality would be significantly worse.
The simple modem simulation used here was BPSK modem over an AWGN channel. For FreeDV we use a DQPSK modem over a HF channel, which will give somewhat poorer results at the same channel Eb/No. However it’s the BER operating point that matters – we are aiming for intelligible speech over a channel between 10 and 20%, this is equivalent to a 1600 bit/s DQPSK modem on a “CCIR poor” HF channel at around 0dB average SNR.
codec2-dev/src$ ./c2enc 1300 ../raw/ve9qrp.raw - | ./insert_errors - - ../octave/energy_errors_baseline.bin 56 | ./c2dec 1300 - - | play -t raw -r 8000 -s -2 -
codec2-dev/src$ ./c2enc 1300 ../raw/ve9qrp.raw - | ./insert_errors - - ../octave/energy_errors_varpower.bin 56 | ./c2dec 1300 - - | play -t raw -r 8000 -s -2 -
Note the 1300 bit/s mode actually used 52 bits per frame but c2enc/c2dec works with an integer number of bytes so for the purposes of simulating bit errors we round up to 7 bytes/frame (56 bits).
As I wrote this post I realised the experiments above used natural binary code, however Codec 2 uses Gray code. The next post looks into the difference in SNR performance between natural binary and Gray code.
The above poster was on a bridge pylon in Flinders St in 2012. It’s interesting to see what the Fringe Festival people consider to be associated with “white trash”. They claim homophobia is a “white trash” thing however lower class people have little political power and the fact that we still don’t have marriage equality in Australia is clear evidence that homophobia is prevalent among powerful people.Toys vs Fairies
I took the above photo at Costco in 2012. I think it’s worth noting the way that the Disney Fairies (all female and marketed to a female audience) are standing around looking pretty while the Toy Story characters (mostly male and marketed to a male audience) are running out to do things. Having those items side by side on the shelf was a clear example of a trend in toys towards girls being encouraged to be passive while boys are doing things. The Toy Story pack has one female character, so it could be interpreted as being aimed at both boys and girls. But even that interpretation doesn’t remove the clear gender difference.
It seems ironic to me that the descriptions on the boxes are “Read, Play, and Listen” for the Toy Story pack and “Read, Play, and Colour” on the Fairies pack. Colouring is more active than listening so the pictures don’t match the contents.Make Up vs Tools
I took the above photo in an Aldi store in early 2013, today I was in Aldi and noticed that the same chocolate is still on sale. A clear and pointless gender difference. Rumor has it that some of the gender difference in kids clothing is so that a child can’t wear the clothes of an older sibling of different gender, but chocolate only gets eaten once so there is no reason for this.Oath
The above poster was inside the male toilet at Melbourne University in 2013. It would probably be good to have something like that on display all the time instead of just for one event.Locks
I took the above picture early this year, it shows hundreds of padlocks attached to a bridge across the Yarra River in Melbourne. Each padlock has a message written or inscribed in it, mostly declarations of love. I first noticed this last year, I’m not sure how long it’s been up. There was nothing formal about this (no signs about it), people just see it and decide that they want to add to it. I guess that the council cuts some of them off periodically as the number of locks doesn’t seem to be increasing much in recent times.
It would be interesting to do some research into how many locks are needed to start one of these. It would also be interesting to discover whether the nature of the inscriptions determines the speed at which it takes off, would a bunch of padlocks with messages like “I Love Linux” inspire others as well as messages declaring love for random people? All that is required is some old locks and an engraving tool.
I wonder what the social norm might be regarding messing with those locks. If I was to use those padlocks to practice the sport of lock-picking (which I learned when in Amsterdam) I wonder whether random bystanders would try to discourage me. It seems likely that picking the locks and taking them away would get a negative reaction but I wonder whether picking them one at a time and replacing them (or maybe moving them to another wire) would get a reaction.Blackface for Schoolkids
A craft shop at the Highpoint shopping center in Melbourne is selling “Teacher’s Choice” brand “Multicultural Face Masks”. “Multicultural” is a well regarded term in education, teaching children about other cultures is a good concept but can be implemented really badly. When I was in high school the subject “Social Studies” seemed to have an approach of “look how weird people are in other places” instead of teaching the kids anything useful.
The idea of these masks seems to involve students dressing up as caricatures of other races. The mask which looks like someone’s idea of a Geisha is an even bigger WTF, mixing what the package calls “culture” (really race) with sex work. When I visited Tokyo I got the impression that “French maids” fill a similar niche to Geisha for younger Japanese men and the “maid cafe” thing is really popular there. I think it’s interesting to consider the way that a French maid costume is regarded differently to a Geisha costume. I expect that “Teacher’s Choice” doesn’t sell French maid costumes.Delicious Cow
Usually meat is advertised in a way that minimises the connection to living animals. Often adverts just show cuts of meat and don’t make any mention of animals and when animals are shown they are in the distance. The above picture was on the wall at a Grill’d burger restaurant in Point Cook. It shows a bovine (looks like a bull even though I believe that cows are the ones that are usually eaten) with a name-tag identifying it as “Delicious”. The name tag personalises the animal which is an uncommon thing to do when parts of an animal are going to be eaten.
Of the animals that are commonly eaten it seems that the general trend is to only show fish as complete live animals, presumably because people can identify with mammals such as cattle in a way that they can’t identify with fish. Fish are also the only complete animals that are shown dead, adverts for fish that are sold as parts (EG salmon and tuna) often show complete dead fish. But I’ve never seen a meat advert that shows a complete dead cow or sheep.
- Coalition celebrates a religious Easter: 8 of 19 cabinet members are Catholic http://t.co/N6lRBMFdwa #auspol 18:27:06, 2014-04-20
- Copycat: Sydney is slowly turning into Melbourne http://t.co/KHUM3Wa0WJ 18:27:04, 2014-04-16
- Even more astounding than O’Farrell’s resignation is Abbott’s praise for his corruption http://t.co/uKNn3l3CSX #auspol 16:33:04, 2014-04-16
- Study reports that 4m Australians are vitamin D deficient. Darker-skinned people are most at risk. http://t.co/v3KW0X2Tfc 14:19:02, 2014-04-16
- Market failures stifling Australian startups: StartupAUS http://t.co/DrhtidMC67 14:19:00, 2014-04-15
- Australian graduates contribute $188b/year to the economy & pay $32b tax. Let’s keep Australia clever! http://t.co/CzF7DfDd5Z #keepitclever 20:32:12, 2014-04-14
In 2011 I wrote a post that was inspired by the Sociological Images blog . After some delay here I’ve written another one. I plan to continue documenting such things.Playground
In 2011 I photographed a plaque at Flagstaff Gardens in Melbourne. It shows a picture of the playground in 1918 with segregated boys and girls sections. It’s interesting that the only difference between the two sections is that the boys have horizontal bars and a trapeze. Do they still have gender segregated playgrounds anywhere in Australia? If so what is the difference in the sections?Aborigines
The Android game Paradise Island  has a feature where you are supposed to stop Aborigines from stealing, it plays on the old racist stereotypes about Aborigines which are used to hide the historical record that it’s always been white people stealing from the people that they colonise.
There is also another picture showing the grass skirts. Nowadays the vast majority of Aborigines don’t wear such clothing, the only time they do is when doing some sort of historical presentation for tourists.
I took those pictures in 2012, but apparently the game hasn’t changed much since then.Lemonade
Is lemonade a drink or a flavour? Most people at the party where I took the above photo regard lemonade as a drink and found the phrase “Lemonade Flavoured Soft Drink” strange when it was pointed out to them. Incidentally the drink on the right tastes a bit like the US version of lemonade (which is quite different from the Australian version). For US readers, the convention in Australia is that “lemonade” has no flavor of lemons.Not Sweet
In 2012 an apple cider company made a huge advertising campaign featuring people who might be gender queer, above is a picture of a bus stop poster and there were also TV ads. The adverts gave no information at all about what the drink might taste like apart from not being “as sweet as you think”. So it’s basically an advertising campaign with no substance other than a joke about people who don’t conform to gender norms.
Also it should be noted that some women naturally grow beards and have religious reasons for not shaving .
Episode 2 of the TV documentary series “Am I Normal” has an interesting interview of a woman with a beard.Revolution
A violent political revolution is usually a bad thing, using such revolutions to advertise sugar drinks seems like a bad idea. But it seems particularly interesting to note the different attitudes to such things in various countries. In 2012 Schweppes in Australia ran a marketing campaign based on imagery related to a Communist revolution (the above photo was taken at Southern Cross station in Melbourne), I presume that Schweppes in the US didn’t run that campaign. I wonder whether global media will stop such things, presumably that campaign has the potential to do more harm in the US than good in Australia.Racist Penis Size Joke at Southbank
The above advert was in a free newspaper at Southbank in 2012. Mini Movers thought that this advert was a good idea and so did the management of Southbank who approved the advert for their paper. Australia is so racist that people don’t even realise they are being racist.
-  http://etbe.coker.com.au/2011/12/31/sociological-images/
-  http://tinyurl.com/7pnkvog
-  http://tinyurl.com/n9ugukc
I started to swim away as fast as I could when I heard a sad, scared and quiet voice, ‘wait,’ I squeaked in relief, I saw that the shadow was only a seal. ‘ Sorry for startling you, I suppose you can’t get to sleep either?’ It asked ‘no, yes, well, lets just say that I can’t sleep easily.’ I replied. The seal seemed to be happier about this and asked ‘what’s your name anyway?’ ‘Apollo and yours?’ I asked ‘Pearl, and do you know what makes you say OI?’ ‘no wha-?’ but I never finished the question because Pearl smacked me playfully on the flipper and raced off ‘OI!’ I squealed. I swam after her trying not to click too loudly and using my echolocation. Pearl was using her excellent hearing and her sensitive whiskers to make sure I didn’t get too close.
In the end I ended up clicking, ‘ok, ok I agree and give up ok? Oh and Pearl, could you come with me to sleep with my pod? I will be pretty lonely without you.’ ‘Sure and… could you introduce me to your friends?’ she asked, ‘sure,’ I replied and with that we swam side by side back to where the pod was. When we got back we swam a quietly as we could back to where I was sleeping before. In moments I fell asleep, surprisingly, probably because of all the rushing around.
The next day came too soon and when I got shaken awake from Flipper I was confused and tired. ‘Wha? Wait, no, give me five more minutes Mum…’ I murmured, ‘wake UP Apollo, you’ve been asleep for half of the day already!’ Clicked Flipper loudly, that was when I squealed, ‘WHAT!? HALF THE DAY!?’ and woke up completely.
We had been swimming with the pod for two hours when we felt vibrations in the water. ‘Uhh Mum… what‘s happening? I’m scared’ clicked, ‘that‘s just a boat, don’t worry. Tell you what, how about we go ask Slash if we can do some bow riding?’ She replied ‘Yeah sure, but one question what is bow riding?’ but she never really answered my question because Slash swam over to us and said, ‘did I hear you two talking about bow riding? What a great idea!’ and he clicked without waiting for an answer and called a meeting right then and there.
Soon the whole pod were swimming towards the boat ,which ended up to be a cruise boat, all excited of the thought of going bow riding. We got there faster than I thought we would and everyone rushed forwards to the front of the boat and I followed hesitantly not knowing what to do. I soon found out though because everyone was jumping out of the water with the wave and I joined in and found out it was really easy and fun! ‘Wee!’ I squealed for about the hundredth time with Bubs and Flip on either side of me. I slowed down and looked up at the humans and they looked back at me with grins on their faces. ‘Come in, the water’s great!’ I squealed to them, even though I knew they couldn’t understand me.
One girl smiled and nodded at me as though she understood me though, she said something to her mum in human language and her mum looked thoughtful. Then they walked up the boat with me following them, the girl was looking at me all the while.
We soon reached where they were going and the mum walked over to this person with a hat saying “captain” on it, whatever that means. The mother talked to him and he nodded to her and the girl seemed really happy and ran somewhere else on the boat where I couldn’t see. The girl soon came back wearing something black with polka dots which I assume they use to be like us and swim. She got lowered down a ladder and as soon as the other kids saw what was happening they ran off too.
In no time at all there was a lot of kids in the water all trying to keep up with us so we had a bit of fun by going close to them and darting off again. It was so funny to see them swimming really slowly trying to catch us. The girl that first got in seemed to stick as close to me as she could. Somehow she got to me and she looked at my dorsal fin in surprise so I turned around and saw, for the first time, that I had a scar running all the way down it in the shape of an ‘A’.
I turned around in the water twice before remembering along time ago, when I was younger, playing with a sharp rock and batted it with my tail and then a lot of pain in my dorsal fin. I squealed loudly in surprise and the girl laughed. I looked closer on her swimsuit thing and saw that it had her name on it, well at least I think it was her name and I read Genevieve in yellow. She smiled at me and started swimming towards me muttering things in her human language.
I’m not sure what she said but she seemed to be trying to calm me down. She was coming closer to me so I darted away ready to play, but, Genevieve seemed to get sad so I slowly swam towards her and she smiled again. I dived under her and she squealed with excitement. I came back up again and splashed her. She splashed me back and soon we were having a water fight.
Soon mum came and immediately I knew it was time to go. I didn’t want to so I hid behind the human girl. ‘Come on now Apollo it’s time to go,’ she clicked, ‘aww but I was playing with this human…’ I clicked back. ‘Come Apollo, now! No excuses.’ She said, so, of course, I followed her back to the pod but not before I nudged Genevieve a “bye” hug.
As I looked at the sunset, I saw the boat disappear into the distance, and, as I settled down to sleep, I wondered if i would ever see the human girl again.Related Posts:
In 2007 I wrote a blog post about swap space . The main point of that article was to debunk the claim that Linux needs a swap space twice as large as main memory (in summary such advice is based on BSD Unix systems and has never applied to Linux and that most storage devices aren’t fast enough for large swap). That post was picked up by Barrapunto (Spanish Slashdot) and became one of the most popular posts I’ve written .
In the past 7 years things have changed. Back then 2G of RAM was still a reasonable amount and 4G was a lot for a desktop system or laptop. Now there are even phones with 3G of RAM, 4G is about the minimum for any new desktop or laptop, and desktop/laptop systems with 16G aren’t that uncommon. Another significant development is the use of SSDs which dramatically improve speed for some operations (mainly seeks).
As SATA SSDs for desktop use start at about $110 I think it’s safe to assume that everyone who wants a fast desktop system has one. As a major limiting factor in swap use is the seek performance of the storage the use of SSDs should allow greater swap use. My main desktop system has 4G of RAM (it’s an older Intel 64bit system and doesn’t support more) and has 4G of swap space on an Intel SSD. My work flow involves having dozens of Chromium tabs open at the same time, usually performance starts to drop when I get to about 3.5G of swap in use.
While SSD generally has excellent random IO performance the contiguous IO performance often isn’t much better than hard drives. My Intel SSDSC2CT12 300i 128G can do over 5000 random seeks per second but for sustained contiguous filesystem IO can only do 225M/s for writes and 274M/s for reads. The contiguous IO performance is less than twice as good as a cheap 3TB SATA disk. It also seems that the performance of SSDs aren’t as consistent as that of hard drives, when a hard drive delivers a certain level of performance then it can generally do so 24*7 but a SSD will sometimes reduce performance to move blocks around (the erase block size is usually a lot larger than the filesystem block size).
It’s obvious that SSDs allow significantly better swap performance and therefore make it viable to run a system with more swap in use but that doesn’t allow unlimited swap. Even when using programs like Chromium (which seems to allocate huge amounts of RAM that aren’t used much) it doesn’t seem viable to have swap be much bigger than 4G on a system with 4G of RAM. Now I could buy another SSD and use two swap spaces for double the overall throughput (which would still be cheaper than buying a PC that supports 8G of RAM), but that still wouldn’t solve all problems.
One issue I have been having on occasion is BTRFS failing to allocate kernel memory when managing snapshots. I’m not sure if this would be solved by adding more RAM as it could be an issue of RAM fragmentation – I won’t file a bug report about this until some of the other BTRFS bugs are fixed. Another problem I have had is when running Minecraft the driver for my ATI video card fails to allocate contiguous kernel memory, this is one that almost certainly wouldn’t be solved by just adding more swap – but might be solved if I tweaked the kernel to be more aggressive about swapping out data.
In 2007 when using hard drives for swap I found that the maximum space that could be used with reasonable performance for typical desktop operations was something less than 2G. Now with a SSD the limit for usable swap seems to be something like 4G on a system with 4G of RAM. On a system with only 2G of RAM that might allow the system to be usable with swap being twice as large as RAM, but with the amounts of RAM in modern PCs it seems that even SSD doesn’t allow using a swap space larger than RAM for typical use unless it’s being used for hibernation.Conclusion
It seems that nothing has significantly changed in the last 7 years. We have more RAM, faster storage, and applications that are more memory hungry. The end result is that swap still isn’t very usable for anything other than hibernation if it’s larger than RAM.
It would be nice if application developers could stop increasing the use of RAM. Currently it seems that the RAM requirements for Linux desktop use are about 3 years behind the RAM requirements for Windows. This is convenient as a PC is fully depreciated according to the tax office after 3 years. This makes it easy to get 3 year old PCs cheaply (or sometimes for free as rubbish) which work really well for Linux. But it would be nice if we could be 4 or 5 years behind Windows in terms of hardware requirements to reduce the hardware requirements for Linux users even further.
-  http://etbe.coker.com.au/2007/09/28/swap-space/
-  http://barrapunto.com/articles/07/09/28/0947220.shtml
Early this month at a LUV meeting I gave a talk with only my mobile phone to store notes. I used Google Keep to write the notes as it’s one of the easiest ways of writing a note on a PC and quickly transferring it to a phone – if I keep doing this I will find some suitable free software for this task. Owncloud seems promising , but at the moment I’m more concerned with people issues than software.
Over the years I’ve experimented with different ways of presenting lectures. I’m now working with the theory that presenting the same data twice (by speaking and text on a projector) distracts the audience and decreases learning.Editing and Viewing Notes
Google Keep is adequate for maintaining notes, it’s based on notes that are a list of items (like a shopping list) which is fine for lecture notes. It probably has lots of other functionality but I don’t care much about that. Keep is really fast at updating notes, I can commit a change on my laptop and have it visible on my phone in a few seconds over 3G.
Most of the lectures that I’ve given have involved notes on a laptop. My first laptop was a Thinkpad 385XD with a 12.1″ display and all my subsequent laptops have had a bigger screen. When a laptop with a 12″ or larger screen is on a lectern I can see the notes at a glance without having to lean forward when 15 or fewer lines of text are displayed on the screen. 15 lines of text is about the maximum that can be displayed on a slide for the audience to read and with the width of a computer display or projector is enough for a reasonable quantity of text.
When I run Keep on my Galaxy Note 2 it displays about 20 rather short lines of text in a “portrait” orientation (5 points for a lecture) and 11 slightly longer lines in a “landscape” orientation (4 points). In both cases the amount of text displayed on a screen is less than that with a laptop while the font is a lot smaller. My aim is to use free software for everything, so when I replace Keep with Owncloud (or something similar) I will probably have some options for changing the font size. But that means having less than 5 points displayed on screen at a time and thus a change in the way I present my talks (I generally change the order of points based on how well the audience seem to get the concepts so seeing multiple points on screen at the same time is a benefit).
The Samsung Galaxy Note 2 has a 5.5″ display which is one of the largest displays available in a phone. The Sony Xperia X Ultra is one of the few larger phones with a 6.44″ display – that’s a large phone but still not nearly large enough to have more than a few points on screen with a font readable by someone with average vision while it rests on a lectern.
The most obvious solution to the problem of text size is to use a tablet. Modern 10″ tablets have resolutions ranging from 1920*1080 to 2560*1600 and should be more readable than the Thinkpad I used in 1998 which had a 12″ 800*600 display. Another possibility that I’m considering is using an old phone, a Samsung Galaxy S weighs 118 to 155 grams and is easier to hold up than a Galaxy Note 2 which weighs 180g. While 60g doesn’t seem like much difference if I’m going to hold a phone in front of me for most of an hour the smaller and lighter phone will be easier and maybe less distracting for the audience.Distributing URLs
When I give a talk I often want to share the addresses of relevant web sites with the audience. When I give a talk with the traditional style lecture notes I just put the URLs on the final page (sometimes using tinyurl.com) for people to copy during question time. When I use a phone I have to find another way.
I did a test with QR code recognition and found that a code that takes up most of the width of the screen of my Galaxy Note 2 can be recognised by a Galaxy S at a distance of 50cm. If I ran the same software on a 10″ tablet then it would probably be readable at a distance of a meter, if I had the QR code take up the entire screen on a tablet it might be readable at 1.5m away, so it doesn’t seem plausible to hold up a tablet and allow even the first few rows of the audience to decode a QR code. Even if newer phones have better photographic capabilities than the Galaxy S that I had available for testing there are still lots of people using old phones who I want to support. I think that if QR codes are to be used they have to be usable by at least the first three rows of the audience for a small audience of maybe 50 people as that would allow everyone who’s interested to quickly get in range and scan the code at the end.
Chris Samuel has a photo (taken at the same meeting) showing how a QR code from a phone could be distributed to a room . But that won’t work for all rooms.
One option is to just have the QR code on my phone and allow audience members to scan it after the lecture. As most members of the audience won’t want the URLs it should be possible for the interested people to queue up to scan the QR code(s).
Another possibility I’m considering is to use a temporary post on my documents blog (which isn’t syndicated) for URLs. The WordPress client for Android works reasonably well so I could edit the URL list at any time. That would work reasonably well for talks that have lots of URLs – which is quite rare for me.
A final option is to use Twitter, at the end of a talk I could just tweet the URLs with suitable descriptions. A good portion of the Tweets that I have written is URLs for web sites that I find interesting so this isn’t a change. This is probably the easiest option, but with the usual caveat of using a proprietary service as an interim measure until I get a free software alternative working.Any suggestions?
Please comment if you have any ideas about ways of addressing these issues.
Also please let me know if anyone is working on a distributed Twitter replacement. Please note that anything which doesn’t support followers on multiple servers and re-tweets and tweeting to users on other servers isn’t useful in this regard.
this time last year we had the solar installed well by this time it was well on the roof … this date last year we had the meter replaced and the solar turned on.
- kWh Imported 4295.3
- kWh Exported 3199.9
- kWh generated according to the inverter 4936
- Fit Collected at 8c kWh $255.99
- kWh not purchased or sold 1736.1
I’m currently on a flat rate of 29.084 c/kWh (note my rate has gone up since solar was installed) minus 10% discount plus 5.5 c /kWh for green energy = 31.94 c /kWh. So the amount not purchased or sold is what I saved by not buying 1736.1*31.94c = $554.51 + the money I got from Fit $255.99 so in a year it’s saved me ~$810.5.
Has the solar been a good investment no…the capital cost was around $8.5k so with the amount saved it’ll take 10 years to pay back. The main reason for this is that we export way too much and the fit is so low if we got paid what it costs us it would of saved us ~$1500 a year and only 5.5 years to pay back. Do I care if it was a solid investment not really.
If we look at how green it is if we take imported – exported (1095 kWh) that’s how much power I’ve used from other generators which for my area is black coal, but that has been offset by my green power money purchasing green power from wind and biogass. so does my house run emissions free when it comes to electricity according to an accountant yes, because every kWh of power I’ve used has been purchased from a green source but maybe not according to an engineer.
Other interesting notes on the power bill:
average kWh used per day including solar from April to may 2013 before purchasing the EV was 12.1 kwh
average kWh used per day including solar from July 2013 to April 2014 post purchasing the EV is 16.5 kwh
so the effect of owning an EV on your power bills is about 4.4 kwh per day $1.40 increased cost. Note: this would also include seasonal cost extras like summertime air con and winter time heating so I won’t have a clear picture until we 1 year of EV ownership.
Gabriel Noronha: Getting ClearOS to work with Atheros Communications AR8151 v2.0 Gigabit Ethernet (rev c0)
ClearOS formally Clarkconnect based of Centos…
Start by enabling the Tim S repo
To install the repo first install the public key (yes all RPM’s will now be signed)
rpm --import ftp://timburgess.net/RPM-GPG-KEY-TimB.txt
Then install the release RPM (by default the ‘timb’ and ‘timb-testing’ repo’s will be disabled)
rpm -Kv timb-release-1-0.noarch.rpm
rpm -Uvh timb-release-1-0.noarch.rpm
yum --enablerepo=timb install kmod-atl1e
last you need to edit the /etc/modprobe.conf
it need to contain an alias for every network card in my case I have a TP-link installed as well so
alias eth0 r8169
alias eth1 atl1e
if you fail to get this to work ifconfig -a will have a odd tmp interface.
Inspired by Yngve Svendsen’s post, I too think it makes absolute sense to congratulate Ubuntu on the 14.04 LTS release (some server notes - MySQL has a section dedicated to it). Ubuntu users have a lot of server choice today (that’s from all major MySQL ecosystem vendors):
- MySQL 5.5.35 ships in main. It is the default MySQL. Oracle has committed to providing updates to 5.5 throughout the LTS release cycle of Ubuntu (which is longer than the planned EOL for 5.5). This is why the grant of a Micro Release Exception (MRE).
- MySQL 5.6.16 ships in universe.
- MariaDB 5.5.36 ships in universe.
- Percona XtraDB Cluster 5.5.34 ships in universe.
Ubuntu’s pitch is being the cloud platform of choice, with OpenStack support. This explains why Percona XtraDB Cluster (the only shipping Galera Cluster variant — no upstream Codership release, and no MariaDB Galera Cluster) is critical infrastructure as its used widely in OpenStack deployments. 451Research estimates that the OpenStack distributions market is worth $82 million in 2014 and $119 million in 2015.
Press release had a choice quote from Percona CEO, Peter Zaitsev:
“We are very pleased that Percona XtraDB Cluster is included in Ubuntu 14.04 LTS. Many organisations that use MySQL need high availability solutions to ensure that their applications meet the expectations of their users. Percona XtraDB Cluster is an easy to use, open source solution for MySQL clustering which addresses these high availability needs. We continue to see growth in Ubuntu usage by our customers and our open source software users so we are confident that the inclusion of Percona XtraDB Cluster in Ubuntu 14.04 will help spread the adoption of cost-effective, high availability MySQL.” Peter Zaitsev, Co-Founder and CEO at Percona
Unix has sparse files. If you write a byte at a seek()ed location to a file then all unwritten bytes prior to that seek()ed-and-write()n byte have value zero when read. Those zeroed bytes take no storage space on the disk (although the accounting for the storage does take some space). You can think of the file as having a "hole".
Sparse files are useful for network testing, as they allow the performance of the storage and I/O hardware to be taken out of the test, leaving the performance of the operating system and the network.
Sparse files for testing are conveniently created using dd(1). For example, to create a 10GiB test file named ‘test-10gibyte.bin’:$ dd if=/dev/zero of=test-10gibyte.bin bs=1 count=1 seek=$(( (10 * 1024 * 1024 * 1024) - 1))
and to create a 10GB file named ‘test-10gbyte.bin’:$ dd if=/dev/zero of=test-10gbyte.bin bs=1 count=1 seek=$(( (10 * 1000 * 1000 * 1000) - 1)) Aside: Units for networking and units for RAM
Networking uses SI units for bandwidth, due to the close relationship of bandwidth with signalling frequencies, measured in SI's Hertz. The error between (103)n and (210)n increases with n; becoming concerning when n=3 (GB versus GiB); and being unsustainably large when n≥4 (TB versus TiB).
Networking also uses bits as the basic unit rather than bytes, again due to the closer relationship of bits to signalling frequencies. In networking there are 8 bits per byte. Care is taken to distinguish Gbps (gigabits per second) and GBps (gigabytes per second) due to the eight-fold difference. Incorrect casing of the ‘b’ leads to exasperated coworkers.
With the recent Heartbleed bug, people are clearly more interested in their MariaDB/MySQL running with SSL and if they have problems. First up, you should read the advisory notes: MariaDB, Percona Server (blog), and MySQL (blog).
Next, when you install MariaDB (or a variant) you are usually dynamically linked to the OpenSSL library that the system provides. Typically on startup of MariaDB 10.0.10 on CentOS 6.5 (packages from the MariaDB repository), you can check what your status of SSL is.MariaDB [(none)]> show variables like 'have_ssl'; +---------------+----------+ | Variable_name | Value | +---------------+----------+ | have_ssl | DISABLED | +---------------+----------+ 1 row in set (0.00 sec)
This means that SSL options are compiled, but mysqld didn’t start with it. You can verify SSL is linked dynamically:ldd `which mysqld` | grep ssl libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007ff82d1b1000)
If you are running with SSL enabled (some documentation at MySQL) you will have different options naturally. You can do this via: /etc/init.d/mysql start --ssl. Output now changes:MariaDB [(none)]> show variables like 'have_ssl'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_ssl | YES | +---------------+-------+ 1 row in set (0.00 sec)
The value NO will be displayed if the server is not compiled with SSL support. See SSL Server System Variables for more.
Zoe slept until 7:45am this morning, which is absolutely unheard of in our house. She did wake up at about 5:15am yelling out for me because she'd kicked her doona off and lost Cowie, but went back to sleep once I sorted that out.
She was super grumpy when she woke up, which I mostly attributed to being hungry, so I got breakfast into her as quickly as possible and she perked up afterwards.
Today there was a free magic show at the Bulimba Library at 10:30am, so we biked down there. I really need to work on curbing Zoe's procrastination. We started trying to leave the house at 10am, and as it was, we only got there with 2 minutes to spare before the show started.
Magic Glen put on a really good show. He was part comedian, part sleight of hand magician, and he did a very entertaining show. There were plenty of gags in it for the adults. Zoe started out sitting in my lap, but part way through just got up and moved closer to the front to sit with the other kids. I think she enjoyed herself. I'd have no hesitation hiring this guy for a future birthday party.
Zoe had left her two stuffed toys from the car at Megan's house on Tuesday after our Port of Brisbane tour, and so after the magic show we biked to her place to retrieve them. It was close to lunch by this stage, so we stayed for lunch, and the girls had a bit of a play in the back yard while Megan's little sister napped.
It was getting close to time to leave for our flu shots, so I decided to just bike directly to the doctor from Megan's place. I realised after we left that we'd still left the stuffed toys behind, but the plan was to drive back after our flu shots and have another swim their neighbour's pool, so it was all good.
We got to the doctor, and waited for Sarah to arrive. Sarah and I weren't existing patients at Zoe's doctor, but we'd decided to get the flu shot as a family to try and ease the experience for Zoe. We both had to do new patient intake stuff before we had a consult with Zoe's doctor and got prescriptions for the flu shot.
I popped next door to the adjacent pharmacy get the prescriptions filled, and then the nurse gave us the shots.
For the last round of vaccinations that Zoe received, she needed three, and she screamed the building down at the first jab. The poor nurse was very shaken, so we've been working to try and get her to feel more at ease about this one.
Zoe went first, and she took a deep breath, and she was winding up to freak out when she had her shot, but then it was all over, and she let the breath go, and looked around with a kind of "is that it?" reaction. She didn't even cry. I was so proud of her.
I got my shot, and then Sarah got hers, and we had to sit in the waiting room for 10 minutes to make sure we didn't turn into pumpkins, and we were on our way.
We biked home, I grabbed our swim gear, and we drove back to Megan's place.
The pool ended up being quite cold. Megan didn't want to get in, and Zoe didn't last long either. Megan's Mum was working back late, so I invited Megan, her Dad and her sister over for dinner, and we headed home so I could prepare it. One of Zoe's stuffed toys had been located.
We had a nice dinner of deviled sausages made in the Thermomix, and for a change I didn't have a ton of leftovers. Jason had found the other stuffed toy in his truck, so we'd finally tracked them both down.
After Megan and family went home, I got Zoe to bed without much fuss, and pretty much on time. I think she should sleep well tonight.