pre-release: linux.conf.au meeting announcement

Please take a moment to review your details and reply with OK or edits.
Subject and below is what will go out and also will be used to title the videos.

Subject: 
ANN: linux.conf.au at Llewellyn Hall Mon January 28, 9p


linux.conf.au
=========================
When: 9 AM Monday January 28, 2013
Where: Llewellyn Hall

None

Topics
------
1. Keynote - Bdale Garbee


(Needs description.) 
 recording release: yes license: CC BY-SA  

2. Linux in Defence - Jamie Birse


(Needs description.) 
 recording release: yes license: CC BY-SA  

3. Welcome


(Needs description.) 
 recording release: yes license: CC BY-SA  

4. Audio / Video encoding and the clapperWebCamRecorder - Eric McCreath


(Needs description.) 
 recording release: yes license: CC BY-SA  

5. Delivering IaaS with Apache CloudStack - Joe Brockmeier


(Needs description.) 
 recording release: yes license: CC BY-SA  

6. OpenStack CI - Monty Taylor


(Needs description.) 
 recording release: yes license: CC BY-SA  

7. Introduction and State of MobileFOSS


(Needs description.) 
 recording release: yes license: CC BY-SA  

8. Miniconf TBA


(Needs description.) 
 recording release: yes license: CC BY-SA  

9. Tracking Vulnerable JARs - Arun Babu Neelicattu


(Needs description.) 
 recording release: yes license: CC BY-SA  

10. Syzix: heading off the beaten $PATH - Kevin Pulo


(Needs description.) 
 recording release: yes license: CC BY-SA  

11. Creating The Friendly Borgtel


(Needs description.) 
 recording release: yes license: CC BY-SA  

12. How OSS technology to help UTS:IT to build a virtualized  networking lab - Li Bing Chen and James Lucas


(Needs description.) 
 recording release: yes license: CC BY-SA  

13. project-builder.org - Bruno Cornec


(Needs description.) 
 recording release: yes license: CC BY-SA  

14. Samba 4.0 - Andrew Bartlett


(Needs description.) 
 recording release: yes license: CC BY-SA  

15. oVirt - Dan Macpherson


(Needs description.) 
 recording release: yes license: CC BY-SA  

16. Project Grimlock


(Needs description.) 
 recording release: yes license: CC BY-SA  

17. Open art and content creation tools - Andrew Pam


(Needs description.) 
 recording release: yes license: CC BY-SA  

18. SELinux Status Report - Russel Coker


(Needs description.) 
 recording release: yes license: CC BY-SA  

19. Fun with GStreamer Pipelines! - Tim Ansell


(Needs description.) 
 recording release: yes license: CC BY-SA  

20. Aeolus - Dan Macpherson


(Needs description.) 
 recording release: yes license: CC BY-SA  

21. Serval Maps


(Needs description.) 
 recording release: yes license: CC BY-SA  

22. The Finer Art of Being a Senior Sysadmin - Sheeri Cabral


(Needs description.) 
 recording release: yes license: CC BY-SA  

23. Asynchronous Block Storage Replication with MARS Light - Thomas Schobel-Theuer


(Needs description.) 
 recording release: yes license: CC BY-SA  

24. Browsers and HTML5 video accessibility - Silvia Pfeiffer


(Needs description.) 
 recording release: yes license: CC BY-SA  

25. Trusted Computing and Hadoop HDFS - Jason Cohen


(Needs description.) 
 recording release: yes license: CC BY-SA  

26. Why Arduino-enabled Mobile Phones Are Important 


(Needs description.) 
 recording release: yes license: CC BY-SA  

27. Miniconf TBA


(Needs description.) 
 recording release: yes license: CC BY-SA  

28. OzLabs.org: Administering a system for "smart people" -  Martin Schwenke and Stephen Rothwell


(Needs description.) 
 recording release: yes license: CC BY-SA  

29. Zuul - James Blair


(Needs description.) 
 recording release: yes license: CC BY-SA  

30. Ops: From bare metal to cloud space - Phil Ingram


(Needs description.) 
 recording release: yes license: CC BY-SA  

31. Configuration Management with Ansible - Daniel Hall


(Needs description.) 
 recording release: yes license: CC BY-SA  

32. VMs on VLANs on Bridges on Bonds on many NICs - Kim Hawtin


(Needs description.) 
 recording release: yes license: CC BY-SA  

33. Sound effects triggering with Tttrigger - Jonathan Woithe


(Needs description.) 
 recording release: yes license: CC BY-SA  

34. Zombie pancakes: rebooting Flapjack - Lindsay Holmwood


(Needs description.) 
 recording release: yes license: CC BY-SA  

35. Open Phoenux - The Open Phone


(Needs description.) 
 recording release: yes license: CC BY-SA  

36. Two years with Samba's autobuild - Andrew Bartlett


(Needs description.) 
 recording release: yes license: CC BY-SA  

37. CWDM: Coarse Wave Division Multiplexing - Glen Turner


(Needs description.) 
 recording release: yes license: CC BY-SA  

38. OpenStack Swift Overview - John Dickinson


(Needs description.) 
 recording release: yes license: CC BY-SA  

39. Getting started with a Podcast - Sheeri Cabral


(Needs description.) 
 recording release: yes license: CC BY-SA  

40. Security Models Running Amok - Casey Schaufler


(Needs description.) 
 recording release: yes license: CC BY-SA  

41. Communicating with third parties - Julien Goodwin


(Needs description.) 
 recording release: yes license: CC BY-SA  

42. JORN and the rise and fall of clustering - Jamie Birse


(Needs description.) 
 recording release: yes license: CC BY-SA  

43. Operating in an Ephemeral World - Steven Ellis


(Needs description.) 
 recording release: yes license: CC BY-SA  

44. Lightning Talks


(Needs description.) 
 recording release: yes license: CC BY-SA  

45. Remixing with FOSS - Pia Waugh


(Needs description.) 
 recording release: yes license: CC BY-SA  

46. MySQL Security - Sheeri Cabral


(Needs description.) 
 recording release: yes license: CC BY-SA  

47. Miniconf TBA


(Needs description.) 
 recording release: yes license: CC BY-SA  

48. The agony and ecstasy of CI: a war story - Stewart Smith


(Needs description.) 
 recording release: yes license: CC BY-SA  

49. MongoDB Replication & Replica Sets - Stephen Steneker


(Needs description.) 
 recording release: yes license: CC BY-SA  

50. Field Trialling the Serval Project with New Zealand Red Cross


(Needs description.) 
 recording release: yes license: CC BY-SA  

51. Another look at scaling monitoring - Devdas Bhagat


(Needs description.) 
 recording release: yes license: CC BY-SA  

52. Making SNMP work, despite vendors best efforts - Nick  Clifford


(Needs description.) 
 recording release: yes license: CC BY-SA  

53. Building an Appliance on Android


(Needs description.) 
 recording release: yes license: CC BY-SA  

54. MariaDB Galera Cluster - Daniel Black


(Needs description.) 
 recording release: yes license: CC BY-SA  

55. Lightning Talks


(Needs description.) 
 recording release: yes license: CC BY-SA  

56. Securing Linux with SELinux - Sander van Vugt


(Needs description.) 
 recording release: yes license: CC BY-SA  

57. testr - Robert Collins


(Needs description.) 
 recording release: yes license: CC BY-SA  

58. Serval Project Technology Stack


(Needs description.) 
 recording release: yes license: CC BY-SA  

59. The Grand Distributed Storage Debate: GlusterFS and Ceph going head to head - Florian Haas, Sage Weil, John Mark Walker


(Needs description.) 
 recording release: yes license: CC BY-SA  

60. Panel: Where in the stack does security belong?


(Needs description.) 
 recording release: yes license: CC BY-SA  

61. Slide guitar construction workshop - Jonathan Mettes


(Needs description.) 
 recording release: yes license: CC BY-SA  

62. blkreplay: Experiences with Commercial vs OpenSource  Storage Systems - Thomas Schöbel-Theuer


(Needs description.) 
 recording release: yes license: CC BY-SA  

63. Introduction to FirefoxOS


(Needs description.) 
 recording release: yes license: CC BY-SA  

64. Seven Ways to Crash Your PostgreSQL Server - Josh Berkus


(Needs description.) 
 recording release: yes license: CC BY-SA  

65. Keynote - Radia Perlman


(Needs description.) 
 recording release: yes license: CC BY-SA  

66. Solving Interesting Problems by Writing Parsers - Jacinta Richardson


(Needs description.) 
 recording release: yes license: CC BY-SA  

67. The Syzix Project - Kevin Pulo


(Needs description.) 
 recording release: yes license: CC BY-SA  

68. Implementing Threaded Accelerated Compositing in WebKit GTK+ - Gwang Yoon Hwang


(Needs description.) 
 recording release: yes license: CC BY-SA  

69. Feminism, anarchism and FOSS - Skye Croeser


(Needs description.) 
 recording release: yes license: CC BY-SA  

70. "State of the Federation" opening address


(Needs description.) 
 recording release: yes license: CC BY-SA  

71. Welcome - Tristan Goode


(Needs description.) 
 recording release: yes license: CC BY-SA  

72. Introduction to OpenStack - Joshua McKenty


(Needs description.) 
 recording release: yes license: CC BY-SA  

73. Open discussion about what we want to achieve by this time next year


(Needs description.) 
 recording release: yes license: CC BY-SA  

74. Making code more functional: Lambda land in layperson's language - Katie Miller & Steve Dalton


(Needs description.) 
 recording release: yes license: CC BY-SA  

75. Overcoming imposter syndrome - Denise Paolucci


(Needs description.) 
 recording release: yes license: CC BY-SA  

76. Defeating Cross-Site Scripting attacks with Content Security Policy - Francois Marier


(Needs description.) 
 recording release: yes license: CC BY-SA  

77. Service delivery panel


(Needs description.) 
 recording release: yes license: CC BY-SA  

78. Open Build System - Tim Serong


(Needs description.) 
 recording release: yes license: CC BY-SA  

79. The WebKit Browser Engine - An Overview - Dirk Schulze


(Needs description.) 
 recording release: yes license: CC BY-SA  

80. Intro to Swift for New Contributors - John Dickinson


(Needs description.) 
 recording release: yes license: CC BY-SA  

81. Have you been a lone unicorn - Robyn Willison


(Needs description.) 
 recording release: yes license: CC BY-SA  

82. Validating Core Parallel Software? - Paul E McKenney


(Needs description.) 
 recording release: yes license: CC BY-SA  

83. NeCTAR Research Cloud: OpenStack in Production - Tom Fifeld


(Needs description.) 
 recording release: yes license: CC BY-SA  

84. Reducing bugs with Boost/Test - Andrew McDonnell


(Needs description.) 
 recording release: yes license: CC BY-SA  

85. CyberWar: Mo' Metaphor, Mo' Money, Mo' Problems? - Joh Pirie-Clark


(Needs description.) 
 recording release: yes license: CC BY-SA  

86. Panel session


(Needs description.) 
 recording release: yes license: CC BY-SA  

87. All-around OpenStack storage with Ceph - Florian Haas


(Needs description.) 
 recording release: yes license: CC BY-SA  

88. PHP in 2013: generators, and password hashing, and finally (oh my!) - Adam Harvey


(Needs description.) 
 recording release: yes license: CC BY-SA  

89. Less flack, moar hack! - Kathy Reid


(Needs description.) 
 recording release: yes license: CC BY-SA  

90. Open data panel


(Needs description.) 
 recording release: yes license: CC BY-SA  

91. OpenStack and Linux Distros - Monty Taylor


(Needs description.) 
 recording release: yes license: CC BY-SA  

92. Open Source Cities - Fee Plumley


(Needs description.) 
 recording release: yes license: CC BY-SA  

93. AngularJS and the new web development ecosystem - Daniel Nadasi


(Needs description.) 
 recording release: yes license: CC BY-SA  

94. Bare metal provisioning with OpenStack - Devananda van der Veen


(Needs description.) 
 recording release: yes license: CC BY-SA  

95. Writing API extensions for Nova - Christopher Yeoh


(Needs description.) 
 recording release: yes license: CC BY-SA  

96. Web IDL: Defining Web APIs and Implementing Javascript Bindings - Cameron McCormack


(Needs description.) 
 recording release: yes license: CC BY-SA  

97. Participatory democracy & civic hacking panel


(Needs description.) 
 recording release: yes license: CC BY-SA  

98. Crowdsourcing upstream refactoring - Tom Marble and Bdale Garbee


(Needs description.) 
 recording release: yes license: CC BY-SA  

99. Recipe for making geek jewellery - Ruth Ellison


(Needs description.) 
 recording release: yes license: CC BY-SA  

100. Embedding everything in everything for fun and profit - Mark Aufflick


(Needs description.) 
 recording release: yes license: CC BY-SA  

101. Web Animations: unifying CSS Transitions, CSS Animations, and SVG - Shane Stephens


(Needs description.) 
 recording release: yes license: CC BY-SA  

102. The OpenStack Metering Project - Angus Salkeld


(Needs description.) 
 recording release: yes license: CC BY-SA  

103. Educating girls about FOSS with FOSS - Katie Miller


