linux.conf.au 2009
Marching south together...

May 11, 2012

May 08, 2012

Information diets and media biases

Via Murdoch’s Pride is America’s Poison:

In the digital era of do-it-yourself news consumption, it is easier than ever to assemble an information diet that simply confirms your prejudices. Traditional news organizations, for all their shortcomings, see it as their mission to provide — and test — the information you need to form intelligent opinions. We aim to challenge lazy assumptions. Fox panders to them.

Brilliant article on ethics and the role media plays. In today’s social world with social feeds, you tend to get news that is influenced by what your friends read (Facebook has several such apps). On Twitter they don’t even necessarily need to be your friends, just people you choose to follow.

In the Malaysian context, this really means you need a balanced news diet. Mainstream media is pro-ruling party, while alternative media tends to be pro-opposition or sometimes have their own agendas. There’s no middle ground in the sea of tabloids.

Related posts:

  1. The Internet era, exposing information, then getting death threats
  2. Drivel that is print media
  3. Twitter for politics, and in the media



Getting a passport in Australia

See Lindsey Kuper on a expedited US passport, here we have another “life in Australia” comparison piece.

Step 1: obtain passport form. If you are an adult renewing an existing adult passport that has been expired for less than 24 months, you can do this online. Otherwise, obtain form from nearest post office.

Step 2: track down someone — usually just another passport holder — to be your photo referee (ie, to agree that it is you in the picture). Gather relevant documentation, that is, proof of identity and of citizenship. If you were born in Australia on or after 20 August 1986, see below.

Step 3: ring up local post office for passport interview, usually granted within the week. If you need it sooner, call several post offices in turn or go to the Passport Office (in a capital city).

Step 4: attend post office. Have them take your photo, these days, because if they don’t approve it, they can take it again. Have interview, which in fact largely consists of having your documentation and photo checked for validity.

Step 5: pay fee ($233), extra $103 for priority.

Priority passports are printed to be mailed within 2 business days, other applications within 10. They arrive registered post (ie, signature required). If you require one within 2 days, it seems you need to attend a Passport Office in person and hope they can help.

Given that I understand it takes weeks and weeks to get a USA passport if not expedited, 10 days is not too bad.

Born in Australia on or after 20 August 1986? Tricky! This is when Australia stopped granting citizenship by right of birth alone. So you need proof of citizenship, which can include:

  • evidence that you were born in Australia and that one of your parents was either a citizen or permanent resident at the time of your birth
  • evidence that you were born in Australia and that you were still a resident of Australia on your 10th birthday (school records and so on)
  • evidence that you were born in Australia and were not eligible for any other citizenship
  • see also

This diversion has been known to be lengthy. :-( It’s also just about impossible to get one as a minor if your guardians don’t agree to you travelling.

Have a small child with you?

Good luck with that, because the photo standards require straight on face shot with open eyes and neutral facial expression. Try getting your pre- or semi-verbal child to do that.

May 07, 2012

Should you give birth privately?

A few people have been researching their options over the last few years about giving birth in Australia, and have asked me what I think about having private health insurance or giving birth in a private hospital.

Background: maybe you shouldn’t ask me! I’m not a health professional, I’m a mother of one, and he was born in a public hospital, in which I was a public patient.

And now, crucial fact about private hospital cover: it pays much of your hospital stay fees and some of your doctor’s in-hospital fees. It does not pay for private consultations with a doctor in an outpatient/private room setting.

You know what obstetricians charge a lot for? The “pregnancy management” fee, to cover your outpatient care in pregnancy. If I recall correctly, the Medicare rebate for this is on the order of $400 to $500. In Sydney, private obstetricians may charge upwards of $4000 for this fee. Who covers the difference? You do. (OK, full disclosure, the Medicare Safety Net may help too, I don’t know the details except that MSN actually cut benefits specifically for obstetricians a few years ago because they’d all upped their fees to incorporate the MSN rebate. So, mostly you do!) Also, anaesthetists in the private hospitals usually end up with a decent gap fee, if you have an epidural or Caesearean.

So, private system birthing is expensive regardless of insurance.

Finally, tests like ultrasounds are usually Medicare plus out-of-pocket too.

Now, birth choices in Australia.

Homebirth. There are some very small number of hospitals in Australia that will allow their midwife staff to attend some homebirths. It’s very easy to get disqualified from such a program. I would be on several grounds (some more legit than the one I’m about to give you), including the simple fact that my son’s birthweight was over 4.0kg.

You might also birth with a privately practicing midwife, or, in theory, with a private midwife collaborating with an obstetrician as backup (there are very few such arrangements so far). Most, although not all, private midwives will also only work with pretty low-risk women (singleton pregnancies, head-down, no high blood pressure or diabetes, that sort of thing, about 80% of pregnancies get a low-risk classification IIRC).

Is private insurance useful? Some private health funds provide some limited cover for this, I believe, on the order of $1k to $2k of the midwife’s fee, which is around $5k last time I looked. In the collaboration setup Medicare contributes too, I think?

Birth centre These are midwife-only maternity units attached to public hospitals. (Sometimes at some physical distance, eg Ryde Hospital only has a birth centre, with transfers to Royal North Shore several suburbs away.) You need to be assessed as low risk and if that assessment changes (and this isn’t uncommon, eg, your baby is breech or you get diabetes or pre-eclampsia) you get summarily transferred to the doctors and your whole care team often is suddenly switched out from under you. (Also they usually don’t do epidurals, I think? So the transfer rate for pain relief is not insubstantial I believe.)

Is private insurance useful? No, this is publicly funded.

Public hospital, midwife’s clinic If you go to a public hospital, and are assessed as low risk, almost all of your pregnancy management will be by midwives. Often they “caseload” now, meaning you see the same one each time. Again, if you become high risk, swish, off to the doctors.

Is private insurance useful? No, this is publicly funded.

Public hospital, doctor’s clinic. If you aren’t low risk, this is you. (This was me.) Chronic health problems or pregnancy complications (like pre-eclampsia) put you here. For your appointments, or at least most of them, you see an OB registrar or staff specialist. On high rotation, often, that is, you won’t usually see the same one many times. If you have a vaginal birth it may still be midwife-only, or largely midwife managed.

Is private insurance useful? No, this is publicly funded.

Public hospital, private doctor’s patient. In this case, you choose your doctor, see them mostly in their own clinic, birth in a public hospital (with you or your private insurer paying for the facilities) with the doctor of your choice attending. This is subject to gap fees for the doctor.

Is private insurance useful? Yes, pays for your accommodation and some of the OB’s and anaethestist’s (if needed) gap.

Public hospital, private midwife’s patient. This depends on a midwife/obstetrician collaborative practice. As I said, rare, but there’s at least one that allows a public hospital birth (private admission) with the midwife of your choice: Melissa Maiman in Sydney.

Is private insurance useful? Yes, pays for your accommodation. Not sure what happens if an OB and/or anaethestist are needed.

Private hospital, private doctor’s patient. There’s no midwife-managed option. If you’re birthing in a private hospital, you need a doctor of your choice attending. Again, pre-birth consultations in their own clinic, and subject to gap fees.

It’s definitely worth noting that while your private doctor will be an obstretrician and can manage higher risk pregnancies, for really serious stuff like prematurity earlier than a certain point, pregnancies with more than 2 babies on board (I think) and similar, they will actually refer you into the public system!

Is private insurance useful? Yes, pays for your accommodation and some of the OB’s and anaethestist’s (if needed) gap.

Public hospital, high risk clinic. I don’t know much about this, I’m told it’s the next level up in risk, and it well might be my next pregnancy. Joy. This is where you end up with OBs with a high risk interest, maternal-fetal medicine specialists (OBs with a formal subspecialty in very high risk pregnancies), renal physicians, endocrinologists, etc. This often involves referral to a tertiary hospital. (Sometimes specialists can consult without you being in one of these, like, an endocrinologist might monitor diabetes or thyroid hormones with you in the regular doctor’s clinic or seeing a private OB.) Birth choices guides don’t talk about this option very much, because you don’t really have a choice at this point (except birthing unattended or with a very risk-tolerant private midwife).

Is private insurance useful? I’m not sure, to be honest. It probably depends on the risk profile of your actual birth, I guess? If your birth is able to be attended by a regular private OB, maybe they let you do this? But you can do this publicly too.

Further reading on birthing choices

My Birth has a lot of information on birth procedures and the outcomes of different birthing providers, from a low intervention advocacy standpoint. One thing of note which gets picked up a lot by low intervention advocates is that despite the private birthing system referring all their hardest cases back to public, and despite the public patient profile being poorer with less good preventative health care and so on, private hospitals have much higher intervention rates.

Conclusion

It really depends on where you want to birth and with who attending. If the idea of the same doctor doing your pregnancy management and attending your birth appeals, that’s tending towards private birthing and thus private health insurance. But it has high out of pocket costs on top of the insurance premiums. (Note also that private health insurance policies are expensive if you include obstetric coverage, and will always have a 12 month waiting period for it, so you must obtain it before pregnancy.)

I was reasonably happy as a doctor’s clinic patient for my first birth. If I was low-risk I’d probably likewise go public, ideally with a birth centre or caseload midwife pregnancy+birth.

May 06, 2012

No longer affiliated with MNCC and TeAM

Its worth noting that I’m no longer on the councils for the Malaysian National Computer Confederation (MNCC) and the Technopreneurs Association of Malaysia (TeAM). For MNCC, it was a retirement at the end of a term, and for TeAM it was a resignation during the term. Yes, both allow you to stick around for 2 years in general. I wish the organizations much luck in their future endeavors. 

Related posts:

  1. StarOffice no longer on the SIA’s Airbus A380?
  2. MyOSS 2.0 – our first meetup again!
  3. Disgusted at the puny minds…



April 28, 2012

Come to AdaCamp DC, July 10–11

From the Ada Initiative blog:

Applications now open for AdaCamp DC

Capitol Building in Washington, D.C. by Bernt Rostad, CC-Attribution

© Bernt Rostad, CC Attribution

Applications for AdaCamp DC are now open – apply now!

AdaCamp DC will be July 10 – 11, 2012, in Washington DC, co-located with Wikimania 2012. We are likely to have more applications than available slots, so apply now to have the best chance of attending. Applications close June 15 (May 11 for those requesting travel assistance).

Who should apply

AdaCamp DC will bring together a wide variety of people from open technology and culture, all of whom are working to support women in open tech/culture. We’re looking for people who:

  • Participate in open technology and culture: any field involving open/grassroots/community participation and sharing the results of your work for free: open data, open source software, wikis, open government, open libraries, remix/fan culture, open video, and more
  • Can share information about women’s experiences in that field, including talking about women’s achievements and the challenges they face
  • Want to work together and share strategies to support and promote women in the field
  • Share the Ada Initiative’s feminist approach to supporting and promoting women in open technology and culture
  • Are young and old; students, professionals and hobbyists; from a diverse range of backgrounds; and reflect the breadth of the open technology and culture field

AdaCamp is open to people of all genders. However, since AdaCamp and the Ada Initiative exist to support and promote women in open technology and culture, prospective attendees who are not themselves women will need to demonstrate a high level of prior engagement and experience with the issues faced by women in those fields in order to be invited.

Find out more about AdaCamp DC at the event webpage.

Sponsors

The Ada Initiative thanks our generous AdaCamp sponsors for making this event possible. Our current sponsors are the Linux Foundation, Intel, Facebook, Red Hat, Collabora, and GitHub.

Interested in becoming an AdaCamp sponsor? Email us at sponsors@adainitiative.org and we will send you more information on the benefits of sponsorship.

April 23, 2012

PhD status

Everest

Everest by Joe Hastings

A quick note that appearances do suggest that I am in the final weeks of my PhD, with submission in late May. I am reluctant to say this because I’ve been wrong before, but this time my supervisor agrees. So.

I probably will be pretty absent for several weeks. And if I am not, I may be very tired.

Also an explanation of how this works in Australia, because it’s quite different to North America. Mostly writing this so that people don’t start addressing me as ‘Doctor’ in June.

Short version: this work is me preparing my thesis for initial examination, and this is hopefully the hardest bit. But I won’t graduate for at least six months.

First, I finalise my thesis document (we don’t call it a dissertation). I submit this to the university where it is examined by three external examiners: ideally at least one from an Australian university. At this point my work on it is in deep freeze.

Unlike in North America in general, these examiners are anonymous to me (chosen by my supervisor) and were not involved in my PhD studies prior to this point. This means in theory that they might not like it: in practice I am told that around 99% of students who submit at all eventually graduate.

Examination in theory takes six weeks, it could take as long as six months (since appointing a whole new examiner might be slower than waiting for a late one). They submit reports which my supervisor reads and makes recommendations on (most commonly I agree, Mary should indeed fix all these things, followed by I almost entirely agree, Mary should indeed fix all but a few of these things). This is fed into the higher degree research committee (who usually agree with the supervisor, but they might come up with a different answer if the examiners’ recommendations varied a lot) and then there’s a huge range of possible decisions that come out of the HDR committee:

  1. pass as is
  2. make minor amendations to the Library copy and pass
  3. minor revisions to be checked by supervisor (for which I’d be allocated a month) and then pass
  4. major revisions to be checked by supervisor (for which I’d be allocated two months) and then pass
  5. revise and resubmit to examiners a second time
  6. only award a Masters degree (possibly in combination with revisions): recall that in the Australian system I don’t already have a Masters degree
  7. fail

The most likely decision by far in my research group is minor or major revisions: I’ve never heard of anyone avoiding them. Some people in fact prefer major just because you get a bit more time to revise. (In other faculties, it isn’t unheard of to pass without revision.) No one wants to be re-examined: this usually means re-enrolling and re-doing experimental work and similar.

Unless re-examination is needed, after any required revisions it is pure administrivia: the HDR committee must pass it, and then the university Senate. I submit a bound copy of my thesis to the university library and (far more importantly now) put it on my website and submit to the university’s digital collection.

I think at that point I am finally a graduand and can use the title ‘Dr’ in academia and so on. Actual graduation would take place in either September/October or April/May, so in the pathological case it could be a while between finalising the thesis and actually graduating.

I do not do an oral defence (a three hour or so session where my examiners ask me questions in person).

April 20, 2012

fireworks

LED Fireworks. Or, parent helpers go overboard

My friend, Mike Ward, and I help out at our kids school by teaching 5th and 6th graders programming in conjunction with a Lego class. For several years, I was teaching Logo on ancient Apple II machines. The teacher had a great curriculum and the kids learned a lot, but this year we decided to switch things around and try them out on Arduinos.

This spring, the kids are building a Lego display centered around a birthday party theme for the star elephant at the Oregon Zoo (Packy), who turned 50 last weekend. In a moment of fun, I suggested that perhaps we should have some fireworks, along with the presents and birthday cake. How hard could it be to wire up a couple of LEDs to an Arduino to make something that looked like fireworks?

Selecting parts.

Mike and I sat down to order some parts from Digikey. We found these nice, cheap, LED drivers from Sharp. Then we found a selection of LEDs from Cree along with current-programming resistors (12.7kΩ) to drive the LEDs at 20mA, and some bypass caps (0.1μF) to keep the parts happy.

The LED drivers are simple shift registers, with separate clock and data. They have both input and output pins, so you can daisy chain them and drive as many as you like from a single pair of CPU pins. We figured 160 LEDs would be plenty, so we ordered 10 chips.

The LED drivers came in a through-hole, DIP package; it seemed like we’d be able to just stuff them into a breadboard and quickly wire things up.

Prototyping the design

The LED driver chips turn out to use a much finer pitch package than the usual 0.1” spacing. There’s no way we could stuff them into a breadboard and quickly wire things up. Obviously, a bit more care while ordering would have uncovered this, but my experience with through-hole parts is limited to parts from the mid 1970s…

I soldered extension wires onto one chip to test the circuit, and managed to get one chip talking to an Arduino. Here’s a short movie of that in action:

You can see the LED driver chip sitting on a set of extension leads plugged into the breadboard. It’s hooked to the SPI port on the Arduino board, with the clock set as fast as it will go. If you watch the video, you can see that the LEDs actually vary in brightness. They’re actually being pulse-width modulated. Clocked at 2MHz, there’s enough bandwidth in the SPI bus to drive 160 LEDs with 127 discrete pulse widths at nearly 100Hz (100 * 127 * 160 = 2032000).

Is bread boarding practical?

With the chip propped up on its extension wires, and the LEDs plugged in, the whole setup was not surprisingly fragile. Getting five of these chips wired up and running for the length of the Lego show (one day at school and two days at the zoo) seemed unlikely. So, we decided to build some custom circuit boards.

Using the GEDA tools to make circuit boards

My business partner, Bdale Garbee, and I build rocketry electronics through Altus Metrum. He’s the hardware guy and I spend my weekends writing firmware for various micro-controllers. Of course, I use free software tools for the firmware, and Bdale uses the free gEDA tools for the hardware. I’ve gotten vaguely familiar with those by helping Bdale review circuit diagrams and PC board layout over the years. So I figured I’d be able to learn a bit more about them and come up with some designs.

I decided to stick two LED drivers on each board. As the chips can drive each LED with up to 50mA of current, each board could potentially consume 1.6A at 5V. Sticking a linear regulator on each board capable of supplying that much current would have required a hefty heat sink. Instead, I decided to stick a mini USB connector on the board and use some cheap USB power supplies.

Of course, there wasn’t a pre-packaged schematic symbol or footprint for the LED driver, so I first had to construct those. But, with symbols for all of the parts I used available, I drew this circuit:

Wiring up 32 LEDs

It’s really easy to draw wires showing 32 LEDs hooked up to each board. Actually selecting connectors that can be easily hooked up took a bit more time. The idea of crimping individual two-pin connectors for 160 LEDs didn’t seem like fun, plus individual connectors were going to cost a small fortune (the best option I found would have cost about $0.40 per LED). Bdale suggested using ribbon cable with a crimp-on connector — crimp a connector across the whole cable and then split out two-wire sets for each LED. I’d still have to individually solder each LED to the wire, but on the board end, all I’d have to do is crimp the connector on to the cable.

Designing the circuit boards

The gEDA tools separate schematic design and PCB layout into two separate tools; the schematic program, gschem, exports a netlist and set of components which the schematic program, PCB, can import. This sounded a bit clunky to me, as you have to re-export and re-import the schematic data into the PCB each time you make changes, but it seems to work reasonably well in practice.

The first time the schematic data is imported to the PCB tool, all of the component footprints are simply stacked on top of one another. With those moved to sensible locations, the tool will show ‘rats’ for each netlist.

Having drawn the schematic with symbols that strongly resembled the actual components, it was pretty easy to work through the rats one at a time by painting copper on the board. I’d noticed that all of the signals could easily be routed on one side of the board, so I flooded the back side with a ground plane to keep things quiet.

The final circuit board design looks like this:

Circuit boards.

All Altus Metrum products are manufactured by Advanced Circuits, and we’ve been quite happy with them. They offer a cheap and fast prototyping service through their barebonespcb.com site. These boards are two layers with no silk screen or solder mask.

I uploaded my design and in a couple of days I got back some shiny circuit boards:

The footprint I designed for the LED drivers turned out to have a very small gap between the pads for each pin and the ground plane. This lead to a couple of shorted pins in the five boards, which were pretty easy to diagnose as the LED driven by that pin would be stuck on.

Here’s another picture with the ribbon cable connected and an LED lit up:

Mounting the LEDs

I started by writing a small nickle program to simulate the trajectory of a ballistic fireworks shell followed by an explosion at apogee and subsequent ballistic tracks for the resulting pieces. I made the initial conditions of the launch somewhat random, and Mike and I sat and watched that draw things until we saw a couple that looked ‘good’. The output from that was a series of X/Y locations spaced uniformly in time. Mike used those to drill holes in a piece of acrylic from TAP plastics. He glued the LEDs into that with some white glue (so that we have a chance of getting them back out):

A custom maple box?

I spent last weekend visiting my father for his birthday. Meanwhile, Mike was busy back home building a case for the project. I got home and found that he had fabricated a solid maple case. It’s beautiful, and holds all of the LEDs, boards, wires and a couple of 4-outlet USB power supplies.

Here’s a picture of the joint he made in the box corners:

The finished product

Here’s the inside of the box:

And here’s a movie of the whole thing in action. It’s missing 8 white LEDs; I hadn’t ordered enough from Digikey.

Downloading schematics and PCB artwork

The hardware design is licensed under the TAPR Open Hardware License. It’s all stored in git (of course):

git://keithp.com/git/hw/fireworks

All of the symbols I created are also available through git:

git://keithp.com/git/hw/keithp

Things I’d do differently

One of the frustrating things about moving atoms around instead of just bits is that once you’ve got a physical artifact, it’s really expensive to change it. There are a couple of minor things I would change if I were going to build more of these:

  • Add mounting holes. Not having any way to mount the boards means that they’re flopping around inside the cabinet. We’ll probably find a way to tie them down somehow, but a couple of holes in the boards would have made that really easy.

  • Increase the gap between the pin pads and the ground plane. The narrow space provided ample opportunity for solder bridges. I’ve increased that spacing in the git repository version of the boards.

  • Used a variable resistor for LED current control. With a fixed value, it’s very difficult to adjust the relative brightness of the LEDs. Even though we used LEDs from the same series, the different colors have different apparent brightness.

  • Used surface mount passives. We had bought through-hole parts when the plan was to build these on a breadboard, but soldering through-hole parts onto the board is more work than using surface mount parts. 0805 (or even 1206) parts are plenty large to solder by hand and are faster to deal with than having to fold leads, insert them into holes, flip the boards over, solder them down and trim the leads.

  • Perhaps we went a bit overboard on this project…

Things that worked well

There were a couple of things that went better than I had expected:

  • The gEDA tools aren’t that hard to use. Constructing the circuit board really was a simple matter of painting with copper. If you can drive inkscape, you can make circuit boards.

  • Advanced Circuits bare-bones PCB service. It was really cool to upload the output files from gEDA and have actual boards arrive in the mail a couple of days later.

  • Building the boards. I really didn’t expect all of the components to ‘just fit’ in the boards; I figured I’d mess up the footprints or drill sizes and end up kludging something onto the boards. Bdale did catch a small drill size on the LED driver pins, which I bumped up a bit, but other than that, all of the parts slipped in and soldered easily. Each board took about 10 minutes to put together.

April 17, 2012

fontconfig 2.9.0

Fontconfig 2.9.0 uploaded to Debian Experimental

Thanks to Akira Tagoh for taking over maintenance of fontconfig. As a result of this switch, there’s a new release, 2.9.0.

Along with this new upstream release, I’ve responded to Debian bug 651493 and removed all defoma support from the fontconfig packages. Installing the new version should remove all traces of the old defoma support as well.

I’d love to hear from people with success (or not) in testing this version of the package; 2.9.0 should be uploaded to unstable in time for the next freeze.

April 11, 2012

Walktime blog #25: The episode about nothing

I haven't had much walktime recently, so not many walktime blogs. However, I have been working on creating some videos for SuperHouseTV relating to home automation using Arduino and other Open Source hardware and software, so I'll start uploading those soon and updating the content on www.superhouse.tv. These video blogs will probably switch over to a personal account soon.

Also, my wife and daughter have been giving me a hard time about going around wearing a Freetronics shirt hoping someone will recognise it. So I'm upping the ante, and offering a prize: if a random person meets me in the street, recognises the Freetronics logo, and says hello, I'll give them a free LeoStick (Arduino-compatible board).

View or comment directly on YouTube: www.youtube.com/watch?v=MO9uRfvupoM

April 10, 2012

Twitter, Facebook MySQL trees online – pushing MySQL forward

Just yesterday, I’m sure many saw Twitter opensourcing their MySQL implementation. It is based on MySQL 5.5 and the code is on Github.

For reference, the database team at Facebook has always been actively blogging, and keeping up their code available on Launchpad. Its worth noting that the implementation there is based on MySQL 5.0.84 and 5.1.

At Twitter, most of everything persistent is stored in MySQL – interest graphs, timelines, user data and those precious tweets themselves! At Facebook, its pretty similar – all user interactions like likes, shares, status updates, requests, etc. are all stored in MySQL (ref).

The media has picked up on it too. A fairly misinformed piece on GigaOm (MySQL has problems focused on Stonebrakers fate worst than death? Pfft. Facebook wants to move its code to github? Read the reasoning — its spam handling on LP.), and a shorter piece on CNET.

Both Twitter and Facebook code trees mention that its what they use in their environments, but it’s not supported in any way, shape or form. Facebook recommends Percona Server or MariaDB. Facebook also has tools like online schema change in the repository, amongst others like prefetching tools written in Python.

I haven’t had the chance to play with the Twitter release yet, but it looks like this can only push Percona Server and MariaDB forward. Based on 5.5, some of these BSD-licensed features can make it in, and some have already made it in I’m sure. And what pushes these servers, will push MySQL forward (see lots of new features in MySQL 5.6).

On a personal note, it is amazing to see some MySQL-alumni push this forward. At Twitter, there’s Jeremy Cole and Davi Arnaut. At Facebook, the team includes Domas Mituzas, Harrison Fisk, Yoshinori Matsunobu, Lachlan Mulcahy. Nothing would be complete without mentioning Mark Callaghan (though not-MySQL alumni, active MySQL community member) who led a MySQL team at Google, and now at Facebook.

Related posts:

  1. The Social Media Page Craze: Google+, Facebook, Twitter, LinkedIn
  2. Replication features of 2011 by Sergey Petrunia
  3. HTTPS for Twitter & Facebook – enable it!



April 09, 2012

Square helping the everyday entrepreneur

I arrived in San Francisco yesterday (Easter Sunday) and my usual shuttle service to Santa Clara had some issues fulfilling my journey (some 1h45m wait). So I took a taxi. As soon as I arrived at my destination, and he knew I was a techie, he said: “Look, a San Francisco startup has this cool device that helps independent entrepreneurs like me accept payments by all kinds of credit cards.”

He didn’t know what the device was called, but I immediately recognised it as the Square app (I’ve recently written about this space). On an Android phone. Found it interesting during tipping: 15%, 20%, or 25%. No option to enter your own choice. Enter your email address for a receipt (there’s also a phone number option, which I am sure I can’t use). Then the taxi driver writes one physically for you as well. I presume the driver gets money in his bank account in a rather short period of time.

How did it use to work? A manual scan on carbon paper with a device the credit card company provided. Probably submit the receipt and get paid within a much longer period of time. Or it used to be plain old cash — most drivers would never accept a card, preferring only cash.

Square uses: CentOS, Puppet, Ruby, Graphite, MySQL, PostgreSQL, Redis. They also build the service on the JVM orchestrating Ruby on Rails, Sinatra, JRuby, MRI and Java. Incidentally, love the way they hire people — tell them what is required of them, then ask them to complete a task/programming example.

Related posts:

  1. Square-like payment devices in Asia
  2. Credit Cards and Malaysia’s recent budget 2010
  3. Malaysia slugs credit card users who don’t pay up



April 01, 2012

Square-like payment devices in Asia

Ever since I heard about Square, I was impressed. I was wowed when they used Square to accept payments at WordCampSF 2010 (May 2010). It all just felt right. Swipe the card, email the receipt. The experience felt like making a purchase at an Apple Store with their handheld point-of-sale systems. Square sadly never made it out of the USA and there were rumours that VeriFone and others were going to do similar things. Naysayers claimed security problems (square is magnetic stripe based, rather than chip-based last I used it). Alas, its 2012 and I’ve still not seen anything usable.

So it pleases me to see Swiff in Singapore and the fact that PayPal Here (product page) will also launch in Singapore. Malaysia seems to have SoftSpace. However its April 2012 now and the first reliably available service is Swiff.

Square is upfront with their costs – it basically takes 2.75% of the transaction. That’s considerably higher than the 1.8% charged by Malaysian banks. However it takes away the burden of renting a terminal which can set you back RM130-150/month, with the only option of a refund on that exceeding RM10,000 of transactions per month. And the chances that the terminal accepts “everything” tends to be slim (its usually just Visa/MasterCard). Swiff lacks fixed rates at the moment, and SoftSpace claims to be inundated with queries (but will support more security and have a chip reader).

PayPal might crack this though. They have experience with dealing with banks and banking regulations (Malaysia famously has BAFIA as law). Many tech-savvy people already tend to have a PayPal account (and if they don’t, maybe they’ll start one). They’ve also gone out with a flat 2.7% transaction fee.

I’m looking forward to more competition in this space. It can only lead to lower rates. And with bazaars, conferences, etc. this sort of thing can be very useful.

Related posts:

  1. Square helping the everyday entrepreneur
  2. Red Hat Magazine’s focus on Asia
  3. Tips for the Singapore Airport



Food in Dublin, Ireland

Creamier, tastier but considerably quite pricey - a pint sets you back 4.50-5.20 euros. Sin tax must be high, like in malaysiaSteak and Guinness pie, mash and a pint - supposedly very traditionally IrishIt is not hard to find a pub in Dublin, so go to any and they would probably serve you an excellent pint of Guinness. It may not be the cheapest though — 4.50-5.20 Euros per pint. Sin tax must be high.

I had Hanley’s Cornish Pasties. Its like a stew, put into pastry ;) A must try. Many pubs also serve a steak & Guinness pie… Well worth eating a traditional cuisine.

