Your current filters are…
by Ian Dees
In May 2008, five busy programmers in town for a conference sat down for dinner and decided to do a book together. We dreamed big dreams for the project scope, made big plans for technical collaboration, and yes, made big mistakes as we worked. Two years later, reality looks really different than we'd imagined--better, in fact.
In this talk, you'll hear about:
* Getting through the Trough of Sorrow
* What to do when you have all the responsibility and no authority
* Laughing at your estimates (and getting stakeholders to laugh with you)
* What worked for us (and what might or might not work for you)
* Lessons for freelancers, telecommuters, and distributed teams
Inexpensive 8-bit microcontrollers include many dozens of i/o pins backed up by interesting hardware including USB interfaces.
We show how a simple interpreter, called Txtzyme, running on an 8-bit micro-controller, can support generalized hardware interaction and expose that to a regular computer over the flow-controlled USB bus. The result is to make your hardware feel "command line friendly" while concentrating your system development efforts into a more powerful and interactive development environment: the shell.
Sources for Txtzyme and all the "demo projects":https://github.com/WardCunningham/Txtzyme are on GitHub and have been blogged at DorkbotPDX. See our "original announcement":http://dorkbotpdx.org/blog/wardcunningham/shell_programming_with_txtzyme there and a "more recent post":http://dorkbotpdx.org/blog/wardcunningham/txtzyme_accepted_for_open_source_bridge describing additional preparations for this talk.
Whether it's node.js, goroutines in Go, gevent/eventlet in Python, Rubinius's hydra branch for Ruby, Akka for the JVM, or async primitives for C# 5.0, concurrency is a hot topic.
It's too easy to forget that coroutines were first defined in a 1963 paper and that preemptive multitasking, like traditional Thread interfaces offer, were a part of Unix's first release in 1969.
This talk aims to present a historical context for all of the "new" concurrency models and attempt to peer into the future to see how existing concurrency paradigms will serve hackers in a massively multicore future.
by David Brewer
A deployment pipeline combines several development best practices, fully automated and taken to their logical extreme. The result is almost magical: changesets go in one end, and fully-tested software packages come out the other. We'll take a tour of the components of a deployment pipeline, with concrete examples showing how to use Hudson, Rake, and Puppet to deploy PHP projects.
In this session, we will answer the following questions:
* what is a deployment pipeline?
* why do I need one?
* how can I implement one using open source tools?
We will begin with a quick overview of deployment pipelines and their powerful benefits. We will then look in more detail at the components of such a pipeline, and some of the excellent open source tools you can use to implement your own. Along the way we'll look at concrete examples of a specific deployment pipeline implemented at Second Story to deploy PHP-based web applications.
The session's examples will involve these tools:
* continuous integration using Hudson (or its recent fork, Jenkins)
* configuration management using Puppet
* build automation using Rake
This is a high level session meant to introduce concepts and tools; it will be light on code examples or live demonstration of software.
21st–24th June 2011