Open Source Bridge 2014 sessions

Now that you know how important it is to ask for want you want, come learn how to negotiate in a way that will get you what you need. For everyone of any gender identity who works at a company or freelances, who feels like a newb or an expert, this presentation will teach you effective, practical skills to improve your negotiations and deal confidently with conflicts.

Managing is a skill which you can master just as you did programming. This session will introduce you to many of the skills and resources you’ll need to become a successful tech manager (and keep your team from wanting to string you up).

Don't leave IP law to the lawyers!
Intellectual property law is a minefield wrapped in straightjacket sprinkled with arsenic-laced gumdrops. Invented for lawyers by lawyers, IP law makes many engineers resentful and dismissive. And yet most of us don't know enough about the details to protect ourselves and our own creations. This session will increase your understanding of how copyrights, patents, trademarks, trade secrets, and open source licensing protect you, your code, your company, and your community.

The software engineers at REI build, maintain, and operate the cooperative’s digital retail infrastructure, from our mobile apps to REI.com, and it runs on open source. We see many benefits to open sourcing our code, but it’s uncharted territory for REI.
This is our journey preparing the cooperative to contribute our code back to the open source community.
Will we be successful? What have we learned? You’ll find out!

The tech industry has a 'diversity problem' and companies are courting women, people of color and other marginalized people as the pressure mounts to hire someone besides 24-year-old cis, straight white male programmers.
However, for many marginalized people, working in startups, agencies, and large tech companies can be a miserable, demoralizing experience that literally results in crying in the bathroom.
There's more to life than startups. Come hear ideas for making your own path in the tech industry, without compromising your dignity or your mental health.

There is an increase in double burden of diseases in developing countries accruing from the rise of non communicable and infectious diseases. This situation is worsened by lack of adequate financing, inadequate infrastructure for delivering health care, low health literacy and inadequate personnel. Health information systems drive the global health agenda , and huge investments are continuously being made to bridge the digital divide to improve health care delivery.
1. What are the opportunities to effectively deploy open source technologies in developing countries?
2. How do we create ownership, partnerships and collaborations that support scaling open source medical records system
3. What are the effective design thinking techniques that drive development of open source record systems

With the need for flexible editors to handle the variety of programming languages we face regularly, the Emacs community is experiencing another renaissance. Let's get you started with Emacs and I'll show you how to become proficient quickly.

Wikipedia supports almost 300 languages for its multilingual content communities. As mixed script web pages become pervasive and non-Latin language content grows exponentially, a breakthrough technology of delivering webfonts on demand has been deployed across 900 Wikimedia sites. This talk discusses user benefits derived from this technological advance as well some of the performance and scalability improvements made to deliver fonts at Wikipedia scale.

Javascript is a necessity for modern web development. Whether it is to add more interactivity to your user interface, or provide a client to interact with your API, chances are, even if you're trying to avoid working in javascript, you're working in javascript. Projects like Coffeescript and Opal, while useful, still do not help understand the javascript outputted by these compile-able languages. One growing concern in this realm is that an application's javascript can sometimes be a security concern, easily exploited by a malicious user. In order to catch these concerns, you must know what your javascript does, inside and out. This talk will illustrate concepts to make sure your client code is secure, while still giving your team the flexibility it needs to keep building your stellar app!

The Ruby community has a strong tradition of building extensions to popular gems. But simple mistakes can make gems harder to extend than they need to be. Drawing from real-world examples, we'll examine the patterns of coding, configuration and documentation for maximizing your gem's flexibility.