We did end up eating some very nice sushi as well as Lebanese food. All around the Grafton St area and Dublin 2/Dublin 4.

Related posts:

  1. Food in Brussels
  2. KL, the land of watered down beer
  3. Notes from Granada & Barcelona, Spain



March 30, 2012

Paybox Services and seeing MariaDB in use

paybox servicesWhen I was at MySQL, I took for granted that pretty much every website I used had software at the back of it that was basically MySQL. It was a nice feeling. MariaDB is a lot younger, so when I was in Paris and had to make a payment for the taxi I was sitting in, I smiled a little when I saw that Paybox Services was processing my transaction. Some might recall that Paybox Services deployed MariaDB, since the 5.2 release. It was a wonderful feeling that somewhere in that transaction, MariaDB was behind it!

Paybox wanted some features inside of MySQL 5.5 and have been holding out for MariaDB 5.5. Its kind of nice to see that today, MariaDB 5.5.22 has been released as a release candidate. It is only a matter of time before Paybox can benefit from things they’ve wanted like semi-sync replication.

Related posts:

  1. Replication features of 2011 by Sergey Petrunia
  2. MariaDB at Percona Live Santa Clara
  3. MariaDB/MySQL users in Paris & Brussels



XO-AU OS 12.0 Release Candidate 2 released

Release Candidate 2 of the 2012 OLPC Australia operating system, XO-AU OS 12, has been released. We hope to make a final release in two weeks, in time for the start of term 2 of school in Queensland and Northern Territory.

To get started, visit our release notes page.

Installing the Release Candidate is no different from installing the XO-AU USB 3 stable release: extract the zip file to a USB stick and you’re ready to go.

The “What’s New” section outlines the changes in this release.

To provide feedback, please join our technical mailing list.

Following this, you can send your comments or ask questions on the list. The OLPC Australia Engineering team are active participants on this list, and we will reply. Remember, the better you can help us with quality information, the better we can make the product for you :)

March 27, 2012

Product review: GoGet carsharing

We’ve been non-car owners again for a few weeks and members of GoGet car sharing for a month or so. These are my initial impressions.

This is against a background of our car being primarily used for occasional errands, and weekend excursions either locally (to the beach etc) or to regional cities. We also used to use our car for our son’s daily childcare run, but since we moved, his new childcare is in walking distance. I wouldn’t recommend GoGet to anyone who has a daily errand, this review is largely comparing it to having an occasional-use personal car.

Good things compared to car ownership:

  1. most areas where there is a car at all, there’s more than one. An out-of-action car does not mean “no car use at all until car repaired”
  2. they take care of on-road costs and insurance. Of course, this is bundled into subscriber fees, but it both flattens them over the year and works out cheaper for our usage. I think in theory they aim for a car for every 10 subscribers or so? We’re on the Frequent member plan, so I guess you could say our on-road costs are $360 a year.
  3. they take care of repairs. Again, bundled in, but flattened and so on.
  4. they take care of having a free parking spot by paying the council for guaranteed spots.
  5. (maybe arguably good) they turn the fleet over far more often than most people I know replace their cars.

Good things compared to car rental:

  1. the cars are just sitting there, in our case quite close by. You just get online, book, and walk up and take one. You only sign away your life in triplicate once. You don’t have to budget in a trip to the car rental place, a wait in a queue, a briefing on the terms and conditions and an inspection of the car.
  2. the insurance is reasonable rather than the typical car rental deal with a $3500+ excess unless you pay them 1/2 the rental cost again. With GoGet, if you can wear a $1500 excess it’s built in to the base pricing, or you can pay about $18 per day to bring it down to $300.
  3. you have to return the car with at least 1/4 of a tank of fuel, which is a lot easier to achieve than the full tank rental companies require.
  4. both the possibility of hourly bookings and the hour saving in pickup time make them way more useful for errands and so on.
  5. close to instantaneous bookings, subject to availability, whereas rental companies often struggle with sub-24-hours-notice requests

Bad things:

  1. Bookings start and finish on the hour. In pathological cases (say you need a car from 1245 to 1315) you pay for two or three hours of use in order to use the car for an hour or so.
  2. They’re for-profit, presumably this could be done cheaper not-for-profit. This is a bad thing-asterisk though: as I know very well, NFPs don’t magically appear out of thin air. Someone would still have to set up an entire car sharing company except with only a salary to motivate them.
  3. GoGet’s big thing is “we pay for fuel”. And they do pay in the sense of providing fuel cards, but they also have a 39c per kilometre usage charge for bookings that aren’t a day long booking. 40c per kilometre adds up fast!

    In theory the day booking rate (24 hours and 150km free for $68) kicks in as soon as your per-hour spend exceeds the day rate, for most cross-metro trips you’re probably going to nearly hit that.
  4. (potentially) GoGet does not accept any member who has a major traffic offence in the last 10 years of driving, and all applications for membership are at the discretion of their insurer. This contributes to the cheaper insurance compared to car rental, but it obviously disadvantages people who do have a traffic record or a history of at-fault accidents.
  5. not an enormous amount of choice wrt make and model, less than many larger rental centres. Really your choice boils down to little-medium-big in whichever make and model are nearby. (For us little == Toyota Yaris, medium == Hyundai i30s and i30 wagons, and big == Hyundai iMax.)
  6. some contention for them. Our experience is that with weekends, we really need to plan our trip the day before to have a good chance of a single car in Glebe being free over the entire block of time we need, and it’s probably worse in suburbs with less cars (Glebe has at least 10, and Pyrmont and Ultimo another 15 or so). Long weekends are worse because people take them away, and the iMaxes get booked really early most weekends.
  7. lack of flexibility with end time. That is, if we want to go somewhere and book a car accordingly but then someone invites us to dinner or whatever, we may not be able to stay because the car needs to be back. We haven’t had to try for last-minute use extensions yet, so we don’t know how often we will find that the car has 3 hours free just after our booking.
  8. if something goes wrong with your booking, they give you a $25 credit on your account, which unless the error is very minor is really not enough. To be fair, they do shift the booking to another car if they can, but on weekends this would be hard, see 6.
  9. fitting children’s car seats is a pain in the neck.
  10. their setup has an annoying feature whereby if it is the very first time that you in particular have used a given car in the fleet, the booking needs to take place about 15 minutes before your slot, so that the car can download your access data. Less important once you’ve used the car nearest to you for the first time.

In the medium term, this is likely to be a sufficiently good replacement for our occasional-use car.

Nannies and flexibility

Liam Hogan tweeted:

Further on rebates for nannies: if they’re a response to family-unfriendly working hours, flexible childcare is solving the wrong problem.

Here’s some systemic problems with childcare as it currently stands that one might hire a nanny as a possible solution to:

availability (strong form) For under 2s in Sydney, you simply might not get a childcare place accessible to you, by your scheduled return to work. Full-stop.

availability (weaker form) You have 2 or 3 children under 5, not uncommon. If you do get childcare places for them all, they (a) start to approach the price of a nanny and (b) are often not at the same daycare centre. So you can add 2 to 3 drop-offs to your commute run, 2 to 3 infection sources to your health problems, and when your children do all end up at the same daycare centre, you can enjoy four to six weeks of emotionally resettling them with the new centre. Or hire a nanny.

commuting in general Family unfriendly work hours are common. Family unfriendly commute hours are even more common: either a really tight schedule where you hope for no breakdowns/signals failures, or just total impossibility of getting to the centre in time. (Or you can have your kids in care near your work, and have them commute with you. Fun for the whole family. Plus you cannot use the centre when you are sick, which is one of the times when you really want to.)

illness I had four bouts of gastro and eight respiratory infections in the four months after my son began daycare. A nanny is an expensive way to avoid this, but that night I considered calling the police because we couldn’t lift him up to feed him? Maybe that’s worth $200 a day to people who can pay to avoid it.

throughout the day contact a privilege of (partial) telecommuters and (partially) at-home business people, and in theory daycare centres allow drop-ins if children are well-settled there and can handle two separations in a day (so, probably not in the first several months of care). For these people, a nanny may be one way of allowing the parent and child to have throughout-the-day contact without the parent needing to be first contact point for the child’s needs.

Now, I fully agree that funding nannies is less good ultimately than, say, free and freely available childcare, predictable work hours, widespread onsite/neighbourhood childcare with liberal allowance for parent drop-in, redesigning work and cities so that 1+ hour commutes aren’t the usual case, or… I don’t even know what you do about the illnesses, because I once saw my 9 month old licking another baby’s face and getting a good licking back. But there’s a raft of reasons why nannies are attractive. We may turn to one after our next child on cost alone. So that’s the context of nannies, for me.

March 26, 2012

Walktime Blog #24: Storing parts for electronic projects

After 25+ years of dreaming about my ultimate home workshop, it's all starting to come together. Part of it is setting up adequate storage for all the little bits and pieces that are necessary in a typical electronics lab.

So when I heard that Element14 had a special on parts drawers, I put together a spreadsheet to figure out how many parts I needed to store and ordered in the necessary number of drawers. This video shows how I mounted them on a wall.

View or comment directly on YouTube: www.youtube.com/watch?v=pYwj-mqlYto

On the term “go global”

KLCC Park and PoolIn my recent rant about my thoughts on the startup ecosystem in Malaysia, I mentioned:

Its amusing when I see programs titled “go global”. When you start your business, especially if its a web shop, you’re already world-wide. Why are you building locally?

My intention for that was very clear. If you’re a tech startup, think global from day one. Don’t “Malaysianize” your product because we’re not Vietnam or China. Or we just don’t have population masses like India or Indonesia. Or language differences like Thailand.

It seems like a friend of mine whom I’ve known for a little over three years, Doc Siva took a little offence to the statement. Doc Siva is an amazing guy, fun to chat with and is a prolific writer (lots of articles in net@value in The Edge). He works tirelessly to help entrepreneurs, and is even running an accelerator now.

The problem stems from the fact that the term “go global” is just too generic a term. Everyone uses it. From the genuine to the dodgy.

There’s the Cradle Coach & Grow Programme which helps you to go as far as IPOing. Doc Siva also has the Go2Market/Go4Growth/GoGlobal/GoIPO programs via Proficeo, his company. TeAM (disclosure: I’m currently a council member) also runs marketing missions that help your business “go global” in the region.

I believe all the above help to some extent. Kudos Cradle, Proficeo, TeAM. I’m sure I’ve missed a bunch of others that are doing a wonderful job. Programs like this are awesome for an entrepreneur since there’s no cost to the company and you get to other markets faster.They’re addressing the entrepreneur who finds it difficult to get his product in the hands of others, so that deserves a big kudos. They’re helping the entrepreneur grow.

The original post was never meant to be flamebait. It was never meant to point a finger at any one party. If you/your organisation took offence to something I said, that was not my intention. Much apologies. I parted with sage advice for the entrepreneur:

Don’t blame the government. Don’t blame the VCs/angels/investors. There’s an old English proverb which states, “If there is a will, there is a way”.

It was just meant to list problems that seem to be endemic in Malaysia. If time permitted, I could come up with a well researched tome with ideas on how to fix things. But its not like I do this for a living, right? ;-)~

A quick thanks since this post was read by Doc Siva before I posted it up online.

Related posts:

  1. Multiple parties video-conferencing with Skype and Global IP Video
  2. A few thoughts on the startup ecosystem in Malaysia
  3. Google Summer of Code mid-term evaluations



Product review: Shoeboxed

I’ve been using Shoeboxed now for long enough to review it, I think.

Problem: as with every adult household, we have lots of incoming documents like bills and super statements and similar, and the high initial overhead on deciding whether and where to store them, plus re-sorting them later and so on has never been something we’ve been on top of. Come tax time, in particular, we were usually opening piles of envelopes and hoping for the best.

In 2007 or 2008 we started scanning and shredding a lot of things, but that still left going through and labelling the scans as a problem, plus when I went on maternity leave in 2010 we didn’t have access to a sheet-feed scanner anymore and got behind and never caught up. Back to the “giant unsorted pile of paper” solution.

There are a few services that accept mail on behalf of people and send scans (Pass the Post, Keeping You Posted) but these tend to be quite expensive if you want them to handle all your mail, and also there’s still a time-critical decision step (scan it or send it to me). It tends to be aimed at travellers or businesses. It was annoying enough though that every few months I hit the search engines and eventually lit on Shoeboxed.

What Shoeboxed does:

  1. accepts documents either sent by mail (not one at a time, many in a big envelope) to a US or AU postal address, or uploaded
  2. scans the physical document if any
  3. does data entry for the major data within (for bills, say, the sender and the total)
  4. makes them available after logging in on their website
  5. makes them available over an API to other services like bookkeeping websites

What Shoeboxed doesn’t do:

  1. directly accept individual physical mail on your behalf (they do have a service where you can get online receipts sent to them, I haven’t used it)
  2. full OCR of the scanned documents

There’s a very very limited Free plan involving uploading (not mailing) up to 5 documents a month for OCR plus unlimited uploads if you do your own data entry. The next plan up in Australia, which we’re on, is $20 a month, and includes all the features I listed

Impressions:

  1. overall, it pretty much does what we want: gets paper out of our house and into an easily searchable online form with scans available
  2. because it isn’t fully OCRed I still have to go through non-bills in order to note what they are, eg, a mail from childcare could be a fee change or a newsletter or a note about illness and if I need to find it in a year I’d have to search on the name and look through them all
  3. the processing speed on the Lite plan (contents of envelopes appear on the website in 3–5 days) has been a bit annoying on occasion, I’ve found myself scanning really time-critical documents and uploading them
  4. the processing speed on uploaded scans is great, the data entry is usually done within the hour
  5. the usage reporting doesn’t incorporate the bonus scans one gets by doing things like signing up for an annual plan, or answering demographic surveys. Very annoying!

For our needs, it’s definitely an improvement over our home-rolled solution. We’re scrambling to get 250 documents to them before our annual purchase bonus expires.

So yeah, that happened (Wikimania 2012, Washington DC)

On Friday, I was announced as the keynote speaker for Wikimania in Washington DC in July.

Ada Initiative:

We’re proud to announce that Ada Initiative co-founder Mary Gardiner has been chosen to give the opening keynote at Wikimania 2012! Wikimania is the world’s top conference for Wikipedia and related Wikimedia projects, held this year from July 12 – 15 in Washington, D.C. “Mary has been a strong advocate for open source and has worked extensively to elevate the role of women and increase their participation in open source and open culture,” says James Hare, Wikimania 2012 coordinator.

I basked in my glory for all of about two hours before coming down with some horrible illness my toddler picked up at daycare. Talk about crashing to earth.

Anyway, so, I am Wikimania’s keynote! My plan, loosely, is this:

  1. arrive DC on July 8 or 9
  2. AdaCamp DC on July 10 and 11
  3. Wikimania on July 12–14
  4. (possibly/probably) San Francsico on July 15 onwards, probably departing on the 18th or 19th (due to the dateline, add 2 days for my Sydney arrival)

Since I am unlikely to bring my son, I’m trying to limit my time away and am unlikely to add another city. If I do, it will probably be Montreal (where my sister-in-law lives).

If we know each other and you want to get in touch about meeting up in the States, email me at the usual places. If you’re a journalist wanting to talk to me, email me via the Ada Initiative press@adainitiative.org.

March 25, 2012

More MariaDB after Percona Live Santa Clara

Right after Percona Live Santa Clara (which MariaDB is quite present for), its worth noting there are a few more events happening on Friday, April 13, 2012 at the Hyatt Regency Santa Clara. MariaDB will be present at 2/3 of those events.

The one event MariaDB won’t be present at is the Drizzle Day. That doesn’t mean you can’t attend talks across all these events though — the schedules are synced so you can move freely across events. Friday in itself is like a mini-conf, because it seems like there will be four simultaneous tracks happening.

Related posts:

  1. MariaDB at Percona Live Santa Clara
  2. Percona Live London 2011
  3. MariaDB/MySQL users in Paris & Brussels



March 22, 2012

Ice cream infused with Get 27

Dessert. Absolutely fabulousI just had the most amazing mint ice-cream ever. Its ice-cream with a gelato like feel that is made from Get 27. Get 27 is a liquor with mint, created in 1796 but now produced by the Bacardi group. Goes well with a glass of Chartreuse (local to this region). Available at Les Cloyeres, Grenoble, France (technically, Grenoble-Bernin).Chartreuse base aperitif

Related posts:

  1. Berthillon ice-cream



A few thoughts on the startup ecosystem in Malaysia

As Malaysians we like to do things others do. We follow our politicians and their grandiose plans and think we can do it. After all, we always have the catch phrase, Malaysia Boleh!. (Malaysia Can!). As much as the politicians say we don’t like to ape the west, we do it, just call it something else. It started with the multimedia super corridor, Cyberjaya, k-economy, knowledge workers, digital entertainment village, and more. Some of these are naturally still around and some are forgotten.

What’s prompted me to write down my thoughts at length was this post by Vishen Lakhiani of MindValley on the WebCampKL group recently. He proposed:

I’ve been looking at the whole incubator, VC, funding model and I’m coming to the conclusion that money is not the prime factor of success. Yet its what that govt tries to throw at entrepreneurs first. Instead what is needed is mentorship, trainings, hackweekends, Webcamp meetups, hackathons, peer support and more. 

If I agreed to put up $1 million RM to fund an entire ecosystem of “soft” support like this for our tech community, with a goal of beating Singapore in 24 months. What would you guys like to see? 

This is your chance to stop complaining about how “Singapore Gets It” and Malaysia does not. We can reverse engineer, build and innovate on EVERY technopreneur support system Singapore has built. And we can do it in 24 months. 

What would you like to see? What are you ideas? What do you need to maximize success?

First up, let me state what I disagree with. The notion that “Singapore Gets It” isn’t necessarily true. It may be that IDA in Singapore (their local counterpart in Malaysia is MSC Malaysia) just spend more money talking about their wins. It might also be that Singapore is a more welcoming environment for the foreign entrepreneur. I know many foreigners who come to KL dreaming of staying on but get put off by the visa application process. There are issues here that Malaysia has that Singapore just executes better, but this is not the point of this post. Also, setting a goal to “beat Singapore” is probably not the right goal – I like competition, but there must be a more holistic goal.

However, Vishen is right. Money alone does not make a successful entrepreneur. My only notable response to that thread was the following:

Mentorship works if you can find the right mentors. Mentorship by actual entrepreneurs not mentors looking to make a fast buck. Same with trainings (by actual practitioners). Meetups, etc are very important I agree. And to make great product, vision is required. A collaborative environment (I like to say the folk at Fluentspace have gotten this down quite well) with ideas of sharing, etc. (something not ingrained in M’sian/Asian society). Money is important too just so one can focus on building great product and not payroll. A good read is this: http://www.feld.com/wp/archives/2011/10/entrepreneurial-communities-must-be-led-by-entrepreneurs.html – Brad feld nails it… its the reason why most govt.-led/funded stuff seem to fail.

Malaysians are good-natured folk. They want to “just do it”. Startups are all the rage nowadays thanks to the online media covering it; Malaysians jump on the bandwagon thinking this must be done. After all, Malaysia Boleh!

So lets get back to what Vishen thinks is important.

Mentorship

I totally agree that mentorship is important. I said that if you can find the right mentors, mentorship is great. In fact, mentorship by actual entrepreneurs is what is required, not people acting as mentors to make a fast buck. There are so many programs in Malaysia today that basically reserve a fee to pay the mentor (maybe RM500 per month, or RM2,500 per quarter). Yes a mentor’s time is important, but if a mentor is building a career out of advising startups, alarm bells start going off in my head.

After all, what is the basis of mentorship? It is when a more experienced or more knowledgable person helps a less experienced or less knowledgable person.

Some programs assign a mentor to you. What is to say the mentor you get is more experienced/knowledgeable than you? I always view mentorship as a very personal connection, i.e. its relationship based. Mentors communicate regularly with their mentee’s.

