Planet Linux Australia
Worky work. There’s a building site across the road from work, and the three jackhammers are *really* starting to get to me. It used to be the case that I could kind of ignore them until later in the day, and only then would they get on my nerves. Now, ten minutes after I get in and I’m grumpy.
A Humbug member organised an OpenBSD hackathon at UQ this week, and tonight they held a few talks about what they’d been working on. Some of it was interesting, just to get an insight of where BSD is. A lot of it was just complaining about other Open Source projects and standards committees not doing things in the correct way. They are trying to do something things to improve the situation, but I still feel like they’re being arrogant about much of it.
Filed under: diary
Waking up in Brisbane again.
After work I organised a bowling night for my birthday. It ended up working out quite well I think, except that the dj outside the venue and the constant music inside bore down on me.
Filed under: diary
Ever worked at a company (or on a codebase, or whatever) where it seemed like, no matter what the question was, the answer was written down somewhere you could easily find it? Most people haven’t, sadly, but they do exist, and I can assure you that it is an absolute pleasure.
On the other hand, practically everyone has experienced completely undocumented systems and processes, where knowledge is shared by word-of-mouth, or lost every time someone quits.
Why are there so many more undocumented systems than documented ones out there, and how can we cause more well-documented systems to exist? The answer isn’t “people are lazy”, and the solution is simple – though not easy.Why Johnny Doesn’t Read
When someone needs to know something, they might go look for some documentation, or they might ask someone else or just guess wildly. The behaviour “look for documentation” is often reinforced negatively, by the result “documentation doesn’t exist”.
At the same time, the behaviours “ask someone” and “guess wildly” are positively reinforced, by the results “I get my question answered” and/or “at least I can get on with my work”. Over time, people optimise their behaviour by skipping the “look for documentation” step, and just go straight to asking other people (or guessing wildly).Why Johnny Doesn’t Write
When someone writes documentation, they’re hoping that people will read it and not have to ask them questions in order to be productive and do the right thing. Hence, the behaviour “write documentation” is negatively reinforced by the results “I still get asked questions”, and “nobody does things the right way around here, dammit!”
Worse, though, is that there is very little positive reinforcement for the author: when someone does read the docs, and thus doesn’t ask a question, the author almost certainly doesn’t know they dodged a bullet. Similarly, when someone does things the right way, it’s unlikely that anyone will notice. It’s only the mistakes that catch the attention.
Given that the experience of writing documentation tends to skew towards the negative, it’s not surprising that eventually, the time spent writing documentation is reallocated to other, more utility-producing activities.Death Spiral
The combination of these two situations is self-reinforcing. While a suitably motivated reader might start by strictly looking for documentation, or an author initially be enthused to always fully documenting their work, over time the “reflex” will be for readers to just go ask someone, because “there’s never any documentation!”, and for authors to not write documentation because “nobody bothers to read what I write anyway!”.
It is important to recognise that this iterative feedback loop is the “natural state” of the reader/author ecosystem, resulting in something akin to thermodynamic entropy. To avoid the system descending into chaos, energy needs to be constantly applied to keep the system in order.The Solution
Effective methods for avoiding the vicious circle can be derived from the things that cause it. Change the forces that apply themselves to readers and authors, and they will behave differently.
On the reader’s side, the most effective way to encourage people to read documentation is for it to consistently exist. This means that those in control of a project or system mustn’t consider something “done” until the documentation is in a good state. Patches shouldn’t be landed, and releases shouldn’t be made, unless the documentation is altered to match the functional changes being made. Yes, this requires discipline, which is just a form of energy application to prevent entropic decay.
Writing documentation should be an explicit and well-understood part of somebody’s job description. Whoever is responsible for documentation needs to be given the time to do it properly. Writing well takes time and mental energy, and that time needs to be factored into the plans. Never forget that skimping on documentation, like short-changing QA or customer support, is a false economy that will cost more in the long term than it saves in the short term.
Even if the documentation exists, though, some people are going to tend towards asking people rather than consulting the documentation. This isn’t a moral failing on their part, but only happens when they believe that asking someone is more beneficial to them than going to the documentation. To change the behaviour, you need to change the belief.
You could change the belief by increasing the “cost” of asking. You could fire (or hellban) anyone who ever asks a question that is answered in the documentation. But you shouldn’t. You could yell “RTFM!” at everyone who asks a question. Thankfully that’s one acronym that’s falling out of favour.
Alternately, you can reduce the “cost” of getting the answer from the documentation. Possibly the largest single productivity boost for programmers, for example, has been the existence of Google. Whatever your problem, there’s a pretty good chance that a search or two will find a solution. For your private documentation, you probably don’t have the power of Google available, but decent full-text search systems are available. Use them.
Finally, authors would benefit from more positive reinforcement. If you find good documentation, let the author know! It requires a lot of effort (comparatively) to look up an author’s contact details and send them a nice e-mail. The “like” button is a more low-energy way of achieving a similar outcome – you click the button, and the author gets a warm, fuzzy feeling. If your internal documentation system doesn’t have some way to “close the loop” and let readers easily give authors a bit of kudos, fix it so it does.
Heck, even if authors just know that a page they wrote was loaded N times in the past week, that’s better than the current situation, in which deafening silence persists, punctuated by the occasional plaintive cry of “Hey, do you know how to…?”.
Do you have any other ideas for how to encourage readers to read, and for authors to write?
A very early start for the flight back to Brisbane.
Collapse into bed basically as soon as I get home.
Filed under: diary
Went to a few of the exhibits that had caught my eye when looking for things to do in Melbourne.
The Walkley photography in journalism exhibit at the State Library of Victoria was a small set of high quality, moving photos.
Spent a large chunk of the day at the National Gallery of Victoria, practically everyone else was there to see some Paul Gaultier fashion thing, while I was there to see Alex Prager who does elaborate photography and film work. I was a little surprised that every exhibit, bar Gaultier, was free, so went through pretty much everything there, history, design, jewellery, art, modern.
A nice long dinner with F followed by a cup of tea at her place with M.
Filed under: diary
Catch up and breakfast with F. Straight after went for a walk with F&M to do a little shopping..and to make sure I got on the right tram for my next appointment.
Coffee and tea and lunch with M followed by a park wedding critique.
Killing some time in a gift store, found a world map covered in scratchy material that you scratch off once you’ve travelled to a place, bought for a Brisbane friend who travels a lot.
Dinner with D&P, then laps of Melbourne looking for a parking spot to grab gelato. Way too many people for me to be comfortable down there.
Filed under: diary
Bringing more stuff into work for this evenings Melbourne flight.
Flew to Melbourne, it was kind of hot! I tried to use the several phone apps to figure out the trams, but despite google maps knowing I was in Melbourne, all the apps still thought I was in Brisbane. With help from a local friend got the tram to the hotel.
Filed under: diary
Bringing more stuff into work for the Melbourne trip, bus is easier than walking with all that.
Walked home from work.
Filed under: diary
Walked to work.
Lunch with a friend at her workplace, bumped into another friend who just started working there :)
Filed under: diary
Britain’s three main parties made an extraordinary joint commitment to cut greenhouse gas emissions, including ending power generation from high-emitting coal plants. Announced in a statement on Saturday, the agreement between the Conservatives, Labour and Liberal Democrats did not give a time frame for phasing out plants unless they have emissions capturing technology. But campaigners welcomed the cross-party announcement and said Britain was the first major economy to make such an explicit promise. Prime Minister David Cameron, Deputy Prime Minister Nick Clegg and Opposition Leader Ed Miliband said that acting on climate change was “an opportunity for the UK to grow a stronger economy, which is more efficient and more resilient to the risks ahead”.
With the 1.0 virtio standard finalized by the committee (though minor non-material corrections and clarifications are still trickling in), Michael Tsirkin did the heavy lifting of writing the Linux drivers (based partly on an early prototype of mine).
But I wanted an independent implementation to test: both because OASIS insists on multiple implementations before standard ratification, but also because I wanted to make sure the code which is about to go into the merge window works well.
Thus, I began the task of making lguest understand PCI. Fortunately, the osdev wiki has an excellent introduction on how to talk PCI on an x86 machine. It didn’t take me too long to get a successful PCI bus scan from the guest, and start about implementing the virtio parts.
The final part (over which I procrastinated for a week) was to step through the spec and document all the requirements in the lguest comments. I also added checks that the guest driver was behaving sufficiently, but now it’s finally done.
It also resulted in a few minor patches, and some clarification patches for the spec. No red flags, however, so I’m reasonably confident that 3.20 will have compliant 1.0 virtio support!
The Linux Security Summit for 2015 will be held across 20-21 August, in Seattle, WA, USA. As with previous events, we’ll be co-located with LinuxCon.
Preliminary event details are available at the event site:
A CFP will be issued soon — stay tuned!
So, Anton got some useful code working that I could patch into a MySQL server for testing purposes – a POWER8 optimized CRC32 implementation.
I went with a pretty stock MySQL 5.6.22 (one patch) with sysbench preparing a single 2GB table (10,000,000 rows). I then hacked up innochecksum so that it would only do the correct CRC32 (rather than trying each checksum type). Using the standard CRC32 algorithm it took around three seconds to verify all of the checksums. With a POWER8 optimized CRC32: 0.4-0.5 seconds. Useful speed-up!
I then ran sysbench read/write with 16 threads with oltp-table-size=10000 (on the larger table) to see if there would be an improvement in a “real world” workload. I got about 30% better performance on read/write operations!
Using perf to see where CPU was going, CPU time spent doing CRC32 calculations went down from ~2.5% to ~0.25%!
In theory, we should be able to get about 52GiB/sec of CRC32 out of a 4.1Ghz POWER8 core. I don’t think we’ll be hitting this in MySQL any time soon.
Give us another week or two and we’ll likely have a patch that’s ready to merge.
Initial benchmarks look promising though!
I think this is my current “okay, I don’t have to worry about RAM” list currently:
- Phone/Tablet: 2GB
- Laptop: 8GB (although 8GB is better… 4GB is tolerable IFF SSD)
- Development server: 16GB (32GB if shared) (emacs+gcc)
- Box for testing things: 128GB (virtualization, databases)
This is… kind of mind bending.
It's a script that I created to save space. It creates a copy of the filesystem hierarchy at a remote location locally with zero sized files to save space. https://sites.google.com/site/dtbnguyen/create_empty_structure-1.00.zip
Have been trying to build more complex software synthesisers of late within Reaktor. To this I've had to learn some other stuff including how to mix sound sources from various sources using a mixer. You can download my experiment from here:https://sites.google.com/site/dtbnguyen/Stereo-Mixer-Example-1.ens
Added a new playlist called, 'Fun-17-Jan-15' to my YouTube profile.https://www.youtube.com/channel/UCwVJG67iHHPbmBxuHVbyOlw/playlists
I've been wondering what the fuss regarding 'pinterest' was all about. Pretty pictures...http://www.pinterest.com/dtbnguyen/
Apple's iTunes isn't the only way of synchronising your iPod. There are alternative third party applications as well.
If you've spent most of your life in the developed world or have had a relatively privileged upbringing some of the stuff that happens around the world is shocking. Even if you never make a donation just reading some of what happens out there puts things into perspective.
If you've ever used a non-persistent operating system there are often some incogruities. One of them are odd security difficulties. Do the following to get access to the web CUPS interface.
sudo usermod -aG lpadmin
sudo /etc/init.d/cups restart
Sound stretching utility. Basically turns a standard sound file into a 'Soundscape'.
If you've ever wanted free Internet access this is one option although there are limitations.
If you've never worked with REX files (with Ableton and Recycle particularly) before the following may be of use to you.https://www.youtube.com/watch?v=PtvCpOEwKa0https://www.youtube.com/channel/UCrMq8eC2Wx40V9XuN4KI3Og
ADSR Sound Design & Synth Tutorials
Basically social networking/a website for musical collaboration.https://www.facebook.com/blendhq
I've been struggling with how to work more easily (I prefer to work purely based on sound or based on memorisation but sometimes even this is not possible with the way some synthesisers are designed so having these removes another issue from the 'problem set') with scales under Ableton for a while now. These preset files should hopefully make things a bit easier.
If you don't have the money for the Ableton Push there are lots of other options out there if you look carefully.http://motscousus.com/stuff/2011-07_Novation_Launchpad_Ableton_Live_Scripts/ http://createdigitalmusic.com/2009/06/apc40-hacking-superguide-monome-emulator-midi-tricks-and-the-handshake/
Other ways to make money as a musician while studying:- offer to lease out studio- offer to sell (produce/compose/teach) your skills- buy/sell/lease out equipment at a profit
Interactive map for this route.
Tags for this post: blog canberra tuggeranong geocaching
Related posts: Geocaching; Geocaching in the evening; Another lunch time walk; Lunchtime geocaching; Big Monks; Confessions of a middle aged orienteering marker
At Bradley Kuhn’s talk at linux.conf.au this year, I was surprised and disappointed to see a slide quoting some FUD (in the traditional Fear-Uncertainty-Doubt model, a la the Microsoft Halloween documents from back in the day) about the GPL and the SFLC’s enforcement thereof. Here’s the quote:
This is not just a theoretical concern. As aggressively as the BSA protects the interests of its commercial members, [GPL enforcers] protect the GPL license in high-profile lawsuits against large corporations. [FSF] writes about their expansion of “active license enforcement”. So the cost of compliance with copyleft code can be even greater than the use of proprietary software, since an organization risks being forced to make the source code for their proprietary product public and available for anyone to use, free of charge. [...]
The Apache Advantage
However, not all open source licenses are copyleft license. A subset of open source licenses, generally called “permissive” licenses, are much more friendly for corporate use.
The quote/slide is available at about 20m into Bradley’s talk. A quick google reveals the source of this as a page from openoffice.org which is, indeed, an Apache project. The revision history for that page is available via subversion.
The elisions in Bradley’s quote changed “the Software Freedom Law Centre” (Bradley’s employer) to “GPL enforcers”, simplified the reference to the FSF, and dropped off a couple of sentences of qualification:
To mitigate this risk requires more employee education, more approval cycles, more internal audits and more worries. This is the increased cost of compliance when copyleft software is brought into an organization. This is not necessarily a bad thing. It is just the reality of using open source software under these licenses, and must be weighed in considered as one cost-driver among many.
I don’t really think any of that changes Bradley’s point: the Apache Foundation is really saying that the GPL and the SFLC is worse than the BSA and proprietary licenses.
After getting home from LCA, I thought it was worth writing to the Apache Foundation about this. I tried twice, on 22nd January and again on 1st February. I didn’t receive any response.
From: Anthony Towns
I was at Bradley Kuhn’s talk at linux.conf.au 2015 last week, and was struck by a quote he attributed to the Apache Software Foundation which compared the SFLC’s efforts to enforce GPL compliance with the BSA’s campaigns on software piracy, and then went on to call the SFLC worse. The remarks and slide can be found at approximately the 20 minute mark in the recording on youtube:
Doing a google search for the quote, I found a hit on the Apache OpenOffice.org website:
which although it’s a (somewhat major) project rather than the apache site itself, doesn’t give any indication that it’s authored or authorised by someone other than the Apache Foundation.
I couldn’t find any indication via web.archive.org that that page predated Apache’s curation of the OpenOffice.org project (I wondered if it might have been something Oracle would write, rather than the Apache Foundation). Doing some more searching, I found a svn log that seems to indicate it’s primarily authored by Rob Weir with minor edits by Andrea Pescetti (who I understand is the VP for Apache OpenOffice):
Is this really an accurate representation of the Apache Foundation’s current stance on copyleft licenses, the GPL and the SFLC’s enforcement efforts?
Apparently we now live in a world where Microsoft happily releases GPL-licensed software, while the Apache Foundation happily spreads FUD against it.
Thanks to Vroom Vroom Vroom, Student Flights and Dejan SEO for coming on Board with Mini Sponsorship Tickets:
VroomVroomVroom.com.au is an innovative website idea, comparing the prices of car rentals for web users. This save customers valuable time, replacing numerous phone calls with a few simple clicks on the internet. VroomVroomVroom is the leading web site offering this kind of service in Australia and continues to progress in making the car rental process more transparent, nationwide.
StudentFlights.com.au is a website geared towards budget travellers. With customers such as students, backpackers and under 25 year olds; the site remains relevant to a younger, more internet savvy and price conscious customers.
Dejan SEO is pleased to be able to give back to WordCamp by securing these three internet businesses to as mini sponsors.
Freenet Antennas came to our rescue to help out with getting Wireless access for the weekend, without them, we’d have had more Wireless problems over the weekend than we had!