Personal schedule for Dan Bernier
Download or
subscribe to Dan Bernier's
schedule.
Databases
Location: D135
Please note: to attend, your registration must include
Tutorials.
This workshop will show you how to build a high-performance social network backend based on the open source Neo4j graph database. We will investigate the implementation of a small but working social network backend with simple but powerful APIs to find paths between people and analyze the social graph. Finally, we will show how it outperforms a relational backend by a factor of 1000x or more.
Read more.
Java
Location: D137/138
Please note: to attend, your registration must include
Tutorials.
Scala is a hybrid object-functional language for the JVM. Java programmers can easily migrate to Scala as an improved Java, then learn to exploit its powerful support for Functional Programming. Developers from other languages can exploit the JVM's power and rich libraries using a state-of-the-art language. Come learn why Scala is seductive; why it meets the needs of the modern developer.
Read more.
Operations
Location: Portland 256
Please note: to attend, your registration must include
Tutorials.
Internet traffic spikes aren't what they used to be. It is now evident that even the smallest sites can suffer the attention of the global audience. This presentation dives into techniques to avoid collapse under dire circumstances. Looking at some real traffic spikes, we'll pinpoint what part of the architecture is crumbling under the load; then, walk though stop-gaps and complete solutions.
Read more.
Smalltalk is easy to learn, rapid to develop, many implementations to choose from. With Seaside, you can build large complex web applications easily. In this fast-paced course, learn the basics of Smalltalk, and the best parts of Seaside (new for Seaside 3.0!).
Read more.
Even if you are successful using open source sofware, there's something special about hardware: It's physical. You can touch it. You build it (not compile it). This is a talk about the Arduino open source physical computing platform; a cheap, useful, fun micro-controller ... and it's loads of fun, even if you break into a cold sweat at the thought of picking up a soldering iron.
Read more.
Android is an open-source OS and software stack for mobile devices. Come join the Android Open-Source Lead for a discussion of the Android open source philosophy, and insight into how the project is run.
Read more.
What do you get when you mix fractals, 3D printers, robotics, open source, high-powered lasers, and non-orientable surfaces with wood, plastic, textiles, steel, cloth... and lots of coffee? A completely new range of geek fabricated items and appliances. It’s hacking in real life.
Read more.
Event
Location: F150_El Camp
Ioke is a dynamically typed language - a language experiment with a focus on expressivity. It's prototype based, object oriented, homoiconic and have powerful macro facilities - and runs both on the JVM and the CLR.
Seph is a language currently being developed, based on Ioke. It's a functional object oriented hybrid with explicit concrrency features inspired by Erlang and Clojure.
Read more.
Diversity is often presented simply as "the right thing to do", leaving open the question why we, as a technical community, should be interested in diversity. This talk addresses diversity, not in moral or ethical terms, but in pragmatic ones. Studies on creativity and productivity demonstrate the benefits and importance of diversity for the Open Source community.
Read more.
Explore an alternative approach to native mobile app development that allows you to create smooth animation, operate in offline mode, and hook into advanced device features (accelerometer, camera, location, vibration, and sound) using HTML, CSS, and JavaScript.
Read more.
Many contributors to open source projects do so without financial motivation. It's still reasonable to believe that given the right financial incentives, development communities could achieve more. This panel will explore the different methods for motivating communities with financial incentives and other goodies, and discuss the thorny issues that arise when commerce collides with community.
Read more.
Research suggests that what's keeping computers from being a normal part of school is now having enough hardware. (US average is about 4 kids per computer.) This session will describe technical implementation details as well as reactions from students, teachers, and technical support staffs. In general, the less people know about computers, the more they like Linux thin clients.
Read more.
The Sheevaplug is the first device in the latest Plug Computing trend. Packed in the form factor of an ac adapter(wall wart); it sports a 1.2Ghz processor consuming only 3 watts of power when idle. Its small foot print and massive processing power make it the greenest 1.2Ghz system currently on the market. The Sheevaplug houses an ARM5 processor and more I/O than you can imagine. *nix required
Read more.
In this session members of the Emerging Technologies group for the City and County of San Francisco will discuss open government and open source initiatives enacted in 2009/2010.
Read more.
Saying that you want to "innovate more" is like telling a doctor you want to "feel better". Before a treatment can be prescribed, the problem must be understood. Starting from a systemic perspective, this talk will me a modern look at the root causes of innovation failure, contrasting current "solutions", and exploring new avenues to recovery.
Read more.
San Francisco's Street Address Management System is used by numerous agencies to edit and report on the city's geospatial street addresses. The application helps the city reduce duplicate data maintenance work, improves the accuracy, consistency, and quality of the data - and should lower the cost of delivering services to citizens.
Read more.
In this session you will learn how to use the Neo4j Graph Database for persistence in Django web applications. A graph database, such as Neo4j, is a database that models data as a graph data structure with focus on the relationships between entities, and each node as its own entity, rather than the structure of data records. This makes it a good fit for object oriented web frameworks like Django.
Read more.
This talk will introduce Plumbling, a set of tools to support artists and makers in the programming of low-cost, open-hardware platforms like the Arduino. Plumbing is a library of parallel components written in occam-pi, a small language with a long history.
Read more.
Perl
Location: Portland 256
For over 40 years, developers have argued over the proper use of inheritance. That a four decade-old code smell. We'll look at the debate, explain what the problem actually is and show how we solved it at the BBC using Smalltalk-style traits.
Read more.
Event
Location: F150_El Camp
CoffeeScript is a little language that compiles into JavaScript. It's
a thought experiment that aims to test how far we can stretch
JavaScript semantics without adding any runtime libraries or
outputting reams of generated code.
Recommended for folks who are interested in languages that run in the browser as well
as the server.
Read more.
Developers regularly encounter issues with the legal infrastructure of software. Co-presented by a lawyer and a software developer, this presentation is a tightly packed overview on the need-to-know issues of copyrights, patents and trademarks for busy developers who wish to simply know the bare essentials, so they can get on with their work while still remaining well-informed on legal issues.
Read more.
Event
Location: F150_El Camp
Mirah (formerly Duby), is a Ruby-inspired, statically-typed, lightweight,
platform-agnostic language with backends for JVM bytecode, Java
source, and more platforms planned. It borrows features from several
static and dynamic languages, but with a twist: no runtime dependency
on any additional library; everything is done at compile time.
Read more.
Event
Location: F150_El Camp
WebSockets is an exciting new technology that enables bidirectional communication between web applications and server-side processes. Google's Chrome browser already provides WebSockets and developers can expect to see the technology in other browsers in 2010. This presentation will cover the WebSocket protocol, JavaScript API, and server-side implementations.
Read more.
Find out what the buzz is all about! Learn how to use PhoneGap to build platform-neutral mobile apps with HTML, CSS and JavaScript. Now's your chance to find out if the PhoneGap open source framework is the right technology choice for your mobile development projects.
Read more.
In an orchestra, people with differing talents, timing, responsibilities, and tools all somehow come together to make beautiful music. Is the task of achieving highly efficient and reliable web operations all that different? In this light-hearted session based on real world examples, we'll examine the culture and tooling of highly effective and well orchestrated web operations.
Read more.
A while back, it seemed that type-driven object-oriented languages such as C++ and Java had taken over. They still dominate education. Yet the last few years have seen a number of different languages reach prominence, often of very different styles: Python, Ruby, Scala, Erlang, Haskell, Lua, and many more. Surely there are enough languages. Yet new ones keep appearing. Why? And why now?
Read more.
The Open Source Digital Voting Foundation is a three-year old non-profit foundation supporting a full time effort called the TrustTheVote Project. Learn about this imperative effort to create publicly owned, accurate, transparent, trustworthy, and secure voting systems using open source methods and a growing stakeholder community of elections officials and domain experts nationwide.
Read more.
Event
Location: F150_El Camp
This talk will provide a brief experience report on Clojure, a dynamic, functional language targeting the JVM. It will detail the challenges faced in providing a practical and approachable programming language featuring pervasive immutability on top of the commodity infrastructure of the JVM.
Read more.
Ruby
Location: Portland 252
Ruby apps can now be deployed to Google App Engine thanks to JRuby. New app instances spin-up on demand so there is no need to provision hardware but each new JRuby runtime can take several seconds. Mirah (formerly Duby) is a new language with Ruby-inspired syntax that compiles directly to Java bytecode. Duby is compelling for App Engine development because new instances can spin-up in a second.
Read more.
What do open data and open source software have in common? User
rights, licensing, transparency, community, world-changing... open
data shares a lot with the open source movement, but it has new
challenges too. Come learn how open data and open source work
together, and how the open data community is learning from open
source's history and experience.
Read more.
OCSON attendees are intimately familiar with the decisions surrounding software licensing: copyleft, attribution, and non-endorsement all mean something when discussing source licenses. With the rise of data as an asset, developers are turning their attention to data, often with the assumption that the same ideas apply. This talk will discuss why that's not the case and what to do about it.
Read more.
An entire generation of engineers is currently being educated exclusively with proprietary software. As a consequence, these students do not get to learn how hardware and software systems really work. For three years we have been working on changing this by offering a college course on Open Source Software Practices. Come to hear about our experiences and help us make this a better course.
Read more.
The "A" in "AJAX" stands for "Asynchronous" and indeed almost all Web and mobile applications have to be written in an asynchronous and event-driven style. Reactive Extensions for JavaScript is a library for coordinating and orchestrating asynchronous and concurrent computations in a high-level and declarative way.
Read more.
Ruby
Location: Portland 252
No threads, no callbacks, just pure IO scheduling with Ruby 1.9, Fibers, and Eventmachine. All the nice things we love about writing synchronous code, but completely asynchronous under the covers – the best of both worlds. A hands on look at the architecture, mechanics, and involved libraries towards creating the next generation Ruby web-servers.
Read more.
Student contributions to OSS projects have great potential to benefit both projects and students. While student involvement in OSS projects can take effort on the part of the OSS community, student contributions are well worth the effort required. This talk covers the variety of ways that students can become involved in an OSS project as well as the benefits and roadblocks to student involvement.
Read more.
There comes a time in a project's life when you have to make the decision: can this code be saved? Should we fix it, or declare technical bankruptcy to cancel our technical debts and start again? In this talk I'll look at when and how to make this decision without regrets.
Read more.
Javascript has become the universal language of the web. Usable on client or server, it can be fast, flexible, and reusable across many sites and applications.
To really master JS you need more than a framework: you need to grok some heavy-duty functional and OO concepts it took from weird languages like Scheme and Self. Come see where these ideas came from, and how to use them in your JS code.
Read more.
Data is exploding all over the internet. There is immense knowledge within this huge volume of information that needs to be unlocked. We need to Mine patterns, Find clusters, Organize content and Predict the future. In this talk, we will show what these methods are and how the new Apache Mahout project is attempting to solve these problems in a scalable way by utilizing Hadoop.
Read more.
In 2009, QuestionCopyright.org helped filmmaker Nina Paley release her award-winning feature film "Sita Sings the Blues" under a free license & an open source economic model. The film is now an audience hit, and the free license has resulted in more money for Paley than any traditional distributor could offer. This talk is an in-depth look at how open source is not just for software anymore.
Read more.
Event
Location: F150_El Camp
Factor is a dynamically-typed language with
powerful meta-programming features, a high-performance implementation,
and interactive development tools. Slava Pestov will demonstrate how Factor's
development tools and language features enable an incremental,
iterative style of programming.
Read more.
Ruby
Location: Portland 252
In the past several years, PEGs (parsing expression grammars) have renewed interest in top-down parsing. Pegarus is an implementation on Rubinius of the LPEG pattern-matching tool for Lua. Poison is an implementation of _why's Potion programming language on the Rubinius VM using Pegarus.
Read more.
"Turn someone else's problems into your learning material." How do you expose your project's bugs and tasks to enthusiastic new contributors? We'll be talking about how OpenHatch's software tools and process-creating guidance make it possible to reveal a FOSS project's bug and task needs to budding contributors, students, and educators creating and running FOSS courses.
Read more.
CubicWeb is a semantic web application framework, licensed under the LGPL, that empowers developers to efficiently build web applications by reusing components (called cubes) and following the well known object-oriented design principles. It was designed to develop semantic web applications that have both a HTML/Ajax rich user interface and a RDF/OWL-based data interface (www.cubicweb.org).
Read more.
Perl
Location: Portland 256
Long-running functions get in the way of distributed or interactive systems. Applying these "lazy component" designs and use-cases to your sequential code will make your APIs more open and easily reusable.
Read more.
At OSCON 2008, NPR launched our first API. Two years later, the API has grown tremendously and has become the centerpiece of NPR's digital strategy. Come hear how and why NPR has invested so much into API's, how people are using them, how they have dramatically improved our mobile offerings, and about our vision for open source.
Read more.
Using off the shelf hardware, we integrate small, network-capable single-purpose devices delivering a true time source (via GPS) and a generator of perfect randomness (via Geiger counter). An entertaining introduction to embedded systems delivered while creating actually useful tools. Targeted at budding embedded system Developers and Administrators interested in the gory low-end details.
Read more.
One piece of software we've found to be particularly useful in scaling our site is Scribe, an open source system for aggregating massive amounts of logging data from thousands of machines, or more generally moving around large amounts of data in an asynchronous and mostly-reliable way.
Read more.
Your QA cycle is broken and unit tests aren't enough to fix it. QA takes too long, is too error prone, and never covers as much as we need. To really do QA right, you need automated integration and acceptance testing tools like Cucumber. In this talk, we'll discuss why automated integration testing is a necessity, how you can do it, and why your coworkers and boss will thank you for it.
Read more.
Last year I presented a talk on home automation at OSCON, focusing on the hardware aspects. This year my home automation talk will cover
the software aspects of controlling home automation systems. Practical applications include turning off all the lights at night, summoning everyone for mealtime, and broadcasting caller-id
information to all computers.
Read more.
Open source software is a key ingredient in solving some of the worlds' most difficult problems. This is particularly true with the problem of poverty. Join us to dive into the problem of poverty, find out why it demands both open source software and Agile methods, and explore lessons learned from an existing project in this area, the Grameen Foundation's Mifos Initiative.
Read more.
Java
Location: Portland 251
Building modern Java™ technology-based Web applications that expose your business services to the widest-possible audience has become an increasingly difficult task in this day of Ajax, RIA, and SOA. Spring 3.0 strives to bring effective weapons in the battle against complexity, including a complete modular stack of Web-focused solutions.
Read more.
How does Red Hat have wild success with Fedora and other FLOSS projects? By following a method firmly rooted in humanism, practice, and science. Learn in this session how to be an effective catalyst in communities of users, contributors, businesses, government, education, etc.
Read more.
Open source hardware has arrived, and it’s taking the market by storm. In this session get a gentle introduction to the world of electronics hardware featuring Arduino - an open source prototyping platform. We will collect sensor data for light, distance, temperature and humidity, send it wirelessly to the cloud, and then display all that beautiful data using the open source Adobe Flex SDK.
Read more.
This talk will be about what's happening in testing. The general argument is that we're moving away from testing units towards testing functionality through integration testing. Improved mocking libraries, scripted and emulated browsers, fixtures, and frameworks means that we can effectively test that a system works.
Read more.