If you’re a startup looking for a mentor, it might be better to get one by going to networking events rather than having a chap assigned to you, who has absolutely no interest in parting good advice to you, except collecting his stipend.

Which Siong brings up as a good point actually: the ecosystem needs ex-successful startup founders. Because those are your valuable mentors.

There are many incubators and accelerator programs started in Malaysia in where the mentors have never worked in a startup before. Heck, they’ve never run a startup. Maybe they haven’t stayed at it long enough till there was even an exit. Or maybe they didn’t build something that lasted (a legacy). What about taking a company IPO?

Good nature yes, but these people are already guilty of violating the Peter Principle.

Training

I’ve seen courses by people that have never actually done anything in the field before. They’re just expert trainers. I’ve seen ads for people saying you can make thousands in the app store, and show you examples of their students apps, but these people have never had an app in the app store before.

Training has to be done by practitioners. Period.

When I used to give OpenOffice.org training, I was a practitioner — I used the software, I hacked on the software, and I was an active member of the community around OpenOffice.org. If I had to give OpenOffice.org training today, it wouldn’t be so wise. Why? I use Keynote for my presentations. I don’t hack on OpenOffice.org any longer. I don’t even consider myself a part of the community any longer.

If today I decided to give training about a database, I’m pretty sure I know what I’m talking about. However if I decided to give training about making money in the app store, I’d fail. Why? I’ve never launched anything successful in the app store that has made thousands of dollars within the first month.

Meetups

Meetups are very important. A Unix hacker friend of mine popped into Malaysia and wondered why there were no regular FOSS/LUG style meetups in Malaysia. There used to be a very successful MyOSS meetup where Linux/Unix types would show up, talk, and then go to the mamak to eat later. In Melbourne, Red Hat sponsor(ed) the local LUG with a venue (at a college), and sometimes people would sponsor food later.

In Malaysia, by far the most successful meetup group so far has been the WebCampKL group. It has people from all walks of life and its clear there is a big amount of people into web-related stuff.

But I have to ask, where’s the Hadoop meetup? Where’s the OpenStack meetup? Interested people just do not gather to talk about stuff. Or maybe they’re just not interested in self-development and networking because they’ve been told to work too much all day and the traffic situation in KL is horrendous in the evenings.

Siong brings up tech support at meetups. And this is what I remember when I was a regular attendee of LUV in Melbourne. Beautiful mailing list. Malaysia lacks this. I’m not saying that the author of said opensource project must show up at a meetup, but we need a culture where we’ve faced such a problem and are willing to share the solution with others. MyOSS/OSSIG used to do this for Malaysia, but this just doesn’t exist any longer.

Hackweekends/Hackathons

I’m a big fan of getting people together and creating a workable product within 48-hours. I’m also a big champion of continuity. How many projects do you know have started by hackathons in Malaysia? How many fizzle out after the weekend is over?

Its great to gather for 48-hours, but if there is no continuity, or no follow-thru, that is what you consider a wasted 48-hours. Something must be built/gained by having such a hackathon. If its not a product, its a relationship between teammates or others to continue to gather and build something great(er).

Companies like Facebook or Yahoo! find hackathons useful. Why? They’re focused on building better APIs, mashups based on their existing APIs, and so on. Its not just “bring a cool idea and bake it”. There’s actual need/want out of the hackathon.

Peer Support/Collaborative Environments

No one has addressed what happens after a hackathon. Do the people ever meetup again? Do they continue working on the project? Where do they do so?

I specifically singled out FluentSpace as a successful collaborative environment (even though I myself have never found the time to step in there). Why? They’re a co-working space where their folk all do stuff with one another. Be it from the tweet here or their recent projects that have launched, its quite amazing.

The culture of sharing is something Malaysians need to learn more of. Nobody will steal your idea, remember its the execution that matters.

Vision to build a great product

This is something a mentor can encourage you and egg you on about, but its not something they can come up with. You as an entrepreneur have to champion your product and your vision behind it. And when I say vision, you’re worrying about things on a month-to-month basis, but where do you see the product in 3 years? 5 years? 8 years?

If you say you hope to have exited by then, you’re dead wrong. If you say look for the next grant, you’re dead wrong. You have to have vision and an idea to be profitable from day one. Malaysian VCs and angels don’t like to play the numbers game (i.e. free product, but the users are the product to be sold). Its not their fault — its just that they have no idea whom to sell to come time to exit.

Don’t be ashamed if you are still running your company after ten years. Who says all startups must exit? You can be profitable and growing without any issue. Sure you won’t get covered in the media. And its a lot harder to buy that Porsche. But you can focus on growth, can’t you?

Money?

Well, money is important. Its important so you can continue to build your product and execute on your vision without having to worry about how the servers are kept running, how your car loan is being paid, etc. Many say take up to 18 months of money to be worry-free so you can hire easily, and execute. However the situation in Malaysia may not be so kind, unless you were paying yourself a pittance.

Many grant-related programs paid the pittance of RM1,500/employee/month. This is ridiculous. For that kind of peanuts, the only people you’ll be able to hire are monkeys. Pay yourself fairly and if the VCs and angels don’t think you deserve it, walk away and learn to bootstrap.

Think global

Malaysia is a small country of 28 million very different kinds of people. Singapore is even smaller. It has been very famously said to build for & test your market in Singapore, and huge populations are within an 8-hour flight away from the hub that is Changi.

Its amusing when I see programs titled “go global”. When you start your business, especially if its a web shop, you’re already world-wide. Why are you building locally? (unless you’re offering local e-government services or something).

If anyone tells you that ASEAN and South East Asia is similar, they’re lying to you. Look no further than Malaysia to see how populations differ and are divided by language, ethnicity, and even urbanity.

Most of the ASEAN nations are also given the opportunity to use all software that is available worldwide/globally. The Internet isn’t controlled (thankfully) like in China or Vietnam. Building clones is a lot harder when people can just use their international counterparts.

This is not to say that clones can’t exist based on language. Or other niches. Rocket Internet has made a killing focusing on clones in the European market. They’re now also looking towards Asia. Again, its the execution that comes into play.

Investors/VCs/angels

Angels are meant to be kind, but many angels in Malaysia can be devils. Siong hits the nail on the wall – in the Valley, you can get an easy $100k as seed money for maybe 1-5% of your company. In Malaysia, expect to get RM100k for 20% of your company. This is not limited to angels either. Many venture capitalists act like vultures, some demanding up to 40% of the company for very small investment sums.

Again, if you had built profitability into your model, you wouldn’t have to worry. Of course you wouldn’t be building a Twitter, but you might be building a Facebook (I’m sure ads were at the back of the minds from the start).

Ask yourself this. Would anyone invest in a Geocities in Malaysia? Probably not. Why? Because Malaysia lacks a Yahoo! to sell to.

This has lots to do with reach of the individual as well. It plays a role with regards to partnership.

And investing is a bet. A bet on you. A bet on your team. There are no surefire returns and many Malaysians work hard for their money. Safer havens exist (property, structured deposits, etc.). You’re competing amongst all this in the minds of an angel.

VCs also want to see hunger. Commitment. Are you just asking for money for the sake of asking for it? Or do you believe in an idea so much you plan to remortgage your parents home to make it succeed if the VC falls through?

Talent

In simplicity, if you can’t find amazing talent, will you train amazing talent? Also, if you pay peanuts, expect to get monkeys. Be fair as an employer and you shouldn’t have too much of an issue. Don’t expect however Malaysians to work as hard as say folk in Beijing — I’ve seen engineers come into work at 8am to do study, perform their working tasks from 9-5pm, then continue on personal study from 6-10pm. This is because they have higher positions and a greater paycheque to achieve. Folk need incentives.

A few parting thoughts

Don’t blame the government. Don’t blame the VCs/angels/investors. There’s an old English proverb which states, “If there is a will, there is a way”. Its very true. Don’t whine. Don’t be a grantpreneur. Focus on doing great stuff. Plan. Execute. At the end of the day, it is the execution that counts.

Remember also that there is no such thing as overnight success. The media like to portray that such things exist. Its all headline grabbing for more pageviews. And there are always edge cases like how AOL acquired about.me about four days after their launch. Things take time. Zynga just acquired omgpop as Draw Something has become terribly famous; no overnight success there, been at it for over five years, reiterated, had three rounds of funding, then found their success. Remember Rovio, the makers of Angry Birds? They had many failures before their one success (and now plan to make the Angry Birds franchise even larger than Disney).

Write your idea down on paper. Figure out a method of execution. Throw money-making ideas there. Don’t be afraid to try things quickly, then throw it away. Reiterate. Then just do it.

Go forth and build!

Related posts:

  1. Localization: ms_MY represents Bahasa Malaysia now
  2. Job: Java developers for a startup
  3. Thoughts on group buying sites



MariaDB at Percona Live Santa Clara

I for one can say that I’m truly excited that MariaDB will be part of Percona Live Santa Clara. The MariaDB session list includes:

  • A tutorial: Improving MySQL/MariaDB query performance through optimizer tuning by Timour Katchaounov and Sergey Petrunia. You can benefit from this even as a stock MySQL user naturally.
  • MySQL Plugins – why should I bother? by Sergei Golubchik is again something that isn’t only MariaDB specific since MySQL also has a plugin architecture. I don’t know if Sergei will talk about authentication plugins as well, but I can imagine this is on the mind of many people.
  • MariaDB: The 2012 edition by Colin Charles – well, this is me. You might wonder what we’ve been doing since mid-2009 having only made our first release in early-2010. We’ve achieved quite a lot in the project, so come find out why you might consider MariaDB to your alternative to MySQL. We may even have a surprise in the way of some new announcements here.
  • MySQL Optimizer Standoff MySQL 5.6 and MariaDB 5.3 by Peter Zaitsev is focused on the optimizer features between MySQL and MariaDB. MariaDB 5.3 as you might know features a lot of optimizer improvements.

The BoFs schedule has just been released, and on Wednesday evening from 9pm onwards, you can come visit Ballroom A to discuss MariaDB, help with the future roadmap as well as be filled with lots of salmiakkikossu.

We have already confirmed our acceptance of having a DotOrg booth and can’t wait till that information makes it up on the Internet.

All in all, I’m happy to be attending and speaking in Santa Clara yet again in the April timeframe. This has become somewhat of a yearly ritual. Make sure you register, and don’t forget to do a little searching to find some promo codes!

Related posts:

  1. More MariaDB after Percona Live Santa Clara
  2. Percona Live London 2011
  3. MariaDB/MySQL users in Paris & Brussels



March 21, 2012

Messenger apps revisited

Over a year ago, I wrote about Messenger apps, disrupting text messages (SMS). During that time, Apple launched another service called iMessage (standard with iOS 5 and greater). Send unlimited text messages via WiFi or 3G, and pick up where you left off across devices (iPhone, iPad, iPod Touch).

I was desperately looking for a BBM desktop client. I’ve since stopped using BBM much due to the fact that most of my friends on the service have ditched the BlackBerry in favour of Android and iOS devices. So now we only keep in touch via WhatsApp. And more recently, KakaoTalk. Makes me wonder which came first — WhatsApp or KakaoTalk.

But not to digress, Apple has done a one-up. They’re providing iMessage support in Mountain Lion. And this is a killer feature because now you can chat on your iPhone, move to an iPad if you’re lying on your couch, and go straight to continue messaging on your MacBook Air when you’re on your desk. You also have group chat with iMessage. This is an extreme productivity booster when you need to keep in touch with groups (i.e. don’t only chat on the go, but chat at your desk too).

The only limitation of iMessage? All users need to have an iOS device. I’d hope Apple would open it all up so other people can built against the iMessages API, but thats probably a pipe dream. This limitation is basically similar to the once popular BBM.

With two major platforms, Android (Google Talk) and iOS (iMessage), you’ll go where your friends are.

Related posts:

  1. Messenger apps, disrupting text messaging (SMS)
  2. Apps are the new channels
  3. MoSync 2.4 pre-beta available with some juicy new features



AirPlay and the AppleTV

The announcement for Mountain Lion came quite a while ago so I’m definitely late to the game. However one feature that excites me the most is AirPlay to an AppleTV. You can already do this AirPlay mirroring with an iPad (which I’ve not tested before). But why is this big for laptops?

Every respectable hotel I stay at has an iPod/iPhone dock. It may be from Bose or from some third party, but whatever it is, there is a dock. It started as an iPod dock, and now its pretty ubiquitous since many folk have iPhones. Solves the carrying a charger problem as well.

Many hotels I go to now have a DVD player. Some even have a BluRay player. I never use these devices. I watch TV sure, but I don’t carry physical media with me.

Imagine if every hotel room has an AppleTV? No more watching crappy Pay TV but mirroring my screen with some streaming video. Or just watching stuff off VLC (I hope AirPlay works with VLC).

You’ll say that no hotel will want this. But no hotel wanted to provide fast Internet either (long distance calling killed by Skype, Pay TV killed by streaming movies, etc.). It becomes a necessity after a while. In fact many hotels now give you a free Pay TV movie per stay if you’re so inclined.

I wonder if Apple will go into the projector making space? Or if AirPlay technology will be licensed to projector makers. After all, imagine seamless sync of your video out via AirPlay to a projector, with no cables whatsoever? Great for presentations, and one dongle less to carry.

Related posts:

  1. The Nokia N8 has HDMI out. Will you use it? How?
  2. The iPad: Early-experience notes
  3. Digital Media Consumers



March 20, 2012

Perdition 1.19-rc5 Released

[perdition]

I have released version 1.19-rc5 of Perdition. The key changes are:

  • ldap: fix segmentation fault in dbserver_get2()
  • Manage-sieve: Fix handling of plain login which would segmentation fault in some cases
  • Manage-sieve: Fix handling of long authentication hashes
  • Enhance --bind_address option parsing to handle IPv6 addresses
  • Fix 8/4byte integer type miss-matches which may lead to undefined behaviour

The code and related libraries are available as tarballs here. More information is available in the announcement email. More information about perdition here.

Kim Dotcom and the Megaupload fiasco

I’ll admit to not using MegaUpload much or at all. There were very few times that I’d have to download something from the site, and it could never justify me paying for premium services. That aside, I think what’s happened to Kim Dotcom and his crew at MegaUpload is completely crap. He’s right — he’s an easy target, he’s not a big company, he has been known to be flamboyant, and while he’s immensely rich, he’s not as rich as a BigCo. All that said, I’m glad he’s fighting, and I hope he takes the government to the cleaners.

As I’ve said before, the piracy problem only exists because Hollywood thinks their old models still work. I’m all for finding new ways to entertain folk, and would love to see more indie movies, etc. Kim Dotcom thinks so too:

“If the business model would be one where everyone has access to this content at the same time, you know, you wouldn’t have a piracy problem. So it’s really, in my opinion, the government of the United States protecting an outdated monopolistic business model that doesn’t work anymore in the age of the internet and that’s what it all boils down to.”says Kim Dotcom

This is a couple of weeks old, but I encourage everyone to go watch the first interview with Kim Dotcom on New Zealand TV as soon as he got out. If you don’t have time, read the transcript.

We’re reaching an age where digital rights are going to be very important to defend, and what has happened with MegaUpload and how a business has disappeared overnight is just bad news. It can happen to you. Always remember what Martin Niemöller said:

First they came for the communists,

and I didn’t speak out because I wasn’t a communist.

Then they came for the trade unionists,

and I didn’t speak out because I wasn’t a trade unionist.

Then they came for the Jews,

and I didn’t speak out because I wasn’t a Jew.

Then they came for me

and there was no one left to speak out for me.

Related posts:

  1. Software piracy, the BSA, and where’s the opensource love?
  2. Finding people from cell phone base stations
  3. Some thoughts and transcripts from the Alan Cox video series



March 14, 2012

Special data plans provide a mountain to climb for startups

Via NYT: Days Are Numbered for Unlimited Mobile Data Plans

In Indonesia, nearly a third of the population is younger than 15 years old. So Telkomsel, the leading mobile operator in the country, offers a data plan called FlexiChatting for customers who want to do just one thing: gain access to and update Twitter and Facebook accounts on their cellphones.

Once more of this starts happening, we’re looking at inspecting packets. Some sites are more free than others. Consumers will love this because they save money and access services that they believe are important to them: Facebook & Twitter.

However this stifles innovation. How will the next Twitter or Facebook start? The startups that are coming to disrupt will be the underdog and will only be available to data rich folk; not the average joe.

Related posts:

  1. Facebook Lexicon, the flu, and data mining
  2. ExpressCard for data + Virgin postpaid for the cheapest mobile data option?
  3. On the mobile data business, and iPhones



March 13, 2012

Walktime Blog #23: Storing CAD files

On episode #85 (or was it #84? I can't remember) of The Amp Hour, Dave and Chris mention in passing different techniques for storing their CAD files. Having spent many years working in software, the techniques I've seen used by hardware devs for managing their project files seem to be pretty much the approach that the software industry gave up on a decade ago. Having learned some lessons from large software projects I now use a combination of Dropbox and Git to manage my hardware design project files.

View or comment directly on YouTube: www.youtube.com/watch?v=oJtxjlVInms

Links for this ep:

March 11, 2012

Walktime Blog #22: Making a glass whiteboard

Every lab needs a whiteboard, so when I saw a nice piece of glass being thrown out when helping a friend with a clean-up I grabbed it to mount on the wall. But glass is heavy, and it's not particularly easy to drill holes in. With a bit of care though it can be done, and the result turned out really well.

View or comment directly on YouTube: www.youtube.com/watch?v=dKMQpeyuU7c

Yes, I said "conical" at one point when I meant to say "tubular". I didn't notice until checking the playback!

March 10, 2012

OLPC Australia Education Newsletter, Edition 9

Edition 9 of the OLPC Australia Education Newsletter is now available.

In this edition, we provide a few classroom ideas for mathematics, profile the Jigsaw activity, de-mystify the Home views in Sugar and hear about the OLPC journey of Girraween Primary School.

To subscribe to receive future updates, send an e-​​mail to education-​newsletter+subscribe@​laptop.​org.​au.

March 08, 2012

The practical reality of contraception, Australian edition

Background the first: The practical reality of contraception: A guide for men, by Valerie Aurora, about contraception in the US

Background the second: A layperson’s intro to paying for healthcare in Australia which I wrote as specific background to this post.

Things that are the same in Australia

Contraception works the same way! The side-effect risks are the same:

Let’s start with estrogen-based hormonal birth control and health. I know women who get life-threatening blood clots on estrogen birth control (if the clot gets lodged in a blood vessel, effects range from loss of a limb to death). Others have mood swings so bad that their partners threaten to break up with them and their boss calls them into their office to ask why they’re so mean and bitchy all of a sudden. Don’t laugh – losing your partner or your job is serious shit, and many women decide to risk pregnancy and an abortion rather than the certainty of being abandoned and broke. Another side effect is feeling like you’re going to barf, which usually goes away after a few weeks, but not for everyone. More side effects and health problems abound, but those are the ones I know about offhand.

The mechanism is the same:

Now let’s talk failure rates. You have to take the birth control pill every single day, within a few hours of the same time, to get that 98% or 99% effective rate. Big whoop, you may think. I take my blood pressure medicine every day. Usually. Actually, it’s pretty hard, even with those little day-of-the-week labels on the pills.

Those are specific to the combined pill, but there is no special magical Australian version of contraception. Same risks, same side-effects, same administration, same failure rate.

Valerie’s description of providers withholding prescriptions to force a patient to have a pelvic exams is also true here, although they usually aren’t called pelvic exams: they’re called Pap smears, even though the bimanual exam is often performed too. However, they’re done slightly less often: every 2 years in Australia for low-risk women.

I believe doctors and pharmacists in Australia can refuse the prescription and the supply based on personal moral considerations, and that really sucks. However, it doesn’t seem as common except for the (sometimes publicly-funded!) Catholic hospitals, ew. (See Lauredhel’s “Pro-life” Archbishop Hart’s murderous misogyny and Catholic Church says “Thalidomide-analogue cancer trial? No contraceptive advice for you!”)

Things that are different

Cost

Very important! Many many many brands of the pill are PBS medications, and cost about $30 for 4 months’ supply, so, getting close to Valerie’s mythical $8 a month mark.

Moreover, other contraceptive mechanisms (except condoms, which probably cost about the same) are cheaper too. For example, in the US I understand that I would be out of pocket at least $500 to have a Mirena IUD. In Australia, I had the insertion performed in a public hospital (being elective, I had to wait about 10 weeks), and bought the device from a pharmacy for $35 as it is a PBS medication. Total cost: $35! Length of contraceptive effectiveness: 5 years! (Downside: needs to be shoved into uterus. However, this is easier to do if you’ve shoved a baby the other way.)

Trouble at the doctor

As in Valerie’s entry, scripts for regular hormonal contraception do need to be re-done once a year or so, and given the side-effect profile of the Pill, I can see why. (If your blood pressure is up, you probably won’t notice, but you should be off the Pill.) At least in major metro areas, getting a non-essential appointment to get a script re-issued seems less of a pain though: a few days notice and your clinic will get you in for the required 15 minutes. Also, most doctors will prescribe the Pill to a brand-new patient after a short verbal medical history (at least, if you mention a Pap smear within the last two years) and a blood pressure check, so you can pop into a bulk billing clinic if you have one handy.

In addition, very recent law changes apparently will allow pharmacists to directly supply a small amount of contraceptives (and blood pressure meds) to patients to tide them over to their next doctor’s appointment. (I heard this on the radio, so, sadly, no citation.)

Trouble at the pharmacy

Like other meds in Australia, this just isn’t as much of a pain. The PBS contribution, if any (Nuvaring isn’t covered, say), goes on before you ever go anywhere near the pharmacy, you pay the remainder yourself usually. So the fighting with one’s insurer step is gone. Moreover, while pharmacies do only fill scripts towards the end of the previous supply, the “towards the end” test is more generous: you have two to three weeks at least.

Summary

I think Australia really wins here, especially on cost.

A layperson’s intro to paying for healthcare in Australia

I wanted to write a comparison post to Valerie’s The practical reality of contraception: A guide for men about the Australian equivalents. However, I realised a background in the Australian healthcare system might be needed. Hence this post.

Caution: I am not a medical professional or health administrator. There are plenty of details of healthcare payment in Australia I am blissfully unaware of. This is a guide to what it is like to pay for healthcare in Australia as a relatively healthy younger woman.

Summary

In Australia, many people in cities can see doctors mostly for free, and get free hospital treatment and pretty cheap pharmaceuticals. Yay. It isn’t the magical land of totally free though. Boo.

Medicare

Australia has government funded healthcare, called Medicare. Medicare is available to all Australian citizens and permanent residents living in the country. It is funded through the Medicare levy, a federal tax applied to people on moderate incomes and up.

To prove your eligibility for Medicare you have a Medicare card listing your name (often families are combined onto one card of which each adult gets a copy). In the absense of this card Medicare can verify coverage directly to health care services, I believe, but that’s more hassle. Most people carry their Medicare card in their wallet.

Further reading: overview of Medicare, tax guide to the Medicare levy.

Medicare pays for medical services: that is, (a fixed amount of) doctors’ fees and, for public hospitals, other costs associated with hospitalisation. That is, in Australia, you can for most conditions go to a public hospital, be admitted, and be operated on, x-rayed, diagnosed, etc, for free. Hooray!

The Pharmaceutical Benefits Scheme (PBS)

The PBS provides government subsidised pharmaceuticals to Medicare card holders. Basically, almost all common drugs are bought in huge numbers by the government at agreed prices and then sold in pharmacies to patients. No matter what the government paid, the patient will pay something in the order of $20 to $50 for PBS medication. Low income people can obtain a health care card entitling them to medication prices on the order of $5 or so.

Private health insurers (see below) may provide partial reimbursements for some non-PBS drugs.

People who have unusual drug needs (for example, some types of chemotherapy and painkillers, or a drug for which there are several PBS alternatives that for some reason you personally can’t take) can still end up paying huge amounts for medications.

Further reading: About the PBS, Health Care Card

Bulk billing, private billing, and gaps

Doctors’ fees are an important thing to understand here. A doctor in a public hosptial will bill the government for their fixed fee only (or rather, the hospital will bill the government, and pay the doctor a salary). A doctor working outside a public hospital has a choice, they can bulk bill, which is the jargon for billing the government directly, and which from the point of view of the patient is a free consultation. Or they can privately bill, and they can bill any fee they like. The patient can claim the fixed government contribution from Medicare. The difference between the doctor’s bill and the government scheduled fee is called a gap (not a “co-pay”, that’s American jargon) and it is often paid by the patient themselves, especially if the doctor was seen in their own clinic rather than in a private hospital.

