Planet Linux Australia

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

Andrew Pollock: [life] Day 187: Kindergarten, tinkering, a spot of break and entry and some baking

Mon, 2014-08-04 20:25

Today was busy. I didn't end up getting a chance to do any Debian work, but I did do some satisfying hacking, which I'll write about separately once I've got it slightly less... hackish.

Zoe slept solidly for about 12 hours. I was a bit slow getting going this morning, and that made us a bit late getting to Kindergarten. Drop off was nice and quick and easy though.

I was supposed to have a coffee with my downstairs neighbour, Michelle, who was in the process of moving out. She had asked if she could borrow an Allen key to dismantle her bed, so I popped down with that when I got home. She'd also managed to misplace her wallet, and thought it might be at her boyfriend's house. Long story short, we ended up over there with a ladder to get into his house and (fortunately) retrieve her wallet before we ended up having our coffee.

After that, I did some hacking on my phone to try and integrate NFC with HabitRPG, which ended up being successful, but not ideally so. I managed to get that going before just before Anshu arrived to come with me to Kindergarten to pick up Zoe and Megan.

I'd asked the girls if they wanted to help bake some carrot and kale muffins when we got home, but they quickly got distracted doing some craft, so they did that while Anshu and I started on the muffins. Part way through, they decided they wanted to help after all, so they took turns throwing ingredients into the Thermomix. They then proceeded to lick the bowl clean while watching them rise in the oven.

Zoe wanted to watch an episode of Spiderman on her tablet, and so did Megan, so I put it on the TV with the Chromecast and they happily watched it while the muffins finished baking.

After that, Zoe and Megan went for a scooter around the block with us while I put a letter in the mail and picked up some mushrooms from the Hawthorne Garage. By that stage Sarah was on her way to pick up Zoe, so we got home and got Zoe organised to get picked up.

Sarah picked up Zoe, but Jason was held up in traffic, so Megan came back upstairs and watched some more TV until Jason arrived.

It was a nice, busy afternoon, which went quite quickly.

Paul Wayper: Stop the unemployed

Mon, 2014-08-04 10:25
I think there's quite a simple answer to why the Coalition is putting so much effort into punishing the unemployed: it's exactly the same as their "stop the boats" policy. If they make it so unattractive to actually register as unemployed (in order to get Centrelink benefits) then a lot of people will just not register. They'll look for work, and they'll depend on the charities and on other forms of income (begging, stealing, etc), but they won't show up in the books as unemployed. Instantly, unemployment goes down, the Coalition looks like it's "tough on dole bludgers", and someone else foots the bill.

I've been there. I was unemployed for six months in late 2000. I tried to get benefits, and after spending every day trying to find work so that I could tick off my twenty-five job searches a month I was told that since I had shares I didn't qualify for assistance. In other words, you can't save, you can't have any reserves, you have to be scraping the bottom of the barrel yourself before you get any money from the Government.

So I just didn't bother. I didn't show up to Centrelink again, and they (presumably) removed my name from the list of unemployed. Howard at that time was trumpeting the work he was doing to reduce unemployment and kept pointing to the unemployment figures. No-one looked at the number of jobs at the same time. I think a few people pointed out at the time that the worse of his policies - which match those of the Coalition today - were just designed to punish the unemployed and make them into a cheap work force rather than actually get more jobs.

It's especially poignant since the Coalition also wants to sign into law trade partnerships that send jobs overseas (by making it uneconomical to manufacture things here in Australia), denying climate change and cutting spending on renewable energy (stopping the entire renewable energy sector from investing and thus losing jobs), cutting funding for education and health (as if States are suddenly going to find that money somewhere - more jobs lost), and telling Toyota and Holden that they get nothing to keep people employed here in Australia.

It's been well pointed out that there only about 146,100 jobs for 741,700 unemployed people. But the government's own way of calculating this only thinks a person is unemployed if they actively looked for work in the week of being surveyed - they identify an entire group called "currently inactive (not in the labour force)" and then coyly ignore that group entirely, not even mentioning it on the page.

That group comprises a lot of people, some of who need help. It's the long term unemployed who have given up on the mindless form-filling, tracking and justification required for government payments. It includes mothers who stay at home full time to care for their children (which is a full time job in my opinion). It includes lots of disabled people. It includes people on pensions. And it's that group that seems to be conveniently ignored by the Coalition in their War On Bludgers.

Sridhar Dhanapalan: Twitter posts: 2014-07-28 to 2014-08-03

Mon, 2014-08-04 01:26

Rusty Russell: ccan/io: revisited

Sat, 2014-08-02 18:27

There are numerous C async I/O libraries; tevent being the one I’m most familiar with.  Yet, tevent has a very wide API, and programs using it inevitably descend into “callback hell”.  So I wrote ccan/io.

The idea is that each I/O callback returns a “struct io_plan” which says what I/O to do next, and what callback to call.  Examples are “io_read(buf, len, next, next_arg)” to read a fixed number of bytes, and “io_read_partial(buf, lenp, next, next_arg)” to perform a single read.  You could also write your own, such as pettycoin’s “io_read_packet()” which read a length then allocated and read in the rest of the packet.

This should enable a convenient debug mode: you turn each io_read() etc. into synchronous operations and now you have a nice callchain showing what happened to a file descriptor.  In practice, however, debug was painful to use and a frequent source of bugs inside ccan/io, so I never used it for debugging.

And I became less happy when I used it in anger for pettycoin, but at some point you’ve got to stop procrastinating and start producing code, so I left it alone.

Now I’ve revisited it.   820 insertions(+), 1042 deletions(-) and the code is significantly less hairy, and the API a little simpler.  In particular, writing the normal “read-then-write” loops is still very nice, while doing full duplex I/O is possible, but more complex.  Let’s see if I’m still happy once I’ve merged it into pettycoin…