- Consequences of an Insightful Algorithm
- Schemas for the Real World
- Rock That Q&A: Pro Tips for Speakers, Audiences, and Hosts
- Converged Cloud Computing That’s Secure, Fast, or Cheap: Pick Three
- Debugging Tech’s Class Issues
- Doctor, Lawyer, Poker Player, Physicist: The Best Engineers We’re Not Competing To Hire Yet
- Handcrafting Community
- The Evil Overlords’ Guide to Being a Senior Developer
- Full-Stack & Full Circle: What The Heck Happens in An HTTP Request, and Why It’s Worth Knowing
- Cool Git Tricks (That I Learn When Things Go Badly)
Below are previous talks I’ve given. Additional talks are available by request.
Consequences of an Insightful Algorithm
RubyConf (keynote), JsConfEU (keynote), PyConAU (keynote), Open Source Bridge (keynote), CUSEC (keynote), WDCNZ, DjangoCon, ArrrrCamp, Lean Agile Scotland, All Things Open, EuRuKo
We have ethical responsibilities when coding. We’re able to extract remarkably precise intuitions about an individual. But do we have a right to know what they didn’t consent to share, even when they willingly shared the data that leads us there? A major retailer’s data-driven marketing accidentially revealed to a teen’s family that she was pregnant. Eek.
What are our obligations to people who did not expect themselves to be so intimately known without sharing directly? How do we mitigate against unintended outcomes? For instance, an activity tracker carelessly revealed users’ sexual activity data to search engines. A social network’s algorithm accidentally triggered painful memories for grieving families who’d recently experienced death of their child and other loved ones.
We design software for humans. Balancing human needs and business specs can be tough. It’s crucial that we learn how to build in systematic empathy.
In this talk, we’ll delve into specific examples of uncritical programming, and painful results from using insightful data in ways that were benignly intended. You’ll learn ways we can integrate practices for examining how our code might harm individuals. We’ll look at how to flip the paradigm, netting consequences that can be better for everyone.
Schemas for the Real World
PyCon, OSCON, PHP[tek], Software Craftsmanship North America, Madison RubyConf, PyConAU, RailsConf, RubyConfAU, GoGaRuCo
Social app development challenges us to code for users’ personal world. Users are giving push-back to ill-fitted assumptions about their own identity - name, gender, sexual orientation, important relationships, and many other attributes that are individually meaningful.
How can we balance users’ realities with an app’s business requirements?
Facebook, Google+, OkCupid, LinkedIn, Flickr and others are struggling with these questions. Resilient approaches arise from an app’s own foundation. Discover how our earliest choices influence codebase, UX, and development itself. Learn how we can use that knowledge to both inspire the people who use our apps, and to generate the data that we need as developers.
Rock That Q&A: Pro Tips for Speakers, Audiences, and Hosts
Write Speak Code
Q&A rocks! It’s an opportunity for listeners to clarify what’s they’ve heard and engage deeper with content. Speakers gain valuable interactive feedback, and learn which points are worth elaborating on next time. Yet many of us are wary of Q&A. “What if I mis-speak?” “What if there are hecklers?” “What if I don’t have all the answers?” They’re understandable concerns. Mastering the art of Q&A allows us to fearlessly embrace that uncertainty.
As developers, we’re constantly educating; as speakers, instructors, authors, mentors, team members, and event organizers. When we can deftly rock Q&A, we deliver extra value in all of those roles.
Productive Q&A arises from enthusiastic collaboration between speaker, audience, and host; in this talk, you’ll learn skills for each role. We’ll delve into setting expectations, selecting among various formats, keeping Q&A focused and on-time, dealing with complicated questions, counteracting attempts to derail, and using Q&A as excellent foundation for follow-up discussions, networking, and lead generation.
Converged Cloud Computing That’s Secure, Fast, or Cheap: Pick Three
Containers are driving down the overhead that has been necessary for traditional virtualization. But there have been serious tradeoffs made with their adoption. Containerization’s resource sharing approach is exposing more of the host system. We’re choosing to compromise the isolation of executables from kernel, accepting it as an inevitable price for low overhead. In multi-tenant environments, that’s a heck of a gamble.
Tightrope acts like that do not need to happen.
ZeroVM has taken an entirely distincive approach to lightweight virtualization: strong security, from the beginning. Processes are kept on lockdown, jobs are horizontally scalable, and they execute with such fine-grained accuracy that metering by the second is no problem. End the cost-inefficiencies of metering by minutes and hours.
ZeroVM provides a secure execution environment for untrusted code, by applying the Chromium project’s proven Native Client (NaCl) technology for validation and sandboxing. Moreover, when paired with OpenStack Swift, the two become a unique platform for executing arbitrary queries within a datastore, using any language of one’s choosing.
We’ll walk through the basics of the ZeroVM open source project, compelling use cases, and opportunities to take advantage of ZeroVM + Swift – for solving problems at scale without compromising on either security, speed, or affordability.
Debugging Tech’s Class Issues
Madison+ Ruby, Distill
As developers, we have power to be constructors of social justice. If we are members of tech community, then we inherit a chain of responsibility for addressing intersections between our work and its sometimes profoundly local effects on communities. We can choose to engage in debugging and fixes. We start by engaging in introspection about the inequities that our industry imposes on groups who have fewer privileges than we have access to. We’re going to walk through some of these issues, and review methods for implementing change.
Doctor, Lawyer, Poker Player, Physicist: The Best Engineers We’re Not Competing To Hire Yet
Lone Star PHP, Kod.io
“The team needs more engineers and we need them today!”
We talk about the engineer shortage. But the problem is not what we think it is. We’ll explore how hiring for only CS degrees misses exceptional opportunities.
Unconventional backgrounds breed great developers. Homogeneity boxes us in. Diverse teams are more productive, more profitable, and more excited about what they’re accomplishing. Diversity isn’t just demographics. It’s about benefitting from distinctly varied perspectives.
Who better than the former philosopher, marine biologist, stage hand, or anthropologist?
In this talk, we’ll walk through why it’s worth competing for them. Forget the rock star; hire the opera singer.
Burlington RubyConf, Steel City RubyConf
Community-building can seem like a herculean effort that must be coordinated among many. But it doesn’t have to be. One is plenty.
How can we handcraft a fulfilling code career? How can we support peers in developing theirs, whether newcomer or artisan? How can we contribute, without having to be expert? How do we develop social capital among community members, and channel those investments into people who are just entering? How will we craft a thriving community, using only simple tools & scarce local resources?
We’ll examine the history of major successes – in Ruby community, Python, and well beyond – and extract lessons to apply generally. It’s a story that weaves in personal narratives of rising into that, both well and clumsily. It’s about transforming minor ambitions & frequent iterations into a scope of change that looks amazing. By making choices to do small things well and thoughtfully, rather than with concern for how they scale.
The Evil Overlords’ Guide to Being a Senior Developer
Hollywood super villains learn their lessons the hard way. You don’t have to. What can we learn about doing good, from thwarted forces of doom?
It’s been said that coders “stand on the shoulders of giants.” We’ll take a session to stand on the shoulders of legendary tyrants, get a view from their side, & discover how to lead with the humor and grace that perpetually evades those gals and guys.
Full-Stack & Full Circle: What The Heck Happens in An HTTP Request, and Why It’s Worth Knowing
Confident Coding III
Flying in from 10,000 foot view (“Hey, browser, show me this”, “Okay, here it is”), we’ll take thoughtful overview of the HTTP request/response cycle. Its essence is simply a series of questions & answers, accumulating portions of content to be gracefully assembled for the user.
We’ll hone in on some key players amidst the “full stack” of communications, with special attention to how an understanding of the HTTP lifecycle endows any developer or designer with the power to optimize for performance, cost, and UX.
Cool Git Tricks (That I Learn When Things Go Badly)
Women Who Code
Two-part series of quick and cheeky 5-minute intros to some very handy features that even experienced users are frequently unaware of.