The same can be true of other medical services like X-Rays and scans, or blood tests. There are some practitioners or clinics that bulk bill and some that don’t.

There are also some procedures that Medicare flat-out doesn’t cover. I mostly encounter this with unusual blood tests.

Availability of bulk billing

As above, public hospitals do it, and there are a lot of public hospitals. For non-emergency treatment or care for which there is contention, such as childbirth, the hospital usually has a defined catchment area, and will only treat in-area patients. So you have an assigned hospital, essentially, that will admit you and treat you under Medicare.

Outside hospitals, in major metropolitan areas it is often possible to find bulk-billing general practitioners, and, in some specialties, even bulk-billing specialists with their own practice. (This can have downsides such as shorter appointments or high practitioner turnover, but some private billing clinics have these problems too!) In smaller cities and regional and rural areas on the other hand, there is usually a shortage of medical practitioners and private billing can be near-universal. And underserved specialties often have near-universal enormous gap fees for out-of-hospital consultations.

There is some protection against enormous gaps. Some private insurers (below) have some coverage, and the Medicare Safety Net starts paying part of many gaps after you spend about $500 in a year on gaps.

Private insurance

Now, there is private health insurance, which you take out in addition to (not instead of) Medicare. What this gets you is:

  1. coverage of many expenses associated with choosing a private hospital (accommodation, operating theatre fees) and so on, and on some policies partial coverage of the gap amount on the doctors who treated you at the hospital
  2. coverage of some non- or partly-Medicare covered expenses, like dental, optical and physiotherapy fees (for example, Medicare covers eye exams to prescribe glasses, but not the actual glasses themselves), the jargon for that here is extras cover
  3. coverage of ambulance expenses in states where the state government doesn’t pay for them (NSW is one of the states where you pay for your own ambulance)
  4. coverage of a (usually pretty limited) range of non-PBS drugs

You can usually buy pieces of this too: eg, just hospital, or just ambulance.

As an indication as regards cost, private premiums presently start at about $150 for a family for a month, and a super-kickarse policy with huge yearly limits on extras and private obstetric care (this, psychiatric care and dialysis are often excluded from cheap policies) included starts around $350 a month for a family with adults my age. They actually have to get the federal government to approve their rate of premium rises.

Employers sometimes, but by no means always, offer private health cover. It’s usually a benefit associated with US-owned companies. (Google presently pays for my family’s private cover.) It’s not a tax-exempt benefit.

Why use the private system?

Here, the private system is anything where the patient may be billed. This includes:

  1. being admitted to a public hospital as a private patient, which is a choice they offer you, and the hospital bills you/your private insurer rather than Medicare
  2. being admitted to a privately funded hospital
  3. seeing a doctor or visiting a clinic that does not bulk bill

One major reason is that, as above, out of a hospital you simply may not have a local bulk billing practitioner. Or, if you are wealthy, you might, but you may have a personal preference for a particular practitioner who doesn’t bulk bill.

The other is to avoid the downsides of the public system:

  1. for some treatments, especially elective surgery (tangent, in Australian medical jargon, that means all surgery that isn’t urgent, it does not only mean “surgery for which there isn’t a medical need”) public hospitals may have long waiting lists, whereas you could get your treatment more swiftly in the private system, which may be considerably more pleasant for you!
  2. in the public system, you are not entitled to a choice of doctor. You get treated by the rostered doctor (often a registrar, ie, specialist-in-training in the appropriate specialty). In the private system (including a privately-paying patient in a public hospital) you appoint your doctor.
  3. public hospitals tend to have a lower standard of accommodation than private ones, ie, shared rooms, less light in rooms and similar. So, a class thing.
  4. quite a number of public hosptials are actually Catholic, and refuse proscribed services like abortion, tubal ligation, and prescribing or supplying contraception (whether publicly funded hospitals should be allowed to do this is an interesting question, but not really live, politically). Mind you, so are a lot of private ones, but since you can go to a private hospital of your choice, you can choose a non-Catholic one, and you may not be able to in the public system.

Nevertheless, as you can imagine, Medicare coverage suffices for many Australians even if they can afford private premiums. There are a couple of financial carrots and sticks used to encourage taking it up and, in theory, reduce the cost burden on Medicare.

Further reading: the Medicare levy surcharge tax on wealthy people who don’t take up private insurance, and lifetime health cover premiums in which your premium is locked to the age that you first bought private insurance at.

Comparisons with the US system

Improvements on the US system, based on my (very imperfect!) understanding of that system:

  1. the most obvious one is that when you lose your job you do not lose Medicare coverage if you are unemployed, or earn too much money, or earn it the wrong way, or are too old, too young, too healthy or too sick.
  2. likewise, you cannot end up with a health history that makes it impossible for you to be insured: private insurers cannot, by law, discriminate on anything other than age (higher age is higher premiums) or medical history, and the only permissable medical history discrimination is that they can (and always do) refuse to pay for treatment related to a “pre-existing condition” for the first 12 months of cover. Medicare does not discriminate other than on nationality and visa status.
  3. insurers don’t get involved in the details of your medical decisions. It’s fairly plain when something is covered and when it isn’t. There seems to be far fewer problems with “and then I presented my script in a month with a blue moon and it turns out that clause 197c2 subsection b means that I now pay for my medication myself this year”. Generally you and your treating professional make a decision, stuff happens, and Medicare, PBS and you collectively pay the same amount for it no matter who billed what when and who sacrificed which mammal to the gods.
  4. even privately billed stuff seems cheaper, probably because the giant single-payer forces all the prices down, and the fact that for things that Medicare doesn’t cover, you tend to see the entire bill, which seems to be more price transparency than the US has.

    As a price difference example, Valerie states that she had a USD 40 co-pay on Nuvaring. Nuvaring is not a PBS medication here and my private insurer didn’t cover it either. But I paid AUD 30 a month for it and that was the entire cost, not just a portion of it.

March 05, 2012

Keeping up with the conversation

Today I read a re-tweeted tweet by a fellow Malaysian who said:

@etp_roadmap @IdrisJala_ c what I meant u all cant change. U only RT tweets that favors U all but never on negative tweets..learn 2b fair

This is probably true. You can retweet whatever you want. Naturally, you’ll only retweet things that you find are positive to you (or align with your points of view). This is the thesis behind things like Tumblr and other reblogging platforms.

This is the beauty of Twitter as a conversation medium. You can actually just search for a string. And with the @reply mechanism, you just end up searching for “etp_roadmap” and you see heaps of amazing commentary.

Granted, this is not something everyone would do. But with social media you get the choice. With traditional media, you’re forced to look at one point of view. Letters that get published don’t necessarily have to be “independent”. Social allows those that are interested to dig deeper. This is true power.

Do the cybertroopers know this? Its easy to figure things out, if you’re looking.

Related posts:

  1. Keeping the (content on the) Internet relevant
  2. Why politicians should use Twitter
  3. Twitter for politics, and in the media



March 04, 2012

On uniforms

It is widely stated that the late Steve Jobs had a uniform: mock turtleneck, Levis jeans, and New Balance sneakers. He did this because he didn’t want to think about what to wear daily and there was a sense of everyone being in a uniform. It didn’t catch on at Apple, but I’m sure the many fanboys do dress like him.

I’m totally with Jobs on this. In school I had a uniform. I never thought about what to wear. My last uniform at high school was a short-sleeved white shirt (long-sleeved only on Mondays afaik), blue pants, and a pair of white-ish sneakers. Oh and a blue tie. There was not much thinking, and it took a load off for me.

Nowadays, I don’t have a uniform. For most part of the 2000′s, I was just wearing free t-shirts from the various opensource projects I was involved in. After meeting Sara in 2008, I learned about the Polo tee. I’d still have to pick what shoes to wear, what pants to wear (be it shorts or long pants or jeans). I usually just ended up with cargo pants due to the many pockets that come with it.

So, my uniform lately is that I usually have a Polo t-shirt on. I’ve not figured out how to ease the pants problem — sometimes its shorts, sometimes its jeans, sometimes its pants. I very rarely need to wear a suit. I’ve also not figured out footwear.

All that aside, the idea of a uniform makes sense. I’m still figuring out what’s useful for me. Here’s to cracking the uniform code!

Related posts:

  1. Rum Jungle considered harmful
  2. On whoring oneself
  3. It’s nearly Mother’s Day, what a gift…



March 03, 2012

Jdrones ArduCopter Quad

So I decided to build a quad mainly the one designed by the diydrones.com people, there are 2 suppliers of the kit jdrones and udrones. one is based in Asia the other in the US.

I decided to be slack and buy the pre-soldered kit, I can solder and it’s not like it was anything hard like surface mount. Big NOTE when they say pre-soldered they don’t mean the entire kit has be soldered you still have to solder 24 bullet connectors and the power distribution board, and for some reason they give you the magnetometer attached by cable not soldered directly to a header on a board like they recommend.

So what I purchased from Jdrones

  • ArduCopter Quad v1.1 KIT, KIT, Pre-Soldered, Tested + Software
  • Upgraded with the 880kv motors 30amp esc and larger props.
  • Also wanted to be able to do low altitude hover so I brought a sonar
  • http://store.jdrones.com/product_p/cbl3psnr01.htm (cable)
  • http://store.jdrones.com/product_p/mb1200.htm (sonar)
  • http://store.jdrones.com/product_p/mntmx12pc01.htm (mount)
  • What I forgot to buy is some headers: http://store.jdrones.com/product_p/conhead20angle.htm and http://store.jdrones.com/product_p/conhead20str.htm

Ok so this isn’t enough to make it fly and yes you’ve just spent nearly a AU$1000 you’ll also need to get a Battery, and a radio. For that I tried the hobbyking.com shop. Note: if it’s not in stock in the Australian warehouse delivery times seem a bit slow.Also LiPo battery’s can not be shipped by air, make sure you buy in Australia for those.

battery: ZIPPY Flightmax 2650mAh 3S1P 40C also need some connectors XT60 Battery charger I’m using a cheap only does 2S and 3S batteries get it from jaycar Lipo balanced charger

Lastly is the radio the most expensive single item after the kit. I’m trying to get my hand on this but apparently the queue is long and the might take months. why so popular you ask well it cost like $60. and something with that many channels cost normally around $200+ so If nothing ships soon I’m looking at buying one of these Futaba 7c and probably from the more local hobby store dune planes

What you need to know about the TX RX radio is basically get 2.4 GHz otherwise the local model aircraft club will not let you fly near them. and you need at least 6 channels and any more than 8 channels is pointless

The diydrone has a very smart and easily programmable flight controller if you want cheap and no as intelligent have a look at kkmulticopter

February 29, 2012

February 28, 2012

OLPC Australia training resources

Underpinning the OLPC Australia education programme is a cache of training resources. In addition to our Online Course and Learner Manual, we have a set of help videos, hosted on our Vimeo channel. I have updated the OLPC Disassembly instructions for the top and bottom of the XO with links to the videos.

February 27, 2012

Book review: Steve Jobs

Walter Isaacson, Steve Jobs.

It is the day in Australia to be thinking about poor leadership and its sequelae. And coincidentally I’ve just finished up everyone’s favourite summer hardback brick (all hail the Kindle), the authorised Steve Jobs biography, and I just read this today too:

However, sometimes really smart employees develop agendas other than improving the company. Rather than identifying weaknesses, so that he can fix them, he looks for faults to build his case. Specifically, he builds his case that the company is hopeless and run by a bunch of morons. The smarter the employee, the more destructive this type of behavior can be. Simply put, it takes a really smart person to be maximally destructive, because otherwise nobody else will listen to him.

Why would a smart person try to destroy the company that he works for?… He is fundamentally a rebel—She will not be happy unless she is rebelling; this can be a deep personality trait. Sometimes these people actually make better CEOs than employees.

When Smart People are Bad Employees

Well, good to see that someone understands Jobs better than me.

One major thing that struck me about this book is that Isaacson is really quite flattering about… Bill Gates. It is, however, fairly easy to do this in a biography of Jobs, because Gates was really one of the fairly few people with both power and emotional and financial distance to assess Jobs relatively dispassionately and to go on the record about it. He also never had a intense and short-lived mutual admiration relationship with him in the way that Jobs had with many men he worked more closely with. Gates and Jobs apparently always considered each other a little bit of a despicable miracle: astonishingly good work with your little company over there, Bill/Steve, I would never have considered it believed with your deluded pragmatic/uncompromising approach to software aesthetics.

I read these books mostly for the leadership and corporate governance insights at the moment: unfortunately there’s not a lot here. There is of course a lot of unreplicatable information about Jobs personally: I doubt a firm belief that vegans don’t need to wear deodorant is essential to building a massive IT company. Likewise, if your boss is uncompromising and divides the world into shitheads and geniuses, the solution turns out to (in this book) “be Jony Ive or John Lasseter”. Not really a repeatable result.

It shouldn’t (and didn’t!) really come as a surprise, but if you want to know more about Jobs personally, read this book. If you want to know a great deal about the successes and failures of Apple’s corporate strategy, you’ll largely see them through a Jobs-shaped lens. Which probably isn’t the worst lens for it, but not the only one. In any case, it’s a nice flowing read (I read it in a couple of days) and is ever so full of those “oh goodness he did WHAT?” anecdotes you can subject your patient housemates to, if you like.

February 25, 2012

Sunday spam: watered-down gruel

Mmm, yum.

I’ve been thinking more intensely about schooling my son since, well, he was born and also since I began reading Rivka’s homeschooling blog (she began homeschooling her then five-year-old year old daughter in June 2010, when my own son was about four months old).

I probably, frankly, wouldn’t know the first thing about homeschooling otherwise, but as it is, I can bring you several links. The first couple are a defence of homeschooling from a self-identified liberal point of view, in the US sense of progressive. In fact, all of this is about the US school system.

Does homeschooling violate liberal values?

Do we have a responsibility to work towards equal educational opportunity for all children, and if so, do we violate it by removing our family from the public system? Even liberal homeschoolers don’t really seem to engage with this question much. Partly I think it’s because there’s such a strong libertarian streak in homeschooling communities, even on the left wing. But also, liberal philosophical arguments for homeschooling tend to be based on a critique of schools as rigid and stifling institutions…

Are liberal homeschoolers hypocrites?

… I’m not a homeschooler, and I don’t particularly care whether anyone thinks I’m sufficiently liberal. But I certainly don’t judge anyone who chooses to take their kids out of these schools. There’s no one right answer to how to make this world a more humane place, and the homeschoolers’ answer seems at least as wise as Goldstein’s. If anything, I instinctively distrust the idea that we can create a more liberal and humane society by putting our kids into less liberal and humane environments. By treating kids as instruments for social improvement, that argument mirrors the very same instrumental treatment of children that I object to when it’s practiced by “reformers” who treat kids as soldiers in the battle for global competitiveness.

And that last point about soldiers in the battle for global competitiveness neatly brings me to Got Dough? How Billionaires Rule Our Schools:

Hundreds of private philanthropies together spend almost $4 billion annually to support or transform K–12 education, most of it directed to schools that serve low-income children (only religious organizations receive more money). But three funders—the Bill and Melinda Gates Foundation, the Eli and Edythe Broad (rhymes with road) Foundation, and the Walton Family Foundation—working in sync, command the field. Whatever nuances differentiate the motivations of the Big Three, their market-based goals for overhauling public education coincide: choice, competition, deregulation, accountability, and data-based decision-making. And they fund the same vehicles to achieve their goals: charter schools, high-stakes standardized testing for students, merit pay for teachers whose students improve their test scores, firing teachers and closing schools when scores don’t rise adequately, and longitudinal data collection on the performance of every student and teacher…

Every day, dozens of reporters and bloggers cover the Big Three’s reform campaign, but critical in-depth investigations have been scarce (for reasons I’ll explain further on). Meanwhile, evidence is mounting that the reforms are not working…

February 21, 2012

OLPC Australia Education Newsletter

Editions 7 and 8 of the OLPC Australia Education Newsletter have come out in the past few weeks. In each edition, we will provide news, tips and tricks and stories from the field.

To subscribe, send an e-mail to education-newsletter+subscribe@laptop.org.au.

February 16, 2012

Walktime Blog #21: Silent power supplies

I'm in the process of setting up my home office, and the computer I'm using is an old machine decommissioned from regular use. It's really noisy, so I'm on a mission to make it silent. The first step is replacing the power supply.

View or comment directly on YouTube: http://youtu.be/zuvPJvcersY

February 14, 2012

Talking about his generation: you too can be a bad futurist

The X or Y posts (Gen X or Y?, On being X-ish) reminded me of something I wrote about my son, who was born in 2010, not long before he was born:

I was looking at one of those “the kids of today” lists and thinking about V. What will the world of the 2010 baby look like? I came up with:

  • September 11 will be something that happened when his parents were young, roughly equivalent to the Vietnam War for me, a bit nearer than the moon landing or Harold Holt drowning
  • in fact by the time he’s a teenager everyone or nearly everyone who walked on the moon will have died
  • he may not ever learn to read a paper map or street directory unless he gets heavily into bushwalking or something
  • by the time he’s grown up, I wouldn’t be surprised if it’s really unusual to own many paper books, perhaps as uncommon as people my age who own vinyl (yeah, I do know a few, but…)
  • there will be a few veterans of WWII and people who experienced the Holocaust (other than as little babies) around in his childhood and even teens, but they’ll be like I remember WWI veterans: very elderly

If anyone wants to play: can you come up with things that aren’t true of children born in 2000, say? Things like “your parents have always had mobile phones” are going to be true of children 10 or even 15 years older than V will be. (Of my list, the paper map stuff probably fails that test, so might the WWII stuff.)

I’m a terrible futurist, that already reads badly to me. For example, I didn’t own a GPS device at the time: that’s why I thought that bushwalking would rely on paper maps in 2030. (Since they don’t run out of charge, presumably they’ll be useful as backups for a long time, at least for the type of folks who are wary enough to take backup maps anywhere.)

But the question stands: there’s a lot of difference already between me and someone born in, say, 1995. But what’s the difference between that child’s life, and that of my son born in 2010?

On being X-ish

Now that I have described how I graduated into Generation X, I have a secret to confess: I’m starting to think that that might not be entirely wrong.

Let’s stick to cohort effects here, since it’s supposed to be a cohort term. And I should add that this is all very trivial stuff, I’m focussing on media, pop culture and technology experiences.

One of the major temptations of identifying as Generation Y had to do with pop culture. My teenage years were just past the wave of slackers and grunge and Seattle. I probably heard Nirvana’s music during Kurt Cobain’s lifetime, but I didn’t know of them as a thing until about a year after he died. I’ve never even seen Reality Bites, but Ethan Hawke and Winona Ryder are both 10 years older than I am, and their movies weren’t about my cohort.

I am, frankly, Spice Girls age: not the pre-teen thrilled girls waving things to be signed, but the teenagers who actually paid for the albums with their own money. (I didn’t, for reference. We were a Garbage family.) Britney Spears was born in the same year as me, and her biggest year career-wise was my first year of university. And obviously, when the term “Generation Y” was coined, the stereotypes of late university/early career certainly fit my friends better than the Generation X tags with managerial aspirations. The return of cool people listening to cheesy pop: Y-ish. So that was where I felt I fell. (In case anyone I knew at high school drops by: I realise I wasn’t cool. But you may have been, and don’t think I didn’t notice you danced to the Spice Girls.)

But then, there’s certainly a few small societal boundaries between me and people who were born in 1986. (I have a sister born in 1986, and thinking about the five years between us is often telling.) Starting at a global level, I was reading Tony Judt’s Postwar recently (recommended, I’ll come back to it here at some point), and I was struck because I remember 1989.

To be fair, that’s more important if one lives in Europe, which I never have, but most of my first detailed memories of newsworthy events have to do with the revolutions of 1989 and the 1990 Gulf War. I remember the USSR, again, from the perspective of a young child who was growing up in Australia, but still. I can read the science fiction people smirk about now, the fiction with the USA and USSR facing off in 2150, and remember, a little bit, what that was actually about. This is, well, frankly, more than a little X-ish.

While we’re talking about defining events, I recall that quite a lot of people talked about the children who won’t remember 9/11. (And by children, I now mean 15 year olds, of course.) Obviously this is more important in the USA, perhaps a little like the European children (by which I mean 25 year olds) who don’t remember 1989 in Europe. I obviously remember 2001, and moreover remember the geopolitical situation in the years before it quite vividly too, and that latter is again, more than a touch X-ish.

Turning to technology, which is fairly defining for me, we’ll start with Douglas Adams:

Anything that is in the world when you’re born is normal and ordinary and is just a natural part of the way the world works. Anything that’s invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it. Anything invented after you’re thirty-five is against the natural order of things.

Leaving aside the age effect where shortly everything cool will be against the natural order of things, it’s noticeable to me that the Web and email and so on fall in the “can probably get a career in it” bracket for me. Well, obviously not truly (the first version of the SMTP specification, which still more or less describes how email works today, was published in 1982), but my late teenage years were exactly the years when suddenly a lot of Australian consumers were on the ‘net. Hotmail was founded when I was 15 and I got an address there the following year. (icekween@, the address has been gone since 1999 and I’ve never used that handle since, partly because even in 98/99 it was always taken. But, actually, for a 16 year old’s user name I still think that was fairly OK considering some of the alternatives.)

In short, it was all happening in prime “get a career in it” time for me, and not coincidentally I am at the tail end of the huge boom in computer science enrolments and graduates that came to a giant sudden stop about two years after I finished. Frankly, X-ish. My youngest sister and her friends didn’t get excited about how they were going to become IT managers and have luxury yachts as a matter of course. (Well, partly age and partly not being jerks, there.) It’s a lot harder to get the “just a natural part of the way the world works” people excited about it.

Diagnosis: tailing X.

Gen X or Y?

Charles Stross:

In my next novel (the one I’m going to write for publication in 2014), I’m planning on tackling the future of politics circa 2030-2040. Today’s front-rank politicians, aged 45-70 and children of the Boomer generation and their immediate predecessors and successors, will be elderly and retired or dead by that time; the pre-occupations of politics will revolve around the issues and preoccupations of Generation X and Generation Y, those born between 1965-1985, and 1986-2000.

The shifting in the definition of “Generation Y” has been noticable to all my university friends (born, roughly, 1980 and 1981). The term was coined when I was at the type of age that needed a generation tag, I was probably 20 at the time. People born in 1965 were in their mid-thirties at the time, and “Generation X” seemed to cover the age range of roughly 25 to 40 year olds at that time, the people who were waiting (are waiting?) for Baby Boomers to move out of management positions for them, the people whose issues were kids and mortgages and such.

Thus, to the extent that they cared, people born in 1980 or so were first labelled, and came to identify with, Generation Y.

Then a change in rhetoric happened, because a catchy term for “16 to 25 year olds” was needed, and Generation Y was right there. (Stross is using it for people currently aged 11 to 26, in his entry.) So for about half a decade now, the leading edge of Generation Y has been stuck at 25 years of age, and anyone over 25 is Generation X. Thus, quite a lot of people have suddenly found themselves “promoted” to Generation X in the last five years or so. (For that matter, I suspect that people who were born in 1960 to 1965 are a bit surprised to suddenly find out that they’re now considered Baby Boomers, after being fed a steady diet of “the Boomers are keeping you down!” fluff in their own twenties.)

Really, if you want to seriously analyse this, John Quiggin had the final word in the Australian Financial Review in 2000 (and I imagine the inspiration for it was the coining of the term “Generation Y”, which certainly was not used at the time to refer to children then being born):

One of the standard ploys in journalism, marketing and political commentary is the generation game. The basic idea is to label a generation ‘X’ or ‘Y’, then dissect its attitudes, culture, and relationship with other generations. The most famous generation, of course, is that of the Baby Boomers, born between the end of World War II and the early 1960s, and their most enduring contribution to the generation gap is the ‘Generation Gap’ between children and their parents…

At first sight, discussion of this kind can carry with it an air of fresh insight, but most of it stales rapidly. Much of what passes for discussion about the merits or otherwise of particular generations is little more than a repetition of unchanging formulas about different age groups: the moral degeneration of the young, the rigidity and hypocrisy of the old, and so on.

Demographers have a word (or rather two words) for this. They distinguish between age effects and cohort effects [my emphasis]. The group of people born in a given period, say a year or a decade, is called a cohort. Members of a cohort have things in common because they have shared common experiences through their lives. But, at any given point in time, when members of the cohort are at some particular age, they share things in common with the experience of earlier and later generations when they were at the same age.