(Needs description.) 
 recording release: yes license: CC BY-SA  

104. Designing an efficient runtime library for AVR microcontrollers - Alastair D'Silva


(Needs description.) 
 recording release: yes license: CC BY-SA  

105. Lightweight PaaS on the NCI OpenStack Cloud - Kevin Pulo


(Needs description.) 
 recording release: yes license: CC BY-SA  

106. Reviewing FLOSS: experience and feedback from 10 years - Bruno Cornec and Paul Whyman


(Needs description.) 
 recording release: yes license: CC BY-SA  

107. The Horrible History of Web Development - Daniel Nadasi


(Needs description.) 
 recording release: yes license: CC BY-SA  

108. Lightning Talks


(Needs description.) 
 recording release: yes license: CC BY-SA  

109. What we can learn from Erlang - Tim McNamara


(Needs description.) 
 recording release: yes license: CC BY-SA  

110. Getting your talk accepted: write a convincing talk proposal - Jacinta Richardson


(Needs description.) 
 recording release: yes license: CC BY-SA  

111. Enabling Compute Clusters atop OpenStack - Enis Afgan


(Needs description.) 
 recording release: yes license: CC BY-SA  

112. py.test, Selenium, jQuery and the Pacific Ocean - Brianna Laugher


(Needs description.) 
 recording release: yes license: CC BY-SA  

113. Concurrent Programming is not so difficult - Daniel Bryan


(Needs description.) 
 recording release: yes license: CC BY-SA  

114. (c) assignment and governance hints - Michael Meeks


(Needs description.) 
 recording release: yes license: CC BY-SA  

115. Shared Panel with OpenStack


(Needs description.) 
 recording release: yes license: CC BY-SA  

116. Shared Panel with Open Government


(Needs description.) 
 recording release: yes license: CC BY-SA  

117. Robogals - Sam Cheah


(Needs description.) 
 recording release: yes license: CC BY-SA  

118. The Future of HTML5 Apps - Jeremy Apthorp


(Needs description.) 
 recording release: yes license: CC BY-SA  

119. Lightning Talks


(Needs description.) 
 recording release: yes license: CC BY-SA  

120. LibreOffice, distributions and packaging - Michael Meeks


(Needs description.) 
 recording release: yes license: CC BY-SA  

121. Speaker's dinner


(Needs description.) 
 recording release: yes license: CC BY-SA  

122. PDNS Breakfast


(Needs description.) 
 recording release: yes license: CC BY-SA  

123. Main conference opening


(Needs description.) 
 recording release: yes license: CC BY-SA  

124. Trinity: A Linux kernel fuzz tester (and then some)
Dave Jones

Started as a braindead fuzz-testing tool for calling system calls with random garbage, trinity has grown into a tool that (at time of writing) seems to be finding bugs in areas all over the kernel, from network protocols to filesystems, from virtual memory to virtualisation, and many more.

While the idea of system call fuzzing has been around for a long time (dating back to days even pre-dating Linux), this tool now uses a number of interesting techniques to find corner-case bugs, and increase overall coverage testing.

On startup, Trinity creates a lot of random metadata (sockets, file handles, memory mappings, etc), and passes them to syscalls as they request them. Results are stored, and passed on to other future syscalls (possibly made by different threads). All sorts of mayhem ensues.

Will include a demo runthrough, and discussion of some of the more interesting bugs that have been found so far.
 recording release: yes license: CC BY-SA  

125. Code up your own video conference in HTML5
Silvia Pfeiffer

In the last year, the specifications of WebRTC (real-time communication) have improved massively and first implementations of the PeerConnection API are available in Google Chrome and Opera.

Web developers are now able to imple­ment video con­fer­en­cing in Web pages with just a few lines of JavaS­cript code - given a server that provides connection setup functionality.

The Medi­aStream and Peer­Con­nec­tion objects provide some­thing fun­da­ment­ally dif­fer­ent from the tra­di­tional web: peer-to-peer con­nec­tions without an inter­me­di­ate relay. This present­a­tion will explain the new objects, dig into the challenges that had to be overcome to make this happen, and show a demo of their (still experimental) imple­ment­a­tion in the Chrome and Opera Web browsers. By the time of LCA, Mozilla may have experimental implementations, too.

 recording release: yes license: CC BY-SA  

126. Concurrent Programming with the Disruptor
Adrian Sutton

The disruptor is an open source library with a unique take on concurrent programming. Bucking the trend of moving higher up the stack, the disruptor focuses on mechanical sympathy - working in a way that best fits the way CPUs actually work. Contrary to popular belief, this leads to a simpler, more efficient architecture that actually makes development easier. This talk will introduce the disruptor, explain why its so fast and explain how to use it most effectively.
 recording release: yes license: CC BY-SA  

127. Making Mobile Communications Secure
Paul Gardner-Stephen

GSM/3G are surprisingly insecure, which is sad since good cryptographic frameworks exist.  During the past year the Serval Project has been working on integrating very strong security into voice, text and data transfers on a mesh network. Rather than implement a secure SIP and secure RTP combination, we have taken a fresh approach and created a light-weight but secure packet and voice transport that is designed from the ground up with mesh networking in mind.  One of the key innovations is using public keys as the network address, so that no key exchange or verification is required to setup an end-to-end encrypted channel.  Consideration has also been given to how to defeat man-in-the-middle attacks for peers who are not able to verify each others keys prior to connection.

The system will be demonstrated in it's intended application in open-source Serval Mesh telephones to allow secure telephone calls.

Part of the talk will discuss the technical details of the security model, but (hopefully) in a fairly accessible manner that most developers should be able to follow, and in particular avoiding getting buried in mathematics.  Feedback on the security model is invited so that any obvious vulnerabilities can be addressed before the software becomes widely distributed.
 recording release: yes license: CC BY-SA  

128. An Introduction to Linux IPC Facilities
Michael Kerrisk

Pipes, FIFOs, signals, datagram and stream sockets (and sockets in the Unix versus Internet domains), file locks (various kinds!), environment variables, memory mappings, event file descriptors (eventfd), pseudo-terminals, message queues, semaphores, shared memory, and good old regular files...  The range of interprocess communication and synchronization (often referred to collectively as IPC) facilities available on Linux can at first seem bewildering.  Which facilities should an application use?  This tutorial provides an overview of each of the IPC facilities, showing the features that the different facilities have in common, and the features that distinguish them.

The aims of this tutorial are to provide developers with examples of the use of each of the IPC facilities and the beginnings of a roadmap to help decide which IPC facilities are likely to be most suitable when writing new applications.  I'll compare different IPC facilities using measures such as portability, flexibility, ease of use, operational limits, configurability, persistence (lifetime), access control, integration with the traditional Unix "everything is a file" model and the UNIX/Linux API in general, and specific functional advantages and disadvantages. I'll also briefly consider whether one can make any general statements about relative performance of different IPC facilities.

Although aimed primarily at developers, other participants (e.g., system administrators) may find the tutorial useful for gaining greater insight into the operation, configuration, and management of the various IPC facilities.

A reading knowledge of C will be useful.
 recording release: yes license: CC BY-SA  

129. Think, Create & Critique Design
Andy Fitzsimon

my  slides http://ndftz.com/design.zip 
my checklist http://ndftz.com/posfter.pdf  
also online at http://ndftz.com/design 
speakers notes in a google doc: http://tinyurl.com/gdocsversion


google docs version with speakers notes : http://tinyurl.com/gdocsversion

Aesthetic design is not unicorn magic; It's a pragmatic & predictable process. Getting to know the syntax is more achievable than we think. 

Would you like to better understand why some things are ugly, off-putting or broken but  don't always know what to do about it? This talk is for you!

We'll run a marathon starting with the design fundamentals and journey right through to the worlds of user experience and interface design. 

Win a few arguments with designers, get insight into their realm and most importantly: think, create and critique — anything and everything until you understand it completely.
 recording release: yes license: CC BY-SA  

130. Userspace networking: fact or fiction?
Stephen Hemminger

Seven years ago at LCA, Van Jacobsen introduced the concept of net channels but since then the concept of user mode networking has not hit the mainstream. There are several different user mode networking environments: Intel DPDK, BSD netmap, and Solarflare OpenOnload. Each of these provides higher performance than standard Linux kernel networking; but also creates new problems. This talk will explore the issues created by user space networking including performance, internal architecture, security and licensing.
 recording release: yes license: CC BY-SA  

131. Open Source Digital Radio
David Rowe

Two way radio systems such as those used in Police, Fire, Military, Ham Radio and Humanitarian applications are going Digital.  Analog systems such as Single Sideband (SSB) and Frequency Modulation (FM) are being replaced by speech coding, radio modems, and forward error correction.

But there is a problem - current two way digital radio systems are based on proprietary, closed source technology.  Closed source policies are poised to lock us out of experimentation and innovation for the next generation of two way digital radio.

A group of Ham radio innovators are fighting against this trend, designing open source two way radio systems that out perform closed source alternatives. 

This presentation will explain digital radio systems in terms that are easy to understand for the average LCA attendee.  The open source systems we have developed will be explained and demonstrated, including tips on how to get started with your own digital radio experiments.
 recording release: yes license: CC BY-SA  

132. Ain't No Party Like A Unix Party
Adam Boileau

No hacker likes owning a windows box; who downs a "Domain Administrator whiskey" after popping an explorer.exe? No sir, its root whiskey after a shell, and we like it, like it, yes we do.

Join kiwi hacker Metlstorm in a collection of post-exploitation unix party tricks, the sort of thing that's going on in your hosting provider's appalling PHP webserver right now. You'll laugh, you'll cry, you'll immediately apply apparmour profiles to your apache! Whether its non-root rootkits, your desktop dbus dishing dirt on your discussions of dirty deeds, or your ssh shell sharing secrets surreptitiously, compromising Linux boxen is back in fashion. Its a POSIX party, and pam isn't the only one providing privilege!

 recording release: yes license: CC BY-SA  

133. Open Source and Open Data for Humanitarian Response with OpenStreetMap
Kate Chapman

The Humanitarian OpenStreetMap Team (HOT) applies the principles of open source and open data to humanitarian response and disaster preparedness. The OpenStreetMap project aims to make a free map of the entire world. Freely geographic information is specific valuable in disaster situations. Free data allows better decision making to be made for routing of supplies, internally displaced people to be registered more accurately, and better models to be build of impact before an event happens. HOT helps foster the availability and knowledge of free data and tools in two ways:

1. After a disaster happens the OpenStreetMap community responds to gather geographic data, modify tools, and provide support to humanitarian responders working on the ground. 

2. HOT helps communities preparing for and recovering from disasters, by teaching them to collect geographic information and use that information to make better decisions.

This talk will show how ones hacker, coder, admin, documentation, instructor, and other skills can help make a difference in preparation for events such as earthquakes, volcanoes, and tsunamis. The audience will learn more about the HOT toolset such as QuantumGIS, Java OpenStreetMap Editor, and a few tools we've built to fulfill specific needs.  At the end those that want to help the project and start helping, will have the necessary information to join.
 recording release: yes license: CC BY-SA  

134. Vampire Mice: How USB PM impacts you
Sarah Sharp

Did you know that your innocent USB mouse is actually a power-hungry battery-draining monster?  This talk explores the impact of USB devices on platform power consumption, and introduces some cool new power features in the Intel Ivy Bridge and Haswell USB host controllers.

USB devices have always been battery eaters.  A single active USB device will prevent runtime PM of USB host controllers, keep the CPU in higher C-states, and keep the system out of the new Intel S0i3 sleep states.  This talk will cover tools that can enable USB power management, including the USB power sysfs interface and the USB power options in PowerTop 2.0.  We'll also touch on the horrid little USB devices that break when power management is turned on, and how Linux customers can avoid purchasing them.

We'll also cover some cool new USB power management features that Intel has been stuffing into their Ivy Bridge and Haswell chipsets.  Ivy Bridge includes support for USB 3.0, and the new "Link Power Management" feature that allows individual links in the USB bus to power down.  Haswell includes support for a cool new mechanism to completely turn off USB ports, and a way to place the USB host controller into the deepest PCI power savings state (D3cold).

The aim of this talk is to educate users on how USB devices impact their battery life, and to introduce them to cool power savings on new and future Intel systems.  This talk targets all users, but will provide deep dives into technical details for the more advanced users.
 recording release: yes license: CC BY-SA  

135. Free and open source software and activism
sky croeser

Wikileaks, the Arab Spring, and the Occupy movement have made the need for user-controlled digital technologies clear, as activists have used the Internet and mobile phones to organise and to communicate with each other and with potential supporters. The consequences of failures in these systems, particularly security breaches, can be extreme: activists may face fines, jail time, or even death. Free and open source software (FOSS) provides one potential solution to these problems, as it is focused on users' needs. FOSS communities also already overlap significantly with many other activist communities, and are working to develop cross-movement connections as well as useful tools. However, many FOSS communities, and particularly those defined by a commitment to open source, rather than than free, software, are reluctant to take overt political stands. Similarly, many activists on both the left and the right have an aversion to digital technologies for both ideological and practical reasons. This means that there are frequently significant barriers to increasing the links between FOSS and progressive political movements. This presentation explores the connections between FOSS communities and the broader activist landscape. It looks at the politics of FOSS, the ways in which global movements and FOSS communities are building links, and the potential benefits of actively seeking cross-fertilisation of ideas and politics between FOSS and progressive movements.

 recording release: yes license: CC BY-SA  

