Hacks track

What substitutions did you make to spice things up? Show us your most ingenious hacks, kludges, work-arounds, and duct-tape jobs. It doesn’t have to be elegant, it just has to work!
Hacks are clever, sometimes not. They break the rules. They force the available material into doing what you need or want. Some hacks are illegal, and some just make you proud and/or embarrassed that it worked. Sometimes a hack is the only way. Show the world how you make your hardware and software obey your every whim. Example topics from the past include “Control Emacs with Your Beard: the All-Singing All-Dancing Intro to Hacking the Kinect” and “Location-Based Hacks – How to Automate Your Life with SMS and GPS.”

Sessions for this track

You've probably heard about "robot jounalism" - computers writing finance and sports stories. Well, there's just one teensy little problem with robots writing finance and sports stories: investors and fantasy sports gamers don't want the data turned into text! They want their data raw, right and fast. They need clean, timely data to make objective decisions using tried-and-true statistical methodologies. So I'm not going to talk about robot journalism - I'm going to talk about fantasy sports: getting the data, analyzing it and using statistical decision-making tools to enhance the probability of winning.

Language input for mobile devices has always been a challenge on how to provide intuitive experience along with the easy of type. One approach towards that end is predictive text input. But predictions are as good as the wordlist that it gets generated from. Often it becomes a much harder problem to implement the same approach for localized languages like Hindi,Bengali (India, Bangladesh) and languages that require IME to type effectively. One approach is to learn from users typing preference and improve the dictionary weight-age to improve prediction. This talk will discuss upon how this can be implemented in Firefox OS and how the same approach can be used for openweb apps universally without locking in to any specific language. We also will briefly discuss how it manages to improve localized language predictions and the challenges some transliteration system faces along with how we can tackle them.

VisualEditor, Wikimedia's rich text editor, extends and normalizes browser contenteditable behaviour from Javascript. To work well for all languages, it must satisfy a seemingly impossible set of constraints. This is the story of how we managed.

You already know how to use “git status”, “git push”, and “git add” for your personal projects. You know how to work on a team project with git version control. How do you achieve the next level of git mastery and fix mistakes? We’ll cover how to set up your git environment for a productive workflow, different ways to undo your mistakes in git, and finally, how to use the IPython notebook to automate an entire git workflow.

I have explored weird corners of HTTP -- malformed requests that try to trick a site admin into clicking spam links in 404 logs, an API that responds to POST but not GET, and more. In this talk I'll walk you through those (using Python, netcat, and other tools you might have lying around the house).

Security folk generally talk about how the Internet of Things is bad for security, but it also brings new sensors and connected devices that could co-operate in new and interesting ways. Could we use internet things to enhance security?

For too long, computers have been shut out of the red-hot music-to-listen-to-while-relaxing-in-the-bathtub genre. Today, that all changes. Our smooth-jazz-as-a-service startup is primed to disrupt this stale industry. All we need is a little Ruby and we'll make automated musical magic.

The word monad is all around us. I've heard long explanations of it that seem to over complicate it or make it intimidating. At Hacker School one of my goals was to learn some category theory, and understand the beast. I finally got it, and it wasn't so bad. I wanted to explain monads in a way that would not intimidate people and that would so some solid examples so if they felt like i had before, I might be able to help.

Last year the Ascend Project was announced, then in the fall the first pilot took place in Portland. This year we'll report back on how it went, hear from participants, and break down what worked and what could be changed for future versions of this type of program. You'll definitely come away with some ideas for your next learning event, code school, or sponsored training.

Open source makes writing and publishing much easier both online and in print — provided you know what tools to use. This talk covers those tools (from LaTeX to WordPress) and how to choose between them.

Software is made of bugs, yet software is controlling a growing part of our physical world. As bugs and security holes become potentially life-threatening, what can we do to make our software worthy of the trust we're placing in it?
Take quadcopters, for example. Toy vehicles are not just in specialty hobby shops but even in supermarkets; sports stadiums and the White House are trying to find ways to keep them out; and everyone from agriculture startups to Amazon wants to use them commercially. Quadcopters are becoming safety and security critical systems, but how are we going to make them truly safe and secure?
I'll present SMACCMPilot, a BSD-licensed high-assurance quadcopter autopilot, and the new tools and technologies that make it feasible to trust a large piece of software.

Proposals for this track

Almost every job involves a little writing, even if it's code comments or repair notes on a car. But what if you don't feel confident with writing? I have a rapid-fire presentation of writing tips and tricks that can help get you started, keep you going, and make your work better, even if you don't think you're a writer, I bet it will help!

Aquameta is a p2p network for code, data, and multimedia. Imagine a world where you can create simple data-driven applications straight from your browser, push them directly to your friends, and collaboratively share data. Now you can, with aquameta.

The new space industry is expanding rapidly, with huge opportunities for open-source contributions. This talk focuses on the case study of Asterank, software that makes space data easier to access and explore. Its analysis and visualization tools have been used in government, private industry, and schools. The project has made public space data more open and usable for millions of people.