Most of the time, age effects are more important than cohort effects. The primary schoolers of the 1960s were very like the primary schoolers of today and, of course, totally different from the middle-aged parents they have become. The grandparents of today are more like their own grandparents than the bodgies and widgies they may have been in the 1950s.

So, Generation Y was originally a cohort term referring to children born, very roughly, from 1980 to about 1990, very roughly the bulk of children of the Baby Boomers (that’s a pretty short generation, so I can see how it gets extended to 2000 readily enough). But all three of “Baby Boomer”, “Generation X” and “Generation Y” are now being used to describe age effects instead:

  • Baby Boomers are perpetually pre-retirees: they have the bulk of the desirable jobs and the bulk of adult power. They are also perpetually a future liability in anticipated health costs and pensions. (In actual fact, many of the children born in the decade after World War I and quite a few born in the early 1950s are now retired or retiring.)
  • Generation X are perpetually early- to mid-career: they have high debt burdens, they have young children, they have high stress levels, they don’t feel entirely settled in their career but they are invested in it.
  • Generation Y are perpetually older youth: they spend a lot of time (“too much”) at university, they don’t take their jobs seriously, they nick off and travel at the least opportunity.

Incidentally, I assume the class aspect of these labels is apparent enough: these stereotypes all refer pretty much exclusively to managerial people (upper-middle) and their parents and children. This is often true of coverage of cohort effects: they describe the youth of journalists’ friends’ children.

I am that class, but the Gen Y stereotypes didn’t even describe my early 20s cohort that well, too many long term relationships and relatively young marriages. There was a lot of travelling and career-hopping though: my husband is one of the very few people I know who graduated with a Bachelor degree and has worked a full-time salaried job—not one individual job, mind you—in the same industry ever since. Stereotypes, eh?

However, since the coining of the terms, the confusion of age and cohort effects in the use of these terms means that people are surprised to find themselves aging out of them: you used to be Gen X, but now you’re a tailing Boomer. I used to be Gen Y for that matter, but I turned 30 and that was that. I graduated. I’m X.

I’ll be curious to see how long this effect lasts, if in five to ten years, as it should, the term Boomer is used to refer to people who actually have retired, rather than Boomers being perpetually on the cusp of retiring as they have been for seemingly my entire life.

February 12, 2012

Notes from Granada & Barcelona, Spain

This is my first time in Spain and I’m happy to say I’ve visited Granada and Barcelona all in one. Some quick notes:

  • This is an EU nation, yet you’ll have to fill in some kind of landing form if you’re not an EU national. They don’t ask you to retain the departure card, preferring instead to keep the whole sheet. It proved no issue leaving the country either.
  • Churros are meant to be eaten with thick hot chocolate. No wonder people gave me funny looks when I just ate it as is.
  • The Spanish are friendly. A fairly good looking person just sat across me on my table at breakfast one morning. Upon looking up only did she realize she should have asked first.
  • The cuisine is awesome. Lots of little dishes. Olives stuffed with anchovies in brine. Fried green peppers. Paella served with an obligatory sangria. The list goes on and on. Sometimes though I found some of the tapas a little too salty for my liking.
  • Getting an English-language newspaper is a challenge in Granada, on Spanair, in the Barcelona airport lounges. In Barcelona though, international hotels and the Ramblas area will serve up some English magazines as well as the Financial Times.
  • Siesta is something I cannot fathom/get used to. Yes, it is a significantly lengthy lunch hour, but I guess its something cultural.
  • Speaking English is a challenge. Hotel staff too find it difficult to understand sometimes. And outside of Barcelona/Madrid, it’s going to be hard to find an international chain, so be prepared to speak slowly and explain yourself clearly.
  • Pretty much everything (retail) is closed on Sunday in Barcelona. Save for shopping malls. Gasp!
  • There are over fifteen Michelin-star rated restaurants in Barcelona. Make sure you get bookings in up to two weeks in advance. Many finer restaurants also have tasting menus (which really are set menus, IMHO).
  • Beware the Ramblas area. Plenty of places tell you, you can get three tapas and a drink for a certain sum of money, but the tapas is always limited to what they choose, and the drink tends to be really small. In Barcelona you pay for your tapas, it doesn’t come for free when you order your drink. Don’t be fooled by paella on the streets either — ask what you’re getting (chicken paella is quite a common set menu dish). I found it a nice street to walk on, but eating I picked elsewhere.
  • On a Saturday night, within a 10km radius of the Ramblas area, the most popular destination checked-in on Foursquare had 14 people. Not a huge number by any means. Recommendations are mostly in Spanish on the service, so it proved to be hard to decipher for me.
  • Finding WiFi is not really common. Of course around the touristic areas many places offer up wifi with a drink.
  • Cava is common. Its like Spanish champagne/bubbly. It is also cheap. Don’t hesitate to ask for a glass before lunch/dinner.
  • Cafe Zurich at the end of Ramblas is a very nice place to sit and people watch. In fact people sit in a Parisian fashion looking towards the street.
  • There’s a market in the middle of the Ramblas area. Reminds me of Queen Victoria Market in Melbourne. They even give you a map. Very colourful, nice to take pictures of, and clearly its a destination in itself.
  • Television here is all pretty much Spanish-based. English shows dubbed in Spanish. There usually is some variant of CNN or BBC though for an English-language fix.

Related posts:

  1. Notes from Sao Paulo, Brazil
  2. Software suspend rocks (MacBook Pro notes)
  3. Fedora Jobs list and test notes



Notes from Sao Paulo, Brazil

This is my first time in Sao Paulo, Brazil. In fact, it is my first time in Brazil. Why not throw in the fact that it is my first time on the continent of South America? Some quick notes/observations:

  • The people are toothsome. I’m told that lots of Miss Universe/World’s come from Brazil, and its possibly quite true. You’re also told to explore areas like bars/clubs and drop in “where the beautiful people are”.
  • Sao Paulo is very multi-cultural. Its very easy to blend in, till someone speaks to you in Brazilian-Portuguese.
  • In this market, you need Brazilian-Portuguese. The bookstores are filled with titles. Going to large malls and speaking to wait staff is a challenge if you only speak English. Taxi drivers speak no English, so be prepared ahead of time.
  • The language is important, so there are always simultaneous translators when you give presentations.
  • Traffic jams are redefined here. Sitting in a car for two hours, when the journey really should take fourty-five minutes is quite common. Helicopters are generally available (as are helipads), and there are plenty of options for getting armored cars are.
  • There’s plenty of Brazilian fashion brands that we never see overseas.
  • I had a meal at Bob’s. It reminded me of a local McDonalds. Their website points to Twitter, Facebook and Orkut. Yes, Orkut is still a fairly used social network in Brazil. Only in Brazil (previously also in India, but I think Facebook has killed it there).
  • Nokia’s are big in Sao Paulo. Followed by Android-based devices. There are plenty of accessories for iOS devices (iPhones/iPads) in higher end malls (I noticed 2 push carts in one mall, for example), but they don’t seem as prevalent in terms of usage. There are Apple Premium Resellers as well.
  • K-POP videos are being used to sell TVs here in Sao Paulo.
  • There are really good concert acts happening in Sao Paulo (via Time Out Sao Paulo). Cities like Kuala Lumpur/Singapore can learn a lot from them.
  • HSBC is really here.
  • The Interlagos F1 Grand Prix happens here too. It is a pity I’m here a week earlier and won’t get to catch the F1.
  • Sao Paulo will be one of the host cities for the World Cup 2012 while Rio gets the Olympics in 2016 (save for some soccer matches which will also be in Sao Paulo). Infrastructure and language is going to be interesting for this.
  • People are very civic conscious and clean up after themselves (in fast food joints, after their dog poos, etc.).
  • Jardines area is definitely very pet friendly — see plenty of dogs walking around. It is also human friendly, less cars on the street. However it is hilly, so if you have a pram, it is not impossible but you have to be careful with negotiating the sidewalks.
  • Cycle friendly Sao Paulo is.

Related posts:

  1. Notes from Granada & Barcelona, Spain
  2. Free and Open Source Software: Use and Production by the Brazilian Government
  3. Quick notes on Malaysia



Food in Brussels

Barbar at Delirium in Brussels. Thousands of beers in-store! It was my first time to Brussels, Belgium. I found some amazing food that I’d go back to on a regular basis on future trips to Brussels. Most of everything is in the Grand Place area.

Scheletema has been around since 1972. They serve high quality food. Try their steak (filet mignon). Try their tuna. They have awesome scallops for a starter. Their menus can also be relatively good value for money.

Brussels is famous for “moules et frites” (mussels & fries). Visit Chez Leon. Its always crowded, has been around since 1893, and they have excellent mussels. Their Leon beer isn’t too bad either.

Want beer? Check out Delirium Cafe. Its in the Guinness Book of Records for holding over 2,000 beers in stock. Their tap beers are awesome too. I’ve quite enjoyed Barbar.

Waffles are available everywhere. For tradition, visit Le Funambule Waffles, which is near to Manneken Pis. They’ve been around since 18xx.

Fries are also everywhere, be sure to try out many of the sauces.

Related posts:

  1. MariaDB/MySQL users in Paris & Brussels



La Fourchette du Printemps

Beautiful quaint little restaurant at Rue du Printemps, nearby the Wagram metro station. It has one Michelin star. Lunch tasting menu is 45 euros a pop (February 2012) – starter, main course, desert. They also give you a pre-starter (free) plus a pre-desert (free). They close for lunch at 2pm, but entertained us right till 3.30pm – brilliant service. Chocolate desert for presentation was absolutely amazing – worth taking a video snapshot in-memory. Main course was out of this world. Definitely worth paying a visit; all credit cards (visa/master/amex) accepted.

Related posts:

  1. DiGi’s awesome customer service
  2. Original software? Free software’s better
  3. MySQL HA reloaded by Ivan Zoratti



February 11, 2012

Walktime Blog #20: Building a triple-head monitor stand

I need a monitor stand for the triple-head computer in my new home workshop, so I had a go at making one out of bits of left-over timber.

View or comment directly on YouTube: http://youtu.be/iiOo8YOLAEk

February 10, 2012

21 Economic Models Explained With Cows

Just in case you haven't seen this brilliant explanation before (I'm a proud bureaucrat). Sorry, don't know who authored it, merely that I got it through James Cook on bicigaga.



21 Economic Models Explained With Cows





SOCIALISM

You have 2 cows.

You give one to your neighbour.





COMMUNISM

You have 2 cows.

The State takes both and gives you some milk.





FASCISM

You have 2 cows.

The State takes both and sells you some milk.





NAZISM

You have 2 cows.

The State takes both and shoots you.





BUREAUCRATISM (CY)

You have 2 cows.

The State takes both, shoots one, milks the other, and then throws the milk away...





TRADITIONAL CAPITALISM

You have two cows.

You sell one and buy a bull.

Your herd multiplies, and the economy grows.

You sell them and retire on the income.





SURREALISM

You have two giraffes.

The government requires you to take harmonica lessons





AN AMERICAN CORPORATION

You have two cows.

You sell one, and force the other to produce the milk of four cows.

Later, you hire a consultant to analyze why the cow has dropped dead.





ENRON VENTURE CAPITALISM

You have two cows.

You sell three of them to your publicly listed company, using letters of credit opened by your brother-in-law at the bank, then execute a debt/equity swap with an associated general offer so that you get all four cows back, with a tax exemption for five cows.

The milk rights of the six cows are transferred via an intermediary to a Cayman Island Company secretly owned by the majority shareholder who sells the rights to all seven cows back to your listed company.

The annual report says the company owns eight cows, with an option on one more.

You sell one cow to buy a new president of the United States , leaving you with nine cows.

No balance sheet provided with the release.

The public then buys your bull.





A FRENCH CORPORATION

You have two cows.

You go on strike, organize a riot, and block the roads, because you want three cows.





A JAPANESE CORPORATION

You have two cows.

You redesign them so they are one-tenth the size of an ordinary cow and produce twenty times the milk.

You then create a clever cow cartoon image called 'Cowkimon' and market it worldwide.





A GERMAN CORPORATION

You have two cows.

You re-engineer them so they live for 100 years, eat once a month, and milk themselves.





AN ITALIAN CORPORATION

You have two cows, but you don't know where they are.

You decide to have lunch.





A RUSSIAN CORPORATION

You have two cows.

You count them and learn you have five cows.

You count them again and learn you have 42 cows.

You count them again and learn you have 2 cows.

You stop counting cows and open another bottle of vodka.





A SWISS CORPORATION

You have 5000 cows. None of them belong to you.

You charge the owners for storing them.





A CHINESE CORPORATION

You have two cows.

You have 300 people milking them.

You claim that you have full employment, and high bovine productivity.

You arrest the newsman who reported the real situation.





AN INDIAN CORPORATION

You have two cows.

You worship them.





A BRITISH CORPORATION

You have two cows.

Both are mad.





AN IRAQI CORPORATION

Everyone thinks you have lots of cows.

You tell them that you have none.

No-one believes you, so they bomb the **** out of you and invade your country.

You still have no cows, but at least now you are part of Democracy....





AN AUSTRALIAN CORPORATION

You have two cows.

Business seems pretty good.

You close the office and go to the pub for a few beers to celebrate.





A NEW ZEALAND CORPORATION

You have two cows.

The one on the left looks very attractive.





A GREEK CORPORATION

You have two cows.

You borrow against the cows from the Germans

You kill the cows and make souvlaki

You can’t pay the interest so the Germans lend you more money

You can’t pay the interest so the Germans lend you more money

You can’t pay the interest so the Germans lend you more money

You can’t pay the interest so the Germans lend you more money

February 09, 2012

My crazy linux.conf.au week

In January I attended the annual Australian Linux and Open Source conference (LCA). But since I was sick all of January and had a lot to catch up on, I never got around to sharing all the talks that I gave during that time.

Drupal Down Under

It started with a talk at Drupal Down Under, which happened the weekend before LCA. I gave a talk titled “HTML5 video specifications” (video, slides).

I spoke about the video and audio element in HTML5, how to provide fallback content, how to encode content, how to control them from JavaScript, and briefly about Drupal video modules, though the next presentation provided much more insight into those. I explained how to make the HTML5 media elements accessible, including accessible controls, captions, audio descriptions, and the new WebVTT file format. I ran out of time to introduce the last section of my slides which are on WebRTC.

Linux.conf.au

On the first day of LCA I gave a talk both in the Multimedia Miniconf and the Browser Miniconf.

Browser Miniconf

In the Browser Miniconf I talked about “Web Standardisation – how browser vendors collaborate, or not” (slides). Maybe the most interesting part about this was that I tried out a new slide “deck” tool called impress.js. I’m not yet sure if I like it but it worked well for this talk, in which I explained how the HTML5 spec is authored and who has input.

I also sat on a panel of browser developers in the Browser Miniconf (more as a standards than as a browser developer, but that’s close enough). We were asked about all kinds of latest developments in HTML5, CSS3, and media standards in the browser.

Multimedia Miniconf

In the Multimedia Miniconf I gave a “HTML5 media accessibility update” (slides). I talked about the accessibility problems of Flash, how native HTML5 video players will be better, about accessible video controls, captions, navigation chapters, audio descriptions, and WebVTT. I also provided a demo of how to synchronize multiple video elements using a polyfill for the multitrack API.

I also provided an update on HTTP adaptive streaming APIs as a lightning talk in the Multimedia Miniconf. I used an extract of the Drupal conference slides for it.

Main conference

Finally, and most importantly, Alice Boxhall and myself gave a talk in the main linux.conf.au titled “Developing Accessible Web Apps – how hard can it be?” (video, slides). I spoke about a process that you can follow to make your Web applications accessible. I’m writing a separate blog post to explain this in more detail. In her part, Alice dug below the surface of browsers to explain how the accessibility markup that Web developers provide is transformed into data structures that are handed to accessibility technologies.

February 08, 2012

February 05, 2012

Managing MySQL with Percona Toolkit by Frédéric Descamps

Frédéric Descamps of Percona.

Percona Toolkit is Maatkit & Aspersa combined. Opensource and the tools are very useful for a DBA.

You need Perl, DBI, DBD::mysql, Term::ReadKey. Most tools are written in Perl, and whatever is in Bash is being re-written in Perl. There is also a tarball or RPM or DEB packages.

Know your environment. The hardware & OS are crucial for you to know. How much memory/CPU do you use? Do you use swap? Is this a physical/virtual machine? Do you have free space? What kind of RAID controller? Volumes? Disk? What about the network interfaces? What IO schedulers are used? Which filesystem is the data stored on? To answer all that, just use pt-summary.

Know your MySQL environment. Version? Build? How many databases? Where is the data directory? What about replication? What are key InnoDB settings? Storage engine in use? Index type? Foreign keys? Full text indexes? To answer all this and more use pt-mysql-summary.

pt-slave-find shows you the topology and replication hierarchy of your MySQL replication instances. An inventory of replicas!

Where is my disk I/O going? Use pt-diskstats which is an improved iostat. There is pt-ioprofile but it can be dangerous in production.

Now its time to get more intimate with your database. Let’s try to find the answer to these questions: how are the indexes used? Are there duplicate keys? Which queries are eating most of the resources? You can use pt-duplicate-key-checker to check for duplicate/redundant indexes or foreign keys. pt-index-usage can tell you which indexes are unused. If you think you have bad SQL, check out pt-query-advisor.

You can use pt-query-digest to analyze the slow query log and show a profile of the workload. You mostly use this with slow query logs & tcpdump’s. Be careful when you have dropped packets — results may tend to be fake then!

After all this, its time to maintain your environment.

pt-deadlock-logger checks InnoDB status to log MySQL deadlock information. It needs to run continually to capture things.

pt-fk-error-logger extracts and logs MySQL foreign key errors.

pt-online-schema-change to alter tables. It makes a “shadow copy” and swaps them. Extremely useful for large, long-running ALTER. Facebook uses the same technique.

Validate your upgrades as upgrades are the leading cause of downtime. Are queries using different indexes? Is query execution plan different? New errors? See pt-upgrade for this. Best to run this on a third machine (i.e. the old machine and a new machine to see how it goes).

Verify replication integrity – pt-table-checksum. Perform an online replication consistency check or checksum MySQL tables efficiently on one or many servers. Use it routinely (mandatory for 95% of MySQL users). Put it in a weekly crontab. Repair differences with pt-table-sync.

Repair out-of-sync replicas – pt-table-sync

Measure delay acfurately – pt-heartbeat

Deliberately delay replication – pt-slave-delay

Watch & restart MySQL replication after errors – pt-slave-restart

When there are problems, get the symptoms when it hurts. Look at pt-stalk (wait for a condition to occur them begin collecting data – eg. everytime the threads go over 2,000 you have a problem, so it collects stuff – it calls pt-collect), pt-collect (collect information from a server for some period of time), and pt-sift.

pt-mext looks at many samples of MySQL SHOW GLOBAL STATUS side-by-side. Default STATUS shows counter since the MySQL instances started. It is very helpful to see a delta of recent activity.

The future: pt-query-digest will do query reviews; pt-stalk will do “magical fault detection algorithm”. Its all opensource and its all on Launchpad at lp:percona-toolkit.

Related posts:

  1. Practical MySQL Indexing guidelines by Stéphane Combaudon
  2. Replication features of 2011 by Sergey Petrunia
  3. MySQL synchronous replication in practice with Galera by Oli Sennhauser



Replication features of 2011 by Sergey Petrunia

Sergey Petrunia of the MariaDB project & Monty Program.

MySQL 5.5 GA at the end of 2010. MariaDB 5.3 RC towards the end of 2011 (beta in June 2011).

MySQL 5.5 is merged to Percona Server 5.5 which included semi-sync replication, slave fsync options, atuomatic relay log recovery, RBR slave type conversions (question if this is useful or not), individual log flushing (very useful, but not many using), replication heartbeat, SHOW RELAYLOG EVENTS. About 2/3rds of the audience use MySQL 5.5 in production, with only 2 people using semi-sync replication.

MariaDB 5.3 brings replication features brings group commit in the binary log, which is merged into Percona Server 5.5. Checksums for binlog events which is merged from MySQL 5.6. Sergey goes in-depth about the group commit for the binary log. To find out a little more about MariaDB replication changes, see Replication in the Knowledgebase.

There are several implementations of group commit. Facebook started it, followed by MariaDB & Oracle. Percona 5.5 is GA so the feature is there, its not in MySQL 5.6 (yet?), and MariaDB 5.3 is where its at. Seems like the MariaDB implementation is the best so far – refer to the Facebook benchmark performed by Mark Callaghan.

Annotated RBR poses a compatibility problem. MariaDB 5.3 has annotate_rows, while MySQL 5.6 has rows_query event. They are different events. So you cannot have a MariaDB 5.3 master and a MySQL 5.6 slave at this moment. So MySQL 5.6 will have a flag to mark “ignorable” binlog events which will be merged into MariaDB and this will make binary logs compatible again.

There is now also optimized RBR for tables with no primary key.

MySQL 5.6 also has crash-safe slave (replication information stored in tables). Crash-safe master (binary log recovery if the server starts & sees the binary log is corrupted). Parallel event execution is something that is new in MySQL 5.6 which is the most important feature for Sergey.

