Planet Linux Australia

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

Chris Yeoh: W510 & Ubuntu Lucid 10.04.1

Tue, 2014-09-09 16:26

My work laptop was upgraded to a Lenovo W510 recently, replacing a 3 year old T60p. The setup and install of Ubuntu 10.04.1 was fairly straightforward, just a couple of problems:

  • ureadahead package needs to be upgraded to a version in lucid-proposed. Otherwise it will randomly OOM on boot and fail to start
  • For suspend to work have to both:

So far seems like a pretty fast machine – 4 cores (8 with HT). Should be a big improvement on the T60p.

    An of course a new laptop requires new stickers (thanks Sarah!)

    Chris Yeoh: Wireless Ambient Orb

    Tue, 2014-09-09 16:26

    I’ve been tracking our household electricity usage live for a while. We have an LCD display but its not something that we remember to check very often to make sure that everything that should be turned off is off.

    I noticed some cheap rgb led strips on deal extreme and thought I’d make my own ambient orb. I dug out an old arduino I wasn’t using and found some information from this site on how to control the strip using a darlington array. I added a perl script to bridge between the microbroker which receives the power usage information and translates it to a color for the ambient orb to display.

    At what is our normal minimum power usage the orb glows blue and as the power usage increases turns green, yellow, orange, and then red. This makes it pretty easy to see at a glance when leaving the house or going to bed if the household power usage is about right. After a bit of testing I added purple at the end for when Kelly turns on the kettle and the toaster at the same time

    I’ve been interested in playing with xbees for a while, so rather than get a 802.11b wifi shield for communication I bought an arduino xbee shield and a couple of xbees. It turned out pretty easy to setup the xbees and I think I’ll end up with a little mesh network at home with both sensors and display devices like ambient orbs.

    I found some really cheap giant usb driven plastic keys on ebay. It just lights up with a white color when pressed but was easy to disassemble and put the led strips and arduino inside instead.

    The white plastic does a better job of diffusing the led light than in the photo above.

    Now Kelly wants an orb of her own, so I’m helping her make a smaller and cheaper version using an Arduino Pro Mini 328 instead of an Arduino Duemilanove.

    Chris Yeoh: Seedlings!

    Tue, 2014-09-09 16:26

    About a week after planting the seeds we have little seedlings appearing All the cucumber seeds have sprouted as well as a couple of the tomato plants. So far no sign of life from the eggplant or cherry tomato plant seeds.

    Apparently its a bit too cold to plant the seedlings yet and warming the soil a bit can also help. So I’ve put down some black plastic where we’re planning on planting the seedlings when they’re ready. I dug some organic fertiliser into the ground and we picked up some pea straw for mulch so are already once the seedlings have matured enough to go outside.

    Chris Yeoh: Practicing photography

    Tue, 2014-09-09 16:26

    The weather forecast for Saturday was clear and sunny so Kelly and I decided to take Alyssa out to see if we could get some good high resolution outdoor photos of her. Most of the photos we have of her are low resolution ones taken with our iPhones. So I got out my D70s and 50mm f/1.8 portrait lens and we headed out to Tusmore Park near to where I grew up. Its a really nice green grassy park with a good playground, creek and tall trees.

    By the time we had arrived at the park Alyssa had fallen asleep in her car seat and we lay her down on the grass until she woke up. Although I took almost 200 photos my favourite photo of the set was taken right near the beginning when she was still asleep on the grass.

    I like it so much I’m thinking of getting a large canvas print done. When she woke up and realised she was in the park with a playground she was very happy! The lens has such a narrow depth of field that taking photos of her in focus while on the swing was quite difficult.

    Same problem with the slide, although this action shot is not framed well, I love the expression on her face it captured.

    I think this one would have been really nice if I’d rotated the camera 90 degrees like the one after it. I think she’s lit really well in these two photos and it might have been because of the light coloured pool floor reflecting light up from below her.

    I think this one is pretty cute as we didn’t realise she was able to climb up steps that high:

    Although it would have been much nicer if I’d framed it like the following which shows how tall the trees in the background are.

    It turned out to be a lot cloudier than we expected so the light wasn’t as nice as we were hoping for. I’m really pleased with how some of the photos turned out and I learned quite a bit, so next time there is bright sunny day on the weekend we’ll be out at a park again.

    Chris Yeoh: Growing our own vegies

    Tue, 2014-09-09 16:26

    We’ve been thinking of growing some of our own vegetables for a while now. Finally this weekend got around to buying some seeds. Its still a bit cold to plant anything outside, but we’re using a couple of egg cartons in the kitchen window to start the seedlings which should be ready when the weather warms up.

    We have a row each of tomatoes, cucumber, cherry tomatoes and eggplant. If these sprout ok in couple of weeks we’ll start another lot of the same.

    Andrew Pollock: [life] Day 222: Kindergarten, running, and a lot of knot tying

    Tue, 2014-09-09 12:25

    I had trouble motivating myself in the morning, but eventually got going an did an 8 km run. It was a real slog after the 5 km mark. My pace was pretty good, it was too bad I couldn't last the distance.

    After that, I pretty much spent the rest of the day practising knots and making a start on my exam paper for my upcoming rock climbing course. Knots are not a speciality of mine, so it's taking some serious practice.

    The weather was looking a bit dubious on the afternoon, so I drove to Kindergarten to pick Zoe up. She wanted to go to Megan's house for a play date, but Jason said the house was a bit of a construction site today, so Megan came back with us for a play date.

    The girls did some painting and played dress ups and some Lego while I made a start on dinner. Then Anshu came over and Jason arrived to pick Megan up.

    Zoe decided to sleep in the top bunk tonight, for the first time in ages.

    Sridhar Dhanapalan: Twitter posts: 2014-09-01 to 2014-09-07

    Mon, 2014-09-08 01:27

    BlueHackers: Anxiety Attack felt like Heart Attack :-(

    Sun, 2014-09-07 12:22

    I had my first anxiety attack the other day. My lady was off picking a wedding dress. I was looking after our son whom was asleep and it just came on. I got our neighbour who luckily was home that day in his garage working on his cars. It felt like a heart attack. It stopped me from moving my right shoulder properly. I guess now I know I need help, more than a psychiatrist can help with (as they only prescribe medication if you did not know already). I’m looking into a Physiologist. I pay for private health with an awesome company called ahm. I don’t ever want to return to needing to go into hospital though. This will be a short post, but never discredit anyone who says they suffer anxiety as it’s a serious thing that causes actual physical pain. It wasn’t until the GP gave me the all clear I felt better again. Oh, and now I wear glasses as I’m short sighted from many years of looking at computer screens.

    Maxim Zakharov: SEO Meetup: Ensuring Googlebot can crawl your javascript/AJAX/HTML5 site

    Sat, 2014-09-06 15:25

    The video of the main talk at Sydney SEO Meetup on 4 September 2014:

    Roger Qiu, Founder of Polyacademy demonstrates SnapSearch.

    SnapSearch is a search engine optimisation (SEO) and robot proxy for complex front-end javascript & AJAX enabled (potentially realtime) HTML5 web applications.

    This tool implements Google recommendations on making AJAX-driven sites crawlable as a service hiding all technical details under hood.

    Andrew Pollock: [life] Day 219: A big bike ride, a swim and a dash of Science Friday

    Fri, 2014-09-05 23:25

    Zoe had a bit of a sleep in this morning, which wasn't surprising. We had a slow start to the day.

    It was a beautiful day, and Zoe was up for a bike ride, so I packed some morning tea and we biked along some bits of the Moreton Bay Cycleway to get underneath the Gateway Bridge, where we stopped for a late morning tea and Zoe had a bit of a run around.

    She was very interested in a storm water drain, and when I found the other end of it, we used it for some an impromptu Science Friday physics lesson about how sound traveled, and used it to yell to each other. She thought that was pretty cool.

    We ended up grabbing lunch out in a cafe off the bikeway in the middle of the Metroplex office park.

    Zoe wanted to go to the pool again after lunch, so we biked home and drove back to Colmslie Pool for a swim. Zoe's so confident in the water now, it's really impressive. We borrowed a kickboard and a pool noodle from the lost property, and that added to the fun.

    After that, I dropped into Bunnings to make a donation request on behalf of the Kindergarten, and then grabbed a copy of this month's Practical Parenting, which has a small article on me in it.

    I decided to drop Zoe around to Sarah, since we were already out in the car, so after swinging by the Valley to check my post office box, I dropped Zoe off and then headed home. Zoe almost fell asleep on the way to Sarah's. She said she really enjoyed her bike ride today.

    linux.conf.au News: Our first Emperor Sponsor...

    Fri, 2014-09-05 20:27

    One of the highest priorities of the LCA 2015 team has been to have as much local involvement as possible. Yes, this is linux.conf.au but it will be in Auckland! We're really excited about that so couldn't wait another minute to announce our first Emperor Sponsor - Catalyst IT.

    We are so thrilled! The team at Catalyst IT has already made a significant contribution to the preparation of our conference and have gone out of their way, giving more than just financial support, to ensure that LCA 2015 is a success. Their overall contribution has been invaluable - and now this!

    Catalyst says: "linux.conf.au is the jewel in the crown for open source conferences in the Southern Hemisphere. We are delighted to be able to support this event for the Open Source community and the Catalyst team is very much looking forward to starting 2015 by catching up with other technologists and geeks, sharing and learning, and contributing to the growth of free and open source software."

    Scheduled to be held at the University of Auckland from the 12th to the 16 January 2015, linux.conf.au is widely regarded by delegates as one of the best community run Linux conferences worldwide. Each year open source geeks from across the globe gather in Australia or New Zealand to meet their fellow technologists, share the latest ideas and innovations, and spend a week discussing and collaborating on open source projects.

    linux.conf.au is continuing to seek sponsorship for the event, with several sponsorship levels still available. However, sponsorship seats are filling up fast! If your company is interested in becoming a sponsor, then act quickly and contact sponsors@lca2015.linux.org.au

    We look forward to a successful LCA 2015, and we thank Catalyst IT for their involvement, enthusiasm and generous support.

    Steven Ellis

    Co-Chair and Sponsor Liaison

    Donna Benjamin: Estimating Story Points

    Fri, 2014-09-05 09:26
    Friday, September 5, 2014 - 08:23

    A couple of days ago I found myself describing how to estimate the size of a story. It was coming out in my own words, without references. It felt... right.

    One agile approach for "sizing" up a task is to use a relative scale to describe a mixture of effort, complexity and uncertainty.

    1pt - Oh I know what that it is, and exactly how to do it.

    2pts - Oh that's about twice as hard as a 1.

    4pts - Twice as much effort again.

    8pts - Hmmm, there's some tricky bits in there I'm not sure about, but know someone who knows.

    16pts - A few unknowns in there. I can't be confident about what's involved.

    32pts - Need more information before I can begin to estimate what's involved.

    64pts - Epic. No way we could do that in one sprint. We need to break this down into smaller pieces, but we can do that later if it's not a priority.

    Swap out unknowns for complexity. If a task is understood but complex, the chance of error is higher, as is the need for greater review and testing. Build that in when estimating. Don't devalue review and quality assurance, they are critical steps to agile success.

    It also makes sense to add points to stories known to be simple but incredibly time-intensive. A simple, but tedious and repetitive task introduces risk because the person doing it may get tired, bored or hungry. Tired, bored, hungry human beings don't produce their best work. Again, you will need to factor in additional time for review and testing by someone with fresh eyes, or break that task down into smaller steps.

    It's way too easy to get caught up matching Story Points to time, especially when doing quotes or reconciling budgets. Story Points are best for helping a team and their product owner to focus on what can be achieved now, in this sprint. Keeping it real.

    What do you think?

    Image: Shamelessly "borrowed" from http://www.powerhouse360.com/2012/03/story-points/ <= also a good post on this topic!

    James Morris: New GPG Key

    Fri, 2014-09-05 09:26

    Just an FYI, I lost my GPG key a few months back during an upgrade, and have created a new one.  This was signed by folk at LinuxCon/KS last month.

    The new key ID / fingerprint is: D950053C / 8327 23D0 EF9D D46D 9AC9  C03C AD98 4BBF D950 053C

    Please use this key and not the old one!

    Andrew Pollock: [life] Day 218: Play date, Father's Day at Bunnings

    Thu, 2014-09-04 22:25

    Zoe slept well last night. I was a bit tired from a late night, so we had a slow start to the day.

    Zoe wanted to go around to Megan's place, and I wanted to make some clam chowder with the leftover clams from a paella I made on the weekend, so I asked Jason if he liked clam chowder. After grabbing some ingredients from the Hawthorne Garage, we headed over to Megan's house via the bakery.

    Long story short, the clam chowder was pretty watery by New England-style clam chowder standards, and the bread that I got was a far cry from a sourdough bread bowl, so I wasn't very satisfied with the result. It turns out that 800 grams of clams only yields about 100 grams of meat, and the recipe called for 400 grams of clam meat, so it was pretty light on in the clam department.

    After we got back from Megan's place, we just bummed around at home doing nothing in particular for a few hours until it was time to go to Zoe's make up swim class for last week's canceled one. We had enough time up our sleeves, so Zoe scootered there. It took about 15 minutes to get there without too much mucking around.

    By the time we got back home from swim class it was time to head out to Bunnings for their free family fun night for Father's Day. We had a really good night. They had some reptiles. Zoe got to hold a snake. They had some pirates. Zoe got a tattoo and got to have a sword fight. They had some mini golf. They had a clown that did a funny magic act and was doing balloons all night. They had a free sausage sizzle. It was a really fun night out and Zoe really enjoyed herself.

    We got home well past her bedtime, so getting her settled and into bed quickly was a little bit of a challenge, but we got there eventually.

    Gabriel Noronha: New Electricity Retailer

    Thu, 2014-09-04 20:26

    So after crunching some more numbers and reading the green peace green energy guide I decided to change electricity retailers. Based of my need for a high VFIT (see previous post )  it was a choice between AGL (current provider), Click Energy and Diamond Energy.

    Power Saving Calculations

    Ok so the savings it’s not completely fair on AGL $55 of that $70 saving is 100% green energy which I’m not longer buying.  As click doesn’t offer it on their solar plan. but i can buy green energy from the a environmental trust for 4.2c/kWh and it’s a tax deduction.

    Click saved me the most money has no contracts over AGLs 3 year killer and Diamonds 1 year one, it was also rated by green peace as middle range green. I’ve decided to move to click energy I’ll officially switch at my next meter read.

    What about Gas well it’s going to switched later when click supports it. from twitter today:

    It’s official! We’re pleased to announce Click Energy will be a #naturalgassupplier by the end of the year http://t.co/SOtVNIIDJK

    — Click Energy (@click4energy) September 4, 2014

    If I’ve convinced you to switch and you want to get $50 click has a mates rates referral program  drop me a message and we’ll go from there.

    Russell Coker: Inteltech/Clicksend SMS Script

    Thu, 2014-09-04 15:26

    USER=username

    API_KEY=1234ABC

    OUTPUTDIR=/var/spool/sms

    LOG_SERVICE=local1

    I’ve just written the below script to send SMS via the inteltech.com/clicksend.com service. It takes the above configuration in /etc/sms-pass.cfg where the username is assigned with the clicksend web page and the API key is a long hex string that clicksend provides as a password. The LOG_SERVICE is which syslog service to use for the log messages, on systems that are expected to send many messages I use the service “local1″ and I use “user” for development systems.

    I hope this is useful to someone, and if you have any ideas for improvement then please let me know.

    #!/bin/sh

    # $1 is destination number

    # text is on standard input

    # standard output gives message ID on success, and 0 is returned

    # standard error gives error from server on failure, and 1 is returned

    . /etc/sms-pass.cfg

    OUTPUT=$OUTPUTDIR/out.$$

    TEXT=`tr "[:space:]" + | cut -c 1-159`

    logger -t sms -p $LOG_SERVICE.info "sending message to $1"

    wget -O $OUTPUT "https://api.clicksend.com/http/v2/send.php?method=http&username=$USER&key=$API_KEY&to=$1&message=$TEXT" > /dev/null 2> /dev/null

    if [ "$?" != "0" ]; then

      echo "Error running wget" >&2

      logger -t sms -p $LOG_SERVICE.err "failed to send message \"$TEXT\" to $1 – wget error"

      exit 1

    fi

    if ! grep -q ^.errortext.Success $OUTPUT ; then

      cat $OUTPUT >&2

      echo >&2

      ERR=$(grep ^.errortext $OUTPUT | sed -e s/^.errortext.// -e s/..errortext.$//)

      logger -t sms -p $LOG_SERVICE.err "failed to send message \"$TEXT\" to $1 – $ERR"

      rm $OUTPUT

      exit 1

    fi

    ID=$(grep ^.messageid $OUTPUT | sed -e s/^.messageid.// -e s/..messageid.$//)

    rm $OUTPUT

    logger -t sms -p $LOG_SERVICE.info "sent message to $1 with ID $ID"

    exit 0

    Related posts:

    1. Parsing Daemontools/Multilog dates in Shell Script I run some servers that use the DJB Daemontools to...

    Jeremy Kerr: Customising OpenPower firmware

    Thu, 2014-09-04 00:26

    Now that the OpenPower sources are available, it's possible to build custom firmware images for OpenPower machines. Here's a little guide to show how that's done.

    The build process

    OpenPower firmware has a number of different components, and some infrastructure to pull it all together. We use buildroot to do most of the heavy lifting, plus a little wrapper, called op-build.

    There's a README file, containing build instructions in the op-build git repository, but here's a quick overview:

    To build an OpenPower PNOR image from scratch, we'll need a few prerequisites (assuming recent Ubuntu):

    sudo apt-get install cscope ctags libz-dev libexpat-dev libc6-dev-i386 \ gcc g++ git bison flex gcc-multilib g++-multilib libxml-simple-perl \ libxml-sax-perl

    Then we can grab the op-build repository, along with the git submodules:

    git clone --recursive git://github.com/open-power/op-build.git

    set up our environment and configure using the "palmetto" machine configuration:

    . op-build-env op-build palmetto_defconfig

    and build:

    op-build

    After a while (there is quite a bit of downloading to do on the first build), the build should complete successfully, and you'll have a PNOR image build in output/images/palmetto.pnor.

    If you have an existing op-build tree around (colleagues working on OpenPower perhaps?), you can share or copy the dl/ directory to save on download time.

    The op-build command is just a shortcut for a make in the buildroot tree, so the general buildroot documentation applies here too. Just replace "make" with "op-build". For example, we can enable a verbose build with:

    op-build V=1 Changing the build configuration

    Above, we used a palmetto_defconfig as the base buildroot configuration. This defines overall options for the build; things like:

    • Toolchain details used to build the image
    • Which firmware packages are used
    • Which packages are used in the petitboot bootloader environment
    • Which kernel configuration is used for the petitboot bootloader environment

    This configuration can be changed through buildroot's menuconfig UI. To adjust the configuration:

    op-build menuconfig

    And busybox's configuration interface will be shown:

    As an example, let's say we want to add the "file" utility to the petitboot environment. To do this, we can nagivate to that option in the Target Packages section (Target Packages → Shell and Utilities → file), and enable the option:

    Then exit (saving changes) and rebuild:

    op-build

    - the resulting image will have the file command present in the petitboot shell environment.

    Kernel configuration

    There are a few other configuration targets to influence the build process; the most interesting for our case will be the kernel configuration. Since we use petitboot as our bootloader, it requires a Linux kernel for the initial bootloader environment. The set of drivers in this kernel will dictate which devices you'll be able to boot from.

    So, if we want to enable booting from a new device, we'll need to include an appropriate driver in the kernel. To adjust the kernel configuration, use the linux-menuconfig target:

    op-build linux-menuconfig

    - which will show the standard Linux "menuconfig" interface:

    From here, you can alter the kernel configuration. Once you're done, save changes and exit. Then, to build the new PNOR image:

    op-build Customised packages

    If you have a customised version of one of the packages used in the OpenPower build, you can easily tell op-build to use your local package. There are a number of package-specific make variables documented in the buildroot generic package reference, the most interesting ones being the _VERSION and _SITE variables.

    For example, let's say we have a custom petitboot tree that we want to use for the build. We've committed our changes in the petitboot tree, and want to build a new PNOR image. For the sake of this example, the git SHA petitboot commit we'd like to build is 2468ace0, and our custom petitboot tree is at /home/jk/devel/petitboot.

    To build a new PNOR image with this particular petitboot source, we need to specify a few buildroot make variables:

    op-build PETITBOOT_SITE=/home/jk/devel/petitboot \ PETITBOOT_SITE_METHOD=git \ PETITBOOT_VERSION=2468ace0

    This is what these variables are doing:

    • PETITBOOT_SITE=/home/jk/devel/petitboot - tells op-build where our custom source tree is. This could be a git URL or a local path.
    • PETITBOOT_SITE_METHOD=git - telsl op-build that PETITBOOT_SITE is a git tree. If we were using a git:// URL for PETITBOOT_SITE, then this variable would be set automatically
    • PETITBOOT_VERSION=2468ace0 - tells op-build which version of petitboot to checkout. This can be any commit reference that git understands.

    The same method can be used for any of the other packages used during build. For OpenPower builds, you may also want to use the SKIBOOT_* and LINUX_* variables to include custom skiboot firmware and kernel in the build.

    If you'd prefer to test new sources without committing to git, you can use _SITE_METHOD=local. This will copy the source tree (defined by _SITE) to the buildroot tree and use it directly. For example:

    op-build SKIBOOT_SITE=/home/jk/devel/skiboot \ SKIBOOT_SITE_METHOD=local

    - will build the current (and not-necessarily-committed) sources in /home/jk/devel/skiboot. Note that buildroot has no way to tell if your code has changed with _SITE_METHOD=local. If you re-build with this, it's safer to clean the relevant source tree first:

    op-build skiboot-dirclean

    Andrew Pollock: [life] Day 217: Father's Day at Kindergarten, spring cleaning, and swim class

    Thu, 2014-09-04 00:25

    I managed to crank out a 10 km run this morning. I was even happy with the pace of it.

    I had my chiropractic appointment, and then the cleaners that I'd booked for a deep spring clean of my apartment descended on the place to get to work. Not long after that, it was time to head to Kindergarten for their Father's Day morning tea extravaganza.

    Because my baking hadn't turned out to my satisfaction, I had to swing by Brumby's on the way there to get some last minute stuff, which made me about 10 minutes late. I got a phone call from Jason as I was walking in asking how far away I was, because Zoe was worried about where I was.

    What ensued was a lovely morning. Zoe dragged me all over the playground, despite me being quite familiar with the Kindergarten, and then we played some group games and had morning tea. Dad arrived just in time for morning tea.

    After that, we made pin-on paper neck ties (apparently Father's Day is all about the neck tie) and then it was time to go.

    I got back just as the cleaners were finishing up, and used the remaining couple of hours to do some emails and phone calls before biking back to Kindergarten to pick Zoe up.

    We had some time to kill before her swim class, so we went to the park near the pool, and Zoe did some more monkey bar practice.

    After swim class we biked home, and had a nice dinner.

    Lev Lafayette: Stepping Down as President of Linux Users Victoria and 2014 Committee (President and Secretary's) Report 2014

    Wed, 2014-09-03 23:28

    LUV annual general meetings are typically our smallest meetings of the year. It is a bold and few technically-inspired individuals who wish to sit through the necessary administrivia that keep the organisation alive in a formal sense, and the lack of an advertised speaker does suggest the possibility of ad-hoc pot-luck when it comes the short, technical lightning talks. However, I would like to make a special plea for LUV members to attend this agm. The reason being is that, after four years as president of LUV, I am going to step down from this position.

    read more

    BlueHackers: Follow up

    Wed, 2014-09-03 00:00

    I have a mental illness. From consuming weed for those years. I have major depression & anxiety. I also get paranoid about germs/what people think of me/my health. I think sometimes I make things worse for myself. The best thing that has ever happened is meeting my lovely Becci. She definitely has taken my unwell self and made me well. I had long quit the weed. But recovering from heavy usage takes the brain a while. Years in fact. I have been in and out of work. Fired for having a mental illness (CBA) and more recently as in last year my mother doused herself in gasoline and set herself alight. I haven’t walked easy street. But I try to keep my head up and wits about me. I have a family to care for an my grandparents who helped raise me quite a bit. Well a lot.