Angie Jones is a Java Champion and Senior Director who specializes in test automation strategies and techniques. She shares her wealth of knowledge by speaking and teaching at software conferences all over the world, writing tutorials and technical articles on angiejones.tech, and leading the online learning platform, Test Automation University.
As a Master Inventor, Angie is known for her innovative and out-of-the-box thinking style which has resulted in more than 25 patented inventions in the US and China. In her spare time, Angie volunteers with Black Girls Code to teach coding workshops to young girls in an effort to attract more women and minorities to tech.
Kate Temkin is a hardware hacker and low-level engineer who spends most of her time exploring the hardware/software boundary and figuring out how to empower people with educational technology. Her recent interests include building hardware, software, and gateware for USB development, reverse engineering, and hacking.
When not hacking hardware, she maintains a variety of open-source projects, including LUNA, ViewSB, FaceDancer, and GreatFET, and probably spends more time than she should reverse engineering and be creating educational materials.
Aaron A. Reed
From Oregon Trail to A.I. Dungeon: 50 Years of Text Games!
2021 marks the 50th anniversary of the original text-only Oregon Trail, which debuted in a Minnesota classroom in December 1971. Since then games made with words have been everything from the industry-leading bestsellers to underground avant-garde. In 2021, I began a weekly blog series choosing one text game from each of the past 50 years to analyze in depth, a grand tour through a surprisingly broad range of games: from text adventures to BBS door games to hacking simulators to MUDs to audio games to browser-based idle games and more. In this talk I’ll share some favorite anecdotes my research has uncovered, fascinating glimpses at people from all kinds of backgrounds across half a century of computing history, pouring their hearts and souls into making interactive stories built with words.
Aaron is a writer and game designer, and game historian focused on helping gamemakers and players tell stories together. He is a multi-time IndieCade and IGF finalist, and has spoken about digital storytelling at venues as diverse as Google, PAX, GaymerX, and WorldCon.
Let me at my data! Pulling pictures out of an undocumented file format
RTS games have a concept called “fog of war”, where the map is hidden until your units explore it. For years I’ve used an app that brings that to the real world. I wanted to transform my unfogging data into wall art, but it’s a small indie app with no export function. Could I, a web developer who’s never reverse-engineered a binary format before, figure it out? I could! Kind of!
This is a detective story and a science story: a story of making guesses, figuring out how to test them, and piecing together the puzzle so I could generate my own images outside of the app.
Alex is a web developer and photographer who lives in Toronto, Canada. He’s particularly interested in social software and human-centred product design. When not coding for work he likes to code for fun, practice piano, and get out into nature. You can find out more about him at https://alexpounds.com/.
The Brave Little Database!
This is a story about the adventures of the Brave Little Database, who tirelessly handles incoming requests, indexes tables, manages its buffer pool, and works together with its replicas and a proxy server to deliver the best service it can. We’re going to accompany the hero as it tackles obstacles and learns to be more resilient.
Alicja likes to learn by drawing things. They work on all things infrastructure and have a soft spot for data stores and metrics. Outside of tech, Alicja tirelessly covers everything in yarn and plays ukulele.
The musical password manifesto: you have nothing to lose but your FRcK7y23ckdqwCYPq!
You’ve probably typed at least one plain text password today, but have you stopped to question why it had to be this way?? Who decided we should hide our most intimate data behind a secret phrase of characters– the more random and meaningless the better?? Seems pretty arbitrary, and really not that fun. Want to know what’s equally arbitrary and way more fun?? Musical passwords!!! In this talk, I’ll extol the virtues and mostly the fun of musical passwords, and explain a simple scheme for encoding them. It’s so simple that I’ll code it for you in real time! By the end of this talk, you’ll hopefully have an understanding of how to easily map password data to some fun variables. This will leave you with no good excuse not to implement fun authentication in your future password-protected projects!
Amara lives in Brooklyn and can often be found rollerblading through local grocery stores. A recent Recurse Center alum, she likes to pet dogs, make beats, and ride her bike.
Night of the living GIF: Making interactive multiplayer experiences on a static webpage! (pronounce “GIF” however you like :)
Andrew is a programmer who thinks a lot about security. He enjoys copyright law, federated services, and surprising solutions.
It’s a picture! It’s a program!! It’s Piet!!!
What if you didn’t write a program, but drew it instead?!? What if you could learn about programming languages and models of computation by playing with pixel art?!? Spoiler alert: you can!!
Piet, named after the artist Piet Mondrian, is an esoteric programming language, aka “esolang”, where programs are abstract pixel art(!), blocks of color are data(!!), and programmers use variations in color to send instructions to a stack-based interpreter to compute… anything!!! (Really, it’s Turing complete! You can even write an interpreter for another language in it!!)
Let’s learn how Piet works through a visual exploration of the basic concepts of the language, take a look at a few amazing programs, and see how this pixel-perfect esolang can teach & inspire us to learn more about the art of computing (pun intended!).
Anjana suffers from a chronic case of curiosity, which led her from philosophy to English teaching to computational linguistics to software development. As a developer advocate at Observable, these days she codes & teaches from her home base in San Francisco; in the before-times, you could find her speaking at events around the world. She loves to share the joy of programming and advocate for a more diverse, equitable, and ethical tech industry. Ask her about the Recurse Center & Outreachy, she’s an alumna of both!
Dithers of the Error-Diffusion Kind!
Error-diffusion dithering is perhaps the fundamental algorithm of computer graphics. When an image is displayed in a reduced palette (such as black and white), a cloud of pixels return some detail to an image that otherwise would look washed out. Developed in the 1970s and 80s, they have been mostly stagnant since then.
This talk will revisit these algorithms and see what happens when we mess with these coeffients, leading to images where the dithers become inextricable from the content of the images! From there, we’ll imagine how dithering might work in an alternate computer history, where our screens looked very different from the ones we use today.
Do your eyes hurt? All you need is cardboard and motors!! (Ok, and a lot of superglue)
The grim reality of working from home has finally entered almost every household. Though even before the pandemic, with the invention of the ‘freelancer’, so came the many gadgets to improve productivity and reduce discomfort from working from home or at an office. My response to the screen glasses, office chairs, or ergonomic mice was to build my own DIY versions with cardboard and a few motors. Did my solutions work? you ask. Sounds like you will need to attend the talk* to find out!
This talk* will give you an insight into how these sort of solutions can be made from the materials you have at home - with basic skills, many failed attempts, and lots of humor - in order to encourage you to build your own fixes to your problems!
Dasha Ilina is a Russian digital artist based in Paris, France. Her work explores the relationship we develop with the digital devices we use on a daily basis, specifically in regards to the human body. Ilina’s work centers around the notions of care and technology, DIY practices and low-tech solutions to examine various issues such as phone addiction, tech-related health problems and privacy in the digital age. She is the founder of the Center for Technological Pain, a center that proposes DIY solutions to health problems caused by digital technologies for which she has received an Honorary Mention at Ars Electronica. She is also the co-director of NØ SCHOOL.
pwintln!(): teaching an ELF to uwu!!
Linux programs can print output in uwu-speak, but they either need to have their output filtered after the fact, or need to use special functions to output such text. This is clearly unacceptable! I should be able to include an uwuifier library so all my program’s output is uwuified, nyowo mattew whewe it came fwowom!!
I will show the learning process from idea to minimal prototype of a text uwuifier that, with one function call, inserts itself into its process using tricks from binary exploitation for ironically benign purposes. I figure out how the dynamic linker resolves function calls to the system C library and redirect them for my own nefarious purposes by fooling around with a debugger!
Jade is a Computer Engineering student at the University of British Columbia in Vancouver. While she’s not hacking on tooling (primarily Rust), operating systems, or making jokes on Twitter, she likes to bake and go on long bike rides around the city.
Oh, no! The Lowest-level* Programming Language is Unicode-aware and I have no excuses?!
Goodness gracious! It seems like there’s a lot of consternation that the lowest level programming languages and several newer ones do a very poor job of handling Unicode and giving people the means to handle it. And every day, people continue to say things like “only use alphanumeric ASCII letters and numbers for this form” day in and day out. Our names get truncated and filtered. We change ourselves and, for more important matters made digital (banking, flight tickets, and more), we have to reconcile what the computer allows and what people who control our lives see on our official documentation. Is today the day we need to be taken off to the side for a “random, routine inspection”?
Even if people are ratchet in the real world, these systems are digital. They are supposed to be able to do anything we want to, and yet we ended up here. Let’s talk about how we got here, and more importantly,
let’s talk about what we’re doing right now to fix this godawful mess.
- Okay assembly, machine code, stream processing, etc. are all ““lower”” than C but practically speaking, you get what I mean!
JeanHeyd “ThePhD” is a student. They are the Project Editor for the C Language, and they manage their greatest open-source contribution – sol2 – that is used across many industries and academic disciplines. They are currently working towards earning their own nickname, climbing the academic ladder while spending as much time as possible contributing to C++ standardization and development. Their newest and biggest project is Unicode for C++. Learn more about JeanHeyd’s work at their website.
They very much love dogs and hopes to have their own in a year or so. They also like TWRP’s “Feels Pretty Good” from the album Together Through Time.
tzdata: Back to the Future!
Every modern computer ships with some flavor of a special database called tzdata, which codifies the world’s diverse and varied viewpoints about how to standardize time.
This talk is about one very specific line in that gigantic store of information, what it means, and how every computer that needs to rely on time depends on this single, solitary idea being correct.
John is an avid technologist, occasional public speaker, and curiosity advocate. He serves as a consultant, helping enterprises transform the way they write, operate, and deploy software.
John is interested in bits, bucks, bots, and blocks. He lives in Charlottesville, VA and likes meta-jokes, milkshakes, and referring to himself in the third person in speaker bios.
Ride on Model Railway Signalling using Kubernetes!
Have you ever wondered “what would happen if we used container architecture to avoid crashing ride-on model railways”? Wonder no longer! In this talk, we will cover the basics of running a small ride-on railway in your back yard, using Kubernetes and Raspberry Pis to deploy your signalling, control, and safety infrastructure, and learn how to apply concepts from full-scale railways to your own small-scale endeavours! Watching this talk entitles you to one free ticket to ride the Kubernetes line.
Jonathan is a software engineer at Orbit by day and live production tech, pyrotechnician, and musical theatre peformer by night. His interests include hardware reverse engineering and information security. He has once set a swimming pool on fire.
How layers upon layers of hacky abstractions turned Doom II into the best kart racer!!
How does one build a “modern” kart racing game on top of the 1994 Doom engine? The answer: layers upon layers of terrible hacks! Like enumerating the rings of an ancient fossilized tree, I’ll be giving you a lovingly detailed look at the 25-year creative history of my favorite racing game (SRB2Kart). Passed from designer to designer over the span of multiple decades, an iconically bloody shooter game became a Sonic the Hedgehog fangame, a third-person skateboarding sim, and then an incredibly underrated open-source kart racer! We’ll look at the clever hacks, the egregious workarounds, and the wonderful community that makes it all possible.
Kimmy is a trans engineer in New York City. She likes to read books, sip tea, and work on doom mods. She has been a part of the SRB2 community off and on since 2003.
Geometric derivations of RGB colorspace! The strange eyeball science that is messing with your LEDs
It’s hard to write code that smoothly fades RGB LEDs between colors. But why? Lots of libraries offer solutions, but exploring the problem quickly opens up a neon rainbow hexacone of complexity. Our eyes don’t perceive color in a linear way, and humans have been trying to solve this with math since color screens were introduced. Come along on my visual journey into the eyeball, through the strange history of colorspace models to adjust for color perception, and my attempts to update my code!
Laura helps public sector organizations deliver on their mission in innovative ways by unlocking the value of data. Outside of work, Laura explores code and data as tools to make art, find new perspectives, and connect with community. When she’s not debugging her latest python project, Laura is probably canoeing on a whitewater river or falling off her skateboard.
Making a pixel-y circuit design language and then building circuits in it!!
Have you ever made a complicated Redstone machine in Minecraft, graphed out a complicated boolean expression, or taken a philosophy or digital-logic-design course? If so, then you’re probably familiar with the ORs, XORs, and ANDs of digital logic circuits!! From these basic elements, one can build layer upon layer of abstraction.
In this talk, I’ll introduce Reso, an esoterical graphical logic circuit design language. It is inspired by Piet, Conway’s Game of Life, and Redstone. Reso programs are circuits defined by bitmaps, where components are inherently modular and can be copy-and-pasted with ease. Your favorite graphics editor (be it GIMP, Paint, or Photoshop) is your IDE and the world (er, bitmap) is your oyster!!
In this talk, you’ll see what a circuit looks like, you’ll see how it works, and you’ll see the execution of one of these bitmap circuits!!
Lynn is a software engineer, a data scientist, and a big fan of interpreted and interactive languages. During COVID times, they became enthusiastic about aromatic brewed beverages and about taking nature walks while sipping said beverages. They spend the rest of their time making digital art, videogames, and poorly-done crochet.
making our own napster so we can party like it’s 1999!
Shamefully, the first MP3 I ever downloaded was Ricky Martin’s Livin Da Vida Loca. And I downloaded it from this magical new application called Napster.
Using Napster felt bold, daring, and exciting. It peaked at the dawn of the 21st century, where we felt like the future was right now. Napster introduced peer-to-peer software to a mainstream audience, creating an unspoken community of punk outsiders (some of whom downloaded Ricky Martin hits) who felt like they were about to start playing society by a new set of rules.
In this talk, we’ll look back at the tech which powered the core of Napster - a centralised, peer-to-peer network. We’ll explore how a P2P connection works, how to create a protocol to send data between two computers and then we’ll create our own toy project that really whips the llama’s ass!
Between frequent conversations about the magic of the 90s, Martin works as a software consultant at 8th Light. He likes fiddling around with fussy protocols, wants everyone to feel like they can pursue a career in tech, and is absolutely no good at writing a personal bio.
Numeric Data Types in the Wild; or: Let’s Look at Last Night’s Dinner Receipt!
You won’t believe the crazy things we’ll find by taking a good look at a dinner receipt.
Come and spend ten minutes having a laugh at some of the pitfalls and travails embedded in a simple POS (point of sale) device printout. And remember: this was the real output of a launched-and-shipped software program that was written by living, thinking, and breathing human beings. How could it have gone so wrong?
Michael is a physicist-turned-inventor out in California. He works by day as a Principal Systems Architect at Magic Leap, and spends his evenings studying everything under the sun. His perfect vacation is spending a couple weeks in a new city, ensconced in cafes, speed-running an online class. And he believes that self-improvement, in every form, is simultaneously an art, a skill, and a lot of fun.
Bang Bang!! Hacking Switch Controllers to Play Rhythm Games Using A Real Drum!
Taiko is a Japanese drumming tradition that dates back thousands of years, and has enjoyed a resurgence of popularity in the last decade. It is also the subject of an insanely cute rhythm game called “Taiko no Tatsujin”! However, unless the arcade version can be found, the player is stuck waving their controllers around, playing an imaginary drum. That is, unless this intrepid player has a homemade taiko drum, a microphone, a Teensy microcontroller, a rudimentary understanding of signal processing, and (optionally) access to a Target store. Learn about one of the most powerful and easy to use hobbyist microcontrollers, how computers can understand sound, and most importantly - how to Bang Bang! in style!
Nathan is a student at Columbia University (Go Lions!) studying electrical engineering and computing history, and is also president of the CU Taiko Club. When not working on problem sets, he’s generally exploring retro-tech, enjoying long walks on Maine’s beaches, creating and sharing art, wandering aimlessly around the World Wide Web, and telling terrible jokes. One project he’s working on right now is documenting XBAND, a defunct and recently resurrected dial-up network for the Super Nintendo.
GoLlURM! The Game of Life (limited) Unlimited-Register Machine!
In this talk I introduce the Game of Life (limited) Unlimited-Register Machine (GoLlURM), a powerful 3-instruction CPU with instructions such as INC, DEC, and JUMP_IF_ZERO. GoLlURM is built entirely on top of Conway’s Game of Life (with gliders!), making it the world’s most cross-platform CPU ever developed.
This amazing computation engine manages an impressive FIVE HERTZ of performance (* requires a latest-generation overclocked 4.5GHz CPU). Some may say that this factor-of-a-billion reduction in performance will limit its utility to giving sarcastic talks on the Internet. I would agree.
Nicholas is, by day, employed as research scientist at a large search engine company in the hope that he will produce new and useful research. He also does this by night as well, but disregards the qualifier “useful”.
Crocheted! Computer! Graphics!
Making 3D graphics and creating textile art are surprisingly similar! In this talk I will show the work from my MFA thesis exhibition, CLOTH^3, which includes a videogame, a giant crocheted cube, and a series of 3D prints to explore the connections between these two disciplines. These threads are both historical, hearkening back to early computers like the Jacquard loom and circuits made by hand, and material, in the rendering of shapes from scattered points into lines > faces > volumes. By taking a craft approach to videogame design we can queer the gender configurations of labor like crocheting or programming and create new ways of working and playing.
Patrick Stefaniak is currently an MFA student in Digital Art + New Media at UC Santa Cruz, earned a BFA in Digital Art from Indiana University in 2015, and has worked in New York as a Creative Technologist. He works with 3D games, virtual reality, video performance, installation, writing, hole punching, crocheting, and 3D printing to think about rendering, perception, labor, queerness, and fun.
Enter the Minus World! Nintendo Cartridges Share Secrets!
Secrets in video games are a funny thing. Sometimes they’re gifts from the developers that make you feel like you got somewhere you weren’t supposed to go. Other times… a game winds up in a state it wasn’t built to handle and you actually got somewhere you definitely weren’t supposed to go! Super Mario Bros. for the Nintendo Entertainment System has great examples of both of these kinds of secrets. The Warp Zone is a well-known and beloved portal into later stages of the game. I want to talk to you about another portal, one left completely by accident, that goes somewhere else: The Minus World!
The Minus World is a collection of levels composed entirely of arbitrary junk data in memory! In the US players discovered this place through dexterous maneuvering to outsmart the game’s collision detection logic. The results were fascinating but limited. A single level named “ - 1” (as in Minus World!) that repeated in a loop. I want to share with you all another method to enter this place that gives us access to a whole slew of possible levels! This technique was first discovered by some clever Japanese gamers by swapping out cartridges without turning off the console. As I demonstrate this effect we will talk about which hardware components are involved and exactly what they’re doing every step of the way!
Paul has a lot of hobbies and interests that move in and out of rotation over time. Sometimes he forgets about one for years and then suddenly remembers he liked doing the thing. Among these are electronics, music, mushroom hunting, and watching the Evil Dead trilogy. Paul writes software to make it easier for people to spend time outdoors for The Wanderlust Group.
It’s like you’re actually there! Mouse synchronization in an online tabletop game
When working on an online tabletop game, I encountered the problem of mouse cursor synchronization. How to make sure my mouse, and the pieces I’m moving, animate correctly and smoothly for the other players? When done well, the effect really adds to the immersion, but there are a few subtle details.
Paweł’s day job involves operating systems, but outside of work, he has always been making games. He likes interactive fiction, Japanese board games (Go and Mahjong), and rock climbing.
Learning to code with Doom! (Now I’m even more confused!)
During the pandemic, I picked up programming as a hobby in order to help my friend create a mod for the 1993 video game Doom. This was my first time embarking on a major coding project, and it turns out this was probably not the easiest place to start! Over the years, the Doom game engine has been modified and re-implemented so many times that now it uses multiple programming languages stacked on top of each other. For someone like me with minimal coding exposure, this was challenging, to say the least!
In this talk, I’ll walk through one of my misadventures that taught me it can be fun when coding is confusing. I started with a simple task — playing a sound effect — that rippled out into so many other issues that it made me wonder why I didn’t just take up baking like everyone else instead!
Phil Salvador is a librarian, digital archivist, and video game historian who writes about unusual old computer games on his blog, The Obscuritory. But most importantly, he is a friend to all birds.
Cursorless: keyboards and mice are sooo last year!!
“swap funky fine whale”. As a human being, which I assume you are, my dear reader (sorry bots!), this phrase probably doesn’t mean a whole lot to you. But my computer snaps to action, swapping a particular pair of functions. I am going to talk about Cursorless, a voice coding tool I developed on top of Talon and VSCode that helped me turn accessibility into a super power.
When editing code with a keyboard and mouse, your world centers around a little cursor. So, naturally, initial work on code editing by voice also centered around the same little cursor. But why should we be restricted by what works well with a keyboard? When two landscape designers discuss a design, they’re not stuck with a laser pointer and a hundred small buttons, they say “move the red vase to the top corner”. Let’s bring the same fluency to coding. And hey, maybe I’ll make a keyboard version of the tool to make coding a bit more accessible for people stuck with a keyboard and mouse 😉.
Pokey is a freelance software engineer who will happily spend 3 weeks optimizing his coding setup to shave 10 seconds off a 5-minute task. He enjoys running, wild swimming and crocheting various and sundry small animals while coding by voice. Find him on Twitter at @PokeyRule and in the Talon slack workspace at @pokey.
“Tropes! Cliches! Made-Up Slang! It’s the Data-Sitters Club!”
Did you ever pick up a “Baby-Sitters Club” book in the 90’s, or stumble across the graphic novels or Netflix series more recently? The “Baby-Sitters Club” turns out to be an amazing corpus for exploring computational text analysis methods! Find out what the “Data-Sitters Club” has learned – about these books, natural-language processing (in multiple languages), collaboration, and coding – in this quick tour of our discoveries so far!
Quinn loves languages, digital humanities, and sewing brightly-colored clothes, and can often be found on Twitter at @quinnanya. Quinn works in the Library and the Division of Literatures, Cultures, and Languages at Stanford University, but lives in Berkeley with a husband, three small kids, and two geriatric cats.
Nifty Weaving Tools: A Different Kind of Color Picker!
This talk is about a suite of online weaving tools that speed up and simplify the process of designing woven fabrics. Weaving is a slow process, and there’s nothing as crushing as spending twenty hours on a project and then discovering, at the very end, that the colors actually don’t work well together and the finished fabric is downright ugly. The tools I built solve that problem: how can I predict the final appearance of a woven piece without spending tons of time and money making samples.
Rebecca is a full stack developer and an artist, sometimes both at the same time. They live near Oakland with a small herd of cats and their spouse.
Beware the Dreaded Dead End!!
Nothing stops a program from executing quite as fast as a syntax error. After years of “unexpected end” in my dev life I decided to “do” something about it. I built an over-the-top AI driven solution that finds syntax errors in Ruby code.
Discover why this 100% ridiculous solution was 100% worth-it. Bring your sense of adventure and you’ll walk away with an intro to AI, a short primer on Ruby syntax, and all the friends we made along the way.
Schneems is an open-source junkie that loves community building. He created and maintains CodeTriage.com, a tool for helping people contribute to open-source. When he’s not working on that you might find him building developer tooling at Heroku or working on his own OSS contributions. He is in the top 50 Rails contributors and is an accidental maintainer of Sprockets and Puma. Last time he checked, he had over a 1.2 billion library downloads on RubyGems. When he isn’t obsessively compulsively refactoring code for performance he spends his time reminding his kids to wash their hands.
Mojibake! What the hâ€”ck happened to these strings?
Our natural-language systems need to be prepared to deal with real-world text. But sometimes real-world text says something like “Merci de t‚Äö√†√∂¬¨¬©l‚Äö√†√∂¬¨¬©charger le plug-in”, and that’s terrible.
I made a Python module called “ftfy” that can solve the puzzle of what happened to Unicode text like this, and in many cases undo it. I want to talk briefly (without too much blame) about why mojibake happens, how we can fix it and maybe prevent it, and why this isn’t a job for machine learning.pens, how we can fix it and maybe prevent it, and why this isn’t a job for machine learning.
Robyn Speer is the developer of the multilingual knowledge graph ConceptNet, as well as several open source projects including ftfy. A decade ago, she co-founded an NLP startup called Luminoso. Now, in her increased free time, she plays and modifies randomizers for retro video games.
NetMonster: A trip through early 2000s internet and the monsters hidden inside websites!
In the year 2000, before Google was a verb and websites were build with tables, there existed a game called NetMonsters. Players would visit websites and find monsters to add to their collection. The more techno-savvy players, who were building sites on Geocities, Tripod, and Angelfire, weren’t just creating a home for their thoughts - they created a world for their monsters.
Nearly all of those sites are gone now. In this talk, I cover the mechanics of NetMonsters and journey through the wayback machine, through Geocities archives, and through data hoarder torrents to reveal the lost NetMonster communities.
Rocky is a web developer, game developer, organizer, and teacher. He is an introvert and enjoys eating waffles and rock climbing - both are solo sports. He likes to be in the forefront of web technology and is endlessly fascinated by the ever-changing web landscape.
It’s my party and I’ll build my own virtual social platform if I want to!
What to do when you want to throw a huge birthday party when travel and parties aren’t possible? Try (and maybe fail!) to build your own video conferencing platform, of course! At least, that seemed like the obvious solution a few months before my own birthday. There are many ways to interact with friends online, but none I could find captured the feeling of socializing with a large group of friends in a physical space. It seems that if I wanted to host the party I imagined, I would have to build a platform myself!
Join me on my adventure of exploring: what puts the “social” in “virtual social space” anyway? How do you design the perfect distributed party? And is it possible to learn enough about WebRTC, audio spatialization, and scalable cloud infrastructure to build it in under two months, with no prior experience? Along the way I’ll talk about some of the technical challenges of building video conferencing software I discovered, which helped me understand why my dream platform didn’t already exist.
Sara is a lifelong generalist who enjoys writing code, aerial silks, and talking enthusiastically about her myriad of other interests. Previous short-notice projects she has thrown together for her birthday include: learn to scuba dive, perform a cello concert on a cruise ship, and put on a guest-filled charity fundraiser livestream.
Changing a Single Byte Saves Me Seconds Every Day!
Have you ever stumbled upon a piece of software that’s almost perfect? Loving everything about it except that teeny-tiny little detail. Sticking out, like a sore thumb.
For me, that almost-perfect piece of software is Tetris, for the original Game Boy. My grudge? Every time the game boots up, you have to stare at an 8-second long copyright notice before being allowed to play. One summer, during an intense Tetris tournament against my BFF, I got super-duper-feed-up with that notice and asked myself: “Is it possible to hack Tetris and get rid of that screen forever?”
This talk is about saving precious time. But it’s also about friendship, falling blocks, reverse-engineering and hacking games. I hope it will inspire you to look under the hood of software you love and make it even lovelier.
Sven is a curious human being who loves acquiring new skills and shares what he has learned with other people. He knows enough to be dangerous around soldering irons, crochet hooks, pen plotters, and paddles. For a living, Sven builds accessible and performant websites.
Option hack that 30 year old oscilloscope!
Oscilloscopes are wonderful devices that make invisible signals visible. For the longest time, they have been sold with all kinds of optional features for which you are supposed to pay good extra money. “Modern” oscilloscopes contain an embedded computer that doesn’t only manages the complex hardware and but also guards the key to these extra features. In this talk, I describe my quest to make available the hidden pots of gold of a 30 year old bare bones oscilloscope. A journey of weird interfaces, dumb pin swaps, counting chips on a PCB, disassembling firmware, and buying obsolete RAMs from Chinese brokers. There’s even a short run-in with Smalltalk, one of earlier object oriented programming languages.
Tom spends most of his time in his garage. During the day to help create awesome gaming monitors, in the evening to work on one of his 20+ parallel hobby electronics projects. By writing about them on his blog, he forces himself to finish a project every once in a while.
Building Weird Things With With The National Hockey League Using Ruby!
If you’re a Ruby developer who also moonlights as the arena public address announcer for a National Hockey League team, clearly the best thing to do is to write some odd bits of software using NHL data! In this talk, we’ll discover how to use the semi-undocumented NHL API to do things like preparing your car for the drive home and having a script announcement goals for you! There’s 10 minutes remaining in the period, so we’ll see how to build weird and delightful software just for the fun of it!
Wade is a Product Principal at Dualboot Partners, where he helps companies build great software. He was a member of the founding team at TeamSnap, and headed up Engineering at Adwerx, WeaveUp, and Custom Communications. He is also the arena public address announcer for the NHL’s Carolina Hurricanes, a 20+ year improv performer, ring announcer for a professional wrestling federation, and beer league ice hockey player/goalie. He leads a weird life.
Save Icons! In Real Life?! (My Love of the Floppy Disk!)
Have you ever seen that image next to “Save” and thought “what the heck is that?!” Or perhaps you’re nostalgic for the era of “Please Insert Disk 18.” Either way, in 10 minutes, we will all be experts in that plastic card with a magnetic personality: the floppy disk! We will go over their history and construction and how, exactly, do simple magnets store information. And if you think we can’t use these real life save icons to create modern art, well, I have a hidden surprise for you!!
wilkie is a systems programmer, wannabe archivist, and not a proper noun! I do research and development of federated systems for software preservation and archival, focused on scientific software and replicability.
compilers HATE him: use this ONE WEIRD TRICK to hide a message in your x86 program!!
Steganography is the art of hiding (not encrypting!) messages within otherwise inconspicuous data. Typical steganographic techniques involve media formats: images, movies, and audio. But what if we can hide messages within compiled programs themselves?? This talk will go through a whirlwind tour of steganography and the x86 architecture, and then show you ONE WEIRD TRICK in x86’s instruction encoding that allows us to do exactly that!
William Woodruff is a security researcher at Trail of Bits, primarily doing DARPA-funded research into program (LLVM) and binary (x86) analysis. During his free time, he likes to blog, ride bicycles, and do a bit of open source work (most recently in Rust). He’s slowly working on completing the system of German Transcendental Idealism.
Making Music! In Emacs?!
During quarantine, I found myself spending time with an Android app. One of the features this app has is composing music that loops endlessly. As with many programs, I wondered how much better this feature would be, if only it was inside Emacs. This talk explains how I made zmusic, my implementation inside Emacs, with detours through Emacs text properties, font rendering, the WAVE file format, and music theory. And hopefully at the end, we’ll have something worth listening to.
Zachary spends a lot of time coding Lisp, playing guitars, and doing improv. He also runs Emacs NYC, and recently got into hats. Find him at zck.org.