Pre-heating: There is mk-slave-prefetch (famous quote: “Please don’t use mk-slave-prefetch on #MySQL unless you are Facebook.”). There is replication booster by Yoshinori Matsunobu. There is a Python version of mk-slave-prefetch that Facebook uses.

Related posts:

  1. MariaDB 5.3 query optimizer by Sergey Petrunia
  2. Where is MariaDB today?
  3. Building simple & complex replication clusters with Tungsten Replicator by Giuseppe Maxia



MySQL Creatively in a Sandbox by Giuseppe Maxia

Giuseppe Maxia of Continuent and long time creator of MySQL Sandbox.

Only works on Unix-like servers. Works with MySQL, Percona & MariaDB servers. MySQL server has the data directory, the port and the socket – you can’t share these.

To use it: make_sandbox foo.tar.gz. Then just do ./use.

$SANDBOX_HOME is ~/sandboxes. You can also create ~/opt/mysql/ and if you have MySQL 5.0.91 binary in that directory, you can just do “sb 5.1.91″.

Sandbox has features to start replication systems as well. You can have varying master/slave setups with varying versions as well (good idea to test from MySQL -> MariaDB master->slave for migration).

You can now also play with tungsten-sandbox, which is a great way to start playing with Tungsten Replicator (see documentation and tungsten-toolbox). There is apparently also a MySQL Cluster sandbox tool that someone is working on.

 

Related posts:

  1. Building simple & complex replication clusters with Tungsten Replicator by Giuseppe Maxia
  2. MySQL HA reloaded by Ivan Zoratti
  3. MySQL synchronous replication in practice with Galera by Oli Sennhauser



Optimizing your InnoDB buffer pool usage by Steve Hardy

Steve Hardy of Zarafa.

Work that has been done to make Zarafa better. Why do you optimise your buffer pool? To decrease your I/O load. How can you do it? Buy more RAM, page compression, less (smaller) data, rearrange data.

MariaDB or Percona Server allows you to inspect your buffer pool (unsure if this is now available in MySQL 5.6). Giuseppe in the audience says this is available in MySQL 5.6, but Steve used this on MariaDB 5.2.

Strategies to fix it: Make records smaller. Remove indexes if you can use others almost as efficiently. Make records that are accessed around the same time have a higher chance of being on the same page. Use page compression. Buy more RAM. Try Batched Key Access (BKA) in MariaDB 5.3+.

Best to view the presentation since there are specific examples that speak about how Zarafa solves their problems like a user trying to sort their email, etc.

Related posts:

  1. Batched Key Access Join Previews available
  2. MariaDB 5.3 query optimizer by Sergey Petrunia
  3. MariaDB/MySQL users in Paris & Brussels



Practical MySQL Indexing guidelines by Stéphane Combaudon

Stéphane Combaudon of Dailymotion.

Index: separate data structure to speed up SELECTs. Think of index in a book. In MySQL, key=index. Consider that indexes are trees.

InnoDB’s clustered index – data is stored with the Primary Key (PK) so PK lookups are fast. Secondary keys hold the PK values. Designing InnoDB PK’s with care is critical for performance.

An index can filter and/or sort values. An index can contain all the fields needed for the query you don’t need to go to the table (a covering index).

MySQL only uses 1 index per table per query (not 100% true – OR clauses), so think of a composite index when you can. Can’t index TEXT fields (use a prefix). Same for BLOBs and long VARCHARs.

Indexes: speed up queries, increases the size of your dataset, slows down writes. How big is the write slowdown? Simple test by Stephane, for in-memory workloads he says adding 2 keys makes performance 2x worse; for on-disk workloads he says its 40x worse. Never neglect the slowdown of your writes when you have an index. There is a graph in the slidedeck.

What is a bad index? Unused indexes. Redundant indexes. Duplicate indexes.

Indexing is not an exact science, but guessing is probably not the best way to design indexes. Always check your assumptions – EXPLAIN does not tell you everything, time your queries with different index combinations, SHOW PROFILES is often valuable. Slow query log is a good place to start.

Many slides with examples, so I hope Stephane posts the deck soon. If possible, try to sort & filter (an index is not always the best for sorting).

InnoDB’s clustered index is always covering. SELECT by PK is the fastest access with InnoDB.

An index can give you 3 benefits: filtering, sorting, covering.

See Userstats v2 - you need Percona Server or MariaDB 5.2+. See also pt-duplicate-key-checker to find redundant indexes easily. See also pt-index-usage to help answer questions not covered by userstats.

Related posts:

  1. Sphinx user stories by Stéphane Varoqui
  2. Managing MySQL with Percona Toolkit by Frédéric Descamps
  3. MySQL Full Text Search by Alex Rubin



MySQL synchronous replication in practice with Galera by Oli Sennhauser

Oli Sennhauser of FromDual.

Synchronous multi-master replication with the Galera plugin. Your application connects to the load balancer and it redirects read/write traffic to the various MySQL Galera nodes. Tested a setup with 17 SQL nodes and you can have even more. Scaling reads and also a little bit for scaling writes is what Galera is good for.

If one node fails, the other two nodes still communicates with each other and the load balancer is aware of the failed node.

Why Galera? There is master-slave replication but its not multi-master, and its asynchronous and you can get inconsistencies. There is master-master replication but its asynchronous and can have inconsistencies and conflicts if you write on both nodes. MHA/MMM/Tungsten are not providing new technology but are based on the MySQL replication technology. MySQL Cluster is another solution but its not InnoDB storage & your need new know-how for Cluster. Also Cluster has problems with fast JOINs. Active/Passive failover clustering, but too often you have resources idling. Schooner being closed & expensive is hard to know much about what they’re doing.

Galera is synchronous & based on InnoDB (others should in theory be possible). Active-active real multi-master topology. True parallel replication on row level. Cluster speaks with each other. There is no slave lag. Won’t lose transactions. Read/write scalability, write throughput can be improved but can’t scale in the way like MySQL Cluster.

Disadvantages? Its not native MySQL binaries/sources but a patch. Codership provides binaries. Higher probability of deadlocks. When you do a full sync (like when a node comes back after downtime), one node is blocked. This is why the minimum you need a 3-node cluster. Also if you do a full sync with a database larger than 50GB, the recommended method is to use mysqldump (which can be very slow). You can use rsync. Percona is working on xtrabackup to do a full sync between nodes.

Setup: 3 nodes are recommended. Or just 2 nodes and one for garbd (Galera Arbitrator Daemon). 2 nodes works but pay attention to a split brain scenario. Go to the Codership website, download their binaries and wsrep (the Galera plug-in). Create your own user on all nodes (don’t use the default root user). You then need to configure my.cnf (there have been discussions for a galera.conf, but Oli just uses my.cnf). Galera works only with InnoDB, so in my.cnf make the default storage engine InnoDB (don’t for example, by accident have MyISAM tables).

The demo has a strange Galera start script, but its not been easy to work. Just start MySQL usually like you would do.

SST is Snapshot State Transfer (SST). Its the initial full sync between the 1st and the other node. SST blocks the donor node (hence why you need 3 nodes). With Galera v2.0, there is also incremental state transfer. It should be GA in February 2012. You can get deltas as opposed to the full sync. You can configure which will be the donor node.

Currently there are 27 variables about Galera in v1.1. You can do it just by doing SHOW GLOBAL VARIABLES LIKE ‘wsrep%’;. The plugin itself, wsrep_provider_options has plenty of options & plenty of room for tuning. SHOW GLOBAL STATUS LIKE ‘wsrep%’; currently has 38 status information fields in Galera v1.1.

For load balancing, you can do it in your application (on your own). You can also use Connector/J which provides load balancing. There is also a PHP MySQLnd that works.

Related posts:

  1. MySQL HA reloaded by Ivan Zoratti
  2. Ticketmaster thrives on MySQL Replication
  3. New MySQL 5.6 Features by Oli Sennhauser



Optimising SQL applications by using client side tools by Mark Riddoch

Mark Riddoch of SkySQL.

This was a talk about the future in general. What people would like. Etc. Not about something that exists yet, hence the sparse notes.

Trace statements are good for the “why”. You move on to the debugger, but what is a useful SQL debugger? Profilers addresses the “when”.

SQL developer tools: manually run queries (traditional route for development, effective way to test SQL statements, some indication of performance), server logs (alerts developers of serious issues like the slow query log – identify poorly written queries, requires server access, not effective in a cloud environment (?)), external monitoring (network sniffing of connection packets, Ethereal dissectors – allow individual connections to be traced, no server access, privileged network access, complex to interpret, possibility of packet loss), intrusive tools (insert “proxy” between client & server to intercept all traffic, imposes delay & requires setup modification).

Client-side tools – client modification or hook via connectors (query logging, profiling). The Java connector has profiling. Should there be a connector slow query log? So there’s no requirement for server access and its per client rather than per server.

Plans: roll out connector query logs for Java, C, and scripting languages built on Connector/C. SQL Parser for report generation/fuzzy matching. Create post-processing tools. Query log comparisons – detect fluctuation in execution time, plan flip alerting, replay log.

Related posts:

  1. Managing MySQL with Percona Toolkit by Frédéric Descamps
  2. Open source tools to run a small-medium sized business
  3. Practical MySQL Indexing guidelines by Stéphane Combaudon



Like advice columns? Check out Captain Awkward

I keep meaning to send the link to individual people I know, but then encountering a crucial etiquette problem, being that one cannot say “here’s an advice column you might like” without being heard as “here’s an advice column YOU NEED TO LISTEN TO BECAUSE YOU OUGHT TO FIX YOUR LIFE DO YOU HEAR ME?”

A broadcast medium is obviously the solution. Captain Awkward. Blogger gives advice, mostly about boundries.

MySQL Cluster by Ralf Gebhardt

Ralf Gebhardt of SkySQL.

Cluster: shared nothing architecture (no single point of failure), synchronous replication between nodes, ACID transactions, row level locking. In-memory storage (some data can be stored on disk, but indexes must be in-memory). Checkpointing to disk for durability. It supports two types of indexes – ordered T-trees, unique hash indexes. Online operations like adding node groups, software upgrades, table alterations. Quick standard architecture diagram displayed about MySQL Cluster.

Network partitioning protocol is designed to avoid a split brain scenario. Is there at least one node from each node group? If not then this part cannot continue – graceful shutdown. Are all nodes present from any node group? If so, then this is the only viable cluster – continue to operate. Ask the arbitrator – the arbitrator which parts will continue if no arbitrator is available the cluster shuts down.

Durability – in order for a node to recover fast some data is stored locally. The REDO log is synchronized by global checkpoints (GCP). The DataMemory is synchronized by local checkpoints (LCP).

I agree with Ralf — almost impossible to talk about NDB in 25 minutes. Its very deep, you’d need at least three hours to grasp it well.

Related posts:

  1. MySQL synchronous replication in practice with Galera by Oli Sennhauser
  2. Practical MySQL Indexing guidelines by Stéphane Combaudon
  3. Managing MySQL with Percona Toolkit by Frédéric Descamps



Building simple & complex replication clusters with Tungsten Replicator by Giuseppe Maxia

Giuseppe Maxia of Continuent.

MySQL replication is single threaded. Multi-master replication is complex with MySQL. Circular replication works but is very fragile. Once you’ve achieved the feat, how do you avoid conflicts? The lack of global transaction ID today also means you may have slaves that may not be synchronized fully. Finally, some people like to replicate to PostgreSQL, Oracle and MongoDB.

This is where Tungsten Replicator comes into place. Opensource. 100% GPLv2. You can do easy failover (no need to synchronize the slaves manually when a master dies), have multiple masters, multiple sources to a single slave, conflict prevention, parallel replication, and replicate to Oracle/PostgreSQL database (heterogeneous replication – Oracle->MySQL is not opensource, but MySQL->Oracle is).

Parallel replication: ability to replicate with multiple thread at once. Sharded by database (all big sites already use this naturally). Good choice for slave lag problems. Bad choice for single database projects. In their tests to measure slave catch up time between standard MySQL & Tungsten slave with 1hr of sysbench and some 130GB of data, MySQL replication takes 4.5h to catchup, and Tungsten takes less than 1 hour to catchup. This comparison was not made with MySQL 5.6 (the same parallel replication feature at this moment in 5.6 is quite buggy). No need to install Tungsten on the master (Tungsten needs to be on slave). Replication can revert to native salve with 2 commands, but the failover is an issue — so install Tungsten on both!

Conflict prevention. When you have multiple masters you are tempted to do many things that you shouldn’t. Tungsten provides the multi-master topology. Tungsten can help you avoid conflicts. Decide you want to shard your information by database – Tungsten can enforce such rules. Define the rules, applied to either the master or the slave and you can then state to make replication fail or drop silently or drop with a warning.

You can create clusters very quickly with Tungsten. You can install from a centralized point to many servers. You need Java, Ruby, SSH access and a MySQL user with all privileges (used for replication).

Related posts:

  1. MySQL Creatively in a Sandbox by Giuseppe Maxia
  2. MySQL HA reloaded by Ivan Zoratti
  3. Replication features of 2011 by Sergey Petrunia



How to offload MySQL server with Sphinx by Vladimir Fedorkov

Vladimir Fedorkov of Sphinx.

Presentation started out with a very nice presentation of candies to all the audience members.

What is Sphinx? Another (C++) daemon on your boxes. Can be queried via API (PHP, Python, etc.) or MySQL-compatible protocol and SQL queries (SphinxQL). Some query examples are in the slides, here’s one about SphinxSE in the KB.

MyISAM FTS is good but becomes slow with half a million documents. InnoDB has FTS now but he’s not tried it (and neither has anyone in the audience to see it compare with MyISAM FTS).

Geographical distance is the distance measuring the surface of the earth (two pairs of float values – latitude, longitude). In Sphinx, there is support for GEODIST(Lat,Long,Lat2,Long2) in Sphinx.

Segments are good for price ranges on a site, date ranges, etc. Use INTERVAL(field, x0, x1, …, xN).

Keep huge text collections out of the database. sql_field = path_to_file_text. Tell Sphinx to index text not from MySQL but out in the filesystem. Keep the metadata inside the database but keep the actual data outside of the database. max_file_field_buffer needs to be set properly.

You can do proximity search with Sphinx — find the words “hello world” within a ten word block, for example.

Resources: the documentation, a book by O’Reilly: Introduction to Search with Sphinx: From installation to relevance tuning (sold out at the FOSDEM O’Reilly booth!), and their community page including wiki, forum, etc.

Related posts:

  1. MySQL Full Text Search by Alex Rubin
  2. Sphinx user stories by Stéphane Varoqui
  3. Morning sessions at MySQL MiniConf



MariaDB 5.3 query optimizer by Sergey Petrunia

Sergey Petrunia of the MariaDB project.

What exactly is not working in MySQL? MySQL is poor at decision support/analytics. With large datasets you need special disk access strategies. Complex queries like insufficient subquery support and big joins are common int he MySQL world.

DBT-3 is used, scale=30, with a 75GB database and run a query “average price of item between a range of dates”. Query time took some 45 minutes to execute. Why? Run iostat -x to see what is going on. See that the CPU is mostly idle, so its an IO-bound load. Next you run SHOW ENGINE INNODB STATUS and you’ll see how many reads per second is happening. Possible solution is to get more RAM or get an SSD (good to speedup OLTP workloads, but analytics over data is probably not viable since SSDs are small and not cheap).

The MySQL/MariaDB solution to the above problem is improved disk access strategies: multi-range read (MRR) and batched key access (BKA). In MariaDB, MRR/BKA need to be enabled (they are not turned on by default). The query time only took 3 minutes 48 seconds, which is some 11.8x faster than the previous 45 minutes.If you look at EXPLAIN output, its almost as same as before, expect the Extra filed. iostat -x will now show some CPU load, svctm down as well (so its not random disk seeks anymore — some 8ms seek time on a regular 7,200rpm disk), SHOW ENGINE INNODB STATUS will show some 10,000 reads per second rather than the previous 200.

If you are on Fedora, check out the Systemtap feature to look at I/O patterns. stap deviceseeks.stp -c “sleep 60″.

Subqueries handling in MariaDB 5.3: check out the Subquery Optimizations Map. Only about 10% of the audience use optimizer hints in MySQL.

Related posts:

  1. Replication features of 2011 by Sergey Petrunia
  2. MariaDB 5.1.42 released!
  3. MariaDB 5.1.44 released



MySQL HA reloaded by Ivan Zoratti

MySQL HA reloaded – old tricks and cool new tools to guarantee high availability to your MySQL Servers by Ivan Zoratti of SkySQL. This talk is a little longer, so check out: HA Reloaded – many ways to provide High Availability. The slides are already online.

Questions to ask: which level of high availability do I need? Do I require no loss of data? Do I need failover or is switchover enough? Can I provide a reasonable service when a component is down? Remember, five nine’s high availability also means a lot of infrastructure costs.

Other things to clarify: availability vs scalability. HA costs. HA for your entire architecture, not just for your database servers. Review your SLAs.

The best high availability solution today is combined solutions.

MySQL replication – asynchronous & semi-synchronous (lots of people use MySQL 5.5, about 4 people in room were on Percona Server – question asked due to semi-sync replication only being available in 5.5 & greater), there are pros & cons of row based replication vs statement based replication.

MySQL Replication via Multi-Master replication Manager (MMM). Features such as monitoring, automatic failover, data backup & resync. Unfortunately, it has some problems with the stability & automatic failover. The project is not improved anymore, so there are other solutions that you should consider today.

MySQL Replication with MHA is a preferred solution. Something to consider: –read-only=1 and log-bin on slaves. Master IP failover. FIltering rules. Multi-tier replication.

Tungsten Replicator – open source, heterogenous replication. Truly multi-master and fan-in with Global ID. Per-schema multi-thread. You can also use it to replicate to Postgresql, Oracle and other databases. There is also Tungsten Enterprise.

Synchronous replication with DRBD is typical for active/standby environments. People don’t really like this because they feel that there is a server doing nothing. You can always do it active/passive. It works with InnoDB only.

Synchronous replication with Galera works for InnoDB. Its multi-master with no SPOF. Its new/young technology so you may find some issues with it. Application failover must be managed, but the conflict resolution is quite tricky (when you commit a transaction you might be fine, but you may have transactions that are removed due to conflicts).

There is a commercial SchoonerSQL that provides synchronous master-slave replication for InnoDB. Its defined explicitly as a master-slave solution.

Active/Passive clusters using Shared Storage. Points to consider are the fact that redundancy & replication must be guaranteed by the shared storage. InnoDB only. What about filesystems?

Virtualized environments – data storage, high availability & load balancing are provided and managed by the virtualized software. The faults are handled by the software, not the database.

There is also geographical replication for disaster recovery, having a master-master asynchronous replication is used to update the backup data centre. There is also storage snapshots for disaster recovery (not-specific to MySQL, its storage systems based, use only InnoDB).

There is also MySQL Cluster but there is another presentation about this later at FOSDEM. Very nice closing slide, “The absolutely necessary comparison chart” which some may disagree, but Ivan thinks is the best way forward.

Related posts:

  1. MySQL synchronous replication in practice with Galera by Oli Sennhauser
  2. MySQL at Google
  3. Building simple & complex replication clusters with Tungsten Replicator by Giuseppe Maxia



Sphinx user stories by Stéphane Varoqui

Stephane Varoqui, Field Services SkySQL, Vlad Fedorkov, Director of PS, Sphinx Inc, Christophe Gesche, LAMP Expert, Delcampe, Herve Seignole, Web Architect, Groupe Pierre & Vacances Center Parcs – this is a big talk!

Pros: Filtering takes place on attributes in separate tables. Rely on the optimizer choice. HASH JOIN can help (MariaDB 5.3). Table elimination can help (MariaDB 5.2). ICP Index Condition Pushdown can help (MariaDB 5.3/MySQL 5.6). Max 80M documents at Pixmania, all queries come in less than 1s using 128GB of RAM (MariaDB 5.2). At PAP.fr, there is 16GB RAM with MariaDB 5.2.

Cons: CPU intensive (replication with many slaves). Need covering indexes to cover various !filter !order. Join & sorting cost on lazy filtering.

The more indexes you have in the system, the more you need to increase the main memory of the server. Keep the Btree’s in memory.

What about denormalized schemas? Not really CPU intensive, just IO. Can go to disk, full partition scan with filtering taking place on record order using covering index. Can shard but not that easy. Use the spider storage engine or shard-query. Can use memory engine for isolation. There are cons like duplicate data, duplicate indexes, missing material views, merge index cost, impact on write performance, and can consume a lot of memory with many indexes.

MySQL can push hardware, so read less/do less/read serialized/map reduce to get better latency. Chose data type wisely, replace string with numeric, vertical & horizontal sharing, snowflake compression (combination of attributes, build a table of the combination and replace it with an ID). If you are lazy, just use Sphinx!

Sphinx is just another daemon that can serve queries. Its easy to setup, easy to scale, storage engine makes it accessible to current MySQL users, API in core MariaDB (SphinxSE), SphinxQL, SphinxSE is transparent to the application layer of MySQL protocol.

Demo done using the Employees DB.

Pierre & Vacances – Centerparcs. Free text search, they use MariaDB using Levenshtein UDF implementation. Went live 01/2011. First implementation of Sphinx (12 indexes). Its grown, they use PHP API. The new goal is to never send an empty result. 1 index per website/market, with a total of 15 million docs. Index built on standalone server. Using internal gearman job schedule to generate index before cache generated. Current monitoring is via Nagios & perl, but the next step is to use Monyog & MariaDB INFORMATION_SCHEMA plugin.

Delcampe is an auction website with 45M ‘active’ items. Its dedicated for collectors. 3 string fields, and 15 attributes. 40-120K new items daily. Started with mysql fulltext in 2007, moved to Sphinx in 2008. There was a need to have more filters. Now they have 5 sphinx servers + 1 MySQL server. HAproxy to load balance.

Related posts:

  1. Practical MySQL Indexing guidelines by Stéphane Combaudon
  2. How to offload MySQL server with Sphinx by Vladimir Fedorkov
  3. MySQL Full Text Search by Alex Rubin



New MySQL 5.6 Features by Oli Sennhauser

First talk at FOSDEM MySQL Devroom by Oli Sennhauser, of FromDual. Quick notes/liveblog of the talk, plus links from a quick search.

New Release Model: starts with at least in beta quality, milestone releases are RC quality (every 3-6 months), between milestones new features are allowed, GA releases every 12-18 months, no more than 2 releases in active support. There is also MySQL Labs, in where features can make it into a release model, but not necessarily.

Oli’s guess: MySQL 5.6 GA in April 2012 (Collaborate) or June 2012. As a consequence, MySQL 5.0 and MySQL 5.1 will be EOL probably by April this year.

New improvements in partitioning: explicit partition selection, exchanging partitions (good for ETL jobs).

New improvements in InnoDB: InnoDB INFORMATION_SCHEMA has got some new entries. Buffer (INNODB_BUFFER), Fulltext (INNODB_FT), Metrics (INNODB_METRICS), Data Dictionary (INNODB_SYS). The InnoDB Monitor is now obsolete. innodb_purge_threads can be set > 1. Kernel mutex split which should lead to improved concurrency. Persistent optimizer statistics (since InnoDB used to do random dives, so when you do a mysqldump, things can be different) – you can do SET GLOBAL innodb_analyze_is_persistent = 1; (read more: InnoDB Persistent Statistics at last, InnoDB Persistent Statistics Save the Day).

New improvements in optimizer: ORDER by on non-indexed columns, Multi Range Read (MRR), Index Condition Pushdown (ICP), query execution plan for DML statements, Batched Key Access (BKA). There is also optimizer tracing.

There is now some new instrumentations in Performance Schema (introduced in MySQL 5.5). There is also improved replication features, but that will be covered in a later talk.

Fractional seconds (microseconds) is introduced in MySQL 5.6. GET DIAGNOSTICS for stored procedures. Pluggable authentication (socket). memcached/InnoDB still in labs, hasn’t made it to a milestone release. Some 400+ bugs have been fixed. Lots of cleanup’s (old unused variables, commands removed).

Pay attention to MySQL 5.6 incompatible changes when you plan to upgrade.

Probably some good resources: What’s New in MySQL 5.6, MySQL 5.6 (Early Access Features) – InnoDB & Replication.

Related posts:

  1. MySQL synchronous replication in practice with Galera by Oli Sennhauser
  2. MySQL HA reloaded by Ivan Zoratti
  3. MariaDB/MySQL users in Paris & Brussels



February 04, 2012

February 01, 2012

Creating an Education Programme

OLPC Australia had a strong presence at linux.conf.au 2012 in Ballarat, two weeks ago.

I gave a talk in the main keynote room about our educational programme, in which I explained our mission and how we intend to achieve it.

Even if you saw my talk at OSDC 2011, I recommend that you watch this one. It is much improved and contains new and updated material. The YouTube version is above, but a higher quality version is available for download from Linux Australia.

The references for this talk are on our development wiki.

Here’s a better version of the video I played near the beginning of my talk:

I should start by pointing out out that OLPC is by no means a niche or minor project. XO laptops are in the hands of 8000 children in Australia, across 130 remote communities. Around the world, over 2.5 million children, across nearly 50 countries, have an XO.

Investment in our Children’s Future

The key point of my talk is that OLPC Australia have a comprehensive education programme that highly values teacher empowerment and community engagement.

The investment to provide a connected learning device to every one of the 300 000 children in remote Australia is less than 0.1% of the annual education and connectivity budgets.

For low socio-economic status schools, the cost is only $80 AUD per child. Sponsorships, primarily from corporates, allow us to subsidise most of the expense (you too can donate to make a difference). Also keep in mind that this is a total cost of ownership, covering the essentials like teacher training, support and spare parts, as well as the XO and charging rack.

While our principal focus is on remote, low socio-economic status schools, our programme is available to any school in Australia. Yes, that means schools in the cites as well. The investment for non-subsidised schools to join the same programme is only $380 AUD per child.

Comprehensive Education Programme

We have a responsibility to invest in our children’s education — it is not just another market. As a not-for-profit, we have the freedom and the desire to make this happen. We have no interest in vendor lock-in; building sustainability is an essential part of our mission. We have no incentive to build a dependency on us, and every incentive to ensure that schools and communities can help themselves and each other.

We only provide XOs to teachers who have been sufficiently enabled. Their training prepares them to constructively use XOs in their lessons, and is formally recognised as part of their professional development. Beyond the minimum 15-hour XO-certified course, a teacher may choose to undergo a further 5–10 hours to earn XO-expert status. This prepares them to be able to train other teachers, using OLPC Australia resources. Again, we are reducing dependency on us.

OLPC Australia certifications
Certifications

Training is conducted online, after the teacher signs up to our programme and they receive their XO. This scales well to let us effectively train many teachers spread across the country. Participants in our programme are encouraged to participate in our online community to share resources and assist one another.

OLPC Australia online training process
Online training process

We also want to recognise and encourage children who have shown enthusiasm and aptitude, with our XO-champion and XO-mechanic certifications. Not only does this promote sustainability in the school and give invaluable skills to the child, it reinforces our core principle of Child Ownership. Teacher aides, parents, elders and other non-teacher adults have the XO-basics (formerly known as XO-local) course designed for them. We want the child’s learning experience to extend to the home environment and beyond, and not be constrained by the walls of the classroom.

There’s a reason why I’m wearing a t-shirt that says “No, I won’t fix your computer.” We’re on a mission to develop a programme that is self-sustaining. We’ve set high goals for ourselves, and we are determined to meet them. We won’t get there overnight, but we’re well on our way. Sustainability is about respect. We are taking the time to show them the ropes, helping them to own it, and developing our technology to make it easy. We fundamentally disagree with the attitude that ordinary people are not capable enough to take control of their own futures. Vendor lock-in is completely contradictory to our mission. Our schools are not just consumers; they are producers too.

As explained by Jonathan Nalder (a highly recommended read!), there are two primary notions guiding our programme. The first is that the nominal $80 investment per child is just enough for a school to take the programme seriously and make them a stakeholder, greatly improving the chances for success. The second is that this is a schools-centric programme, driven from grassroots demand rather than being a regime imposed from above. Schools that participate genuinely want the programme to succeed.

OLPC Australia programme cycle
Programme cycle

Technology as an Enabler

Enabling this educational programme is the clever development and use of technology. That’s where I (as Engineering Manager at OLPC Australia) come in. For technology to be truly intrinsic to education, there must be no specialist expertise required. Teachers aren’t IT professionals, and nor should they be expected to be. In short, we are using computers to teach, not teaching computers.

The key principles of the Engineering Department are:

  • Technology is an integral and seamless part of the learning experience – the pen and paper of the 21st century.
  • To eliminate dependence on technical expertise, through the development and deployment of sustainable technologies.
  • Empowering children to be content producers and collaborators, not just content consumers.
  • Open platform to allow learning from mistakes… and easy recovery.

OLPC have done a marvellous job in their design of the XO laptop, giving us a fantastic platform to build upon. I think that our engineering projects in Australia have been quite innovative in helping to cover the ‘last mile’ to the school. One thing I’m especially proud of is our instance on openness. We turn traditional systems administration practice on its head to completely empower the end-user. Technology that is deployed in corporate or educational settings is typically locked down to make administration and support easier. This takes control completely away from the end-user. They are severely limited on what they can do, and if something doesn’t work as they expect then they are totally at the mercy of the admins to fix it.

In an educational setting this is disastrous — it severely limits what our children can learn. We learn most from our mistakes, so let’s provide an environment in which children are able to safely make mistakes and recover from them. The software is quite resistant to failure, both at the technical level (being based on Fedora Linux) and at the user interface level (Sugar). If all goes wrong, reinstalling the operating system and restoring a journal (Sugar user files) backup is a trivial endeavour. The XO hardware is also renowned for its ruggedness and repairability. Less well-known are the amazing diagnostics tools, providing quick and easy indication that a component should be repaired/replaced. We provide a completely unlocked environment, with full access to the root user and the firmware. Some may call that dangerous, but I call that empowerment. If a child starts hacking on an XO, we want to hire that kid :)

