You are here

Planet Linux Australia

Subscribe to Planet Linux Australia feed
Planet Linux Australia - http://planet.linux.org.au
Updated: 1 hour 4 min ago

David Rowe: A Miserable Debt Free Life

Wed 12th Aug 2015 16:08

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

Categories: thinktime

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

Tue 11th Aug 2015 22:08
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

Categories: thinktime

David Rowe: FreeDV Robustness Part 7 – FreeDV 700B

Tue 11th Aug 2015 20:08

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

Categories: thinktime

Linux Australia News: Council Minutes Wednesday 15 July 2015

Mon 10th Aug 2015 20:08
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.

Categories: thinktime

Linux Australia News: Minutes of Council Meeting 1 July 2015

Mon 10th Aug 2015 20:08
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.

Categories: thinktime

Chris Neugebauer: PyCon Australia 2015!

Mon 10th Aug 2015 20:08

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!

Categories: thinktime

Colin Charles: LinuxCon North America in Seattle

Mon 10th Aug 2015 19:08

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!

Categories: thinktime

Maxim Zakharov: City2Surf 2015

Mon 10th Aug 2015 11:08

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!

Categories: thinktime

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

Mon 10th Aug 2015 00:08
Categories: thinktime

David Rowe: Advanced VHF Digital Radio using Codec 2

Sun 09th Aug 2015 12:08

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

Categories: thinktime

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

Sat 08th Aug 2015 00:08

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
Categories: thinktime

Binh Nguyen: Apple iCloud Device Locking and General Apple Information

Fri 07th Aug 2015 20:08
If you work in IT you probably have people ask you random questions out of nowhere from time to time. I was recently asked about how to bypass Apple iCloud device locking.



First of all, my opinion of this. I just try to avoid this space (from any perspective). If it sounds too good/cheap to be true it probably is, yadayada...



There does seem to be some tools online to enable checking prior to purchase but obviously even that isn't full proof. For example, if the seller knows that the goods have been locked but never connects to Apple servers then it is impossible/unlikely that the device in question will be locked prior to be the sale. They could feign ignorance also when confronted, law enforcement and the legal system may offer no avenue for recourse, etc...

https://support.apple.com/en-au/HT201581

http://apple.stackexchange.com/questions/62448/find-original-sales-information-of-macbook-by-serial-number

https://www.powermax.com/stolen/index

http://notebooks.com/2011/05/10/how-to-avoid-buying-a-stolen-mac-apple-store-robbed-of-24-macbooks-in-30-seconds-video/

http://www.reddit.com/r/apple/comments/1lfko4/macbook_pro_got_stolen_how_can_i_access_the/

Safe to give out the serial number of a Mac I'm selling?

http://arstechnica.com/civis/viewtopic.php?f=19&t=93200

https://www.icloud.com/activationlock/

http://apple.stackexchange.com/questions/132478/macbook-pro-locked-with-find-my-mac-and-wont-let-me-boot

http://www.cnet.com/au/news/apples-icloud-lock-for-macs-is-not-very-secure/

iPhone 6 Plus Are "Stolen Goods" from Futu_Online eBay Promotion

https://www.ozbargain.com.au/node/205809

http://www.amta.org.au/pages/amta/Check.the.Status.of.your.Handset