With new languages like Dart, Go, and Rust coming with powerful concurrency primitives (and languages like C# & Java adding more concurrency features), it's important to know where these ideas come from and where concurrency handling is headed.

IPv4 is running out of addresses. IPv6 is the Internet Protocol which gives plenty of addresses for the future. It is starting to be deployed widely and open source applications and programming languages need to support it.

In this session we will:
* Give you a tour of Internet Archive and its collections
* Introduce you to the APIs and tools you can use to access and contribute to the Archive
* Show examples of how other people and institutions are using the Archive

What happens when an online service you use freezes your account, loses your data, or goes out of business? Have you ever used a service by a company that suddenly went under, stranding your data? Do you own your own identity or does somebody else? What happened to the web in 2003, and how did we get where we are today? This talk will teach you how to post on your own site and optionally syndicate to other sites (POSSE), how to authenticate with your own domain (IndieAuth) and steps to take data ownership back into your own hands.

Learn more about how to document your software projects with the most powerful open source documentation tool. You'll learn more about how to think about semantics in documentation, and how to use these tools to make great looking documentation.

Lisp is a wise sage atop a snowy mountain, waiting for students to climb and level up their programming prowess. Pray tell, how does one scale such lofty peaks? This session introduces Lisp for twenty-first century programmers.

Privacy enhancing technologies (PETs), like onion routing, PGP, and OTR often achieve a high level of security, but user experience (UX) built on top of the protocols is often a development afterthought. Without a concerted effort to examine how the system is used, people accidentally compromise their data or never attempt to use PETs.
This talk will show you PET design done right and wrong through the lens of standard UX evaluation techniques. Our goal is to enable you to incorporate UX principles into your hacking from day 0.

It’s time to make Wikipedia language selection smarter -- to offer a user languages he/she actually wants to see in an article, and in an efficient way. In this talk we shall learn about :
1.The need for a compact language selector
2.How we achieved it in an Outreach Program for Women project.
3.What criteria we use to determine which languages might be most useful to a user, and why
4.How we implemented the feature
5.What concerns we heard from the Wikimedia community about this project
6.How everyone can help pitch in to make this project a success

Most people got through their high school math classes by memorizing nonsensical statements and regurgitating them on command. If you came out of that class hating math, no one would blame you, especially not a mathematician. However, that class didn't teach Intro to Algebra, it taught Intermediate Following Instructions.

You use OAuth every time you log in to Facebook or Twitter, but what if you could use it from your own website? What if your own domain became a source of data, and you had your own personal API? By decentralizing authorization to your own domain instead of a silo, you control when, how, and to whom your data is shared.

In Python, overwriting builtin functions is fairly easy. You can even do it in the interpreter! But can you overwrite a statement, like import, just as easily? Let's go on an adventure, discovering how the import statement works, and how Python statements are defined in the CPython source code. We'll face some consequences of bootstrapping, and, to get our custom Harry Potter-themed Grammar to work, we'll have to compile a Python to compile a Python.

One of the upcoming features in the Mailman 3 project is a front-end redesign of the mail archiver web interface. Learn more about the new interface, its progress so far, and the designing challenges of building a mobile-first responsive web site. The talk will also illustrate our design process and provide you with design methods and evaluation techniques that you can take back to your own project.

In this talk, we will overview the 0day kernel test infrastructure, an Intel project where the goal is to ensure the quality of Linux upstream and developmental kernels. The project runs 7x24 tests on bleeding edge code from 300+ kernel git trees.

Online services like "If This Then That" (IFTTT) are great for automating your life. However they provide limited ways for the end-user to add their own services, and often require credentials that one may normally wish to keep secret. The 'exobrain' project allows for service integration and extension on a machine *you* control.

Good data visualization allows us to leverage the incredible pattern-recognition abilities of the human brain to answer questions we care about. But how do you make a good visualization? Here's a crash course.

This presentation will give a brief overview of machine learning, the k-nearest neighbor algorithm and Scikit-learn. Sometimes developers need to make decisions, even when they don't have all of the required information. Machine learning attempts to solve this problem by using known data (a training data sample) to make predictions about the unknown. For example, usually a user doesn't tell Amazon explicitly what type of book they want to read, but based on the user's purchasing history, and the user's demographic, Amazon is able to induce what the user might like to read.

Curious about integrating open source and art? We’ll explore a particular project in detail while providing both functionality and process recommendations. Both the art and the hardware will come to visit, along with the creators.

There are a few different options available to you to control your home automation system.
Many manufacturers make it convenient to use their system by not only making a convenient to install their products and use their interface, but will actually host all the software portions for you. Many provide apps for your IOS or Android device and have web interfaces for your laptop as well, making the control of these devices very streamlined and simple, especially if there are many devices to be managed.
Other more DIY-approach solutions also have interfaces to control your automation, although require a bit more setup. For example, with the power strip in the previous example, you first need to connect it to your wireless network, and then you'll be able to use the supplied phone/tablet app to toggle the ports on/off. As with anything DIY: The sky's the limit, although it requires more technical understanding of what's going on.

Becoming a contributing designer on an open source project is often tougher than contributing code. The pathways to designing for open source projects are often unclear. Using my own experience joining the WordPress project, I'll share how I think open source projects can make it easier for designers to contribute their skills.

Understanding the relationships between data elements has become increasingly valuable, as LinkedIn, Facebook and Google illustrate. Network science provides a means to understand, explain, predict and otherwise utilize these relationships. I will provide a brief overview of network science, with examples and illustrations using R, focused on providing an entry point to their use for fun and profit.

So you've built a breadboard circuit with wires everywhere. What's next? A printed circuit board! I'll talk about your open hardware development options through the lens of my recent project turning a breadboard prototype into a finished Arduino shield for a curing oven at Portland State.

Target audience will anyone with a interest into doing atypical stuff with SoC platforms including professional and hobbyist level implementations. Even if it's a simple XMAS light display, complex LED panel setup, or even driving consumer products like Hue lights.

Come learn about OpenStreetMap, a Wikipedia-like project with over one million contributors aiming to map the entire world. We'll talk about the project, the data, and how to do some cool things with it.

We've mentored and interned in the Outreach Program for Women, and we know it works -- it improves the gender balance inside open source communities. We'll discuss why it works, how it builds off of Google Summer of Code, and discuss replicating it, expanding it, and looking at the next step in the recruiting and inclusion pipeline.

Unicode is much more than just characters. The Unicode Consortium defines open standards for collating, parsing, and formatting data in much of the world’s languages. The Common Locale Data Repository (CLDR) is the largest standard repository of locale data along with specifications for its use and is a powerful resource for software localization.

Many desktop environments try to be easy to use for the average user, but that's not you. You're at your computer all day writing code; you don't have time to waste _dragging windows_ (ugh!) or watching _animated transitions_ (yuck!). David Brewer will demonstrate how by using xmonad, a tiling window manager, you can bend your desktop to your will and control your windows with telepathy. Kind of.

So you've had an idea, or noticed a gap that needs filling, or wondered why no one's talking about an issue you care about. Like the motivated and competent person you are, you start working, or writing, or talking. People start noticing you, listening to you, even asking for your opinion about their own projects--and one day, you realize they're treating you just like you treat your own role models. You find this unsettling. Surely motivation and competence aren't that special, you think. You, a leader? Can't be. And if you actually are a leader, what do you do now?

What if the way that airplanes were designed and how it improved sailing had some deep lessons around the future of user experience? Sailboats improved significantly after the discovery of flight, and mobile design is improving a great deal of user experience as well. How can we think about applying these lessons? What's still missing?

As a project's public IRC channel or forum grows, it's hard to keep it friendly. People get frustrated with each other, people have "different" senses of humor, disagreements escalate...oh goodness, it can be a mess. This isn't great for retaining community members or welcoming new ones. I'll share my strategies for dealing with problems, learned at the scale of hundreds of forum threads, tens of thousands of forum visitors, and dozens of IRC chatters every day.

Everyone knows that code quality is important, but what can we do to actually ensure that our codebases meet the standards we'd like? This talk dives into how to implement code review in your project. What do patch authors need to do, what do patch reviewers need to do, what strategies can you implement to get the best results, and how can you leverage code review to grow your community?

Open source is only about open code, right? Wrong. Interviews, questionnaires, quick usability tests, and many other research types all have a place in the open source development process. With a few easy steps and a set of scripts to follow, your community can make user research an easy and essential component of your open source project.

Few people today are not concerned with the way data is used to enhance or subvert individual privacy. This is especially true on the Web, where open source technologies are behind much of what we interact with and use on a daily basis. As the most fundamental aspects of our lives become networked -- social relationships, work, finance, and even how we get our food -- how can we make sure that open source technologies foster a sense of trust with users, protect their privacy, and still give data scientists the tools they need to gain insight?

Everyone wants to make contributing to open source projects more accessible and fun. But how do we do that? One way is to analyze past contributions to identify potential obstacles and opportunities for intervention and support. This workshop will use our own experiences as contributors to explore how the process works, using a simple but effective reflective activity.

This is the story of how the mobile web engineering team at the Wikimedia Foundation became an extremely high-functioning and successful agile team: by embracing - rather than shying away from - a distributed model. This talk will explore the agile team's journey and how we cope with the inherent tension of remoteness and the agile principle, 'The most efficient and effective method of conveying information to and within a development team is face-to-face conversation'.

The Geek Feminism wiki is one of the central resources for feminist activism in geek communities ranging from open source software to science fiction fandom. Learn how the GF wiki started, how it's run, and what we've learned about doing activism the wiki way.

Creative open culture communities operate in many of the same ways as open source communities and share many of the same principles. How are fan writers like open source contributors? What can hackers learn from remixers (and vice versa)? And what happens when creative communities start building open source projects to support their own work?

Amidst all the hand wringing surrounding the "future of journalism," developers, designers, and data geeks working in newsrooms are building projects and tools that engage readers and ripple across the web. We'll discuss ways this community welcomes, supports, and promotes new members and leaders.

This panel highlights the work of a few folks representing part of a broad, international movement consisting of network engineers, community change makers, researchers, architects, and thinkers who are building decentralized and autonomous communications infrastructure. We know that the Internet is deeply broken, and we are rebuilding, from the inside out. We mitigate the ills of interception and interference on the net by facilitating networks that are owned, operated, and governed by the people that use them.

A small contributor pool is a recipe for burnout and can harm or hold back your project. Learn how offering a structured approach for step-by-step skill-building can combat imposter syndrome and build community, thereby increasing the number and diversity of your project's contributors.

Our lives and social interactions are governed by sociology and psychology. As geeks, we strive to understand how the technology around us works, and we strive to find ways to make it better. Society is basically one big, complex piece of technology, and, like all technology, it is hackable. This talk will explain how you can do that.

Yoga returns to Open Source Bridge! Come with your stiff shoulders, sore wrists, tight hips and aching back. Leave with ideas on how to incorporate 5 minutes of practice into your busy day to care for your body and mind.

It can be hard to focus on your love of coding when you are regularly battling invisible issues like insecurity, anxiety, and lack of confidence. This talk will identify invisible issues programmers struggle with, talk about their impact, discuss personal experiences dealing with them, and share some tools useful in fighting back.

During the height of interest to the project, there were often several new people arriving in the channel per day. That may not sound like a lot, but everyone had questions and would be interested in different things; it could take a twenty minute conversation or so with someone who knew a lot about the project in order to properly greet, inform, and orient new people. The founders didn't have a few spare hours around the clock to personally devote to making sure that each new arrival was welcomed, felt welcomed, had their questions answered, and had their willingness to contribute channeled into something which needed the help and suited their skills. There was a lot about this that we could have automated or dumped into a higher-latency format like email. The first time someone proposed automating the welcoming dance it was like they'd slapped me in the face. The personal touch bit was crucial, and automating it would have struck all the wrong notes. The project was supposed to be for people, by people, and showing that we're human and we're committed to keeping it small and personal was crucial to keeping the culture intact.

Mushroom Observer is a tool for logging and mapping fungus sightings. Beginners and professionals collaborate to produce a comprehensive data set, which has contributed to the burgeoning science of mycology. While this talk focuses on Mushroom Observer, it will be an overview of usefulness of open source amateur contributions to scientific research.

Git isn't just for code. What about CAD files? Experimental test data? How do you manage a multidisciplinary project with git? Last year Portland State Aerospace Society, a relatively large open source rocketry project, moved all their work onto github. I'll share my experience with the switch from a few self hosted git repos to a full fledged github presence. What worked, what hasn't, github's features for non coders, and a little on the future of open science.

Can you follow and write code? Do you participate in the ebb and flow of open source communities? Does pivoting those skills into a social form of exercise appeal to you? If so, then Scottish folk dancing might be for you!

Do you wish that you were better at getting people to do what you need them to do? Do you keep getting put in charge of things and then get stuck wondering how the heck you're supposed to get things done? Do you keep getting into conflicts with other people because of stuff you've said, and you aren't entirely sure why?
Fortunately, Slytherin House has you covered. Come to this talk and learn the basics of how to hack human relationships, using the tools of cunning and ambition to achieve inter-House harmony. As long as you promise not to use these techniques to support the next Dark Lord, of course.

Once upon a time, I was terrified of public speaking. I went from having stage fright to being a stage presence who speaks at conferences. I run a support group for old and new speakers called the "Tech Conf Speaker Support of Awesomeness." I want to talk about what we do, why we do it, and how well it's worked out so far. This talk is about speaking for the first time, improving your talks, and how conference organizers and attendees can help too.

There are lots of people doing good work in the world, and while there seems to be a myriad of ways to provide financial "donations", few of them provide a way to do so in a sustainable manner. We're going to look at Gittip, a freedom loving platform to provide a sustainable, predictable income to those making the world a better place.

When I open sourced my plugin to the WordPress community, user support was one of the last things on my mind - I was more excited to have written awesome code and a helpful site extension. Shortly thereafter though, customer support was the only thing I had time for. When your user base ranges in skill level from experienced developer to your grandmother, well… you've gotta be prepared for just about anything. This session will highlight the challenges and benefits of stellar support and offer a few tricks to make the process as painless as possible for both your user and yourself.

Are you passionate about building tech, but think there is no place in your organization for junior developers? Come explore the true costs and benefits of hiring junior developers and see how you can improve your company while helping juniors become the best developers they can be.

When I tell people I work from home, they tend to assume I spend the day playing with my dog outside. It's beyond comprehension to most that I actually spend as much time working as they do, sometimes more.
I hope to enlighten those close-minded people about the possibilities working from home offers and how to do it well.
Session slides: http://www.carsonshold.com/talks/keys-to-working-remotely/

Open source thrives on the idea of people helping one another in reaching their project's goals. But is it working the way that it's supposed to be? This session hopes to discuss the importance of constructive collaboration in our communities, how we encourage them, and what we can do if they're not working out the way they're supposed to.

Volunteering is a fun way to explore your interests and passions. In this talk, I will detail my experiences in volunteering with open projects like Wikipedia and Mozilla. I will also talk about fun ways to introduce newbies into volunteering based on my experience with conducting outreach sessions for open projects.

How can we make social networks more "diversity-friendly"? It starts with an anti-oppression attitude, embedded in the community guidelines and norms; and includes the right tools, technologies, and policies. This session will look at what does and doesn't work in a variety of online environments, and will include an annotated collection of resources on the wiki.

WordPress shipped in October what is perhaps its most polarizing feature ever — automatic updates in the background of self-hosted web software, on by default and no easy way to turn it off. In most open source communities, this would be cause for open revolt. Learn how through trust, communication, and a steadfast commitment to its philosophies, the WordPress core team convinced a skeptical community to go along, even if it meant users giving up some control.

As developers, we tend to value hard skills that can be quantified or measured objectively. Job postings search for unicorns, but we are people first and foremost and being human isn't as easy as programming. While the code comes easily, the soft skills that make us human are complicated and difficult to get right. This talk will explore the danger of neglecting so-called "soft" skills, what we stand to lose by overvaluing technical skills, and alternatives to the hard and soft dichotomy.

It's often said that "given many eyes, all bugs are shallow" and open source proponents love to list this as a reason that open source is more secure than its closed-source relatives. While that makes a nice sound bite, the reality of security with many eyeballs doesn't fit so nicely into a tweet. This talk will explore some of the things that surprised me in going from academic security research to industry security research in open source and open standards.

Ever thought about ways to use your open source skills to improve your city? In this session we'll talk about successful models for working with people in government, from pitching your project, communicating effectively, finding experts, tracking down data, to launching in the community.

As a member of the open source community, do you contribute only code, or also words? Writing about programming benefits yourself and others. This talk outlines solid article structures, suggests topics to write about, explains how blogging about programming is special, and inspires you to write articles of enduring value.

Open Source suffers from a lack of diversity. Underrepresented populations, for systemic reasons, might never show up unless Open Source communities 'hack' themselves through explicit invitation & removing barriers to participation. Mozilla is funding two pilot studies designed to explicitly reach out to underrepresented groups in open source today. Seeking people who like to solve problems and then engaging them in a 6 week, full time accelerator program we hope to explore the question: Can we seed our communities by hacking the social/cultural/systemic issues in order to gain technical contributions from a more diverse set of minds and give to participants an experience in tech that might have long term benefits to them?

Writing portable software is hard. Throw in thousands of bad and worse shared hosting configurations, a decade of technical debt, the need to cater to a sprawling ecosystem, and PHP — and you have WordPress. We've found breaking changes harm our community and unfairly punish our users, so we don't make them. But that doesn't mean we don't innovate or evolve — we're just forced to get really clever. And it works, with adoption continuing to soar.

This will be a talk on how to hack C to get generics-like support,
which we used to make a super-fast C sorting library, all in headers.
We'll also talk about sorting in general, and the various kinds of
sorting algorithms, and why this hack helps so much.

Yeah, you've seen us knitting during talks. I promise we're paying more attention than the people with their laptops open. Well, now learn how we do what we do... the programmer way. I'll start with the topology of individual stitches and go through geometry to design patterns, and by the end of it you'll know how to knit a sweater.

Almost all the books and articles out there about taking Agile methods into your personal life seem geared to people who have control over their schedules. What about those of us who have childcare, eldercare, or other incompressible schedule demands?

WordPress turned 10 years old in May of 2013. On that day, the main repo didn't contain a single tool to make it easier for developers to work with and contribute code. Over the last year, this is how and why we changed all that.

The terminal is a powerful tool on any developer’s belt. The command line interface provides extensive functionality via simple entry of commands. In this workshop we will customize the development experience by adding personal ⭐︎flair⭐︎ and making the most of limited screen real estate. Customizing the prompt provides additional information and functionality with the bonus of flair. Participants will be able to take pride in custom craftsmanship with the result.

Nest is a twenty-first century take on a nineteenth century thermostat. A pellet stove is a modern version of a campfire that won't burn the house down. A modern yurt is a high tech tent based on an age old Mongolian design. Can they all work together?

A discussion of the movement known as "net art" and its intersection with open source. We will look at the emerging aesthetic of net art, how the open nature of the internet is challenging the art world, and how to use amazing open source libraries to make visual art in the browser.

Web development used to be HARD. You basically had to rewrite your code for every new browser you wanted to support. But with modern browsers and libraries like jQuery, those dark days are over. Or are they? We pushed the limits of what the web can do while building VisualEditor (the new editor for Wikipedia) and found plenty of hilarious, insane, amazing and horrifying bugs in browsers even in 2014. All we needed to do was poke around in some unusual places.