Evaluation

My talk features the case study of Doomadgee State School, in far-north Queensland. Doomadgee have very enthusiastically taken on board the OLPC Australia programme. Every one of the 350 children aged 4–14 have been issued with an XO, as part of a comprehensive professional development and support programme. Since commencing in late 2010, the percentage of Year 3 pupils at or above national minimum standards in numeracy has leapt from 31% in 2010 to 95% in 2011. Other scores have also increased. Think what you may about NAPLAN, but nevertheless that is a staggering improvement.

In federal parliament, Robert Oakeshott MP has been very supportive of our mission:

Most importantly of all, quite simply, One Laptop per Child Australia delivers results in learning from the 5,000 students already engaged, showing impressive improvements in closing the gap generally and lifting access and participation rates in particular.

We are also engaged in longitudinal research, working closely with respected researchers to have a comprehensive evaluation of our programme. We will release more information on this as the evaluation process matures.

Join our mission

Schools can register their interest in our programme on our Education site.

Our Prospectus provides a high-level overview.

For a detailed analysis, see our Policy Document.

If you would like to get involved in our technical development, visit our development site.

Credits

Many thanks to colleagues Rangan Srikhanta (CEO) and Tracy Richardson (Education Manager) for some of the information and graphics used in this article.

January 31, 2012

MariaDB/MySQL users in Paris & Brussels

I’m about to head to Paris to present at the February meetup of the MySQL User Group in Paris, France. It happens 1st February from 6-8pm at the Patricks Irish Pub. Its free to attend, and I understand that SkySQL keeps this event afloat.

I’m also heading to my first FOSDEM right afterwards and will definitely hang out at the MySQL & Friends Devroom. There is an amazing lineup of speakers, with all talks being about 25-30 minutes, it looks like it is going to be a lot of fun. To boot, Michael “Monty” Widenius will also be there, so expect lots of Salmiakkikossu.

If you want to keep track of where Monty Program folk are going to be to talk about MariaDB, make sure you’re subscribed to our news page, which also includes important release information. Pretty much every conference that we plan to attend (and have attended) is at the conference page.

I am looking forward to meeting & learning from many MariaDB/MySQL users!

Related posts:

  1. Using MariaDB in production?
  2. OpenSUSE users have a choice of database now!
  3. Plugins & Storage Engines Summit for MySQL/MariaDB



Movies, January 2012

I’ve been on a plane quite a lot this month. Consequently caught quite a bunch of movies.

  • A Good Year – a romantic drama with Russell Crowe.
  • One Day – I like Anne Hathaway but this show is probably not one of her best. They pick moments from one day every year for some twenty years. Male star gets out of whack when she passes. Makes you always remember to seize the day. Carpe diem. Sometimes the best things in life are standing right in front of you.
  • What’s your number? – romantic comedy, just to pass the time over a meal
  • Killer Elite – most of Jason Statham’s movies tend to be action packed and this one is no exception. It’s based on a true story. I highly recommend watching this.

In non-movies, it’s worth noting that Californication is back! I’ve learned to watch Community, seems season 1 & 2 are complete so they are easy to watch back-to-back.

Related posts:

  1. How I watch TV/movies in 2011
  2. movies, march 2007
  3. On killing Hollywood



January 30, 2012

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)

wget ftp://timburgess.net/repo/clearos/5.2/os/timb-release-1-0.noarch.rpm

rpm -Kv timb-release-1-0.noarch.rpm

rpm -Uvh timb-release-1-0.noarch.rpm

ref http://www.clearfoundation.com/docs/howtos/adding_tim_s_repo

yum --enablerepo=timb install kmod-atl1e

ref http://www.clearfoundation.com/component/option,com_kunena/Itemid,232/catid,28/func,view/id,24438/limit,10/limitstart,50/

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.

January 29, 2012

January 28, 2012

Walktime Blog #19: No dominant Open Source home automation projects?

If you're just getting into home automation and go searching for Open Source HA projects, you'll discover there aren't any obviously dominant players - more a mix of partly-developed personal projects that aren't very portable. Why is that?

View or comment directly on YouTube: www.youtube.com/watch?v=Ywulcl_PCUM

Links for this ep:

 * Allison Randal: www.twitter.com/allisonrandal

 * Desktop Home Hacks: www.youtube.com/watch?v=a8asl5SsGy4

 * Mister House: misterhouse.sourceforge.net

 * Open Remote: www.openremote.org

 * SuperHouseTV: www.superhouse.tv

January 27, 2012

Walktime Blog #18: Interview with Marco Ostini at LCA2012

Despite Australia's strong involvement in the early history of space exploration, we're now lagging way behind many far smaller nations in our commitment to the industry. At linux.conf.au 2009 in Hobart, Marco Ostini gathered together a group of like-minded people to create Lunar Numbat: a project to develop Open Source space technology as part of the White Label Space team competing for the Google Lunar X-Prize. At linux.conf.au 2012 in Ballarat I managed to pin him down long enough to film this interview.

View or comment directly on YouTube: youtu.be/6PQ6mIEmKfc

Links for this ep:

 * Marco Ostini: www.twitter.com/marcoostini

 * Lunar Numbat: www.lunarnumbat.org

 * White Label Space: www.whitelabelspace.com

 * Google Lunar X-Prize: www.googlelunarxprize.com

Walktime Blog #17: Interview with Matt Evans at LCA2012

At linux.conf.au 2012 I had the good fortune of meeting up with old friends and also making new ones, including the amazingly talented Matt Evans. Matt did a great talk called "Hack Everything: Re-Purposing Everyday Devices", so I caught up with him briefly afterwards to talk to him about it.

View or comment directly on YouTube: www.youtube.com/watch?v=BIQl0u-YZ5s

January 26, 2012

QotD: Jon Corbet on linux.conf.au and Linux Australia

In summary, LCA remains unique in its combination of strongly technical talks, freedom-oriented and hands-on orientation, wide variety of topics covered, and infectious Australian humor. There is a reason some of us seem to end up there every year despite the painful air-travel experiences required. Linux Australia has put together a structure that allows the conference to be handed off to a new team in a new city every year, bringing a fresh view while upholding the standards set in the previous years.

– LWN’s Jon Corbet on linux.conf.au, An LCA 2012 Summary

January 22, 2012

Popular Malaysian passwords (sample size=75,000)

I just read that about 100,000 most likely Malaysian Facebook accounts have been cracked. Well their passwords are available for all to see in pastebin. Upon checking, I only saw a little over 75,000 since the third file has been compromised. From that sample, I quickly derived that the most popular Malaysian passwords are:

  1. 123456
  2. sayang
  3. brokenheart
  4. 123456789
  5. rozaliqa75
  6. effaluve
  7. akucintaallah
  8. zzz999
  9. pradeebkumar123$%
  10. 12345678

The least popular ones in that sample set include having spaces, hashes, brackets, and more. So there are some secure ones!

Using one’s phone number seems to also be popular. Sometimes appending or pre-pending a string (like a name) to it. Using birthdays seems to also be quite common, sometimes also appending or pre-pending a string like a name to it.

And for those wanting to “further analyse” the dataset yourself, I just quickly used standard Unix tools, and you can do it too.

grep "Password:" part_* | awk -F":" '{print $3}'| sort | uniq -c |sort -n

Pipe to less, use head/tail, etc.

Related posts:

  1. Malaysian politicans need to focus on the economy, not power plays
  2. Pompous Malaysian Minister discourages immersion in Western-created sites such as Facebook, Twitter
  3. learn2scale – what’s up with Malaysian news sites? Will the cloud work for them?



On killing Hollywood

Paul Graham recently published a new request for startups titled Kill Hollywood. It is definitely worth reading. The motivations behind such thoughts are clear. Filesharing is not killing the movie & TV industry.

“What’s going to kill movies and TV is what’s already killing them: better ways to entertain people.

Better ways to entertain people. This thought has been sitting in my head for the last couple of days while I’m just a stones throw away from Hollywood & have a pretty good view of the Hollywood Hills from outside my window. The RFS goes into more detail about games, apps, the possibility that exercise might take over, but to think broadly and figure out where the entertainment of folk are going to in the next twenty years.

The studios are making less profits because the way Hollywood is structured. This is why Sarah Lacy says to kill Hollywood, you’ve got to learn their game. Someone like Ryan Kavanaugh is using math to beat Hollywood at their own game — you may have seen Relativity Media, and that’s the company who’s funding many successful movies today. Sarah Lacy sums up the content game that will help us win against Hollywood fairly well:

“The lesson: Eyeballs aren’t equivalent to one another. For Hollywood to be killed, the Internet needs to focus on a metric other than eyeballs. It’s not about mass, it’s about good. That’s absolutely anti-YouTube and anti-Farmville and any other content which we expect to be rapid, mass and disposable. Disposable content isn’t bad, it’s just not everything. And as long as that’s all that the Valley is putting out, we won’t kill Hollywood.”

There is an experience of going to the cinema in where I am happy to pay USD$12 or RM25 for a seat. In the USA I believe in the ratings system, but in Malaysia where I watch most of my movies I feel cheated by the censorship board. But I still go and spend cash because there’s an experience. However I’ve noticed my TV & movie watching habits have changed — I wrote about how I consume Hollywood in 2011. I believe that in Malaysia (and most of Asia), one is forced towards looking at content via filesharing. Because Hollywood hasn’t grown up and they believe in making money from regions, delaying releases by regions, etc. Traditional models.

Of late I’ve quite enjoyed watching the Sundance channel on cable. On Friday in the USA Today, Robert Redford, founder of the channel and the film festival had this to say: “With the new technology creating all the voices and noise from bloggers and tweeters, it’s chaos,” Redford says. “Where are you going to get the real truth with so many loud voices barking? I look to documentaries as almost investigative journalism.”

That covers a set of genres. But independent films rarely cover comedy, action, etc.

People get entertained by different things. At different times. Some days a romantic comedy makes sense. Some days a chick flick is all that gets you going. Then you’ve got days when action is all you crave. And the list can go on…

So what are better ways to entertain people? Games? Interactive movies? How does everyone get paid fairly when you get away from the big studios? Do production costs then go down when you bypass them?

This is why people love the Cheezeburger Network. Or 9gag. These are new ways for people to entertain themselves. However the metric there is eyeballs and the content is disposable. People need substance to entertain them. I once said that paying $10 for Plants vs Zombies provided me with a lot more entertainment on my iPad than going to maybe 2-3 feature length movies.

I’m still thinking about different ways for people to consume media. Different ways for people to sink their time in. And I presume I’ll be thinking about this for long.

As an aside, don’t assume that independent media folk get “new media” either. Classic examples in Malaysia would be Nasi Lemak 2.0 and Relationship Status. Nasi Lemak 2.0 stars the controversial Namewee, who not only made the movie on the cheap (independently), he went on to getting it in cinemas and also at the same time did the entrepreneurial thing of in tandem getting it showing on cable TV. This subsequently got his movie pulled from the cinemas in question, rather abruptly. He disrupted the cinemas and the cinemas reacted in their traditional methods to pull his movie. But even today, you can’t buy a DVD or download a digital version… Even if you’re willing to pay for it (I know I am). More recently, Khairil M. Bahar made Relationship Status; however still with the traditional model of going to the cinema. No DVDs. No downloadable digital version. Its worth noting that I’d pay RM35-40 for a digital download (though I don’t think that might be everyone’s price point – experimentation needs to happen clearly).

Its sad to see that even young independent film producers aren’t moving where their audience is moving to. They’re thinking like studios are thinking. They need to be disrupted. After all, these Malaysian producers are forgetting that there is such a large portion of the Malaysian diaspora spread across the world whom are unlikely to step into Malaysian cinemas anytime soon. Imagine a day when I can read a review about the show, then automatically click on a link that allows me to either stream the movie now or download a copy. If it is a service that has my credit card details on file, this is a seamless process; if its individuals, I just checkout via PayPal, and am either seeing the movie on my TV or waiting half an hour or so for the download so I can pop it on my iPad.

Back to the drawing board. There are better ways to entertain people. There are better ways for consumption of media & content.

Related posts:

  1. How I watch TV/movies in 2011
  2. Digital Media Consumers
  3. qotd



January 20, 2012

LCA2012 – Friday after lunch

Codec 2 – David Rowe

  • Open speech Codec. Low bitrate 2400 b/s down to 1400 b/s
  • Applcations for digital radio
  • Fills <5000 b/s gap
  • http://rowetel.com/codec2.html
  • Not a DSP talk
  • Can send 45 calls inside 64 kb/s chanel
  • Not useful for VOIP due to IP/UDP overhead of 8kb/s on 1400b/s data
  • Main use radio spectrum. Less data = less power required since your power gets concentrate on less bits
  • doesn’t matter too much if odd packet dropped
  • proprietary codecs slowing digital voice over radio
  • Proprietary codes: hardware or licensed software form, difficult to distribute, can’t modify
  • Example g729 license $40k. Doesn’t believe closed source codecs benefit society
  • Authors of propriety/patented codecs borrowed heavily from public domain. perhaps 5% is original. Good news is only 5% needs to be replaced
  • Speech coding: eg 16bit samples at 8kHz, comprss to 1400-2400 b/s . What can we thrown away, retain intelligible speech, retain natural speech. Use a model of speech, send model parameters, for effecient than coding waveform
  • Model: example is pitch, humans 50-500 Hz , can be represented with 7 bits, updated every 20ms 7/0.02 = 350b/s to represent pitch
  • Codec 2 uses Sinusoidal speech coding. Multiple Sine waves added togeather
  • Bit allocation: 56bits every 40ms. Of these: Amplitude 32 , Frame energy 10 , voicing 4, pitch 10
  • Developing Codecs: complex DSP algorithms, run codecs in non-realtime, dump values from codecs every “frame” ( 80 samples, 10 ms of speech) . Gnu Octave
  • Banned exports list includes ” Speech codecs below 2400 b/s ” . Have been advised by DECO that Codec 2 has “assessed as not controlled” but waiting for certificate
 

UEFI and Linux – Matthew Garrett

  • Replacement for PC BIOS
  • BSD licensed core
  • Adds standardized support for new hardware features
  • Platform init
  • EFI image load – loaded drivers
  • EFI OS loader load – oot from ordered list of EFIOS loaders
  • Boot services terminate -> OS handover
  • Boot services – memory allocation, timers, image loading, GUIDs.
  • Runtime services – non-volatile variable store, boot data, system information, crash dumps (already in Linux 3.2)
  • Able to update firmware by reset and grab new firmware out of variables on bootup
  • GPT – GUID partition table – no practical restrictions on size and number – more metadata about partition type and service
  • That all sounds good …. but ….
  • TianoCore – Open Intel reference UEFI reference implementation, 7061 files, >100MB of code, 10% of size of Linux kernel. Bigger than Linux core kernel
  • Large codebase, some bugs
  • UEFI is poorly tested in the real world. UEFI contains a lot of code. UEFI contains a lot of bugs
  • Some problems with secure boot :)

LCA2012 – Friday Morning

Bloat: How and Why UNIX Grew Up (and Out) – Matt Evans and Rusty Russell

  • Cool projects: spark, plover, Homebrew Cray-1A
  • Compare PDP-11 Unix vs Modern Ubuntu 11.10
  • Binary sizes: cat 152 bytes vs  531k KB
  • grep command: 2176 bytes vs 687 KB
  • ls command: 4904 bytes vs 628 KB
  • V6 cat command just 12 lines of assembler, 2 * 512bytes buffers, a.out 16 bytes overhead
  • Binaries 30% because we chose speed over size. ~9% speed gain
  • V6 Runtime coverage: cat 99% , grep 78%, ls 85%
  • V7 has reduced coverage. some commands converted from assembler to C
  • x86 runtime with dietlibc coverage: cat 11% , grep 23% , ls 39%
  • x86 static cat has 700k of libc dependencies, 17% of libc, 313 objects it depends on
  • libc 1.7M but widely shared among hundreds of processes
  • dynamic ls accesses 90k of libc but 476kB paged in.
  • For sample system. libwebkit 8.5MB , 5MB wasted, 33MB wasted real RAM
  • What about a 64Bit version of a PDP-11 – a PDP-11 . Various assumptions on how binary size would increase
  • PDP-44 – binaries around 50% larger
  • 32 bit ubuntu binaries are 9% smaller than 64 bit ubuntu
  • Forward port V6 binaries to x86 . V6 cat almost same size as dietlibc version
  • More work to forward port V6 ls, lots of assumptions not longer true. Code tricks no longer work. 20% larger cause of ELF and nmap. 120% penalty due to modern infrastructure (eg malloc realloc)
  • Backport x86 “ls” and “cat” to V6. Only backport some options
  • cat: remove old options and error reporting. Kept some features.
  • ls: remove lots of options.
  • Binaries 60% larger due to flexibility
  • 440% bloat due to new features
  • Asmutls – reimplementation of current Linux utils in x86 assembler.
  • The talk is online, hard to do notes since it jumped around a lot and graphs hard to read
 

Open vSwitch – Simon Horman

  • Switch contains ports, ports has one of more interface, packets are forwarded by flow
  • Flows may be identified by lots of combos, address, vlan, ports, TOS
  • 1st packet in flow gets sent to userspace controller, controller makes decision, tells datapath what to do with future packets, resends first packet back to datapath. Later packets the datapath knows what to do (from hashtable lookup) and handles itself
  • Configured by JSON database, persists across restarts
  • database controlled via Unix socket or via TCP. Change action won’t return until database update performed
  • cute ” –may-exist ” options when creating stuff that does nothing if what you are requested already exists
  • He did some demos of standard sort of stuff, truck interfaces, port mirroring, fairly simple commands to do
  • Does VXLAN and GRE tunnels
  • Oracle looking to put in Oracle Linux soon to replace current bridging code
  • Can do millions of packets per second. Some bottlenecks in tunneling code

January 19, 2012

LCA2012 – Thursday last session

Challenges for the Linux plumbing community – Jonathan Corbet

  • Good news is boring, so how about some “high quality problems”
  • Security
  • Stuxnet , kernel.org , RSA hack , DigiNotar
  • Scary ones are there must be others we haven’t heard about
  • The bad guys are: motivated, capable, well funded. Not just script kiddies
  • Not just about money anymore, with governments hacking lives are at stake
  • We are on the front line. Not just security software, all code security critical
  • Is your code secure? Who reviews it? What sort of testing? Plans for dealing with vulnerabilities?
  • Is your infrastructure secure? – Who has access, who can change files? Are security updates applied? What are your plans in case of a breach?
  • Are your processes secure? Who can commit? What can sign releases? Can you detect tampering? What do they know about the codes provenance?
  • Tools
  • Lockdep, valgrind, fault injection, sparse, smatch
  • GCC python plugin, MELT, LLVM static analyzer
  •  and need to actually use the tools that exist
  • Hardware
  • hardware complexity leads to software complexity
  • Complex interfaces: example V4L3 media controller interface.
  • Control over our hardware
  • Life is okay (could be better, could be worse)
  • What is our influence over manufacturer?
  • Example: Chasing tablet manufactures , no influence on design, have to port after device launched
  • Example: By the time “Rock Box” runs on a device device is obsolete and not in shops
  • How can we be more involved in conception and design of hardware in the first place?
  • Linux Only
  • Once upon a time we depended heavily on portability
  • The DRM tree deemphasized BSD support, This hurt BSD but… would we rather do without kernel mode settings
  • Might be inevitable but try not to be too arrogant
  • The platform problem
  • Code you control vs Black box
  • The kernel’s ARM subtree (re-implements stuff from elsewhere in kernel)
  • XFree86 (tried to keep everything in user space)
  • Opportunistic suspend (Andriod decided “too hard” to fix rest of kernel)
  • Async I/O (implemented multiple times, no comprehensive implementation)
  • Example: wireless devices had own 80211 implementation. replaced with max80211
  • Example: PowerTop used to find wide range a random things causing high power usage in laptops
  • Ongoing examples: Bufferbloat, marvell-cam drivers, User-Space TCP, Control groups, Andriod
 

 

What is in a tiny Linux installation? by Malcolm Tredinnick

  • Skipping bootloader portion
  • Kernel is big – 9.6M lines of C, 250k lines of assembler
  • Booting the kernel
  • “make allnoconfig” , smallish, 222 “y” ‘s. 842KB bzimage, build time under 15s, no file systems, no fancy hardware, ISA, no PCI
  • “make allyesconfig” , 5177 y options. 39MB bzimage, over 1h to build, includes drivers/staging
  • booting allnoconfig via qemu-kvm . Gets to “unable to mount root file system”
  • Kernel components – hardware arch, drivers, subsystems, others
  • need roto filesystem in memory, initrd / initramfs . init process just in cpio archive, can just be hello world
  • need initrd, initramfs , RAM disk block device, ELF binary support. 889KB bzimage (up 50kb)
  • Now boots, use “rdinit=/hello” option in qemu , just prints out hello world
  • Transition to userspace
  • initrd loads some modules etc, runs pivot_root , run startup scripts
  • Userspace
  • Why are you doing this? Single purpose system, usb stick (rescue, puppy linix, Damn Small Linux) , tiny memory, tiny storage usage, fast power on. Trade-off of options
  • We have to run something, need some binaries, shared libraries, large binaries with multiple purposes (busybox)
  • Busybox – one binary – acts differently depending on calling name, installed as symlinks
  • Busybox: fairly small, default utilities, 2MB without networking, easy to test
  • C libraries – glibc (probably not a good idea), eglibc (easier to build, binary compatible with glibc, can take things out), uClibc (alternative, very small, some overlap with busybox, source code compatible with glibc)
  • Device and Proc mngt will need: procfs, sysfs, tmpfs, udev, cgroups
  • Build environments: you are cross compiling (build root), binutils, C libraries & cross compiling, Test, x86 instead x86 is harder
  • See links in slides for some help
  • mdebian is something to look at

LCA2012 – Thursday after lunch