136. Clojure - Designed for Performance
Tom Marble

The Clojure language is inspired by the functional programming model
of LISP and inherits the strengths of the JVM while avoiding the
pitfalls of Java.

Learn why Clojure is designed for performance by avoiding unconscious
mutation and providing Software Transactional Memory idioms for
concurrency.

 recording release: yes license: CC BY-SA  

137. Making RCU Respect Your Device's Battery Lifetime
Paul McKenney

Back in the 1990s, energy efficiency was not even on the list of RCU-related concerns. Systems using RCU at that time dealt with either large quantities of heavy equipment or large financial flows, so that the energy consumption of the entire server (let alone RCU's contribution) was way down in the noise. This situation changed dramatically with the 2002 introduction of RCU into the Linux kernel. Since then, RCU's energy-efficiency code has been rewritten more than five times. The most recent rewrite was motivated by workloads where RCU was leaving tens of percent of potential energy savings on the table. This talk will give a brief overview of how energy efficiency came to RCU, the current situation, future prospects, and generally applicable lessons learned.
 recording release: yes license: CC BY-SA  

138. Droids that talk: Pairing Codec2 and Android
Joel Stanley

Over the years, geeks have used various pastimes to feed their curiosity. A common theme in these hobbies is communication. From Amateur radio operators, who build circuits to modulate their voice and pass it over the airwaves, to the modern mass market methods of packet switched communication services - IRC, email, VoIP.

While the technology that amateur radio operators employ to communicate have been around for awhile, there is a large amount of modernisation going on. Design and assembly of circuits with more advanced DSP and SDR techniques is accessible to the average LCA attendee. Digital voice codecs commonly used by amateur radio operators are common, and David Rowe's Codec2 represents cutting edge low bitrate voice codec technology - open sourced!

The speaker and his accomplices have combined Codec2, a homebrew radio, and an Android phone to create a low cost, built-at-home system to perform digital voice transmission over radio.

As the architecture of the system is described during this talk, watch a radio get put together from basic components. This talk will give you the chance to experience a demo of controlling devices with the Android Host Device APIs, give insight into designing and building a radio, and describe the challenges involved in bringing it all together.
 recording release: yes license: CC BY-SA  

139. Two years of LibreOffice
Michael Meeks

LibreOffice is the most powerful and viable Free Software office suite, available across an increasing wealth of platforms. Come and hear a quick history and rational behind project. We'll look at what we've achieved so far primarily in development, but also in governance, community and process.

We ought to look at the wealth of new features shipping in the latest release, and take a look at some of the new things that are in the pipeline.

See a demo of the LibreOffice On-Line prototype, get a view of our in-progress Android Viewer application and port, and hear how almost all the work we do for these products helps the normal
fat-client office experience too. Catch a glimpse too of our collaborative editing prototype, hear about it's design and issues.

Finally find the best place for you to make a blow for Free Software as part of our development team; see you there.

 recording release: yes license: CC BY-SA  

140. Shell for Starters
Peter Chubb

The Bourne shell is universally available on every Linux system, from the least-powerful embedded device, to the largest supercomputer.

In this tutorial, we'll cover the basics of:
  The Shell's input: how it reads words, splits them, expands special stuff, etc.
  Control flow: case, if, while, for
  Common utilities: sed, awk, grep, test, find, xargs, etc

After some introductory material, we'll spend the time working together to build a simple server for fortunes/fables entirely in shell. 

Attendees should bring laptops, and be competent with a text editor.
 recording release: yes license: CC BY-SA  

141. The future of non-volatile memory
Matthew Wilcox

Solid-state drives have made significant improvements to computing.  Recently, they have moved from being connected to storage busses (SAS and SATA) to being connected to system busses (PCIe).  There are several non-volatile memory technologies in development which claim to be able to achieve latencies comparable to DRAM; if successful, it would be logical to attach such non-volatile memory more closely to the CPU.

This presentation will cover the recent history of non-volatile memory usage as storage, and speculate on useful software interfaces for CPU addressable non-volatile memory.

 recording release: yes license: CC BY-SA  

142. LTTng 2.0: Advanced Linux tracing for everyone
Yannick Brosseau

Have you ever wondered what is happening in the inner core of your operating system?
Did you spend countless hours trying to find an elusive timing problem?

Why the tracer?
The LTTng 2.0 project provides an easy to use tracing capability for Linux. Its tools can trace both the kernel and your userspace applications, allowing you to link operation in your application to the action of the operating system. It use the standard kernel trace instrumentation, so you don’t need to patch and recompile your kernel. This new generation provides a unified control tool which allows easy control of the data gathering (Creating a trace session, enabling events, adding context, start and stop recording, etc). The low overhead of the tracer allows you to run it on production system without affecting the performance of your applications.

LTTng is also supported by powerful visualization tools which can give you a quick summary of the state of your system or a detailed timeline of each significant operation with a nanosecond precision. This presentation will focus on the usability of LTTng, showing how the combined user-space and kernel tracers, the high-level summary views such as LTTngTop, the graphical analysis tools such as the Eclipse Linux Tools LTTng plugin or the Python scripting extensions, can be used to solve hard software problems.

LTTng can be easily installed with your favorite package manager in Debian, Ubuntu, Fedora and OpenSuse.

If you are a sysadmin wanting to get a better understanding of the load of your server or an application developer with a latency or performance problem, this presentation will give you a tool that can find and solve your problems.
 recording release: yes license: CC BY-SA  

143. How to Fix a Font
Nathan Willis

Translation and internationalization brings open source software to people all over the globe, but it all starts with language support. This talk will explain how to add support for a new script to an open font, from character design to debugging, and how language communities can work with open font designers in an ongoing project. Along the way, we will see how the open source font toolchain can correct other common problems, from letterspacing to accents, and learn why it does not take an expert to make a real contribution.
 recording release: yes license: CC BY-SA  

144. The IPocalypse - 20 months later
Geoff Huston

In the Asia Pacific Region the Regional Registry, APNIC, ran out of IPv4 addresses in April 2011. This presentation will examine the address allocation records leading up to the exhaustion, and the profile of IP address consumption in the 6 months prior to exhaustion, and compare this to the 12 months following exhaustion. The questions examined in this presentation relate to the extent to which the formation of a post exhaustion secondary re-distribution market has occurred, and an examination of the routing tables to see if there is any evidence of other forms of address redistribution in the Asia Pacific region. The effect of this exhaustion in other regions in the world will also be examined. The data being analysed for this presentation is the address registration records maintained by the Regional Routing Registries, and the inter-domain routing table (BGP) snapshots, and the key indicators I will be looking out are the allocation rate, the size distribution of allocations, the time period between allocation and advertisement, and the address transfer logs.

The second part of this presentation will look at IPv6 deployment metrics to examine the extent to which IPv4 exhaustion has had an impact on the momentum for the adoption of IPv6 in the ASia Pacific region.The presentation will compare IPv6 uptake rates pre and post exhaustion in the ASia Pacific region, and compare them with those of other regions.

 recording release: yes license: CC BY-SA  

145. DSD and open source software
Alan Leigh

Defence Signals Directorate (DSD) is the Commonwealth authority for cyber and information security. It plays a vital role in assisting federal and state authorities on matters relating to the security and integrity of information and networks. In order to achieve these goals, DSD works closely with the open source community and employs a large number of software developers that actively contribute to open source projects. We are not as secretive as some people would have you believe, and you might already be familiar with previous software that DSD has released.

This talk will first briefly touch on some of the previous open source projects DSD has released, including the "PyFlag" framework (a forensic analysis tool), "White Trash" (a Squid dynamic whitelisting module), and "Spill Guard" (a Microsoft Office data leak prevention tool).

The main focus of the talk will be on a newly open sourced prototype tool for the purpose of hard disk analysis called Pronghorn. Pronghorn is a proof of concept block analysis framework created by DSD staff as an entry to the DFRWS 2012 forensic challenge. It's not production ready, but it uses some novel concepts to automate the analysis of hard drive images.
 recording release: yes license: CC BY-SA  

146. Remedies for frustration with speed, quality, and reviews
Martin Pool

Slow programs are frustrating to use, and feel like they're getting in the users' way, rather than helping them.  Projects that make it hard to get code landed or released can be just as infuriating.

I've made mistakes in all those areas, and in this talk I'll share ideas and specific techniques: to make performance work tractable and to avoid performance regressions; to increase cadence and quality; and most of all to make the project easier and more fun to work on, especially for new contributors.
 recording release: yes license: CC BY-SA  

147. Using open source in over 1,100 schools in New Zealand
Kristina Hoeppner

MyPortfolio.school.nz is a national portfolio service offered to all schools in New Zealand. It is based on the open source ePortfolio system Mahara. Established in 2008, MyPortfolio has grown from a trial to a fully embedded system in the New Zealand school sector. There are already more than 1,100 schools connected with over 64,000 accounts (July 2012) making it the largest Mahara instance in the world. 

On MyPortfolio, students and teachers can create electronic portfolios to showcase and reflect on their learning. Portfolios can also be used as an alternative form of assessment in which authentic learning evidence is evaluated and viewed in context. In addition to the creation of portfolios, learners can collaborate on group portfolios, work on team projects and discuss topics in online forums.

This presentation outlines the process from the inception of MyPortfolio to an established system within the Managed Learning Environment of New Zealand schools. It especially looks at the time from 2010 to 2012 in which the growth has been more rapid, aided by workshops, email and increasingly online forum support. We will detail examples within this community of ePortfolio users that indicate avenues for sustainable support and growth. In addition, we will outline ways in which community members can and already have influenced further development of the underlying software, how new ideas become part of core Mahara and how this community is linked back to the wider Mahara community.
 recording release: yes license: CC BY-SA  

148. redgrep: from regular expression derivatives to LLVM
Paul Wankadia

redgrep is a grep based on regular expression derivatives. That is, it uses regular expression derivatives to construct the DFA†. It then uses LLVM to JIT‡ the DFA.

Since regular expression derivatives permit the three basic Boolean operations of disjunction (|), conjunction (&) and complement (!), redgrep enables you to write very powerful regular expressions very easily and guarantees to match them in linear time.

In this talk, we will cover how regular expression derivatives work, then dive into their implementation in redgrep. Resurfacing after a look at code generated by LLVM, we will conclude with benchmarks.


† Deterministic Finite Automaton
‡ Just-In-Time compile

 recording release: yes license: CC BY-SA  

149. Measuring and Improving OpenGL Performance
Carl Worth

As the Linux graphics system has matured in recent years, developers
have had the opportunity to shift their focus from feature
implementation (OpenGL 3.x conformance, GLSL support, etc.) to
optimization. At the same time, tools for measuring graphics
performance have historically been quite limited, (often little more
than the moral equivalents of time and top).

In this presentation I will discuss recent developments in tools (such
as apitrace) for measuring GPU performance. I will also showcase some
of the most most significant, recent performance improvements for
Linux graphics, focusing primarily on Intel GPUs.
 recording release: yes license: CC BY-SA  

150. How to make (almost) anything go faster
Anton Blanchard

Is your application running slow? Have performance issues got you down? Do you suspect yet another Linux kernel performance bug is the cause of all your problems?

The increasing complexity of hardware and software is making it more difficult to understand the cause of performance issues. This presentation will look at the tools and techniques for analysing performance issues on Linux. Real world examples of userspace, kernel and hardware issues will be analysed.

Along the way, things that can wreak havoc with performance analysis such as just in time compilation, interpreted languages, virtualisation and cloud environments will be addressed.
 recording release: yes license: CC BY-SA  

151. Ript: a terse but expressive DSL for iptables
Lindsay Holmwood

Netfilter is an extremely powerful framework for manipulating packets, but does anyone actually like writing rules for it with iptables? Anyone who says they do likely hasn't had to maintain rulesets at scale, and if they have, they've almost certainly used some sort of tool that does the heavy lifting for them. 

Enter Ript, a clean and opinionated Domain Specific Language for describing firewall rules, that implements database migrations-like functionality for applying these rules with zero downtime.

At Ript's core is an easy to use Ruby DSL for describing both simple and complex sets of iptables firewall rules. After defining the hosts and networks you care about, Ript's DSL provides helpers for all the common use cases: accepting, dropping, & rejecting packets, as well as for performing DNAT and SNAT. 

Here is an example ruleset definition: 

# partitions/joeblogsco.rb
partition "joeblogsco" do
  label "www.joeblogsco.com", :address => "72.14.191.216"
  label "app-01",             :address => "10.60.1.230"

  rewrite "public website + ssh access" do
    ports 80, 22
    dnat  "www.joeblogsco.com" => "app-01"
  end
end

Ript provides a method to group common sets of rules together called "partitions", which are used at rule application time to perform zero-downtime migrations. This fosters a much more agile approach to firewall changes that limits the size and helps increase the frequency of changes - core principles behind Continuous Delivery. 

Ript is designed from the ground up to be easy to use, and is extremely well tested end-to-end. Developed at Bulletproof Networks, it's been in use since 2012 in multi-tenanted firewall platforms as well as standalone systems. 

In this talk Lindsay Holmwood will take you on a whirlwind tour of the DSL, explain how Ript utilises iptables features to work its magic, and provide some concrete examples of how Ript can help increase the reliability of the services you deliver.


 recording release: yes license: CC BY-SA  

152. UEFI, the Converged Firmware Infrastructure
Dong Wei

UEFI Secure Boot feature has attracted a lot of attentions from the Linux community. This presentation details the motivations behind the creation of the UEFI technology, the history and future of its industry adoption on systems based on a variety of processor architectures. It contrasts the differences between the TCG Trusted Boot and UEFI Secure Boot, and what role, if any, TPM plays in either or both. It discusses the motivations and history of the UEFI Secure Boot feature.

The main targeted audience of this presentation is the Linux OS loader and kernel developers dealing with the machine dependent interactions with the platforms.

 recording release: yes license: CC BY-SA  

153. The Perl Renaissance
Paul Fenwick

The Perl Renaissance is in full swing. Object frameworks and syntax have been undated, web frameworks are easy and powerful, and modules are easy to manage and install.  

* Overhauling Perl's Object Oriented framework with Moose.
* Using MooseX::Method::Signatures for beautiful classes.
* Building web applications using Dancer
* Not worrying about web servers by using Plack.
* Critiquing your code with Perl::Critic
* Write amazing regexps with named captures.
* Install new modules quickly and easily with cpanminus
* Manage Perl installations easily with perlbrew
* A whole swag of new features with perl 5.10–5.16
* Much, much more!


 recording release: yes license: CC BY-SA  

154. OWASP Developer Guide 2013 - what it means for open source projects
Andrew van der Stock

The Open Web Application Security Project (OWASP) Developer Guide 2013 is coming soon. In this presentation, you'll learn about the major revision to one of the major open source code hardening resources. 

The new version will encompass not only web applications (although that is its primary focus), but also general advice for all languages, frameworks, and applications through the use of re-usable architecture, designs, patterns and practices that you can adopt in your code with a bit of thought. 

Learn about:

* The latest research in application security 
* How to apply new patterns to eliminate hundreds of security flaws in your apps, such as the bizarre world of race conditions, distributed and parallel artefacts. Few apps can afford to be single threaded any more, and yet these subtle flaws are easily prevented if you only knew how
* Challenges of documenting bleeding edge practices in long lived documents
* How to pull together a global open source document team whilst holding down a day job

If you code web apps, or write apps that need to be secure, this is a must attend presentation!
 recording release: yes license: CC BY-SA  

155. Copyright's Dark Clouds: Optus v NRL
Ben Powell

This presentation will examine the extraordinary decision by the Full Federal Court in the Optus "TV Now" case and its serious ramifications for the future of cloud based computing and streaming services. 

The presentation will discuss the potential effects on cloud based services, streaming services and mobile entertainment that flow from the severe restrictions outlined in the decision on the "personal recording" copyright exemption. 

The High Court has recently declined special leave to appeal, so this case now forms the basis for interpreting the "personal recording" exemption. I will examine the implications of this for industry and the potential way forward for reform.

The presentation will draw on some of the analysis that I have written in http://www.czaxxover140.blogspot.com.au/2012/02/optus-v-nrl-rightsholders-vs.html and http://www.czaxxover140.blogspot.com.au/2012/06/optus-v-nrl-copyrights-dark-clouds.html
 recording release: yes license: CC BY-SA  

156. Designing a Verifiable and Accessible Electronic Voting System
Jason White,Craig Burton

[with Craig Burton, E-Voting Manager, Victorian Electoral Commission]

Essential to the proper functioning of a democracy is the right of citizens to vote freely, privately and independently. Electronic voting can enable this right to be exercised by a diverse voter population, in particular by people who are unable to complete a conventional paper ballot.

In this presentation, an overview is provided of a proposed design for an open-source, electronic voting system to be used in polling stations in the state of Victoria. This proposal is distinguished from prior practice by a commitment to developing a system which is end-to-end verifiable. Individual electors can verify that their votes are correctly recorded, and any member of the public can audit the election, including the decryption and counting of votes, without jeopardizing the privacy of voters.

We shall outline the procedures to be used at polling stations to cast votes, and explain how voters (with and without disabilities) can verify the integrity of the system. We also introduce open-source tools, employing mix networks and zero-knowledge proofs, which can be used in the conduct of an election, demonstrating how these tools  operate to verify the processing of votes.

 recording release: yes license: CC BY-SA  

157. users: delighted; (better UX using CSS 3 in particular and "HTML5" in general)
Adam Harvey

HTML5. CSS 3. ECMAScript. WebGL. SVG. If there is ever a worldwide shortage of acronyms, the Web developer community can definitely contribute a few back. We've all heard about the amazing things that can be done with this technology stack on everything from a two year old Android phone up to a massive supercomputer running Chrome in an X session, and seen the cool demos.

Ultimately, though, cool technology impresses disappointingly few people, and leaves them asking "now what?". To make matters worse, a technical demo that works brilliantly in, for example, Firefox on the desktop might be unusably slow on Chrome on iOS, or worse, not even work due to poor feature detection or CSS property prefixing.

In this talk, I'll discuss ways to both design and implement common effects in a future-proof, performant way on a variety of platforms: touchscreen phones and tablets, hybrid tablets, traditional desktops, even embedded devices with remote controls. Furthermore, I'll cover whether and when you should be reaching for the animation and visual effect toolbox, and how to juggle the need for responsiveness against the need to stand out from the crowd.
 recording release: yes license: CC BY-SA  

158. Keysigning Party


(Needs description.) 
 recording release: yes license: CC BY-SA  

159. OpenStack Practical


(Needs description.) 
 recording release: yes license: CC BY-SA  

160. OpenStack Documentation Jam Session


(Needs description.) 
 recording release: yes license: CC BY-SA  

161. BOF TBA


(Needs description.) 
 recording release: yes license: CC BY-SA  

162. Android MAC BoF


(Needs description.) 
 recording release: yes license: CC BY-SA  

163. Open Source Industry Australia (OSIA) BoF


(Needs description.) 
 recording release: yes license: CC BY-SA  

164. Programming/Open Source/Linux for Research Institutes and Universities


(Needs description.) 
 recording release: yes license: CC BY-SA  

165. OpenStack Practical


(Needs description.) 
 recording release: yes license: CC BY-SA  

166. C BoF


(Needs description.) 
 recording release: yes license: CC BY-SA  

167. OpenStack Documentation Jam Session


(Needs description.) 
 recording release: yes license: CC BY-SA  

168. Smart crafting BOF - ping @KathyReid


(Needs description.) 
 recording release: yes license: CC BY-SA  

169. Free software activism meetup


(Needs description.) 
 recording release: yes license: CC BY-SA  

170. Smart crafting BOF - ping @KathyReid


(Needs description.) 
 recording release: yes license: CC BY-SA  

171. Geeks & Depression BlueHackers BoF


(Needs description.) 
 recording release: yes license: CC BY-SA  

172. Emacs BoF


(Needs description.) 
 recording release: yes license: CC BY-SA  

173. OpenStack Documentation Jam Session


(Needs description.) 
 recording release: yes license: CC BY-SA  

174. Alternative startups and open source business models BoF


(Needs description.) 
 recording release: yes license: CC BY-SA  

175. Jobs BoF


(Needs description.) 
 recording release: yes license: CC BY-SA  

176. Keynote - "bunnie" Huang


(Needs description.) 
 recording release: yes license: CC BY-SA  

177. Checkpoint and Restore: are we there yet?
Pavel Emelyanov

Checkpoint/restore is a feature that allows to freeze a set of running processes and save their complete state to a disk. This state can later be restored, so the processes resume exactly the way they were running before. This feature opens a whole set of possibilities, such as live migration, fast start of a huge application, or kernel update without service interruption. While such functionality exist in e.g. OpenVZ kernel, many attempts to merge it upstream had failed miserably, mostly for the code complexity reasons.

We found a way to overcome this by implementing most of the required pieces in userspace, using the existing kernel APIs and extending those if necessary. This is what Checkpoint and Restore in Userspace (aka CRIU) project is about.

The talk outlines the current state of the project, including:
- recent CRIU-related changes merged to the upstream kernel and their use outside of CRIU needs;
- current abilities of CRIU userspace tool, including a demo of Apache+MySQL checkpoint/restore;
- plans for the future.

The report is of interest to system and distro developers, advanced users, and anyone interested in containers, virtualization, HA and HPC.

 recording release: yes license: CC BY-SA  

178. Git For Ages 4 And Up
Michael Schwern

Git can be a confusing morass of rote commands whose names often don't have much to do with what it actually does.  To better understand Git, it is important to know how Git works internally.  Unfortunately this is often explained in terms of things like "Directed Acyclic Graphs" and other intimidating computer science terms.  It turns out Git only has a few tricks, and they can be illustrated very accurately using simple children's toys.

We'll be illustrating the basic commands (add, commit) do; the index/staging area; the stash; branching and merging; tagging; remotes; reset; and rebase if time allows.

Basic knowledge of version control concepts and git commands is expected of the audience.  If you’ve started using git, but are uncomfortable with it, don’t really get it, and the commands seem arbitrary, this is for you.

WARNING: CHOKING HAZARD – Small Parts. Not For Children Under 4 Years.
 recording release: yes license: CC BY-SA  

179. Using Puppet to Model Application clusters
Dan Bode

Puppet is a pervasive, open source configuration management language that has traditionally been used to perform configuration of individual servers.

At its core, Puppet is really 3 things:
- an API for managing the states of things,
- a language for composing configuration interfaces,
- a language for managing the dependencies between things.

This presentation will demonstrate how these characteristics actually make Puppet a great language for modeling application clusters. It will cover:
- how application clusters can be considered as state,
- how Puppet's device APIs can be used to model the state of things through RPCs,
- the changes required to Puppet core for it to be able to manage application clusters.

 recording release: yes license: CC BY-SA  

180. NetFPGA USB 2 interface
Robert Edwards

NetFPGA (www.netfpga.org) is a platform for developing 1Gbps or 10Gbps wire-speed layer 2 and 3 switching in reprogrammable hardware, using Xilinx Field Programmable Gate Arrays (FPGAs). NetFPGA is developed at Stanford University and enjoys primary support on Linux hosts. The codebase is open source.

In developing a low-power network switch for our Power-over-Ethernet low-cost SoC cluster, we develop the USB2 interface and switching firmware using NetFPGA as a development platform. A small adaptor board has been developed that connects to the debug connector of the NetFPGA card and allows dual USB2 network interfaces for small low-power System-on-a-Chip devices such as NVidia Tegra 2/3, TI OMAP and others.

This presentation will discuss the development of the NetFPGA USB 2 interface using a conglomeration of open-source and freeware tools, all hosted on Linux development platforms.

https://gnosia.anu.edu.au/wiki/NetFPGA_USB_2
 recording release: yes license: CC BY-SA  

181. Wiggle while you work
Neil Brown

'diff' and 'patch' are great tools for communicating, reviewing and applying changes to text files such as program source code.  They are even better when the functionality is included in a distributed content tracker such as 'git'.

However in a world of highly parallel development we are often faced with conflicting changes which 'patch' cannot resolve. Resolving these by hand can get boring.

'wiggle' is a tool that helps you apply patches that 'patch' cannot handle by finding a best-possible match and allowing you to review the resulting merge to accept or decline each hunk, falling back on manual resolution only in cases of serious conflict.

This talk will describe a variant of the 'diff' algorithm that is used for finding best-matches and will show how this can help provide pain-free conflict resolution.

 recording release: yes license: CC BY-SA  

182. Stereographic film making and Linux
Hugh Fisher

Avatar has made 3D films popular again; and the necessary hardware for stereoscopic filming is now cheap enough for individuals. This is a talk about a small real world development project, covering several different aspects in brief instead of focusing on one technical issue.

The project goal was to help the production of a low budget 3D film by writing a program for realtime display of stereoscopic video on a Linux laptop. The film maker was using a home built rig built around two Elphel cameras (themselves running embedded Linux) and needed to be able to preview and adjust stereo parameters on location.

Development was mostly in Python using wxWidgets and GStreamer. I'll talk about issues with event loops in GUI toolkits and the benefits of the GStreamer modular pipeline architecture.

A key part of the program was using the GPU to de-Bayer raw camera input in realtime. I'll also talk about shader programming, and what would be required in a possible future integration of GPU components within GStreamer.
 recording release: yes license: CC BY-SA  

183. Getting older? Tips & tricks for designing inclusive open source user interfaces
Ruth Ellison

In 1911, only 4% of our population was aged 65 years or older. In 2011, this increased to a whopping 14% - that's over 3 million people! Until someone invents a way to stop aging, we need to face facts. We're getting older...and this brings about a host of problems when interacting with a website or product (small font anyone?).

Join us for a (occasionally light-hearted) primer on creating inclusive user experiences (UX). In this session, we'll take a look at what happens when you age, how it impacts your use of software and the web, and tips for including accessibility into your designs so that it benefits every one of varying levels of abilities. Oh, and the best thing? These tips also benefit you when you get older.

 recording release: yes license: CC BY-SA  

184. How to use Puppet like an Adult
Ben Kero,Daniel Maher

Puppet is an immensely powerful tool for system administration, but with great power comes great responsibility, and it’s not always obvious how to structure your configurations.  There are many different ways to accomplish similar goals, and this malleability has given rise to a plethora of different design and architecture principles - some of which are good, and many of which are bad.

In this talk, Ben and Dan will explain the guiding principles of responsible Puppet design and architecture, walking you through real-world examples in order to illustrate solid methodological approaches, and illuminate Puppet administrators of all skill levels.  As an added bonus, we will also show you how Puppet can be integrated into automated deployment and continuous integration platforms - an increasingly important component of today’s development and operational landscape.

This talk will include such topics as:

  - The separation of data and logic: How not to commit such Puppet sins as hardcoding credentials, paths, and other sensitive variables into your modules.
  - External data sources: There are a variety of ways to interface Puppet with other data sources, including Heira, puppet-db, extlookup, dilly, and more.
  - The tiered manifest approach: Leveraging different granularity levels for fine-grained control.
  - Module-writing best practices: Why it’s important for modules to be as generic as possible, and how to deal with differing environments and edge cases.
  - Explicit sanity preservation: Verifying the validity of the incoming values.
  - The importance of useful log output: Puppet has mature logging facilities built-in.  Use them to get useful output in your dashboard, in email digests, and running manually triggered Puppet runs.
  - Recommended (and enforced) style guides: Machine-readable manifests are good, but human-readable manifests are better.
  - A comparison of visualisation tools: Everybody loves charts and graphs.  Dashboards, reports aggregators, and automated metrics for the pointy-haired boss in your life.
 recording release: yes license: CC BY-SA  

185. Making UEFI Secure boot work for you
James Bottomley

The Linux Foundation and its technical advisory board has a long history of working with UEFI (and indirectly Microsoft) to ensure that Secure Boot would function in a way that Linux Could take advantage of:

http://www.linuxfoundation.org/publications/making-uefi-secure-boot-work-with-open-platforms

In particular, we foresaw the GPLv3 bootloader problem and crafted a solution whereby the user would always be able to take control of the platform and install their own secure boot keys (this solution is now mandated by Microsoft in their Windows 8 hardware certification requirements).

This talk will review the history, give the current state of play of secure boot on Linux (we know it works with Red Hat and Ubuntu, but what about all the other distributions) paying particular attention to what the four secure variable databases actually are, what they can contain and how they all
interact.

Finally we will explain in detail how the end user can take full control of their platform, why this isn't as simple as simply throwing out Microsoft's key and installing your own and what all the technical requirements are to achieve full PC platform ownership (including installing trust signatures of bios rom drivers, creating additional EFI programmes for booting unsigned media and simply managing the secure variable databases).


 recording release: yes license: CC BY-SA  

186. The anatomy of a high speed data acquisition system
Jonathan Woithe

As the Linux kernel continues to gain features which permit it to operate with lower scheduling latencies, it is becoming increasingly feasible to utilise systems running stock kernels for high speed data acquisition in applications such as radar.  This makes such applications much more accessible to both developers and end users.  However, having low scheduling latency is not enough to ensure smooth operation of the system.  The acquisition software itself must also be carefully designed to ensure it can keep up with the data as it arrives and distribute it to analysis processes.

After briefly describing the needs of a radar system, this talk will outline the various programming approaches and techniques utilised in the implementation of a radar data acquisition system and explore the reasons behind the choices made.  The presentation will be aimed at developers who have not necessarily worked with data acquisition before.
 recording release: yes license: CC BY-SA  

187. The Raspberry Pi and Linux
Alex Bradbury

The Raspberry Pi is a low-cost single board computer, created with the aim of supporting and promoting the teaching of computer science. One million units are projected to have shipped by the end of the year. I will detail the history of this charitable project before looking at progress to date and challenges for the future. The project has had great success at building and growing its development community, and we now have a community developed rebuild of Debian for armv6 with the hard floating point ABI (Raspbian). How is it we are able to attract so much interest?

I will discuss the various software challenges the Foundation and its volunteer developers have faced. These include working with proprietary graphics drivers, assembling a patch set suitable for mainline inclusion and accelerating common graphics toolkits. Finally I'll take a look at the weird, wacky and wonderful projects the community have come up with so far.
 recording release: yes license: CC BY-SA  

188. Playing with OpenStack Swift
John Dickinson

OpenStack Swift is a large-scale distributed object storage system designed for a wide range of use cases. In part 1 of this talk, we will discuss the importance of data sovereingty and how OpenStack enables it. Part 2 will be an in-depth look at several swift requests and how swift handles and recovers from different failure scenarios.
 recording release: yes license: CC BY-SA  

189. Transcendent Memory: Not Just for Virtualization Anymore!
Avi Miller

RAM is "cheap". Or is it? If a million machine data center could cut RAM in half, how much could be saved, in capital equipment cost and power/cooling expense? Transcendent Memory (or "tmem") is a new approach for flexibly, dynamically, and efficiently managing physical memory. First conceived to facilitate the optimization of physical memory utilization among a set of guests in a virtualization environment (and implemented in Xen 4.0), tmem has now also been applied in the kernel to dynamically compress page cache and swap pages ("zcache"), and to dynamically hot-plug memory among a set of kernels ("RAMster").  And tmem may, in the future, allow more effective utilization of future memory-extension technologies. All this with very minimal changes to the kernel required. We will describe why RAM is no longer cheap, explain the basics of Transcendent Memory including the kernel changes, and show how tmem can provide unprecedented flexibility toward optimizing RAM utilization in future data centers.
 recording release: yes license: CC BY-SA  

190. Blocked for room setup


(Needs description.) 
 recording release: yes license: CC BY-SA  

191. ArduSat: Open Source in orbit
Jonathan Oxer

The ArduSat project will launch at least one and possibly two cubesats into orbit in mid 2013, carrying a payload combining an extensive sensor suite and cameras with a multi-node processor platform based on Arduino. Once in orbit the satellite will be accessible to students, space enthusiasts, and others who will be able to upload their own data collection and processing experiments to the platform, or control the cameras to take pictures from space. The project has received significant funding via Kickstarter and support from corporate sponsors including Australian Open Hardware company Freetronics.

The payload operational software and the hardware design is all Open Source, with collaborators around the world working together on the design. The final hardware design and validation is all being performed in Australia, and various test flights including High Altitude Balloon launches will also take place in Australia.

The design of the payload is an interesting exercise in low-level system architecture, with multiple microcontroller nodes requiring pseudo-independent access to the shared sensor suite. An objective of the design is to allow experiments to be prototyped quickly and cheaply on the ground using standard Arduino-based hardware, so maintaining software compatibility with regular Arduino boards and sensors while still meeting flight requirements is a high priority.

This talk will provide an overview of the ArduSat project and what it hopes to achieve, the system architecture of the payload, and demonstration of a late-stage payload prototype.
 recording release: yes license: CC BY-SA  

192. Open Source Firmware
Duncan Laurie

Chrome OS is a Linux-based operating system developed by Google that aims to provide a fast, simple, and secure environment for the web.

One of the main goals of the project is security, and in order to provide a secure environment we developed a firmware and kernel solution called Verified Boot that strives to ensure all executed code is known to be safe from the moment the system is powered on.

Another goal of ours is pushing open source wherever possible.  So for our second generation of Chrome OS devices we created a firmware stack based on the open source projects Coreboot and U-boot, paired with our own Verified Boot.

This presentation will discuss our new firmware stack and the reasons behind it, provide detail on what effort was required to support Intel's Sandybridge/Ivybridge architecture in Coreboot, and discuss what portions of the firmware are not yet open and why.

It will also provide detail on our open source Embedded Controller firmware and why that is another important piece of our approach to security and our commitment to open source.
 recording release: yes license: CC BY-SA  

193. Systems Administration: Server and Process Behavior
Mark Smith

It would be wonderful if servers and programs would just work and never break. Until that magical day, though, we need to be prepared. Whether you are a junior sysadmin new to the trade or an engineer at a startup who also has to run servers, this tutorial has something for you.

We will be covering the basics of gathering information about a server, what it's doing, and how to do seat-of-the-pants estimates on performance. We will discuss and analyze servers misbehaving in typical ways as well as get some ideas on useful ways to think about debugging a server.

From there we will do some exercises in spotting problems and debugging running processes. We will also explore side-channel analysis as a tool for intuiting what a process is doing. Typical failure patterns will be discussed and analyzed, and you will have a chance to do some hands-on debugging.

Requirements: a laptop, an SSH client, and a basic knowledge of Linux and how to use a shell (bash/zsh).
 recording release: yes license: CC BY-SA  

194. Building a free software telemetry radio system
Andrew Tridgell

Small transparent serial telemetry radios are a core part of many projects, and play a key role in amateur UAV systems. Unfortunately popular telemetry radios, such as the widely Xbee line of radios, provide poor range and the lack of source code for the radio firmware makes protocol improvements difficult.

This first half of this talk will describe a project to build a telemetry radio system with an open firmware, and hardware that supports much longer ranges than comparibly priced existing systems. The open firmware includes features like frequency hopping, time division multiplexing and support for a wide range of regulatory additions such as listen before talk.

Once you have a good long range telemetry system you need some higher level protocols to run over it. The second half of this talk will focus on the problems of reliable transmission over the telemetry link, looking at why TCP performs poorly in the face of large amounts of packet loss. An anternative block oriented transport, implemented in Python on Linux, is discussed which provides much better performance for reliable transmission of image and command data over the telemetry link.

 recording release: yes license: CC BY-SA  

195. Ceph: Managing A Distributed Storage System At Scale
Sage Weil

As the size and performance requirements of storage systems have increased, file system designers have looked to new architectures to facilitate system scalability. Ceph is a fully open source distributed object store, network block device, and file system designed for reliability, performance, and scalability from terabytes to exabytes.

Fault tolerance is a key challenge for both system design and operations. Ceph is designed to be both highly available and elastic.  In large clusters, disk, host, and even network failures are the norm rather than the exception, hardware is heterogeneous and incrementally deployed or de-provisioned, and availability must be continuous. This talk will describe the Ceph architecture and the impact that has on system operations, including failure management, monitoring, and provisioning.
 recording release: yes license: CC BY-SA  

196. A New Linux Platform, Hardware and Software
Ricky Ng-Adam

Our platform, built in the same spirit as Arduino, will enable a whole range of new Internet-enabled hardware projects by combining ARM and FPGA in an affordable package running Linux. We look forward to sharing our technical and business experience building an OpenHardware/OpenSource startup in mainland China.
 recording release: yes license: CC BY-SA  

197. Bufferbloat from a Plumber's point of view
Stephen Hemminger

Excess buffering on the Internet leads to delays, slow downs and complaints. This presentation is a light hearted exploration of buffering demonstrated by (ab)using the analogy of Internet and plumbing. 
 recording release: yes license: CC BY-SA  

198. Real-Time Response on Multicore Systems: It Is Bigger Than I Thought
Paul McKenney

Five years ago, I published a Linux Journal article entitled "SMP and Embedded Real Time" (http://www.linuxjournal.com/article/9361) stating that SMP systems could in fact support real-time workloads.  This article was not well-received in all segments of the real-time community, but there are nevertheless quite a few SMP real-time systems in use today offering scheduling latencies of a few tens of microseconds.

So perhaps you can imagine my surprise when in early 2012 I received a bug report stating that the Linux kernel's RCU implementation was causing 200-microsecond latency spikes.  The root cause? I simply hadn't been thinking big enough.  This talk tells the story of the ensuing adventure.
 recording release: yes license: CC BY-SA  

199. Teaching Robotics and Embedded Computing with Legos and Arduino
Keith Packard

Embedded computing offers a direct exposure to low-level hardware unavailable with modern desktop computers. As such, it provides a far more concrete computing experience for young developers. The ability to directly experience the effects of programmatic changes offers a broader sensory environment than graphics on the screen. The value of this can be seen by the broad appeal of a variety of robotics classes and competetions for students.

Consructing robots from "real" materials is of undeniable educational value. However, the time, energy and expense of constructing the robots creates some significant constraints on how such classes can be run. The obvious alternative is to use a construction kit, such as Legos. The Lego company sells complete microcontroller systems, but those microcontrollers are buried behind a wall of sophisticated and shiny user interface.

I've been teaching a class to 10-12 year old students which takes advantage of the rapid construction and modification offered by Lego pieces but replaces the Lego microcontroller with a standard Arduino board. The result has been hugely successful, with students building a variety of robots and programming them in a series of 6 classes, each 90 minutes in length.

This presentation will first motivate the course style, contrasting it with other similar environments like Lego Robotics and Squeak/Etoys. Then, I'll show how the Arduino boards work in the Lego environment, highlight some of the classroom materials and then demonstrate the students creations.

 recording release: yes license: CC BY-SA  

200. 1.5MW and 3600 penguins in a room: Supercomputing at ANU
robin humble

At the NCI National Facility at ANU we exclusively use Linux for supercomputing. This talk covers how we use and alter (and hopefully help to improve) Linux and other Open Source projects to create a fast and stable petascale machine.

Overview:
 - How we boot and run clusters at large scale using oneSIS, CentOS, root on Lustre, ...
 - How we tweak the kernel and tune the OS to keep them stable and efficient
 - Problems we've seen and areas we'd like to see improved

Our current supercomputer is 12k Nehalem cores with a 20GB/s filesystem and QDR InfinBand. The next machine (hopefully operational by LCA time) is 60k Sandy Bridge cores with a 100GB/s filesystem and FDR InfiniBand. Each of our new clusters is usually in the top 50 machines in the world.

oneSIS and the Lustre filesystem together with CentOS running vanilla and modified RHEL6 kernels are the primary components of our software stack. Uniquely the OS's for all 3600 nodes boot from a single copy of the OS that resides on the global Lustre filesystem. This gives us an easily updatable OS and guarantees all compute nodes are booting identical software.

High performance and predictability is a key focus. The main player in this game is numa awareness. We use cpusets extensively and enforce processor and memory binding to obtain ideal numa alignment and optimal and reproducible job performance. We have worked with the OpenMPI project to get binding included, and our users run jobs with binding on by default.

We are increasingly using cgroups and eventually may use all of cputime, freeze/thaw, acl, namespaces, and memcg - all tasks which our own resource manager software currently handles. We also have a history and interest in page migration which may again become useful to reduce machine fragmentation as each numa zone gets more cores.

Like many HPC sites we write our own job and cluster monitoring tools and these are available for other sites to use and modify, as are our changes to kernels and some InfiniBand tools. Unlike many sites we also write our own batch system.

I'll talk about our Linux improvement wishlist too - eg. Lustre integration into mainline so we can update kernels more aggressively and get shiny new stability. inode/dentry reclaim of deleted inodes with vfs_cache_pressure=0. Low overhead control groups. Better transparent huge pages. Improved virtual memory stability. md is awesome but zfs-on-linux might be better. OFED integration with mainline.
 recording release: yes license: CC BY-SA  

201. Software Transactional Memory in GCC 4.7
Dave Boutcher

Software Transactional Memory is an alternative to traditional Posix locks, and is now available in your favorite compiler!  gcc-4.7 has STM support, so you can do clever things like:
__transaction { insert_node(foo); } 
This talk will cover what STM is, how you can use it, some good and bad points, and dig under the covers to show how it is implemented, and how you can hack the implementation if you feel so inclined.
 recording release: yes license: CC BY-SA  

202. Geeks rule over kings - the Distributed Democracy
Pia Waugh

Throughout history there have been several major shifts in society, shifts that disrupted and reinvented traditional power structures, commerce, communities and the lives of individuals. In the last 20 years we have seen the massive distribution of almost every traditional bastion of power: publishing, communications, monitoring and force. In the next 10 years we will see the massive distribution of property (and food) with 3D printing coming into it's own and the advancement of nanotechnology. Things have been changing at an accelerating pace and it is a good time to ask where we are going.

The Internet is almost by definition a privately owned space. Everything we do online is through the prism of multiple contracts, with ISPs and online services. There has been a lot of movement by governments and companies alike to try to define and limit the Internet in their favour, and it is important that we move the debate beyond "open vs closed" and towards a clearer definition of the technical and social characteristics shouldn't be meddled with if we want to maintain maximum freedom for all people, not just geeks.

Governments around the world, and the systems they support are defined and bound by jurisdictions based on geography, which is not sufficient for representing our online lives. And we are seeing a movement from governments around the world try to deal with the Internet in a jurisdictional way which in counterproductive to how the Internet operates.

The Distributed Democracy is a project to play with the idea of a model of open, representative body for our online lives. Not just another lobby group, but a transnational "government".

Details of the http://distributeddemocracy.wikispaces.com & http://society5.net
 recording release: yes license: CC BY-SA  

203. Rethinking CPU hotplug for elegance and efficiency
Srivatsa Bhat

Linux supports the feature of "hotplugging" CPUs in the system, a term used to denote the ability to logically online or offline processors on the fly (i.e., on a running system). This feature is provided by the CPU hotplug infrastructure in the Linux kernel.

CPU hotplug has now come to have many more usecases than what it was originally designed for. Some of the important ones are RAS (to offline malfunctioning CPUs on a running system), power management (to hotplug CPUs based on the load/utilization for aggressive power savings), RT (for isolation of RT workloads), Suspend/Resume (uses CPU hotplug during both suspend and resume), SMP booting, dynamic partition resizing on powerpc/s390 architectures etc.

The current design and implementation of CPU hotplug in Linux has encountered some significant challenges owing to the newer and wider usecases which were not foreseen earlier. Some of them are: less-than-expected performance in several new usecases, race conditions and deadlock possiblities in new scenarios, unacceptable latency for RT workloads and so on. Also, the CPU hotplug design and code has slowly developed into a convoluted mess, making it hard to maintain and improve. This has become a significant problem as highlighted by the fact that it has hindered progress on several occasions [1][2].

To summarize, there is a need to redesign CPU hotplug for both elegance and efficiency, which can help us reap benefits such as fast booting, faster suspend/resume, and more efficient power management. This talk will present an overview of the current usecases and challenges with CPU hotplug and discuss some of the new designs being explored in the community for improving the CPU hotplug framework.

----
[1]. There is a lot of CPU hotplug related code duplication in almost all architectures that support SMP, and worse, these implemenations have plenty of bugs. This caused boot failures on several architectures when a simple change was made to how the scheduler dealt with CPU hotplug.

[2]. Recently, a patch was posted in the community to speed-up booting by trying to boot CPUs asynchronously with the rest of the kernel initialization. This caused boot failures on some architectures because the CPU hotplug code was simply not ready for handling such a scenario.
 recording release: yes license: CC BY-SA  

204. Git: not just for source code anymore
Josh Triplett

retin a online retin a cream 0.1 tretinoin - retin-a micro buy usa
 recording release: no  

205. REPENT!!! FOR THE END OF THE UNIX EPOCH IS NIGH!!!
Michael Schwern

SINNERS!! HEAR ME!! For too long have you lain contented and SLOTHFUL in the illusion that time is infinite! SOON the UNIX EPOCH will END and numbers will OVERFLOW their confines CLEANSING all in a flood the likes we have not seen since 1901!!! The SINS of your 32 BITS will chase your children and your children's children unless you REPENT NOW and cleanse your code of the 2038 BUG!!

Calendaring is hard. Calendaring is very hard. Its also a little crazy. OK, its a lot of crazy. Fortunately there’s a small band of equally crazy people who make it all work so you don’t have to know anything about the crazy.

We’re going to look at some of that crazy, reveal the madness.

We’ll see that computers suck at math.

We’ll discover that there are time zones on Mars.

We’ll look at the 2038 bug, why you care about it now in 2013, why your fancy 64 bit laptop won't save you, and how to protect yourself against it.

We'll examine a solution to the 2038 bug that works on 32 bit machines and is in production right beneath your noses, a 2038 clean reimplementation of time.h!
 recording release: yes license: CC BY-SA  

206. Big and Little Endian inside / out
Benjamin Herrenschmidt

Endian bugs are a common source of problems, mostly on big endian architectures such as PowerPC, sparc or s390. Getting endian'ness right isn't always trivial and some programming tricks will work on one endianness and not another.

I will first show endian issues related to programs trying to access in memory data using the wrong size types. Then I will talk about the the problem of data "on the wire" (networking, storage, file
formats) along with tools such as sparse that can help getting it right, and will then dive into IO busses and peripheral such as PCI and graphics.

I will attempt to shed some light on the latter by describing what happens under the hood, the representation of data on typical processor bus and how it interconnects to a typical IO bus, where does swapping happens and when it needs to be handled in software.
 recording release: yes license: CC BY-SA  

207. Ponies and Rainbows: Clutter 2.0 and GTK+ 4.0
Emmanuele Bassi

After nine years, the GTK+ project recently released the new 3.0 major version, in time for GNOME 3.0; this new major version brought an API break to clean the cruft from the platform, as well as include new and exciting features, like CSS support for styling widgets and support for touch-based input devices.

While work is under way to stabilise the toolkit, there is also an effort to review the foundations upon which the toolkit itself is built: a new, canvas-like approach to UI building; GL-based rendering; an animation framework (to be exposed through CSS3 transitions and animations); multi-touch gesture support.

In the meantime, Clutter prepares itself to bump its major version to 2.0, bringing to the table a better, leaner, API that tackles the lessons learned in the last 6 years, as well as what other platforms like CoreAnimation, Qt, and HTML provide.

On paper, GTK+ 4.0 and Clutter 2.0 seem like an inevitability.

In this talk I will try to answer the questions of where we are; what we want to achieve; and how do we get there — as well as how you can help out, whether you are interested in application developement or toolkit development.
 recording release: yes license: CC BY-SA  

208. Ristretto: run-time types for JavaScript
Shane Stephens

We are often presented with a conundrum when choosing an implementation language: should we choose a language with dynamic typing, or with static typing?

On the one hand, dynamically typed languages like Python, Erlang, or JavaScript provide us with the flexibility of duck-typing; a perception of faster coding, refactoring, a shallower learning curve, and the potential for post-hoc testing due to a programmer’s ability to be arbitrarily invasive of the structures used in the language.

On the other hand, statically typed languages like Haskell, Java, or C# hold out the promise of early elimination of whole classes of errors via type-checking, as well as type-based tools to assist in various implementation tasks like refactoring, codebase navigation, memory analysis, and debugging.

Furthermore, there is a perception that APIs are more clearly specified when type-defined and type-restricted, as the type information provides a form of self documenting code.

What if we could have both?

This talk will introduce an approach that allows the run-time specification and testing of types in dynamic languages, as well as a JavaScript implementation of this approach called “Ristretto.js”. The approach supports such diverse type features as structural type specification and comparison, higher-order functions, extensible object typing, function currying, algebraic data types, and dependent data types (this talk will also explain what all of those mean).

Using a library like Ristretto.js, developers can use the dynamic language of their choice, but still benefit from the advantages of a strongly specified type system by using type annotations when needed. Type annotations are directly interoperable with untyped code, such that adopting types in one part of an implementation does not require sweeping changes to the rest of the implementation. Because the approach is implementable entirely within the target language, special supporting infrastructure and pre-compilation steps are not required.

Acknowledgements: This talk builds on the impressive theoretical work of Phil Wadler. Much of Ristretto.js was implemented by Samuel Li during an internship at Google.

Talk Structure

This talk will first present the relative advantages and disadvantages of dynamic and static typing, providing and discussing specific examples of tasks that are easy or hard in each case. It will then introduce and demo Ristretto.js, showing off both basic and advanced features, highlighting how many of the advantages of static type systems can be achieved using Ristretto. Finally, I will discuss the internals of Ristretto.js and show how the techniques used can be applied to other programming environments.
 recording release: yes license: CC BY-SA  

209. After Arduino
Robert Mibus

So you've started playing with this cool thing called "Arduino". You're having fun with buttons and LEDs and have started making some real projects that use them.

But then you realise a few limitations: they can be bulky, they're a little expensive, they don't have quite enough flash, they have too many I/O pins, or maybe they're just entirely too easy to use and you want some new challenges. What do you do?

You attend this presentation! :)

This presentation is neatly divided in half; the first (Hardware) half talks about:
* What Arduino hardware really is
* What makes up an Arduino system
* In-Circuit System Programmers (ie., that six-pin header you
basically never use).
* What similar hardware exists
* How YOU can make a cheaper and simpler platform for yourself
* Your ATmega chip's little brother, the ATtiny...

The second half focuses on the Arduino software:
* What the Arduino software brings you
* How the Arduino software limits you
* Using make & avr-gcc to build software for AT{mega,tiny} chips
* Accessing the registers that control the processor directly
* How software really uses the hardware interrupts
* Getting more than two interrupts
* Using the on-board timers to hand-bake PWM and other things
* Faster I/O
* Shrinking your application

If you ever PEEKed and POKEd with a C64, and are now fiddling with Arduinos - this is the talk for you.

 recording release: yes license: CC BY-SA  

210. RAID is more than parity and mirrors
Neil Brown

10 years ago, the "md" Software RAID driver in the Linux kernel was
able to provide mirrored redundancy and stripe/parity redundancy which
are the core features of RAID.  A decade later, md it still be
developed with new features.  Why is that?

This talk will explore the various demands made of md by an ever-changing
hardware landscape and ever-changing customer expectations.  It will
particularly look at error handling, restriping, bad-block management,
and the particular requirements of "flash"-based storage devices.

 recording release: yes license: CC BY-SA  

211. Keynote - Sir Tim Berners-Lee


(Needs description.) 
 recording release: yes license: CC BY-SA  

212. MySQL in the cloud, as a service
Stewart Smith

There is no one magic solution to having MySQL As A Service work well, it's a lot of small moving parts and options that need to be set, monitored and configured. We may wish it was different, or look at other database technologies, but there is a lot of legacy code that talks to MySQL, with all it's idiosyncrasies - and we need to be able to support this code.

In this talk, we'll cover many of the problem areas and what you can do to avoid them. We'll cover stock Oracle MySQL, Percona Server and MariaDB. Where suited, Drizzle will also be discussed.

A key focus area will be how to run MySQL As A Service. This makes sense even in smaller organisations, providing database services to various apps, not just in big cloud providers.

Some areas we'll examine:
- IOPs
IOPS are eaten by database sytems for breakfast, MySQL is no exception. We'll look at a crash safe server with replication, how many fsync()s a single transaction causes (hint: greater than 1) and how that number can be reduced.

- ENOSPC
MySQL traditionally handles ENOSPC very, very poorly. We'll look at new features we've implemented to help avoid ENOSPC. This includes replication logs, UNDO logs and temporary files.

- Flexibility in users/admin
We'll also cover ways to provide users with the root MySQL user while not giving them access to the underlying Virtual Machine - enabling a more standardized Database As A Service platform yet giving users a lot of flexibility in how they use their database.

- Backup/restore/spawning slaves
Backup and restore is also integral to a good database server, so we'll examine backup options that work for streaming directly into cloud storage rather than local disk.
 recording release: yes license: CC BY-SA  

213. Future directions for the X Window System
Keith Packard

X version 11 has been with us for 25 years. Over those 25 years, it
has managed to remain relevant by incorporating new technologies while
retaining compatibility for existing applications. Version 1.13 of the
X server incorporates new extensions required to bring support for
modern input and output devices to applications, and Linux desktop
applications have already started to support them.

1.13 stuff:

 *) Multi-touch touch-pad support
 *) Multi-touch touch-screen support
 *) Hot-plug display devices
 *) GPU off-load?

