The Committee to Protect Journalists monitors and coordinates assistance globally for those persecuted for their reporting, newsgathering, or analysis. Last year, for the first time, their records show that half of those jailed for speaking freely worked on the Internet: as bloggers, online reporters or Web editors.
This talk draws on the current experiences of these writers and speakers in repressive regimes who use FLOSS software at the frontiers of free speech: what works, and what doesn't. We'll develop a TODO list: tools that currently don't exist but which those working for free expression most desperately need. And we'll look at newest tools within open source's own cultural repository, from secure IM to distributed version control, and how they might be expanded and developed to enhance and defend free speech in every corner of the globe.
From the best available tools, to the ongoing work load, to the known and recommended methodologies, this talk will walk you through all you need to think about when setting up your own test automation infrastructure.
It will also outline all the other available options you have for running your testing continuously using Open Source tools in combination with commercial services.
A good overview of some of the things you might hear about can be found here: http://adamchristian.com/archive...
While a terrific presentation may take talent, making a good one is a
matter of science and practice. As generations of Toastmasters have
proved, anyone can do it. Veteran conference presenter Josh Berkus
will go over his tech talk tips in detail in order to help you improve
your presentation skills. Programmer and slide-slinger Ian Dees will
take on the specific topics of showing code to an audience and
composing your slides.
Speakers who are giving talks later in the conference are especially
encouraged to attend.
by Don Stewart
Haskell is a functional language built for parallel and concurrent programming. You can take an off-the-shelf copy of GHC and write high performance parallel programs right now. This tutorial will teach you how to exploit parallelism through Haskell on your commodity multicore machine, to make your code faster. We will introduce key parallel programming models, as implemented in Haskell, including:
and look at how to build faster programs using these abstractions. We will also look at the engineering considerations when writing parallel programs, and the tools Haskell provides for debugging and reasoning about parallel programs.
This is a hands on tutorial session: bring your laptops, there will be code!
by Eric Thompson
This session will take you step-by-step through the process of creating an actual printed circuit board using the gEDA suite of electronic design automation tools. From schematic to gerber files, you can do all with the open source tools in gEDA.
The gEDA project is a full GPL'd suite of electronic design automation tools. The suite includes tools for schematic capture, attribute management, bill of materials (BOM) generation, netlist creation, analog and digital simulation, and printed circuit board (PCB) layout.
This session will cover:
- Drawing a block diagram
- Creating parts and drawing a schematic
- Netlist creation and import into the printed circuit board tool
- Layout of the printed circuit board
- Outputting gerber files
- Design verification
- How to have your printed circuit board built
This session will be presented for the beginner and will assume no previous hardware experience.
gEDA website: "http://www.gpleda.org/":http://www.gpleda.org/
by Hal Pomeranz
The Linux/Unix command-line is an amazingly powerful programming environment. Mastering its functionality can make you enormously more productive. Hal Pomeranz, co-author of the weekly "Command-Line Kung Fu":http://blog.commandline... column, returns with even more command-line tips and tricks that will make you gasp with amazement and squeal with delight.
In this episode:
Last year's talk can be found "here":http://www.deer-run.com/~hal/Unix_Command-Line_Kung_Fu_(OSBridge).pdf -- the proposed presentation will contain entirely new material.
<blockquote>Do you play a musical instrument? Bring a musical instrument and you can participate in part of the show.</blockquote>
_A Somewhat Constrained Edition of The Matt & Markus Show_
It's said that if the only tool you have is a hammer, everything looks like a nail. It isn't true of course, unless you're the sort of person that goes around hammering nails into other nails, which would be silly.
But how not true is it, really? Is it totally not true, or only a little bit not true? Do just a few more things look like nails? Lots of things? Maybe even most things? Or is this just some dumb platitude that doesn't stand up to serious empirical investigation?
There's only two ways to find out--you can either try it and see or, if your time is even remotely valuable or your sanity a treasure to cherish, you can come watch someone else try it (pointing and laughing optional).
So come join the fun as we wallop our way through the world. Cautious individuals planning to sit in the first three rows may want to wear a raincoat; it won't protect you in the slightest but if we forget what we were going to say we can always make remarks about your attire to get a cheap laugh.
by Phil Tomson
Lots of attention has been given to GPUs for speeding up certain computations. Not as much attention has been focused on FPGAs,but they are likely the next frontier for high performance computing. How does someone with a software development background get started experimenting with FPGAs? First you need to learn about HDLs (Hardware Description Languages) which are used to design FPGA circuits.
In this talk we'll spend some time getting acquainted with VHDL. Then we'll navigate through issues such as simulation, synthesis and the meaning of "synthesizable subset". We'll touch on FPGA vendor tools as well as open source tools available for simulation. And we'll take a quick look at open source hardware models that you can incorporate into your own designs.
Drawing inspiration from my popular SXSW talk on ActivityStreams, I'm going to take it a step farther and demonstrate how all this "open, social web" stuff applies to — nay, shall define! — the future of open source community collaboration mechanisms, and our ability to move faster, quicker, and more intelligently than any of our proprietary counterparts.
Of course this can't be accomplished alone, so maybe I'll pull in some good ideas from Kant, Nietzsche, Stalin and other inspirational figures... or not... but the point is: the future of open source lies in how well we leverage and exert our influence through social channels.
And since I've been working on opening up and interoperating (yes, that's a verb) the social web, well, I might as well talk about how I see this all relating to the future of open source and how we get sh*t done!
by Seth Schoen
The most common way of using SSL/TLS encryption relies on a public-key infrastructure that puts near-absolute trust in a large number of entities around the world, any one of which could accidentally or deliberately empower anyone in between us and our communication partners to impersonate any site or service and spy on all of our communications. We've seen that these certificate authorities can make mistakes. CA mistakes, or collaboration with attackers, can expose us to undetectable man-in-the-middle attacks, so we need new mechanisms to meaningfully double-check that they're doing the right thing.
I will discuss a whitepaper and research collaboration that are exploring the available sources of information that could help address this problem.
My friend Alex is a lighting designer. He had an idea for a HyperCard stack he wanted to write, to help him coordinate lighting cues with a script; unfortunately, his PowerBook 140 is no more, so a written script he has to follow manually is the best he can do. To explore the state of citizen coding in 2010, I've implemented Alex's simple idea as many ways as I could, and we've still got a long way to go.
So what happened to HyperCard? Photo editing, music production, page layout and publishing—all these dreams of 1980s computation have evolved and matured into world-class software, while HyperCard and its descendents have languished. We know that there are citizen coders, like Alex, who want to contribute. Why can't they? Does creation not scale?
Computation becomes ever more mainstream, and today we sit at an inflection point: while social networks and devices encourage passive consumption over creativity, we have a unique challenge—and opportunity—to provide tools to help consciously perceive and manipulate our increasingly digital environment. HyperCard's time has nearly come: we are called to widen the reach of code beyond our geek niche.
Citizen coding candidates touched on:
- Cocoa (1990s Apple kids programming environment)
- HyperCard 2.4
- Web HyperCard clones - various
- Quartz Composer
- Squeak eToys
- Novell Visual AppBuilder (1994)
- Prototyping tools - var.
(I'm submitting as a short-form talk, because that's as long as I can imagine my talk being, but this could be a fun long-form workshop as well—do a quick overview & discussion of the problem, split people up into groups, try and get everyone to bang out an idea in some framework they've never seen before, maybe even hash out some concrete ideas for HyperCard 2010.)
Two local lawyers will discuss the legal issues and best practices involved in balancing the interests of employers, employees and projects. Topics to be addressed may include:
1) For employees: Does my employer own what I work on in my spare time? Can my employer stop me from writing my own blog? Can I use something I developed at work in my side project?
2) For employers: How do I get good employees without risking my proprietary products? Can I allow employees to participate in open source projects?
3) For projects: How do I get good contributors without risking claims from their employers?
* The problem with threads.
** Common design problems w/ blocking by default.
* Event-driven design.
** Browser applications.
** Being good at doing nothing.
* Your first node program.
** EventEmitter and the standard callback API.
** Example proxy.
** Simple optimizations.
* Why is it so fast?
** libev, libio and non-blocking IO
Getting started in embedded Linux development can be intimidating. Every hardware device vendor seems to have its own embedded Linux distribution and way of developing for it. OpenEmbedded is a framework for creating highly customizable embedded Linux distributions. It provides a well-designed build system and cross-compilation environment to developers, and a robust package management system for setting up and maintaining your embedded Linux system.
Find out why OpenEmbedded is taking the embedded world by storm and improving the lives of embedded Linux developers.
This presentation will be accessible to a wide developer and IT audience. Some knowledge of how Linux distributions are put together will be helpful, but not essential.
Creating embedded domain specific languages [DSLs] has become a popular technique for extending a general-purpose programming language with custom semantics. Traditionally, programs written in an embedded DSL can either be evaluated directly in the host language, or emit source in some lower-level language for performance. With advances in just-in-time compilation technology, viz. the Low Level Virtual Machine, programs written in embedded DSLs can be executed immediately without the overhead and delay of writing source to disk and invoking an additional compiler, and without compromising performance.
During this talk, we will survey real world implementations of JIT-compiled embedded DSLs and their applications.
by Alex Polvi
This talk will discuss libcloud, a unified interface into many popular cloud providers such as Amazon EC2, Slicehost, and Rackspace. libcloud was created to address the problem that each cloud hosting provider provides a proprietary, slightly different, implementation of their API for accessing resources. It's almost as bad as the browser wars! With libcloud, a developer can develop once, then create and manage servers across all of these providers. libcloud is an important step towards true interoperability between server providers. It is currently part of the Apache Software Foundation Incubator.
On top of libcloud, this discussion will cover:
* Open APIs - each provider is "open sourcing" their API, what does this mean?
* Open Images - without an open image format, can portability truly exist?
* Standard Interfaces - CCIF, OCCI, libcloud, oh my! What tools are available today to build on an open cloud?
* CloudHackers - There is a group of developer focused solely on cloud technology, what are they building?
by VJ Beauchamp
If you have a business, there are things that people may want to find about you.
Like your hours. Your physical address. Your phone number. What you specialize in.
These things might be on your website, but consider this: your customers may never end up there. They might not be able to find it. Or, they might be diverted by the Google Local feature.
These things are simple, but frequently forgotten in the glow of some shiny bit of Flash or Flex.
We'll talk about some best practices to make sure that your customers can find what they need on your website. And then we'll talk about some best practices to make sure that they can find what you need even if they never make it to your website.
If you're already into SEO, this will be too basic for you. But if you're hearing from your clients that they can't find you online, this session is for you.
Projects and tools are being created worldwide with the aim of creating more collaborative decision-making processes. ParticipateDB (http://participatedb.com) currently lists 131 tools and 157 projects dedicated to this purpose. This panel will explore the broad themes of this movement, featuring representatives from several of these efforts.
Portland State Aerospace Society (PSAS) is a student aerospace engineering project at Portland State University. We're building ultra-low-cost, open hardware and open source rockets that feature perhaps the most sophisticated amateur rocket avionics systems out there today.
With the new proposed NASA budget eliminating the US manned spaceflight program and a heap of small private space companies popping up, the way we think about getting to space is changing. Is there room for open source in this brave new (space) world? PSAS has been working on open source avionics and hardware for small rockets for several years. We present our experience with, and thoughts on the future of, open source rocketry.
by Eric Wilhelm
"Yak Shaving" is the seemingly useless and endless task you do on the way to accomplishing a simple thing with software (such as destroying the one ring in the fires of Mordor). It's also the reason we have frameworks (orcs), libraries (goblins), and abstraction layers (balrogs). If not for open source software, all programmers would ever do is shave yaks in the deep of Moria.
We'll journey to the evil eye of software's complexity, see how interfaces evolve, and why the simplest things still turn into epics. This session covers several years of my professional meddling in open source, Perl infrastructure, the CPAN, CAD/graphics software, and GUI toolkits. I'll expound on API design, abstraction, non-blocking code, parallelism, interfaces, how code gets turned into sausage, and why we need more bacon. I'll also discuss community, collaboration, and bug reports.
Whether you're a long-time contributor to open source projects, or just starting as a user, this should give you some insight into how the pieces fit together, why "the stack" is really just a pile of hobbits, and how we haven't even ventured out of the Shire yet.
Email had Sendmail, and the Web itself had Apache. Open Source software has been instrumental in the development of every revolutionary communications technology on the Internet. In this talk, StatusNet founder Evan Prodromou will discuss the state of the open social web and how projects like StatusNet, Elgg, WordPress, and Drupal are working to make a distributed and open social network across the Internet. He’ll discuss security standards like OpenID and OAuth, as well as real-time publishing systems like PubSubHubbub and Salmon, data structures like Activity Streams as well as application suites like OStatus.
Caching layers have become as pervasive as persistence layers. As the caching space matures, and application needs change, developers have the choice of either moving to new technologies or adapting their existing technologies to fit new needs.
This talk focuses on adapting and augmenting interfaces to memcache in order to overcome some of its limitations and to better utilize available resources. Then we'll talk about combining those interfaces in a simple, snap-together fashion.
To get there we'll be touching on limiting API breadth, the perils of dog-piles and thundering herds, and why composition trumps inheritance. The examples will be written in Ruby, but should apply just as well to other languages.
The open geo stack includes:
* Tile styling
* Tile server
* Geo databases
You might not even realize what obstacles are blocking your colleagues from efficiently collaborating with FLOSS projects. In this presentation, you'll learn how to take the next step in encouraging employees to contribute to FLOSS, with specific recommendations for fixing these issues.
I'll introduce tools you can use, such as:
I'll mine my experience as lead project manager and personnel manager at Collabora for examples. And I want to hear your experience and suggestions, too -- for example, can FLOSS leaders help with tactics like sensible copyright assignment policies?
Two wiki enthusiasts —Steven and Ted —will share the best practices they've gleaned from 13 combined years using and teaching others about wiki and collaboration.
1st–4th June 2010