Women in Open Technology & Culture – Valerie Aurora and Mary Gardiner

  • Very umbrella term including fan fiction, open data, wikipedia, open access
  • Why – important areas – women’s participation (especially in charge) very low
  • Important for women to be in charge, creating, designing, building, not just as users
  • 5 kinds of groups – project specific (debian women), feminist activism, teaching technical skill, networking, majority women projects.
  • Community / project specific
  • Linuxchix, owoot, pyladies, wikichix, etc ( linuxchix spawned several)
  • low participation, poor replacement rate of leaders (often after they get FT jobs), low communication between, sometimes tension between.
  • Feminist advocacy
  • geek feminism, ada initiative, mind the gap
  • growing and active – the new hotness, sharing best practices, paid work more common, some conferences
  • Teaching women technical skills
  • usually one day or evening courses.
  • Growing hugely, vary widely in topics and skills, sharing best practises
  • In person networking socialization
  • Women in code, girl geek coffees, girl geek dinner
  • try not to be dominated by marketing women ( use of “geek” term helps)
  • Growing, easy to start local chapters
  • Majority Women Groups
  • Dreamwidth, Organisation for transformative works
  • Often fan-fiction support, protect against takedown, let author control commercialisation
  • Survey
  • In person vs Online
  • Activist vs non-activist
  • Community vs technical
  • Focussed vs broad topics
  • Projects with broad focus within a narrow group seem not to work
  • Projects with very technical focus but accoess different technologies seem not to work either (lack common language)
  • Why Start – recruit and retain, networking, role models, safe space, feel normal
  • Lessons on starting
  • Don’t – join an existing one
  • If you are a man, don’t do on behalf – “Nothing about us without us”
  • Don’t expect women to start a group
  • Find 3 or more women to start a group
  • Don’t use girl/chix/ladies – use women
  • Go broad instead of narrow on topic
  • have clear defined goals and scope
  • Start small, be realistic about work
  • Consider one-off event rather than group
  • Avoid NIH , reuse best practices
  • be prepared to moderate any public forums you create
  • Failure modes
  • Become “the nice place” that everybody goes to
  • Loses focus on women
  • Safe Space moderation too many hours
  • Ran low on time, slides will be online
 

Hacking Everything – Matt Evans

  • Reuse things , not just hacking things like audrino that are supposed to be hacked
  • reuse, need, art & design
  • Gambiarra – brazilian art of an improvised fix
  • 1940s radios and TV owners could fix their gear. today people are more passive
  • wants people to tinker with things.
  • Save resources
  • Save money
  • take apart things, learn by example
  • Low cost manufacturing makes hacking hard ( solid state everything )
  • Cheap development makes hacking easier ( reuses common technology, extra bits on devices unused )
  • Some products are open hardware designs
  • Things to look for – similar to ref design, debug code left in, unused features, factory test points/ports
  • Ports that are wired up but unused often serial ports
  • “My CD player has a serial port” , common on many devices
  • Acquire a “logic level”USB-serial cable
  • Other ports – JTAB , In-System programming
  • Example: Picture frame, derived from sample board for camera, serial interface, built in CLI
  • Old Wifi, ADSL boxes good with OpenWRT
  • Don’t just consume – re-consume
  • Teach others and tell the world
  • Collaborate at a local hackerspace
  • support companies that make things hackable

LCA2012 – Thursday Morning

Desktop Home hacks – Allison Randal

  • Just a hobby product, must be fun, open,
  • Wanted computer to be available when away from desktop, but not be disruptive and uncomfortable
  • Affordable, approachable to hobbyist, there are more expensive alternatives
  • nodes – jeenode, audrino clone, tiny, easy to hid, cheap ( $20 including wireless RFM12B vs $20-30 + 30 for wifi for more conventional audrino )
  • RFM12B – 66 bytes
  • Server – pandaboard ~$200 . ARM processor with full Ubuntu install
  • Server – aggregates data from all notes and sends commands to all it’s nodes. Contains services for system, json data feeds from nodes, web client interface, interface for sending commands to system
  • Client(s) – several machines in house used from
  • client – jquery mobile , small applet , on desktop , chromium app mode
  • Inputs: Temperature ,  Humidity , motion sensor (lights on/off)
  • Input: RFID reader (disappointed at short range, <1m , one was in doorways to trace path of wallet)
  • Input: touch sensor ( simple controls, in pillow ) , small keyboard (bluetooth, usb)
  • Output: Glowing egg ( multi colour, hand sized ) , Power Tail (power extension, turns on/off)
  • Output: Hollowed out candle with LEDs inside , Instamorph & super Sculpey to create “solid” objects
  • Tools: Soldering iron, misc tools, wax carving kits
  • Lesson: Need better camera with macro lens and better light to document :)
  • software not currently release, not really in releasable format, thinking of making some as audrino shields
  • Resources: adafruit.com , sparkfun , parallax.com , digikey.com (bad interface) , optopart.com , makershed.com , freetronics.com (Australia) ,
  • Tools: Talk in inkscape/sozi  , Also use: vala (webserver) , jquery mobile
 

Cheap Tabloid tricks – Angus Kidman

  • Journalists have secret lawyer fantasies, they have wrung the information out of the sources
  • Is the IT media biased?
  • no coverage of lca2012 in main Aus IT press
  • more coverage in 2nd tier
  • Only 3% pageviews on lifehacker use Linux
  • Not many IT journalists these days, One on FT on lifehacker, more to do (websites, blogs, video, podcasts)
  • Freelancers – can be an option. Freelance rates not good, getting worse, competition from bloggers, etc. Hard to convince editor that story is worthwhile.
  • IT news driven by fashion. In early 2000s belief among publications that Linux stories would drive traffic from slashdot etc
  • Current fashion is facebook and Apple. Stories about them in demand
  • Eg Lifehacker did apple angle on LCA keynote
  • Open source Projects lack definitive spokesperson
  • Media obsessed with cult of Trivia, Celebrity . eg Linus
  • Media not influenced by advertisers
  • Does Linux need media? Yes if want to reach more than the 3%
  • Identify the Audience. right publication
  • Be Fashionable. eg mention facebook or apple
  • Be Concise.
  • Be contactable. email, phone if in a hurry

January 18, 2012

SCALE 10x – there’s lots of MySQL there!

I’m just about to get on a plane to head to my inaugural SCALE event. It’s their tenth year running!

In a world filled with NoSQL related media, its kind of nice to see that on Friday January 20 2012, we have a MySQL room right next to the PostgreSQL room (schedule). It is awesome to see that the track will have participation from Oracle, Monty Program Ab, and SkySQL Ab.

On Saturday for the main tracks, I’ve got a talk about the growing MySQL diaspora (just got larger this year in case you haven’t paid attention to the packaged up Galera product!). This one is a constant work in progress and I’m hoping to complete research closer towards March ’12.

Monty Program and SkySQL are also sharing a booth in the expo hall, so come by booth #65 for some interesting schwag (t-shirts, poppers, etc.). Looking at the schedule lineup, I’m surprised I’ve never ever been to a SCALE before – looks totally awesome. See you in LAX (well, we’re so close-by the Los Angeles Airport :P)

Related posts:

  1. MariaDB/MySQL users in Paris & Brussels
  2. The SkySQL Reference Architecture
  3. Our booth is yours… Sun at OSCON



An open letter to Peter Ryan regarding police treatment of cyclists

Hon Peter Ryan,



I am writing because I am concerned at the number of recent incidents where a driver has collided with a cyclist, and the case hasn't been followed up by the police. Such incidents and the publicity surrounding them does nothing to encourage road users to obey the law when they realise that they will most likely get away with not doing so.



A week ago in Ballarat, a 13 year old boy was hit by a car, and the police said the boy had the right of way[1]. Despite this, the article linked states that the police will not charge the driver. This, despite her having broken Australian Road Rule 67 to 72, 84 or 86 depending on circumstances at the stated intersection, or perhaps 140 to 144 if travelling in the same direction. She was likely negligent in allowing the collision to happen in the first place, which, by my understanding, is a criminal offence, especially since there was serious injury involved. If she used the usual excuse that "she didn't see him", then that's an admission of guilt in failing to obey ARR 297 - driver having proper control of vehicle.



Also recently, there was a highly publicised case where Shane Warne had an altercation with a bicycle rider. In that case, the fact that Warne hit the cyclist from behind (ARR 126) after overtaking unsafely (ARR 144) is undisputed[2]. The fact that details were not exchanged following the collision is also undisputed (ARR 287). It is also well established that Warne was stopped unnecessarily in a bike lane (ARR 125; 153)[3]. And yet the police will not investigate[4].



Going back a number of years, I also have not had good experiences getting the police to follow up on cases. In my most recent case (11/10/2005; I do not know the case number sorry, all I know was that I was attended to by Angove & Auchterlonie from Boroondara police), the driver also failed to obey ARR 287 (as well as a slew of other offences, such as ARR 46 and 148 - changing lanes without indicating sufficiently and without due care). The police refused to prosecute the driver, and also would not hand over the driver's details or insurer details, based on some misguided privacy policy, asking me instead to fork out for a freedom of information request. Given that I was a broke student at the time, this was not a feasible thing to do and I never did receive compensation from the driver for damage to my bicycle, clothes, and large out of pocket expenses for travel to medical care for several years that the TAC didn't cover. The police also displayed a lack of knowledge of the law, initially thinking that I had broken ARR 141.



I can't imagine why the police aren't investigating these cases, because in each case, clear evidence is at hand, and not disputed. The identities of all parties are known. It should be an open and shut case. Without the police making charges, the rider in each case will have a much harder time claiming from the driver's insurance (if the boy was not admitted overnight, his TAC excess will be an enormous burden to his family). The driver in each case will not be discouraged from driving in a similar fashion next time. And other drivers also know that they will most likely get away with any offences they commit if a bicycle is involved. This is a perverse reversal of the situation that we should have, in which drivers should be encouraged to take due diligence around cyclists. It almost seems that the police always assume a cyclist is at fault unless proven otherwise in Australia, whereas most other countries with an established bicycling culture assume that the driver is at fault unless proven otherwise as they hold the burden of driving the more deadly vehicle and so should be required to take due care.



If the laws weren't adequate enough to prosecute to the driver in the above cases, has your department been contacted to update the laws, and what is being done? Keep in mind that cyclists have no protection other than by the law, and as the more vulnerable road user, the laws should focus on their safety and ensuring that transgressions are dealt with effectively.



Can you please encourage the police in each of these cases to follow them up to the full extent that the law currently allows.





Sincerely,





[1]

http://www.theage.com.au/victoria/teen-cyclist-struck-by-car-20120110-1ps85.html



[2]

http://theage.drive.com.au/motor-news/warnes-tirade-triggers-bike-rego-call-20120118-1q5k0.html



[3]

http://www.cyclingtipsblog.com/2012/01/cyclist-versus-warnie-the-cyclists-story/



[4]

http://www.heraldsun.com.au/news/more-news/warne-blasts-cyclists-on-twittershane-warne-clashes-with-cyclist-on-way-home-from-training-session/story-fn7x8me2-1226246735306

LCA2012 – Wednesday last session

The Samba tour of scripting languages – Amitay Isaacs and Andrew Bartlett

  • Samba is C based
  • But seems to have a lot of scripting
  • Has to be portable no non-gnu systems like solaris, reply on POSIX sh, make (not gun make), awk, m4 and a c compiler
  • shell scripts for first testing. Over 10,000 lines if shell in building
  • Python , TCL and Lua bindings all added but unpopular and eventually removed
  • Perl over 20,00 lines
  • IDL build initially in awk. Switched to perl based PIDL
  • javascript before it was cool – embedded javascript engine
  • But the cool kids were using python so switched from Javascript to python
  • Exception based languages things cleaner
  • waf is python based build system
  • python bindings for most things, or via C hook
  • Lots of other stuff being written into python, called directly by samba for small tasks
  • 90,000 lines of python
  • Example: Samba3 upgrade -  python based tool in 3 weeks. Business login in python, exceptions test for bad input
  • At build time python checks to see if ABI has changed from previously and alert developer if it has.
  • Test frameworks – unit tests on standalone components. Environmental tests with everything running, different types on server setups, fake ips and tests made. All runnable as non-root
  • 9000 test in 1300 test suites. Mosts test in C, some in python or shell
 

 

Running Python in Grub – Josh Triplett

  •  ” I ported python to grub “
  • perception that Linux doesn’t need BIOS
  • Involves programming hardware in functional/safe/optismise configuration
  • Lots of stuff to support, a few decades of compatibility, very bare-metal programming, small number of people working on it
  • What can go wrong: Broken or disabled CPU features, missing or broken memory, sub-optimal power mngt, delays & latency, USB bios handoff. Undocumented customer interfaces
  • Why not test under Linux? Linux gets in the way, no direct BIOS access for tests
  • Grub2 – 32 bit addresses, written in C, can read files, menus, single thread, no OS to disturb, only uses a bit of BIOS itself
  • ORigin: Replacing DOS test programs, test for power mngt, new grub commands for command-line.
  • Grub script language – bashish, no expressions, can just glue things together in menus, have to write lots of C
  • Ported CPython 2.7 to GRUB
  • Wrote a C/Posix compatibility layer for GRUB, floating point functionality via fdlibm , ported much of python standard library
  • Build C extension modules, added “bits” module to access platform functionality
  • ACPICA already in Linux for parsing ACPI. ported as a grub module with python module to access it.
  • bits passes grub command line to python for python to parse
  • FUSE for Python and GRUB.  added a python device reading python/foo invokes a python callback.
  • logging to in-memory buffer and sends to log in FUSE via system. Save to ACPI table and then OS can grab it later
  • SMP support in grub, pyton scripting in ring0, python modules for platform interfaces CPU, PCI, PCI-e, ACPI including decoding and method evaluation, logging, test suite evaluation
  • BITS test: power mngt configuration, perf optimisation, CPU config registers, SMI frequency/latency , USB handoff from BIOS to OS including effects on SMI and C states.
  • Used by BIOS vendors before shipping boards, BIOS problems actually get fixed!
  • http://biosbits.org/
  • Freakiest stuff I’ve seen so far this week

LCA2012 – Wednesday after Lunch

Ubuntu ARM – David Mandala

  • Targeted ARM v7 – first release April 2009
  • 7 different kernels in 10.10 . Improving with Linaro
  • OMAP 3 100% in main Linux kernel so easy to support.
  • Someday unified kernel onto ARM
  • Toshiba AC-100 netbook
  • 11.10 preview release of ARM server
  • Lots of work to get SMP and now 64 bit to work. Some code assumed they would never exists
  • Virtualisation support soon for server space
  • Main sense of ARM in server space is 10x saving in power eg ~50W vs ~5W
  • Lots of other stuff this guy was going too fast for me to keep up
 

 Helping your Audience learn – Jacinta Richardson

  • Conferences let you vary your level of intensity according to your energy
  • Conferences – no assessment
  • Training is different, all day, 6-8 hours, several days in row, builds on previous days
  • can’t afford to get lost.
  • Cognitive load – how much effort somebody has to apply to learn a new thing.
  • Intrinsic – how hard actually thing is.
  • Extraneous – how harder trainer makes it than it needs to be
  • Germaine – how well concepts build on what we already understand
  • Building framework takes time. Scaffolding has to be well designed. Lots of simply examples
  • Mind map of material -> what you are teaching to build foundation
  • Be realistic what you can fit into day (including breaks, people late)
  • 6 – 6.5 hours optimistic. Seems to be max most people can handle
  • 90 minutes then break ( eg 90min on, 30min off repeat 4 times )
  • Documents – short prose sections, short examples, short chapters (work though in 90 minutes)
  • Key info at start of the day. Dont do lots of extra stuff like class rules
  • Easy stuff, unimportant stuff at the end of the day.
  • Essentials at the start of the course
  • First 90 minutes or first day is most important
  • Options extras at end of course or end of each day
  • If you have lots of stuff -> create another course, make more money
  • Use diagrams, code, pictures, comics
  • reduce germane cognitive load:
  • Order carefully
  • group similar concepts
  • Put import stuff in bold
  • 10:10 – 10 minutes instructions, 10 minutes of student exercise. Sometimes 10:20 . Occasionally 10:30
  • 1-3 concepts in that 10 minutes. But try to balnce
  • Spare time = more examples
  • 90 minutes = 3 x 10:20 + 4.5 x 10:10
  • Target exercises at each key point. Doesn’t have to be real-world
  • 1 point = 1 exercise
  • Easy to advanced exercises. Additional exercises to really advanced people
  • NO answer files. Cause everybody will cheat
  • Minimise cross-chapter reliance
  • Sometimes you have to rely on previous stuff (should have been at start on day one). Try and avoid since people will have missed or not picked up previous concepts
  • New topic = clean slate
  • Good, through course notes
  • Not slides, write a book, should be readable later, good advertising
  • A few other ideas:
  • Keep room cold, keep it fresh. 21-23 degrees
  • Bell curse applies to student ability.  Students not slow, but have less foundation or experience in topics
  • Target average student. Offer extra help for ones behind. Don’t slow down for slowest student.

January 17, 2012

LCA2012 – Wednesday Morning

A Tour of btrfs – Avi Miller

  • Now
  • All data and metadata is copy-on-write
  • CRC all metadata and data
  • Writable snapshots
  • multi-device support ( raid0 , raid1 , raid 10 )
  • online resize and defrag, online device replace
  • transparent compressions, efficient storage for small files
  • Soon
  • Fixes for perf and stability
  • background scrubbing, LZO compression, batched discard, file defrag options, per-inode flags
  • Larger block sizes for ( especially for metadata, to provide perf improvements in some cases)
  • Scrubbing uses CRC to varify data on disk, fixes bad ones with good copy on another disk which has okay CRC
  • “df ” gives completely wrong values on how full the disk is or it’s size
  • discard/trim supported both real time and batched
  • Drive Swapping – current raid rebuilds via balance code, can also restripe between RAID levels
  • btrs send/receive in development
  • Embedded – friendly to small machines, not as friendly to small disks (being worked on) Works well with low-end flash drives
  • RAID 5/6 – MErge pending completion of fsck work. will also add triple mirroring
  • beta read-only filesystem recovery tool – copies data out of corrupt FS
  • tree root-history log lets us recovery from many hardware errors. “mount -recover”
  • New fsck release on the way. May be announced very soon
  • yum-plugin-fs-snapshot . yum plug to trigger a snapshot on package install/upgrades
 

The Web as an application development platform – Shane Stephens and Mike Lawther

  • When and how to move from native to web/cloud apps
  • Examples
  • Text based like email (pine, mutt, outlook). 15 years ago web-based email started. access anywhere, no install required, easy to start using, use anywhere
  • Desktop publishing. Hard to collaborate with other people using desktop based software by emailing docs around to other people. On the web it’s often native multi-user. Send Links rather than emailing whole doc.
  • On web everybody always running latest version
  • Github gives you one-stop shop for projects. wiki, forums etc. Native in app rather than bolt on to desktop version
  • Graphics
  • Flickr – has native sharing, backups etc
  • Online editing of images etc now possible
  • Games
  • Farmville – no install, easy to share links
  • Angry Birds – has web version, html5 , flash for sound, 60fps
  • Not at stage where First person shooters going to happen yet. Users have high end hardware
  • Overall Benefits – No install, universal access to data, always using latest version, collaboration and sharing built in. Simple text layout, Web as IDE, open and modular enviroment
  • Drawbacks – Layout more involved than desktops apps, distributed code makes debugging hard, cross browser compatibility, security limits flexibility.
  • Useful web technologies (see also HTML5Rocks website) :
  • Display / Rendering
  • HTML , SVG , Canvas – All fairly easy to combine
  • WebGL , flexbox and grid <- future
  • Communications
  • Standard http requests, AJAX / XHR , Websockets / Browser Channel , libraries like Faye etc
  • Storage
  • Traditionally just cookies, Session Storage, Local Storage, indexDb, AppCache
  • Environment Enhancements
  • jQuery , CoffeeScript , NaCl

LCA2012 – Tuesday after Lunch

Mistakes were made by Selena Deckelmann

  • Misc management
  • Prepare for failure, Failure is an option (it will happen)
  • Book: “Everything is Obvious”
  • 2 examples (NZ and Scotland) of rats gnawing through cables and taking out country
  • Document -> Test -> Verify
  • Failure to Document
  • Write Docs, Update Documentation, Make documentation a step with your written processes, assign some time to that step.
  • Doc Tools: Graphic Designers, wikis, sphinx, diagrams  – timelines – bug tracking – ordered todo lists
  • Failure to test
  • Verify success criteria – Write tests – test with buddy – have a plan
  • testing frameworks, staging environment, repeatable shell scripts
  • Failure to verify
  • Have a plan for things going wrong – have staging environment – test rollback plan, not just implementation plan
  • Tools – People, staging environment
  • Failure to imagine
  • share stories of failure – talk to people are different from yourself – act out implementation scenario
  • Failure to Implement
  • reflection ( post-mortem )
  • Plan to do  post-mortem, document the plan with numbered steps and a timeline – test plan & rollback plan – Identify point of no return
  • During – screen sharing – chatroom – Voice – Headsets – Designated time-keeper
Scaling Openstack by  James Blair and Monty Taylor
  • 6 projects in openstack.
  • collection of related repositories
  • Most contributors paid to work on it by their companies
  • number , quality and area or contributors varies
  • 6 monthly releases – design summits – continuously open truck – dev on master – Monthly milestones – stable branches post release
  • Vision – consistent tooling and process on all projects -> Consistent Product -> Multiplier effect.
  • Minimize meta-development, Standard tools
  • Gerrit – code review
  • Jenkins – Testing (pre and post merge)
  • Orchestra (bare metal deployment)
  • Lanchpad, documentation servers, planet, repos
  • Environment: Ubuntu, Everything in Python (pep8 standard, openstack.common ). virtualenv/pip
  • Gated truck – ensure quality – auto tests – means devs always start from working code – keeps bad code out of tree – process same for everybody, transparent, automated.
  • Gerrit – stand-alone patch review system – lots of integration hooks – lots of review categories
  • SSI using openid for all of project sites
  • Git review is implemented as git sub-command to submit things to gerrit. zero-config <- looks cute
  • Vendors can have labs and tests and code can be automatically submitted and tested on it

Walktime Blog #16: Arduino Miniconf 2012

A quick walk-around of the hardware assembly tutorial at the 3rd Arduino Miniconf, which took place on January 16, 2012 as part of linux.conf.au.

View or comment directly on YouTube: www.youtube.com/watch?v=xic4w5DL-tw

Links for this ep:

LCA2012 Tuesday – Before Lunch

I’ll be posting some updates from Linux.conf.au in Ballarat in the next few days. I arrived on Sunday but this is my first post. I’ll see if I do an out-of-order blog post on that later.

The keynote from Bruce Perens was really good. He talked a lot about the failure of open source to engage the public and policy makers. He also covered a bunch of cool hardware projects and cheap (and often open) small boards and other electronic products.

Smashing a square peg into a round hole – David Basden and Chris Collins

  • Automation your automation.
  • Anchor – Hosting provider, doing built solutions, non-standard requirements
  • Puppet is one step, PXE & dbootstrap just another, hundreds of others
  • A “simple” build used to take a day, down to 10 minutes
  • instead of defining all steps define dependencies to get a “partial ordering”
  • figure out what has to be done, in what steps, keep track of what has been done
  • Lack of security in many queuing systems, bad agents can grab tasks they aren’t supposed to etc
  • Outline of “Audience” job control system. Design goals and decisions
  • Code on github.net/anchor

 Extracting metrics from logs for realtime trending and alerting by Jamie Wilkinson

  • passive system, query application about it’s metrics. However sometimes hard to parse
  • However most apps log to system or other logs
  • emtail – exporting modular tail
  • plugins – on event X do Y – usually regex
  • Metrics are values, times ( name, value, when, type (counter, gauge) , string, tag
  • metrics are exported over a common protocol ( google protocol in G version, json in open source version )
  • exported over http using json or CSV,  sent to something slse to save and do something with
  • Written in Go. Old version in python but too google specific
  • 20 minutes talking about the source code (I browsed the web during this bit)
  • I and a few others in the audience seemed to think this duplicated a lot of other tools with no obvious huge advantage over them. Bit of google NIH.
 

 

January 14, 2012

Breaking windows

Another letter in The Age today. Unedited text below:





Ian Porter (Without car manufacturing, we are on the road to ruin, The Age, 13 Jan) believes that the government needs to keep throwing money at the car industry in order to support other industry in Australia. I'm surprised as an industry analyst, he hasn't heard of the broken window fallacy.



Throwing good money after a bad unsustainable industry that can't adapt is just a waste. It's exactly identical to sending soldiers to dig holes only to fill them back up again just to keep them employed and off the streets. The money could be better spent on doing useful things that will remain useful into the future. Yes, paying people to break windows and then paying the glazier to repair them will keep people employed, but couldn't the glazier be better employed building things that then keep other people employed into the future?



Why don't we do something useful with the money instead? Like built modern intra- and inter-city rail infrastructure? This won't become stranded assets when cheap oil becomes unavailable. We won't be left with vast tracts of useless motorways - we will continue to be able to use the rail infrastructure well past these boom times.