Future stuff:

 *) Atomic mode setting
 *) Integrated compositing manager
 *) Per-CRTC pixmaps
 *) SetWindowPixmap extension

This presentation will describe these ongoing and anticipated changes
coming to X that will preserve our legacy application base while also
continuing to stretch the bounds of the Linux desktop.

 recording release: yes license: CC BY-SA  

214. Linux Gaming at Last!  Tuning Open Source Graphics Drivers for Valve Software
Eric Anholt

Valve Software has recently committed to bringing Steam to Linux.  The Intel open source graphics driver team has been given access to their source code and was invited up to their office to work with them directly in tuning their apps for Mesa and tuning Mesa for their apps.

This talk will cover our work in making mainstream gaming on Linux possible, and the sometimes surprising reactions of a major software developer using open source graphics drivers.

 recording release: yes license: CC BY-SA  

215. Openstack on Openstack - a single management API for all your servers.
Robert Collins

Typical cloud deployments - be it Openstack, Eucalyptus etc - have a separate control layer installed and upgraded using separate tools (which might be hand-configured PXE + preseeding, Cobbler, Orchestra/MAAS, FAI etc). As a result you have two distinct provisioning systems in play, which allows for more user error and increased special cases in automation.

Using Openstack’s bare-metal hypervisor, my team are building a fully self contained cloud, where the control layer for the cloud is itself deployed and upgraded via the same cloud API.

