Day 3 of lca2010 and I had 3.5 hours sleep last night but got up early anyway and did some stick and pole weapons training with Ian Beardslee which was great fun.
This morning Benjamin Mako Hill gave the keynote. I met Mako years ago and he has always been a massive inspiration. He’s spoken, written and hacked on software freedom for many years, a freedom fighter from way back. 🙂
In his keynote he talked about empowerment and autonomy rather than licences. “Who controls the technology, controls how I get to use it. So the question of who controls software is a profound and political question.” He spoke about “antifeatures“, features that users hate and would even pay money to have removed. Mako holds that these antifeatures are very common and everyone deals with them. He gave four key categories of antifeatures:
- Protection money – pay us so you are kept safe. For instance Gator, which was spyware installed on 35 million Windows computers that replaced banner ads with other ads. It shipped with other software so many users didn’t even know they had it. DivX for instance had a free download that had Gator, or you could get the “premium” version for $19.95 which was exactly the same software but without the Gator spyware. Wow.
- Market segmentation (price discrimination) – for example Windows NT Workstation 4.0 vs the Server product. The workstation was basically artificially limited (although the actual code was identical) by a single registry key that identified whether the machine was a server or workstation. The differences were very limiting, for instance the workstation version could only have 10 TCP connections. Another example of market segmentation in this way is different versions of Windows even today will allow different limits of RAM, which again is a completely artificial limitation aimed at “segmenting the market” to charge different amounts. Vista Starter for instance apparently limits you to 3 graphical applications running simultaneously.
- Securing monopolies – Panasonic released a firmware update for their cameras, which would identify whether the camera was third party and prevent the camera from turning on unless it was a genuine battery. Other camera companies have written similar firmware updates to make third party batteries not use power saving and so appear to be worse quality than a brand name battery.
- “Protecting” copyrights (“from whom?”) – an example is that unskippable track at the beginning of DVDs.
He talked about how network services are creating new and interesting roadblocks to personal empowerment and autonomy and a bunch more. It was a highly informative and entertaining talk, so watch it! Also check out his Unhappy Birthday website.
Then I went to Richard Jones’ Games programming Tutorial, which I was really excited to see as I’ve always wanted to develop games, but had only got as far as some Battle for Wesnoth campaign development, which is more like marked up creative writing 🙂 (but loads of fun).
I took a bunch of notes about games development, but it would be most useful to actually watch the tutorial and check out of Richard’s slides and material. It’s a great tutorial for all ages 🙂
My notes on collision detecting were:
Most common way of collision detection is the use of axis-aligned bounding boxes (squares). For example, one around the character, and then one around the ground and then when the boxes overlap they are colliding. Much faster than pixel-perfect collision detection. We used circle-circle collision detection, however there are also hash maps for more complications collision detection such as used in “bullet hell” games. This defines a grid on the screen and detects where in the grid each items are to determine what is overlapping.
By the end of the session (which just flew past) I had a basic but working Asteroids game! Now I just need to learn more Python and I intend on taking up the recommendations and get into more study. Thanks Richard!! He recommended the “Invent with Python” online book to check out, even though it was written for 12 yr olds 🙂 Also check out PyCon Au.
I then spoke to Pamela Fox about applying Wave to a Public Sphere government consultation. I’m not sure how yet, but I have the feeling there could be some very clever way too do this. I need to think about it more.
I attended Matthew Garrett’s talk on “Social success in (and for) the Linux community”. I always enjoy Matthew’s talks, just the right mix of dry humour and cutting cynicism — very British. 😉
First he spoke about who the Linux community is:
- Developers – people who make it
- Users – people who use it
- Anyone who cares enough to participate and count themselves in the community
Matthew observed “As a community we are very hostile”. He talked a bit about how obvious people are about minorities in the community, and gave a great example of women. He said that pointing out to people that they are in fact quite obviously different is not endearing. He posed the question “what is acceptable?”:
“The idea that we should be nice to each other does not mean that we can’t have fun.” Completely agree. I get so sick of inappropriate humour that marginalises people in the community. Great point! It’s much better to create a community where everyone feels comfortable and enthused to contribute and make the project rock! Matthew pointed out that as a community we often value code above all else, but this isn’t necessarily a good thing, and we should be thinking about what we want our community to be and then make a choice.
Matthew said in Q&A that he used to be very abusive and got a lot of attention for that, however he’s realised over time that he can earn respect through his contributions to the community and doesn’t need the other sort of attention. This was a very useful and personal insight to this kind of behaviour in projects.
I watched Andrew Tridgell and Bob Edwards give a great talk about “Teaching FOSS at universities”. Basically they ran a course last year as a bit of an experiment to see whether it was feasible to teach people the technical and community methods of FOSS in the context of a university. Tridge says it was a resounding success and encourages us to suggest this kind of course to other universities. They are repeating the course in April 2010 and it looks very interesting. It would be great to get this kind of courseware into schools as it would help all students understand how to engage online, how to contribute to an online project and how to apply FOSS principles to other areas.
The final talk I attended today was Paul Fenwick’s “Worst inventions”. He compared leeches in glass bottles from one 18th Century invention with social networking, because the inventor said *glass* bottles were used so the “little comrades… were not in social isolation”.
He described some rather terrible inventions over the years, a few are below:
- “Cabbage Patch Snacktime – Eats Human Flesh
- Bindeez which as it turns out got children high as the water activated soluble when made wet would create GHB, otherwise known as Ecstasy.
- The “Atomic Energy Lab” for the budding nuclear physicist which had actual uranium, and a comic book called “Learn how Dagwood splits the atom”. Hilarious!
The night finished with a Girl Geek Dinner with about 30 attendees. We had an amazing dinner at the Little India restaurant and Amber the dinner organiser also managed to coordinate heaps of prizes which was fantastic, thanks Amber! I managed to score an awesome KiwiCon tshirt from Joh which has Bruce Campbell on the back, and being a big Army of Darkness fan, I’ve been quoting Ash all night. 🙂 It’s always great to catch up with a bunch of other technical women to just chill and not be the odd one out for a little while.
Other cool things I came across today include:
- Robots & Dinosaurs
- Matt Zimmerman’s blog commentary on lca2010
- Richard Feynman and his lecture series on the character of physical law
- Jennifer Government — a book by Max Barry
- Guide to Pirate Parenting – a book I bought for Jeff (no, I’m not pregnant) for Christmas and wanted to point it out to Brenda who was asking about it today 🙂
Below are a couple of photos I’ve taken this last week to keep it interesting 🙂