If you've been watching this space for a while you'll know that about the Doucli bypass. This seems to work based on MITM (Man in the Middle Attack) principles (I haven't taken too close a look at this).

http://maypalo.com/2014/05/24/doulci-alternative-method-gadgetwide/

http://howtosifiwiki.com/bypass-icloud-account/

http://apple.stackexchange.com/questions/167978/factory-reset-an-ipad-without-knowing-the-icloud-password



For those who don't know what this is is that any communications that go from Apple to your device now go through a third party (Doucli). Doucli filters out any traffic which relates to iCloud locking or simply inserts a different set of communications which can then unlock the device. For anyone who knows how this is done this can be extremely tedious and difficult especially if the defender has taken extensive counter-measures against attack.



If you are interested in possible avenues of attacking it here goes:

- preventing it from locking your device should be simple enough. Don't connect it to the Internet and allow it to hook up with Apple servers. Earlier versions of the Doucli hack depend on DNS host file hacking. Later version of Apple software seems to block this behaviour though. Easiest way around this is to setup a layered defense/attack with DNS re-directs occuring at multiple points between you and Apple whether it may be via software (relevant configuration files, virtual machines, containers, etc...) and/or hardware (networking hardware, servers, etc...)

- the network/server setup of Apple systems is such that the authentication servers may not be isolated from the store purchases making things slightly more difficult (there are plenty of programs out there to do this). If you must use a second/intermediary system to which downloads music/software and use this to transfer to another system which is never connected online. This allows you to have the benefits of the purchasing online while not having to deal with iCloud authentication issues. Your device can not be locked without relevant identifying information being transferred between yourself and Apple (obviously, if this becomes a widespread means of bypassing iCloud then they'll be counter-measures which are deployed, etc...)

- the game keeps on changing. As cracks in the protocol/system are identified attackers and Apple have to continually change the game. If you really want to understand it, you're best trying to understand live packet manipulation and reverse engineering/cracking or DRM systems

- I've looked at this and for me the easiest way to attack is via direct hardware if your device is locked. It requires no advance knowledge of the software/protocol and is reliant entirely on the way in which data is stored on the device itself (obviously, this only makes the problem slightly easier to deal with). It's similar to the way in which firmware reset mode works on embedded devices such as eBooks and to the way in which bypass is achieved in physical security systems. The only troubling thing may access. They're BGA! Realistically this could mean that this type of attack is neigh on impossible (I think it may be possible though. When I have dead hardware lying around I often play around with it. A single copper fibre and the right type of signal/voltage may be enough to create the type of data corruption that I require). Effectively, the type of attack that I envisage revolves around storage corruption. Since, everything is stored via a combination of encrypted keys at multiple layers my belief is that destroying/corrupting the storage and restoring iOS clean and bypassing Apple servers is easier than engaging in a continual race against Apple (making the assumption that restoration of iOS can be completed independently of iCloud lock checking)

http://dtbnguyen.blogspot.com/2012/07/if-only-reading-were-easier.htmlhttp://dtbnguyen.blogspot.com/2012/08/funky-firmware.html

http://images.apple.com/iphone/business/docs/iOS_Security_Feb14.pdf

https://www.ifixit.com/Answers/View/192220/Is+it+possible+to+transfer+NAND+Flash+from+iPhone+to+another

http://www.datarecovery.net/newsletters/what-kills-flash-drive.html

Toshiba THGBX2G7B2JLA01 16 GB NAND Flash

SK Hynix H2JTDG8UD1BMR 16 GB NAND Flash

- clearly, I'm working on the premise that attacking hardware is easier than attacking software since it is more difficult to change. To change the pin-out structure on a single chip requires re-tooling on a mass scale for chips that may also be used in other devices making it un-economical for both Apple and flash chip manufacturers to engage in. Once a design is out there, we can just figure it out and it should work across that entire design specification/model though... Of course, this could be somewhat of a moot point because a lot of Apple devices aren't easily upgradeable, change layout on each iteration, etc...

- another type of attack revolves around changing identifying information on the device and then clearing iOS. That said, you don't know whether or not Apple may have some sort of unique/class based identification system which may block non-Apple identified systems from accessing their servers. Either way, it requires a second system to act as an intermediary

- insider at Apple who removes gives you a 'clean sheet'

- that said, much of what I'm saying here is theoretical. I don't have access to an iPod/iPad at the moment so I don't know The best I've been able to manage are online teardowns

http://www.techhive.com/article/116572/article.html

http://superuser.com/questions/616033/are-unpowered-ssds-vulnerable-to-an-emp-shock

http://www.survivalistboards.com/showthread.php?t=72855

http://electronics.stackexchange.com/questions/36921/does-magnetism-affect-sd-cards

https://en.wikipedia.org/wiki/Flash_memory



Cracking Open: Apple iPad Air 2

https://www.youtube.com/watch?v=-tZlpBz8WF4

https://www.ifixit.com/Teardown/iPad+Mini+Wi-Fi+Teardown/11423

https://www.ifixit.com/Teardown/iPad+Mini+2+Teardown/19374

https://www.ifixit.com/Teardown/iPad+Mini+3+Wi-Fi+Teardown/30628

https://www.ifixit.com/Teardown/iPad+Wi-Fi+Teardown/2183

https://www.ifixit.com/Teardown/iPad+3+4G+Teardown/8277

https://www.ifixit.com/Teardown/iPad+Air+LTE+Teardown/18907

https://www.ifixit.com/Teardown/iPad+Air+2+Teardown/30592

- just don't get why some groups simply don't release downloadable software which can be used to bypass. A local/loopback proxy would likely have minimal system impact if the protocol break feels as simple as it could possibly be. My guess is that at least some hacker/cracker groups are using the (supposedly) free and altruistic bypasses as a means of gaining access to people's private details. All the more reason to avoid these third party hacks and buy equipment 'clean'...

- if you're used to researching DRM and disassembly/reverse engineering of files some of the above may seem foreign to you. Believe me, it's not that much of a leap up. Conceptually, many of the same techniques and theories are employed. You just have to get used to a new setting. That's all...



Identify your iPod model

https://support.apple.com/en-au/HT204217



Diagnostic mode for Apple iPod devices

https://discussions.apple.com/thread/3110831

http://www.methodshop.com/gadgets/ipodsupport/diagnosticmode/index.shtml



Sources/options for replacement storage on iPod Classics

http://www.ebay.com/bhp/ipod-classic-120gb-hard-drive

http://rockbox.cool.haxx.narkive.com/ibajtp9V/mk1214gah-or-spinpoint-n2

http://blog.macsales.com/28857-give-your-ipod-classic-new-life-with-owc-iflash

http://eshop.macsales.com/item/OWC/TARIPODFLSH/

http://apple.stackexchange.com/questions/89367/were-the-2009-mbps-affected-by-the-nvidia-problem

http://forums.whirlpool.net.au/archive/1123805



Source for replacement of Apple parts locally

https://www.macfixit.com.au/apple-ipad-iphone-ipod-accessories/ipad-iphone-ipod-repair-replacement-parts/ipod-parts.htmlhttp://fixspot.com.au/apple-iphone-ipad-ipod-samsung-galaxy-repair-price-melbourne-cbd-city/Enabling alternative filesystem support on Mac OS X Yosemite

http://www.cnet.com/au/news/how-to-manually-enable-ntfs-read-and-write-in-os-x/

http://apple.stackexchange.com/questions/152661/write-to-ntfs-formated-drives-on-yosemite

http://computers.tutsplus.com/tutorials/quick-tip-how-to-write-to-ntfs-drives-in-os-x-mavericks--cms-21434

http://www.cnet.com/au/how-to/how-to-manage-ext2ext3-disks-in-os-x/

http://osxdaily.com/2014/03/20/mount-ext-linux-file-system-mac/



Booting Live Linux discs on an Apple Macbook

http://askubuntu.com/questions/71189/how-do-i-boot-the-live-cd-on-a-macbook-pro

https://en.wikipedia.org/wiki/List_of_live_CDs



Mac OS X Live discs are an interesting option for those who are interested in testing/trying Mac OS X without wanting to purchase hardware beforehand.

http://www.insanelymac.com/forum/topic/22193-104145-live-and-install-dvd/

http://www.insanelymac.com/forum/forum/109-os-x-livedvd/



How to install latest Mac OS X on iMac without original DVD

https://discussions.apple.com/thread/7006750Create a bootable installer for OS X Mavericks or Yosemite

https://support.apple.com/en-au/HT201372Create A Bootable OS X Yosemite DVD/USB Drive

https://discussions.apple.com/thread/6619535



https://itunes.apple.com/au/app/os-x-yosemite/id915041082?mt=12

https://developer.apple.com/osx/download/

https://beta.apple.com/sp/betaprogram/

http://www.opensource.apple.com/source/

http://www.opensource.apple.com/

http://apple.stackexchange.com/questions/151137/how-to-get-osx-yosemite-outside-the-mac-app-store

http://apple.stackexchange.com/questions/150896/sha1-hash-for-osx-10-10-yosemite-public-release
Categories: thinktime

Michael Still: The Crossroad

Fri 07th Aug 2015 15:08






ISBN: 9781743519103

LibraryThing

Written by a Victoria Cross recipient, this is the true story of a messed up kid who made something of himself. Mark's dad died of cancer when he was young, and his mum was murdered. Mark then went through a period of being a burden on society, breaking windows for fun and generally being a pain in the butt. But then one day he decided to join the army...



This book is very well written, and super readable. I enjoyed it a lot, and I think its an important lesson about how troubled teenagers are sometimes that way because of pain in their past, and can often still end up being a valued contributor to society. I have been recommending this book to pretty much everyone I meet since I started reading it.



Tags for this post: book mark_donaldson combat sas army afghanistan

Related posts: Goat demoted Comment Recommend a book
Categories: thinktime

Michael Still: Terrible pong

Fri 07th Aug 2015 10:08
The kids at coding club have decided that we should write an implementation of pong in python. I took a look at some options, and decided tkinter was the way to go. Thus, I present a pong game broken up into stages which are hopefully understandable to an 11 year old: Operation Terrible Pong.



Tags for this post: coding_club python game tkinter

Related posts: More coding club; Implementing SCP with paramiko; Coding club day one: a simple number guessing game in python; Packet capture in python; mbot: new hotness in Google Talk bots; Calculating a SSH host key with paramiko



Comment
Categories: thinktime

Maxim Zakharov: Translation services from Google and Yandex

Thu 06th Aug 2015 12:08

You're perhaps aware of Google Translation services, and if you know more than one human language you can contribute and help to improve this service via Google Translate Community (BETA).

You also might be interested to know that Yandex, a Russian google, has their Yandex Translation Service running, which in many cases gives better translation for Russian - English pair of languages.

Categories: thinktime

Tim Serong: Snow in the Forest

Wed 05th Aug 2015 19:08

“How’d you solve the icing problem?”

“Icing problem?”

“Might want to look into it.”

Iron Man (2008)

On a particularly cold Saturday morning a couple of years ago, my mobile phone couldn’t get any signal for a few hours. But I didn’t really care, because I had breakfast to eat, animals to feed, and nobody I urgently needed to talk to at the time. Also it came good again shortly after midday.

The following week the same thing happened, but for rather longer, i.e. well into the evening. This was enough to prompt me to use my landline to call Optus (our mobile phone provider) and report a fault. The usual dance ensued:

“Have you tried turning it off and on again?”

“Yes.”

“Have you tried a different handset?”

“Yes.”

“A different SIM?”

“Yes.”

“Holding the phone in your other hand?”

“Yes.”

“Sacrificing a lamb to the god Mercury?”

“Yes.”

I might be misremembering the details of the conversation, but you get the idea. Long story short, I got a fault lodged.

Later I received a call – on my mobile – asking if my mobile was working again. “Indeed it is, and you wouldn’t have been able to make this call if it wasn’t”, I replied. Then I asked what the problem had been. “Let me check”, said the support person. “Uhm… It says here there was… 100mm of ice on the local tower.”

Flash forwards to a couple of days ago, when snow fell down to sea level for the first time since 2005, and my mobile phone was dead again. I can only assume they haven’t solved the icing problem, and that maybe the local NBN fixed wireless tower suffers from the same affliction, as that was dead too for something like 24 hours.

It was very pretty though.

Categories: thinktime

Michael Still: Searching for open bugs in a launchpad project

Tue 04th Aug 2015 17:08
The launchpad API docs are OMG terrible, and it took me way too long to work out how to do this, so I thought I'd document it for later. Here's how you list all the open bugs in a launchpad project using the API:



    #!/usr/bin/python import argparse import os from launchpadlib import launchpad LP_INSTANCE = 'production' CACHE_DIR = os.path.expanduser('~/.launchpadlib/cache/') def main(username, project): lp = launchpad.Launchpad.login_with(username, LP_INSTANCE, CACHE_DIR) for bug in lp.projects[project].searchTasks(status=["New", "Incomplete", "Confirmed", "Triaged", "In Progress"]): print bug if __name__ == '__main__': parser = argparse.ArgumentParser(description='Fetch bugs from launchpad') parser.add_argument('--username') parser.add_argument('--project') args = parser.parse_args() main(args.username, args.project)




Tags for this post: launchpad api

Related posts: Taking over a launch pad project; Juno nova mid-cycle meetup summary: the next generation Nova API



Comment
Categories: thinktime

Rusty Russell: The Bitcoin Blocksize: A Summary

Tue 04th Aug 2015 13:08

There’s a significant debate going on at the moment in the Bitcoin world; there’s a great deal of information and misinformation, and it’s hard to find a cogent summary in one place.  This post is my attempt, though I already know that it will cause me even more trouble than that time I foolishly entitled a post “If you didn’t run code written by assholes, your machine wouldn’t boot”.

The Technical Background: 1MB Block Limit

The bitcoin protocol is powered by miners, who gather transactions into blocks, producing a block every 10 minutes (but it varies a lot).  They get a 25 bitcoin subsidy for this, plus whatever fees are paid by those transactions.  This subsidy halves every 4 years: in about 12 months it will drop to 12.5.

Full nodes on the network check transactions and blocks, and relay them to others.  There are also lightweight nodes which simply listen for transactions which affect them, and trust that blocks from miners are generally OK.

A normal transaction is 250 bytes, and there’s a hard-coded 1 megabyte limit on the block size.  This limit was introduced years ago as a quick way of avoiding a miner flooding the young network, though the original code could only produce 200kb blocks, and the default reference code still defaults to a 750kb limit.

In the last few months there have been increasing runs of full blocks, causing backlogs for a few hours.  More recently, someone deliberately flooded the network with normal-fee transactions for several days; any transactions paying less fees than those had to wait for hours to be processed.

There are 5 people who have commit access to the bitcoin reference implementation (aka. “bitcoin-core”), and they vary significantly in their concerns on the issue.

The Bitcoin Users’ Perspective

From the bitcoin users perspective, blocks should be infinite, and fees zero or minimal.  This is the basic position of respected (but non-bitcoin-core) developer Mike Hearn, and has support from bitcoin-core ex-lead Gavin Andresen.  They work on the wallet and end-user side of bitcoin, and they see the issue as the most urgent.  In an excellent post arguing why growth is so important, Mike raises the following points, which I’ve paraphrased:

  1. Currencies have network effects. A currency that has few users is simply not competitive with currencies that have many.
  2. A decentralised currency that the vast majority can’t use doesn’t change the amount of centralisation in the world. Most people will still end up using banks, with all the normal problems.
  3. Growth is a part of the social contract. It always has been.
  4. Businesses will only continue to invest in bitcoin and build infrastructure if they are assured that the market will grow significantly.
  5. Bitcoin needs users, lots of them, for its political survival. There are many people out there who would like to see digital cash disappear, or be regulated out of existence.

At this point, it’s worth mentioning another bitcoin-core developer: Jeff Garzik.  He believes that the bitcoin userbase has been promised that transactions will continue to be almost free.  When a request to change the default mining limit from 750kb to 1M was closed by the bitcoin lead developer Wladimir van der Laan as unimportant, Jeff saw this as a symbolic moment:

Disappointing. New #Bitcoin Core policy: stealth fee increases https://t.co/pir9uUOLet Zero plan to communicate this to BTC users :(

— Jeff Garzik (@jgarzik) July 21, 2015

What Happens If We Don’t Increase Soon?

Mike Hearn has a fairly apocalyptic view of what would happen if blocks fill.  That was certainly looking likely when the post was written, but due to episodes where the blocks were full for days, wallet designers are (finally) starting to estimate fees for timely processing (miners process larger fee transactions first).  Some wallets and services didn’t even have a way to change the setting, leaving users stranded during high-volume events.

It now seems that the bursts of full blocks will arrive with increasing frequency; proposals are fairly mature now to allow users to post-increase fees if required, which (if all goes well) could make for a fairly smooth transition from the current “fees are tiny and optional” mode of operation to a “there will be a small fee”.

But even if this rosy scenario is true, this begsavoids the bigger question of how high fees can become before bitcoin becomes useless.  1c?  5c?  20c? $1?

So What Are The Problems With Increasing The Blocksize?

In a word, the problem is miners.  As mining has transitioned from a geek pastime, semi-hobbyist, then to large operations with cheap access to power, it has become more concentrated.

The only difference between bitcoin and previous cryptocurrencies is that instead of a centralized “broker” to ensure honesty, bitcoin uses an open competition of miners. Given bitcoin’s endurance, it’s fair to count this a vital property of bitcoin.  Mining centralization is the long-term concern of another bitcoin-core developer (and my coworker at Blockstream), Gregory Maxwell.

Control over half the block-producing power and you control who can use bitcoin and cheat anyone not using a full node themselves.  Control over 2/3, and you can force a rule change on the rest of the network by stalling it until enough people give in.  Central control is also a single point to shut the network down; that lets others apply legal or extra-legal pressure to restrict the network.

What Drives Centralization?

Bitcoin mining is more efficient at scale. That was to be expected[7]. However, the concentration has come much faster than expected because of the invention of mining pools.  These pools tell miners what to mine, in return for a small (or in some cases, zero) share of profits.  It saves setup costs, they’re easy to use, and miners get more regular payouts.  This has caused bitcoin to reel from one centralization crisis to another over the last few years; the decline in full nodes has been precipitous by some measures[5] and continues to decline[6].

Consider the plight of a miner whose network is further away from most other miners.  They find out about new blocks later, and their blocks get built on later.  Both these effects cause them to create blocks which the network ignores, called orphans.  Some orphans are the inevitable consequence of miners racing for the same prize, but the orphan problem is not symmetrical.  Being well connected to the other miners helps, but there’s a second effect: if you discover the previous block, you’ve a head-start on the next one.  This means a pool which has 20% of the hashing power doesn’t have to worry about delays at all 20% of the time.

If the orphan rate is very low (say, 0.1%), the effect can be ignored.  But as it climbs, the pressure to join a pool (the largest pool) becomes economically irresistible, until only one pool remains.

Larger Blocks Are Driving Up Orphan Rates

Large blocks take longer to propagate, increasing the rate of orphans.  This has been happening as blocks increase.  Blocks with no transactions at all are smallest, and so propagate fastest: they still get a 25 bitcoin subsidy, though they don’t help bitcoin users much.

Many people assumed that miners wouldn’t overly centralize, lest they cause a clear decentralization failure and drive the bitcoin price into the ground.  That assumption has proven weak in the face of climbing orphan rates.

And miners have been behaving very badly.  Mining pools orchestrate attacks on each other with surprising regularity; DDOS and block withholding attacks are both well documented[1][2].  A large mining pool used their power to double spend and steal thousands of bitcoin from a gambling service[3].  When it was noticed, they blamed a rogue employee.  No money was returned, nor any legal action taken.  It was hoped that miners would leave for another pool as they approached majority share, but that didn’t happen.

If large blocks can be used as a weapon by larger miners against small ones[8], it’s expected that they will be.

More recently (and quite by accident) it was discovered that over half the mining power aren’t verifying transactions in blocks they build upon[4].  They did this in order to reduce orphans, and one large pool is still doing so.  This is a problem because lightweight bitcoin clients work by assuming anything in the longest chain of blocks is good; this was how the original bitcoin paper anticipated that most users would interact with the system.

The Third Side Of The Debate: Long Term Network Funding

Before I summarize, it’s worth mentioning the debate beyond the current debate: long term network support.  The minting of new coins decreases with time; the plan of record (as suggested in the original paper) is that total transaction fees will rise to replace the current mining subsidy.  The schedule of this is unknown and generally this transition has not happened: free transactions still work.

The block subsidy as I write this is about $7000.  If nothing else changes, miners would want $3500 in fees in 12 months when the block subsidy halves, or about $2 per transaction.  That won’t happen; miners will simply lose half their income.  (Perhaps eventually they form a cartel to enforce a minimum fee, causing another centralization crisis? I don’t know.)

It’s natural for users to try to defer the transition as long as possible, and the practice in bitcoin-core has been to aggressively reduce the default fees as the bitcoin price rises.  Core developers Gregory Maxwell and Pieter Wuille feel that signal was a mistake; that fees will have to rise eventually and users should not be lulled into thinking otherwise.

Mike Hearn in particular has been holding out the promise that it may not be necessary.  On this he is not widely supported: that some users would offer to pay more so other users can continue to pay less.

It’s worth noting that some bitcoin businesses rely on the current very low fees and don’t want to change; I suspect this adds bitterness and vitriol to many online debates.

Summary

The bitcoin-core developers who deal with users most feel that bitcoin needs to expand quickly or die, that letting fees emerge now will kill expansion, and that the infrastructure will improve over time if it has to.

Other bitcoin-core developers feel that bitcoin’s infrastructure is dangerously creaking, that fees need to emerge anyway, and that if there is a real emergency a blocksize change could be rolled out within a few weeks.

At least until this is resolved, don’t count on future bitcoin fees being insignificant, nor promise others that bitcoin has “free transactions”.

[1] http://www.coindesk.com/bitcoin-mining-pools-ddos-attacks/ “Bitcoin Mining Pools Targeted in Wave of DDOS Attacks” Coinbase 2015

[2] http://blog.bettercrypto.com/?p=1131 “Block Withholding Attacks – Recent Research” N T Courtois 2014

[3] https://bitcointalk.org/index.php?topic=327767.0 “GHash.IO and double-spending against BetCoin Dice” mmtech et. al 2013

[4] https://www.reddit.com/r/Bitcoin/comments/3c8tq2/questions_about_the_july_4th_bip66_fork/cstgajp “Questions about the July 4th BIP66 fork”

[5] https://twitter.com/petertoddbtc/status/608475414449778688 “350,000 full nodes to 6,000 in two years…” P Todd 2015

[6] https://getaddr.bitnodes.io/dashboard/?days=365 “Reachable nodes during the last 365 days.” Bitnodes.io

[7] https://bitcointalk.org/index.php?topic=532.msg6306#msg6306 “Re: Scalability and transaction rate” Satoshi 2010

[8] http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg08161.html “[Bitcoin-development] Mining centralization pressure from non-uniform propagation speed” Pieter Wuille 2015

Categories: thinktime

David Rowe: FreeDV QSO Party Weekend – September 12/13th

Tue 04th Aug 2015 08:08

My good friends at the Amateur Radio Experimenters Group (AREG), an Adelaide based Ham radio club, have organised a special FreeDV QSO Party Weekend on Sat/Sun September 12/13th. This is a great chance to try out FreeDV, work VK5 using open source HF digital voice, and even talk to me!

All the details including paths, frequencies, and times over on the AREG site.

Categories: thinktime

Matt Palmer: How not to report abuse

Mon 03rd Aug 2015 13:08

This is the entire complaint that was received:

We are an IT security company from Spain.

We have detected sensitive information belonging to Banesco Banco Universal, C.A. clientes.

As authorized representative in the resolution of IT security incidents affecting Banesco Banco Universal, C.A., we demand the deletion of the content related to Banesco Banco Universal, C.A, clients. This content violates the law about electronic crime in Venezuela (see “Ley Especial sobre Delitos Informáticos de Venezuela”, Chapter III, Articles 20 y 23).

Note the complete lack of any information regarding what URLs, or even which site(s), they consider to be problematic. Nope, just “delete all our stuff!” and a wave of the “against the law somewhere!” stick.

Categories: thinktime

Pages