Paul Tarjan's favorites

Open Source Bridge 2017

Favorite sessions for this user

* Create your own type system in 45 minutes

Don't let programming language designers have all the fun: you can design your own type system that is better than the current one.
Theory
Michael Ernst

* Decoding the history of codes

The word "code" means different things to different people. In this talk, we explore cryptography and how it's evolved over time. We look at some key historical events and see how the art of encryption affected our lives.
Theory
Niharika Kohli

* Falsehoods Programmers Believe About (Human) Languages - Common pitfalls in interface translation

Making open source software translatable is easy, right? You just take out all the strings, put them in a translation file in your git repository, and start accepting pull requests. Simple! Well, not so fast. There’s a lot more to this than meets the eye, and if you take a quick and dirty approach you’ll end up with upset translators, complaints from users, and mysteries like “what is ١٢٬٣٤٥٬٦٧٨ and why does my code want to parse that as a number?”. Thankfully, there are open source resources and libraries that can take care of these things for you.
Practice
Roan Kattouw

* Futel: The Network We Deserve

Futel has provided free public telephone service, telephone-mediated art, and live human interaction for several years, and was recognized as Portland's most prolific payphone installer of 2016. Now that we are finally living in the cyberpunk dystopia promised in the 80s, we are poised to seize this moment.
Activism
Karl Anderson

* How to Build a Portable, Eco-Friendly, Interactive 2D Graphics Demo out of Spare Parts

How do you make an emulator cross-platform without tying it to a bunch of OS-specific display and user input subsystems? And how do you avoid wasting CPU (and draining the user's battery) while idle? I'll tell you how I did it for my own emulator, and help you make your own interactive graphics demo.
Hacks
Josh Juran

* How to load 1m lines of Ruby in 5s

How do you load code faster? Load less of it! I'll talk about how we used static analysis and aggressive refactoring to reduce the time to reload code after a change by 85%.
Hacks
Paul Tarjan

* Introduction to Infrastructure Automation

Learn how to devops successfully while automating your infrastructure.
Practice
Jennifer Davis

* JavaScriptural Exegesis

If we're going to be so religious about our standards and patterns, why not use religious tools to analyze and improve them? Exegesis is a tool for nuance and understanding in the absolutes found on bikesheds everywhere, such as "replace all vars with const" and "arrow functions will save your eternal soul".
Theory
Michael Schoonmaker

* Keeping Secrets On Remote Machines

Conventional wisdom says that using the cloud means giving up privacy and control. But maybe crypto is actually literally magic and we can have our cake and eat it too? We're mostly not there yet, but let's talk about some of the ways that we're getting close.
Theory
Erica Portnoy

* Morning Keynote — Doing away with (bad) shibboleths

The developer community has many ways of determining who belongs and who doesn’t. Some of these are helpful, but others intimidate beginners who could go on to be good developers. This talk will provide a framework for differentiation between the good and the bad.
Activism
Walé Ogundipé

* Read, Write, Talk, Sing, Play: What Early Literacy Can Teach Us About Software Literacy

I'm not saying that you have to speak parentese to beginning software learners. They might be quite offended with you doing that, actually. What beginners often need, though, is not just to be set in front of a tutorial and told to come back when they're finished, but to have someone on hand to bounce questions off of or to talk them through problems and exercises so that they understand. Learners often pick up useful information by observing someone else at work using the language, but they can't just be there while you do things and learn it all by observation alone. One of the best skills a librarian has that goes mostly unnoticed is that they're really great at narrating themselves to others. When demonstrating (sometimes for the sixteenth time) how to go through a procedure to obtain resources or run searches, librarians narrate what they are doing and why. When reading a book to tiny people, youth services librarians often ask questions about what the characters are doing or feeling, so that the tiny people can use both the text and the pictures to decode what's going on in the story. Key information about the story is often communicated visually in a picture book, and sometimes in complete contradiction to the text. By providing scaffolding through narration, the librarian provides context and reasoning for the actions they're taking. By asking questions at regular intervals, the librarian can check to make sure understanding is happening and adjust to include perspectives they may not have been taking into account before. [...] Talking and explaining things to your learners, and with each other, is the best way to help them learn. So if you get the opportunity to have someone shadow you and ask you annoying questions about what you're doing and why you're doing it that way, take up the opportunity. (And request it all gets documented. Trust me.) By talking through things with someone who doesn't have your expertise, you shore up your own knowledge and help someone get more of their own. That leads to literacy.
Culture
Alex Byrne

* Running Just the Test Cases You Need

When you're writing software, fast feedback is key. The less you have to wait for your tests to run, the sooner you'll know whether or not your code is correct. Ruby's two main test frameworks (minitest and RSpec) support several different techniques for testing only what you need for what you're currently working on, and nothing more. In this talk, we'll go through several of these practices for both frameworks, each more automated and awesome than the last.
Practice
Ian Dees

* Security, Privacy, and Open Silicon

Threats to personal information security and privacy are proliferating at a rapid pace, as are countermeasures based on open hardware. This talk will review the open hardware information security landscape, from personal password managers and cloud devices to alternative processors that are open all the way down to the transistor level, with a focus on how open silicon is poised to change everything.
Activism
Josh Lifton

* The Existential Tester: How to Assess Risk and Prioritize Tests

To test, or not to test? That is the question. With limited time and resources there are only so many tests we can write and run. How do you determine what features of a new project to test? How do you know when a test is obsolete, or needs to be updated? What gets run per-commit, nightly, or weekly? What should you test manually? This talk will give you a framework for thinking about how to assess risk on a project and prioritize your
Theory
Lucy Wyman

* Understanding Your Organization With Code Archaeology

Come on an expedition into the dark corners of your project's code basement, deep in that directory everyone avoids because it's filled with spiders and booby traps and two mysterious old versions of JQuery from 2012 that no one even remembers using. Instead of getting exasperated by variables called data and poor command-query separation, learn to use code archaeology as a way to understand your organization better.
Practice
Liss McCabe

* zulipbot: Solving GitHub workflow limitations and more

On a large open source project like Zulip, we were starting to see major productivity problems for the project, caused by longstanding limitations in GitHub’s permissions and notifications systems. Learn how we created zulipbot, an open source GitHub workflow bot written in Node.js, that patches these limitations in GitHub’s model and how you can use it to manage your own GitHub projects and organizations.
Practice
Joshua Pan

Open Source Bridge 2010

Favorite sessions for this user

* Speeding up your PHP Application

Is your Wordpress site too slow? What's this HipHop PHP thing? How do I write really fast PHP apps? Drop by to get the answers to these questions.
Hacks
Rasmus Lerdorf