Ever thought about network booting? What about booting a computer over the internet? What about booting a computer, over the internet, from a server that's on another continent? It's doable, and potentially easier than you would have expected

The Raspberry Pi makes a fine little conference presentation machine, especially when it's packaged in a Steampunk theme. This talk highlights how to bring physical computing together with practical application to create a useful Linux-based device. I'll discuss idea generation, research, prototyping, challenges and use. We'll actually use the device with Libreoffice for the slides and a hacked Webcam to look at small parts.

When preparing for a different talk, Ray couldn't find any existing autoscaler for Kubernetes to automatically scale up/down the number of pods using custom metrics. Ray had never written an autoscaler before - but it sounded like a lot of fun! Join this talk to learn about Kubernetes, and Ray's journey in writing a custom metrics collector and an autoscaler using Spring Boot, Groovy, containerized it, and deployed Kubernetes.

What if instead of a broad location, you could have pinpoint location awareness of someone in a physical space. How could this change everything about how we interact with the physical world? In this session we will be exploring Beacon technology, which enables this, the underlying Bluetooth Smart standard, and how we can use these systems to change everything from shopping, to accessibility for the disabled, all built on top of a mobile device.

As a tool for human communication, the internet has successes and failures. It allows us to meet people, collaborate, strengthen communities, and learn new things. It also enables oppression, harassment, and noise. These problems aren't new, but choices made in constructing the internet have often served to blindly facilitate their spread. Instead of continuing to assume that the technical, social, and economic constraints that kept such problems from destroying past systems will continue to hold, let's break down what's different from then to now, and find a new set of solutions.

Communities around projects can be built in multiple ways, from reputation to
evangelism, and many projects follow certain path towards popularity. OlegDB has
taken a completely different path towards it's cult-following status, and I'll go
over how a project that started as a joke now has a small, but active, community.
I'll cover alternative marketing strategies, maintaining relationships on the
internet and how to stay in charge of a FOSS project.

In this session we'll be exploring how to build rapid hardware prototypes using wifi and bluetooth low energy enabled Arduino boards, all controlled through JavaScript and API data, to allow for innovative, web enabled, software to hardware development techniques.

The range of options for music-making on GNU/Linux with free/libre/open tools stretches from music-focused programming languages like CSound and PureData to simple tools like Audacity, Ardour, Guitarix, Hydrogen, and Musescore which are accessible to novice members of the general public.
We'll explore the options for different sorts of musical creativity, focusing on the basic tools and how to get them set up effectively on GNU/Linux. In the session, we'll produce some brief compositions and recordings as we explore the software.

Open hardware is poised to change the world, particularly with the oncoming onslaught of IoT. If we can successfully migrate more of the industry to a model more closely resembling the open source software movement, we genuinely do stand a chance of changing the world.

What Are a Platform’s Components?
* Builders/Packagers that create a deployable artifact
* Artifact repositories to hold the deployable artifact
* Provisioners that spin-up new services
* Hosts that run a deployable artifact
* Routers/Load balancers to
* Direct traffic from the public to their nearest/most available application servers
* Load-balancers/reverse-proxies/service discovery to
* Route traffic from an application server to composing services
* Slowly ramp-up load as a new version of a service is deployed

Have you ever said, “I could write an article about that!”? Imagine what it feels like to walk into Barnes & Noble, pick up a magazine and see your article featured right there on the cover. Who do you contact? What's the process? What the heck is step one? In this talk, you'll get an insider's look at breaking into the mysterious world of tech article writing, from an industry veteran.

We talk a lot about minimum viable products, and building our products up from small features. We talk a lot about failure, and how to learn from it and not replicate failures over and over again. But what I haven’t heard a lot of discussion about is how we know we’ve succeeded. Is it market share? Usable product? Could understanding and setting a measurable, achievable goals help us overcome imposter syndrome, second sock syndrome, and feature creep?

JavaScript has a long history of being difficult to structure and maintain. To deal with this complexity a swath of frameworks have emerged over the years. At a glacial pace we have seen the web improve and those changes are ubiquitous now. ES6 and web components are happening! Come to this talk to learn how to get started with vanilla web platform code.

Almost everyone has a smartphone, and the majority can run Chrome or Safari.
Wouldn't it be great if we could use our mobile devices as tools to allow non-musicians in on the act of performing... by generating harmonious tones or presenting lyrics in time with musicians playing traditional instruments? What if we could synchronize multimedia events over dozens if not thousands of devices, simultaneously?
Well, we can! The technology exists today, in your pocket. The singalong.js suite enables these types of ad-hoc musical collaborations in various combinations, in real time, with no perceptible latency, and without the use of a click track or other such draconian control system. The best thing is, it’s licensed under the GPL and uses lots of open libraries to make it happen.

The leap from learning to doing in programming can be terrifying. One hundred step-by-step tutorials will not teach you as much as solving one tough problem in code. This talk will present a process for taking that leap. And I’ll show you how I used that process to build a software plugin that lets you program in plain English.