Come hear me talk about the challenges involved in bootstrapping and operating such an environment, the benefits it can bring and what you can do with it!
 recording release: yes license: CC BY-SA  

216. git-annex
Joey Hess

Storing big data in git is an appealing idea -- until you actually try to do it. This talk will discuss the problems of using git this way, and how git-annex solves them, as well as adding other features, like storing a git repository's data encrypted, in the cloud. 

I'll tell the story of how being stuck behind a dialup modem in 2010, and wanting an excuse to write my first Haskell program, led to being funded on Kickstarter in 2012 to continue developing it into something that approaches or exceeds the capabilities of DropBox.
 recording release: yes license: CC BY-SA  

217. Beyond Alt Text: What Every Project Should Know About Accessibility
Denise Paolucci

You know it's important for your web project to be accessible to people who use all kinds of assistive technology to access the internet. But all the guidelines for web accessibility you can find don't go much beyond "make sure all your images have alt text", and all the resources you can find treat "accessibility" as a synonym for "making your site work in a screen reader". You know there are other things you should be doing and other forms of assistive technology you should be accomodating, but all the best practices documents are a complicated morass of contradicting information (if you can find best practices documents at all.)

Have no fear! This tutorial will guide you through the basics of improving web-based open source projects until they work with all kinds of assistive technologies -- and there are more assistive technologies out there than you might think. Together, we'll cover:

* the wide range of assistive technology people use (including things most people wouldn't think of as assistive technology);

* quick demonstrations of what the experience of using assistive technology is actually like (no more guessing about how screenreaders treat elements of a page or how voice recognition software allows for keyboardless navigation);

* common myths about accessibility (and the truths behind the myths);

* "attractive nuisances" (things people think are helping, but actually make the situation worse);

* simple, concrete examples of changes you can make to your site -- right now!

Code samples will be provided, along with basic exercises to reinforce the lessons, so please bring a laptop if you can. You won't leave as an accessibility guru, but you'll definitely leave with a toolkit full of ways you can move beyond alt text.
 recording release: yes license: CC BY-SA  

218. NovaProva, a new generation unit test framework for C programs
Gregory Banks

This talk will introduce NovaProva, a new generation unit test framework for C programs.

I wrote NovaProva because I was sick of writing unit tests using the venerable but clunky CUnit library.  CUnit looked easy when I started writing unit tests but I soon discovered it's limitations and ended up screaming in frustration.  Meanwhile over 18 months the Cyrus IMAP server project has gone from 0 unit tests to 461, of which 277 are written in C with CUnit.  So that's a big itch!

NovaProva starts with the same basic xUnit paradigm for testing, but extends some concepts in new directions (for example, NovaProva organises tests into trees rather than xUnit's two-level "suite and test" approach).  Most importantly, NovaProva is designed using real world experience and modern technologies to make it much easier to write tests, and much easier to discover subtle bugs in the System Under Test, bugs that unit other test frameworks miss.  Ideally NovaProva should make testing C code as easy as possible.

To make writing tests easy, I had to do some things in NovaProva which were so hard they seemed impossible.  As a result NovaProva now does six things which I believe make it unique amongst C/C++ unit test frameworks:

- NovaProva is a library which Valgrinds the program which calls it

- NovaProva implements true reflection in C/C++ (not using magic macros)

- NovaProva discovers test functions automatically, no configuration needed, just by test function name

- NovaProva lets the test writer do fully dynamic function interception (mocking, in xUnit speak) at runtime and on a per-test basis (i.e. not using linker tricks)

- NovaProva provides good reporting and isolation for the many ugly ways C code can fail: memory overruns, uninitialised variables, memory leaks, deadlocks and loops, SEGV, calling exit(), calling syslog().

- NovaProva's project name is neither silly nor dangerous

The talk will cover some of the features of NovaProva, how to use NovaProva in your projects, and describe in technical detail how the impossible was accomplished.  The audience is anyone who works on C programs for a living, whether willingly or not.
 recording release: yes license: CC BY-SA  

219. Teaching the X server new tricks
David Airlie

The X server is a 20 year old code base, and has had less then stellar support for multiple GPU configuration throughout that time. Although the promise of wayland lies in the future, fixing up the X server to deal with modern hw was considered necessary.

This talk will discuss improvements to various pieces of the Linux graphics stack and the X server. Output device hotplug, secondary GPU rendering (optimus laptops), GPU switching and multi-GPU rendering will be addressed and what the current status of work in this area.


 recording release: yes license: CC BY-SA  

220. Make your software understand your non-US accent
Douglas Bagnall

Free speech recognition engines like Sphinx are not hard-wired for any particular language and accent; they use statistical models tuned for the desired dialect. Unfortunately, there are not very many free models of non-American English, let alone other languages.

This talk looks at what is necessary to create free acoustic and language models for New Zealand and Australian English.

 recording release: yes license: CC BY-SA  

221. How Mozilla draws the line between configuration and data while using configuration management tools
Brian Hourigan,Justin Dow

How Mozilla draws the line between configuration and data while using configuration management tools - with Brian Hourigan and Justin Dow from Mozilla Corporation.

As each quarter passes Mozilla depends on configuration management more and more. It's a formal goal to have all of our systems under configuration management. Ideally, no system should ever have data that a configuration management engine doesn't know about.

How do you draw the line between configuration data and content? If you're maintaining a web server and have a few hundred kb of data in the DocumentRoot it may make sense to store everything in a VCS. If you're maintaining a mrepo/cobbler system, people will notice (and probably complain) if you add 6GB of binary data to a VCS.

We all know backups are important. "Backup all the things" is a great motto to live by, but often it is the time you spend installing and configuring a server that is lost during a disaster. Not just the data. Configuration management can go a long way in that regard, but it might not be appropriate for everything. If you are maintaining your own RPMs, you don't want to check all your RPMs into your VCS and lug those around with you. There is a concept of "data" and there is a concept of "configuration". Both of these are very important to all aspects of systems administration, and a VCS might be appropriate for configuration and plain text data, but not necessarily for binary data. Backups might be appropriate for data, but not necessarily for configuration. Where do you draw the line? How do these strategies work together? What if you have nightly backups of your data, but not of your configuration? How much time do you want to spent restoring a backup, just to get your software's configuration back? What if your new guy accidentally inserted a space after the leading slash in his "sudo rm -rf" command and wiped out half of your server? Where do you start to get that server back up and running exactly how it was, with both the data and the configuration intact?

We will go into depth on the following points using free and open source software:

- How do you distinguish configuration data from content?
- Where should you keep it?
- How do you implement version control on data that isn't meant for a version control system?
- How do you customize this data for just a few systems?
 recording release: yes license: CC BY-SA  

222. Heat: Orchestrating multiple cloud applications on OpenStack using templates
Angus Salkeld,Steve Baker

This talk provides an overview of Heat, a peek inside the CloudFormation template language, and a demonstration of heat technologies.  Heat provides an Apache 2 licensed CloudFormation orchestration engine that orchestrates cloud infrastructure resources such as storage, networking, instances, and applications into a repeatable running environment for OpenStack IAAS platforms.  Heat also provides several advanced features such as authentication, nested stacks, high availability, and auto-scaling which are demonstrated.

 recording release: yes license: CC BY-SA  

223. DanyKroche
Daniel Stone

http://www.topgradepapers.com/wp-content/uploads/2012/04/Get-Help-banner.png 
 
===================================================================== 
 
Essay Online Store – 24/7 Online Support  
15 % Off! You know only the best essays can get you top grades, and only the writers at our writing service can get you best essays. It's simple and convenient.  
 
Buy College Essays, Custom Term Papers 100% Original  
Best essay writing service. Help me write an essay. To into essay for! Only thesis whether time: the… Of other have: country they detection countries learn more ...  
 
Custom Essay Help & Writing Services. 24/7 Online Support  
Loaded with extra assignments? Get free from your workload – buy essays online. Discover the world of A+ grades and in-time submissions with ...  
 
===================================================================== 
===================================================================== 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Homework ate my dog script
 
 
Preliminary Proposal Example Is The Human Brain Always Thinking Epidemiology Master's Thesis Letterhead Template Automotive Manuscript Editing Service Reviews Core Banking Proposal Research Paper Thesis And Outline Essay My Dream Job Engineer Negative Thinking Traps Custom Page Template In Thesis Article Writing Jobs From Home Part Time Thesis Writing Apa Format Instant Proofreading Online Free Samples Of Cover Letters For Customer Service Jobs Essay Performance Appraisal Sample 7 Days Letters Dubai Prosthesis Leg Essay Topics For A Dollhouse By Henrik Ibsen Research Methods And Thesis Writing Calmorin Pdf Essential Oils Thesis Pdf The American Scholar Essayist Nouns Letter L Cover Letter For Job Posting On Company Website Buy Letterhead Design Banking Papers Solved Balance Sheet Audit Engagement Letter The Role Of Unconscious In Creative Thinking Is Known As What Does A Proposal Manager Do Bless Me Ultima Essay Topics College Admissions Essays That Worked Sample Letter Of Intent For Medical Residency Cover Letter Sample For Accounting Graduate How To Write A Literature Essay Ppt Resume Writing Services Naukri Review Essay Topics For Freedom Writers Ap Literature Essay Outline Rockridge Institute Thinking Points Proofreading And Copyediting Services Uk  
 
Do my homework now ace
 
 
Essay House Giveaway How To Write A Narrative Essay Introduction Samples For Cover Letter For Job Application Cover Letter Salesforce Cover Letter For Job Application In Healthcare Contrast Essay Samples Letter Of Recommendation For Scholarship Physical Fitness Essay Example Federalist Papers Article 51 My Favourite Recreation Essay Christmas Letter Ideas For Boyfriend Accounts Payable Paperwork Intelligent Buildings Thesis Social Issues Essay In Hindi Essay On Competition English Essay Film Review East Capital Letter University Of London Thesis Guidelines The Roaring Girl Essay Topics Come Up Thesis Statement Research Paper Guidelines For Preparing Oral And Written Research Reports Persuasive Essay Ideas For 7th Graders 68 Equals What Letter Grade Virginia Beach Request For Proposal Uses Of Forest Essay Systems Thinking/Systems Dynamics Let's Just Get On With It Free Samples Of Cover Letters For Resumes Group Proposal Social Work Buy Apps On Google Play Victor Hugo Love Letter Thesis Order Table Of Contents How To Learn Photoshop Editing My Brother Sam Is Dead Writing Prompts Spanish Letter Codes For Microsoft Word Sample Papers For Class 9 Cbse Sa1 English Format Writing Qualitative Research Paper 
 recording release: no  

224. Why kernel space sucks
Michael Kerrisk

A few years ago, respected kernel hacker Dave Jones gave a highly amusing talk, "Why userspace sucks"[1], which looked at the extraordinary ways in which userspace programmers wreck the performance of Linux systems--systems based on the kernel whose performance kernel hackers go to such lengths to improve.

There's no denying Dave's analysis. But, sucking can go in both directions, and there are some myths about the perfection of kernel development to be deconstructed.

I'll take the specific example of programming interfaces--a place where kernel hackers inflict special pain on userspace, in the form of designs that are inconsistent, insufficiently general, unmaintainable, nonstandard, overcomplicated, nonextensible, poorly integrated with existing APIs, and simply out-and-out wrong. That leads to a parallel question: is code the only--or even the best--way to contribute to a project? That question in turn leads to some ideas about how we might improve the process of API design.

[1] http://lwn.net/Articles/192214/
 recording release: yes license: CC BY-SA  

225. How OpenStack Improves Code Quality with Project Gating and Zuul
James Blair

The OpenStack project uses project gating to ensure that the latest
code in the repository always works.  Gating is a process where every
change, after passing code review, is automatically tested and merged
only if it passes the test suite.  Especially for large projects with
complex test suites, this process can keep code quality high while
making it easier to accept patches from new contributors.

The OpenStack CI team developed Zuul to manage its project gating
system.  Zuul is a flexible, general purpose system to integrate
Gerrit code review and Jenkins and can be used for project automation
purposes beyond trunk gating.  Driven by a simple, readable YAML file,
Zuul has a set of basic concepts that can be combined to make very
powerful automation pipelines.  Zuul can perform speculative execution
of tests on multiple dependent changes in parallel to keep merges
happening quickly for gated projects.

This presentation will review how OpenStack uses project gating as
well as the capabilities of Zuul and how to set up a similar system
for any project.

 recording release: yes license: CC BY-SA  

226. Quantitative community management
Asheesh Laroia

In recent years, communities as wide-ranging as Wikihow to Thunderbird have been surveying participants and using this information to improve the experiences of participants. A variety of open source projects are now tracking contributors to identify where people fall away, and to nudge them forward. In this talk, you will learn the state of the art in community measurement, common mistakes made in surveying, and how to actively use data to improve activity within a project.

This talk will cover the following issues in detail:

* How Wikipedia used A/B testing to improve contribution rejection messages
* Based on entrance/exit surveys from OpenHatch's Open Source Comes to Campus program, what do new contributors know?
* The impact of treating gender as a plain-text field, rather than a drop-down, on the answer rate
* How Ubuntu's Developer Advisory Team tracks, contacts, and nudges new contributors
* How motivations for Thunderbird contributors differ substantially from the FLOSSpols survey
* How to misread your survey data (and tips on avoiding that)

Upon leaving this talk, you will have a solid background in the current state of data collection within open source communities and how to apply those tools to your own project.
 recording release: yes license: CC BY-SA  

227. Ceph: object storage, block storage, file system, replication, massive scalability, and then some!
Florian Haas,Tim Serong

Ceph is one of the most exciting new technologies to recently emerge in the Linux storage space. Based on the RADOS object store, the Ceph stack boasts massive scalability and high availability using nothing but commercial, off-the shelf hardware and free and open source software.

Ceph includes a massively distributed filesystem (Ceph FS), a striped, replicated, highly available block device (RADOS block device, RBD), S3 and Swift object storage capability through the RESTful RADOS Gateway, and a simple, well-documented native API with language bindings for C, C++ and Python. The Ceph filesystem and RBD have been part of the mainline kernel since the 2.6.3x releases, and the server-side stack has recently undergone an extensive cleanup and stabilization phase.

The Ceph stack is also well integrated into OpenStack, making it a potential "one-stop shop" for OpenStack object, image and volume storage.

In this hands-on tutorial, Florian and Tim will walk you through the initial setup of a Ceph cluster, explore its capabilities, highlight its most important features and identify current shortcomings, discuss performance considerations, and identify common Ceph failure modes and troubleshooting steps.

Attendees should have a good understanding of Linux systems administration. Prior experience with distributed storage (like Lustre, GlusterFS, DRBD, Swift) is a plus but not required. Prior knowledge of the Ceph stack is not necessary. Attendees will have the opportunity to follow the tutorial in a virtual Ceph cluster of their own; pre-installed Libvirt/KVM virtual images will be available for that purpose.

Co-presenter: Tim Serong, SUSE
 recording release: yes license: CC BY-SA  

228. Lighting up OpenCV with Ne10 and NEON
Beau Johnston

Efficiency in image processing has always been of high importance, this is increasingly true when performed on embedded and mobile devices. A majority of mobile devices are using Advanced RISC Machines (ARM) processors but surprisingly single instruction multiple data (SIMD) optimisations for this architecture is not yet common. This is especially true when we consider open source frameworks and libraries running on these newer mobile ARM devices. 

INTEL have recently used their Streaming SIMD Extensions 2 (SSE2) framework to improve efficiency of heavyweight functions within the Open Compute Vision (OpenCV) library. Unfortunately, the energy efficiency of INTEL processors means it is not the dominant architecture for mobile devices. Image processing on these devices is now common due to the increasing camera capabilities (where most modern smartphones contain an 8 Megapixel camera). We also see a majority of Android and iOS apps leveraging the OpenCV library to perform image processing. The OpenCV library has numerous computationally intensive operations where the use of SIMD is beneficial, INTEL has identified and remedied these bottlenecks using SSE2, however most mobile devices (which run ARM) will not benefit from it. This is of fundamental importance for a mobile architecture in which efficiency and battery life are the major concern. 

An alternative to INTEL's SIMD instruction sets (SSE and AVX) are ARM's NEON intrinsic instruction set (released in 2009) and the Ne10 software framework (2012). NEON contains similar, but not identical, vector instructions to SSE and AVX. The Ne10 library provides a set of commonly used vector operations, with each vector operation function consisting of clusters of pre-rolled NEON intrinsics. Ne10 provides a higher level of abstraction, enabling C/C++ floating point arrays to be manipulated at a higher level, allowing for faster development time. But at what cost?

End-users are increasingly using their phones as media processing machines, but what can the app developer do to save the battery life of these devices? Using SIMD to improve computing efficiency which in turn reduced clock cycles is an attractive option!

During this session we will compare between SSE, NEON and Ne10 when considering SIMD optimisations to critical functions of the OpenCV library, we will also discuss speedup factors and ease of use (from a programmers perspective). We will also "briefly" examine auto-vectorisation and how different compilers stack-up. Finally we "might" have a demonstration of some simple image processing using our NEON-ised OpenCV framework for iOS and Android devices.
 recording release: yes license: CC BY-SA  

229. PostgreSQL 9.2: Full Throttle Database
Josh Berkus

Ladies and gentlemen, start your database engines!

PostgreSQL 9.2 beta is here, and it's faster and more exciting than ever before. Come down to the track and join us for a high-speed tour of a database which is faster than ever before!

Starting at pole position, we will whip around the features of version 9.2, speeding through one demo after another, including:

    cascading replication
    enhanced vertical scalability
    improved performance
    index-only access
    range types
    JSON support
    better live DDL deployments
    new administrative views

It's the fastest PostgreSQL yet, and you have a shotgun seat!
 recording release: yes license: CC BY-SA  

230. Crazy quilts: unpicking patch deployment in .au and .nz
Joh Pirie-Clarke

For the last few years, a consortium has been running scans over the entirety of the .nz and .au networks (as defined by the GeoIP database). Focusing on the most popular ports, the results of these scans are a fascinating look into the 'health' -or otherwise- of these countries' networks.

Concentrating on the banners and headers from making a connection on TCP ports 22, 23, 80, 53, 443, and 445*, it is possible to fingerprint both the OS and associated patch level of some hosts at a particular point in time. When aggregated, what does this information suggest about current patching strategies in Australasia? Do particular operating systems appear to be easier to keep up to date, or are we failing to maintain them? Finally, excluding harried systems administrators of every type, who might have a vested interest in such a project?

*ssh, telnet, http, dns, https and smb/windows shares, respectively.
 recording release: yes license: CC BY-SA  

231. Graphics from Gamepads, Guitars, and Gadgets Galore
Jon Cruz

What do gamepads, joysticks, guitars and even android glow palettes have to do with graphics creation? Quite a lot, it turns out... especially if one is immersed in the culture of Open Source innovators, hardware hackers and other interesting types.

Specifically, though, this presentation will give an overview of hacking the Inkscape vector graphics drawing program to accept various input from, and even output to, a somewhat eclectic collection of hardware devices. These range from inexpensive to costly, off-the-shelf to custom, common to unique, sane to silly... And also a surprisingly timed request that came in to help those suffering from some extreme disabilities.

The talk will cover design and motivations, along with several criteria that guided the efforts at different times. Much of the focus will be with software at several levels, including API design decisions, driver writing and leveraging considerations and various lessons learned. XInput, GTK+ extended devices and custom interfacing will all be highlighted.

Various hardware options will be covered, including support for professional 6DoF engineering input hardware, gamepads and joysticks, Wii controller based options, game guitars and custom Android-based physical IO devices. Of the latter, design of both hardware and software for a glowing android-based artists' palette will explored along with some of the motivations and inspirations involved. And odd as some of these might sound, there are sound reasons that will be revealed for using even the most eclectic seeming of them.

By the end of the presentation those attending should be able to gain inspiration on how out-of-the-box thinking might be applied to their own projects, along with insight on software API design & implementation, and hardware hacking motivation. And finally hilarity most likely will ensue with attempts to form a volunteer game-controller guitar band to create a collaborative graphics performance piece.

 recording release: yes license: CC BY-SA  

232. Building Persona: federated and privacy-sensitive identity for the Web
Francois Marier

Identity systems on the Web are a bit of a mess. Surely in 2013, we would have something else than usernames and passwords for logging into websites. A solution that doesn't require trusting a central authority with a privacy policy that can change at a whim.

It turns out that solving the general identity problem is very hard. Some of these solutions require complicated redirections, an overwhelming amount of jargon and lots of verbose XML. The technology has been around for a long time, but implementing it properly (and safely) is often incredibly difficult. It's a lot to ask of the millions of part-time developers out there that are building sites out of some quick HTML, a MySQL database and some PHP code samples.

This talk will explore the challenges of the existing Web identity solutions and introduce the choices that we made during the development of Persona (formerly BrowserID), a new Open Source federated identity solution from Mozilla, designed and built to respect user privacy.

It will cover:

- a quick overview of existing identity systems on the Web
- a discussion of the complexities and privacy-related concerns that existing identity solutions have
- the cryptographic protocol behind Persona (including how crypto is used to provide both authentication and privacy, even from your identity provider)
- the Persona federation approach: fully distributed with fallbacks
- demos and actual code from sites that have implemented Persona
- the basics of the Persona API so that attendees can go out and support this technology on their own sites without much trouble

Identity is a very significant piece of Internet infrastructure and so it is critical that the solution that gets widely adopted be free-as-in-freedom, cross-browser, distributed and ruthlessly focused on making it easy for developers and end-users.
 recording release: yes license: CC BY-SA  

233. Scratching your own itch - subsurface diving log
Dirk Hohndel

A lot of open source projects are started for the same simple reason: a developer wants a specific program and what is out there doesn't fulfill the need. That's how subsurface was created - there was no decent diving log software that would run on Linux and support some of the key features that we were looking for.

From this starting point we got to a very decent diving log program that happened to run not just on Linux but also on Windows and Mac OS, that supported the vast majority of dive computers out there, had a decent UI (with some highlights like anti-aliased rendering and a novel approach to delivering multi-dimensional information in an easy to understand graphical format).

The majority of this talk won't be as much about the actual diving log (it's a user space application that has a fairly narrow audience - even though it seems that a lot of the people at LCA tend to be scuba divers). Instead the focus will be on two specific aspects: First, the process of going from a desire to have a specific piece of software available to an implementation of that using the vast array of libraries and tools available in open source - and getting to a top notch app in less than six months with mostly only two developers engaged part time. And second the aesthetically pleasing visualization of what is in effect a vast amount of complex, multidimensional data.
 recording release: yes license: CC BY-SA  

234. Lightning Talks


(Needs description.) 
 recording release: yes license: CC BY-SA  

235. Conference Closing


(Needs description.) 
 recording release: yes license: CC BY-SA  



Location
--------
Llewellyn Hall


About the group
---------------
linux.conf.au is a conference about the Linux operating system, and all aspects of the thriving ecosystem of Free and Open Source Software that has grown up around it. Run since 1999, in a different Australian or New Zealand city each year, by a team of local volunteers, LCA invites more than 500 people to learn from the people who shape the future of Open Source. For more information on the conference see https://linux.conf.au/