diff --git a/.ruby-version b/.ruby-version index 37c2961..9c25013 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.7.2 +3.3.6 diff --git a/2024/conduct.md b/2024/conduct.md new file mode 100644 index 0000000..543de9f --- /dev/null +++ b/2024/conduct.md @@ -0,0 +1,247 @@ +--- +layout: default-2024 +title: Code of Conduct - !!Con 2024 +--- + +

+ **Quick Links:** + [Livestream](livestream.html) + · + [Venue](venue.html) + · + [Give a Talk](give-a-talk.html) + · + [Program](program.html) + · + [Speakers](speakers.html) + · + [Sponsorship](sponsors.html) + · + [Conduct](conduct.html) +

+ +# Code of Conduct + +Below, you’ll find the Code of Conduct for Exclamation Foundation events -- +for now, these are !!Con and !!Con West. Our Code of Conduct is a little +different than most: where many Codes of Conduct start and stop at +preventing harassment, ours is **part of an intentional effort to define the +culture of !!Con events**. We don’t think that !!Con is something that you +passively participate in: everyone who attends **helps construct !!Con** and, +ideally, makes it a better conference. + +!!Con is about the joy, excitement, and surprise of computing. That can’t +exist while excluding people who have been traditionally marginalized in the +computing community, so an intentional part of the culture that we want to +set is for you to feel welcome. Our purpose in this Code of Conduct is to +give all of our attendees some ideas for how to make all of the above +happen. + +a bunch of people of various descriptions in many pastel colors excitedly !!ing at each other!! + +## How to be !!Con + +**Harassment has no place at !!Con.** This sounds obvious, but it’s +important. There are almost limitless ways to harass people; an incomplete +list might include harassment based on gender, sexual orientation, +disability, physical appearance, body size, skin color, or religion, as well +as making predatory sexual advances on other attendees. Don’t do any of +those things, and in any event, please be mindful of how you talk to and +about other people at the conference. “Jokes” (or serious actions, for +that matter) that serve to exclude people aren’t okay, either. + +Conversely, try to make an extra effort to **be kind and empathetic in how you +act**. Here’s a few ways you can do that: + +* **Read pronoun badges!** It’s impossible to know what pronouns somebody + uses just by looking at them. Let them tell you. + +* **Consider putting your pronouns on your badge, if you're comfortable doing so!** Even if you think your pronouns are + “obvious” by looking at you, you should write yours down, too! (In + the !!Con Online world, we put the pronouns that we'd rather be called by + in our Discord profiles, and for in-person attendees, we offer + space on badges to write down pronouns!) + +* **Assume that all your fellow conference-goers are technical!** No matter + whether people do or don’t look like someone that you often see at a + conference, everybody at !!Con is here for the love of computing. + +* **Let marginalized folks choose how much they want to share about + themselves!** It can be tempting to ask somebody about their background, + based on something about them that you can see or hear. They might want + to talk about themselves, but maybe they just want to enjoy technology -- + let them choose! + +* **Read up on the Recurse Center social rules!** The Recurse Center has four social rules: + **“no feigning surprise”, “no well-actuallys”, “no backseat driving”, and + “no subtle -isms”**. Although !!Con isn’t a part of RC, we were + founded by people who met at RC, and we found that their rules contribute enormously to a + supportive, productive, and fun learning environment. If you haven’t + heard of those before, we encourage you to [read the + rules](https://www.recurse.com/manual#sub-sec-social-rules); they’re a + great way to add an extra dose of empathy to your time at !!Con (and maybe + even beyond!). + +A particularly kind way of interacting with your fellow attendees is to +**respect their boundaries**. If somebody asks you to stop doing something, or +tells you that you’re doing something that makes them uncomfortable, **just +stop doing it**. Even if you think that what you’re doing is reasonable, it’s +better to be cautious and respectful. + +Above all else, remember that !!Con attendees are all here to relish in the +joy, excitement, and surprise of computing. These guidelines help us all +create a space where that can happen. + +pastel bang-bangs! + +## How we handle Code of Conduct issues + +In the past, we’ve resolved many of our Code of Conduct reports in a +collaborative fashion. Often, we find that there’s something to learn, and +ways that the whole community can grow in response! (We’ve written about +some of these in [our past transparency reports](#transparency-reports).) + +But **we want you to know that we have your back**, and so we encourage you +to get an event organizer involved if you’d like some help (more information +on [how to do that below](#getting-in-touch)). Our policy is that we do not +tell the subject of a Code of Conduct concern who brought the matter to our +attention. + +We hope it doesn’t come to this, but at our discretion, **we will ask +attendees who harm the !!Con community to leave**. This Code of Conduct is +a guide, and since we can’t possibly write down all the ways you can hurt +people, we may ask attendees to leave for reasons that we didn’t write down +explicitly here. On the other hand, where it’s appropriate, we want to be +forgiving, too: if it seems like you’ve made a good-natured mistake, we want +to give you space to grow and learn! + +This Code of Conduct applies not just in “official” !!Con-sponsored spaces, +but also in spaces adjacent to the conference. If you have a concern about +something that happens outside of the !!Con conference room, it’s OK to +bring it to the organizers. And, although we explicitly called out +attendees above, this Code of Conduct applies to everybody who contributes +to the !!Con space, including attendees, organizers, sponsors, volunteers, +staff, and Exclamation Foundation board members. + +a speaker passionately talks about bang-bangs! + +## Guidelines for speakers + +If you’re a speaker -- thank you! We’ve been really lucky to have speakers +who give thoughtful and exciting talks that are almost always inclusive of +the people in the !!Con audience. + +Here are a few guidelines you can use to help make your talk even more +welcoming to everyone in the !!Con community: + +* **Give people a heads up if you're discussing sensitive topics.** If your + talk includes descriptions of hurtful experiences that attendees might + share, let us know about it! Some of these include transphobic, + homophobic, sexually-motivated, racially-motivated, or + religiously-motivated abuse and harassment; sexual assault; eating + disorders; mental illness and self-harm; or relationship abuse. It's not + possible to give a full list, but these are some examples of things that + we hope you'll be sensitive of. If you expect to cover these topics, **talk + to the !!Con organizers before the conference** so that we can let attendees + know these topics will be covered in your talk. If you want to discuss a + sensitive topic in your talk and you'd like help approaching it, let us + know and we'll be happy to brainstorm with you. + +* **Avoid unnecessarily violent and sexual imagery.** Sometimes, including + these is unavoidable, or is central to the point of the talk, and that's + okay. But sometimes, the imagery isn't necessary. This can be in overt + ways (for example sexual images) or in more subtle ways (like an indirect + sexual reference used as a joke). So before your talk, take one more look + over your slides and prep material in this light -- and if you explicitly + plan to include sexual or violent content, consider how you can + contextualize it. (If you plan to include + *graphically* violent content, please do let us know in advance.) + +* **Talk to the experts.** !!Con thrives at the intersection of computers + and the human experience. Many of us have become experts in technologies + just by reading about them, but this doesn't always work when real people + become involved! If you plan to include anecdotes about the experiences + of a minority group you're not a member of in your talk, make sure you've + spoken with someone from that group first. They can help guide you on + what language would accurately capture their experience, and how to do it + with sensitivity. + +Often, talks won't need to make any changes at all to address these! But +even if your talk is mostly about computers, taking 10 minutes to go through +it and look for some of these issues (even if they're subtle!) goes a long +way to keeping !!Con welcoming for everyone. + +two folks talk to each other by way of their computers, one asking about a smile and the other responding with a heart! + +## Getting in touch + +**If you notice behavior that feels out-of-place at !!Con -- you’re being +harassed, you see someone else being harassed, or something just makes you +uncomfortable -- please contact a member of conference staff.** Even if you +don’t think that disciplinary action is needed, we want to keep tabs on how +we can build a better conference, so please feel free to reach out to us. + +If you have any questions about any part of this Code of Conduct, or about +the Recurse Center social rules, please feel free to reach out to the +conference organizers, or to the [Exclamation Foundation +board](mailto:board@exclamation.foundation). + +You can use the below form to contact us, with or without your +name. You can also send e-mail to [2024-organizers@exclamation.foundation](mailto:2024-organizers@exclamation.foundation), +or message any individual organizer on Discord. We want you to feel safe during +the conference, and we’ll do what we can to make that happen -- you matter +to us! + + + +If the iframe above doesn't work for you, [here's a link to the form to report CoC issues](https://ansr.me/pEaxk). + + + + + +dash dash dash + +## Transparency reports + +!!Con's Code of Conduct committees have compiled transparency reports for +reported incidents in previous years, which you can find below: + +* [!!Con West 2020](https://bangbangcon.com/west/conduct-transparency/) +* [!!Con West 2019](https://bangbangcon.com/west/2019/conduct-transparency/) + +## Thanks + +The Exclamation Foundation Code of Conduct was illustrated by [Annie Ruygt](https://annieruygtillustration.com/). + + + + + + diff --git a/give-a-talk.md b/2024/give-a-talk.md similarity index 100% rename from give-a-talk.md rename to 2024/give-a-talk.md diff --git a/images/2024-venue-photos/PXL_20240702_182906624.PANO-small.jpg b/2024/images/2024-venue-photos/PXL_20240702_182906624.PANO-small.jpg similarity index 100% rename from images/2024-venue-photos/PXL_20240702_182906624.PANO-small.jpg rename to 2024/images/2024-venue-photos/PXL_20240702_182906624.PANO-small.jpg diff --git a/images/2024-venue-photos/PXL_20240702_182906624.PANO.jpg b/2024/images/2024-venue-photos/PXL_20240702_182906624.PANO.jpg similarity index 100% rename from images/2024-venue-photos/PXL_20240702_182906624.PANO.jpg rename to 2024/images/2024-venue-photos/PXL_20240702_182906624.PANO.jpg diff --git a/images/2024-venue-photos/PXL_20240702_183057816.PANO-small.jpg b/2024/images/2024-venue-photos/PXL_20240702_183057816.PANO-small.jpg similarity index 100% rename from images/2024-venue-photos/PXL_20240702_183057816.PANO-small.jpg rename to 2024/images/2024-venue-photos/PXL_20240702_183057816.PANO-small.jpg diff --git a/images/2024-venue-photos/PXL_20240702_183057816.PANO.jpg b/2024/images/2024-venue-photos/PXL_20240702_183057816.PANO.jpg similarity index 100% rename from images/2024-venue-photos/PXL_20240702_183057816.PANO.jpg rename to 2024/images/2024-venue-photos/PXL_20240702_183057816.PANO.jpg diff --git a/2024/images/conduct/bangbang-dashes.webp b/2024/images/conduct/bangbang-dashes.webp new file mode 100644 index 0000000..32006fb Binary files /dev/null and b/2024/images/conduct/bangbang-dashes.webp differ diff --git a/2024/images/conduct/bangbang-dashes@1x.png b/2024/images/conduct/bangbang-dashes@1x.png new file mode 100644 index 0000000..1e9a509 Binary files /dev/null and b/2024/images/conduct/bangbang-dashes@1x.png differ diff --git a/2024/images/conduct/bangbang-dashes@2x.png b/2024/images/conduct/bangbang-dashes@2x.png new file mode 100644 index 0000000..ccfcfd4 Binary files /dev/null and b/2024/images/conduct/bangbang-dashes@2x.png differ diff --git a/2024/images/conduct/bangbang-dashes@huge.png b/2024/images/conduct/bangbang-dashes@huge.png new file mode 100644 index 0000000..6c629a7 Binary files /dev/null and b/2024/images/conduct/bangbang-dashes@huge.png differ diff --git a/2024/images/conduct/contact.webp b/2024/images/conduct/contact.webp new file mode 100644 index 0000000..86b2376 Binary files /dev/null and b/2024/images/conduct/contact.webp differ diff --git a/2024/images/conduct/contact@1x.png b/2024/images/conduct/contact@1x.png new file mode 100644 index 0000000..5fe2791 Binary files /dev/null and b/2024/images/conduct/contact@1x.png differ diff --git a/2024/images/conduct/contact@2x.png b/2024/images/conduct/contact@2x.png new file mode 100644 index 0000000..f555f81 Binary files /dev/null and b/2024/images/conduct/contact@2x.png differ diff --git a/2024/images/conduct/contact@huge.png b/2024/images/conduct/contact@huge.png new file mode 100644 index 0000000..0ab6666 Binary files /dev/null and b/2024/images/conduct/contact@huge.png differ diff --git a/2024/images/conduct/dashes.webp b/2024/images/conduct/dashes.webp new file mode 100644 index 0000000..7a88f19 Binary files /dev/null and b/2024/images/conduct/dashes.webp differ diff --git a/2024/images/conduct/dashes@1x.png b/2024/images/conduct/dashes@1x.png new file mode 100644 index 0000000..6a75c95 Binary files /dev/null and b/2024/images/conduct/dashes@1x.png differ diff --git a/2024/images/conduct/dashes@2x.png b/2024/images/conduct/dashes@2x.png new file mode 100644 index 0000000..28bd1a9 Binary files /dev/null and b/2024/images/conduct/dashes@2x.png differ diff --git a/2024/images/conduct/dashes@huge.png b/2024/images/conduct/dashes@huge.png new file mode 100644 index 0000000..f167c17 Binary files /dev/null and b/2024/images/conduct/dashes@huge.png differ diff --git a/2024/images/conduct/how-to-be.webp b/2024/images/conduct/how-to-be.webp new file mode 100644 index 0000000..34f1482 Binary files /dev/null and b/2024/images/conduct/how-to-be.webp differ diff --git a/2024/images/conduct/how-to-be@1x.png b/2024/images/conduct/how-to-be@1x.png new file mode 100644 index 0000000..bcc5d23 Binary files /dev/null and b/2024/images/conduct/how-to-be@1x.png differ diff --git a/2024/images/conduct/how-to-be@2x.png b/2024/images/conduct/how-to-be@2x.png new file mode 100644 index 0000000..832cef2 Binary files /dev/null and b/2024/images/conduct/how-to-be@2x.png differ diff --git a/2024/images/conduct/how-to-be@huge.png b/2024/images/conduct/how-to-be@huge.png new file mode 100644 index 0000000..8c13462 Binary files /dev/null and b/2024/images/conduct/how-to-be@huge.png differ diff --git a/2024/images/conduct/orig/bangbang-dashes.png b/2024/images/conduct/orig/bangbang-dashes.png new file mode 100644 index 0000000..78b7841 Binary files /dev/null and b/2024/images/conduct/orig/bangbang-dashes.png differ diff --git a/2024/images/conduct/orig/contact.png b/2024/images/conduct/orig/contact.png new file mode 100644 index 0000000..7711531 Binary files /dev/null and b/2024/images/conduct/orig/contact.png differ diff --git a/2024/images/conduct/orig/dashes.png b/2024/images/conduct/orig/dashes.png new file mode 100644 index 0000000..70ae29f Binary files /dev/null and b/2024/images/conduct/orig/dashes.png differ diff --git a/2024/images/conduct/orig/how-to-be.png b/2024/images/conduct/orig/how-to-be.png new file mode 100644 index 0000000..0a78f2a Binary files /dev/null and b/2024/images/conduct/orig/how-to-be.png differ diff --git a/2024/images/conduct/orig/speaker.png b/2024/images/conduct/orig/speaker.png new file mode 100644 index 0000000..169edaa Binary files /dev/null and b/2024/images/conduct/orig/speaker.png differ diff --git a/2024/images/conduct/speaker.webp b/2024/images/conduct/speaker.webp new file mode 100644 index 0000000..c0862d0 Binary files /dev/null and b/2024/images/conduct/speaker.webp differ diff --git a/2024/images/conduct/speaker@1x.png b/2024/images/conduct/speaker@1x.png new file mode 100644 index 0000000..c01b221 Binary files /dev/null and b/2024/images/conduct/speaker@1x.png differ diff --git a/2024/images/conduct/speaker@2x.png b/2024/images/conduct/speaker@2x.png new file mode 100644 index 0000000..e5791d1 Binary files /dev/null and b/2024/images/conduct/speaker@2x.png differ diff --git a/2024/images/conduct/speaker@huge.png b/2024/images/conduct/speaker@huge.png new file mode 100644 index 0000000..aae4781 Binary files /dev/null and b/2024/images/conduct/speaker@huge.png differ diff --git a/2024/images/create_montage.sh b/2024/images/create_montage.sh new file mode 100644 index 0000000..6049190 --- /dev/null +++ b/2024/images/create_montage.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# A script to generate the montage background image used in our 2019 +# website. Depends on ImageMagick and coreutils (shuf). + +# Create temporary directory for images +mkdir -p /tmp/bangbangcon_images/ + +# Copy speaker images to temp dir, in an order such that if a given +# speaker occurs more than once, newer images will overwrite older +# ones +# -u to always update a speaker's photo +cp -u ../*/images/speakers/*.png /tmp/bangbangcon_images/ + +speakers=`ls /tmp/bangbangcon_images/ | wc -l` +echo +echo "There are $speakers speakers from past !!Cons!" +echo + +# Create temporary directories for manipulated images +mkdir /tmp/bangbangcon_images/resized +mkdir /tmp/bangbangcon_images/final + +# Convert images to 50x50px +i=1 +for image in `ls /tmp/bangbangcon_images/*.png`; do + convert $image -resize 50x50 /tmp/bangbangcon_images/resized/$i.png + let "i++"; +done + +# Numbers determined by experimentation -- this is what looked good! +# If the number of source images changes, these will likely have to +# change too. +COPIES=3 +GRID_HEIGHT=15 +LEFTOVER_SLOTS=12 # number of spaces left over in grid + +# Make copies and order images randomly +j=1 +for ((i=1; i<=$COPIES; i++)); do + for image in `ls /tmp/bangbangcon_images/resized/*.png | shuf`; do + cp $image /tmp/bangbangcon_images/final/$j.png; + let "j++"; + done +done + +# Pick random images to fill in the gap at the end +k=1 +for image in `ls /tmp/bangbangcon_images/final/*.png | shuf | head -n $LEFTOVER_SLOTS`; do + #echo $image; + cp $image /tmp/bangbangcon_images/final/extra_$k.png; + let "k++"; +done + +# Arrange in a grid +montage /tmp/bangbangcon_images/final/*.png -tile x$GRID_HEIGHT -geometry +0+0 -quality 90 montage.jpg + +# Get rid of temp files +rm -r /tmp/bangbangcon_images/ diff --git a/2024/images/logo-white-large.png b/2024/images/logo-white-large.png new file mode 100644 index 0000000..fd50bd4 Binary files /dev/null and b/2024/images/logo-white-large.png differ diff --git a/2024/images/logo_light.png b/2024/images/logo_light.png new file mode 100644 index 0000000..7a09a9c Binary files /dev/null and b/2024/images/logo_light.png differ diff --git a/2024/images/montage.jpg b/2024/images/montage.jpg new file mode 100644 index 0000000..291977e Binary files /dev/null and b/2024/images/montage.jpg differ diff --git a/2024/images/speakers/adam-solove.png b/2024/images/speakers/adam-solove.png new file mode 100644 index 0000000..6280ef0 Binary files /dev/null and b/2024/images/speakers/adam-solove.png differ diff --git a/2024/images/speakers/aldis-elfarsdottir.png b/2024/images/speakers/aldis-elfarsdottir.png new file mode 100644 index 0000000..6ebb438 Binary files /dev/null and b/2024/images/speakers/aldis-elfarsdottir.png differ diff --git a/2024/images/speakers/alicia-guo.png b/2024/images/speakers/alicia-guo.png new file mode 100644 index 0000000..9618946 Binary files /dev/null and b/2024/images/speakers/alicia-guo.png differ diff --git a/2024/images/speakers/amedee-daboville.png b/2024/images/speakers/amedee-daboville.png new file mode 100644 index 0000000..dfb54f4 Binary files /dev/null and b/2024/images/speakers/amedee-daboville.png differ diff --git a/2024/images/speakers/blinry.png b/2024/images/speakers/blinry.png new file mode 100644 index 0000000..d833480 Binary files /dev/null and b/2024/images/speakers/blinry.png differ diff --git a/2024/images/speakers/bruce-waggoner.png b/2024/images/speakers/bruce-waggoner.png new file mode 100644 index 0000000..f018e7c Binary files /dev/null and b/2024/images/speakers/bruce-waggoner.png differ diff --git a/2024/images/speakers/daniel-temkin.png b/2024/images/speakers/daniel-temkin.png new file mode 100644 index 0000000..8ff39dc Binary files /dev/null and b/2024/images/speakers/daniel-temkin.png differ diff --git a/2024/images/speakers/dawn-walker.png b/2024/images/speakers/dawn-walker.png new file mode 100644 index 0000000..3811d49 Binary files /dev/null and b/2024/images/speakers/dawn-walker.png differ diff --git a/2024/images/speakers/devon-tao.png b/2024/images/speakers/devon-tao.png new file mode 100644 index 0000000..18e82ff Binary files /dev/null and b/2024/images/speakers/devon-tao.png differ diff --git a/2024/images/speakers/ivan-zhao.png b/2024/images/speakers/ivan-zhao.png new file mode 100644 index 0000000..6c58f4c Binary files /dev/null and b/2024/images/speakers/ivan-zhao.png differ diff --git a/2024/images/speakers/jes-wolfe.png b/2024/images/speakers/jes-wolfe.png new file mode 100644 index 0000000..6f84394 Binary files /dev/null and b/2024/images/speakers/jes-wolfe.png differ diff --git a/2024/images/speakers/jesse-chen.png b/2024/images/speakers/jesse-chen.png new file mode 100644 index 0000000..ed784f9 Binary files /dev/null and b/2024/images/speakers/jesse-chen.png differ diff --git a/2024/images/speakers/juan-pablo-sarmiento.png b/2024/images/speakers/juan-pablo-sarmiento.png new file mode 100644 index 0000000..cecafcd Binary files /dev/null and b/2024/images/speakers/juan-pablo-sarmiento.png differ diff --git a/2024/images/speakers/julian-squires.png b/2024/images/speakers/julian-squires.png new file mode 100644 index 0000000..ff34a05 Binary files /dev/null and b/2024/images/speakers/julian-squires.png differ diff --git a/2024/images/speakers/liz-frost.png b/2024/images/speakers/liz-frost.png new file mode 100644 index 0000000..1752b53 Binary files /dev/null and b/2024/images/speakers/liz-frost.png differ diff --git a/2024/images/speakers/maryanne-wachter.png b/2024/images/speakers/maryanne-wachter.png new file mode 100644 index 0000000..51654fa Binary files /dev/null and b/2024/images/speakers/maryanne-wachter.png differ diff --git a/2024/images/speakers/matias-lang.png b/2024/images/speakers/matias-lang.png new file mode 100644 index 0000000..1b6db47 Binary files /dev/null and b/2024/images/speakers/matias-lang.png differ diff --git a/2024/images/speakers/max-kreminski.png b/2024/images/speakers/max-kreminski.png new file mode 100644 index 0000000..190ea4e Binary files /dev/null and b/2024/images/speakers/max-kreminski.png differ diff --git a/2024/images/speakers/nicole-tietz-sokolskaya.png b/2024/images/speakers/nicole-tietz-sokolskaya.png new file mode 100644 index 0000000..1c87575 Binary files /dev/null and b/2024/images/speakers/nicole-tietz-sokolskaya.png differ diff --git a/2024/images/speakers/nolen-royalty.png b/2024/images/speakers/nolen-royalty.png new file mode 100644 index 0000000..6f74a48 Binary files /dev/null and b/2024/images/speakers/nolen-royalty.png differ diff --git a/2024/images/speakers/omar-rizwan.png b/2024/images/speakers/omar-rizwan.png new file mode 100644 index 0000000..e1d83d0 Binary files /dev/null and b/2024/images/speakers/omar-rizwan.png differ diff --git a/2024/images/speakers/phil-warren.png b/2024/images/speakers/phil-warren.png new file mode 100644 index 0000000..1f9a662 Binary files /dev/null and b/2024/images/speakers/phil-warren.png differ diff --git a/2024/images/speakers/rebecca-ravenoak.png b/2024/images/speakers/rebecca-ravenoak.png new file mode 100644 index 0000000..e442a0c Binary files /dev/null and b/2024/images/speakers/rebecca-ravenoak.png differ diff --git a/2024/images/speakers/richard-lewei-huang-yufeng-zhao.png b/2024/images/speakers/richard-lewei-huang-yufeng-zhao.png new file mode 100644 index 0000000..3f166e1 Binary files /dev/null and b/2024/images/speakers/richard-lewei-huang-yufeng-zhao.png differ diff --git a/2024/images/speakers/ryan-mast.png b/2024/images/speakers/ryan-mast.png new file mode 100644 index 0000000..28029d8 Binary files /dev/null and b/2024/images/speakers/ryan-mast.png differ diff --git a/2024/images/speakers/santiago-gepigon.png b/2024/images/speakers/santiago-gepigon.png new file mode 100644 index 0000000..a774b5f Binary files /dev/null and b/2024/images/speakers/santiago-gepigon.png differ diff --git a/2024/images/speakers/taylor-troesh.png b/2024/images/speakers/taylor-troesh.png new file mode 100644 index 0000000..385be16 Binary files /dev/null and b/2024/images/speakers/taylor-troesh.png differ diff --git a/images/speakers/thumbnail/adam-solove.png b/2024/images/speakers/thumbnail/adam-solove.png similarity index 100% rename from images/speakers/thumbnail/adam-solove.png rename to 2024/images/speakers/thumbnail/adam-solove.png diff --git a/images/speakers/thumbnail/aldis-elfarsdottir.png b/2024/images/speakers/thumbnail/aldis-elfarsdottir.png similarity index 100% rename from images/speakers/thumbnail/aldis-elfarsdottir.png rename to 2024/images/speakers/thumbnail/aldis-elfarsdottir.png diff --git a/images/speakers/thumbnail/alicia-guo.png b/2024/images/speakers/thumbnail/alicia-guo.png similarity index 100% rename from images/speakers/thumbnail/alicia-guo.png rename to 2024/images/speakers/thumbnail/alicia-guo.png diff --git a/images/speakers/thumbnail/amedee-daboville.png b/2024/images/speakers/thumbnail/amedee-daboville.png similarity index 100% rename from images/speakers/thumbnail/amedee-daboville.png rename to 2024/images/speakers/thumbnail/amedee-daboville.png diff --git a/images/speakers/thumbnail/blinry.png b/2024/images/speakers/thumbnail/blinry.png similarity index 100% rename from images/speakers/thumbnail/blinry.png rename to 2024/images/speakers/thumbnail/blinry.png diff --git a/images/speakers/thumbnail/bruce-waggoner.png b/2024/images/speakers/thumbnail/bruce-waggoner.png similarity index 100% rename from images/speakers/thumbnail/bruce-waggoner.png rename to 2024/images/speakers/thumbnail/bruce-waggoner.png diff --git a/images/speakers/thumbnail/daniel-temkin.png b/2024/images/speakers/thumbnail/daniel-temkin.png similarity index 100% rename from images/speakers/thumbnail/daniel-temkin.png rename to 2024/images/speakers/thumbnail/daniel-temkin.png diff --git a/images/speakers/thumbnail/dawn-walker.png b/2024/images/speakers/thumbnail/dawn-walker.png similarity index 100% rename from images/speakers/thumbnail/dawn-walker.png rename to 2024/images/speakers/thumbnail/dawn-walker.png diff --git a/images/speakers/thumbnail/devon-tao.png b/2024/images/speakers/thumbnail/devon-tao.png similarity index 100% rename from images/speakers/thumbnail/devon-tao.png rename to 2024/images/speakers/thumbnail/devon-tao.png diff --git a/images/speakers/thumbnail/ivan-zhao.png b/2024/images/speakers/thumbnail/ivan-zhao.png similarity index 100% rename from images/speakers/thumbnail/ivan-zhao.png rename to 2024/images/speakers/thumbnail/ivan-zhao.png diff --git a/images/speakers/thumbnail/jes-wolfe.png b/2024/images/speakers/thumbnail/jes-wolfe.png similarity index 100% rename from images/speakers/thumbnail/jes-wolfe.png rename to 2024/images/speakers/thumbnail/jes-wolfe.png diff --git a/images/speakers/thumbnail/jesse-chen.png b/2024/images/speakers/thumbnail/jesse-chen.png similarity index 100% rename from images/speakers/thumbnail/jesse-chen.png rename to 2024/images/speakers/thumbnail/jesse-chen.png diff --git a/images/speakers/thumbnail/juan-pablo-sarmiento.png b/2024/images/speakers/thumbnail/juan-pablo-sarmiento.png similarity index 100% rename from images/speakers/thumbnail/juan-pablo-sarmiento.png rename to 2024/images/speakers/thumbnail/juan-pablo-sarmiento.png diff --git a/images/speakers/thumbnail/julian-squires.png b/2024/images/speakers/thumbnail/julian-squires.png similarity index 100% rename from images/speakers/thumbnail/julian-squires.png rename to 2024/images/speakers/thumbnail/julian-squires.png diff --git a/images/speakers/thumbnail/liz-frost.png b/2024/images/speakers/thumbnail/liz-frost.png similarity index 100% rename from images/speakers/thumbnail/liz-frost.png rename to 2024/images/speakers/thumbnail/liz-frost.png diff --git a/images/speakers/thumbnail/maryanne-wachter.png b/2024/images/speakers/thumbnail/maryanne-wachter.png similarity index 100% rename from images/speakers/thumbnail/maryanne-wachter.png rename to 2024/images/speakers/thumbnail/maryanne-wachter.png diff --git a/images/speakers/thumbnail/matias-lang.png b/2024/images/speakers/thumbnail/matias-lang.png similarity index 100% rename from images/speakers/thumbnail/matias-lang.png rename to 2024/images/speakers/thumbnail/matias-lang.png diff --git a/images/speakers/thumbnail/max-kreminski.png b/2024/images/speakers/thumbnail/max-kreminski.png similarity index 100% rename from images/speakers/thumbnail/max-kreminski.png rename to 2024/images/speakers/thumbnail/max-kreminski.png diff --git a/images/speakers/thumbnail/nicole-tietz-sokolskaya.png b/2024/images/speakers/thumbnail/nicole-tietz-sokolskaya.png similarity index 100% rename from images/speakers/thumbnail/nicole-tietz-sokolskaya.png rename to 2024/images/speakers/thumbnail/nicole-tietz-sokolskaya.png diff --git a/images/speakers/thumbnail/nolen-royalty.png b/2024/images/speakers/thumbnail/nolen-royalty.png similarity index 100% rename from images/speakers/thumbnail/nolen-royalty.png rename to 2024/images/speakers/thumbnail/nolen-royalty.png diff --git a/images/speakers/thumbnail/omar-rizwan.png b/2024/images/speakers/thumbnail/omar-rizwan.png similarity index 100% rename from images/speakers/thumbnail/omar-rizwan.png rename to 2024/images/speakers/thumbnail/omar-rizwan.png diff --git a/images/speakers/thumbnail/phil-warren.png b/2024/images/speakers/thumbnail/phil-warren.png similarity index 100% rename from images/speakers/thumbnail/phil-warren.png rename to 2024/images/speakers/thumbnail/phil-warren.png diff --git a/images/speakers/thumbnail/rebecca-ravenoak.png b/2024/images/speakers/thumbnail/rebecca-ravenoak.png similarity index 100% rename from images/speakers/thumbnail/rebecca-ravenoak.png rename to 2024/images/speakers/thumbnail/rebecca-ravenoak.png diff --git a/images/speakers/thumbnail/richard-lewei-huang-yufeng-zhao.png b/2024/images/speakers/thumbnail/richard-lewei-huang-yufeng-zhao.png similarity index 100% rename from images/speakers/thumbnail/richard-lewei-huang-yufeng-zhao.png rename to 2024/images/speakers/thumbnail/richard-lewei-huang-yufeng-zhao.png diff --git a/images/speakers/thumbnail/ryan-mast.png b/2024/images/speakers/thumbnail/ryan-mast.png similarity index 100% rename from images/speakers/thumbnail/ryan-mast.png rename to 2024/images/speakers/thumbnail/ryan-mast.png diff --git a/images/speakers/thumbnail/santiago-gepigon.png b/2024/images/speakers/thumbnail/santiago-gepigon.png similarity index 100% rename from images/speakers/thumbnail/santiago-gepigon.png rename to 2024/images/speakers/thumbnail/santiago-gepigon.png diff --git a/images/speakers/thumbnail/taylor-troesh.png b/2024/images/speakers/thumbnail/taylor-troesh.png similarity index 100% rename from images/speakers/thumbnail/taylor-troesh.png rename to 2024/images/speakers/thumbnail/taylor-troesh.png diff --git a/images/speakers/thumbnail/vaibhav-sagar.png b/2024/images/speakers/thumbnail/vaibhav-sagar.png similarity index 100% rename from images/speakers/thumbnail/vaibhav-sagar.png rename to 2024/images/speakers/thumbnail/vaibhav-sagar.png diff --git a/images/speakers/thumbnail/yufeng-zhao.png b/2024/images/speakers/thumbnail/yufeng-zhao.png similarity index 100% rename from images/speakers/thumbnail/yufeng-zhao.png rename to 2024/images/speakers/thumbnail/yufeng-zhao.png diff --git a/2024/images/speakers/vaibhav-sagar.png b/2024/images/speakers/vaibhav-sagar.png new file mode 100644 index 0000000..8b9fdae Binary files /dev/null and b/2024/images/speakers/vaibhav-sagar.png differ diff --git a/2024/images/speakers/yufeng-zhao.png b/2024/images/speakers/yufeng-zhao.png new file mode 100644 index 0000000..7d6a133 Binary files /dev/null and b/2024/images/speakers/yufeng-zhao.png differ diff --git a/images/sponsors/accelerated-tech.png b/2024/images/sponsors/accelerated-tech.png similarity index 100% rename from images/sponsors/accelerated-tech.png rename to 2024/images/sponsors/accelerated-tech.png diff --git a/images/sponsors/baskin-engineering.png b/2024/images/sponsors/baskin-engineering.png similarity index 100% rename from images/sponsors/baskin-engineering.png rename to 2024/images/sponsors/baskin-engineering.png diff --git a/images/sponsors/buttondown-color.svg b/2024/images/sponsors/buttondown-color.svg similarity index 100% rename from images/sponsors/buttondown-color.svg rename to 2024/images/sponsors/buttondown-color.svg diff --git a/images/sponsors/magic-button-club.svg b/2024/images/sponsors/magic-button-club.svg similarity index 100% rename from images/sponsors/magic-button-club.svg rename to 2024/images/sponsors/magic-button-club.svg diff --git a/images/sponsors/meyer-for-hire-consulting.png b/2024/images/sponsors/meyer-for-hire-consulting.png similarity index 100% rename from images/sponsors/meyer-for-hire-consulting.png rename to 2024/images/sponsors/meyer-for-hire-consulting.png diff --git a/images/sponsors/stanton-ventures.png b/2024/images/sponsors/stanton-ventures.png similarity index 100% rename from images/sponsors/stanton-ventures.png rename to 2024/images/sponsors/stanton-ventures.png diff --git a/2024/images/submit-a-talk-today.png b/2024/images/submit-a-talk-today.png new file mode 100644 index 0000000..2fddb96 Binary files /dev/null and b/2024/images/submit-a-talk-today.png differ diff --git a/2024/index.md b/2024/index.md new file mode 100644 index 0000000..b14fae2 --- /dev/null +++ b/2024/index.md @@ -0,0 +1,221 @@ +--- +layout: default-2024 +title: The joy, excitement, and surprise of computing - !!Con 2024 +--- + + + +

+ **Quick Links:** + [Livestream](livestream.html) + · + [Venue](venue.html) + · + [Program](program.html) + · + [Speakers](speakers.html) + · + [Sponsorship](sponsors.html) + · + [Conduct](conduct.html) +

+ +

**In-person tickets are sold out, but online-only tickets are still available for the last-ever !!Con! Get yours [here](https://bangbangcon2024.ticketspice.com/tickets)!**

+ +

**!!Con** (pronounced "bang bang con") **2024** is our _final_ event featuring **two days of talks** to celebrate the +joyous, exciting, and surprising moments in computing. +

+ +
+
Bruce Waggoner
+
Dawn Walker
+
Adam Solove
+
Aldís Elfarsdóttir
+
Alicia Guo
+
Amédée d'Aboville
+
blinry
+
Daniel Temkin
+
Devon Tao
+
Ivan Zhao
+
Jes Wolfe
+
Jesse Chen
+
Juan Pablo Sarmiento
+
Julian Squires
+
Liz Frost
+
Maryanne Wachter
+
Matías Lang
+
Max Kreminski
+
Nicole Tietz-Sokolskaya
+
Nolen Royalty
+
Omar Rizwan
+
Phil Warren
+
Rebecca Ravenoak
+
Richard Lewei Huang and Yufeng Zhao
+
Ryan Mast
+
Santiago Gepigon III
+
Taylor Troesh
+
Vaibhav Sagar
+
Yufeng Zhao
+
+ +## Save the Dates! + +!!Con 2024 will be held on the weekend of August 24-25, [in the courtyard of the Baskin School of Engineering at UC Santa Cruz](venue.html), in Santa Cruz, California, United States! + +It will also be livestreamed! + +Check out our [program](program.html)! + +## How do I get updates? + +For updates on !!Con, follow +[@bangbangcon@mastodon.social](https://mastodon.social/@bangbangcon), or sign up +for our mailing list below. We send about four or five emails per year for important announcements about our venue, +submission deadlines, registration, and that sort of thing. No spam, we promise, and it's easy to unsubscribe at any +time. + + +
+
+
+ + + +
+
+ + +
+ +
+ +
+
+
+ + + +## What's so great about !!Con? + +Here's what some of our past speakers and attendees said about us: + +> "Going to !!Con **rekindled my love of computing and changed my entire career trajectory**. Most fun I've ever had at a tech event!" +> -- [Geoffrey Litt](https://www.geoffreylitt.com/) +> +> "[@bangbangcon managed to pack **more useful info into one day than most other conferences do in 3**. And it was **10x more fun.**"](https://twitter.com/johnwittrock/status/861206986448404481) +> -- John Wittrock +> +> ["It's refreshing to **learn 30+ new things about programming in a single weekend** at @bangbangcon, even though I've been programming for so long"](https://twitter.com/pixelyunicorn/status/861690031370645504) +> -- [Melody Starling](https://melody.dev/) +> +> ["@bangbangcon was awesome! Learned a lot, met very friendly people, and **left inspired**."](https://twitter.com/bxmani/status/861400448107937792) +> -- [Bomani McClendon](https://bomani.rip/) + + + +## How do I attend? + +You can attend !!Con 2024 either [in-person](https://bangbangcon.com/venue.html) or online! + +To join us in person, you'll need to have a ticket -- [go get one](https://bangbangcon2024.ticketspice.com/tickets)! As always for !!Con, tickets are pay-what-you-want. This year, we've set a suggested ticket price of $256 -- it turns out that running an [outdoor conference](https://bangbangcon.com/venue.html) gets really expensive really quickly. If you can, please consider paying $256 for your ticket (or, if you can afford it, more, so that folks who haven't got the means can come and we can still run the event!). But *we want you at the conference regardless*, so if you can't afford $256, please register anyway and pay what you can afford! + +We're also offering [online-only tickets](https://bangbangcon2024.ticketspice.com/tickets), with a suggested donation of $8. Buying an online-only ticket will get you access to our 2024 Discord server. Discord was a popular feature of the online-only !!Cons in [2022](/2022/), [2021](/2021/), and [2020](/2020). (In-person attendees will get access to the Discord too.) + +And, as always, our live stream will be public and free for everyone, no ticket required. Watch this space for details about the live stream! + + + +## Who's sponsoring? + + + +Special thanks to [John Feminella](http://jxf.me/) for underwriting !!Con 2024! ❤️ + +Want to sponsor !!Con as an organization or individual? We're trying to set the standard for a COVID-safe and inclusive conference. If you can help out, check out our [sponsorship page](sponsors.html) and [get in touch](mailto:2024-organizers@exclamation.foundation)! + + + +## Who's organizing all this? + +The !!Con 2024 organizing team: +[Sarah Withee](https://geekygirlsarah.com/links), +[Erty Seidohl](https://erty.me), +[Lindsey Kuper](http://decomposition.al/), +and [Joshua Wise](https://joshuawise.com/). + +Special thanks to [Lee Pepper](https://sheerspite.ca/), who has been invaluable in providing administrative help! + +If you'd like, you can [send us some mail](mailto:2024-organizers@exclamation.foundation)! + +Organizers emeriti: [Julia Evans](https://jvns.ca), +[Em Lazer-Walker](https://twitter.com/lazerwalker), +[Maggie Zhou](https://twitter.com/zmagg), +[Alicja Raszkowska](https://twitter.com/mamrotynka), +[Leo Franchi](https://www.instagram.com/lfranchi), +[Nabil Hassein](https://nabilhassein.github.io), +[Alex Clemmer](https://twitter.com/hausdorff_space), +[Emily Xie](https://twitter.com/emilyxxie), +[Danielle Sucher](https://www.daniellesucher.com/), +[Kiran Bhattaram](https://twitter.com/kiranb), +[Ahmed Abdalla](https://twitter.com/simplyahmaz1ng), +[Dev Purandare](https://sincerely.dev), and +Jeena Lee. + +Logo design by +[Lea Albaugh](http://lea.zone/). + + +!!Con 2024 is a project of the [Exclamation Foundation](https://exclamation.foundation). + +## Code of Conduct + +We have a [code of conduct](conduct.html) that all !!Con participants are required to observe. diff --git a/livestream.md b/2024/livestream.md similarity index 100% rename from livestream.md rename to 2024/livestream.md diff --git a/program.md b/2024/program.md similarity index 100% rename from program.md rename to 2024/program.md diff --git a/2024/speakers.md b/2024/speakers.md new file mode 100644 index 0000000..4439f05 --- /dev/null +++ b/2024/speakers.md @@ -0,0 +1,432 @@ +--- +layout: default-2024 +title: Speakers - !!Con 2024 +--- + +

+ **Quick Links:** + [Livestream](livestream.html) + · + [Venue](venue.html) + · + [Give a Talk](give-a-talk.html) + · + [Program](program.html) + · + [Speakers](speakers.html) + · + [Sponsorship](sponsors.html) + · + [Conduct](conduct.html) +

+ +# Speakers + + + +## Keynote Talks + + +Bruce Waggoner + +### Bruce Waggoner + +**Saving Voyager 1!** + +Both of the 47 year old Voyager spacecraft are currently in interstellar space and returning their most important data set; in-situ measurements of the magnetic field, plasma and dust beyond the Heliopause. In late 2023, Voyager 1 lost all downlink telemetry and the flight team had essentially no visibility into the state of the spacecraft which is over 15 billion miles from the Earth. This talk will detail how the flight team diagnosed the problem, and formulated a recovery plan to patch the Flight Data System flight software. + +**Bruce Waggoner** is the Mission Assurance Manager at NASA Jet Propulsion Lab/Caltech. He graduated from the University of Nebraska with a BS in Physics and Astronomy. He has worked at JPL for 39 years supporting dozens of Earth orbiting and deep space missions. He also volunteers as a gymnastics coach and assists teaching girls engineering and science at a local high school. + +--- + + +Dawn Walker + +### Dawn Walker + +**Let’s make local and accountable tech!** + +Over the past decade I have tried lots of things to build and own computing and networks with others! I have written collective speculative fiction about a future web, made a kit to talk to your neighbours to share your internet, stewarded distributed public data, and more. Some of those projects have succeeded and some have failed. My trick is to act like the future of computing that I want already exists in the world and I get to hang out there. I will talk about why that future should be more local, how I bring it into the present, and ways to build tech together! + +**Dawn Walker** is a researcher and designer interested in how computing intersects with just transitions. She has started a tech worker co-op, participated in community-led archiving of environmental and climate data, and schemed about mesh networking (to name a few things) in her attempts to create alternatives to existing ways of building and stewarding technology. Since 2017 she has co-organized Our Networks, a conference about the past, present, and future of building our own network infrastructures hosted in Toronto and Vancouver. + +--- + +## Lightning Talks + + + +### Adam Solove + + +Adam Solove + +**Recreating Sketchpad, the first GUI!** + +Sketchpad was the first computer program with a graphical user interface, allowing a human and a computer to build a drawing together using a monitor and pointer. It was also a surprisingly deep program, allowing the user to create reusable templates, copy/paste, and specify constraints for the computer to enforce. Even though it’s a hugely influential program, for several decades, it’s only been visible in grainy old videos. So I made a recreation of Sketchpad that runs in the browser and anyone can play with. Along the way, I learned a lot about reading old papers, how IO worked on early computers, and the history of Sketchpad’s influence on later programming environments and UIs. Come learn about Sketchpad, see it in action live, and learn how it can help us make better UIs today. + +**Adam** has been building UIs for twenty-five years. He likes explaining things with pictures. + +--- + +### Aldís Elfarsdóttir + +**Huggable Data! Making the Ephemeral Last Longer with Textile Dataviz!** + + +Aldís Elfarsdóttir + +Computers and data are closely intertwined: we use computers to capture and create and analyze data, and often to generate visualizations of that data. The things we enjoy -- and hate -- doing on computers are backed by data files. It's difficult to imagine computers without data, and data without the context of the modern computer. Yet, humans have been keeping track of data (or at least, information that could be transformed into data) for millennia prior to the invention of the computer. As fragile as these historical materials can be, they are in most cases easier to preserve than our computer-generated data. Maintaining digital data takes a great deal of time, attention, care, and resources -- and most of us aren't doing it for the data we care about. For some kinds of textual data (e.g. favorite pieces of fanfic, important emails) printing it out is a reasonable approach, but printing out large tabular data sets can maintain the fidelity of individual values, but this is unwieldy to the point of unusability. It renders inaccessible, in many cases, what makes a data set interesting. Enter textile data visualization: transforming data into a medium with a longer probable lifespan than bits. Moreover, a textile can be hung on a wall, it can be worn (to pieces), it can be cuddled with, it can be passed down across generations. Building on the earlier !!Con talk on machine knitting, this talk will draw together examples of textile data visualization -- with different kinds of data (biology, sci-fi novels, insomnia, dating app chat logs), and different textile media (digital knitting machines, weaving, embroidery, and sewing). Some visually reproduce the kinds of visualizations that computers create; others translate the data into the affordances (e.g. stitch / stitch length, warp and weft) of the textile medium. This talk will celebrate the intersection of computing, data, and textile craft, and argue that the data dearest to us deserves to live as more than bits. + +**Aldís Elfarsdóttir** (she/her) is a PhD student in Management Science and Engineering at Stanford. She studies how to manage the clean energy transition among global firms, and the challenges with self-reported data, carbon accounting, and ESG ratings. She recently had the pleasure of taking Quinn Dombrowski’s class on Data Visualization with Textiles and made a PhD dress to visualize her three data sources in dress form. + +--- + +### Alicia Guo + + +Alicia Guo + +**This is the poem that doesn’t end!! or, the poetics of RNG!** + +What does it mean for a poem to go on … forever? How does it never run out of possibilities? We’ll be exploring writing through context-free grammars and other random processes asking ourselves, what is randomness anyway? We’ll look at pre-computing forms of random generation to pseudo and true random generation to bananas, expanding our understanding of randomness as a function to something more poetic. + +**Alicia Guo** is a computational artist and poet based in Seattle, currently pursuing a PhD working on creativity support tools. Her work plays with blending the physical and digital into love letters on the internet, transforming text into interactive experiences. Her computational poems have appeared in Taper, The HTML Review, and Crawlspace. + +--- + +### Amédée d'Aboville + + +Amédée d'Aboville + +**Let's run a tiny chess neural network by hand!** + +A few years ago someone tried to learn chess _in a month_ and then play world champion Magnus Carlsen. He had the wild idea of hand running a neural network on a piece of paper during the game! This probably isn't physically possible (...he didn't win), but what's the closest we could get? This made me curious: what's the smallest neural network you could make that could be helpful for a human? What if you only had pen and paper (and maybe a lot of time), or if you had a calculator? We’ll go over the smallest possible neural nets for chess. In the era of mega NNs these will be refreshingly tiny! + +**Amédée** is a full stack software engineer from Montréal (now moving to Amsterdam!). They like growing culinary mushrooms, playing chess, and techno music. + +--- + +### blinry + + +blinry + +**Exploring the Invisible: Adventures in the Electromagnetic Spectrum!!** + +There's an invisible world around us: The electromagnetic spectrum! It's how radio, TV and Wi-Fi work. And plenty of other things, too – I wanted to learn more about it! So, in a free week in March, inspired by Vi Hart's "Make 50 of something" technique, I decided to try to find 50 things to do with a modern Software Defined Radio – a "universal" radio receiver in the form of a $30 USB dongle. Let me to take you on three adventures that happened to me that week! + +**blinry** grew up in libraries, which convinced them that it's possible to learn and understand basically everything! Their other childhood influences include a scientific German TV show with an orange cartoon mouse. Nowadays, they spend most of their time creating collaborative and educational open-source tools, or taking trains to random places. They are part of the Chaos Community, the Recurse Center, and Jugend Hackt. + +--- + +### Daniel Temkin + + +Daniel Temkin + +**Lord Zeus, defender of travelers and of those far from home, please create a function called printBeerInsideLoop with parameter n!** + +In the ELIZA effect, we temporarily read a natural language system as sentient. Usually this sentient being is subservient to us and we are in control. The Olympus programming language flips this power dynamic. Our code succeeds through the will of the gods! + +**Daniel** makes esolangs -- programming languages as experiments or self-expression -- including FatFinger, Folders, and Entropy. His blog on the subject, esoteric.codes, won the 2014 ArtsWriters.org grant from Creative Capital and was exhibited at ZKM. He has spoken on esolangs at the New Museum, SIGGRAPH, SXSW, and Media Art Histories and written for Hyperallergic and Outland. He published an aesthetic theory of the medium for Digital Humanities Quarterly in 2023. + +--- + +### Devon Tao + + +Devon Tao + +**It's alive.... IT'S ALIVE!!! Braitenberg Vehicles! (Have you ever seen an AI like this??!!)** + +AI has been getting more and more complex. Surrounded by chess robots, self-driving cars, and now Large Language Models, we begin to ask ourselves: what does it take for a machine to behave like a human? Does it take millions of parameters? Mountains of training data? + +None of the above! Introducing... Braitenberg Vehicles! These are simple, human-like robots that are made only of a couple of sensors and motors. In this talk, I will convince you that these simple components are enough to show human-like behavior, and we will get to see some Braitenberg Vehicles in action using a Braitenberg Vehicles Simulator I made! + +**Devon** is a student at Harvey Mudd College studying computer science and mathematics. Outside of computer science, they also like to write musical theater and make educational videos on their YouTube channel, [CS Professor of Fun](https://www.youtube.com/@CSProfessorofFun)! + +--- + +### Ivan Zhao + + +Ivan Zhao + +**Making Chinese Typefaces! with Components!!??!!** + +Are you stuck finding a great chinese typeface for you to use? Scared to find something that might get twitter in a fight over? This talk will teach you the basics of Chinese type systems, how to use them, and why computing and component based architecture can dramatically reduce the amount of time it takes for you to make an 8,000 character font. + +**Ivan Zhao** (he/him) is a poet, game & type designer, and web artist interested in nonlinear narratives, forms, and mechanics that reckon with digital, diasporic, and queer identity. His work interrogates individual and viewer agency. + +--- + +### Jes Wolfe + + +Jes Wolfe + +**The Astrolabe! Using modern digital computing to recreate ancient analog computers** + +For fifteen hundred years, the astrolabe was the most widely-used computing device on earth, sometimes called “the original smartphone”. They were traditionally made by hand, but I had to find out: how hard would it be to design and make one using only digital design and computer-controlled fabrication methods? + +**Jes Wolfe** is a software developer and payments engineer in Portland Oregon, whose code has almost certainly handled some of your money at some point. They spend their free time misusing technology, doing space math for astrologers, and helping their six-year-old invent new integer sequences. + +--- + +### Jesse Chen + + +Jesse Chen + +**A brief history of keyboards!** + +I love looking at early designs for inventions before a standard design emerged. You can find wild, surprising ideas in the initial explorations of a concept, like with early typewriters! While browsing those out-there designs, I was gobsmacked to find a perfectly recognizable QWERTY keyboard, and had to know more. Why? How?? Let’s walk through what I learned, and how that design survived the intervening 150 years despite inventions like electricity, computers, and Dvorak! + +**Jesse** loves learning about the world and its surprising amount of detail, how it all somehow manages to work, and how it used to work. I mean, just imagine NYC humming along in 1924 with 6 million people, 600,000 telephones that could all interconnect, and 0 electronic computers. + +--- + +### Juan Pablo Sarmiento + + +Juan Pablo Sarmiento + +**Calculating the Ideal "Sex and the City" Polycule!** + +Sex and the City, the iconic early 2000s show, depicted social life, sex, and relationships through a lens rarely seen at that time that shook society to its core. But this cultural phenomenon had one fatal flaw: it was based on the assumption that each protagonist could only end up with *one* person. I couldn't help but wonder... what if each person could be in an ethically and consenting relationship with more than one person at a time? What would the ideal polycule be? How do we even calculate that? What would the math look like? These are the questions society needs to be asking! These are the real problems VCs should be investing in! Dare I say, if we put a man on the moon we can settle once and for all who Carrie *actually* should have ended up with. It's time to disrupt polyamory. + +**Pablo** is a full stack engineer, specializing in building software for humanitarian emergencies. In his spare time he enjoys contemplating hypothetical endings to TV shows and working out the answers to questions that should have never been asked. + +--- + +### Julian Squires + + +Julian Squires + +**Backtraces in the Mirror: Stealing the Secrets of Elves and Dwarves to Perform Mad Science!!** + +While writing an unobtrusive memory profiler, I discovered I needed to reconstruct a running program's stack the wrong way around! I thought this was impossible, and it turns out I was wrong! So join me to learn about how stack unwinding works (and when it doesn't!), how to use ELF and DWARF information all wrong(!), working with uncertain information (and why!), and the value of doing things that "can't possibly work"!! + +**Julian Squires** is a lifelong programmer and eccentric layabout. He previously spoke at !!Con 2017 about "the Emoji that Killed Chrome" (!!). + +--- + +### Liz Frost + + +Liz Frost + +**Keyboarding Ain’t Easy?? What Not To Do When Building a Keyboard!!** + +I set out to build myself a custom keyboard from the ground up. So far, I have failed. But I’ve failed in some very interesting and informative ways, and I want to share them with you! Join me for a discussion of embedded programming, how hard soldering is, and my own naïveté on entering the world of hardware. + +**Liz Frost** is a computer toucher, cable organiser, and colourful equine. She lives in Vancouver, BC and works for the company that wakes you up in the middle of the night. Find her online at cohost.org/stillinbeta and ask to see pictures of her pets. + +--- + +### Maryanne Wachter + + +Maryanne Wachter + +**Riveting Insights! Bridge.watch and the State of America's Infrastructure** + +There are over 600,000 bridges in the U.S. with millions of daily crossings. While the (fortunately rare) bridge collapse will make national news, what other publicly available information is there that we can dig into the state of U.S. infrastructure? This talk will go over the development of an open source application, Bridge.Watch, for processing, cleaning, and visualizing bridge infrastructure data from the FHWA and what insights can be gained through simple queries and generating different visuals on the fly. + +**Maryanne Wachter** is a software developer and professional engineer. As a structural engineer, she's worked on landmark transit projects, long-span bridges, and various educational/cultural centers in the U.S. and Europe. She currently works as a senior software engineer at Ready.net specializing in geospatial data visualization. + + +--- + +### Matías Lang + + +Matías Lang + +**It wasn’t me, it was the cosmic rays! Blaming physics for our evil actions!** + +As we know from Murphy, everything that can go wrong will go wrong. Sometimes, a single particle close to your computer's memory will turn a 0 into 1 or vice-versa. There exist lots of examples of real-life bugs caused by this effect. Since bit-flips do occur in our devices, this means nobody can blame us if suddenly a single bit from an executable file changes! It could've been a random cosmic ray that caused the damage! In this talk, we can see how this plausible deniability comes handy to attackers: they might create sophisticated supply-chain attacks or gain persistent access to systems, just with a single bit-flip that can be explained by a physical phenomenon! + +**Matías** is an Argentinian security researcher and developer. He believes someday engineers will have the right tools and knowledge to build truly secure software. Since that hasn't occurred yet, he refuses to use many applications until their security holes get fixed. + +--- + +### Max Kreminski + + +Max Kreminski + +**Mutating Text Toward Better Nonsense?!** + +Recently, we’ve made a lot of progress in getting computational processes to generate text that makes sense. But creative processes (like storytelling and poetry-writing) often benefit more from injections of *good nonsense*. In this talk, I first briefly characterize what makes nonsense “good”, then discuss a series of three projects that take different computational approaches to the generation of high-quality nonsense: Blabrecs, a game that uses a statistical classifier to condition the generation of nonsense words by human players; Blabwreckage, a poetry machine that adapts the Blabrecs classifier to progressively mutate arbitrary source texts (either human-supplied or derived from random noise) into pronounceable nonsense poems; and Savelost, a poetry machine that aims to progressively compress a source text into a shorter and shorter micropoem while retaining as much of the original text’s meaning as possible. I conclude with a brief discussion of the architectural similarities and differences between these projects, and of what the similarities might imply about the relationship between computation, creativity, and nonsense. + +**Max Kreminski** is a researcher in artificial intelligence, human-computer interaction, and creativity, with a particular focus on the design, development, and evaluation of AI-based creativity support tools for storytelling, poetry, and game design. Currently they direct the storytelling lab at Midjourney; before that they were an assistant professor of computer science at Santa Clara University. + +--- + +### Nicole Tietz-Sokolskaya + + +Nicole Tietz-Sokolskaya + +**Programming with only exceptions!** + +We're used to programming with a lot of control flow constructs, but some languages (👀 Python...) use exceptions for control flow. What if that was *all* we had? Nicole made the poor decision to find out, and created Hurl! She will discuss what programming looks like when we eschew normal control flow, how to implement normal-feeling control flow, and some of the limitations of the existing Hurl implementation. + +**Nicole** is a Principal Software Engineer at Remesh, where she focuses on software architecture, performance, scalability, and security. Outside of work, she plays with her kids, spends too much time on computers, hangs out at the Recurse Center, and drinks tons of decaf coffee. + +--- + +### Nolen Royalty + + +Nolen Royalty + +**88 Files a Second - Running Flappy Bird inside MacOS Finder!** + +MacOS's Finder is designed for browsing files - but it's powerful enough to run Flappy Bird. Kind of. In this talk I'll cover how to get Flappy Bird running at 4 frames (and 88 files) a second in Finder - complete with a full game loop, high score tracking, and marquee banner ads. I'll start with a barely sub-1-frame-a-second prototype and walk you through the hacks I needed to productionize the game, such as: + +* Simulating a "button" inside the filesystem via a Finder-specific "last opened" timestamp +* Symlinking 44 files to their parent directories +* Stuffing emojis into filenames +* Implementing double buffering inside a Finder window via bizarre AppleScript incantations + +You'll hopefully leave with a newfound appreciation for the power of Finder and AppleScript and a better understanding of why double buffering is important for a smooth gaming experience. + +**Nolen Royalty** loves embedding games in surprising places and building experiences that connect strangers over the internet - you can find his work at . + +--- + +### Omar Rizwan + +**How to design your own microchip!!!** + + +Omar Rizwan + +Have you ever looked at your phone or laptop and wondered how it's made? The answer is that almost all of the 'technology' in it -- CPU, GPU, screen, camera, power electronics, motion sensor, radio -- is microchips that are either drawn in CAD software or coded up (in a language like Verilog), then manufactured in chip fabs. A few years ago, I took a class where I designed my own chip and got it fabricated (the resulting chips are sitting on my desk here). I'll talk about that process, how you write code to produce a chip, and how that chip actually looks up close, including how it physically looks in my hand, the 2D planar view, and a 3D view that we can fly around! + +**Omar** works on new ways to program and interact with computers. He made TabFS, a browser extension that turns your browser tabs into virtual files; Screenotate, an augmented screenshot app; and he's worked on physical computing systems at Dynamicland and Folk Computer. + +--- + +### Phil Warren + +**Images from a 1970s Typewriter!!!** + + +Phil Warren + +Let's explore the invention-in-progress of an amazing "printing machine", which re-imagines the use of a vintage typewriter, using 3d-printed custom glyphs, to type full-color(ish) images using only red and green ink- this process uses a stop-gap hack Technicolor came up with in 1927 to trick us into thinking we're using full color, as well as a hack the KGB used in the American embassy around 1981 to turn a typewriter into a rudimentary teletype machine. Now we can feed it a cypher, and a well-rendered image will spit out! The steps to get here were weirder than one would imagine- with some robotics, some elder runes, and some film history appreciation along the way! + +**Phil Warren** works in R&D in image technology, and enjoys adventures, eating things, and meeting people. Once, as a child, he swallowed a bunch of nickels, which gave him the memories and powers of those nickels. Unfortunately the nickels knew very little of the natural world, so it afforded little benefit. They weren't dimes. + +--- + +### Rebecca Ravenoak + +**Algorithmically Generated Flower Beds!! (inspired by Ancient & Modern Polychrome Textiles)** + + +Rebecca Ravenoak + +Polychrome textiles are created by overlapping and interlacing two or more colors of thread in a way that creates areas of solid and blended colors. This talk is about using that same technique (digitally) to create flowerbed textures based on a fabric structure called Crackle or Jämtlandsdräll, but this is not a technical weaving talk. It’s about creating colorful patterns that can be used in pixel art based on algorithmically generated tiles and patterns.. + +**Rebecca** is a computer programmer and artist who works with digital and physical textiles. They weave, code, bake, and garden just south of Oakland in a wacky old house full of cats and as many weird little succulents as they can grow. + +--- + +### Richard Lewei Huang and Yufeng Zhao + +**How to stop worrying and collect early web banner ads! (and make art along the way!)** + + +Richard Lewei Huang and Yufeng Zhao + +Banner ads were an important early form of advertising on the web. In 2023, we built Banner Depot 2000, an interactive archive of 22,915 Chinese- and English-language banner ads from the late 1990s and early 2000s. We believe it is the largest publicly-accessible archive of early web banner ads on the Internet! We collected the ads by scraping the Wayback Machine using a dataset of historical URLs compiled from print "Internet directory" books from that era. On Banner Depot 2000, visitors can browse, search, and view metadata about each banner ad in the archive. Additionally, they can compose "banner ad poetry" using individual frames from the banner ads in our collection. The archive provides invaluable insights into the visual and commercial culture of the early web, as well as the evolution of online advertising. In the presentation, we will talk about how the project came about, how we built the archive, how the archive can support different kinds of research, and our future plans with the archive. + +**Richard Lewei Huang** is a PhD student and critical technologist at the University of Washington studying web archiving and internet history. **Yufeng Zhao** is an artist, technologist and designer whose work addresses data, imagery/language processing, and experience design. Both Yufeng and Richard are alumni of the Interactive Media Arts program at NYU Shanghai. They formed Switcheristic Telecommunications, an artist collective focusing on assembling and presenting atypical data. + +--- + +### Ryan Mast + +**The Perfect Blend!! Reverse engineering a bluetooth protocol for better smoothies!** + + +Ryan Mast + +Have you ever gone to make a smoothie, only to have the blades spin fruitlessly while the fruit sticks just out of reach on the walls of the cup? I’ve wrestled with a “smart” blender over this and other issues on many occasions, often resorting to tossing the single serving cup to dislodge stubborn pieces of fruit. In this talk, I’ll share how I learned to reverse engineer BLE devices in order to control the exact settings used by the blender, including initial failures and how I overcame them. And in the end, we’ll create a custom blending profile for the perfect blend! + +**Ryan** is a software engineer working on open source projects to make the electric grid more reliable. His interests include software security, niche video games, and reverse engineering audio/video hardware used in live productions. + +--- + +### Santiago Gepigon III + +**It's skeuomorphin' time!! The enduring physicality of braille!** + + +Santiago Gepigon III + +I'm bothered by how "flat" computing has become for me: staring at a flat screen, typing on a flat keyboard, tapping on a flat "touch" screen—where's the physicality? Is a clicky keyboard peripheral my only saving grace? In this talk, I'll explore how braille—a tactile writing system originally designed for the visually impaired—has enriched my relationship with computing. In three stories, across three centuries, I'll show you how apparently vestigial features have been, time and time again, leveraged to give braille new life. + +**Santiago Gepigon III** claims he cares about backwards compatibility and yet he's nothing like Santiago Gepigon Sr. or Jr. Some breaking changes include: a love for k-pop, an affinity for Lisp structure editing, and a fascination with domain-specific keyboard shortcuts. + +--- + +### Taylor Troesh + +**bang! bang! he murdered math! {the musical!}** + + +Taylor Troesh + +In 1931, a lone man murdered math with two shots from a recursive revolver. The two incompleteness theorems punctured permanent holes in our once-pristine mathematical paradise. To this day, landmines lie lurking in the logical landscape. Who will protect our precious computers from inconsistency itself? A $1,000,000 bounty awaits the hero who thwarts the ghost of gunslingin' Gödel! Join us by the computational campfire for a bluegrass ballad! + +**Taylor** is mayor of [taylor.town](https://taylor.town) and certified connoisseur of crap. He tinkers with writing, learning, time, design, software, ideas, and humor. + +--- + +### Vaibhav Sagar + + +Vaibhav Sagar + +**SATisfying Answers to Difficult Questions!** + +SAT solvers have been used to find solutions to a wide variety of problems in domains such as code generation, formal verification, and scheduling. But what even are they, and how do they work?? In this talk I'll provide a brief overview of what a SAT solver is and some different approaches they use to solve problems! I hope to demystify these very useful tools and give you some insight into why and when you might want to use them. + +**Vaibhav** used to write web applications for a living. He still does, but he used to, too. When he's not doing that you can find him at the gym making sure the weight trees have equal numbers of plates on them or engaging in some ill-advised revenge bedtime procrastination. + +--- + +### Yufeng Zhao + + +Yufeng Zhao + +**Let’s find random things on the street with full-text search!** + +Imagine being able to find every “best pizza” shop sign, every "No Parking" notice, or every piece of street art in Brooklyn - without leaving your chair. In this talk, Yufeng will unveil "all texts in Brooklyn" (), a project that turns Google Street View into a searchable text database. Yufeng will walk through the process of building this full-text search engine, demonstrate interesting search results, and showcase data visualizations that reveal hidden patterns in Brooklyn's urban typography. + +**Yufeng Zhao** is an artist, technologist and designer based in Brooklyn. His work addresses data, imagery/language processing, and experience design. Through a blend of web-based projects, video works, and tangible installations, his practice explores unexpected connections embedded in our techno-cultural landscape and the interactions between humans and machines. He is a part of the Switcheristic Telecommunications (), an artist collective focusing on assembling and presenting atypical data. + +--- + +Perhaps you would also be interested in our +[2022](2022/speakers.html), +[2021](2021/speakers.html), +[2020](2020/speakers.html), +[2019](2019/speakers.html), +[2018](2018/speakers.html), +[2017](2017/speakers.html), +[2016](2016/speakers.html), +[2015](../2015/speakers.html), +or [2014](../2014/speakers.html) speakers? diff --git a/sponsors.md b/2024/sponsors.md similarity index 100% rename from sponsors.md rename to 2024/sponsors.md diff --git a/2024/stylesheets/stylesheet.css b/2024/stylesheets/stylesheet.css new file mode 100644 index 0000000..20d2048 --- /dev/null +++ b/2024/stylesheets/stylesheet.css @@ -0,0 +1,392 @@ +body { + margin: 0; + padding: 0; + border: 0; + color: #222222; + font-family: "Lato", sans-serif; + font-weight: 400; + line-height: 1.3; +} + +a { + color: rgba(48, 25, 52, 1.0); +} + +a:hover { + color: rgba(0, 0, 100, 1.0); +} + +hr { + color: #222222; + border-style: solid; + margin: 2em 0 3em; +} + +.header-inner { + max-width: 850px; + margin: 0 auto; +} + +.header { + margin: 0; + padding: 50px 0px 0px 0px; + color: #f5f5dc; + text-align: right; + font-family: "Lato", serif; + font-weight: 900; + line-height: 1; + height: 250px; +} + +#container { + background: + /* top, transparent dark purple, faked with gradient */ + linear-gradient( + rgba(68, 172, 201, 0.8), + rgba(68, 172, 201, 0.8) + ), + /* bottom, image */ + url("../images/montage.jpg"); + background-repeat: repeat; +} + +.header h1 { + font-size: 555%; + font-weight: 900; + text-align: right; + letter-spacing: -2px; + margin: 0; + padding: 10px 0 0 0; +} + +.header h2 { + font-size: 238%; + font-weight: 900; + margin: 0; + padding: 0; +} + +.header p { + font-size: 160%; + font-weight: 900; + margin: 0; + padding: 10px 0 0 0; +} + +.header a { + color: #f5f5dc; + text-decoration: none; +} + +.header img { + float: left; +} + +.inner { + border-radius: 25px; + background: #f5f5dc; + max-width: 850px; + margin: 0 auto; + padding: 50px; +} + +#blurb { + font-size: 160%; +} + +h1 { + margin-top: 0; + font-family: "Lato", serif; + font-weight: 900; + font-size: 280%; + text-align: center; + line-height: 1; +} + +h2 { + font-family: "Lato", serif; + font-weight: 900; + font-size: 230%; + line-height: 1; +} + +h3 { + font-family: "Lato", serif; + font-weight: 900; + font-size: 190%; + line-height: 1; +} + +h4 { + font-family: "Lato", serif; + font-weight: 900; + font-size: 140%; + line-height: 1; +} + +/* Probably we should just set this font-size in or something. But + * that would require re-adjusting all of the other font-sizes. Life is too + * long to spend it messing with CSS in ways that aren't dirty hacks. + */ +:not(li) > p, :not(p) > ul { + font-size: 130%; + margin-top: 0.5em; +} + +.speaker-img { + width: 150px; + height: 150px; + border: 1px solid #222222; + background-color: #222222; + float: right; + margin-left: 1em; + margin-bottom: 1em; +} + +#program h2 { + text-align: center; + margin-bottom: 2em; +} + +#mc_embed_signup { + font-size: 100%; + text-align:center; + position: relative; + top: -1em; +} + +/* Homepage speaker pictures */ + +.speaker { + text-align: center; + display: inline-block; + padding: 0 3em; +} + +.speaker p { + margin: 0; + padding: 0; +} + +.speaker h3 { + font-size: 150%; + margin: 0; + padding: 0; +} + +.speaker img { + width: 200px; + height: 200px; + border: 1px solid #222222; +} + +.speaker-pics { + max-width: 850px; + margin: 0 auto; + text-align: center; +} + +.speaker-pics div { + display: inline-block; +} + +.speaker-pics img { + border: 1px solid #222222; + background-color: #222222; +} + +.speaker-pics a { + border: none; +} + +/* Sponsors listing */ + +.sponsor-list { + text-align: center; +} + +.sponsor-list h3 { + margin: 0.5em 0; +} + +.sponsor-list > hr { + width: 70%; + margin: 1em auto; + margin-bottom: 1.5em; +} + +.sponsor { + display: inline-table; + position: relative; + top: -1em; +} + +.sponsor .logo { + height: 6em; + padding: 1em; + margin: 2px 2px; + margin-top: -1em; + border: 1px solid #222222; + background-color: white; + border-radius: 10px; +} + +.sponsor.big-sponsor .logo { + height: 8em; +} + +.sponsor.medium-sponsor .logo { + height: 7em; +} + +.sponsor .magic { + visibility: hidden; + height: 0px; +} + +.sponsor img { + /* max-width: 13em; */ + /* max-height: 5em; */ + /*outline: 1px red solid;*/ + position: relative; + top: 50%; + transform: translateY(-50%); + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + /*http://zerosixthree.se/vertical-align-anything-with-just-3-lines-of-css/*/ +} + +#individual-sponsors { + font-size: 1.4em; +} + +footer { + margin: 0; + padding: 30px; + color: #f5f5dc; + text-align: center; + font-family: "Lato", sans-serif; +} + +footer p { + font-size: 120%; +} + +footer a { + color: #f5f5dc; +} + +footer a:hover { + color: #cccccc; +} + + +@media (max-width: 650px) { + .header span { + display:block; + padding: 0px; + } + + .header { + height: auto; + padding: 0px 25px 25px 25px; + } +} + +@media (max-width: 500px) { + body { + font-size: 95%; + } + .inner { + padding: 2em 3em; + } + .speaker-img { + text-align: center; + float: none; + margin: 0 auto ; + } +} + +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; +} + +.scheduletable table { + margin-top: 1em; + width: 100%; + border-width: 1px; + border-color: #222222; + border-collapse: collapse; + font-size: 120%; +} + +.scheduletable th { + background-color: #222222; + color: #f5f5dc; + border-width: 1px; + padding: 8px; + border-style: solid; + border-color: #222222; + text-align: left; +} + +.scheduletable td { + border-width: 1px; + padding: 8px; + border-style: solid; + border-color: #222222; + text-align: left; +} + +.scheduletable tr:hover { + background-color: #ffffff; +} + +.scheduletable ul { + font-size: 100%; + margin: 0; +} + +/* recordings */ +.talk-info { + margin-bottom: .5em; +} + +.talk-info .speaker { + text-align: initial; + padding: 0; + padding-bottom: 0.5em; +} + +.talk-info .talk-title { + display: block; +} + +.talk-embed a { + cursor: pointer; + text-decoration: underline; +} + +.talk-youtube-thumb { + float: left; + margin-right: 1em; +} + +img.conduct-full { + display: block; + margin: auto auto; + width: 95%; + height: auto; + margin-bottom: -15px; +} + +img.conduct-300 { + display: block; + margin: auto auto; + width: 35%; + height: auto; + margin-bottom: -15px; +} diff --git a/venue.md b/2024/venue.md similarity index 100% rename from venue.md rename to 2024/venue.md diff --git a/_data/all_talks.json b/_data/all_talks.json new file mode 100644 index 0000000..cf4c05a --- /dev/null +++ b/_data/all_talks.json @@ -0,0 +1,4838 @@ +[ + { + "year": "2014", + "author": "Michael Bernstein", + "title": "The Art of Obsession", + "description": "Michael Bernstein is obsessed. Not with\n\t\t anything in particular, just in general. He’s a Brooklyn,\n\t\t NYC-based software developer and amateur computer scientist\n\t\t who writes\n\t\t at michaelrbernste.in\n\t\t and tweets (too much)\n\t\t at @mrb_bk. He\n\t\t works at Code Climate, and he’s given talks on garbage\n\t\t collection and distributed systems in the past. He is very\n\t\t excited to hang and chat with everyone at !!Con!", + "speaker_photo": "michael-bernstein.png", + "youtube_link": "yJgwrk6_zGY", + "transcript": "michael-bernstein-the-art-of-obsession", + "order": 0, + "speaker_bio": "Michael Bernstein is obsessed. Not with anything in particular, just in general. He’s a Brooklyn, NYC-based software developer and amateur computer scientist who writes at michaelrbernste.in and tweets (too much) at @mrb_bk. He works at Code Climate, and he’s given talks on garbage collection and distributed systems in the past. He is very excited to hang and chat with everyone at !!Con!", + "keynote": true, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2014", + "author": "Travis McDemus", + "title": "The Sound of Segfaults!!", + "description": "Generating real-time audio with programming requires an\n\t\t understanding of audio file formats, buffering to system\n\t\t devices, some gnarly C, and maybe some judicious ears and\n\t\t debugging skills. Let's hear what it sounds like when we\n\t\t screw any of that up!!\n\nTravis\n\t\t McDemus is a programmer and music composer who\n\t\t likes writing programs that emit sound, slurp up the\n\t\t internet, and make people smile.", + "speaker_photo": "travis-mcdemus.png", + "youtube_link": "XnsnHS-YGXM", + "transcript": "travis-mcdemus-the-sound-of-segfaults", + "order": 0, + "speaker_bio": "Travis McDemus is a programmer and music composer who likes writing programs that emit sound, slurp up the internet, and make people smile.", + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2014", + "author": "Darius Bacon and Danielle Sucher", + "title": "Nantucket! Hacking at verse", + "description": "Nantucket! Hacking at\n\t\t verse\n\nWe wrote programs to find text that matches verse forms\n\t\t like sonnets and limericks. We'll explain how, and subject\n\t\t you to some of the output.\n\nWhen Danielle\n\t\t Sucher was a kid, she wanted to grow up to live\n\t\t in a library in a lighthouse and spend all her time learning\n\t\t and solving puzzles and making stuff. Except for the\n\t\t lighthouse (so far), that's pretty much what her grown-up\n\t\t life has become.\n\nWikipedia\n\t\t called Darius\n\t\t Bacon a poet, which he thinks is hilarious. He\n\t\t writes toy programs pretty often, and not so many serious\n\t\t ones. He will be in New York for the rest of May.", + "speaker_photo": "danielle-sucher.png", + "youtube_link": "Rn97kZNZ278", + "transcript": "danielle-sucher-darius-bacon-nantucket-hacking-at-verse", + "order": 0, + "keynote": false, + "organizer": true, + "all_years": [ + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2014", + "author": "David Turner", + "title": "Now you're thinking with PCMPISTRI!", + "description": "I needed a custom string comparison routine, and the C\n\t\t version wasn't fast enough. It turns out that modern Intel\n\t\t processors have SIMD instructions that understand C-style\n\t\t strings. So I considered writing a faster version in\n\t\t assembly language. I actually ended up solving the problem a\n\t\t different way, but I decided to write the SIMD assembly\n\t\t version anyway. This sort of programming is tremendously\n\t\t fun, because you have these weird instructions and you have\n\t\t to try to solve your problem under bizarre and arbitrary\n\t\t constraints.\n\nDavid Turner hacks on\n\t\t git at Twitter. He previously co-founded OpenTripPlanner,\n\t\t and worked on version 3 of the GPL. He enjoys contributing\n\t\t patches to random projects, like Inkscape and Linux. He\n\t\t lives on Mars with his glorious wife and three pet\n\t\t tigers.", + "speaker_photo": "david-turner.png", + "youtube_link": "U3gsPgryfKs", + "transcript": "david-turner-now-youre-thinking-with-pcmpistri", + "order": 0, + "speaker_bio": "David Turner hacks on git at Twitter. He previously co-founded OpenTripPlanner, and worked on version 3 of the GPL. He enjoys contributing patches to random projects, like Inkscape and Linux. He lives on Mars with his glorious wife and three pet tigers.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2017", + "2014" + ] + }, + { + "year": "2014", + "author": "Bjorn Roche", + "title": "How I used my knowledge of code (and music!) to help fight fires!", + "description": "How I used my knowledge of code (and music!)\n\t\t to help fight fires!\n\nRural areas often require emergency responders to carry\n\t\t \"pagers\" with them to be informed about fires and other\n\t\t emergencies. These pagers are actually specialized radios,\n\t\t each specially configured to respond to one type of message\n\t\t intended for the individual carrying it.\n\nAside from requiring users to carry an extra device, this\n\t\t system has many drawbacks, including range and battery life\n\t\t limitations. Recently I worked with a company that has been\n\t\t building a system to bridge the gap between this old\n\t\t broadcast system and mobile devices. I helped to improve the\n\t\t reliability and ease of configuration of their systems by\n\t\t rewriting the code which is responsible for recording the\n\t\t radio broadcasts and decoding the signals which are used to\n\t\t identify the intended recipients of the messages.\n\nI will discuss how the system works and also do a quick\n\t\t demo. The demo is a lot of fun in no small part because it\n\t\t involves various hardware, including a small Linux box, a\n\t\t radio, and funny tones and recorded sounds.\n\nBjorn\n\t\t Roche has been a consultant for the music and\n\t\t tech industries for the past ten years. He has worked on\n\t\t many projects for startups and major music studios as well\n\t\t as large and small companies. He is currently president of\n\t\t Shimmeo, Inc.", + "speaker_photo": "bjorn-roche.png", + "youtube_link": "jHu9cCijCZc", + "transcript": "bjorn-roche-how-i-used-knowledge-of-code-and-music-to-fight-forest-fires", + "order": 0, + "speaker_bio": "Bjorn Roche has been a consultant for the music and tech industries for the past ten years. He has worked on many projects for startups and major music studios as well as large and small companies. He is currently president of Shimmeo, Inc.", + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2014", + "author": "Chloe Weil", + "title": "Tasty Stacks!", + "description": "I have lexical gustatory synesthesia, which means that I\n\t\t experience words as having flavors and textures. I will\n\t\t share how this has affected how I experience the gamut of\n\t\t web technologies, from the HTML5 spec to RubyGems to the\n\t\t Instagram API.\n\nChloe\n\t\t Weil is a person-who-makes-things both on and\n\t\t offline. Chloe currently works on the web team at\n\t\t Spotify. Her favorite word is \"sneaker,\" and she has one\n\t\t cat.", + "speaker_photo": "chloe-weil.png", + "youtube_link": "8218rXTggWk", + "transcript": "chloe-weil-tasty-stacks", + "order": 0, + "speaker_bio": "Chloe Weil is a person-who-makes-things both on and offline. Chloe currently works on the web team at Spotify. Her favorite word is \"sneaker,\" and she has one cat.", + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2014", + "author": "Julia Evans", + "title": "Spying on your programs with strace!!!", + "description": "Spying on your programs with\n\t\t strace!!!\n\nstrace lets you look into the soul of a program and see\n\t\t how it works. Without even seeing the source code! ANY\n\t\t program. I've become kind of obsessed with it and I'd like\n\t\t to share my obsession with you. We'll learn about system\n\t\t calls and go through a couple of practical examples of how\n\t\t to use strace to solve your everyday programming\n\t\t problems.", + "speaker_photo": "julia-evans.png", + "youtube_link": "4pEHfGKB-OE", + "transcript": "julia-evans-spying-on-your-programs-with-strace", + "order": 0, + "keynote": false, + "organizer": true, + "all_years": [ + "2016", + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2014", + "author": "Jennifer Shin", + "title": "High Schoolers vs. Robots!!!!", + "description": "On March 24th through 26th, Gilt invited the inaugural\n\t\t students from\n\t\t the BASE High\n\t\t School (Bronx Academy for Software Engineering) to\n\t\t program some robots. The result was amazing. We laughed; the\n\t\t robots danced and taught us how to do the douggy; we saw\n\t\t weird stuff on the Internet. Technology brought two\n\t\t completely disparate worlds together in a fantastic,\n\t\t hysterical way. And we developers, using robots, were able\n\t\t to contribute to a better, brighter future in a small but\n\t\t meaningful way.\n\nJennifer is a self-taught software\n\t\t engineer and spare-time educator. She focused mainly on\n\t\t server-side Java-based technologies before joining Gilt\n\t\t Tech. Now, she's super excited to be working with Scala as\n\t\t her first functional programming language, and in her free\n\t\t time, enjoys traveling, reading ALL THE THINGS!!! and having\n\t\t wrestling matches with her dog.", + "speaker_photo": "jennifer-shin.png", + "youtube_link": "mZ1ZRAxUjfY", + "transcript": "jennifer-shin-high-schoolers-versus-robots", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2014", + "author": "Kamelia Aryafar", + "title": "Computer vision and archeology!: Can computers assemble ceramic artifacts?", + "description": "Computer vision and archeology!: Can\n\t\t computers assemble ceramic artifacts?\n\nEmploying computer vision algorithms to help automate\n\t\t ceramic classifications in vessel reconstructions provides\n\t\t significant time and cost savings, expediting the analysis\n\t\t of unique and vital colonial history databases for the needs\n\t\t of new and deeper history interpretation. In this talk, I\n\t\t introduce practical computer vision methods that help\n\t\t archaeologists classify vessels and assemble the recovered\n\t\t artifacts!\n\nKamelia Aryafar is a Data Scientist at\n\t\t Etsy Inc. and a Ph.D. candidate in the computer science\n\t\t department at Drexel University. Her main area of interest\n\t\t is pattern recognition and machine learning techniques in\n\t\t computer vision!", + "speaker_photo": "kamelia-aryafar.png", + "youtube_link": "", + "transcript": "kamelia-aryafar-computer-vision-archaeology", + "order": 0, + "speaker_bio": "Kamelia Aryafar is a Data Scientist at Etsy Inc. and a Ph.D. candidate in the computer science department at Drexel University. Her main area of interest is pattern recognition and machine learning techniques in computer vision!", + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2014", + "author": "Allison Kaptur", + "title": "A 1,500 line (!!) switch statement powers your Python!", + "description": "A 1,500 line (!!) switch statement powers\n\t\t your Python!\n\nPython internals are intense! There's a 1,500 line switch\n\t\t statement in the interpreter, and most of what the\n\t\t interpreter does is just switch over its cases! Your Python\n\t\t code is \"dynamic\", but there's also some \"compiling\" going\n\t\t on — see how little the Python compiler really\n\t\t knows!\n\nAllison\n\t\t Kaptur is a facilitator at Hacker School, where\n\t\t she excels at rubber-duck debugging, untangling git\n\t\t repositories, and installing pygame. She is most famous for\n\t\t making a few appearances in Julia Evans' blog.", + "speaker_photo": "allison-kaptur.png", + "youtube_link": "4s9MkZATWY4", + "transcript": "allison-kaptur-switch-statement-1500-lines", + "order": 0, + "speaker_bio": "Allison Kaptur is a facilitator at Hacker School, where she excels at rubber-duck debugging, untangling git repositories, and installing pygame. She is most famous for making a few appearances in Julia Evans' blog.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015", + "2014" + ] + }, + { + "year": "2014", + "author": "Aki Yamada", + "title": "Just LOOK at the humongous type that Hindley-Milner infers for this tiny program!", + "description": "Just LOOK at the humongous type that\n\t\t Hindley-Milner infers for this tiny\n\t\t program!\n\nHindley-Milner (H-M) type inference is an algorithm which\n\t\t deduces static types in programming languages like OCaml and\n\t\t Haskell, where the programmer does not have to explicitly\n\t\t declare types. Its performance is usually described as\n\t\t either \"fast enough\" or \"worst case exponential\" depending\n\t\t on who you ask, and whether they're being formal about it or\n\t\t trying to sell you on one of these languages.\n\nIt turns out that H-M actually is exponential in\n\t\t time and space in the worst case. There's a really tiny\n\t\t program that demonstrates this. It's only around 100\n\t\t characters long, but the type that H-M infers is thousands\n\t\t of characters long! The existence of this edge case is\n\t\t fascinating, even though in practice H-M is fast enough for\n\t\t most programs.\n\nAki\n\t\t went to Hacker School in the summer of 2013 where he worked\n\t\t on an ML compiler, including an implementation of\n\t\t Hindley-Milner. Now he works on warehouse and fulfillment\n\t\t software at Rent the Runway.", + "speaker_photo": "aki-yamada.png", + "youtube_link": "PoWtBY-Ex1A", + "transcript": "aki-yamada-hindley-milner", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2014", + "author": "Michael Arntzenius", + "title": "Continuations; or, how to travel through time!", + "description": "Continuations; or, how to travel through\n\t\t time!\n\nContinuation-passing style is a powerful and mind-warping\n\t\t technique that lets code play with its own control-flow (its\n\t\t \"future\", so to speak). For example, it lets you elegantly\n\t\t express backtracking search algorithms such as regular\n\t\t expression matching. This curious technique also has deep\n\t\t connections to topics as diverse as compiler optimization,\n\t\t programming language design, and classical versus\n\t\t constructive logic.\n\nMichael Arntzenius is a\n\t\t type theorist, logician, and occasional systems\n\t\t programmer. He is fascinated by programming languages, with\n\t\t a focus on expressivity and extensibility. He is currently\n\t\t taking a summer break from graduate study at CMU to explore\n\t\t the wider world of programming.", + "speaker_photo": "michael-arntzenius.png", + "youtube_link": "cnhb4M8-J5M", + "transcript": "michael-arntzenius-continuations", + "order": 0, + "speaker_bio": "Michael Arntzenius is a type theorist, logician, and occasional systems programmer. He is fascinated by programming languages, with a focus on expressivity and extensibility. He is currently taking a summer break from graduate study at CMU to explore the wider world of programming.", + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2014", + "author": "Allie Jones", + "title": "Weaving and Programming: More Related Than You (Probably) Realize!", + "description": "Weaving and Programming: More Related Than\n\t\t You (Probably) Realize!\n\nWeaving (one of the most popular methods of turning\n\t\t string into fabric) and programming may seem like they have\n\t\t little to do with each other, but the history of weaving\n\t\t technology and the history of computing are actually closely\n\t\t related. I love weaving and programming, and\n\t\t discovering that weaving technology is part of what made\n\t\t computers possible made me ridiculously happy.\n\nThis talk will walk through a brief explanation of how\n\t\t weaving works and how weaving tools developed over time, so\n\t\t that the connection between weaving and early computing\n\t\t makes sense (and because weaving is cool in itself, and has\n\t\t some interesting parallels to programming). Then I'll\n\t\t discuss how looms helped create early computers, and how\n\t\t modern computers now help control looms.\n\nAllie\n\t\t Jones is a front-end web developer and former\n\t\t textile designer who loves making things for the\n\t\t internet.", + "speaker_photo": "allie-jones.png", + "youtube_link": "8TfKeoxtq2c", + "transcript": "allie-jones-weaving-programming", + "order": 0, + "speaker_bio": "Allie Jones is a front-end web developer and former textile designer who loves making things for the internet.", + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2014", + "author": "Camille Fournier", + "title": "How to Stay in Love with Programming", + "description": "Camille Fournier\n\t\t has been nerding up all the things since\n\t\t Amigas were cool and having access to Gopher was the\n\t\t hotness. She proudly writes most of her code in Java, burned\n\t\t out on functional programming in the 90s, and still really\n\t\t doesn't get CSS. Her hobbies include weightlifting, vintage\n\t\t fashion, tweeting, and helping keep 100% volunteer open\n\t\t source projects from falling into disrepair. She also runs\n\t\t the engineering team at Rent the Runway.", + "speaker_photo": "camille-fournier.png", + "youtube_link": "sc8sc-ELMhA", + "transcript": "camille-fournier-how-to-stay-in-love-with-programming", + "order": 0, + "speaker_bio": "Camille Fournier has been nerding up all the things since Amigas were cool and having access to Gopher was the hotness. She proudly writes most of her code in Java, burned out on functional programming in the 90s, and still really doesn't get CSS. Her hobbies include weightlifting, vintage fashion, tweeting, and helping keep 100% volunteer open source projects from falling into disrepair. She also runs the engineering team at Rent the Runway.", + "keynote": true, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2014", + "author": "Lisa Neigut", + "title": "Serial! It's what's for breakfast", + "description": "Me: I want to write a program that talks to a serial\n\t\t port. Reality: What is serial port? How does work?\n\nAll serial info to be based on the RS-232 protocol.\n\nLisa is an artisanal cereal chef. Her current favorite is\n\t\t coconut orange macadamia granola. She spends most of her\n\t\t working hours playing with Java and Gradle on Android at\n\t\t Etsy.", + "speaker_photo": "lisa-neigut.png", + "youtube_link": "J1CQz8XyWoo", + "transcript": "lisa-neigut-serial-its-whats-for-breakfast", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2014", + "author": "Andrew Gwozdziewycz", + "title": "Understanding Garbage Collection, through Visualizing a One Pass Real-Time Generational Mark-Sweep Garbage Collector!", + "description": "Understanding Garbage Collection, through\n\t\t Visualizing a One Pass Real-Time Generational Mark-Sweep\n\t\t Garbage Collector!\n\nThis talk will cover the fundamentals of garbage\n\t\t collection algorithms, by visualizing how the heap evolves\n\t\t over time when utilizing the algorithm described by\n\t\t Armstrong and Virding in \"One Pass Real-Time Generational\n\t\t Mark-Sweep Garbage Collection.\" The algorithm is deceptively\n\t\t simple, but meets many of the requirements for a practical\n\t\t garbage collection algorithm — in fact, this algorithm\n\t\t was used in the Erlang runtime in the 90s.\n\nAndrew\n\t\t Gwozdziewycz is the founder of Hack and Tell, a\n\t\t Show and Tell for Hackers, and co-organizer of the NYC Hack\n\t\t and Tell. His interests lie in distributed systems,\n\t\t programming languages and security, and he starts many more\n\t\t projects than any one father of two under 3 could dream of\n\t\t finishing.", + "speaker_photo": "andrew-gwozdziewycz.png", + "youtube_link": "QLzhB6c8uCg", + "transcript": "andrew-gwozdziewycz-understanding-garbage-collection", + "order": 0, + "speaker_bio": "Andrew Gwozdziewycz is the founder of Hack and Tell, a Show and Tell for Hackers, and co-organizer of the NYC Hack and Tell. His interests lie in distributed systems, programming languages and security, and he starts many more projects than any one father of two under 3 could dream of finishing.", + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2014", + "author": "Emily Reese", + "title": "L'Artiste et Le Programmeur!", + "description": "L'Artiste et Le\n\t\t Programmeur!\n\nArtists are known for being loyal to certain\n\t\t paintbrushes, to certain notebooks, to certain printers, and\n\t\t more. Gradually, software is solidifying its place in this\n\t\t creative process as an essential medium to facilitate\n\t\t creativity. Financial support of an artist can now be\n\t\t accomplished by button-click! Art can be presented on\n\t\t beautiful visual platforms that result in wider audiences\n\t\t than do physical spaces! Narrow definitions of patronage can\n\t\t be replaced by the supportive creative platforms of the web!\n\t\t Let's jam on the stunning power of programming to be a\n\t\t canvas for others' creative processes (and our own).\n\nEmily\n\t\t is a Ruby engineer at Kickstarter. With an academic\n\t\t background in the arts and an insatiable love for code, she\n\t\t believes we can redefine creativity using new web-based,\n\t\t democratic tools.", + "speaker_photo": "emily-reese.png", + "youtube_link": "RQjxVAhzUzg", + "transcript": "emily-reese-lartiste-et-le-programmeur", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2014", + "author": "Rafik Draoui", + "title": "Making music with floppy drives! An exercise in yak shaving", + "description": "Making music with floppy drives! An exercise\n\t\t in yak shaving\n\nWhen I started developing Flopkestra, a floppy drive\n\t\t orchestra, I quickly stumbled upon the difficulty of\n\t\t manually encoding music into the custom bytecode that my\n\t\t orchestra could understand. That's when I had the idea of\n\t\t writing a program that could automatically extract melodies\n\t\t from recordings!\n\nIn this talk, I will describe my (ongoing) quest to get\n\t\t from whistling a tune into my laptop microphone to hearing\n\t\t the melody bursting out of floppy drives.\n\nWhat began as an idea to produce some noise out of\n\t\t objects found in the dumpster lead me down the twisty path\n\t\t of hardware hacking, MIDI file parsing, digital signal\n\t\t processing and HTML5 canvas programming, none of which I\n\t\t knew anything about before starting this project.\n\nWhile yak shaving is generally considered to be the enemy\n\t\t of \"getting stuff done\", I realized that it is a really good\n\t\t way of learning new things and keeping alive the excitement\n\t\t of programming!\n\nRafik\n\t\t is a tinkerer and (currently sedentary) wanderer living in\n\t\t Toronto. When he is not trying to make music out of\n\t\t dumpstered objects, he is most probably found\n\t\t reading man pages, making culinary experiments\n\t\t or taking long walks into unknown parts of the city.", + "speaker_photo": "rafik-draoui.png", + "youtube_link": "Hbdhh0fWbfM", + "transcript": "rafik-draoui-making-music-with-floppy-drives", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2014", + "author": "Guillaume Marceau", + "title": "The terrible Yook monster! Slayed by the grandson of Master Prolog!", + "description": "The terrible Yook monster! Slayed by the\n\t\t grandson of Master Prolog!\n\nI held my sword in front, and approached the village\n\t\t cautiously. I would have to slaughter the terrible Yook\n\t\t monster disguised in one of the hapless villagers' homes. I\n\t\t pushed the doors open, ready to hack and slash. To my shock,\n\t\t all of the villagers looked exactly the same!\n\nAnd each had something to say about the other Anouki:\n\nHow dastardly! Only the Yook would lie to me. And I\n couldn't just kill them all and let God sort them out. I had\n to think about this. So I did what anyone in this\n circumstance would do: I pulled out Alloy.\n\nAlloy is MIT's Daniel Jackson's ground-breaking new logic\n\t\t programming language which turns the whole notion of logic\n\t\t programming upside down — nay, turns programming as a\n\t\t whole upside down.\n\nGuillaume\n\t\t Marceau is a software architect at Sefaira,\n\t\t building true-to-physics simulations of the energy\n\t\t consumption of green buildings. Before that, he was a\n\t\t Ph.D. student in computer science at WPI with\n\t\t Kathi Fisler\n\t\t doing research\n\t\t on programming\n\t\t language design for teaching, and at Brown doing\n\t\t research\n\t\t on functional\n\t\t reactive programming. He lives in New York now, but grew\n\t\t up in Montreal, speaks French-Québécois in his spare time,\n\t\t and recently started singing in Ukrainian.", + "speaker_photo": "guillaume-marceau.png", + "youtube_link": "Q663XyxmGUk", + "transcript": "guillaume-marceau-the-terrible-yook-monster", + "order": 0, + "speaker_bio": "Guillaume Marceau is a software architect at Sefaira, building true-to-physics simulations of the energy consumption of green buildings. Before that, he was a Ph.D. student in computer science at WPI with Kathi Fisler doing research on programming language design for teaching, and at Brown doing research on functional reactive programming. He lives in New York now, but grew up in Montreal, speaks French-Québécois in his spare time, and recently started singing in Ukrainian.", + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2014", + "author": "Mark Wunsch", + "title": "Map, Reduce, Awk!", + "description": "\"Is my data Big enough for Hadoop?\" If you're asking,\n\t\t then probably not! Instead, try AWK. It's on your computer,\n\t\t it's easy to use, and you can do a whole lot with it. This\n\t\t talk will (re-)introduce you to AWK, the best little stream\n\t\t processor you could ever ask for. Learn how to map or reduce\n\t\t or both with Unix tools that have existed in one\n\t\t form or another since the 1970s. Don't be ashamed of your\n\t\t small-to-medium data — embrace it with AWK!\n\nMark\n\t\t Wunsch is a Director of Engineering at Rent the\n\t\t Runway. He lives in Manhattan with his wife, dog, and\n\t\t cat.", + "speaker_photo": "mark-wunsch.png", + "youtube_link": "jw-3Ufd_u4c", + "transcript": "mark-wunsch-map-reduce-awk", + "order": 0, + "speaker_bio": "Mark Wunsch is a Director of Engineering at Rent the Runway. He lives in Manhattan with his wife, dog, and cat.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2016", + "2014" + ] + }, + { + "year": "2014", + "author": "Paul Khuong", + "title": "LZ77 refactors program traces!", + "description": "I find it's surprisingly difficult to reliably recover\n\t\t loops and function calls from a program trace. Recently,\n\t\t Artur Jez introduced an elegant algorithm to transform a\n\t\t string's LZ77 factorisation into a straight-line program. I\n\t\t will describe that algorithm and hopefully share my\n\t\t excitement at its potential for runtime compilation and\n\t\t program specialisation.\n\nPaul\n\t\t Khuong holds a PhD in Operations Research, but\n\t\t his real passion is program (micro)optimisation and\n\t\t compilers; some people may have used his work on SBCL. He\n\t\t recently moved to NYC to work at AppNexus, and he'd love to\n\t\t meet fellow developers in the city.", + "speaker_photo": "paul-khuong.png", + "youtube_link": "Z-Aeg-9WcMQ", + "transcript": "paul-khuong-lz77-refactors-program-traces", + "order": 0, + "speaker_bio": "Paul Khuong holds a PhD in Operations Research, but his real passion is program (micro)optimisation and compilers; some people may have used his work on SBCL. He recently moved to NYC to work at AppNexus, and he'd love to meet fellow developers in the city.", + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2014", + "author": "Omar Rizwan", + "title": "We found chat in a hostile place!!", + "description": "We found chat in a hostile\n\t\t place!!\n\nYou want to chat securely with me, but I'm too lazy to\n\t\t switch from Facebook chat. How can we embed a secure channel\n\t\t inside Facebook?\n\nLet's make a Chrome extension that sits on top of\n\t\t Facebook's chat interface! But what if Facebook is the\n\t\t enemy, or is co-opted by the enemy? How do we cope with\n\t\t securing output and input in an environment that is out to\n\t\t get us?\n\nI'll explain my naive take on the problem, talk about\n\t\t some cool attacks, and then explain how I countered each\n\t\t attack.\n\nOmar\n\t\t Rizwan is interested in how to use computers to\n\t\t help people think better. He built Cruncher, a scrubbing\n\t\t calculator, and enjoys experimenting with programming\n\t\t languages and other creative tools. He's an alumnus of\n\t\t Hacker School and worked at Khan Academy before moving to\n\t\t New York.", + "speaker_photo": "omar-rizwan.png", + "youtube_link": "UBop5kbqDMo", + "transcript": "omar-rizwan-we-found-chat-in-a-hostile-place", + "order": 0, + "speaker_bio": "Omar Rizwan is interested in how to use computers to help people think better. He built Cruncher, a scrubbing calculator, and enjoys experimenting with programming languages and other creative tools. He's an alumnus of Hacker School and worked at Khan Academy before moving to New York.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2022", + "2020", + "2018", + "2014" + ] + }, + { + "year": "2014", + "author": "Katherine Ye", + "title": "Proofs about programs, proofs as programs, and programs as proofs!", + "description": "Proofs about programs, proofs as programs,\n\t\t and programs as proofs!\n\nSay you had two pieces of code that looked different, but\n\t\t you strongly suspected they were \"equal.\" Maybe you have two\n\t\t if statements and you're a compiler who wants\n\t\t to optimize code by exchanging one for the other. How would\n\t\t you prove that they were equal? And since you're already a\n\t\t compiler, why don't we verify your proof with a\n\t\t computer?!\n\nWe'll take a tour through the world of interactive\n\t\t theorem proving with Coq,\n\t\t a proof assistant. We'll use Coq to interactively prove that\n\t\t two pieces of code, though they look different, are \"equal\"\n\t\t in that they return the same values for all inputs. Our\n\t\t proof will lead us to examine the strange correspondence\n\t\t between proofs and programs. It's an exciting development at\n\t\t the frontier of CS and math research: a data type is a\n\t\t proposition, and a value of that type is a proof of that\n\t\t proposition!\n\nKatherine\n\t\t likes interactive things,\n\t\t like stories and theorem\n\t\t proving. She co-founded Open Source at Princeton and is a\n\t\t Hacker School alumna.", + "speaker_photo": "katherine-ye.png", + "youtube_link": "ghIGfwmosSc", + "transcript": "katherine-ye-proofs-about-programs-proofs-as-programs", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2014", + "author": "Daniel Luxemberg", + "title": "Brainwaves! On your computer!", + "description": "", + "speaker_photo": "", + "youtube_link": "B4EO4gei4fc", + "transcript": "daniel-luxemburg-brainwaves-on-your-computer", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2014", + "author": "Allison Parrish", + "title": "Scrabble sucks! Toward higher-order word games", + "description": "Scrabble sucks! Toward higher-order word\n\t\t games\n\nPick up almost any word game and you'll find that its\n\t\t model of the English language is based almost entirely on an\n\t\t analysis of the frequency of single letters. It's why Z's\n\t\t are worth more, but are less common, in Scrabble, and why\n\t\t the same words always seem to show up when you're playing\n\t\t Boggle. In this talk, I argue that while this is an\n\t\t intuitive model, it's ultimately unfun — making word\n\t\t games more about rote memorization than, well, building\n\t\t words. As computer programmers, we can do more sophisticated\n\t\t analyses of language — like n-gram models and Markov\n\t\t chains — that have the potential to make word games\n\t\t (both digital and physical) more fun and satisfying. I'll\n\t\t talk about the quirks and shortcomings of existing word\n\t\t games, then show some prototypes and products that break the\n\t\t mold — and the code that went into developing those\n\t\t prototypes.\n\nParrish\n\t\t is a computer programmer whose jokes blur the distinction\n\t\t between use and mention. She is a third person singular\n\t\t personal pronoun.", + "speaker_photo": "allison-parrish.png", + "youtube_link": "N9FRaxbiR_8", + "transcript": "allison-parrish-scrabble-sucks-toward-higher-order-word-games", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020", + "2019", + "2016", + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2014", + "author": "Mark Jason Dominus", + "title": "Help! Help!", + "description": "This catalog of Perl introspection techniques will amaze,\n\t\t confound, or disgust you! A Perl method call like\n\t\t $object->fgsfds() emits an unhelpful message\n\t\t about an unknown method, without any advice about what\n\t\t would have worked.\n\nWe will see the internals of Help.pm, a Perl\n\t\t module which catches an attempt to call an undefined method,\n\t\t and emits a helpful list of valid method names.\n\nFirst, we will see how the Help module\n\t\t forcibly inserts itself into the inheritance hierarchy for\n\t\t the target module, so that failed method lookups will be\n\t\t dispatched to Help when normal inheritance\n\t\t fails. Then we will see Perl's AUTOLOAD\n\t\t feature, the method of last\n\t\t resort. The AUTOLOAD method\n\t\t in Help will then search the inheritance\n\t\t hierarchy synthetically, using Perl's symbol table\n\t\t interface, to locate methods of interest. Finally, the\n\t\t AUTOLOAD method will emit a report about what\n\t\t was found.\n\nMark\n\t\t first became interested in programming in the mid-1970s from\n\t\t watching his mom do it. He likes sending network packets\n\t\t because they make amazing things happen in faraway\n\t\t places.", + "speaker_photo": "mark-jason-dominus.png", + "youtube_link": "uvcd5sIw96U", + "transcript": "mark-jason-dominus-help-help", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2014", + "author": "Daniel Luxemburg", + "title": "", + "description": "Brainwaves! On your\n\t\t computer!\n\nThere's more self to quantify than number of steps taken,\n\t\t especially in our heads! In this talk I will demonstrate\n\t\t building an application with Node.js that uses a\n\t\t consumer-grade EEG (electroencephalography) device to\n\t\t display detected brain activity. It's pretty awesome that we\n\t\t can (start to) analyze our brains from little programs on\n\t\t our laptops!\n\nDaniel\n\t\t Luxemburg is a programmer and CTO at\n\t\t Bandwagon. Three of his favorite things are computers,\n\t\t cities, and brains. Daniel lives in Brooklyn with one\n\t\t houseplant.", + "speaker_photo": "daniel-luxemburg.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "Daniel Luxemburg is a programmer and CTO at Bandwagon. Three of his favorite things are computers, cities, and brains. Daniel lives in Brooklyn with one houseplant.", + "keynote": false, + "organizer": false, + "all_years": [ + "2014" + ] + }, + { + "year": "2015", + "author": "David Nolen", + "title": "Invent the Future You Want to Live In!", + "description": "", + "speaker_photo": "david-nolen.png", + "youtube_link": "y2s9y8FJ5vs", + "transcript": "david-nolen", + "order": 0, + "speaker_bio": "Among other things, David enjoys programming computers and playing music.", + "keynote": true, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Ashley Blewer", + "title": "Don't know about you, but I'm feeling like SHA-2!: Checksumming with Taylor Swift", + "description": "I like checksums! I like Taylor Swift! Some people don't understand checksums! Some people don't understand Taylor Swift! But what's the big deal? That's okay! I want to give a talk that gives an overview of different checksum technologies when used for file fixity (and a little bit of information transformation and security) at a broad level using Taylor Swift lyrics as a reference and source of explanation and enlightenment because I think this tech is SO WEIRD AND INTERESTING and I also feel that way about Taylor Swift. Also I think it's fun. It will be fun. It will be at least 50% Taylor Swift.\n\nAshley Blewer is an audiovisual archivist, specialist, technologist, and enthusiast. She likes a lot of things. She cares about education (especially in tech), access (especially to moving images), the act of creation (especially on the web), and good archival practice (especially with digital formats).", + "speaker_photo": "ashley-blewer.png", + "youtube_link": "1QgamEwwPro", + "transcript": "ashley-blewer", + "order": 0, + "speaker_bio": "Ashley Blewer is an audiovisual archivist, specialist, technologist, and enthusiast. She likes a lot of things. She cares about education (especially in tech), access (especially to moving images), the act of creation (especially on the web), and good archival practice (especially with digital formats).", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Kamal Marhubi", + "title": "What the clock?!!", + "description": "Have you ever heard someone say that writing libraries that deal with time is hard? Time is WEIRD. Time and computers is REALLY WEIRD. And kind of awesome.\n\nWe'll learn how many seconds there are in a year, what UTC really means, that DST goes in different directions north and south of the equator, how you can't measure time in nanoseconds because of relativistic effects, and generally just as much weird stuff about time fits into ten minutes.\n\nKamal Marhubi is a polyglot programmer who lives in Montréal. He is not-so-secretly addicted to English change-ringing, and has rung the bells of over twenty churches in England, Canada, and the US.", + "speaker_photo": "kamal-marhubi.png", + "youtube_link": "Cbu6V4aDtDg", + "transcript": "kamal-marhubi", + "order": 0, + "speaker_bio": "Kamal Marhubi is a polyglot programmer who lives in Montréal. He is not-so-secretly addicted to English change-ringing, and has rung the bells of over twenty churches in England, Canada, and the US.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2016", + "2015" + ] + }, + { + "year": "2015", + "author": "Kiran Bhattaram", + "title": "Bending the Laws of Physics! Or, How Wi-Fi Keeps Getting Faster.", + "description": "Shannon's Law tells you how fast you can transmit information over a channel with a given bandwidth and noise level. You just can't beat the limit — until we start talking about ways you can.\n\nLearn how adding more antennas lets you squeeze more information out of the air! (Note: this is actually the coolest!) Along the way, we'll discuss what the silly numbers and letters on your router mean, and the fantastic bag of signal processing and programming tricks that lets you carry the internet around in your pocket!\n\nKiran Bhattaram loves making things, whether tinkering with circuits, writing software systems, or sewing dresses. She works on Stripe's infrastructure team, and has previously built things for the New York Times, LinkedIn and MIT CSAIL.", + "speaker_photo": "kiran-bhattaram.png", + "youtube_link": "tg_8H0TdpOc", + "transcript": "kiran-bhattaram", + "order": 0, + "speaker_bio": "Kiran Bhattaram loves making things, whether tinkering with circuits, writing software systems, or sewing dresses. She works on Stripe's infrastructure team, and has previously built things for the New York Times, LinkedIn and MIT CSAIL.", + "keynote": false, + "organizer": true, + "all_years": [ + "2016", + "2015" + ] + }, + { + "year": "2015", + "author": "Josh Matthews", + "title": "Time travel, gdb, elephants, and you!!!!", + "description": "Everybody knows that feeling — you're in the middle of tracking down a complicated piece of multithreaded non-determinism gone wrong. You're stepping through your code in the debugger, watching breakpoints fly by, and SUDDENLY it's too late! The problem you're watching for has already occurred, and you need to start all over again. Or do you?\n\nThe rr tool is the harbinger of an exciting new era of hassle-free debugging. Time travel has never been simpler, and an eidetic memory is within your grasp today! You will not believe how these wacky longstanding bugs in Firefox were solved!\n\nJosh is a developer for Mozilla, and absolutely loves making open source projects more accessible to new contributors. He also sings in a barbershop quartet called the Bearded Baritones.", + "speaker_photo": "josh-matthews.png", + "youtube_link": "E-VO8npCM6I", + "transcript": "josh-matthews", + "order": 0, + "speaker_bio": "Josh is a developer for Mozilla, and absolutely loves making open source projects more accessible to new contributors. He also sings in a barbershop quartet called the Bearded Baritones.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Rob Jefferson", + "title": "What Programmers and Economists Can Learn from Each Other! (cancelled due to illness)", + "description": "Over the past twenty years, I've been a sysadmin, researcher, and graduate student in economics. Somewhere in the past couple of years, I became a software engineer. With these varied experiences, I found that there were skills and practices I learned as a programmer that would've helped me in economics (for example, writing good tests, or coding with an eye towards modularity).\n\nSimilarly, there were lessons I learned while studying economics that I've taken with me to programming (making technical decisions at the margin, solving problems while being mindful of endogeneity). And there are things that both programmers and economists can and should learn, especially regarding understanding limitations of their respective toolkits and the importance of working with compassion and empathy.\n\nIn this talk, I'd like to share some of these lessons, with motivating examples of the research process.\n\nRob Jefferson is a software engineer for Solutions for Progress, a Philadelphia public policy and technology firm. He's had a number of other jobs, from developing containerized urban farms to server administration for oncologists.", + "speaker_photo": "rob-jefferson.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "Rob Jefferson is a software engineer for Solutions for Progress, a Philadelphia public policy and technology firm. He's had a number of other jobs, from developing containerized urban farms to server administration for oncologists.", + "keynote": false, + "organizer": false, + "all_years": [ + "2016", + "2015" + ] + }, + { + "year": "2015", + "author": "Libby Horacek", + "title": "Contributing to open source should be like ROLLER DERBY!!", + "description": "Imagine if every time beginners stumbled into your project, they risked breaking a leg. Eventually, you would start taking onboarding very seriously. Roller derby leagues also have to recruit new players and prevent burnout. The strategies roller derby players have developed to build and maintain strong volunteer-run organizations can be used to make open source better, too — no body checking needed!\n\nLibby Horacek has been excited and passionate about open source and free software for over a decade. She finally made her first contribution to an open source project last year. She also was a member of the Ohio Valley Roller Girls roller derby league, first as a skater and then as a volunteer, for four years before moving to New York to attend the Recurse Center this January.", + "speaker_photo": "libby-horacek.png", + "youtube_link": "aeiG9VQT9u0", + "transcript": "libby-horacek", + "order": 0, + "speaker_bio": "Libby Horacek has been excited and passionate about open source and free software for over a decade. She finally made her first contribution to an open source project last year. She also was a member of the Ohio Valley Roller Girls roller derby league, first as a skater and then as a volunteer, for four years before moving to New York to attend the Recurse Center this January.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Igor Wiedler", + "title": "MissingNo., my favourite Pokémon!", + "description": "Missing Pokémon! Glitch City! Cloning! The Pokémon series featured some spectacular glitches that can teach us a lot about programming, computers, and distributed systems. When programs behave in unexpected ways, we gain the opportunity to change outcomes by using programming as a subversive act. Breaking the rules can open up new worlds!\n\nI love glitches. <3\n\nIgor is a programmer who is a little bit too fake, loves puns, and works at gif.industries.", + "speaker_photo": "igor-wiedler.png", + "youtube_link": "yX7tDROZUt8", + "transcript": "igor-wiedler", + "order": 0, + "speaker_bio": "Igor is a programmer who is a little bit too fake, loves puns, and works at gif.industries.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Peter Boothe", + "title": "QUINE + TAR = QUININE!!", + "description": "Quines are self-printing programs. Every program can print out its own source code, and storage has become exceedingly cheap. So, we introduce Quinine, a library that uses fixed points, analytic philosophy, and tape storage tools to make open-source programs that carry their source code with themselves.\n\nQuinine: Quine made from tar.\n\nPeter Boothe is a software engineer and Internet researcher at the Google part of Measurement Lab. If you see a couple riding around New York on a bright orange folding tandem bike, one of the cyclists is almost certainly him.", + "speaker_photo": "peter-boothe.png", + "youtube_link": "xv2aMLeq_Pk", + "transcript": "peter-boothe", + "order": 0, + "speaker_bio": "Peter Boothe is a software engineer and Internet researcher at the Google part of Measurement Lab. If you see a couple riding around New York on a bright orange folding tandem bike, one of the cyclists is almost certainly him.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Lea Albaugh", + "title": "From text to textiles!", + "description": "Industrial computer-controlled knitting machines can quickly and reliably fabricate arbitrary three-dimensional fabric objects (!), but how do I tell one what to make? It turns out that most of what we want to do comes down to four basic machine operations and a lot of repetition. But we're coders (/ music makers / dreamers of dreams), so we know that what \"four operations and a lot of repetition\" really means is: what are the useful abstractions?\n\nWhen it comes down to it, what's an elegant way to tell a machine how to make a hat? Or lace? Or patterned socks? And how might I write that in JavaScript?\n\nLea makes things in a variety of physical and virtual media.", + "speaker_photo": "lea-albaugh.png", + "youtube_link": "ihqcgrR0azw", + "transcript": "lea-albaugh", + "order": 0, + "speaker_bio": "Lea makes things in a variety of physical and virtual media.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Jon Williams", + "title": "Lightpainting with Robots! And JavaScript!", + "description": "About a year ago I bought a uArm desktop robot via Kickstarter. It's tons of fun and I've learned a lot about C and Arduino real-time programming. However, C is a total pain and it'd be much more fun to use JavaScript instead. I'll demonstrate sending the robot commands over serial/Bluetooth from NodeJS.\n\nI combined this with an RGB LED and a second Arduino controller. This LED can be controlled from the same JS program controlling the robot. Add a dark room and long-exposure photography, and it's possible to create amazing in-camera \"paintings\" with pure light (no Photoshop). Presentation will include a few inspirational examples, a dash of code (open-sourced at !!Con), and a live demo.\n\nJon ran a poetry slam and connected a robotic ouija board to the Internet pre-2000. After a long and complex relationship with ActionScript, denial gave way to anger, bargaining, depression, and now acceptance of JavaScript. He lives in Raleigh, NC and tweets @shovemedia.", + "speaker_photo": "jon-williams.png", + "youtube_link": "gux7XhKEc9o", + "transcript": "jon-williams", + "order": 0, + "speaker_bio": "Jon ran a poetry slam and connected a robotic ouija board to the Internet pre-2000. After a long and complex relationship with ActionScript, denial gave way to anger, bargaining, depression, and now acceptance of JavaScript. He lives in Raleigh, NC and tweets @shovemedia.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Bonnie Eisenman", + "title": "Music! Programming! Arduino! (Or: Building Electronic Musical Interfaces to Create Awesome)", + "description": "Ever wanted to build wacky interfaces for shaping sound? Turns out it's easier than you might expect! By combining Arduino, a beginner-friendly electronic prototyping platform, and ChucK, a musical programming language, we can build some weird electronic musical instruments. Prior knowledge required: basic programming skills and an active imagination. I'll show off one of my experiments and discuss how to go about imagining your own projects.\n\nBonnie Eisenman is a software engineer at Codecademy in New York. She has spoken at several conferences on topics ranging from ReactJS to musical programming and Arduinos. In her spare time, she enjoys building electronic musical instruments, tinkering with hardware projects, and laser-cutting chocolate. Find her on Twitter as @brindelle.", + "speaker_photo": "bonnie-eisenman.png", + "youtube_link": "67Y-wH0FJFg", + "transcript": "bonnie-eisenman", + "order": 0, + "speaker_bio": "Bonnie Eisenman is a software engineer at Codecademy in New York. She has spoken at several conferences on topics ranging from ReactJS to musical programming and Arduinos. In her spare time, she enjoys building electronic musical instruments, tinkering with hardware projects, and laser-cutting chocolate. Find her on Twitter as @brindelle.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Kevin Lynagh", + "title": "I made a cell phone! (DON'T TELL THE FCC KTHX!)", + "description": "Cell phones are awesome! But how do they work? We all know there's a part you talk into and a part that your friend talks out of, BUT WHAT HAPPENS INSIDE?\n\nI decided to find out by designing and building my very own cell phone out of resistors and capacitors and other really small stuff. (I had to buy tweezers.)\n\nThis talk will overview this adventure, which also includes wood-cutting robots and a computer that is TOO SMALL FOR JAVASCRIPT.\n\nKevin Lynagh is a Portland, Oregon-based designer and computerist at Keming Labs. He has designed software for wind turbine technicians, meteorologists, and manufacturers of hipster housewares. When Kevin is not computering, he enjoys industrial design, Olympic lifting, and snacks.", + "speaker_photo": "kevin-lynagh.png", + "youtube_link": "FlRa-iH7PGw", + "transcript": "kevin-lynagh", + "order": 0, + "speaker_bio": "Kevin Lynagh is a Portland, Oregon-based designer and computerist at Keming Labs. He has designed software for wind turbine technicians, meteorologists, and manufacturers of hipster housewares. When Kevin is not computering, he enjoys industrial design, Olympic lifting, and snacks.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Mary Rose Cook", + "title": "Git from the inside out!", + "description": "The joy, excitement, and surprise of programming\n\nMay 16-17, 2015 in NYC\n\nMary is a programmer. She wrote Gitlet, an implementation of Git in JavaScript. She made Isla, a programming language and dev environment for children. She wrote two games, Pistol Slut and Empty Black. She works at the Recurse Center. She tweets @maryrosecook. She lives in New York City.", + "speaker_photo": "mary-rose-cook.png", + "youtube_link": "UZ-geQQr45o", + "transcript": "mary-rose-cook", + "order": 0, + "speaker_bio": "Mary is a programmer. She wrote Gitlet, an implementation of Git in JavaScript. She made Isla, a programming language and dev environment for children. She wrote two games, Pistol Slut and Empty Black. She works at the Recurse Center. She tweets @maryrosecook. She lives in New York City.", + "keynote": true, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Scott Vokes", + "title": "The Burrows-Wheeler Transform: Better Compression with a Reversible Sort!!", + "description": "The Burrows-Wheeler Transform is my favorite algorithm! It partially sorts data, exposing structural patterns that make other compression algorithms more effective. Amazingly, the original input can be recovered from just the transformed data with just a starting offset.\n\nIn this talk, I'll give a bit of background info about the BWT and its uses, then reveal the insights that make it possible. I'll build up a straightforward version in Python, then show optimizations a production implementation might make.\n\nScott is a consultant at Atomic Object, where he builds embedded and distributed systems. Outside of work, his research interests include information retrieval — recent open source contributions include a data compression library for hard real-time systems, testing tools for C, and a content-addressable store.", + "speaker_photo": "scott-vokes.png", + "youtube_link": "6hZ-j0B_Dhc", + "transcript": "scott-vokes", + "order": 0, + "speaker_bio": "Scott is a consultant at Atomic Object, where he builds embedded and distributed systems. Outside of work, his research interests include information retrieval — recent open source contributions include a data compression library for hard real-time systems, testing tools for C, and a content-addressable store.", + "keynote": false, + "organizer": false, + "all_years": [ + "2017", + "2015" + ] + }, + { + "year": "2015", + "author": "Fiona Condon", + "title": "Eternal Sunshine of the Spotless Search Index!!", + "description": "Search engines are designed for remembering, but sometimes you need to forget. I built a custom search engine in Python to help me quit my time-suck nail art habit and my cuticles have never felt better. I'll show you how to use ranking techniques to hide dangerous reminders, text normalization as a safeguard against ill-advised nostalgia, and token blacklists to forget about the old you once and for all.\n\nFiona is a senior software engineer on Etsy's search experience team, drawing from decades of experience losing and finding her stuff. She lives in Brooklyn and loves reality TV and McDonald's breakfast.", + "speaker_photo": "fiona-condon.png", + "youtube_link": "T38r5sDeUM0", + "transcript": "fiona-condon", + "order": 0, + "speaker_bio": "Fiona is a senior software engineer on Etsy's search experience team, drawing from decades of experience losing and finding her stuff. She lives in Brooklyn and loves reality TV and McDonald's breakfast.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Nick Doiron", + "title": "Git Pushes from Paradise: Adding a remote island alphabet to Wikipedia!", + "description": "On Majuro Atoll, in the Republic of the Marshall Islands, I was tasked with setting up a technology education program. The students and teachers were among the 50,000 people in the world who speak Marshallese, a language I knew next to nothing about. Even typing the characters of the Marshallese alphabet can be a challenge, and writing apps to support Marshallese proved difficult.\n\nI discovered that most people use a custom font to read and write Marshallese letters by replacing x's, k's, and other letters on their American keyboards. Through some hacking with Unicode, JavaScript, and GitHub, I got a special keyboard added to Wikipedia and its open source library jQuery.IME. And I ended up with some useful internationalization and localization knowledge!\n\nNick Doiron is a web developer and mapmaker at the Museum of Modern Art. He has developed several open source applications with One Laptop per Child and Code for America. He is currently developing a multilingual eBook reader with a grant from the USAID All Children Reading program.", + "speaker_photo": "nick-doiron.png", + "youtube_link": "rHaK5bW2wgQ", + "transcript": "nick-doiron", + "order": 0, + "speaker_bio": "Nick Doiron is a web developer and mapmaker at the Museum of Modern Art. He has developed several open source applications with One Laptop per Child and Code for America. He is currently developing a multilingual eBook reader with a grant from the USAID All Children Reading program.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Allison Nelson", + "title": "Dissecting a Bestseller: The Art and Science of Storytelling!", + "description": "Storytelling has been a pastime since the beginning of humankind, but in the last few years more voices than ever before are being heard, thanks to the internet. Book publishing is no longer an industry guarded by gatekeepers and publishing houses, and anyone can publish works through services such as Kindle Direct Publishing.\n\nBeing an independent author myself, I wondered: what makes a bestseller? Are there trends? Is there some magical formula for book success? I analyzed dozens of books from the bestseller lists on Amazon using natural language processing algorithms. By combining the age-old craft of storytelling with new tools for data analysis, I investigate just what makes a bestseller tick.\n\nAllison Nelson is an engineer from San Francisco where she spends her time building data tools, writing fantastical stories, and enjoying the sunshine. Her two biggest passions are programming and writing, and she's happiest when combining the two. The size of her hair is matched only by the size of her ideas.", + "speaker_photo": "allison-nelson.png", + "youtube_link": "xWJ-JdAhLMo", + "transcript": "allison-nelson", + "order": 0, + "speaker_bio": "Allison Nelson is an engineer from San Francisco where she spends her time building data tools, writing fantastical stories, and enjoying the sunshine. Her two biggest passions are programming and writing, and she's happiest when combining the two. The size of her hair is matched only by the size of her ideas.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Joshua Wise", + "title": "Recovering data from an SD card — the hard way!", + "description": "A while ago, I accidentally snapped an SD card in half. It had a bunch of photos on it that I didn't have backed up, but on the other hand, I don't believe in losing data! After discovering that the memory chip on it was still intact, but that the controller chip was dead, I decided to try to pull the data out of the raw memory chip. Along the way, I learned a whole bunch of stuff about flash memory. I also learned that people jump through a lot of hoops in order to make flash memory behave like a hard drive, when in reality, the two aren't much alike at all!\n\nIn this talk, I'll tell you more about the story of putting the pieces back together, and I'll give you an introduction to some of those strange things that people do with flash. Also, you can laugh at me for not making backups.\n\nHosted on GitHub Pages. Previously: !!Con 2014.\n\nJoshua spends most of his time at work during the week alternating between writing specifications that turn into chips and reading climbing blogs. He doesn't really believe in learning his lesson, either, and probably will show up to his talk with an SD card hanging out of the side of his laptop, ready to be smashed in half once again.\n\nHosted on GitHub Pages. Previously: !!Con 2014.", + "speaker_photo": "joshua-wise.png", + "youtube_link": "wEgQgj_v7T4", + "transcript": "joshua-wise", + "order": 0, + "speaker_bio": "Joshua spends most of his time at work during the week alternating between writing specifications that turn into chips and reading climbing blogs. He doesn't really believe in learning his lesson, either, and probably will show up to his talk with an SD card hanging out of the side of his laptop, ready to be smashed in half once again.\n\nHosted on GitHub Pages. Previously: !!Con 2014.", + "keynote": false, + "organizer": true, + "all_years": [ + "2020", + "2015" + ] + }, + { + "year": "2015", + "author": "Simon Sapin", + "title": "Cross-platform file names in Rust: a wonderful and horrifying hack!", + "description": "On Unix, file names (and other strings in system APIs) are arbitrary 8-bit bytes — usually UTF-8, but not necessarily. On Windows, they're \"wide\" strings of arbitrary 16-bit units — usually UTF-16, but not necessarily.\n\nEither way, your program should not crash when it encounters a weird file name. The Rust standard library has a clever hack to deal with this in cross-platform code and mostly hide the complexity from users. Let's dive into the gory details!\n\nSimon works at Mozilla Research on Servo, a new browser engine written in Rust and designed from the ground up for parallelism and safety. He also works on CSS specifications at W3C's CSS Working Group.", + "speaker_photo": "simon-sapin.png", + "youtube_link": "K2PRjmvOY9Y", + "transcript": "simon-sapin", + "order": 0, + "speaker_bio": "Simon works at Mozilla Research on Servo, a new browser engine written in Rust and designed from the ground up for parallelism and safety. He also works on CSS specifications at W3C's CSS Working Group.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Allison Kaptur", + "title": "Limitless and recursion-free recursion limits!", + "description": "You might have hit the recursion limit in Python. But \"recursion\" isn't quite right — we can hit it without any recursion! \"Limit\" is right...but it doesn't have to be! In this talk, I'll show a tremendously silly Python bytecode hack to circumvent the limit.\n\nAllison Kaptur gets inexplicable delight from Python internals. She worked at Recurse Center as a facilitator for two years before joining Dropbox. She now lives in San Francisco and tries to be outside as much as possible.", + "speaker_photo": "allison-kaptur.png", + "youtube_link": "Qk1I6ZxcceU", + "transcript": "allison-kaptur", + "order": 0, + "speaker_bio": "Allison Kaptur gets inexplicable delight from Python internals. She worked at Recurse Center as a facilitator for two years before joining Dropbox. She now lives in San Francisco and tries to be outside as much as possible.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015", + "2014" + ] + }, + { + "year": "2015", + "author": "Max Veytsman", + "title": "i'm in ur javaz haxxing ur codez!", + "description": "Every time you start a new Java (or Clojure, Scala, and so on) project, your build tool will automagically download a bunch of code from the internet for you. Until last summer, that code was downloaded in the clear. Until last summer, someone sitting in the coffee shop where you code could surreptitiously inject lolcats directly into the Java bytecode you thought you were downloading.\n\nIn this talk, I will show you exactly how to hijack HTTP sessions of unsuspecting strangers who happen to be fetching Java bytecode and infest their code with unimpressed kittens.\n\nI'll go over how to decompile Java class files, how to draw furry animals using Java bytecode, and how to inject this bytecode into Java archives without breaking what the library actually does. And I'll tell you how I convinced the company that hosts your Java packages to start using SSL.\n\nMax Veytsman is a recovering penetration tester. He rediscovered his love for programming at the Recurse Center, and is now spending his days building Canary and other tools to further automate himself out of a job.", + "speaker_photo": "max-veytsman.png", + "youtube_link": "6NdLZl16OkA", + "transcript": "max-veytsman", + "order": 0, + "speaker_bio": "Max Veytsman is a recovering penetration tester. He rediscovered his love for programming at the Recurse Center, and is now spending his days building Canary and other tools to further automate himself out of a job.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Polina Giralt & Anita Mehrotra", + "title": "The Science behind #TheDress: Measuring Virality at BuzzFeed!", + "description": "How did #TheDress gain international attention in just a few hours?\n\nWe answer this question by sharing how BuzzFeed thinks about the spread of content via social platforms. We then talk about how we use graph data to measure virality and the scaling problems we've seen along the way. Finally, we share how such analysis has led to tools that are useful to BuzzFeed's ability to rapidly disseminate critical information to a global audience.\n\nPolina is a Data Engineer at BuzzFeed, where she productionalizes prototypes and builds data things. When she's not crushing bytes, Polina can be found practicing bass guitar or snowboarding. She pronounces it 'GIF'.\n\nAnita is a Data Scientist at BuzzFeed, where she uses frequentist and Bayesian machine learning to understand how content goes viral. Originally a California girl, Anita also writes listicles, spins Soul Cycle, and teaches at Girls Who Code — sometimes at the same time (jk obvs).", + "speaker_photo": "polina-giralt-and-anita-mehrotra.png", + "youtube_link": "6a7jJVvaxh0", + "transcript": "polina-giralt-and-anita-mehrotra", + "order": 0, + "speaker_bio": "Polina is a Data Engineer at BuzzFeed, where she productionalizes prototypes and builds data things. When she's not crushing bytes, Polina can be found practicing bass guitar or snowboarding. She pronounces it 'GIF'.\n\nAnita is a Data Scientist at BuzzFeed, where she uses frequentist and Bayesian machine learning to understand how content goes viral. Originally a California girl, Anita also writes listicles, spins Soul Cycle, and teaches at Girls Who Code — sometimes at the same time (jk obvs).", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Sasha Laundy", + "title": "Spinning metal platters in the cloud!", + "description": "These days, data scientists use very powerful frameworks and tools to crunch huge amounts of data. They use frameworks that operate at a very high level of abstraction, and often spin up virtual machines that can be across the country or across the world. But even though these computers are \"in the cloud\" and this is all super abstract, you actually have to understand how the physical spinning metal hard drive works in order to write fast queries! This talk will go through a few examples of how working with the hardware in your system can make your code run literally 100,000 times faster than before!\n\nSasha is interested in using data and data science to learn more about the world. She is currently reading a lot about weightlifting, exoplanets, and genomics, and recently brewed her first batch of beer. She nevergraduated from the Recurse Center two years ago.", + "speaker_photo": "sasha-laundy.png", + "youtube_link": "DH_PH5KbO5c", + "transcript": "sasha-laundy", + "order": 0, + "speaker_bio": "Sasha is interested in using data and data science to learn more about the world. She is currently reading a lot about weightlifting, exoplanets, and genomics, and recently brewed her first batch of beer. She nevergraduated from the Recurse Center two years ago.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Lisa van Gelder", + "title": "Great Caching Disasters (and how to avoid them)!", + "description": "Whenever something has gone seriously wrong for me in production, caching has been at the root of it. Live Q&A with Julian Assange almost brought the site down? Caching fail. Servers can't cope with traffic about a new woolly rat? Caching fail. Half the site is showing sorry pages? Caching fail. This talk will use these disasters to explain why it's important to keep caching simple.\n\nLisa has over 15 years experience in software engineering, including leading and managing software development teams. Her career has taken her between London and New York, and from small startups to large media organizations, including the Guardian and the BBC. She is currently VP of Engineering at Stride.", + "speaker_photo": "lisa-van-gelder.png", + "youtube_link": "VP_I9tQQpsE", + "transcript": "lisa-van-gelder", + "order": 0, + "speaker_bio": "Lisa has over 15 years experience in software engineering, including leading and managing software development teams. Her career has taken her between London and New York, and from small startups to large media organizations, including the Guardian and the BBC. She is currently VP of Engineering at Stride.", + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ] + }, + { + "year": "2015", + "author": "Polina Giralt & Anita Mehrotra", + "title": "The Science behind #TheDress: Measuring Virality at BuzzFeed!", + "description": "How did #TheDress gain international attention in just a few hours?\n\nWe answer this question by sharing how BuzzFeed thinks about the spread of content via social platforms. We then talk about how we use graph data to measure virality and the scaling problems we've seen along the way. Finally, we share how such analysis has led to tools that are useful to BuzzFeed's ability to rapidly disseminate critical information to a global audience.\n\nAnita is a Data Scientist at BuzzFeed, where she uses frequentist and Bayesian machine learning to understand how content goes viral. Originally a California girl, Anita also writes listicles, spins Soul Cycle, and teaches at Girls Who Code — sometimes at the same time (jk obvs).", + "speaker_photo": "polina-giralt-and-anita-mehrotra.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2015" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Lindsey Kuper and Julia Evans", + "title": "Opening Words", + "description": "I used to think neural networks were magical black boxes that I could\n\nnever understand. And they kind of are! But in this talk, we're going\n\nto trick an awesome smart neural network, trained by Google, into\n\nthinking a panda is a vulture. Live. And tricking something is the\n\nfirst step towards understanding it! No prior understanding of neural\n\nnetworks or machine learning required.\n\n**Julia Evans** thinks you can be a wizard programmer.", + "speaker_photo": "julia-evans.png", + "youtube_link": "gGZl0t0WpLo", + "transcript": "", + "order": 0, + "speaker_bio": "**Julia Evans** thinks you can be a wizard programmer.", + "keynote": false, + "organizer": true, + "all_years": [ + "2016" + ] + }, + { + "year": "2016", + "author": "Catt Small", + "title": "_The Creative Programmer_", + "description": "## Keynote Speakers\n\n**Catt Small** is a product designer, game maker, and developer. She\n\nis currently making awesome things at SoundCloud. She started\n\nprogramming interactive games at the age of 10 and has been going ever\n\nsince. In her spare time, Catt organizes events and teaches game\n\ndevelopment with The Code Liberation Foundation. You can follow her\n\n[@cattsmall](http://www.twitter.com/cattsmall) on Twitter and view her\n\nwork at [www.cattsmall.com](http://www.cattsmall.com).", + "speaker_photo": "catt-small.png", + "youtube_link": "WBOA2MI4u7w", + "transcript": "", + "order": 0, + "speaker_bio": "**Catt Small** is a product designer, game maker, and developer. She\n\nis currently making awesome things at SoundCloud. She started\n\nprogramming interactive games at the age of 10 and has been going ever\n\nsince. In her spare time, Catt organizes events and teaches game\n\ndevelopment with The Code Liberation Foundation. You can follow her\n\n[@cattsmall](http://www.twitter.com/cattsmall) on Twitter and view her\n\nwork at [www.cattsmall.com](http://www.cattsmall.com).", + "keynote": true, + "organizer": false, + "all_years": [ + "2016" + ] + }, + { + "year": "2016", + "author": "Kiran Bhattaram", + "title": "The Tales of the Cursed Operating Systems Textbook!", + "description": "I have a cursed operating systems textbook --- each chapter I read\n\nunearths a new bug in the systems I work on. Come hear my tales of\n\nwoe:\n\n* the chapter on kernel data structures that conjured up memory\n\nleaks INSIDE THE KERNEL!\n\n* the catastrophic slowdown caused by the syscalls chapter, narrowly\n\naverted by the magic of `strace`!\n\n* the networking chapter and the 200ms slowdown in EVERY network\n\ncall we were making!\n\n* AND MORE!\n\nAlong our journey, we'll acquire some fantastic operating systems\n\ntools and incantations you can use to vanquish even the scariest bugs!\n\n**Kiran Bhattaram** loves making things, whether tinkering with\n\ncircuits, writing software systems, or sewing dresses. She works on\n\nStripe's infrastructure team, and has previously built things for\n\nthe New York Times, LinkedIn and MIT CSAIL.", + "speaker_photo": "kiran-bhattaram.png", + "youtube_link": "QxtwVsHxvC4", + "transcript": "", + "order": 0, + "speaker_bio": "**Kiran Bhattaram** loves making things, whether tinkering with\n\ncircuits, writing software systems, or sewing dresses. She works on\n\nStripe's infrastructure team, and has previously built things for\n\nthe New York Times, LinkedIn and MIT CSAIL.", + "keynote": false, + "organizer": true, + "all_years": [ + "2016", + "2015" + ] + }, + { + "year": "2016", + "author": "Mark Allen", + "title": ""values of β may give rise to dom!"", + "description": "In what may be the strangest error message of all time, we are warned\n\nthat values of beta may give rise to dom! This bizarre error message\n\nmade it into early UNIX releases. Why? What caused it? What is β? How\n\ncan we stop the insidious rise of dom?!\n\nUNIX publicly debuted in 1974 in an article in the _Communications of\n\nthe ACM_, and it has thrived and prospered ever since. In this talk,\n\nwe will take a whirlwind tour through the error handling subsystems of\n\nan early UNIX kernel and its utilities, with an eye toward what those\n\ntechniques tell us about system design.\n\n**Mark Allen** enjoys singing, being a dad and smoking\n\nthings...brisket, mostly.", + "speaker_photo": "mark-allen.png", + "youtube_link": "FyLnF9U18rY", + "transcript": "", + "order": 0, + "speaker_bio": "**Mark Allen** enjoys singing, being a dad and smoking\n\nthings...brisket, mostly.", + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ] + }, + { + "year": "2016", + "author": "Lydia Gu", + "title": "Ping! Are you there?", + "description": "Trying to understand ping is a good excuse for a dive into the\n\nnetworking stack! We'll break down what all the acronyms (IPv4, TCP,\n\nICMP) mean and then see how they're used in the ping utility. I'll\n\ntalk about how the implementation of ping can lead to security\n\nproblems.\n\n**Lydia** is a software engineer at Unlimited Labs. She recently moved\n\nto NYC and is excited to join the New York tech scene!", + "speaker_photo": "lydia-gu.png", + "youtube_link": "nSB53WRGY_0", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Katie Bechtold", + "title": "Code in Spaaaaaace!!!!!", + "description": "How do you write software that needs to perform perfectly a decade\n\nfrom now as it hurtles by an unexplored planet at thirty thousand\n\nmiles per hour? Welcome to the world --- er, universe :) --- of\n\ninterplanetary spacecraft flight software, where \"launching\" your\n\nsoftware takes on a whole new meaning. Cosmic rays, constrained\n\nmemory, execution time limits, and billions of miles between\n\nmaintainer and program are a few of the challenges we'll explore in\n\nthis talk.\n\nBefore running the New Horizons spacecraft as a flight controller for\n\nthe first-ever reconnaissance of Pluto and Charon, **Katie** wrote\n\nflight software for that spacecraft and one of the scientific\n\ninstruments aboard a Mercury orbiter. They love practicing the Way of\n\nTea and mucking about in caves.", + "speaker_photo": "katie-bechtold.png", + "youtube_link": "ETgNLF_XpEM", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Allison Parrish", + "title": "Lossy text compression, for some reason?!", + "description": "Although it had been hovering at the edge of my consciousness for\n\ndecades, I only recently came to really understand how JPEG\n\ncompression works. I'm a poet, so once I had this insight---OMG\n\nEVERYTHING IS A WAVEFORM---I had to find some way to apply this\n\nprocedure to text. Compressing text with a lossy algorithm seems, on\n\nthe surface, to be completely pointless. BUT IS IT?! In this talk I\n\nwill discuss my experiments with lossy text compression and show how\n\nthe outputs range from completely useless to strangely poetic to\n\nmaybe, actually, dare I say it... practical?\n\n**[Allison Parrish](http://www.decontextualize.com/)** is a computer\n\nprogrammer, poet, educator and game designer who lives in\n\nBrooklyn. Her teaching and practice address the unusual phenomena that\n\nblossom when language and computers meet.", + "speaker_photo": "allison-parrish.png", + "youtube_link": "meovx9OqWJc", + "transcript": "", + "order": 0, + "speaker_bio": "**[Allison Parrish](http://www.decontextualize.com/)** is a computer\n\nprogrammer, poet, educator and game designer who lives in\n\nBrooklyn. Her teaching and practice address the unusual phenomena that\n\nblossom when language and computers meet.", + "keynote": false, + "organizer": false, + "all_years": [ + "2020", + "2019", + "2016", + "2014" + ] + }, + { + "year": "2016", + "author": "Brendan Curran Johnson", + "title": "A Shot in the Dark!", + "description": "Cameras can be intimidating to new photographers. They're full of\n\noptions and toggles that don't always have obvious results. Preset\n\nmodes make it easier to take great photos, but their underlying\n\nmechanics often remain a mystery. Learn how to reverse-engineer a\n\npreset camera mode and uncover the secrets contained in these (often\n\nliteral) black boxes.\n\n**Brendan** writes code for a living and takes photos for fun. He\n\nstill has a lot to learn about both.", + "speaker_photo": "brendan-curran-johnson.png", + "youtube_link": "izq_9s6nkO4", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Sher Minn Chong", + "title": "Plants are Recursive!!: Using L-Systems to Generate Realistic Weeds", + "description": "Plants and programming are more related than you might realize! Trees,\n\nshrubs and weeds may look complex, but with the magic of recursion, we\n\ncan describe them with just a few simple rules.\n\nWe'll explore how we can use the recursive nature of L-Systems to\n\ncreate complex and natural-looking plants. And why stop at plants?\n\nWe'll also see how L-Systems can be used to describe some of our\n\nfavourite fractals such as Sierpinski's triangle and the Dragon curve,\n\nand how they can be used to create art.\n\n**[Sher Minn](http://twitter.com/piratefsh)** is a part programmer and part fractal enthusiast from Malaysia. She never-graduated from the Recurse Center in 2015 and is currently a front-end web engineer at Viki. She enjoys running, making art with code, and posing awkwardly for photos.", + "speaker_photo": "sher-minn-chong.png", + "youtube_link": "0eXg4B1feOY", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Diana Liao", + "title": "Mixing Paint! With Computers!", + "description": "Mixing paints is fairly straightforward: with the primary colors red,\n\nyellow and blue, you make orange by mixing red and yellow, green by\n\nmixing yellow and blue, and purple by mixing red and blue.\n\nBut what if you're trying to mix paints digitally, where the colors\n\nare reduced to a series of numbers? Suddenly, things aren't so\n\nstraightforward: how do you even blend colors? By averaging the values\n\nfor the two colors? That can give pretty wonky results: using RGB\n\nnotation (red-green-blue, the most common in art programs and in CSS\n\n--- which doesn't even assume yellow as a primary color!), mixing blue\n\nand yellow would give you an...interesting shade of grey. And then\n\nwhat happens if the color isn't even represented with RGB?\n\nThis talk will be an introduction to how computers represent colors,\n\nas well as some techniques for how realistic (or non-realistic...)\n\ncolor blending is achieved by various programs and algorithms.\n\n**Diana** is a college student who studies computer science mostly\n\nbecause they like pretty computer things, and spends most of their\n\ntime drawing or programming. Or making video games, since that\n\ninvolves drawing and programming.", + "speaker_photo": "diana-liao.png", + "youtube_link": "EIecGXs8jqY", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Andreas Fuchs", + "title": "I’m not a number, I’m a free file descriptor!!1 (Our protagonist promptly disappears down a wormhole)", + "description": "**_I'm not a number, I'm a free file descriptor!!1 (Our protagonist\n\npromptly disappears down a wormhole)_**\n\nFile descriptors are the things that tie Unix programs together ---\n\nthey let your program work with files, sockets, terminals, and even\n\nweirder, abstracter-er things!\n\nOur programs can pass file descriptors around via process inheritance,\n\nor we can pass them down (you guessed it!) another file descriptor,\n\nwhich is a pretty neat solution to some problems!\n\nBut things get REALLY WEIRD and FUN once you realize you can pass\n\nthose file descriptors down themselves, back to your own program. Why\n\nwould you do that, and how?! We will find out!\n\n[**Andreas**](https://boinkor.net) is a full-time punner and\n\noccasional programmer. By day, he builds systems at Stripe, and at\n\nnight he tries to extract music from a weird instrument.", + "speaker_photo": "andreas-fuchs.png", + "youtube_link": "_XgXCVULj0o", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Kamal Marhubi", + "title": "Storing your data in kernel space: an excellent bad idea!", + "description": "Normally, when you make a database, you store your data in memory, or\n\non disk. User memory. But what if you stored your data in the kernel's\n\nmemory instead? This is a bad idea, but it is possible! Imagine a\n\ndatabase where all the data is in pipes! I'll talk about how to build\n\nthis, why pipes are so cool, and, briefly, how you can use them to do\n\nsmart things instead of silly things.\n\n**Kamal Marhubi** loves programming, systems, and ringing bells.", + "speaker_photo": "kamal-marhubi.png", + "youtube_link": "gg0xNgHrAAc", + "transcript": "", + "order": 0, + "speaker_bio": "**Kamal Marhubi** loves programming, systems, and ringing bells.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2016", + "2015" + ] + }, + { + "year": "2016", + "author": "Samy Al Bahra", + "title": "Debugging debuggers!!!", + "description": "Debuggers are one of the most important tools in the programmer's\n\ntoolkit, but also one of the most overlooked pieces of\n\ntechnology. They have to work in some of the harshest conditions,\n\nsupporting a huge set of programming languages and aggressive\n\ntransformations by compilers. What makes them work? And when don't\n\nthey work?\n\nIn this talk, I will take you on a journey to some of the darkest and\n\nmost confusing pits of systems programming involving debug formats,\n\ncompilers and process control. I will describe situations where\n\ndebuggers have failed you, and why. If you're not hacking on debuggers\n\nand are not a masochist, you will walk away with an increased\n\nappreciation of life.\n\n**Samy** is the co-founder of Backtrace, where he helps build an\n\nintegrated debugging platform with debuggers that try to automatically\n\ndebug. He lives in Brooklyn and his passions include software\n\nperformance and multicore synchronization and run-on sentences.", + "speaker_photo": "samy-al-bahra.png", + "youtube_link": "OEa0EfJja_Y", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Laura Lindzey", + "title": "Convolution and the Fourier Transform: Math! (in pictures!!)", + "description": "Do you want to understand how GPS or cell phones work? MP3 or JPEG\n\ncompression? Are you playing with image processing? Solving PDEs?\n\nLearning about how to process ice-penetrating radar data used for\n\nstudying Antarctica? (errrr...that's me.)\n\nConvolution and the Fourier transform are mathematical tools that make\n\nall of these possible. I think that the way these tools are usually\n\npresented is intimidating and non-intuitive. I think in pictures, not\n\nequations, so this talk attempts to give a graphical intuition of what\n\nthese techniques actually do and where they can be useful, with\n\nexamples from my own work.\n\n**Laura Lindzey** is an ex-physics-major turned roboticist (turned\n\ngeophysicist). She loves playing with robots and is obsessed with\n\nAntarctica, so she is working on combining the two to more efficiently\n\ncollect scientific data.", + "speaker_photo": "laura-lindzey.png", + "youtube_link": "rzCO5fQysw0", + "transcript": "", + "order": 0, + "speaker_bio": "**Laura Lindzey** is an ex-physics-major turned roboticist (turned\n\ngeophysicist). She loves playing with robots and is obsessed with\n\nAntarctica, so she is working on combining the two to more efficiently\n\ncollect scientific data.", + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ] + }, + { + "year": "2016", + "author": "Jennifer Fernick", + "title": "All Together Now! Programming the Quantum Computer", + "description": "In this talk, we unravel the sublime beauty of programming in an\n\nabstract and philosophical way, not by moving away from the laws of\n\nphysics, but by moving toward them. In particular, I will introduce\n\nrecent work on programming languages designed for quantum computers,\n\nand explain how they are related to some of the biggest questions in\n\ncomputer science, information theory, and quantum mechanics.\n\n**Jennifer** is a PhD candidate at the Institute for Quantum Computing\n\nat the University of Waterloo (Canada). She thinks classical physics\n\nis weird.", + "speaker_photo": "jennifer-fernick.png", + "youtube_link": "-KDPg6BntwU", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Mark Phillips", + "title": "Upstream/Downstream: Discovering and Displaying Watershed Topology!", + "description": "Where does the rain go once it hits the ground? Some of it soaks into\n\nthe ground, and some of it evaporates. The rest flows into creeks,\n\nstreams, lakes, and rivers, eventually making its way to an ocean.\n\nThe route that this water takes is described by thousands of regions\n\ncalled watersheds. Visualizing how these regions connect to each\n\nother involves finding and reformatting some public data, a bit of fun\n\ngraph algorithm coding, and some challenging graphics performance\n\nissues associated with the display of 100,000 polygons in your\n\nbrowser! Come see a demonstration of an interactive open source web\n\napplication that you can use to see everything that is upstream or\n\ndownstream from any location!\n\n**Mark** has been writing software and playing in creeks and streams\n\nfor several decades. He loves the natural world, geometry, and\n\nprogramming, and is especially delighted whenever he's able to combine\n\nall three of these things. He currently lives in NYC and is the\n\nCTO of FernLeaf Interactive, an environmental data technology startup.", + "speaker_photo": "mark-phillips.png", + "youtube_link": "7EwcL_isA-c", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Mark Dominus", + "title": "My favorite NP-complete problem!", + "description": "NP-complete problems are the hardest problems whose solutions can be\n\nefficiently checked for correctness. An efficient method of solving\n\nany NP-complete problem would translate directly into efficient\n\nsolutions for all of them.\n\nMany famous and interesting problems are NP-complete, but this is not\n\none of them! This is the problem of how to distribute “Elmo’s World”\n\nsegments onto a series of video releases.\n\nNobody knows a good way to solve NP-complete problems. The Elmo’s\n\nWorld people were not able to solve their problem either.\n\n[**Mark Dominus**](http://blog.plover.com/) first became interested in programming in the mid-1970s from\n\nwatching his mom do it. He is thrilled to find his bio\n\nadjacent to Julia Evans’ and will gleefully treasure his screenshot of\n\nthis page.", + "speaker_photo": "mark-jason-dominus.png", + "youtube_link": "BJBnR5Sn-sc", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017", + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Ramsey Nasser", + "title": "_The Unfortunate Value of Failure_", + "description": "**Ramsey Nasser** is a Lebanese computer scientist, game designer, and\n\neducator based in Brooklyn. He researches programming languages by\n\nbuilding tools to make computation more expressive and implementing\n\nprojects that question the basic assumptions we make about code\n\nitself. His games playfully push people out of their comfort zones,\n\nand are often built using experimental tools of his design. A former\n\nEyebeam fellow and a member of Kitchen Table Coders, when he is not\n\nreasoning about abstract unintuitive machines, he builds and maintains\n\nvintage motorcycles.", + "speaker_photo": "ramsey-nasser.png", + "youtube_link": "JrwBDKV-6pQ", + "transcript": "", + "order": 0, + "speaker_bio": "**Ramsey Nasser** is a Lebanese computer scientist, game designer, and\n\neducator based in Brooklyn. He researches programming languages by\n\nbuilding tools to make computation more expressive and implementing\n\nprojects that question the basic assumptions we make about code\n\nitself. His games playfully push people out of their comfort zones,\n\nand are often built using experimental tools of his design. A former\n\nEyebeam fellow and a member of Kitchen Table Coders, when he is not\n\nreasoning about abstract unintuitive machines, he builds and maintains\n\nvintage motorcycles.", + "keynote": true, + "organizer": false, + "all_years": [ + "2016" + ] + }, + { + "year": "2016", + "author": "Sina Bahram", + "title": "How I Code and Use a Computer at 1,000 WPM!!", + "description": "I use a computer very differently than most people, because I'm\n\nblind. When I'm surfing the web, tweeting, checking email, reading the\n\nnews, and writing code, I'm doing so because a program called a screen\n\nreader is reading me what's on the screen. I happen to listen to it\n\nread me this text at a thousand words per minute! Join me in listening\n\nto how I experience some common user interfaces. Yes, I'll slow it\n\ndown for you. I also have a challenge for everyone in the\n\naudience. Can you get through a day only using the keyboard? What\n\nabout not looking at your screen?\n\n**Sina Bahram** is an accessibility consultant, researcher, and\n\nentrepreneur. He is the founder of Prime Access Consulting (PAC), an\n\naccessibility firm whose clients include high-tech startups, fortune\n\n1000 companies, and both private and nationally-funded museums.", + "speaker_photo": "sina-bahram.png", + "youtube_link": "G1r55efei5c", + "transcript": "", + "order": 0, + "speaker_bio": "**Sina Bahram** is an accessibility consultant, researcher, and\n\nentrepreneur. He is the founder of Prime Access Consulting (PAC), an\n\naccessibility firm whose clients include high-tech startups, fortune\n\n1000 companies, and both private and nationally-funded museums.", + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ] + }, + { + "year": "2016", + "author": "Rob Jefferson", + "title": "What Developers and Economists Can Learn from Each Other!", + "description": "_(Note: This talk was originally scheduled to appear at !!Con 2015.)_\n\nIn the past twenty-ish years, I've had a variety of professional roles:\n\nsysadmin, researcher, shipping-container-farm designer, grad student in\n\neconomics, and most recently developer and devops engineer. One of my\n\nfavorite things is using what I've learned in one field in others.\n\nWhen I began doing development, there were skills and practices I was\n\nlearning that would have helped me as an economist (writing good tests,\n\nmodular software design). Similarly, I learned lessons while studying\n\neconomics that I've taken with me to development (recognizing endogeneity biases,\n\nmaking technical decisions at the margin, using feedback to automate\n\nprocesses). There are also things that both developers and economists\n\ncan and should learn, especially about the limitations of their respective\n\ntoolkits, as well as the importance of working with compassion and empathy.\n\nIn this talk, I'd like to share some of these lessons, with examples\n\nof how the lessons connect with each other.\n\n**[Rob](http://techstep.org)** is a Philadelphia dilettante devops engineer\n\nworking on automating all the things(!). He enjoys parenting, fountain pens,\n\nmaking music, and learning good OPSEC from his kid.", + "speaker_photo": "rob-jefferson.png", + "youtube_link": "mwnOiblMWC0", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016", + "2015" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Brendan Cordy", + "title": "Making Money Disappear with Hash Functions!", + "description": "What is a Bitcoin address? Where do all those weird letters and\n\nnumbers come from!? Once we figure it out, we can dig deep between the\n\ncushions of the cryptocurrency couch and find lost coins claimed by\n\nbugs.\n\nYou might think this would dissuade me from trying to generate\n\naddresses and transactions from scratch, but it didn't. Watch in\n\nhorror as I put my own money at the mercy of my code.\n\n**Brendan** teaches people math, bikes up hills, and creates beer. He\n\nwill probably never realize that doing things from scratch is often\n\na bad idea.", + "speaker_photo": "brendan-cordy.png", + "youtube_link": "GU8YzFmBIc4", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Mark Wunsch", + "title": "lol im so random!", + "description": "Randomness has many applications in computing ranging from\n\ncryptography and statistics to generative art and simulation, but\n\nwhere does randomness *come from*? When you ask for a random number\n\nfrom your system, how truly random is it?\n\nThis talk will explore randomness in software practice in a variety of\n\ncontexts. Touching on sources of entropy, pseudo-random number\n\ngeneration, and what it means to be cryptographically secure, this\n\ntalk will explore both the algorithms and the APIs that supply us with\n\nrandom numbers. This talk will also cover the mechanisms for testing\n\nand verifying statistical randomness. Interspersed seemingly randomly\n\nthroughout will be some great examples of bots, games, and generative\n\nart that use randomness and procedural generation in creative and\n\nunusual ways. You will come away from this high-level overview with a\n\nnewfound sense of respect and awe for the humble `Math.random()`.\n\n**Mark Wunsch** is an engineering manager who enjoys giving talks on\n\nabstruse technical topics. Ask him about AWK! He lives in Manhattan\n\nwith his wife and their adorable pets.", + "speaker_photo": "mark-wunsch.png", + "youtube_link": "pdUCK_io9SQ", + "transcript": "", + "order": 0, + "speaker_bio": "**Mark Wunsch** is an engineering manager who enjoys giving talks on\n\nabstruse technical topics. Ask him about AWK! He lives in Manhattan\n\nwith his wife and their adorable pets.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2016", + "2014" + ] + }, + { + "year": "2016", + "author": "Tef", + "title": "A million things to do with a computer!", + "description": "Back in 1971, Cynthia Solomon and Seymour Papert wrote \"Twenty things\n\nto do with a computer\", about their experiences of teaching children\n\nto use Logo and their ideas for the future.\n\nThey were wrong: There's a lot more than twenty. Logo's successor,\n\nScratch, has over thirteen million things that children and adults\n\nalike have built. Scratch is radically approachable in a way that puts\n\nevery other language to shame.\n\nThis talk is about the history, present, and future of Scratch: why\n\nScratch is about 'coding to learn', and not about 'learning to code'.\n\n**[tef](http://programmingisterrible.com/)** spent half a year working\n\nat Code Club, running workshops, talks, and writing articles and\n\ncurriculum materials for 9 to 11 year olds across the UK. Teaching is\n\nhard work, which is why tef left, and now tef reboots computers for\n\nmoney. Scratch is still tef's favourite programming language.", + "speaker_photo": "tef.png", + "youtube_link": "vU9myNJI9l4", + "transcript": "", + "order": 0, + "speaker_bio": "**[tef](http://programmingisterrible.com/)** spent half a year working\n\nat Code Club, running workshops, talks, and writing articles and\n\ncurriculum materials for 9 to 11 year olds across the UK. Teaching is\n\nhard work, which is why tef left, and now tef reboots computers for\n\nmoney. Scratch is still tef's favourite programming language.", + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ] + }, + { + "year": "2016", + "author": "Anne Decusatis", + "title": "My favorite Unicode character: the zero-width joiner!", + "description": "Some people have favorite numbers, and since character encodings are\n\nbasically mappings from binary numbers to characters, I think it's\n\npretty much equivalent to say I have a favorite character! U+200D ZERO\n\nWIDTH JOINER (ZWJ) is used to combine separate characters, usually in\n\nIndic and Arabic scripts. In my life as an English speaker and writer,\n\nit’s used to make combinations of emoji, such as 👩+‍❤️‍+👩= 👩‍❤️‍👩. I'll\n\ntalk about how and why this works, and how it might affect the text\n\nthat users submit and you display.\n\n(If the emoji in this abstract don't combine into one image on the right,\n\ntry viewing on a recently updated smartphone.)\n\n**Anne DeCusatis** is currently a Core Engineer at Meetup. In her spare time,\n\nshe organizes MergeSort NYC, a feminist hackerspace.", + "speaker_photo": "anne-decusatis.png", + "youtube_link": "4wevZ1vohDY", + "transcript": "", + "order": 0, + "speaker_bio": "**Anne DeCusatis** is currently a Core Engineer at Meetup. In her spare time,\n\nshe organizes MergeSort NYC, a feminist hackerspace.", + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ] + }, + { + "year": "2016", + "author": "Jake Levine", + "title": "Sorting is as easy as 1, 2, 3 --- but not as easy as a, b, c!", + "description": "The task of sorting a list of strings alphabetically can sound\n\ntrivial, but in fact it's very tricky! We discovered this the hard\n\nway when attempting to alphabetically sort a list of names in\n\nJapanese. The Japanese written language employs four different\n\nalphabets, and an ordering often based on pronunciation. When multiple\n\nalphabets are at play, how do computers know what the right ordering\n\nshould be? And then what happens to the sorting when pronunciations\n\nof words change depending on their context? We will discuss how using\n\na Collator can solve some of these problems, and what else you can do\n\nin order to address the rest of them. Be prepared for your assumptions\n\nabout text and language to be challenged!\n\n[**Jake**](http://jgl.nyc) is a Core Engineering Manager at Meetup\n\nin NYC, and currently leads the International team there. He previously\n\nstudied Software Engineering at McGill University. In his spare time,\n\nJake likes to explore the vast array of culinary options that NYC has\n\nto offer.", + "speaker_photo": "jake-levine.png", + "youtube_link": "kmLHuKs0M10", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Wilkie", + "title": "Preserving Digital Art and Games for 100 Years!", + "description": "Digital art, both non-interactive and interactive, has been an\n\nimportant part of the digital age. Video games are the most obvious\n\nexample: interactive real-time art and narrative. There is much more!\n\nThe demoscene, for instance, is a culture of digital art where people\n\ncreate real-time computer-generated art as close to the metal of the\n\nmachine as possible. It is sad to see these incredible pieces lost to\n\ntime.\n\nIn this talk, I will discuss a tool called OCCAM that can\n\nintelligently determine how to build a virtual machine to run any\n\ndigital object. We will preserve and run old art and old DOS games\n\nwithin a web browser using tools including, but not limited to,\n\nvirtual machines and Docker. We will hopefully learn to appreciate art\n\nthat is old but new to us!\n\n**wilkie** is a digital archivist and software developer and is not a\n\nproper noun.", + "speaker_photo": "wilkie.png", + "youtube_link": "R9b5TNOlyRo", + "transcript": "", + "order": 0, + "speaker_bio": "**wilkie** is a digital archivist and software developer and is not a\n\nproper noun.", + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ] + }, + { + "year": "2016", + "author": "Adam Marcus", + "title": "Don’t forget to sketch! Running with large datasets", + "description": "Large datasets got you down? Have no fear! Make them small! Sketches\n\nare probabilistic data structures: they store a rough outline of a\n\ndataset in way less space than the dataset itself takes up. We'll\n\nsketch out three sketches to determine if an item is missing from your\n\ndataset (Bloom Filters!), count how many of an item are in your\n\ndataset (Count-min Sketches!), and count how many distinct items are\n\nin your dataset (HyperLogLogs!). In the spirit of the sketch, this\n\ntalk will be hand-drawn (!!!) and leave some details to the\n\nimagination!\n\n**Adam** is the co-founder of Unlimited Labs, an NYC-based startup\n\ndedicated to the future of creative and analytical work. Before\n\nUnlimited Labs, he led the data team at Locu/GoDaddy, got his Ph.D. at\n\nMIT's CSAIL, and ate an entire tub of hummus in Jerusalem, where tubs\n\nof hummus are pretty big!", + "speaker_photo": "adam-marcus.png", + "youtube_link": "79x0vMZ89Vw", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Anjana Vakil", + "title": "They're functional! They're efficient!! They’re persistent data structures!!!", + "description": "**_They're functional! They're efficient!! They're persistent data\n\nstructures!!!_**\n\nFunctional programming is a cool paradigm to work in, because avoiding\n\nmutable objects can save you a lot of headaches! But when you're using\n\nonly immutable objects, you have to create a new object each time\n\nsomething changes, which means copying even the parts that didn't\n\nchange! This can slow things down, and you might even run out of\n\nmemory!\n\nFear not: persistent data structures to the rescue! They save you\n\ntime and space when modifying objects, by reusing parts of the old\n\nobject that you don't need to change! Let's find out what that means\n\nand why it is SO AWESOME! And let's learn how to easily use these\n\nstructures in JavaScript!\n\n**[Anjana](https://vakila.github.io/)** suffers from a debilitating\n\ncase of curiosity, which led her from philosophy to English teaching\n\nto speech technology to software development. She attended the Recurse\n\nCenter (!) in Fall 2015, and is currently based in Germany.", + "speaker_photo": "anjana-vakil.png", + "youtube_link": "vo2A_FBleW4", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2022", + "2021", + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Valerie Aurora", + "title": "How I fixed UNIX atime! With 10 lines of code and feminism!!!", + "description": "File systems are way too hard for ordinary people to understand,\n\nright? No way!!! I'll explain how I saved billions of unnecessary disk\n\nwrites by fixing one of the oldest file system problems in existence\n\n--- UNIX file access time updates! I'll explain it in terms even a\n\ncomputer beginner can understand! And I'll show how feminism helped me\n\ndo it!!!\n\n**Valerie Aurora** is a former Linux kernel file systems hacker turned\n\ndiversity in tech consultant at\n\n[Frame Shift Consulting](http://frameshiftconsulting.com). She co-founded\n\nthe [Ada Initiative](http://adainitiative.org) and loves giant squid and\n\nball lightning.", + "speaker_photo": "valerie-aurora.png", + "youtube_link": "fHjsdyN4UK0", + "transcript": "", + "order": 0, + "speaker_bio": "**Valerie Aurora** is a former Linux kernel file systems hacker turned\n\ndiversity in tech consultant at\n\n[Frame Shift Consulting](http://frameshiftconsulting.com). She co-founded\n\nthe [Ada Initiative](http://adainitiative.org) and loves giant squid and\n\nball lightning.", + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ] + }, + { + "year": "2016", + "author": "Mariko Kosaka", + "title": "Ink on fingers! The history of printing (with code!) before computer screens", + "description": "**_Ink on fingers! The history of printing (with code!) before\n\ncomputer screens_**\n\nWhat do you imagine when you hear \"letter press\" or \"typesetter\"? You\n\nmight think of the Gutenberg Bible or a hip print shop in Brooklyn,\n\nbut typesetting machines attracted many engineers' creative curiosity\n\nlong before everyone had their own home printer or a website.\n\nThe typesetting machine was invented out of \"don't repeat yourself\"\n\nmentality, and was one of the first machines to be automated. Before\n\nwe had computer screens, programmers were making domain-specific\n\nlanguages to print images with code. Ken Thompson once hacked on a\n\ntypesetter to create emoji for his chess machine. Modern software\n\nlike WYSIWIG editors would not exist if these creative programmers\n\nhadn't put ink on their fingers. Let's look back at the part of\n\ncomputing history that underlies daily activities like writing\n\ndocumentation in Markdown and reacting with emoji!\n\n**Mariko** is an engineer who loves data and knitting. When she is not\n\nmaking software at Scripto, she uses code to help her design textiles\n\nand organizes a local JavaScript meetup in New York City called\n\nBrooklynJS.", + "speaker_photo": "mariko-kosaka.png", + "youtube_link": "ev8clXnW6PI", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Irvin Hwang", + "title": "Making a Metaverse! A WebVR (not so M)MO for Programmers!", + "description": "Virtual reality is upon us! After seeing Brian Peiris' AMAZING \"web-based live\n\ncoding environment for Virtual Reality\"\n\n[RiftSketch](https://github.com/brianpeiris/RiftSketch), I was\n\ninspired to make my own version. Motivated by questions like 'What if\n\neverything in a virtual world was a separate program?', 'What if\n\nanyone could look at the code for these programs and create their own\n\nwithin the world?', and 'What if this world was as accessible as\n\nopening a window in your browser?', I got to work and using a\n\ncombination of WebVR, Three.js, and Meteor, I built a prototype I call\n\nthe Construct Club.\n\nIn this talk I'll describe the\n\nprogramming ideas and tools used to build such a world as well as the\n\npotential applications and future directions of the project.\n\n**Irvin** is interested in the process of finding patterns and\n\nabstractions, communities (both virtual and not so virtual, especially\n\nrelated to education, programming, and creativity), and sandwiches.\n\nHe works at Skillshare.", + "speaker_photo": "irvin-hwang.png", + "youtube_link": "lKXDq8tN9gk", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Colin Jones", + "title": "Finding out what's really going on, with DTrace!", + "description": "It's super-frustrating to run into an issue you don't understand. I\n\nhate feeling powerless like that. But luckily DTrace has our backs!\n\nIn this talk, I'll show you how DTrace can answer incredibly specific\n\nquestions to test our hypotheses when trouble strikes, and help us to\n\ngenerate new questions and hypotheses. And along the way, it'll become\n\nclear that it's not as scary of a tool as it might first appear!\n\n**[Colin Jones](https://twitter.com/trptcolin)** is CTO at 8th Light, where he\n\nworks with teams to craft reliable, maintainable software. He's into Clojure,\n\nsecurity, distributed systems, and performance.", + "speaker_photo": "colin-jones.png", + "youtube_link": "1OMX69KOhGg", + "transcript": "", + "order": 0, + "speaker_bio": "**[Colin Jones](https://twitter.com/trptcolin)** is CTO at 8th Light, where he\n\nworks with teams to craft reliable, maintainable software. He's into Clojure,\n\nsecurity, distributed systems, and performance.", + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ] + }, + { + "year": "2016", + "author": "Julia Evans", + "title": "How to trick a neural network!", + "description": "I used to think neural networks were magical black boxes that I could\n\nnever understand. And they kind of are! But in this talk, we're going\n\nto trick an awesome smart neural network, trained by Google, into\n\nthinking a panda is a vulture. Live. And tricking something is the\n\nfirst step towards understanding it! No prior understanding of neural\n\nnetworks or machine learning required.\n\n**Julia Evans** thinks you can be a wizard programmer.", + "speaker_photo": "julia-evans.png", + "youtube_link": "7_DX1EGKZXY", + "transcript": "", + "order": 0, + "speaker_bio": "**Julia Evans** thinks you can be a wizard programmer.", + "keynote": false, + "organizer": true, + "all_years": [ + "2016", + "2014" + ] + }, + { + "year": "2016", + "author": "Erty Seidel", + "title": "Surprise Talk: The Origin Story", + "description": "", + "speaker_photo": "", + "youtube_link": "rBn-E4yFFuI", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": true, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2016", + "author": "Brendan Curran-Johnson", + "title": "_A Shot in the Dark!_", + "description": "Cameras can be intimidating to new photographers. They're full of\n\noptions and toggles that don't always have obvious results. Preset\n\nmodes make it easier to take great photos, but their underlying\n\nmechanics often remain a mystery. Learn how to reverse-engineer a\n\npreset camera mode and uncover the secrets contained in these (often\n\nliteral) black boxes.\n\n**Brendan** writes code for a living and takes photos for fun. He\n\nstill has a lot to learn about both.", + "speaker_photo": "brendan-curran-johnson.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Karen Sandler", + "title": "_Cyborgs Unite!_", + "description": "**Karen M. Sandler** is the executive director of\n\nthe [Software Freedom Conservancy](https://sfconservancy.org/), which\n\nis the nonprofit home of 40 projects, including git, samba, QEMU,\n\nselenium and inkscape (to name a few). Karen is known as a cyborg\n\nlawyer for her advocacy for free software, particularly in relation to\n\nthe software on medical devices. Prior to joining Conservancy, she was\n\nexecutive director of the GNOME Foundation. Before that, she was\n\ngeneral counsel of the Software Freedom Law Center. Karen\n\nco-organizes [Outreachy](https://www.gnome.org/outreachy/), the\n\naward-winning outreach program for women globally and for people of\n\ncolor who are underrepresented in US tech. She is also pro bono\n\ncounsel to the FSF and GNOME. Karen is a recipient of the O’Reilly\n\nOpen Source Award and cohost of the\n\noggcast [Free as in Freedom](http://faif.us/).\n\n\n\n\"Limor\n\n**_We Are What We Celebrate: The Joy, Excitement, and Surprise of Who\n\nis Making Things_**\n\n[Adafruit](https://www.adafruit.com/) was founded in 2005 by MIT\n\nhacker & engineer **Limor \"Ladyada\" Fried**. Her goal was to create\n\nthe best place online for learning electronics and making the best\n\ndesigned products for makers of all ages and skill levels. Adafruit\n\nhas grown to over 100+ employees in the heart of NYC with a 50,000+ sq\n\nft. factory. Adafruit has expanded offerings to include tools,\n\nequipment and electronics that Limor personally selects, tests and\n\napproves before going in to the Adafruit store. Limor was the first\n\nfemale engineer on the cover of WIRED magazine, and was awarded\n\nEntrepreneur magazine's Entrepreneur of the Year. Ladyada was a\n\nfounding member of the NYC Industrial Business Advisory\n\nCouncil. Adafruit is ranked #11 in the top 20 USA manufacturing\n\ncompanies and #1 in New York City by Inc. 5000 \"fastest growing\n\nprivate companies\". Adafruit is featured in Google's Economic Impact\n\nReport. Limor was named\n\na\n\n[White House Champion of Change](https://obamawhitehouse.archives.gov/champions) in 2016. Adafruit\n\nis a 100% woman-owned company.", + "speaker_photo": "karen-sandler.png", + "youtube_link": "z2R97v9n4pI", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Charles Chamberlain", + "title": "Serious programming with jq?! A practical and purely functional programming language!", + "description": "Ever heard of jq? If so, chances are you've used it to format and syntax-highlight your JSON. You might have even used something like `jq '.foos[]'` to print each foo! But did you know jq has user-defined functions? That jq has modules? Get ready to take a dive into the wondrous and purely functional land of the jq programming language!\n\n**Charles** is a 20-year-old undergrad. He spent the last year at Uber, and is now working on a math major at UChicago. He likes writing compilers while drinking probably too much tea.", + "speaker_photo": "charles-chamberlain.png", + "youtube_link": "PS_9pyIASvQ", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Aaron Levin", + "title": "Finding Friends in High Dimensions: Locality-Sensitive Hashing For Fun and Friendliness!", + "description": "When you live in the big city, finding everyone's nearest neighbours takes a long time! Our judicious city planners have conjured a technique using randomness, hyperplanes, buckets, lexical sorting, and binary numbers to get the job done approximately and fast. Really fast. They call it locality-sensitive hashing and management loves the idea. But it sounds too good to be true!\n\nIn this talk we'll explore locality-sensitive hashing, a technique to turn the computationally expensive exact nearest-neighbor search problem into an inexpensive approximate solution (it's a neat trick and I promise you'll love it). We'll see how locality-sensitive hashing is used in image search, recommendations, and other machine learning problems. And of course, we'll mention [deep hashing](https://cs.nju.edu.cn/lwj/L2H.html#deep-hashing), because why not?\n\n**Aaron Levin** is a mathematician who fell in love with programming and now manages Data Science teams at SoundCloud. Aaron found a rare record once and wrote about it on [Weird Canada](https://weirdcanada.com).", + "speaker_photo": "aaron-levin.png", + "youtube_link": "kKRvEJrvvso", + "transcript": "", + "order": 0, + "speaker_bio": "**Aaron Levin** is a mathematician who fell in love with programming and now manages Data Science teams at SoundCloud. Aaron found a rare record once and wrote about it on [Weird Canada](https://weirdcanada.com).", + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ] + }, + { + "year": "2017", + "author": "Jan Mitsuko Cash", + "title": "What Alien Invaders, Birds, and Computer Simulations have in Common: Flocking!!", + "description": "Real flocks aren't what they're like in the movies.\n\nYou've probably seen flocking behavior in _The Avengers_, the latest Star Trek movie, or even in the Ender's Game books. Flocks are groups of individuals, usually birds (or invading aliens when it comes to Sci-Fi), that are collectively moving together. The flocks in movies show individuals forming complex patterns, but they're all easily taken down by targeting a centralized point of command. In reality, flocking behavior is a lot simpler and there doesn't need to be any coordination between individuals--that means your favorite protagonists probably wouldn't have won when they came up against flocks!\n\n**Jan** is an editor at No Starch Press and freelance Japanese to English translator. Sometimes she programs, usually with turtles.", + "speaker_photo": "jan-mitsuko-cash.png", + "youtube_link": "Q52oYMO962w", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Jason McIntosh", + "title": "I wrote to a dead address in a deleted PDF and now I know where all the airplanes are!!", + "description": "I spent a chunk of 2016 making a web application for myself and other nervous air passengers called BumpySkies. You can plug an upcoming flight into it and it tells you when you can expect to hit turbulence and how bad it'll be. Still kinda scary, but at least it'll surprise you less.\n\nI wanna tell you about how I made it, because I had to exercise my skills at social engineering — the good kind! — at least as much as software engineering. BumpySkies came about through finding in myself an uncharacteristic willingness to approach complete strangers, asking them politely for access to tools or data, and feeling surprised at how well it worked, time and again.\n\n**Jason McIntosh** is a freelance software engineer, game-design consultant, and writer. He lives variously in and around New England. His homepage is at jmac.org, and he blogs regularly at fogknife.com.", + "speaker_photo": "jason-mcintosh.png", + "youtube_link": "CGrwWrsVAFs", + "transcript": "", + "order": 0, + "speaker_bio": "**Jason McIntosh** is a freelance software engineer, game-design consultant, and writer. He lives variously in and around New England. His homepage is at jmac.org, and he blogs regularly at fogknife.com.", + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ] + }, + { + "year": "2017", + "author": "Andrew Plotkin", + "title": "Glk! A Universal User Interface! for Interactive Fiction!", + "description": "In 1997, I set out to extend Infocom's Z-machine to support modern interactive fiction. Surprisingly, many of my design decisions turned out to be clever! Glk is now a thriving software ecosystem which supports many IF platforms, interpreters, and other tools. It's also hard to pronounce Glk.\n\nHear a twenty-year tale of interpreter support! Discover how my C API evolved into a JavaScript API and a JSON data format while still being hard to pronounce! Marvel at how my attempt at a universal user interface was an inevitable failure, but still lets us do some really cool things! Wonder when I will get around to shipping Glk 2.0!\n\n**Andrew Plotkin** has been working on interactive fiction and stuff like that for a very long time. He works as an indie game developer in Boston and helps run an IF meetup, an IF nonprofit, and occasionally things that are not directly related to IF. He also bakes cookies.", + "speaker_photo": "andrew-plotkin.png", + "youtube_link": "FhVob_sRqQk", + "transcript": "", + "order": 0, + "speaker_bio": "**Andrew Plotkin** has been working on interactive fiction and stuff like that for a very long time. He works as an indie game developer in Boston and helps run an IF meetup, an IF nonprofit, and occasionally things that are not directly related to IF. He also bakes cookies.", + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ] + }, + { + "year": "2017", + "author": "Scott Vokes", + "title": "How do Keyboards Work? HIDing, in Plain Sight!!", + "description": "We spend a lot of time with our keyboards. How do they work? How does pushing dozens of keys on a board transmute into text, code, and commands that control computers?\n\nI have been building a keyboard from scratch, and I'll talk about the different pieces: from the circuit that connects the key switches to the firmware that reads them and presents everything in USB. I'll also have some tips if you want to make your own keyboard, Emacs foot pedals, or other Human Interface Devices.\n\n**Scott** is a senior software engineer at Helium, where he works on embedded and distributed systems.", + "speaker_photo": "scott-vokes.png", + "youtube_link": "1v4Qwg41GCg", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017", + "2015" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Bomani McClendon", + "title": "Making Mushrooms Glow!", + "description": "In just over a month, we built the software and electronics for [Shrumen Lumen](https://www.facebook.com/ShrumenLumen/) -- an interactive art installation comprised of five huge, glowing, origami mushrooms that move in reaction to human contact. Shrumen Lumen was presented at Burning Man '16 and at the MeetD3 festival in Dubai's Design District. I'll share what I learned about building software for rapidly testing interaction design concepts, and my experiences controlling these large contraptions with Node.js (yes, JavaScript!), Raspberry Pis, Pixelpushers, Processing, and more.\n\n**Bomani** is a software engineer, designer, and learning sciences researcher. He is currently a senior in Computer Science at Northwestern. Bomani is passionate about creating memorable digital experiences, and works with various creative collectives focused on music and art.", + "speaker_photo": "bomani-mcclendon.png", + "youtube_link": "T75FvUDirNM", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Ewan Dennis", + "title": "Why So Loud! Geeking Out On Airline Data, Physics And Mapping", + "description": "We were looking for a new place to live in sunny Scotland. I found myself eerily familiar with our preferred town because it's on the local airport approach path.\n\nWhat followed was a nerd montage of tracking flight paths by API, researching jet noise propagation effects, plotting heatmaps and making family relocation plans.\n\nThis talk is that story.\n\n**Ewan** is a career geek/autodidact with some pretty varied experience (scientific visualisation, games, app security, cloud infra) who has been remiss in the extreme about giving back to the community that spawned him. Ewan's mission now is to share all the interesting tech ideas he can; to engage, entertain, encourage, support and wherever possible to engender the same ooh-howz-that-thing-work inquisitiveness he feels every day. Ewan can be found on [Twitter](https://twitter.com/ewanovitch) with longer occasional outpourings on [CloudyGoo](http://www.cloudygoo.com/).", + "speaker_photo": "ewan-dennis.png", + "youtube_link": "DqBUovYR7Og", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Christian Joudrey", + "title": "Writing NES Games! with Assembly!!", + "description": "I'd like to take you on a stroll down memory lane and dig into the internals of the Nintendo Entertainment System (NES) to figure out how it works. While we're there, we'll see how to build a game for the NES using 6502 assembly with the help of a few modern tools. We'll gain a new respect for '80s developers and an appreciation for the high-level languages we have today!\n\n**Christian** is a self-taught developer based in Montreal. At a young age he discovered Visual Basic 6 on his home computer and instantly fell in love with programming. When he is not reading about technology and programming, you may find him rock climbing, cooking or drinking a stout.", + "speaker_photo": "christian-joudrey.png", + "youtube_link": "IbS7uEsHV_A", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Jean Cochrane", + "title": "The TOP 5 Queer Feminist Cyberpunk Manifestos!", + "description": "> “Our lot is cast with technoscience, where nothing is so sacred that it cannot be reengineered and transformed so as to widen our aperture of freedom, extending to gender and the human. To say that nothing is sacred, that nothing is transcendent or protected from the will to know, to tinker and to hack, is to say that nothing is supernatural.”\n\n-- _Xenofeminism: A Politics for Alienation_ (Laboria Cuboniks)\n\nWho were the cyberfeminists? Why has practically no one heard of them? And what might it look like to hack your gender?\n\nFor answers to these questions and more, join us on a whirlwind tour of the hidden history of cyberfeminisms, catalogued through the DIY manifesto form. We’ll rank the best of the best, adapting this rich intellectual legacy to examine our own relationships to computing tools (our phones, our laptops, our bodies) in the emergent techno-dystopia of the present.\n\nRemember: the first computers were women. Why shouldn’t the last women be computers?\n\n**Jean Cochrane** is a civic hacker from the South Side of Chicago interested in scalable challenges to the most dire injustices of our time, including transgenerational poverty, mass incarceration, and the criminalization of migrants. At DataMade, she leverages contemporary data practices to help empower journalists and advocacy organizations. It’s been five years and she’s still trying to figure out how to recover from critical theory.", + "speaker_photo": "jean-cochrane.png", + "youtube_link": "5GiQovHaT_g", + "transcript": "", + "order": 0, + "speaker_bio": "**Jean Cochrane** is a civic hacker from the South Side of Chicago interested in scalable challenges to the most dire injustices of our time, including transgenerational poverty, mass incarceration, and the criminalization of migrants. At DataMade, she leverages contemporary data practices to help empower journalists and advocacy organizations. It’s been five years and she’s still trying to figure out how to recover from critical theory.", + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ] + }, + { + "year": "2017", + "author": "Evan Jones", + "title": "Corruption in the Data Center! TCP can fail to keep your data safe!", + "description": "TCP has a checksum and Ethernet has a CRC, both of which detect corrupt data. The math says this should make it extremely unlikely for applications talking to each other inside a data center to receive corrupt data. Unfortunately, it still happens. When it happened at Twitter it took a team of a few dozen people and multiple days to clean up the mess.\n\nI'll talk about how we discovered that our applications were receiving corrupt data, and what we did to stop the bleeding. Then I'll walk though a high-level overview of TCP, Ethernet, and switches to show how corruption can sneak past the CRC and checksum defenses. Finally, I'll describe how you can protect your applications by adding a strong CRC or using encryption.\n\n**Evan** is a software engineer at Bluecore in New York, but was at Twitter at the time of this particular incident. He gets obsessed with technical problems that he doesn't understand, and writes about them [on his web site](http://www.evanjones.ca) so he never has to think about them again.", + "speaker_photo": "evan-jones.png", + "youtube_link": "OKg9RI6IkV8", + "transcript": "", + "order": 0, + "speaker_bio": "**Evan** is a software engineer at Bluecore in New York, but was at Twitter at the time of this particular incident. He gets obsessed with technical problems that he doesn't understand, and writes about them [on his web site](http://www.evanjones.ca) so he never has to think about them again.", + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ] + }, + { + "year": "2017", + "author": "Joel Potischman", + "title": "What the heck time is it?!?", + "description": "To set your computer's clock, just set it to match an atomic clock on the internet. Oh, wait, don't forget to account for the time the request takes. Oh, wait, and for the time the response takes. Oh, and that request and response times might be different. Oh, and that if you need to set your clock back your logs and transactions will be out of order (hello, bank transfer hacks!). Oh, and this needs to work for several billion devices on the internet doing this all day every day forever. Oh, and if you do it wrong Very Bad Things Can Happen (bricked iPhones! broken TLS!)\n\nWe'll talk about how Network Time Protocol (NTP) sets your clock to the correct time despite the laws of physics making that impossible to do and human nature making it dangerous to even try.\n\n**Joel** is a developer, cyclist, and maker in Brooklyn and he knows what a cliché he sounds like but he's okay with that. He spends his days building things at [Postlight Studios](https://postlight.com/).", + "speaker_photo": "joel-potischman.png", + "youtube_link": "MDmNvVG9AnQ", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Kevin Chen", + "title": "HDR Photography in Microsoft Excel?!", + "description": "Have you ever taken a photo with areas that are too bright or too\n\ndark? As any photographer will tell you, high dynamic range\n\nphotography is the right way to solve your problem. And, as any\n\nbusinessperson will tell you, Microsoft Excel is the right platform to\n\nimplement your solution.\n\nIn this talk, I'll explain the algorithm from one of the foundational\n\npapers about HDR imaging --- no prior image processing knowledge\n\nrequired. Turns out, it's just a system of linear equations! So,\n\nobviously, the next step is to implement HDR in a spreadsheet. Because\n\nwe can. The end result reveals how this complicated-sounding algorithm\n\nboils down to a few simple ideas.\n\n[**Kevin**](https://kevinchen.co/) is an amateur photographer and\n\nMicrosoft Office enthusiast. He also studies computer science at\n\nColumbia University.", + "speaker_photo": "kevin-chen.png", + "youtube_link": "bkQJdaGGVM8", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Mark Dominus", + "title": "I got the computer to find words with good anagrams and throw away the boring ones!!", + "description": "25 years ago I got the computer to search the dictionary for words\n\nthat were anagrams of one another. The results were voluminous, but\n\nmostly boring. So I tried helping the computer to understand which\n\nanagrams were boring so it could throw them away. This worked!\n\nIn 1992 I used a brute-force algorithm, which was pretty slow; the\n\nprogram took a few hours to run. This year I learned a more\n\nsophisticated algorithm to do the same thing and implemented it. The\n\nnew program was super fast! It took only a few seconds.\n\nI'll explain both algorithms and reveal the surprising results!\n\n**[Mark Dominus](http://blog.plover.com/)** became interested in\n\nprogramming in the mid-1970s from watching his mom do it. He likes\n\nprogramming, anagrams, quilts, the moon, the sun, mathematics, and\n\nfigs.", + "speaker_photo": "mark-dominus.png", + "youtube_link": "VXW_V5iishY", + "transcript": "", + "order": 0, + "speaker_bio": "**[Mark Dominus](http://blog.plover.com/)** became interested in\n\nprogramming in the mid-1970s from watching his mom do it. He likes\n\nprogramming, anagrams, quilts, the moon, the sun, mathematics, and\n\nfigs.", + "keynote": false, + "organizer": false, + "all_years": [ + "2017", + "2016" + ] + }, + { + "year": "2017", + "author": "Limor Fried", + "title": "Keynote - We Are What We Celebrate: The Joy, Excitement, and Surprise of Who is Making Things", + "description": "**_We Are What We Celebrate: The Joy, Excitement, and Surprise of Who\n\nis Making Things_**\n\n[Adafruit](https://www.adafruit.com/) was founded in 2005 by MIT\n\nhacker & engineer **Limor \"Ladyada\" Fried**. Her goal was to create\n\nthe best place online for learning electronics and making the best\n\ndesigned products for makers of all ages and skill levels. Adafruit\n\nhas grown to over 100+ employees in the heart of NYC with a 50,000+ sq\n\nft. factory. Adafruit has expanded offerings to include tools,\n\nequipment and electronics that Limor personally selects, tests and\n\napproves before going in to the Adafruit store. Limor was the first\n\nfemale engineer on the cover of WIRED magazine, and was awarded\n\nEntrepreneur magazine's Entrepreneur of the Year. Ladyada was a\n\nfounding member of the NYC Industrial Business Advisory\n\nCouncil. Adafruit is ranked #11 in the top 20 USA manufacturing\n\ncompanies and #1 in New York City by Inc. 5000 \"fastest growing\n\nprivate companies\". Adafruit is featured in Google's Economic Impact\n\nReport. Limor was named\n\na\n\n[White House Champion of Change](https://obamawhitehouse.archives.gov/champions) in 2016. Adafruit\n\nis a 100% woman-owned company.", + "speaker_photo": "aaron-levin.png", + "youtube_link": "w9XsWeU5PZA", + "transcript": "", + "order": 0, + "keynote": true, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Jes Wolfe!", + "title": "Synthesizing Video and Turning it into Music!!", + "description": "I like finding ways to use technology for things that it wasn't originally meant to do. In this talk, I'll take you on a tour of a rabbit hole I followed recently: Using a web browser's 3D graphics capabilities to generate 2D video, and then converting the data in that video into sound, to produce music.\n\n**Jes Wolfe!** is a computer programmer who, in some contexts, refers to themself as an \"artist\" and/or \"musician\", and is especially interested in the artistic consequences of algorithms. They live in a house in the woods in Portland, Oregon and currently work at GitHub.", + "speaker_photo": "jes-wolfe!.png", + "youtube_link": "nwsg-ZTRRoI", + "transcript": "", + "order": 0, + "speaker_bio": "**Jes Wolfe!** is a computer programmer who, in some contexts, refers to themself as an \"artist\" and/or \"musician\", and is especially interested in the artistic consequences of algorithms. They live in a house in the woods in Portland, Oregon and currently work at GitHub.", + "keynote": false, + "organizer": false, + "all_years": [ + "2019", + "2018", + "2017" + ] + }, + { + "year": "2017", + "author": "Mahtab Sabet", + "title": "PUSH THE BUTTON! 🔴 Designing a fun game where the only input is a BIG RED BUTTON! 🔴 !!!", + "description": "In October 2016, I attended “Gift the Code”, a charity hackathon in Toronto. Our team built “PiKit”, a game designed for kids who lack fine motor control or who have limited mobility. The challenge was to build a fun, compelling, and educational game in which the only input was… a BIG RED BUTTON! 🔴 !!!\n\nThis talk is a beginner’s guide to designing and building a game, based on what I learned as a first-time game developer at the hackathon. I’ll talk about using constraints to spur creativity in a design sprint, how to get inspiration from your favourite games, and how to design a game with logical level progressions so you can help the player understand what to do next, without explicitly telling them what to do.\n\n[**Mahtab**](http://mahtabsabet.com) works as a Senior Software Engineer at Capital One in Toronto, Canada...striving to perfect an online banking platform that consists entirely of a BIG RED BUTTON! 🔴 !!! (just kidding ☺️)", + "speaker_photo": "mahtab-sabet.png", + "youtube_link": "KqEc2Ek4GzA", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Paul Frazee", + "title": "Simulated Gravity Comes from Within!!", + "description": "The massively-multiplayer game Eve Online slows down the in-game clock when there are too many players in a region. That way, the network has enough time to process all those players.\n\nSo here's a question: What if you slowed down the clock -- not in regions, but variably throughout the entire game, as one big region? Wouldn't that screw with your physics engine? I got curious, so I wrote a simulation with this time dilation added and... well, objects started orbiting each other!! The weird thing? I didn't include gravity in my program.\n\n**Paul**'s a lifelong hacker with a love for games, music, history, and design. Paul cofounded Blue Link Labs and the Beaker Browser project.", + "speaker_photo": "paul-frazee.png", + "youtube_link": "BhNw5_UyAhU", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Richard Harrington", + "title": "BEEP!! See AppleSoft BASIC and 6502 assembly language written on an actual Apple IIc from the 80s! Fresh on startup with no software installed!", + "description": "**Richard Harrington** started programming in 1980, ran away from it for the theater in 1984 at the age of 15, then returned to his first love 25 years later, after touring the world with (among other things) a clown show called Motel California: the heartwarming tale of a ruthless Belgian mercenary who gives up his life of killing for the cabaret. Richard is currently a software engineer at SoundCloud.", + "speaker_photo": "richard-harrington.png", + "youtube_link": "DY4t9IHFD4E", + "transcript": "", + "order": 0, + "speaker_bio": "**Richard Harrington** started programming in 1980, ran away from it for the theater in 1984 at the age of 15, then returned to his first love 25 years later, after touring the world with (among other things) a clown show called Motel California: the heartwarming tale of a ruthless Belgian mercenary who gives up his life of killing for the cabaret. Richard is currently a software engineer at SoundCloud.", + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ] + }, + { + "year": "2017", + "author": "David Turner", + "title": "Om! Nom! Nash!", + "description": "Om Nom Nom is a game about cute forest creatures eating each other. We can (almost) solve it by doing some game theory, and some tree search, with some cleverness. We won't always win, but nobody will be able to do better. We'll explore a few techniques for writing game solvers, and show how these techniques can be used to build an Om Nom Nom solver. Then we never have to play it again!\n\n**David Turner** hacks on git at Two Sigma. He previously co-founded OpenTripPlanner, and worked on version 3 of the GPL. He enjoys contributing patches to random projects, like Inkscape and Linux. He lives on Mars with his glorious wife and three pet tigers. He spoke at !!Con in 2014.", + "speaker_photo": "david-turner.png", + "youtube_link": "RHg2JIvoaq0", + "transcript": "", + "order": 0, + "speaker_bio": "**David Turner** hacks on git at Two Sigma. He previously co-founded OpenTripPlanner, and worked on version 3 of the GPL. He enjoys contributing patches to random projects, like Inkscape and Linux. He lives on Mars with his glorious wife and three pet tigers. He spoke at !!Con in 2014.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2017", + "2014" + ] + }, + { + "year": "2017", + "author": "Julian Squires", + "title": "The emoji that Killed Chrome!!", + "description": "One day, I came back from lunch to discover everyone's copy of Chrome wouldn't stop crashing!! How could turning on a printer downstairs cause an office-wide browser outage!?! A glorious part of programming is when a bug reveals the delicate fragility of a system far beyond its scope! Tracing down the culprit will take us on a journey through Unicode, mDNS, gdb, tcpdump, tcpreplay, and Objective-C!!\n\n**Julian** is an eccentric layabout in Montreal, Canada. He gets paid to slowly program computers fastly.", + "speaker_photo": "julian-squires.png", + "youtube_link": "UE-fJjMasec", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Yomna Nasser", + "title": "Islamic Geometry: Hankin’s Polygons in Contact Algorithm!!!", + "description": "In this talk we will go over Hankin’s “Polygons in Contact” algorithm, a technique for generating common patterns encountered in Islamic geometry, and some variations on it. There will be an introduction to tiling theory, quite a few pretty pictures, and two (!!) interactive examples in JavaScript.\n\nWe’ll also briefly touch on the historical and cultural aspects of this kind of geometry!\n\n**Yomna** likes collecting musical instruments, discrete mathematics, cooking, and cold, dark rooms. She is a Technology Fellow at the EFF, and can be contacted via Twitter.", + "speaker_photo": "yomna-nasser.png", + "youtube_link": "ld4gpQnaziU", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Tara Vancil", + "title": "How Merkle Trees Enable the Decentralized Web!", + "description": "Decentralized networks operate without relying on a central source of truth, and instead rely on group coordination in order to establish a shared state. Trust is distributed among participants, so to have confidence that each participant is telling the truth, there must be a mechanism for guaranteeing that participants have not accidentally corrupted or intentionally tampered with the system's state.\n\nEnter the Merkle tree, a data structure that was patented in 1979, and because of its unique content validating and performance qualities, has since become the backbone of decentralized software like Git, BitTorrent, ZFS, and Ethereum.\n\n**Tara** helps build Beaker, a browser for the peer-to-peer Web. She's enthusiastic about decentralizing the Web, and thinks that peer-to-peer protocols will reinvigorate the creativity of the Web's early days.", + "speaker_photo": "tara-vancil.png", + "youtube_link": "3giNelTfeAk", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Lisa Ballard", + "title": "Where Are All the Space Robots?!", + "description": "Earthlings are currently communicating with over 30 space probes that have escaped Earth's orbit and set off into our solar system and beyond. These probes have origins from countries all over the world, and several are international collaborations. They conduct a wide variety of science experiments and take a lot of amazing pictures, but getting information about them can be tricky. Several space agencies detail their own missions to varying degrees around the web, but outside of Wikipedia, there was not a single website that described all the current active robots humans are currently communicating with, so we decided to build it! We wanted to create a website that was both beautiful to use and provided up-to-the-minute information about Earth's robotic ambassadors. I'll demo the site, talk about the technology we used to produce it, and show how we use some Python tools and an undocumented online data feed from NASA's Deep Space Network to display near-real-time information about each probe.\n\n**Lisa** is a planetary science web developer at the SETI Institute, the CTO of Spacehack.org, and an appointed NASA Datanaut. She loves creating beautiful user experiences through close collaborations with designers, and is on a mission to make space mission data more accessible.", + "speaker_photo": "lisa-ballard.png", + "youtube_link": "cfNErhM3vXI", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Ruchir Khaitan", + "title": "Interpolation Search Can Be Fast, in Some Situations, Sometimes, If You Try!", + "description": "When was the last time you binary searched a phone book? Never? What, you've never used a phone book? Okay, fine, I've never actually used a phone book for anything other than a doorstop either. But, if I had to search in one I would use interpolation search. It's the ideal search algorithm / data structure for searching large arrays repeatedly. And with a little bit of operator-strength reducing math sorcery, it's not just theoretically fast, it's also useful in real life!\n\n**Ruchir** loves making computers go faster. He also loves eating, cooking and thinking about his next meal. He works on the Real Time Platform Team at AppNexus.", + "speaker_photo": "ruchir-khaitan.png", + "youtube_link": "RJU2cXvQ9po", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Michael Kwan", + "title": "No battery, no (watch) life!!", + "description": "Smartwatches are smaller and lighter than any handset! Anything that drains slightly more power can tank your battery life.\n\nThis talk is a set of case files from a detective's investigation of what killed the battery this time, and the various culprits involved. With a full mobile operating system running on the device, there's plenty of suspects.\n\n**Michael Kwan** has worked on Android Wear for a while now, but he's had a watch frequently strapped to his wrist since he was a young'un. He likes climbing things and plays way too many board games, but somehow has yet to do both at the same time.", + "speaker_photo": "michael-kwan.png", + "youtube_link": "2c1I7-qWWWI", + "transcript": "", + "order": 0, + "speaker_bio": "**Michael Kwan** has worked on Android Wear for a while now, but he's had a watch frequently strapped to his wrist since he was a young'un. He likes climbing things and plays way too many board games, but somehow has yet to do both at the same time.", + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ] + }, + { + "year": "2017", + "author": "Walt Mankowski", + "title": "A Punch Card ate my Program!", + "description": "COBOL is the Rodney Dangerfield of programming languages — it doesn't get any respect. COBOL is routinely denigrated for its verbosity and dismissed as archaic, and for good reason: COBOL bears little to no resemblance to modern programming languages. Yet COBOL is far from a dead language. It processes an estimated 85% of all business transactions, and 5 billion lines of new COBOL code are written every year!\n\nIn the past I've argued that COBOL isn't such a bad language, but I'm not going to do that here! Instead, we'll journey deep into the past to recreate a retro bug that could only happen in COBOL! Our travels will include:\n\n* syntactic white space!\n\n* scotch tape!\n\n* dueling compiler options!\n\n* virtual punch cards!\n\n* sentences!\n\n* code blocks!\n\n* periods!\n\nNo punch cards were harmed in the creation of this talk.\n\n**Walt Mankowski** is a recovering ivory tower computer scientist who recently completed a postdoc working with biologists to process and visualize terabytes of 2D and 3D time lapse microscope images. In his past life he spent 10 years as a COBOL programmer at a major cable home shopping network. He enjoys Perl, regular expressions, high-performance computing, and Futurama.", + "speaker_photo": "walt-mankowski.png", + "youtube_link": "PF6JEK0BpPU", + "transcript": "", + "order": 0, + "speaker_bio": "**Walt Mankowski** is a recovering ivory tower computer scientist who recently completed a postdoc working with biologists to process and visualize terabytes of 2D and 3D time lapse microscope images. In his past life he spent 10 years as a COBOL programmer at a major cable home shopping network. He enjoys Perl, regular expressions, high-performance computing, and Futurama.", + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ] + }, + { + "year": "2017", + "author": "Mindy Preston", + "title": "DHCP: IT’S MOSTLY YELLING!!", + "description": "The Dynamic Host Configuration Protocol (DHCP to its friends) is the magic by which your laptop knows how to get to Twitter on a brand new network about which it knows nothing. DHCP can tell your computer what its address should be, and where it should go to connect out to other networks. It can also tell your laptop weird stuff, like that it should run all the traffic through a proxy you've never heard of!! IT ALSO WORKS MOSTLY BY YELLING!\n\n**Mindy** likes cats and programming in OCaml. She mostly works on Mirage, a library operating system that generates unikernels. She has been a professional DHCP understander since 2003.", + "speaker_photo": "mindy-preston.png", + "youtube_link": "enRY9jd0IJw", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Geoffrey Litt", + "title": "ENHANCE! Upscaling Images with Neural Networks", + "description": "When characters on a TV show “enhance!” a blurry image, you probably laugh and tell your friends that it’s impossible to do that in real life. But over the past year, deep learning research has actually made this kind of possible! How will you explain this to your friends!?\n\nIn this talk, you’ll get an intuitive introduction to generative adversarial networks, a new machine learning technique that’s surprisingly good at upscaling images. You’ll learn how these systems are inspired by human art forgers, and how you can use them to do other things like transform a horse into a zebra, convert a sentence into a photo, and so much more!\n\n**Geoffrey** builds software for public schools at Panorama Education. He enjoys learning about machine learning and playing the cello, and occassionally posts on his [blog](http://geoffreylitt.com/).", + "speaker_photo": "geoffrey-litt.png", + "youtube_link": "RhUmSeko1ZE", + "transcript": "", + "order": 0, + "speaker_bio": "**Geoffrey** builds software for public schools at Panorama Education. He enjoys learning about machine learning and playing the cello, and occassionally posts on his [blog](http://geoffreylitt.com/).", + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ] + }, + { + "year": "2017", + "author": "Erty Seidohl", + "title": "Closing Remarks: The Origin Story", + "description": "", + "speaker_photo": "", + "youtube_link": "gdIrdkSIND8", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": true, + "all_years": [ + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2017", + "author": "Alex Clemmer", + "title": "_It's super effective! Solving Pokemon Blue with a single, huge regular expression_", + "description": "I was playing my old copy of Pokemon Blue for the original Game Boy one day during winter holidays, for old times' sake. About an hour in, I realized that this was probably going to take me on the order of 20-30 hours to complete.\n\n20-30 hours! Who has time for that?\n\nWhat I'd really like to do is sit down, think very carefully, and write down all the moves I'd like to make, all at once, and then pass them to a regular expression, which will accept if (and only if) those moves will win a game of Pokemon Blue. This approach has a lot of advantages! For example, in addition to being faster to specify a complete moveset for a game, it allows you to put your entire game of Pokemon Blue into a version control system (e.g., git), which allows you to apply the \"infrastructure as code\" philosophy to your Pokemon Blue runthrough.\n\n**Alex Clemmer** is a computer programmer. Other programmers love Alex, excitedly describing him as 'employed here' and 'the boss's son'.", + "speaker_photo": "alex-clemmer.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Alex Clemmer** is a computer programmer. Other programmers love Alex, excitedly describing him as 'employed here' and 'the boss's son'.", + "keynote": false, + "organizer": true, + "all_years": [ + "2018", + "2017" + ] + }, + { + "year": "2017", + "author": "Nick Sullivan", + "title": "_Requiem for a nemesis!_", + "description": "This is a story about three dirty letters: DRM. For five years, my job was to make sure that media purchased on a platform was only consumable by the purchaser. A few months into my job, a pseudonymous reverse engineer published a C program that would decrypt music purchased on the platform so that it could be played anywhere. Over the next five years, we engaged in a long-form chess game in code. In this talk I'll share what I learned from this half-decade battle of wits, and wistfully wonder where my anonymous adversary is now.\n\n**Nick Sullivan** is head of cryptography at Cloudflare. He built Cloudflare’s security engineering team and led major projects like Keyless SSL and TLS 1.3. Previously, he held the prestigious title of “Mathemagician” at Apple, where he encrypted books, song, movies and other varieties of mass media.", + "speaker_photo": "nick-sullivan.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Nick Sullivan** is head of cryptography at Cloudflare. He built Cloudflare’s security engineering team and led major projects like Keyless SSL and TLS 1.3. Previously, he held the prestigious title of “Mathemagician” at Apple, where he encrypted books, song, movies and other varieties of mass media.", + "keynote": false, + "organizer": false, + "all_years": [ + "2017" + ] + }, + { + "year": "2018", + "author": "Mimi Onuoha", + "title": "Opening Keynote by Mimi Onuoha", + "description": "## Keynote Talks\n\n**Mimi Onuoha** is a Brooklyn-based artist and researcher investigating the social results of data collection and computational categorization. Her work uses code, writing, performance, and objects to explore missing data and the ways in which people are abstracted, represented, and classified.\n\nOnuoha has been in residence at Eyebeam, the Data & Society Research Institute, Columbia University's Tow Center, and the Royal College of Art. She has exhibited and presented workshops in festivals internationally, and in 2014 she was selected to be in the inaugural class of Fulbright-National Geographic Digital Storytelling Fellows. She was recently a visiting faculty member at Bennington College, and currently is teaching at NYU.", + "speaker_photo": "mimi-onuoha.png", + "youtube_link": "zYpXdtWj7BY", + "transcript": "", + "order": 0, + "speaker_bio": "**Mimi Onuoha** is a Brooklyn-based artist and researcher investigating the social results of data collection and computational categorization. Her work uses code, writing, performance, and objects to explore missing data and the ways in which people are abstracted, represented, and classified.\n\nOnuoha has been in residence at Eyebeam, the Data & Society Research Institute, Columbia University's Tow Center, and the Royal College of Art. She has exhibited and presented workshops in festivals internationally, and in 2014 she was selected to be in the inaugural class of Fulbright-National Geographic Digital Storytelling Fellows. She was recently a visiting faculty member at Bennington College, and currently is teaching at NYU.", + "keynote": true, + "organizer": false, + "all_years": [ + "2018" + ] + }, + { + "year": "2018", + "author": "Liz Fong-Jones", + "title": "Build skills through hobbies! Bring them to work!", + "description": "Building technical and leadership skills doesn't only happen in the workplace! I became a better technical leader and Site Reliability Engineer from playing games such as _Puzzle Pirates_, _World of Warcraft_, _EVE Online_, and _Factorio_. I will share what I learned from these experiences, and how both hiring managers and employees can talk about non-traditional forms of experience.\n\n**Liz Fong-Jones** is a Staff Site Reliability Engineer at Google and works on the Google Cloud Customer Reliability Engineering team in New York. She lives with her wife, metamour, and a Samoyed/Golden Retriever mix in Brooklyn. In her spare time, she plays classical piano, leads an EVE Online alliance, and advocates for transgender rights.", + "speaker_photo": "liz-fong-jones.png", + "youtube_link": "L3CsxLU0jC0", + "transcript": "", + "order": 0, + "speaker_bio": "**Liz Fong-Jones** is a Staff Site Reliability Engineer at Google and works on the Google Cloud Customer Reliability Engineering team in New York. She lives with her wife, metamour, and a Samoyed/Golden Retriever mix in Brooklyn. In her spare time, she plays classical piano, leads an EVE Online alliance, and advocates for transgender rights.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ] + }, + { + "year": "2018", + "author": "Ahmed Abdalla", + "title": "Creating an Arabic Programming Language!", + "description": "Inspired by Ramsey Nasser's Arabic programming language [Qalb](http://nas.sr/%D9%82%D9%84%D8%A8/), a functional, Lisp-style language, I created Noor, an Algol-based, imperative Arabic programming language. Arabic is my first language, and I wouldn't have learned to program had I not moved to the US and learned English. I created Noor with the intention of it being a language for middle schoolers and high schoolers. In this talk I'll share what I learned about creating an Arabic programming language and how Arabic text really works on your computer.\n\n**Ahmed** loves riding his bike all around NYC, watching the sunset from the Hudson River Park, and reading great code he wishes he wrote.", + "speaker_photo": "ahmed-abdalla.png", + "youtube_link": "eCxqAr7LjW8", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": true, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Vince Allen", + "title": "The Man Comes Around: and so does his sound!", + "description": "This year marks the 50th anniversary of the recording of _At Folsom Prison_, a project representing one of the many ways Johnny Cash challenged commercial music's conventional boundaries. Another example: Johnny Cash initially wanted to record religious music and managed to release a few early gospel tracks despite outright resistance from his first producer, Sam Phillips. Much later, Rick Rubin embraced Cash's interest in religious themes and gave him broad creative license. While both producers intended to sell Cash to a rock audience, Rick Rubin had a more relaxed interpretation of rock's relationship to gospel music and provided Cash much wider creative latitude.\n\nThis talk will focus on a pivotal song, \"The Man Comes Around\". We'll use high-level audio attributes derived from machine learning and spectrum analysis to measure the audible distance between it and gospel music on either side of Cash's discography. Clustering the two groups with The Man as the fulcrum, we'll visualize the extent to which modern music has reinterpreted the rock genre and expanded its sensibility.\n\n**Vince Allen** spends most of his time retracing his musical preferences backwards through time and blames his most aberrant listening habits on his parents, who blame their own questionable tastes on \"the '70s\".", + "speaker_photo": "vince-allen.png", + "youtube_link": "ShEl-nDJCb8", + "transcript": "", + "order": 0, + "speaker_bio": "**Vince Allen** spends most of his time retracing his musical preferences backwards through time and blames his most aberrant listening habits on his parents, who blame their own questionable tastes on \"the '70s\".", + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ] + }, + { + "year": "2018", + "author": "Thomas Ballinger", + "title": "Undo all the things!", + "description": "I found a command line interactive interpreter that let me undo lines of Python code that I had just typed and executed. I thought this was the coolest thing! How do you hack undo into other programming environments or create new programming environments with it built in?\n\nStarring fork, LD_PRELOAD, readline, terminal escape sequences, pseudoterminals, online shopping, rectangles and circles, and spaceships!\n\n**Thomas Ballinger** regrets nothing, but wishes he could undo things anyway. He used to work at the Recurse Center but is mostly in SF these days, riding bikes and writing desktop apps at Dropbox.", + "speaker_photo": "thomas-ballinger.png", + "youtube_link": "Zcg1Ku4YB4g", + "transcript": "", + "order": 0, + "speaker_bio": "**Thomas Ballinger** regrets nothing, but wishes he could undo things anyway. He used to work at the Recurse Center but is mostly in SF these days, riding bikes and writing desktop apps at Dropbox.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ] + }, + { + "year": "2018", + "author": "Josh Bowman-Matthews", + "title": "Evil Twins and the Secret Lives of Linkers!", + "description": "How can code that never runs still cause a program to crash? What does it mean to link a library into a compiled program? To answer these questions (and shed some light on the mysterious dark art of linking), we'll methodically unravel a surprising edge case of static linking in a C++ program.\n\n**Josh Bowman-Matthews** builds web browsers and communities for a living at Mozilla. He enjoys demolishing barriers to participation in open source projects. He also sings in a barbershop quartet.", + "speaker_photo": "josh-bowman-matthews.png", + "youtube_link": "fBsH44y9Pz4", + "transcript": "", + "order": 0, + "speaker_bio": "**Josh Bowman-Matthews** builds web browsers and communities for a living at Mozilla. He enjoys demolishing barriers to participation in open source projects. He also sings in a barbershop quartet.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ] + }, + { + "year": "2018", + "author": "Karla Burnett", + "title": "Telling stories with traceroute!", + "description": "Traceroute is a useful tool for debugging connectivity problems, but have you ever thought of it as a storytelling medium? It can be!\n\nIn this talk, I'll explain how routing and traceroute work, and then we'll use those mechanisms creatively to tell our own human-readable story in the path our packets take to a machine. Even better, we'll do it with software in the consumer cloud -- no commercial routing gear or fancy network config needed!\n\n**Karla**'s background is in security, and her day job is making Stripe secure for users. In her spare time she tinkers with networking or security puzzles, flies planes, and learns Australian Sign Language.", + "speaker_photo": "karla-burnett.png", + "youtube_link": "NgKI7-3j2hc", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Alex Clemmer", + "title": "It’s super effective! Solving Pokemon Blue with a single, huge regular expression", + "description": "_(Note: This talk was originally scheduled to appear at !!Con 2017.)_\n\nI was playing my old copy of Pokemon Blue for the original Game Boy one day during winter holidays, for old times' sake. About an hour in, I realized that this was probably going to take me on the order of 20-30 hours to complete.\n\n20-30 hours! Who has time for that?\n\nWhat I'd really like to do is sit down, think very carefully, and write down all the moves I'd like to make, all at once, and then pass them to a regular expression, which will accept if (and only if) those moves will win a game of Pokemon Blue. This approach has a lot of advantages! For example, in addition to being faster to specify a complete moveset for a game, it allows you to put your entire game of Pokemon Blue into a version control system (e.g., git), which allows you to apply the \"infrastructure as code\" philosophy to your Pokemon Blue runthrough.\n\n**Alex Clemmer** is a computer programmer. Other programmers love Alex, excitedly describing him as 'employed here' and 'the boss's son'.", + "speaker_photo": "alex-clemmer.png", + "youtube_link": "n-HTvjIueX0", + "transcript": "", + "order": 0, + "speaker_bio": "**Alex Clemmer** is a computer programmer. Other programmers love Alex, excitedly describing him as 'employed here' and 'the boss's son'.", + "keynote": false, + "organizer": true, + "all_years": [ + "2018", + "2017" + ] + }, + { + "year": "2018", + "author": "John Feminella", + "title": "Relativistic Software Calendars: It’s About Time!", + "description": "If you thought getting datetimes and daylight savings correct was tough, wait 'til you see what relativistic time looks like! In this talk, I'll show you how keeping clocks in sync becomes literally impossible as soon as you start accelerating away from Earth, and what trying to account for this case might mean if we want our current implementations of datetime libraries to work correctly.\n\n**John Feminella** is an avid technologist, occasional public speaker, and curiosity advocate. He serves as an advisor to Pivotal, where he works on helping enterprises transform the way they write, operate, and deploy software. He's also the cofounder of a tiny analytics monitoring and reporting project named UpHex. John lives in Charlottesville, VA and likes meta-jokes, milkshakes, and referring to himself in the third person in speaker bios.", + "speaker_photo": "john-feminella.png", + "youtube_link": "6hfYl52tSMU", + "transcript": "", + "order": 0, + "speaker_bio": "**John Feminella** is an avid technologist, occasional public speaker, and curiosity advocate. He serves as an advisor to Pivotal, where he works on helping enterprises transform the way they write, operate, and deploy software. He's also the cofounder of a tiny analytics monitoring and reporting project named UpHex. John lives in Charlottesville, VA and likes meta-jokes, milkshakes, and referring to himself in the third person in speaker bios.", + "keynote": false, + "organizer": false, + "all_years": [ + "2021", + "2018" + ] + }, + { + "year": "2018", + "author": "Wander Hillen", + "title": "Fast, but not too fast! What 17th century windmills can teach us about database migrations", + "description": "Running large, long-running background tasks on your system may have the unintended side effect of consuming all the resources you need to run whatever you had it for in the first place. In this talk we'll recreate from scratch a function that will throttle your tasks to closely match available capacity, using methods created to control the speed of Dutch windmills during the Industrial Revolution.\n\n**Wander** loves applying ideas from different fields of science to his programming experiments.", + "speaker_photo": "wander-hillen.png", + "youtube_link": "ddnxCCh4Zz8", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Evy Kassirer", + "title": "Step by Step: Algorithms that teach you math!", + "description": "Most computer algebra systems are good at solving equations, but aren't very good at showing their work. If we're looking to educate students and automatically explain a problem intuitively, how does our approach to developing these systems have to change?\n\nLet's talk about [mathsteps](https://github.com/socraticorg/mathsteps), an open-source library that solves basic algebra problems and not only provides the answer, but shows you the steps that get you there. Some algorithms are designed to optimize for space or speed, but I'll talk about how we design algorithms to optimize for teaching -- algorithms that explain to you what you're doing and why.\n\nWe'll walk through the process of how a human might solve algebra problems and how that can be translated into an algorithm -- from parsing math input, to using data structures that make teaching easier. Finally, we'll talk about the future of tools like mathsteps -- possibilities as well as limitations.\n\n**Evy** loves to [sing](http://www.evykassirer.com/music) (especially in choirs) and code (especially for social good). She loves her communities.", + "speaker_photo": "evy-kassirer.png", + "youtube_link": "CuZVwTnffbI", + "transcript": "", + "order": 0, + "speaker_bio": "**Evy** loves to [sing](http://www.evykassirer.com/music) (especially in choirs) and code (especially for social good). She loves her communities.", + "keynote": false, + "organizer": false, + "all_years": [ + "2019", + "2018" + ] + }, + { + "year": "2018", + "author": "Em Lazer-Walker", + "title": "So THAT’S how my phone knows where I am!", + "description": "Your phone knows where you are at all times, usually with pretty shocking accuracy. How the heck does it know that?!\n\nThis talk will dive into the math and physics underlying modern smartphone location technology (GPS, AGPS, and indoor location), but we'll also take a walk through the history of location tech. Modern GPS arose out of Cold War-era US DoD research, but how is that research connected to the larger historical and political context of geolocation throughout the ages? How is the technical solution to tracking Russian missiles directly indebted to the 17th century sailors who developed smarter ways to locate themselves on the open sea? This talk will answer all of that and more!\n\n**Em** make interactive art, experimental games, and software tools. Above all, they make things that spark intellectual curiosity and inspire people to become self-motivated learners.", + "speaker_photo": "em-lazer-walker.png", + "youtube_link": "NvShiF4tnMM", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": true, + "all_years": [ + "2020", + "2019", + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Will Leinweber", + "title": "Using Postgres to \\watch Star Wars!", + "description": "Star Wars is a movie, and Postgres is a database. And what better way to watch a movie than using only a database? I mean, aside from in a theater, or on a TV, or on a tiny airplane screen, or... So while I guess I can't say it's the best way, I can for sure say that it is *a* way.\n\nEven if you don't go and watch all your movies this way in the future, you'll learn how to combine several unrelated features in unexpected ways, and that's where all the fun comes from in programming!\n\n**Will** comes from San Francisco, and his Home Page [bitfission.com](http://bitfission.com) still autoplays MIDIs and prevents right-click. He's spent the better part of his career building fully-managed Postgres services, which he's only now realizing has probably caused him to end up thinking any of this is a good idea.", + "speaker_photo": "will-leinweber.png", + "youtube_link": "Lf--bckgEFo", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Andrew Louis", + "title": "Talking to my past self (without introducing temporal paradoxes!)", + "description": "I've always wanted to have conversations with past versions of myself, but I worried about the dangerous side effects of using time machines. With the emergence of deep learning and the seq2seq model, a new solution is available!\n\nUsing chat logs I've archived since early high school, I've trained one chat bot on messages from my teenage years, and paired it up with a bot trained on more recent messages. Hilarity will ensue as I algorithmically converse with a version of myself that's younger, has significantly worse taste in music, and holds quirky political beliefs. We'll also learn how easy it is to get started with machine learning, TensorFlow, and seq2seq!\n\n**Andrew** is a software developer from Toronto. He's currently working on building a Memex. Previously, he was the co-founder and CTO of ShopLocket, an ecommerce startup acquired in 2014.", + "speaker_photo": "andrew-louis.png", + "youtube_link": "FnFYs5BdI0E", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Dan Luu", + "title": "How (and why) your CPU re-orders instructions!", + "description": "Your CPU can re-order instructions as it pleases, allowing it to execute instructions in a totally different order than the order your compiler produced! This used to be an implementation detail that only compiler writers and low-level performance folks paid attention to, but it turns out that instruction re-ordering can be exploited to extract secret information!\n\nWe'll look at how out-of-order execution works and why it's beneficial, and then briefly discuss how this can lead to attacks like Meltdown and Spectre. This talk assumes no background, other than the knowledge that code can somehow turn into instructions that then run on CPUs.\n\n**Dan** is a hardware engineer masquerading as a software engineer!", + "speaker_photo": "dan-luu.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Kamal Marhubi", + "title": "If you could solve this word tile puzzle, you could solve the halting problem! (Too bad you can’t!)", + "description": "The idea that there are undecidable problems -- ones that simply cannot be solved with computers -- is kind of mind-blowing. The most well-known is the halting problem: given a Turing machine (program), will it halt (terminate)? Many other undecidable problems are either very similar to the halting problem, or very abstract. In this talk I'll show one that is neither! The Post Correspondence Problem is a word tile puzzle that is actually undecidable. I'll walk through how to prove this, by building a special puzzle that has a solution if and only if a Turing machine would halt. At the end, I hope you'll share some of my wonder at the theoretical side of computers!\n\n**Kamal** is a programmer who is tired and submitting his talk proposal way too late on the last day of the call for proposals. As a result, he's skipping the bit where he writes a bio. If his talk is accepted, he'll happily provide a proper one.", + "speaker_photo": "kamal-marhubi.png", + "youtube_link": "wzZsv6KAMsw", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2016", + "2015" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Ed Medvedev", + "title": "Satellites are talking to us! Let’s hear them out!", + "description": "Over 1,500 human-made satellites are currently orbiting the Earth, and most of them are quite chatty! You might immediately think about the ones we use daily -- for TV, GPS, or the internet -- but there are hundreds of much smaller and lesser-known satellites that are just as deserving of our attention and love!\n\nLet's hear what they have to say! We'll build an antenna out of spare coat hangers and use it to listen to the tiny amateur satellites telling stories about the world around us, playing music, delivering messages, or even speaking in lovely robotic voices!\n\n**Ed** loves to teach other people things about stuff! By day he writes code, organizes tech conferences, and mentors communities such as Women Techmakers Berlin, and by night he spends countless hours designing Blacklight, an alternate reality game for aspiring hackers.", + "speaker_photo": "ed-medvedev.png", + "youtube_link": "dqf_dwDzxpo", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Jan Mitsuko Cash", + "title": "The itty, bitty, tiny bytes that make up a Pokemon!", + "description": "In 2013, Nintendo released Pokebank, an app that allowed players of the Pokemon game series to upload and store creatures called Pokemon from their games on Nintendo servers. Then it broke!\n\nPokemon are stored in a mere 232 bytes, yet players from Japan uploaded so many of them to Nintendo's servers that the Pokebank app's release was delayed by months in the US and Europe -- but that's not the only thing that's interesting about the Pokemon data structure. Learn about what the data structure looks like and how it's adapted over the last 22 years and over four different consoles!\n\n**Jan** is a tech book editor by day and a translator by night. Ten years ago, she caught a shiny onix in Pokemon FireRed that's living in her Pokebank. She tweets [@jmitsu](http://twitter.com/jmitsu).", + "speaker_photo": "jan-mitsuko-cash.png", + "youtube_link": "D2clyLm8o2Y", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2017" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Ayla Myers", + "title": "The joys of PICO-8 token crunching!! Or: what I learned about programming from being restricted on every side!", + "description": "Making games is hard. Making games with a limited number of sprites, sound effects, colors, bars of music, and even lines of code is... well... sorta mind-bending, actually. Because when you bump up against those restrictions you start to uncover secret trade-offs between these limited resources. Would I rather my tasty mushroom sprite have red spots, or would I prefer to be able to save high scores? How many notes in a song is a for-loop worth?\n\nCome and learn about the beautiful Bizarro World that is fantasy console game development! And maybe, just maybe, you'll take away some insights on programming in general.\n\n**Ayla** is an independent game designer, developer, pixel artist, and fantasy console enthusiast! She spends her time crafting beauty out of code (and skating around the city when it's sunny).", + "speaker_photo": "ayla-myers.png", + "youtube_link": "QnDRmPx8yLY", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019", + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Emily Nakashima", + "title": "Whoa, pictures! A visual history of visual programming languages!", + "description": "I spend my days typing out code in a text editor. But why do words and text get to have all the fun, if under the hood it's just zeros and ones? This is a talk about some of the *other* fun, quirky, beautiful ways we could tell the computer how to do our bidding, from visual expressions of logic and spatial arrangements of symbols to manipulating physical objects in the real world.\n\nI'll start with a visual history of some of the major visual programming languages, with lots of pictures. Then we'll talk through the ins and outs of some of the hairiest problems for visual languages, like how to do control flow and how to have abstraction and code reuse. Finally, we'll talk about what it all means. What problems can visual programming solve better than any other paradigm? And are any of these super-creative visual idioms and ideas things we can pull back into our text-based programming worlds?\n\n**Emily** manages the product engineering team at Honeycomb.io. In her free time she organizes an unconference called AndConf, makes many checklists, volunteers on trail crews, and likes to talk about disaster preparedness.", + "speaker_photo": "emily-nakashima.png", + "youtube_link": "mU1aPvvQbqk", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Joel Potischman", + "title": "UX for Cats and Dogs!", + "description": "David Burge described the internet as a [worldwide cat picture distribution system](https://mashable.com/2010/10/21/why-does-the-web-love-cats/#O07E.MAuT5qx). But historically humans have had to do all the work of *taking* those pictures ahead of time! I wanted to empower my three cats and one dog to take their own pictures and send them to me, but how do you design for cats and dogs?\n\nI will describe how I built a home photo booth from a Raspberry Pi, various electronic components, the Twilio API, and a **ton** of cat treats to allow my pets to send me selfies.\n\nIn a direct challenge to the demo gods, this talk will end with an attempt at a live text exchange with my pets from the stage!\n\n**Joel Potischman** is a Brooklynite, software developer, and possibly an aspiring animal hoarder.", + "speaker_photo": "joel-potischman.png", + "youtube_link": "yRFQV4O0c48", + "transcript": "", + "order": 0, + "speaker_bio": "**Joel Potischman** is a Brooklynite, software developer, and possibly an aspiring animal hoarder.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2017" + ] + }, + { + "year": "2018", + "author": "Omar Rizwan", + "title": "Four fake filesystems!", + "description": "Ever seen `/proc` in Linux? It's the best-known \"synthetic filesystem\", a set of \"files\" and \"folders\" on your computer that don't actually map to anything on a real disk. Instead, `/proc` controls the processes on your computer.\n\nSynthetic filesystems are a powerful and underused interface: there are tons of programming tools and commands to work with files, and once you have a synthetic filesystem, you can use all of them right away!\n\nIn this talk, I'll go over four other synthetic filesystems: GrabFS, which exposes screenshots of how all your Mac windows look _right now_, YTFS, which exposes YouTube videos as video files on your computer, btfs, which lets you mount a BitTorrent file and lazily downloads the pieces you want for you, and WikipediaFS, where you can view and edit Wikipedia articles as files.\n\nFor each synthetic filesystem, I'll show you one cool trick you get for free just because it's a filesystem and not just a Web service or isolated program.\n\nFinally, I'll talk about some general advantages and disadvantages of this approach, which was pioneered by the Plan 9 OS in the early 1990s.\n\n**Omar Rizwan** is interested in the history of operating systems and in how things could have been done differently. He wrote Cruncher, a scrubbing calculator, and Screenotate, a screenshot+OCR+context tool.", + "speaker_photo": "omar-rizwan.png", + "youtube_link": "pfHpDDXJQVg", + "transcript": "", + "order": 0, + "speaker_bio": "**Omar Rizwan** is interested in the history of operating systems and in how things could have been done differently. He wrote Cruncher, a scrubbing calculator, and Screenotate, a screenshot+OCR+context tool.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2022", + "2020", + "2018", + "2014" + ] + }, + { + "year": "2018", + "author": "Vaibhav Sagar", + "title": "Moving towards dialogue: collaborating with your computer using typed holes!", + "description": "For many people, their first (and only) experience of static types is being continually told off by their compiler. With a little gentle encouragement, it is possible to mend this dysfunctional relationship and move towards having a conversation instead.\n\nIn this talk I'll demonstrate typed holes, which are a feature of some languages that allow them to offer suggestions when you ask for help!\n\n**Vaibhav** babysits web applications for a living. He likes computers, but he also likes barbells, carbonated water, [space disco](https://www.youtube.com/watch?v=ebjXsc0UjdQ), and scuba diving.", + "speaker_photo": "vaibhav-sagar.png", + "youtube_link": "0oo8wIi2qBE", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2019", + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Aruna Sankaranarayanan", + "title": "We built a map to aggregate real-time flood data in under two days!", + "description": "During the 2015 floods in Chennai, India, a few of us built an application that could crowd-source real-time flood data. It was used widely by at least 600,000 people in Chennai and went on to become a beautiful civic visualisation. I'll talk about the exact workflow and tools we used to build this map, and you will take away an understanding of the libraries you can use to create your own map-driven projects.\n\n**Aruna** is a platform engineer at Mapbox. Previously, she wrote 2D games using the Cocos2D engine and contributed to the Wikipedia, GNOME and GCompris projects. She also enjoys building communities of friendly women doing tech and collecting recordings of Indian classical music in the public domain.", + "speaker_photo": "aruna-sankaranarayanan.png", + "youtube_link": "hfatYo2J8gY", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Hung Truong", + "title": "If at first you don’t succeed at beating HQ Trivia, try cheating!!", + "description": "HQ Trivia is a game about what you know, what you can guess, and ultimately, luck. Twelve multiple-choice questions of increasing difficulty make it very unlikely that anyone will win by chance alone. And the questions get really obscure and hard towards the end! So what's a player to do? Cheat!\n\nI'll get down to the nitty-gritty about how I wrote an iOS app (and later a MacOS app) that takes advantage of Apple's Vision framework, open source OCR software, and plain ol' Google to help me decide on my answers while playing HQ Trivia. I'll also talk about why I haven't won a single time (though I've gotten close), and why some problems are just really hard for software to solve.\n\n**Hung** has been hacking on iOS since before the original iPhone OS 2.1 SDK was released in 2008. He is currently an iOS Engineer at Lyft. His hobbies include enjoying coffee, photography, and being the social media manager and growth hacker for his dog, Sodapop.", + "speaker_photo": "hung-truong.png", + "youtube_link": "3PL-EPC2cwU", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Stephen Tu", + "title": "Estimating the Value of Pi with a Dartboard and (Not so Much) Luck!", + "description": "If you are like me and not very good at the game of darts, you might be able to use your skills towards estimating the value of pi. In this talk, we will look at a simple Monte Carlo algorithm which uses the (scaled) ratio of the number of darts that land on a dartboard over the number of darts that land within a square around the dartboard as an unbiased estimate for pi. We will understand why the algorithm works intuitively by appealing to the Law of Large Numbers. Furthermore, since we would like to not throw darts forever, we will use a large deviation inequality to derive an upper bound on the number of throws we need to estimate pi to within a desired accuracy with high probability.\n\n**Stephen** is a PhD student at UC Berkeley studying the interplay between machine learning, optimization, and control theory. He still dreams of writing his own programming language one day, despite a [failed attempt](https://github.com/stephentu/venom-lang) years ago.", + "speaker_photo": "stephen-tu.png", + "youtube_link": "wUM6o7EhTjw", + "transcript": "", + "order": 0, + "speaker_bio": "**Stephen** is a PhD student at UC Berkeley studying the interplay between machine learning, optimization, and control theory. He still dreams of writing his own programming language one day, despite a [failed attempt](https://github.com/stephentu/venom-lang) years ago.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ] + }, + { + "year": "2018", + "author": "David Turner", + "title": "Compressing the Library of Babel!", + "description": "How do you compress the set of all possible books? What can we learn about data compression by trying to do this? We'll cover zip bombs, the pigeon-hole principle, Kolmogorov complexity, and the Hutter Prize, all compressed into a ten-minute talk.\n\n**David Turner** hacks on git at Two Sigma. He previously co-founded OpenTripPlanner, and worked on version 3 of the GPL. He enjoys contributing patches to random projects, like Inkscape and Linux. He lives on Mars with his glorious wife and three pet tigers. He spoke at !!Con in 2014 and 2017.", + "speaker_photo": "david-turner.png", + "youtube_link": "TUcGCAp2xWw", + "transcript": "", + "order": 0, + "speaker_bio": "**David Turner** hacks on git at Two Sigma. He previously co-founded OpenTripPlanner, and worked on version 3 of the GPL. He enjoys contributing patches to random projects, like Inkscape and Linux. He lives on Mars with his glorious wife and three pet tigers. He spoke at !!Con in 2014 and 2017.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2017", + "2014" + ] + }, + { + "year": "2018", + "author": "Logan Williams", + "title": "Turning Google Earth into SimCity 2000! (From Light to Pixels to Impossible Perspectives!)", + "description": "Remember isometric games, like SimCity 2000 and Q\\*bert? Real life sadly doesn't look like Q\\*bert, and it's mostly because parallel lines converge! Why does this happen? We'll use simple geometric rules to explain how cameras turn light, a five-dimensional (!) spatial variable, into a pattern of pixels. With computers, we can algorithmically alter that pattern, and synthesize impossible perspectives from real data. (Including some inspired by your retro-gaming faves!) Finally, we'll discuss how image formation models might change the way we think about the world around us!\n\n**Logan** is a programmer and artist who enjoys thinking about photography, geography, and what we look at when we look at land. Most recently, he has been a fellow at the BuzzFeed Open Lab and a resident at Signal Culture.", + "speaker_photo": "logan-williams.png", + "youtube_link": "X2HAYaPdhWI", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Jes Wolfe!", + "title": "Pseudofractals! Accidental aesthetics where math meets pixels", + "description": "Computers have their own aesthetics, which come from their limitations.\n\nIn this talk, I'll show you a family of glitch art that is so fundamental to the idea of pixels that it has been independently rediscovered, repeatedly, ever since humans first started asking machines to print drawings on paper.\n\nEvery researcher who has found these has given them a new name -- they've been called CIRCLE2 algorithms, dot-matrix holograms, degenerate Voronoi patterns, and others -- but I think \"pseudofractals\" is the most evocative descriptor.\n\nI'll talk a little about the mathematics behind these patterns (the Nyquest limit! Chromogeometries!), and I'll show how you can experiment with creating your own variants in JavaScript, WebGL, or the language of your choice.\n\n**Jes Wolfe!** is a computer programmer who, in some contexts, refers to themself as an \"artist\" and/or \"musician\", and is especially interested in the aesthetic consequences of algorithms. They live in a house in the woods in Portland, Oregon, and they are currently on parental leave from GitHub.", + "speaker_photo": "jes-wolfe!.png", + "youtube_link": "NoqQQwP1Duo", + "transcript": "", + "order": 0, + "speaker_bio": "**Jes Wolfe!** is a computer programmer who, in some contexts, refers to themself as an \"artist\" and/or \"musician\", and is especially interested in the aesthetic consequences of algorithms. They live in a house in the woods in Portland, Oregon, and they are currently on parental leave from GitHub.", + "keynote": false, + "organizer": false, + "all_years": [ + "2019", + "2018", + "2017" + ] + }, + { + "year": "2018", + "author": "Mark Wunsch", + "title": "Transform live video streams with code and a REPL!!", + "description": "Inspired by environments like Overtone and Sonic Pi, I made _Overscan_, an open-source live-coding environment to explore ideas in video streaming and broadcasting. Overscan brings the expressive, improvisational power of a Scheme REPL to live video creation and compositing. I will live demo the debut of Overscan, creating a video stream\n\nwhile compositing graphics and text on the fly. I will peel back the layers of abstraction underlying Overscan to reveal its heart: the Racket programming language, the GStreamer multimedia framework, and the GObject Introspection library. This talk will amuse the littlest Schemer or the most grizzled C programmer, and in the end, you'll be able to use code to bend video to your will. Let's take back the airwaves! Or have a goof!\n\n**Mark Wunsch** enjoys giving talks on abstruse technical topics. Ask him about AWK! He is the VP of Engineering at Kickstarter and lives in Manhattan with his wife and their adorable pets.", + "speaker_photo": "mark-wunsch.png", + "youtube_link": "2aOqaE6oByA", + "transcript": "", + "order": 0, + "speaker_bio": "**Mark Wunsch** enjoys giving talks on abstruse technical topics. Ask him about AWK! He is the VP of Engineering at Kickstarter and lives in Manhattan with his wife and their adorable pets.", + "keynote": false, + "organizer": false, + "all_years": [ + "2018", + "2016", + "2014" + ] + }, + { + "year": "2018", + "author": "Lucy Zhang", + "title": "Ray-tracing and special relativity: Rendering objects near the speed of light!", + "description": "According to Einstein's theory of special relativity, space and time are not absolute, and objects become shorter when moving at larger velocities. So what happens if you take a photo of an object moving at, say, 90% of the speed of light? To answer this question, I'll start with a normal ray-tracer used to render 2D views of 3D scenes, discuss the consequences of special relativity for moving objects, and then modify the ray-tracer to be consistent with special relativity. Even if you already know about special relativity, the answer might still be surprising.\n\n**Lucy** likes programming, mathematics, and music. She is a data infrastructure engineer in New York City.", + "speaker_photo": "lucy-zhang.png", + "youtube_link": "oFaSLIsJELY", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2018", + "author": "Persa Zula", + "title": "Tales of ⌧! Can You Tell Your Story When Your Character Is Undefined?!", + "description": "You just got a text message from your friend, and it contains three emojis and a box with an X in it: 🍴🌙 ⌧. Is that an emoji, too? What were they trying to say? Are they currently eating dinner under the moonlight, or are they inviting you to have takeout tonight?\n\nLater in the day, you're scraping information from a website that happens to have characters in another language on it, and as you pull data into your terminal, you start to notice more little boxes with X's in them. Or perhaps your terminal renders them as � or 🥡. What does this all mean? Why are these symbols following you around?\n\nYou've just encountered \"notdef\"! This is the official term for the \"Not Defined\" symbol that is shown when the typeface being used doesn't contain the character requested. This talk aims to show you what you can do in the face of notdef, including how you can build a little tool to search your machine for fonts that support the characters you need to tell your story -- whether you're using a design app to make a poster, or writing a paper that contains information in a non-Latin language.\n\n**Persa Zula** is a computer scientist on the Adobe Typekit team, and thinks about Unicode and typography on a day-to-day basis. Before working on Typekit, she had no idea what those notdef boxes were, or what could be done about them! She wants to see more of the world's languages represented in digital typography, so that the Internet can become a truly global place to share thoughts and ideas, regardless of what language a person speaks!", + "speaker_photo": "persa-zula.png", + "youtube_link": "fADc9lHwSMc", + "transcript": "", + "order": 0, + "speaker_bio": "**Persa Zula** is a computer scientist on the Adobe Typekit team, and thinks about Unicode and typography on a day-to-day basis. Before working on Typekit, she had no idea what those notdef boxes were, or what could be done about them! She wants to see more of the world's languages represented in digital typography, so that the Internet can become a truly global place to share thoughts and ideas, regardless of what language a person speaks!", + "keynote": false, + "organizer": false, + "all_years": [ + "2018" + ] + }, + { + "year": "2019", + "author": "Nabil Hassein", + "title": "Finding the joy and excitement in a surprisingly colonial tech world", + "description": "## Keynote Talks\n\n**Nabil Hassein** is a freelance technologist and educator based in Crown Heights, Brooklyn. Besides working professionally as a software developer and a teacher of mathematics and programming in both public schools and private settings, Nabil participates in grassroots organizing against prisons and police in New York, and occasionally writes and speaks about the intersection between social and technical topics", + "speaker_photo": "nabil-hassein.png", + "youtube_link": "sUSTyLUF26s", + "transcript": "", + "order": 0, + "speaker_bio": "**Nabil Hassein** is a freelance technologist and educator based in Crown Heights, Brooklyn. Besides working professionally as a software developer and a teacher of mathematics and programming in both public schools and private settings, Nabil participates in grassroots organizing against prisons and police in New York, and occasionally writes and speaks about the intersection between social and technical topics", + "keynote": true, + "organizer": true, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Evy Kassirer", + "title": "Reverse engineering your mouth!", + "description": "As babies, many of us learn to talk by unconsciously figuring out how to move the muscles in our face. Let's learn to talk again, but this time by looking into what's going on under the hood!\n\n[Pink Trombone](https://dood.al/pinktrombone/) is a web tool that lets users create sounds by interacting with a virtual oral cavity, nasal cavity, tongue, and throat. Are those building blocks actually enough for speech, and can we teach Pink Trombone to speak English words? What sounds are especially difficult to produce - for humans, and in the app - and why? Join me in digging into the technology behind this app and learning more about how our voices really work.\n\n**Evy** loves to sing (especially with others) and code (especially for social good). She loves her communities.", + "speaker_photo": "evy-kassirer.png", + "youtube_link": "hTwjirrCuDE", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019", + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Kate Beard", + "title": "Let’s build a live chat! 👍from the 1800s (?!) 🤔using modern web technology!!! 😮", + "description": "Livechat? From the 1800s?!! No, I'm not talking about AOL or MSN (though it does feel that long ago sometimes). I'm talking electrical telegrams and Morse code.\n\nInspired by a scene The Rescuers Down Under and a keenness to learn the web audio API , I built a program that takes written text and turns it into an audio Morse code message. Then once that was built, I took it to the logical next step: building a chatroom where you can send and receive messages in Morse code with all your coolest and extremely online friends.\n\nFollow me on a journey full of discovery, gifs of mice sending telegrams, oscillators, websockets, and more in putting together this weird, almost entirely useless thing. Fluency in Morse code not required (but would be awesome!!!)\n\n**Kate** is a former photographer, writer, barista, and linguistics graduate who found her love of programming early last year. She learned to code at London's nonprofit, peer-led coding bootcamp, Founders and Coders, and now works at the Financial Times as a junior engineer. When she isn't coding silly side projects in her spare time, she's probably drinking coffee, patting her guinea pigs, or thinking about drinking coffee and patting her guinea pigs.", + "speaker_photo": "kate-beard.png", + "youtube_link": "5oftjRccijA", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Melody Starling", + "title": "lo-fi hip hop beats to npm install to", + "description": "Listen to your computer. You may hear the faint sound of fans, the quiet hums of electricity, and the occasional clanking of keyboards. But what if I told you there are other ways to listen to your computer? There are tons of things happening in the background of an operating system, and with the power of of a digital synthesizer, you can hear (and relax to) the sounds of a package manager hard at work!\n\n**Melody** is a web developer, designer, and community event organizer based in Philly. You can find them on Twitter at [@pixelyunicorn](https://twitter.com/pixelyunicorn).", + "speaker_photo": "melody-starling.png", + "youtube_link": "3ecuflEMNHo", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Geoffrey Lessel", + "title": "Custom Sudoku Books with Ruby!! and LaTeX!!", + "description": "My father loves sudoku puzzles and for a while, solved one every night before bed. For two Christmases in a row, I created a custom book of 365 sudoku puzzles for him solve. Each week's puzzles were harder than the previous week's and required more advanced solving strategies. We'll travel through the world of sudoku puzzle generation, difficulty categorization, puzzle selection, and PDF layout all within Ruby and LaTeX.\n\n**Geoffrey** has had an interest in programming ever since his family had a 286 in the family room growing up. He's developed for fun and profit for three decades in all sorts of languages. Geoffrey recently released Phoenix in Action with Manning Publications.", + "speaker_photo": "geoffrey-lessel.png", + "youtube_link": "Vpr4i0IlUhE", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Ayla Myers", + "title": "Let’s expand the meaning of “GAME FEEL”!! It ain’t just the crunchy boomy bits!", + "description": "We've all played games that don't feel quite right. Sometimes they seem too floaty, sometimes that OOMPH factor is missing, and sometimes we get hit even when we're sure we pressed that dodge button in time. \"Game feel\" refers to how well a game's visuals, audio, design, and mechanics line up with how our brains think they ~should~ feel. But oftentimes, the conversation on \"good game feel\" ends up boiling down to crunchy sounds, tight controls, and excessive screen shake.\n\nBut in this talk we'll be going even further--let's explore the unknown reaches of game feel together! You think zero-latency inputs feel tight? How about ~negative~ latency? Let's talk about all the weird things we can do in the name of improving game feel, even to the point of breaking our games if it means matching our brains' silly expectations about how they should work.\n\n**Ayla** is an independent game designer, developer, pixel artist, and fantasy console enthusiast! She spends her time crafting beauty out of code (and skating around the city when it’s sunny). She currently works at playcastle.io, happily contributing to a new platform for indie game devs.", + "speaker_photo": "ayla-myers.png", + "youtube_link": "qaCBpgVIw0Q", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019", + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Em Lazer-Walker", + "title": "I made a game you play by riding your bike!", + "description": "Making games that interface with the physical word can be tricky!\n\nThis talk will discuss a game I built to be played on a Bluetooth-enabled stationary bike. We’ll talk about my journey fighting BLE standards, and figuring out how to squeeze as many novel forms of input as possible out of off-the-shelf hardware, such as using the motion sensors built into the player’s iPad to figure out when they were turning the handlebars of the bike!\n\nWe’ll also explore what it means to create games that use weirder controls than a keyboard and mouse or game controller. My bike game specifically has two different versions: one meant to be played at home by cycling trainers with their own hardware, and an installation version for exhibitions and games events. What does it mean to design a game as a training tool — where “success\" means a high-engagement game whose players show steady progress over time — versus an installation art piece where “success” means a thought-provoking interactive artwork whose gameplay supports an underlying political statement?\n\n**Em** make interactive art, experimental games, and software tools. Above all, they make things that spark intellectual curiosity and inspire people to become self-motivated learners.", + "speaker_photo": "em-lazer-walker.png", + "youtube_link": "_1Z4p04dl8Y", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": true, + "all_years": [ + "2020", + "2019", + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Sophie Deziel", + "title": "I built a robot to cheat at Pokemon!!", + "description": "", + "speaker_photo": "", + "youtube_link": "teLJqGMrWJs", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Allison Parrish", + "title": "Speling werds egspressively with rrkurrent nuril nedwirques! ", + "description": "Spelling isn't just about memorization and following rules—it's a way of making meaning. I trained recurrent neural network models to spell words (translate phonemes to letters) and to sound words out (translate letters to phonemes) and I want to show off some of the weird outputs you can coax from the models if you poke them just right. I'll demonstrate how the models let me automatically ririt tixts without using potticulor l'tirs, generate strigs thadte soude like they have a ruddy doeds, and transmogrify words into their 1950s pulp sci-fi equivalents (\"Welcome to Bang-Gan-Kan in M'anhoten Gnhu Yorq, puny terran!\"). Along the way, we'll discuss why \"jabberwocky\" is spelled \"jabberwocky,\" what Russian Futurists have in common with J.R.R. Tolkien, and why \"standardized spelling\" is kind of a fake idea.\n\n**Allison Parrish** is a computer programmer, poet, educator and game designer whose teaching and practice address the unusual phenomena that blossom when language and computers meet. She is an Assistant Arts Professor at NYU's Interactive Telecommunications Program, where she earned her master's degree in 2008.", + "speaker_photo": "allison-parrish.png", + "youtube_link": "Bykvo3Ww_1k", + "transcript": "", + "order": 0, + "speaker_bio": "**Allison Parrish** is a computer programmer, poet, educator and game designer whose teaching and practice address the unusual phenomena that blossom when language and computers meet. She is an Assistant Arts Professor at NYU's Interactive Telecommunications Program, where she earned her master's degree in 2008.", + "keynote": false, + "organizer": false, + "all_years": [ + "2020", + "2019", + "2016", + "2014" + ] + }, + { + "year": "2019", + "author": "Andrew Sillers", + "title": "Anything is possible! Unlocking the Nightmarish Power of JavaScript via with and Proxy", + "description": "JavaScript is often the butt of jokes about haphazard language design, but that jumbled design allows for some truly alarming power. If other languages let you shoot yourself in the foot, then JavaScript lets you grow tentacles and shoot yourself in those.\n\nFirst, we'll dive into the mechanics of JavaScript's scope chain. Then, we'll learn how to break it by unmasking the secret lives of objects, variables, and identifiers. By combining one of JavaScript's most powerful features with one of its worst, we can create a pocket dimension of code where anything is possible and nothing is as it seems. In the end, we'll destroy JavaScript's ability to associate variables with their values, so that we can make any variable refer any value, irrespective of the code being run.\n\n**Andrew** is a programmer who thinks a lot about security. Ask him about his opinions on federated services, homomorphic encryption, and copyright law.", + "speaker_photo": "andrew-sillers.png", + "youtube_link": "bG9-iHehy8A", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021", + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Vaibhav Sagar", + "title": "You Won’t Believe This One Weird CPU Instruction!", + "description": "Most CPU architectures include some variant of the `popcnt` instruction, which\n\ncounts the number of bits set in a word. What makes this seemingly niche\n\noperation so important?\n\nI'll demonstrate a few situations in which this turns out to be incredibly\n\nhandy.\n\n**Vaibhav** ([@vbhvsgr](https://twitter.com/vbhvsgr)) used to write web applications for a living. He still does, but he used to, too. When he's not doing that he yells about package managers on Twitter and re-racks bumper plates after using them.", + "speaker_photo": "vaibhav-sagar.png", + "youtube_link": "bLFqLfz2Fmc", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2019", + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "David Mauricio Delgado Ruiz", + "title": "Hiding my love inside a MIDI file!", + "description": "Ever wanted to communicate a secret message to friend, lover or the national security officer of your country? (yes, I'm talking to you spies from all over the world). You might think end-to-end encryption got you covered, but after 2013, the NSA leaks and all that stuff, you never know! What do you do? You go back to the basics: Steganography! In this talk I want to share with you the basics of steganography and how you can use use it to hide messages in the vintage MIDI files we all loved from the 90's. More specifically, we are going to hide an audio message within the channels, patterns and events of a MIDI file. Finally, we will decode the message and listen to it!\n\n**David** loves to help people realize that hard things are not so hard with a smile and hard work. He also cares a lot about the wellbeing of people in this fast-paced tech world. He believes that people who understand technology should use it with ethics and moral and that caring about your user is more important than the money you put in your pocket.", + "speaker_photo": "david-mauricio-delgado-ruiz.png", + "youtube_link": "6T60F6r7t0w", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Ellen Körbes", + "title": "Go For Phallic Object Generation!", + "description": "Installing a vagina makes the body go all \"oh noes theres a huge gash here I better close it asap!!\" To avoid that happening, there are dilators. They're used on the vaginal canal to, well, y'know, dilate it. And human bodies are very efficient—not dilating for even a single day may prove catastrophic.\n\nDilators are phallic, like a dildo, but they're not sex toys—they're medical devices. Not that it matters, depending on what kind of airport security you run into. If I take my dilators as carry-on, they might get confiscated; if I dispatch them, the bags might get lost. Given that I can't miss a single day... it's scary.\n\nThe solution is 3D-printable dilators. This way if something happens, just run to a hackerspace and print a new one. In this talk we'll see how to generate and render 3D objects with nothing but Go, in a way that's suitable for 3D printing.\n\n**Ellen** is a developer advocate at Garden, and also an avid gopher, actively involved with Women Who Go, and responsible for the most comprehensive Go course in Portuguese. They've spoken at world-famous events, and at countless local meet-ups. Ellen is a proud recipient of a 'Best Hair' award.", + "speaker_photo": "ellen-korbes.png", + "youtube_link": "u18KOCcnRpI", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Sarah Withee", + "title": "I Built an Artificial Pancreas!", + "description": "One of the coolest open source projects I've seen in a while has been OpenAPS, the Open-source Artificial Pancreas System. It originally piqued my interest since I'm also a type 1 diabetic. Could a small hardware device really do the work of one of my organs? Was it safe? How's it work? Could it be hacked? I'll address all of these, as well as quickly show off my artificial pancreas, in this lightning talk.\n\n**Sarah Withee** is a polyglot software engineer, international public speaker, teacher and mentor, and hardware and robot tinkerer located in Pittsburgh, PA. She has a passion for technology and has ever since she wrote her first computer programs in elementary school. She captivates audiences with both popular and powerful technical and anecdotal talks. She gives workshops to teach programming and hardware building to women in tech, as well as to students of all ages. She's mentored middle and high school robotics teams to world championships. She's even co-organized six conferences and is the director of programming for Abstractions conference.", + "speaker_photo": "sarah-withee.png", + "youtube_link": "IgxhCTs4S3c", + "transcript": "", + "order": 0, + "speaker_bio": "**Sarah Withee** is a polyglot software engineer, international public speaker, teacher and mentor, and hardware and robot tinkerer located in Pittsburgh, PA. She has a passion for technology and has ever since she wrote her first computer programs in elementary school. She captivates audiences with both popular and powerful technical and anecdotal talks. She gives workshops to teach programming and hardware building to women in tech, as well as to students of all ages. She's mentored middle and high school robotics teams to world championships. She's even co-organized six conferences and is the director of programming for Abstractions conference.", + "keynote": false, + "organizer": true, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Tessa Alexanian", + "title": "Life isn’t logical! It’s hard to put NOR gates in bacteria!", + "description": "Bacteria: nature’s nanobots. In response to their surroundings, bacteria chase after food, change their shape, cooperate with one another, and otherwise appear to have a fair bit of computational power hiding within their cell membranes.\n\nSynthetic biologists (like me!) love talking about the “genetic circuits” that bacteria use to make decisions, but the truth is that DNA and proteins are far more annoying circuit components than the transistors we use to build computers.\n\nLet’s look at one of the simplest (but coolest!) boolean logic gates, the NOR gate, and talk about why it’s easy to implement with transistors and hard to implement in living cells.\n\n**Tessa** spends a lot of her time trying to make robots do biology experiments. She also likes impractical circuits, elaborate costume parties, musing about biosecurity, organizing effective altruist events, and irritating her American coworkers by spelling ‘behaviour’ with a ‘u’.", + "speaker_photo": "tessa-alexanian.png", + "youtube_link": "ePuTFNaSaYM", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Jenn Schiffer", + "title": "Day two Keynote by Jenn Schiffer", + "description": "**jenn schiffer** is an artist and engineer from jersey city. she's the director of community engineering at glitch.com, where she gets to work with the friendliest community of people using code for all sorts of things. she can run faster than a car driving very slowly.", + "speaker_photo": "jenn-schiffer.png", + "youtube_link": "kXdcPzmUKfs", + "transcript": "", + "order": 0, + "speaker_bio": "**jenn schiffer** is an artist and engineer from jersey city. she's the director of community engineering at glitch.com, where she gets to work with the friendliest community of people using code for all sorts of things. she can run faster than a car driving very slowly.", + "keynote": true, + "organizer": false, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Victor Dibia", + "title": "Dance of the Ancestors: I used Neural Networks to Re-imagine African Mask Art !!", + "description": "African mask art are a reflection of culture, beliefs, religion and ancient history from many parts of Africa. In this work, I curate a dataset of 11000 images of African Mask art and train a Generative Adversarial Neural Network (GAN) that learns to generate new masks. The modes learned by the GAN (geometry, texture, material) suggest interesting interpretations and conversations that draw attention to the underrepresented area African Art. I also discuss findings on the quality of results, novelty of generated samples, and the impact of data quality on image quality.\n\n**Victor** is a researcher, passionate about the intersection of Human Computer Interaction and Artificial intelligence. He is a forever amateur musician, loves to play the piano, guitar and sing.", + "speaker_photo": "victor-dibia.png", + "youtube_link": "lq5L0NxYwXU", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Veena Sankaranarayanan", + "title": "Manual algorithmic art: You can draw an Indian floor pattern that covers an infinite area!", + "description": "Women in India have been practicing the algorithmic art of Kolam for generations. Believed to have originated over 5000 years ago, kolams adorn the threshold of every house in India. The simplest form, practiced widely in South India is a knotted kolam where dots are placed in a grid-like framework and symmetrical patterns are traced around the dots. This talk addresses the maths behind a specific kind of knotted kolam, which uses the Fibonacci series to generate square and rectangular patterns of any size. After this talk, anyone in the audience will be able to draw a square/rectangular knotted kolam of any size!\n\n**Veena** works with technology to help liaison between Insurance companies and their clients at Empyrean Benefits Solutions. Besides her work, she enjoys the math in everything, and practising South Indian Classical Music.", + "speaker_photo": "veena-sankaranarayanan.png", + "youtube_link": "12-nDzzxu_o", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Lee Butterman", + "title": "Poeta Ex Machina! How To Teach Computers To Chant Latin Poetry!", + "description": "We don't often hear Latin poetry! And there are lots of programs designed to synthesize human voices! We can piece together what we infer of how Latin poetry was pronounced and chanted to make a web app that recites Latin poetry on demand! We can start with freely available concatenative synthesis, with a few building blocks: determining basic pitch by word accent and volume of air in the lungs, freely available human voices from many languages, and a few hundred lines of code to glue it together. There will be audio from many different types of speech synthesis, and the web app is live at [poetaexmachina.net](http://poetaexmachina.net/)!\n\n**Lee Butterman** is a programmer and an enthusiast of Latin and Greek. He created the first text-to-speech engine for Latin, [poetaexmachina.net](http://poetaexmachina.net/), and his website [nodictionaries.com](http://nodictionaries.com/) has helped countless students read Latin over the last decade. He lives in California.", + "speaker_photo": "lee-butterman.png", + "youtube_link": "JowjjoLreC4", + "transcript": "", + "order": 0, + "speaker_bio": "**Lee Butterman** is a programmer and an enthusiast of Latin and Greek. He created the first text-to-speech engine for Latin, [poetaexmachina.net](http://poetaexmachina.net/), and his website [nodictionaries.com](http://nodictionaries.com/) has helped countless students read Latin over the last decade. He lives in California.", + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Anjana Vakil, Natalia Margolis", + "title": "Tail Call Optimization: The Musical!!", + "description": "\"Stack overflow\"!\n\n\"Maximum call stack size exceeded\"!!\n\n\"Too much recursion\"!!!\n\nYou may have seen errors like these thrown when you attempt to run a deeply recursive function. Computers can be so dramatic! But what's the conflict, exactly, between recursion and call stacks? And is there any hope for resolving it into a happy ending? In this musical talk we'll see why recursion poses a problem for the finite-memory call stack in our language runtime (we'll use a JavaScript engine as an example), and learn how \"Tail Call Optimization\" (TCO) - a particularly cool implementation feature of some engines - lets us get around that problem, when paired with so-called \"tail-recursive\" functions. We'll sing our way through the meaning of these terms to explore how TCO messes with the call stack (in a useful way!), as we mess with the lyrics to some of our favorite animated musical songs (in a nerdy way!).\n\n**Anjana** suffers from a debilitating case of curiosity, which led her from philosophy to English teaching to computational linguistics to software development. As Engineering Learning & Development Lead at Mapbox, she can usually be found in San Francisco; that is, when she's not speaking at events around the world, trying to share the joy of coding and advocate for a more diverse & accessible tech industry. Ask her about the Recurse Center, Outreachy, and Mozilla!\n\nAs a software engineer on Search at Mapbox, **Natalia** helps answer the question “Where in the world is San Diego”? She’s psyched about the intersection of tech and justice, and has worked on projects from mapping evictions to an app for undocumented immigrants to activate their support networks called Notifica. When she’s not in front of a screen, you can find her learning Salsa or wandering the steep hills and succulent-lined coast of the Bay Area.", + "speaker_photo": "natalia-margolis.png", + "youtube_link": "-PX0BV9hGZY", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Omar Shehata", + "title": "Learning to See in 4D", + "description": "In this talk I'm going to teach you how to look at a 4 dimensional cube! We'll use a 4D geometry visualizer I built on top of Three.js. Yes, your eyes can't _really_ see in 4D, but you can't _really_ see in 3D either and that hasn't stopped you! Our eyes just see 2 dimensional images - it's in your brain that the 3D scene is reconstructed. So there's no reason you can't do that for one dimension up.\n\nMathematically, high dimensional geometry has many useful applications. But I'm not going to tell you about any of that. I'm a graphics programmer - I just think it's so cool that we can actually look at these objects! And in doing so, we learn a little bit about vision and perception.\n\n**Omar** is a graphics programmer at Cesium working on open source, web-based 3D maps. He deeply believes in the value of an open, accessible web. As a kid growing up in Alexandria, Egypt, websites like Newgrounds gave him a chance to collaborate with people from all over the world and reach audiences of millions with his Flash games. It didn't matter how old you were, or where you're from. Their motto was \"Everything by Everyone\". You can check out all his stuff on his [personal website](http://omarshehata.me/).", + "speaker_photo": "omar-shehata.png", + "youtube_link": "PdFU1Sb4NOs", + "transcript": "", + "order": 0, + "speaker_bio": "**Omar** is a graphics programmer at Cesium working on open source, web-based 3D maps. He deeply believes in the value of an open, accessible web. As a kid growing up in Alexandria, Egypt, websites like Newgrounds gave him a chance to collaborate with people from all over the world and reach audiences of millions with his Flash games. It didn't matter how old you were, or where you're from. Their motto was \"Everything by Everyone\". You can check out all his stuff on his [personal website](http://omarshehata.me/).", + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Jayesh Kawli", + "title": "Compute geolocation from object shadows!", + "description": "Inspired by the paper [Determining the Geographical Location of Image Scenes Based on Object Shadow Lengths\" by \"Frode Eika Sandnes](https://www.researchgate.net/publication/220541439_Determining_the_Geographical_Location_of_Image_Scenes_based_on_Object_Shadow_Lengths), I am going to talk about how geolocation can be calculated from object shadows. This method needs a simple setup and uses a mathematical algorithm to compute a rough geolocation of the place where the experiment is conducted.\n\nThrough this talk, I will share my experiences making a set up for an experiment just by using cardboard, a pen, and a 2-megapixel camera. We will also look at simple algorithms utilized to make geolocation computations along with cool plots and images. Finally, we will touch upon some of the things that could potentially be considered in order to get better and accurate results.\n\n**Jayesh Kawli** is an iOS developer currently working for [Wayfair](https://www.wayfair.com/) in Boston, Massachusetts. He has been writing iOS applications for more than 5 years and currently acts as a tech lead for the checkout team on Wayfair iOS application.\n\nAs a senior developer, he likes to share his knowledge and experience with other people. He has presented a variety of topics at his company's internal Lunch and learn meetings, local meetups as well as on the international platform. He also writes [a blog](https://jayeshkawli.ghost.io/) which touches active topics in iOS development along with occasional off-topics such as food, travel and web development.", + "speaker_photo": "jayesh-kawli.png", + "youtube_link": "aWrONCKBpAY", + "transcript": "", + "order": 0, + "speaker_bio": "**Jayesh Kawli** is an iOS developer currently working for [Wayfair](https://www.wayfair.com/) in Boston, Massachusetts. He has been writing iOS applications for more than 5 years and currently acts as a tech lead for the checkout team on Wayfair iOS application.\n\nAs a senior developer, he likes to share his knowledge and experience with other people. He has presented a variety of topics at his company's internal Lunch and learn meetings, local meetups as well as on the international platform. He also writes [a blog](https://jayeshkawli.ghost.io/) which touches active topics in iOS development along with occasional off-topics such as food, travel and web development.", + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Nat Alison", + "title": "We Love Polyhedra! (And So Should You!)", + "description": "For millennia, mathematicians have marveled at the beauty of polyhedra, the most fundamental of 3D shapes. For years I have admired and researched these figures, and now it is time to me to present my findings. Through the magic of *3D graphical software* (oooh), I'll show you the hidden secrets and relationships of the humble tetrahedron, the stalwart cube, and the rare triangular hebesphenorotunda. We'll talk about symmetry, beauty, and form as we embark on a mathemagical journey together.\n\n**Nat Alison** is a freelance software engineer. She has gotten first place at Tetris 99 ten times. If you are stuck in a room with her, she *will* start talking to you about shapes. You've been warned.", + "speaker_photo": "nat-alison.png", + "youtube_link": "XjvyELtrPF4", + "transcript": "", + "order": 0, + "speaker_bio": "**Nat Alison** is a freelance software engineer. She has gotten first place at Tetris 99 ten times. If you are stuck in a room with her, she *will* start talking to you about shapes. You've been warned.", + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Uche Ogbuji", + "title": "Yes yes ya’ll! Miles of !malloc() and free() styles!¡!", + "description": "It was the early 90s. C++ surging, so you worried C might be fading, just like poetry. Wick-wick-widdack! Hip-Hop was in its golden age, and it would save poetry. Fr-fr-fresh! If freestyle could save verse, why couldn’t it save the malloc() and free()? Microphone check micro-microphone check-ah!\n\nI learned how to program (BASIC then Z80 assembler) while UTFO were battling The Real Roxanne and the L=A=N=G=U=A=G=E poets were still bombing every wall with foul wack juice. I was just getting into University in Nigeria, where we didn’t have the latest, so my nostalgia goes back even further, to FORTRAN 4 and punched cards, boyeeee! back to when James Brown was laying down funk architecture for 90s DJs on MPCs (…rolling in MPVs every week they made 40 Gs!). Hyeeey! I need those hits!\n\nI’ve never stopped programming (how I eat now, yo!), living my deep-nerd Hip-Hop life, reading and writing poetry. Now I’m ‘bout to bring these all together for ya’ll. A nostalgia trip straight off the dome, right there in the Big Apple, the realness, the foundation. Best be dipped in some Karl Kani or FUBU that day! So fresh and so clean-clean!\n\nMorning of the talk I’ll tweet a call: nostalgic programming topics for a freestyle-flavored series of poems. I’ll select a few for the show, ten minutes to flow, taking the rhymes where the crowd wants to go. Might even bite live inspiration from talks preceding mine. Oh yes, I’m ah need some audience participation to keep it hype! Clap your hands everybody! Everybody just clap your hands!\n\n**Uche Ogbuji**, more properly Úchèńnà Ogbújí, was born and largely educated in Nigeria, pursuing engineering because his parents hollered: \"Literature?! You want to starve?!\". Stubborn, he writes code and tech articles by day, but reads, edits, writes and performs poetry by twilight and less.", + "speaker_photo": "uche-ogbuji.png", + "youtube_link": "a6_Z-Qp3A6E", + "transcript": "", + "order": 0, + "speaker_bio": "**Uche Ogbuji**, more properly Úchèńnà Ogbújí, was born and largely educated in Nigeria, pursuing engineering because his parents hollered: \"Literature?! You want to starve?!\". Stubborn, he writes code and tech articles by day, but reads, edits, writes and performs poetry by twilight and less.\n\n---\n\nPerhaps you would be interested in our [2018](../2018/speakers.html), [2017](../2017/speakers.html), [2016](../2016/speakers.html), [2015](../2015/speakers.html), or [2014](../2014/speakers.html) speakers as well?", + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Dawn Xiana Moon", + "title": "Musician experiments: I fed a bot my songs and asked it to write more! Plus: A concert!", + "description": "What happens when you ask a bot to be your co-writer?\n\nFor over 15 years, I've been a singer-songwriter that's performed throughout the Midwest and East Coast. One night, I found a cute little virtual robot hanging out on the internet that wanted to become a songwriter too! But the poor thing had only generated random text before. So I fed the bot 80 of my original songs and asked it to write lyrics based on that material.\n\nThen I took its lyrics and set them to music. Robot co-writing! I'll talk about this process and give you a mini-concert featuring my favorite bot's writing – and together we'll look for meaning in the little bot's music!\n\n**Dawn Xiana Moon** is a singer-songwriter who blends folk pop with jazz and traditional Chinese music; she's released two albums and performed in 10 states. She's also the Founder/Director of Raks Geek, a bellydance and fire performance company based in Chicago, and writes essays about pop culture and social justice. When she's not feeding her wanderlust, she's also a UX designer and web developer - and a bellydancing Wookiee.", + "speaker_photo": "dawn-xiana-moon.png", + "youtube_link": "k7uT7pGjDAQ", + "transcript": "", + "order": 0, + "speaker_bio": "**Dawn Xiana Moon** is a singer-songwriter who blends folk pop with jazz and traditional Chinese music; she's released two albums and performed in 10 states. She's also the Founder/Director of Raks Geek, a bellydance and fire performance company based in Chicago, and writes essays about pop culture and social justice. When she's not feeding her wanderlust, she's also a UX designer and web developer - and a bellydancing Wookiee.", + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Ju Liu", + "title": "Do Parsers Dream of Electric Guitars?!", + "description": "As a guitarist, I've always been fascinated by chords and their infinite variations. In this talk, we'll see how we can build a program that reads a chord sheet, understands chords on a deeper level and finds ergonomic ways to play them on a real guitar. We will do this using a simple parser using Elm and show how much cooler it is compared to a good ol' regular expression. Then, we'll see what it takes to teach our program how to play the ukulele!\n\n**Ju** was born in China, moved to Italy as a kid, grew up eating a lot of pasta, and started messing around with computers. He now lives in London and works for NoRedInk. He loves to solve interesting problems and build amazing products. When he’s not doing that, he’s probably rock climbing.", + "speaker_photo": "ju-liu.png", + "youtube_link": "6CNbhuHtoLs", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Peter Sobot", + "title": "Even more vintage: releasing music on a custom-built Game Boy cartridge!", + "description": "Hip musicians are releasing their work on vinyl these days. Some artists even release on cassette tape. Is it possible to be even more hip? The answer is yes: I helped a friend release their album as a playable Nintendo Game Boy game!\n\nI'll go over the adventures of putting this project together, from designing and building hardware for full-quality audio playback, writing assembly code for multiple platforms, reverse engineering 30-year old hardware, and gluing it all together with code in Python, C, and Make.\n\n**Peter** is an engineer and musician from Toronto, currently living in Brooklyn. His business cards say \"House Drummer at Spotify\" but his manager keeps reminding him he gets paid to help make Discover Weekly better.", + "speaker_photo": "peter-sobot.png", + "youtube_link": "5PHLJ7zppfo", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2019", + "author": "Jes Wolfe!", + "title": "Paper Synthesizer! Music created with Augmented Reality", + "description": "This will be a combination talk and short musical performance. I'll demonstrate a small Dynamic Medium / Augmented Reality rig - using projection mapping to bring the digital world onto a surface of a table (rather than using glasses or a screen) and a webcam to read handwritten data on pieces of paper back into the computer. I'll explain how all this works and then use this system as the UI to create and perform an original piece of music.\n\n**Jes Wolfe!** is a computer programmer who, in some contexts, refers to themself as an “artist” and/or “musician”, and they are especially interested in the aesthetic consequences of algorithms. They live in a house in the woods in Portland, Oregon, and they are doing yet another startup.", + "speaker_photo": "jes-wolfe!.png", + "youtube_link": "idoCdPPyM3c", + "transcript": "", + "order": 0, + "speaker_bio": "**Jes Wolfe!** is a computer programmer who, in some contexts, refers to themself as an “artist” and/or “musician”, and they are especially interested in the aesthetic consequences of algorithms. They live in a house in the woods in Portland, Oregon, and they are doing yet another startup.", + "keynote": false, + "organizer": false, + "all_years": [ + "2019", + "2018", + "2017" + ] + }, + { + "year": "2019", + "author": "Josh Triplett", + "title": "Build your own virtual machine with /dev/kvm and Rust!", + "description": "Virtual machines are much simpler to build than they seem! I'll show how to build a complete virtual machine on Linux using the /dev/kvm interface, load and run code, and even implement your own virtual devices using virtio! I'll explain the interface, and show some libraries in Rust that help you build more complex virtual machines. By the end of the talk, you'll not only know the foundations of cloud computing, but you'll have ideas for other novel uses of virtualization as well!\n\n**Josh Triplett** hacks on system software, including Rust, virtual machines, the Linux kernel, X, Git, Sparse, Debian, Chrome OS, and firmware. Josh enjoys using software for unconventional purposes, such as porting Python to GRUB2. Josh has previously presented at linux.conf.au, Linux Plumbers Conference, Embedded Linux Conference, LinuxCon, RustConf, PyCon, Kernel Summit, Open Source Bridge, and the USENIX Annual Technical Conference.", + "speaker_photo": "josh-triplett.png", + "youtube_link": "A_diEEpAfpM", + "transcript": "", + "order": 0, + "speaker_bio": "**Josh Triplett** hacks on system software, including Rust, virtual machines, the Linux kernel, X, Git, Sparse, Debian, Chrome OS, and firmware. Josh enjoys using software for unconventional purposes, such as porting Python to GRUB2. Josh has previously presented at linux.conf.au, Linux Plumbers Conference, Embedded Linux Conference, LinuxCon, RustConf, PyCon, Kernel Summit, Open Source Bridge, and the USENIX Annual Technical Conference.", + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Michael Malis", + "title": "Writing an Interpreter in SQL for Fun and No Profit!", + "description": "Writing SQL can be hard. SQL code is a bizarre combination of yelling and relational algebra. How can we make writing SQL easier? By embedding our own programming language in our SQL queries of course!\n\nIn this talk, we'll take a look at how you use a combination of various Postgres features to build a programming language out of SQL.\n\n**Michael Malis** leads the database team at Heap. For his day job he works on optimizing a petabyte-scale Postgres cluster. His hobbies include bouldering and meditating.", + "speaker_photo": "michael-malis.png", + "youtube_link": "MPSMH8w7nfw", + "transcript": "", + "order": 0, + "speaker_bio": "**Michael Malis** leads the database team at Heap. For his day job he works on optimizing a petabyte-scale Postgres cluster. His hobbies include bouldering and meditating.", + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Pranshu Bajpai", + "title": "Tales from the Underground: Hilarious Cybercrime Fails!!", + "description": "Hilarity ensues as cybercriminals fail miserably in their objectives in these tales. Hackers have a fearsome reputation thanks to their sustained glorification in Hollywood. However, not all of these “l33T hax0rs” can boast real skill (...or any skill for that matter). A vast majority of these cybercriminals are script kiddies relying heavily on cargo cult programming and acquired tools. Surface level knowledge combined with the firm refusal to truly comprehend the tools being used, creates a perfect opportunity for comedic moments as these cybercriminals make ridiculous errors in design, operation and implementation.\n\n**Pranshu Bajpai** ([@amirootyet](https://twitter.com/amirootyet)) is a security researcher working towards his PhD in Computer Science and Engineering at Michigan State University. His research interests lie in computer and network security, malware analysis, digital forensics, and cybercrimes. In the past, he worked as a penetration tester. He has been an active speaker at conferences and spoken at DEFCON, APWG eCrime conference, GrrCon, ToorCon, CascadiaJS, BSides, BangBangCon and others. He loves classic rock music and playing sports.", + "speaker_photo": "pranshu-bajpai.png", + "youtube_link": "GUsHCvJdXV4", + "transcript": "", + "order": 0, + "speaker_bio": "**Pranshu Bajpai** ([@amirootyet](https://twitter.com/amirootyet)) is a security researcher working towards his PhD in Computer Science and Engineering at Michigan State University. His research interests lie in computer and network security, malware analysis, digital forensics, and cybercrimes. In the past, he worked as a penetration tester. He has been an active speaker at conferences and spoken at DEFCON, APWG eCrime conference, GrrCon, ToorCon, CascadiaJS, BSides, BangBangCon and others. He loves classic rock music and playing sports.", + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ] + }, + { + "year": "2019", + "author": "Sophie Déziel", + "title": "I built a robot to cheat at Pokemon!!", + "description": "A bunch of servomotors and a webcam is all you need to let a computer play some video games right? Turns out you have to work hard to be lazy. That's what I've learned putting the pieces together to automate exchanging fossils in hope of getting a shiny Omanyte in Pokemon Let's Go Pikachu. In this talk, I'll show you what pieces of Open-Source software I use to control almost any hardware from a web browser.\n\n**Sophie** works as a web developer in Montreal. She is also a streamer on Twitch, creating french content about electronics and programming.", + "speaker_photo": "sophie-deziel.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Taeyoon Choi", + "title": "Keynote Talk", + "description": "**Taeyoon Choi** is an artist, educator, and organizer. He is a co-founder of the School for Poetic Computation, an artist-run institution with the motto of \"More Poetry, Less Demo!\" Taeyoon seeks a sense of gentleness, intellectual kinship, magnanimity, justice and solidarity in his work and collaboration. He has presented installations, performances and workshops at Eyebeam Art and Technology Center, Los Angeles County Museum of Art, New Museum, M+ Museum, Istanbul Design Biennale, Seoul Mediacity Biennale and Venice Biennale for Architecture. He contributed to alternative education such as the Public School New York, Occupy University and Triple Canopy Publication Intensive. In 2019, Taeyoon worked with Mimi Onuoha to start the New York Tech Zine Fair, with support from Ritu Ghiya and Neta Bomani. He also collaborated with Nabil Hassein and Sonia Boller to organize the Code Ecologies conference about the environmental impact of technology. As a disability justice organizer, Taeyoon continues to work with the Deaf and Disability community towards accessibility and inclusion.", + "speaker_photo": "thumbnail/taeyoon-choi.jpg", + "youtube_link": "z670kHQhYvs", + "transcript": "", + "order": 0, + "speaker_bio": "**Taeyoon Choi** is an artist, educator, and organizer. He is a co-founder of the School for Poetic Computation, an artist-run institution with the motto of \"More Poetry, Less Demo!\" Taeyoon seeks a sense of gentleness, intellectual kinship, magnanimity, justice and solidarity in his work and collaboration. He has presented installations, performances and workshops at Eyebeam Art and Technology Center, Los Angeles County Museum of Art, New Museum, M+ Museum, Istanbul Design Biennale, Seoul Mediacity Biennale and Venice Biennale for Architecture. He contributed to alternative education such as the Public School New York, Occupy University and Triple Canopy Publication Intensive. In 2019, Taeyoon worked with Mimi Onuoha to start the New York Tech Zine Fair, with support from Ritu Ghiya and Neta Bomani. He also collaborated with Nabil Hassein and Sonia Boller to organize the Code Ecologies conference about the environmental impact of technology. As a disability justice organizer, Taeyoon continues to work with the Deaf and Disability community towards accessibility and inclusion.", + "keynote": true, + "organizer": false, + "all_years": [ + "2020" + ] + }, + { + "year": "2020", + "author": "Chloe Revery", + "title": "The Taming of the Clue: Teaching a Pen Plotter To Solve Crossword Puzzles!!", + "description": "Have you ever tried to solve a crossword puzzle and walked away stumped? Imagine being a secondhand pen plotter from the 1980s! The humble pen plotter – a robotic arm with pen attachments once used to draw graphs for business presentations – is about to get an upgrade! Together we’ll equip it with a shiny new algorithm that parses and solves modern crossword puzzles. On the way, we’ll invent a new file format (or two!), teach the plotter to write the alphabet, and learn about a plagiarism scandal that rocked the crossword world. In the grand finale, the plotter will go head-to-microchip with some of the best solvers in the U.S. in a race against the machine.\n\n**Chloe Revery** is a San Francisco based coder who makes programs, puzzles, and puns. You can find her on Twitter at https://twitter.com/chloerevery.", + "speaker_photo": "thumbnail/chloe-revery.jpg", + "youtube_link": "NWejhIM74do", + "transcript": "", + "order": 0, + "speaker_bio": "**Chloe Revery** is a San Francisco based coder who makes programs, puzzles, and puns. You can find her on Twitter at https://twitter.com/chloerevery.", + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ] + }, + { + "year": "2020", + "author": "Tamás Kádár", + "title": "Little Printing for everyone!!1", + "description": "Do you remember the Little Printer? It was an internet-connected, super cute thermal printer, which printed you your calendar and news headlines in the morning; you could even message your friends if they also had one. It was a commercial flop and the servers were shut down in 2015, but that's only the start of our story. Today, with a little work, you too have your own Little Printer — and now you can use any thermal printer for it (some assembly required).\n\n**Tamás** is a generalist working in DevOps and Infrastructure lately, automating all the things. He's really into writing lately and loves the world's most pointless drink, a decaf iced latte.", + "speaker_photo": "thumbnail/tamas-kadar.jpg", + "youtube_link": "AK3W0jddsPs", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Gargi Sharma", + "title": "Printing floating point numbers is surprisingly hard!!", + "description": "Not many of us have wondered \"how are floating-point numbers rendered as text strings?\" and for good reason! This doesn't seem like a hard problem to solve! But even in 2020, you don’t have guarantees in some languages that when you convert a string to float and vice versa you will get the same number! In this talk we will explore why printing floating point numbers is hard, arbitrary precision arithmetic, and the state-of-the-art dragon algorithms for printing floating point numbers!\n\n**Gargi** is a software engineer who loves systems programming, planning elaborate city walks and Modern Art.", + "speaker_photo": "thumbnail/gargi-sharma.jpg", + "youtube_link": "qpklTOWEM9E", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Martin Gaston", + "title": "bringing back my 1998 by building an arduino that can recover a playstation memory card!", + "description": "In 1998, armed with the original PlayStation and my childhood, I saved Midgard from Sephiroth, averted nuclear armageddon by sneaking through Shadow Moses and escaped a zombie infested Racoon City.\n\nThese iconic games have been re-released and remastered in various forms, but my digital memories of them now only exist on a single PlayStation Memory Card: 128kb of EEPROM storage I recently found hidden in a shoebox during a move. Awash with nostalgia by just holding the rectangular card in my hands, I realised I just had to find a way to break into this trove.\n\nJoin me as I learn how to setup an Arduino to access this data, tear down an original PlayStation console, read those precious bytes from my memory card and then convert them into a format to relive my 1998 memories on a modern PlayStation emulator in 2020.\n\nThe talk is specifically aimed at beginners with an interest in hardware and low-level file manipulation, and looks to introduce obtaining, reading and parsing a binary file in an introductory and accessible way. Python is used for some file manipulation, so a little knowledge of dynamic languages and an interest in 90s gaming would likely be beneficial.\n\nFollowing careers in games media and marketing, **Martin** really got into programming in 2018 after previously assuming tech was inaccessible for people without a computer science degree. He was forged in the friendly fires of Founders and Coders - a tuition-free, peer-led UK bootcamp - and now talks about the 90s way too much with the rest of the team at 8th Light.", + "speaker_photo": "thumbnail/martin-gaston.jpg", + "youtube_link": "94IWsCxkpVI", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021", + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Gábor Ugray", + "title": "Trapped in codepoints no more! I’m freeing Chinese characters.", + "description": "Unless you’re one of the 1.5 billion people who learned to write Chinese in school, you probably only know the script as that remarkable thing where you must master thousands of characters to read the daily paper. But those thousands of characters have a structure: they mix, re-mix, combine and shuffle and creatively glue together only a few hundred components.\n\nTogether, this makes up an intricate system where elements combine with other elements, adding a piece of meaning here and hinting at the pronunciation there. The details are often more arcane than the spelling of English words, but if you get the knack of the system, the script as a whole suddenly starts making sense.\n\nThe way computers encode Chinese characters erases all of this. There are no components, no shapes, and no system of interlocking parts. It’s all reduced to one code point per character.\n\nI’m showing you how I’m building a dataset of Chinese characters and their parts. I promote SVG shapes to first-order citizens with meaning, sound, and historical background. The knowledge is out there in print books and unstructured digital content, but it’s never been collected in a thought-through machine-readable format. It’s a long journey: in 2 years I’ve covered 20% of the 9,000 characters in common use today.\n\nI’ll conclude by showing the incredibly cool tools this dataset makes possible, from an interactive two-dimensional graph of every Chinese character to a unique cross-linked character dictionary app.\n\n**Gábor** is co-founder of memoQ, the tool that brought real-time collaboration to translators before Google Docs was cool. He loves building whimsical language tools and has been known to train neural networks to translate. He blogs at jealousmarkup.xyz and tweets as @twilliability. He was last spotted zooming across Berlin on a sleek red racing bike.", + "speaker_photo": "thumbnail/gabor-ugray.jpg", + "youtube_link": "jbFr-D4c_HM", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Jonathan Kingsley", + "title": "Reverse engineer your ski goggles for fun and profit!", + "description": "Do you like tearing down weird hardware? Are you a fan of bringing old things back to life? Do you love to break both legs with the snowsports equivalent of distracted driving? Well, do we have the talk for you! In this talk we'll somehow fit in: breaking down the demise of Recon Instruments, discuss how to reverse engineer hardware from a company that's as dead as a doornail, demo some brand new firmware for a 7 year old piece of hardware, and explain how all of this will still not make you cool.\n\n**Jonathan** is a software engineer 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.", + "speaker_photo": "thumbnail/jonathan-kingsley.jpg", + "youtube_link": "9IByYkFR-aQ", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021", + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Omar Rizwan", + "title": "Playing Breakout… inside a PDF!!", + "description": "If you're like me, you think of PDFs as basically benign creatures:\n\nthey're static documents where the author laid out some text and\n\ngraphics, and when you open a PDF, all your PDF reader does is display\n\nthat stuff.\n\nMaybe that was what PDFs were originally, but today, the PDF\n\nspecification is... 1,310 pages, and a PDF can contain things like:\n\n- embedded Flash\n\n- audio and video annotations\n\n- 3D object annotations (!)\n\n- rich text forms using a subset of XHTML and CSS\n\nbut most interestingly...\n\n- JavaScript scripting (!!!!!!!)\n\nSo I wrote a game in JavaScript that lives inside a PDF: when you open\n\nthe PDF in Chrome, you can play Breakout!\n\nI'll show some basics of the PDF standard, how you embed JavaScript,\n\nand then discuss the problems I ran into when making this game work.\n\nIt turns out, for example, that Adobe's PDF JavaScript has a\n\ncompletely different standard library from browser JavaScript -- and\n\nChrome's PDF reader only implements a weird subset of Adobe's\n\nlibraries! I'll talk about the wild hacks I needed for basic things\n\nlike tracking the player's mouse cursor and making the Breakout game's\n\ndisplay update over time.\n\n**Omar Rizwan** is fascinated by weird leftover details of file formats and by what those details say about a format's history. He works as a researcher at Dynamicland in Oakland, California.", + "speaker_photo": "thumbnail/omar-rizwan.jpg", + "youtube_link": "6rbJu10Telc", + "transcript": "", + "order": 0, + "speaker_bio": "**Omar Rizwan** is fascinated by weird leftover details of file formats and by what those details say about a format's history. He works as a researcher at Dynamicland in Oakland, California.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2022", + "2020", + "2018", + "2014" + ] + }, + { + "year": "2020", + "author": "Sacha Sayan", + "title": "Obelisk and the Known Unknowns (Or: The Art of Fumbling Through your Side Project to Create Something Incredible!)", + "description": "I had a dream of building something cool in the realm of digital signage, no fabrication knowledge, questionable memory of high school physics equations, and a terrible track record for finishing side projects. So I did what anyone else would do: Pulled my credit card out to buy a bunch of undocumented electronics from an internet wholesaler and forced myself to sit down and figure it out. The result: Something amazing, and a deep reflection for how we should think about our pet projects.\n\nWhen **Sacha** (@sachasayan) isn't getting himself into trouble committing to side projects, he's working as a software engineer in Toronto, Canada. In his spare time he also likes to get lost on motorcycles in far flung corners of the planet, demonstrating that he really is a masochist beyond redemption.", + "speaker_photo": "thumbnail/sacha-sayan.jpg", + "youtube_link": "1JhU6pQRjZo", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Amy Cash", + "title": "Punch Card Love! A (Very!) Personal History of Computer Dating!", + "description": "\n\n\"Amy\n\nI owe my existence to punch cards. When I tell people that my parents met on a computer date, they generally aren’t that surprised. This changes when I mention that the date was arranged in 1968. Where, when, and why did the computer dating industry begin? Who was invited to participate (and who was not)? What machines, languages, and algorithms were used? All these questions will be answered as we explore the social and technical aspects of the early days of using computation to find romance.\n\nIn 1998, a friend of **Amy**'s told her she should get into computer programming; 19 years later she finally took him up on the idea. She is a 2017 graduate of Ada Developer's Academy (Cohort 8!) and she currently develops software for biologists at the University of Washington.", + "speaker_photo": "thumbnail/amy-cash.jpg", + "youtube_link": "5o--GId9sO4", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Dylan Nugent", + "title": "Let’s implement DNS to learn history!", + "description": "The history of most internet protocols is captured in static and sometimes obtuse standards documents called RFCs. Reading all the necessary RFCs to understand a protocol might seem like a tedious chore...but it doesn't have to be! RFCs give us a unique glance into what was (and wasn't) on the minds of engineers decades ago when they were designing these protocols! If we study RFCs like archeologists might study artifacts, we can learn a lot!\n\nDNS, the system that translates domain names like \"\"google.com\"\" into routable addresses, is one of the oldest application protocols still in regular use! It's defined across over 256 different RFCs, which sounds daunting, but we don't need to look at them all! Let's take a deep dive into a few of these RFCs and learn what we can by exploring some of DNS's stranger quirks!\n\n**Dylan** is a programmer who just moved to Brooklyn from San Francisco. He's currently recovering from being a manager by spending time at the Recurse Center, a self-directed retreat for programmers who want to learn about things (such as the minuta of networking protocols)! When he's not building DNS servers for fun, he's probably backpacking, singing karaoke, or both.", + "speaker_photo": "dylan-nugent.png", + "youtube_link": "TGhO_80iRqE", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Phil Warren", + "title": "Recreating Photography of the 1850s in a Digital World: Cowboys, Principal Component Analysis, and One Vengeful Volcano Spirit!!!", + "description": "Ever wonder why photos taken from the civil war era make the subject look ridden hard and put away wet? Exploring the chemical properties from those photos, we can learn why conventional modern cameras can’t naturally photograph the same way, and how we can hack them to get closer. Along the way we’ll employ the help of some principal component analysis on a 3 dimensional volume of color-sorted pixels to make our weird novel data look correct. Then we’ll make portraiture with glowing eyes and unseen freckles, because we’ll learn how to make and use UV-sensitive digital photography- and learn a thing or two* about vengeful volcano spirits!\n\n\\*only one thing will be learned about a singular vengeful volcano spirit.\n\n**Phil Warren** works in R&D in image technology, and enjoys adventures, eating things, and meeting people. He wants to explore and see everything, and discover new ways to do so. His skillset does not include competently hang gliding or playing a singing saw, but he’s tried it anyway, and hopes to try many more esoteric pastimes!", + "speaker_photo": "thumbnail/phil-warren.jpg", + "youtube_link": "NYcfH_3bQfY", + "transcript": "", + "order": 0, + "speaker_bio": "**Phil Warren** works in R&D in image technology, and enjoys adventures, eating things, and meeting people. He wants to explore and see everything, and discover new ways to do so. His skillset does not include competently hang gliding or playing a singing saw, but he’s tried it anyway, and hopes to try many more esoteric pastimes!", + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2020" + ] + }, + { + "year": "2020", + "author": "Char Stiles", + "title": "EMAIL!", + "description": "I am going to talk about EMAIL! Yes, email! Not to complain about email, but the good parts of email, like the cool stuff that we can do with it: maintain a git repo, display html, run your own email server, use a CLI inbox, and make art. For so many, it is the most used form of digital communication that only necessarily relies on a protocol, and not a company or institution. Email was born in the 70s and it’s not going anywhere!\n\nI will share my journey making my own mischievous email server, which aims to bring a spark back into email communication. I will also go over the protocol (this talk is still 10 min, the protocol is just that simple!).\n\nHopefully at the end of this talk everyone can appreciate email a little more, and perhaps some will agree with me that email is totally metal.\n\n**Char Stiles** thinks about email protocol a lot, but spends all day practicing social protocol by writing and sending emails. Char is very much online with the handle @charstiles on many social media platforms, with a home page at www.charstiles.com.", + "speaker_photo": "thumbnail/char-stiles.jpg", + "youtube_link": "3y9DNluD-cU", + "transcript": "", + "order": 0, + "speaker_bio": "**Char Stiles** thinks about email protocol a lot, but spends all day practicing social protocol by writing and sending emails. Char is very much online with the handle @charstiles on many social media platforms, with a home page at www.charstiles.com.", + "keynote": false, + "organizer": false, + "all_years": [ + "2022", + "2020" + ] + }, + { + "year": "2020", + "author": "Payas Rajan", + "title": "Supercharged Dijkstra’s: Computing ‘shortest’ paths on large road graphs in microseconds!", + "description": "Road networks are often modeled as graphs with millions of edges, and finding a 'shortest' path on them is a fundamental operation for several applications. When Fibonacci heaps are used, Dijkstra's algorithm provides an asymptotically optimal solution to the shortest path problem. However, in practice, Dijkstra's is too slow for unaltered use in mapping services. In this talk, I shall present Contraction Hierarchies, a technique that can speed up the shortest path computation by almost an order of magnitude or more!\n\n**Payas** once wanted to study History, but is now working towards a PhD in Computer Science at the University of California - Riverside. His research involves developing strange versions of route planning algorithms for transportation networks, and sometimes, more broadly, algorithm engineering. He used to work for Samsung Research.", + "speaker_photo": "thumbnail/payas-rajan.jpg", + "youtube_link": "5DdaoQeTis4", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Nick Sweeting", + "title": "Quebec’s 735kv power lines can survive the apocalypse, but can they run TCP?!", + "description": "Quebec built the world's first 735 kV power line in 1965, and was the highest-voltage, longest-distance network for decades before the rest of the world caught up. Even today it's still seen as \"\"bomb-proof\"\" by the rest of the world, and is often used as a model. But it wasn't always that way...\n\nWhen a massive ice storm took down 36,000 power pylons overnight in 1998, Quebec had to rebuild and restart their power grid from the ground up. Let's do some failure analysis and learn how big power systems around the world are designed to fail gracefully, and what happens when they don't. (P.S. TCP over power lines totally works)\n\n**Nick Sweeting** is the co-founder of Monadical in Montreal, and his favorite bike paths all run under power lines. He's a Django developer by day, and rogue internet archivist / power grid investigator by night. He likes learning about how big systems fail, and thinks thyristor halls look neat.", + "speaker_photo": "thumbnail/nick-sweeting.jpg", + "youtube_link": "x8T7UE7A0jk", + "transcript": "", + "order": 0, + "speaker_bio": "**Nick Sweeting** is the co-founder of Monadical in Montreal, and his favorite bike paths all run under power lines. He's a Django developer by day, and rogue internet archivist / power grid investigator by night. He likes learning about how big systems fail, and thinks thyristor halls look neat.", + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ] + }, + { + "year": "2020", + "author": "Allison Parrish", + "title": "Keynote Talk", + "description": "## Keynote Talks\n\n**Allison Parrish** is a computer programmer, poet, educator and game designer whose teaching and practice address the unusual phenomena that blossom when language and computers meet. She is an Assistant Arts Professor at NYU's Interactive Telecommunications Program, where she earned her master's degree in 2008.", + "speaker_photo": "thumbnail/allison-parrish.jpg", + "youtube_link": "B4GR6JILVq4", + "transcript": "", + "order": 0, + "speaker_bio": "**Allison Parrish** is a computer programmer, poet, educator and game designer whose teaching and practice address the unusual phenomena that blossom when language and computers meet. She is an Assistant Arts Professor at NYU's Interactive Telecommunications Program, where she earned her master's degree in 2008.", + "keynote": true, + "organizer": false, + "all_years": [ + "2020", + "2019", + "2016", + "2014" + ] + }, + { + "year": "2020", + "author": "Franklin Hu", + "title": "Learning your 爱比西s: Translating Chinese into Morse code!", + "description": "How do you translate Chinese into Morse code?\n\nIn the late 1800s, China was connected to the international telegraph network, and this was the big question! Morse code was originally conceived for transmitting English, and while it was extended to support other alphabetic languages, this didn’t work out of the box for character-based languages like Chinese.\n\nIn this talk, we’ll walk through the different encoding schemes used to convert characters to Morse code, their tradeoffs, and how some of the challenges are relevant to us still today!\n\n**Franklin** writes software for a living and enjoys taking pictures of birds in museums, practicing Danish and Chinese, and shaving yaks (not literally).", + "speaker_photo": "thumbnail/franklin-hu.jpg", + "youtube_link": "U8hjYBwWRZY", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Tim Holman", + "title": "The Making of a Mosquito.JS", + "description": "The audio api's are one of the most complex and wonderful parts of the browser, built to open up the entire web to audio creation. At some point though, we were so preoccupied with whether or not we could, we didn't stop to think if we should... And as such, mosquito.js was born.\n\nThis talk is about my descent into madness, as piece by piece I poured my energy into best possible recreation of the most dangerous, and annoying creatures on the entire planet. Learn some web audio basics, and some neat tips and tricks, and see how one person completely fell apart trying to perfect something that should never have existed in the first place. If you're lucky, you can go a little insane too!\n\n**Tim** is an Australian developer with a love for all things weird on the web, if you don't catch him hacking away at the worlds most useless code, he'll be working hard on tools to get more people into generative art, and feeling empowered to create!", + "speaker_photo": "thumbnail/tim-holman.jpg", + "youtube_link": "rncnohpRY2Q", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Tristan Hume", + "title": "Using font shaping to put commas in big numbers EVERYWHERE!!", + "description": "My job involves a lot of staring at big numbers, like latencies in nanoseconds, and picking out larger magnitudes like microseconds. I got tired of counting digits in many different programs, so I decided to solve the problem in the most general way possible: with a font! OpenType font shaping allows fonts to provide all sorts of fancy rules for how they're displayed. I'll explain how I repurposed a feature designed for Arabic calligraphy in order to make a font that inserts fake commas between groups of three digits in large numbers everywhere!\n\n**Tristan Hume** works on fast software at Jane Street. He gets captivated by funny and cool technical ideas and develops a burning desire to implement them, mostly in Rust but sometimes in OpenType font shaping rules. He writes long technical articles about things he does and finds interesting at https://thume.ca/.", + "speaker_photo": "thumbnail/tristan-hume.jpg", + "youtube_link": "Biqm9ndNyC8", + "transcript": "", + "order": 0, + "speaker_bio": "**Tristan Hume** works on fast software at Jane Street. He gets captivated by funny and cool technical ideas and develops a burning desire to implement them, mostly in Rust but sometimes in OpenType font shaping rules. He writes long technical articles about things he does and finds interesting at https://thume.ca/.\n\n---\n\nPerhaps you would also be interested in our [2019](../2019/speakers.html), [2018](../2018/speakers.html), [2017](../2017/speakers.html), [2016](../2016/speakers.html), [2015](../2015/speakers.html), or [2014](../2014/speakers.html) speakers?", + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ] + }, + { + "year": "2020", + "author": "Helen Hou-Sandí", + "title": "Sparking Musical Joy at Home With Magnetic Stripe Swipe Cards and Tiny Code!", + "description": "Voice assistants can be great, but when you throw in noisy households and small people who don't speak clearly and are asking for things in multiple languages, plus the whole surveillance state thing, they're not always a great solution! These same small people often don't read, either, but they have lots of opinions. So what to do when they love music and you're a programmer who's tired of being on call as a human jukebox? You build off a video you saw once and bring joy home in the form of a Raspberry Pi, tactilely satisfying magnetic stripe swipe cards, stickers, and a 5 line Bash script!\n\n**Helen** is the Director of Open Source Initiatives at the fully-distributed agency 10up and a Lead Developer for the WordPress open source software project. When she's not deep in a code editor or polishing UX, she likes to make complicated food, hang out with her family, and continue performing as a professional collaborative pianist.", + "speaker_photo": "thumbnail/helen-hou-sandi.jpg", + "youtube_link": "1PIVpSyIt_c", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Julia Tufts", + "title": "Bang Bang!! My Interpreter Shot Me Down! ", + "description": "How does a JavaScript object feel when it's hit with a !! operator? In this musical ballad, we'll look at what a !! operator does at a high level and how it can be useful. Then we'll explore what it does at a lower level, from the perspective of an object seething with resentment. We'll discover how a !! is parsed and interpreted in V8, by following a multifaceted object's descent into boolean reduction.\n\n**Julia** is software engineer based in Brooklyn, originally from Halifax, Canada. She used to study classical music and graph theory, but now makes bleeps, bloops, and bad wordplay. She enjoys imbuing abstract concepts with tenderness.", + "speaker_photo": "thumbnail/julia-tufts.jpg", + "youtube_link": "lEx5y9qBow8", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Matt Clawson", + "title": "Repair a Commodore 64 in just 64 Months!!", + "description": "It took me over 5 years, but I did eventually get my thrift store Commodore 64 up and running! Along the way, I encountered active online communities who are keeping old platforms alive by openly sharing technical documents, repair logs, and 21st century improvements to computers from the past.\n\nI’ll share my experience of going from an absolute beginner with a broken computer to a beginner with a working computer! I’ll walk through some of my troubleshooting steps and simply explain the faulty subsystems which prevented the computer from working. You’ll learn about the challenges of working with old machines, see the tools folks use for repair, and be introduced to some of the cool hobbyist efforts that make impossible repairs possible.\n\n**Matt** builds software for journalists and is located in Newark, NJ. He enjoys studying the history of computing and learning the inner workings of obsolete platforms adored by millions.", + "speaker_photo": "thumbnail/matt-clawson.jpg", + "youtube_link": "hpGoAbvsMyY", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Ben Kuhn", + "title": "89 characters of base-11?! Mobile networking in rural Ethiopia!", + "description": "Suppose you're trying to build a client-server app that works in rural Ethiopia. Mobile data there doesn't work most of the time! Of course, you're not going to let that stop you... but how will you manage?! How many strange protocols will you need to abuse to make it work??\n\nWe'll start our journey with a standard Android app using standard HTTP calls, and slowly descend into the abyss through a soup of acronyms including SSL, UDP, SMS, and even USSD. By the end, we'll have encoded our entire network request into a string of less than 89 characters which are either digits or the letter N, and also understood why the heck we need to do that?!\n\n**Ben** works on helping unbanked people in Sub-Saharan Africa send and save money. When not bashing his head against obscure network protocols, he enjoys reading, climbing, hiking, making music, contra dancing, trying to improve the world, and various other strange activities. You can find him on the Internet at benkuhn.net.", + "speaker_photo": "thumbnail/ben-kuhn.jpg", + "youtube_link": "EAxnA9L5rS8", + "transcript": "", + "order": 0, + "speaker_bio": "**Ben** works on helping unbanked people in Sub-Saharan Africa send and save money. When not bashing his head against obscure network protocols, he enjoys reading, climbing, hiking, making music, contra dancing, trying to improve the world, and various other strange activities. You can find him on the Internet at benkuhn.net.", + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ] + }, + { + "year": "2020", + "author": "James Ryan", + "title": "CBS Televised Computer-Generated Stories in 1960—and Ten Million Watched!", + "description": "On October 26th, 1960, CBS-TV aired three computer-generated playlets for a viewing audience of millions. The playlets were produced by SAGA II, a computer program developed by MIT researchers in collaboration with television producers at CBS, for a miniseries called Tomorrow. In this talk, I'll leverage multiple years of archival research to tell the wild story of the most ambitious early undertaking in computational media, and the remarkable collaboration that made it possible.\n\n**James Ryan** (@xfoml) is a researcher and practitioner at the intersection of art and computation. His current scholarly focus is in digging up obscure pioneering work in this area, with an emphasis on forgotten early examples of story generation and computer poetry. In 2018 he earned the first PhD in Computational Media from UC Santa Cruz, with his thesis Curating Simulated Storyworlds, and he is now a research scientist based in Minneapolis.", + "speaker_photo": "thumbnail/james-ryan.jpg", + "youtube_link": "tBnPDwoUCXQ", + "transcript": "", + "order": 0, + "speaker_bio": "**James Ryan** (@xfoml) is a researcher and practitioner at the intersection of art and computation. His current scholarly focus is in digging up obscure pioneering work in this area, with an emphasis on forgotten early examples of story generation and computer poetry. In 2018 he earned the first PhD in Computational Media from UC Santa Cruz, with his thesis Curating Simulated Storyworlds, and he is now a research scientist based in Minneapolis.", + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ] + }, + { + "year": "2020", + "author": "Matthew Dockrey", + "title": "Programming from an alternate timeline!", + "description": "We take ANDs and ORs for granted, but for millennia there was only the IMPLIES of classical Aristotelian syllogisms. It wasn’t until the 19th century that mathematical logic started to emerge, and it was a long time before it looked anything like what we use today. In 1879, Gottlob Frege published a gloriously weird notation system using branching lines, concavities and judgments. Sadly, no one else ever adopted it – in our timeline. Notation developed along less interesting lines here. But I wanted to see what programming would have been like had Frege won out, so I turned his notation into a working language. Doing so taught me just how different it is to approach problems with implication as your only logical operator, and it left me with a much deeper appreciation of our humble ANDs and ORs.\n\n**Matthew Dockrey** is a Seattle-area industrial artist with a particular interest in kinetic sculpture of all scales. The history of technology provides the inspiration for much of his work, as well as exploring the beauty of mechanical design. His work has been featured on the Discovery Channel, displayed at Greenwich Observatory in London, and was selected to adorn the 2015 Hugo Award. His large-scale kinetic sculptures can be found at Burning Man, and his public art can increasingly be found in cities around the Pacific Northwest.", + "speaker_photo": "thumbnail/matthew-dockrey.jpg", + "youtube_link": "D63j7f0EADc", + "transcript": "", + "order": 0, + "speaker_bio": "**Matthew Dockrey** is a Seattle-area industrial artist with a particular interest in kinetic sculpture of all scales. The history of technology provides the inspiration for much of his work, as well as exploring the beauty of mechanical design. His work has been featured on the Discovery Channel, displayed at Greenwich Observatory in London, and was selected to adorn the 2015 Hugo Award. His large-scale kinetic sculptures can be found at Burning Man, and his public art can increasingly be found in cities around the Pacific Northwest.", + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ] + }, + { + "year": "2020", + "author": "Andrew Yoon", + "title": "Writing {{‘poems that change’, ‘chance poems’, ‘dynamic poetry’}}!", + "description": "{% raw %}\n\nRoses are red, violets are---purple? Blue? Why not both! {{'The Blur Markup Language', 'BML'}} allows {{'writers', 'authors'}} to {{'make', 'write'}} text which is lazily evaluated, freeing them from the {{'requirement', 'assumption'}} that their words have to exist in any one {{'static', 'fixed'}} form. Unlike more open-ended text generation approaches, BML allows the creation of {{'tightly', 'precisely'}} composed texts rich with surprises and possibilities. We'll explore the motivations behind chance poetry{{' and BML,', ''}} and see how it's being used in {{'the wild', 'action'}} from books to essays to installations.\n\n{% endraw %}\n\n**Andrew Yoon** is making poems that change, live coding noise, playing melodica, growing the art journal nothing-to-say.org, and advocating for copyright abolition. He can be found online at andrewyoon.art", + "speaker_photo": "thumbnail/andrew-yoon.jpg", + "youtube_link": "zNJAQcSA1vI", + "transcript": "", + "order": 0, + "speaker_bio": "**Andrew Yoon** is making poems that change, live coding noise, playing melodica, growing the art journal nothing-to-say.org, and advocating for copyright abolition. He can be found online at andrewyoon.art", + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ] + }, + { + "year": "2020", + "author": "Em Lazer-Walker", + "title": "We used a MIDI CONTROLLER to tune our GAMEFEEL!", + "description": "My game designer partner and I had a seemingly-impossible challenge: we needed to take the traditionally-arduous process of fine-tuning the way a game \"\"feels\"\", and short-circuit that feedback cycle so it could happen in hours or days rather than weeks.\n\nOur solution: a physical MIDI controller! We wired up the sliders and knobs wired up to control the various \"\"gamefeel\"\" variables in our prototypes: things like how quickly you can turn, how powerful gravity is, how big explosions are when you hit something.\n\nThis talk will dive into the design philosophy of why being able to tune and tweak our games kinaesthetically with chunky physical knobs was so much more effective than changing numbers in a text file, explain how you too can use cheap MIDI controllers for unintended productive purposes, and above all emphasize the importance of designing tools that foster creativity and play rather than simply optimizing for effectiveness.\n\n*Em* is a Toronto-based artist, engineer, and game designer! Most of her work focuses on using nontraditional interfaces to reframe everyday objects and spaces as playful experiences, and to inspire people to become self-motivated learners. She currently works as a cloud advocate at Microsoft focused on spatial computing.", + "speaker_photo": "thumbnail/em-lazer-walker.jpg", + "youtube_link": "stM33UcLPJ0", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": true, + "all_years": [ + "2020", + "2019", + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Joshua Wise", + "title": "Screwing up is easier than ever before!", + "description": "When I was growing up, hardware was quite an expensive hobby. I got to play around some, but I never really got any good at building bigger circuits, because failure was so pricey -- if I got something wrong, I had to get out all the etching chemicals again, so I didn't try anything that I wasn't absolutely certain of. I think of this all the time, because I feel so lucky that professional-grade manufacturing is much more affordable, and parts are much cheaper -- so I can make mistakes to my heart's content!\n\nI feel like the best ways I've learned -- both when I've built hardware, and when I've written software -- have been from screwing up, and getting pretty fast feedback as to what went wrong. In this talk, I'll give you explicit permission to screw up, and I'll give you some of my most educational moments of when I screwed up -- and I'll give you some pointers so you can start screwing up at home, too!\n\n**Joshua** blows up electronics less frequently, but not infrequently, when he does [work](https://accelerated.tech/) for his clients (they would generally prefer him to blow up nothing at all). He is thankful that they, too, understand that blowing things up is an important part of the R&D process.", + "speaker_photo": "thumbnail/joshua-wise.jpg", + "youtube_link": "E-9oKH2-Myg", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": true, + "all_years": [ + "2020", + "2015" + ], + "speaker_bio": "" + }, + { + "year": "2020", + "author": "Helen Hou-Sandi", + "title": "Sparking Musical Joy at Home With Magnetic Stripe Swipe Cards and Tiny Code!", + "description": "Voice assistants can be great, but when you throw in noisy households and small people who don't speak clearly and are asking for things in multiple languages, plus the whole surveillance state thing, they're not always a great solution! These same small people often don't read, either, but they have lots of opinions. So what to do when they love music and you're a programmer who's tired of being on call as a human jukebox? You build off a video you saw once and bring joy home in the form of a Raspberry Pi, tactilely satisfying magnetic stripe swipe cards, stickers, and a 5 line Bash script!\n\n**Helen** is the Director of Open Source Initiatives at the fully-distributed agency 10up and a Lead Developer for the WordPress open source software project. When she's not deep in a code editor or polishing UX, she likes to make complicated food, hang out with her family, and continue performing as a professional collaborative pianist.", + "speaker_photo": "thumbnail/helen-hou-sandi.jpg", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Angie Jones", + "title": "Keynote Talk", + "description": "## Keynote Talks\n\n**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.\n\nAs 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.", + "speaker_photo": "thumbnail/angie-jones.png", + "youtube_link": "n8Icq7PrePA", + "transcript": "", + "order": 0, + "speaker_bio": "**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.\n\nAs 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.", + "keynote": true, + "organizer": false, + "all_years": [ + "2021" + ] + }, + { + "year": "2021", + "author": "Phil Salvador", + "title": "Learning to code with Doom! (Now I'm even more confused!)", + "description": "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!\n\nIn 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!\n\n**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.", + "speaker_photo": "thumbnail/phil-salvador.png", + "youtube_link": "92cCxTifMj8", + "transcript": "", + "order": 0, + "speaker_bio": "**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.", + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ] + }, + { + "year": "2021", + "author": "Aaron A. Reed", + "title": "From Oregon Trail to A.I. Dungeon: 50 Years of Text Games!", + "description": "\n\n\"Aaron\n\n2021 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.\n\n**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.", + "speaker_photo": "thumbnail/aaron-reed.png", + "youtube_link": "B-zmUQZqaqo", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Pokey Rule", + "title": "Cursorless: keyboards and mice are sooo last year!!", + "description": "\"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.\n\nWhen 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 😉.\n\n**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.", + "speaker_photo": "thumbnail/pokey-rule.png", + "youtube_link": "Py9xjeIhxOg", + "transcript": "", + "order": 0, + "speaker_bio": "**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.", + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ] + }, + { + "year": "2021", + "author": "Lynn Pepin", + "title": "Making a pixel-y circuit design language and then building circuits in it!", + "description": "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.\n\nIn 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!!\n\nIn 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!!\n\n**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.", + "speaker_photo": "thumbnail/lynn-pepin.png", + "youtube_link": "2Mst6EWqQJc", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Jade Fink", + "title": "pwintln!(): teaching an ELF to uwu!!", + "description": "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!!\n\nI 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!\n\n**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.", + "speaker_photo": "thumbnail/jade-fink.png", + "youtube_link": "rB_2fzmMwDA", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Nathan Kiesman", + "title": "Bang Bang!! Hacking Switch Controllers to Play Rhythm Games Using A Real Drum!", + "description": "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!\n\n**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.", + "speaker_photo": "thumbnail/nathan-kiesman.png", + "youtube_link": "FhbSdsqr2mA", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Patrick Stefaniak", + "title": "Crocheted! Computer! Graphics!", + "description": "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.\n\n**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.", + "speaker_photo": "thumbnail/patrick-stefaniak.png", + "youtube_link": "zgEYy4qn2t4", + "transcript": "", + "order": 0, + "speaker_bio": "**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.", + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ] + }, + { + "year": "2021", + "author": "Richard Schneeman", + "title": "Beware the Dreaded Dead End!!", + "description": "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.\n\nDiscover 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.\n\n**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.", + "speaker_photo": "thumbnail/richard-schneeman.png", + "youtube_link": "cmBu1ah_o2Y", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Andrew Sillers", + "title": "Night of the living GIF: Making interactive multiplayer experiences on a static webpage!", + "description": "The Web is full of opportunities to upload static HTML: blog comments, user profiles, and even emails can all host user-supplied text and images. But haven't you ever wished you could replace all your sleepy static content with real-time interactive multiplayer games? By harnessing the magic of HTTP and (mis)using the awesome power of GIFs, we'll do just that, with no JavaScript required!\n\n**Andrew** is a programmer who thinks a lot about security. He enjoys copyright law, federated services, and surprising solutions.", + "speaker_photo": "thumbnail/andrew-sillers.png", + "youtube_link": "GJa6eD7tFbY", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021", + "2019" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Wade Minter", + "title": "Building Weird Things With With The National Hockey League Using Ruby!", + "description": "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!\n\n**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.", + "speaker_photo": "thumbnail/wade-minter.png", + "youtube_link": "5FoxERw7F2Y", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Robyn Speer", + "title": "Mojibake! What the h—ck happened to these strings?", + "description": "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.\n\nI 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.\n\n**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.", + "speaker_photo": "thumbnail/robyn-speer.png", + "youtube_link": "N5TOYep70CI", + "transcript": "", + "order": 0, + "speaker_bio": "**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.", + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ] + }, + { + "year": "2021", + "author": "wilkie", + "title": "Save Icons! In Real Life?! (A Joyous Look at the Floppy Disk!!)", + "description": "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!!\n\n**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.", + "speaker_photo": "thumbnail/wilkie.png", + "youtube_link": "sz7KpdXmaTI", + "transcript": "", + "order": 0, + "speaker_bio": "**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.", + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ] + }, + { + "year": "2021", + "author": "Quinn Dombrowski", + "title": "Tropes! Cliches! Made-Up Slang! It's the Data-Sitters Club!", + "description": "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!\n\n**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.", + "speaker_photo": "thumbnail/quinn-dombrowski.png", + "youtube_link": "6fjgYEDZBKE", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Nicholas Carlini", + "title": "GoLlURM! The Game of Life (limited) Unlimited-Register Machine!", + "description": "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.\n\nThis 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.\n\n**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\".", + "speaker_photo": "thumbnail/nicholas-carlini.png", + "youtube_link": "9aF7oKz-frE", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Alex Pounds", + "title": "Let me at my data! Pulling pictures out of an undocumented file format", + "description": "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!\n\nThis 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.\n\n**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/.", + "speaker_photo": "thumbnail/alex-pounds.png", + "youtube_link": "hrxY4svRnzQ", + "transcript": "", + "order": 0, + "speaker_bio": "**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/.", + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ] + }, + { + "year": "2021", + "author": "Rocky Kev", + "title": "NetMonster: A trip through early 2000s internet and the monsters hidden inside websites!", + "description": "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.\n\nNearly 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.\n\n**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.", + "speaker_photo": "thumbnail/rocky-kev.png", + "youtube_link": "he7M5P7RUdA", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Michael Woods", + "title": "Numeric Data Types in the Wild; or: Things I Learned From Last Night’s Dinner Receipt!", + "description": "You won't believe the wild things we'll find by taking a good look at a dinner receipt.\n\nCome 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?\n\n**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.", + "speaker_photo": "thumbnail/michael-woods.png", + "youtube_link": "JDwg2rpCCzI", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Rebecca Ravenoak", + "title": "Nifty Weaving Tools: A Different Kind of Color Picker!", + "description": "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.\n\n**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.", + "speaker_photo": "thumbnail/rebecca-ravenoak.png", + "youtube_link": "i1tTfcvDVWA", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Sara Farquharson", + "title": "It's my party and I'll build my own virtual social platform if I want to!", + "description": "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!\n\nJoin 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.\n\n**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.", + "speaker_photo": "thumbnail/sara-farquharson.png", + "youtube_link": "iEYX-DUkjbc", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Dasha Ilina", + "title": "Eyes hurt? All you need is cardboard and motors!!", + "description": "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!\n\nThis 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!\n\n**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.", + "speaker_photo": "thumbnail/dasha-ilina.png", + "youtube_link": "WC3IjyEb0YM", + "transcript": "", + "order": 0, + "speaker_bio": "**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.", + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ] + }, + { + "year": "2021", + "author": "Sven Dahlstrand", + "title": "Changing a Single Byte Saves Me Seconds Every Day!", + "description": "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.\n\nFor 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?\"\n\nThis 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.\n\n**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.", + "speaker_photo": "thumbnail/sven-dahlstrand.png", + "youtube_link": "8A3AdFzxkG8", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Paweł Marczewski", + "title": "It's like you're actually there! Mouse pointer synchronization in an online tabletop game", + "description": "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.\n\n**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.", + "speaker_photo": "thumbnail/pawel-marczewski.png", + "youtube_link": "Psb_yo4txPI", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "John Feminella", + "title": "tzdata: Back to the Future!", + "description": "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.\n\nThis 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.\n\n**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.\n\nJohn 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.", + "speaker_photo": "thumbnail/john-feminella.png", + "youtube_link": "qr3CEWNb9og", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021", + "2018" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "JeanHeyd Meneide", + "title": "Oh, no! The Lowest-level* Programming Language is Unicode-aware and I have no excuses?!", + "description": "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\"?\n\nEven 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,\n\nlet's talk about what we're doing right now to fix this godawful mess.\n\n\\* Okay assembly, machine code, stream processing, etc. are all \"\"lower\"\" than C but practically speaking, you get what I mean!\n\n**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.\n\nThey 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.", + "speaker_photo": "thumbnail/jeanheyd-meneide.png", + "youtube_link": "U6xSmkdz2Nk", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Paul Pollack", + "title": "Enter the Minus World! Nintendo Cartridges Share Secrets!", + "description": "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!\n\nThe 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!\n\n**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.", + "speaker_photo": "thumbnail/paul-pollack.png", + "youtube_link": "7pyFdyd_qT8", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Tom Verbeure", + "title": "Option hack that 30 year old oscilloscope!", + "description": "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.\n\n**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.", + "speaker_photo": "thumbnail/tom-verbeure.png", + "youtube_link": "zfn8HVx2Lng", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "William Woodruff", + "title": "compilers HATE him: use this ONE WEIRD TRICK to hide a message in your x86 program!!", + "description": "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!\n\n**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.", + "speaker_photo": "thumbnail/william-woodruff.png", + "youtube_link": "-8MMLXB5E70", + "transcript": "", + "order": 0, + "speaker_bio": "**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.", + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ] + }, + { + "year": "2021", + "author": "Daniel Temkin", + "title": "Dithers of the Error-Diffusion Kind!", + "description": "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.\n\nThis 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.\n\n**Daniel Temkin** is an artist and writer who is skeptical that human beings can understand logic or really write working code at all! They created the FatFinger dialect of JavaScript, which allows you to run typo-ridden JS, and the Entropy language, where all data decays the longer your program runs. They also design dither patterns for an alternate computer history where our screens are hexagonal, triangular, or other shapes.", + "speaker_photo": "thumbnail/daniel-temkin.png", + "youtube_link": "zaox9mSQ0A8", + "transcript": "", + "order": 0, + "speaker_bio": "**Daniel Temkin** is an artist and writer who is skeptical that human beings can understand logic or really write working code at all! They created the FatFinger dialect of JavaScript, which allows you to run typo-ridden JS, and the Entropy language, where all data decays the longer your program runs. They also design dither patterns for an alternate computer history where our screens are hexagonal, triangular, or other shapes.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2021" + ] + }, + { + "year": "2021", + "author": "Anjana Vakil", + "title": "It’s a picture! It’s a program!! It’s Piet!!!", + "description": "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!!\n\nPiet, 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!!)\n\nLet’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!).\n\n**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!", + "speaker_photo": "thumbnail/anjana-vakil.png", + "youtube_link": "Y27LcXB553Q", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2022", + "2021", + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Alicja Raszkowska", + "title": "The Brave Little Database!", + "description": "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.\n\n**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.", + "speaker_photo": "thumbnail/alicja-raszkowska.png", + "youtube_link": "ZIH7X6wmAL8", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": true, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Zachary Kanfer", + "title": "Making Music! In Emacs?!", + "description": "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.\n\n**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.", + "speaker_photo": "thumbnail/zachary-kanfer.png", + "youtube_link": "BeTDIrJeriI", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Laura Kurup", + "title": "Geometric derivations of RGB colorspace! The strange eyeball science that is messing with your LEDs", + "description": "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!\n\n**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.", + "speaker_photo": "thumbnail/laura-kurup.png", + "youtube_link": "nWltAAFciTw", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Kimberly Wilber", + "title": "How layers upon layers of hacky abstractions turned Doom II into the best kart racer!!", + "description": "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.\n\n**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.", + "speaker_photo": "thumbnail/kimberly-wilber.png", + "youtube_link": "xj6o0hPpMfo", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Jon Kingsley", + "title": "Ride on Model Railway Signalling using Kubernetes!", + "description": "", + "speaker_photo": "", + "youtube_link": "KEff3FaTmvI", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Martin Gaston", + "title": "making our own napster so we can party like it’s 1999!", + "description": "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.\n\nUsing 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.\n\nIn 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!\n\nBetween 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.", + "speaker_photo": "thumbnail/martin-gaston.png", + "youtube_link": "VqhEFIEAM8Q", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021", + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Kate Temkin", + "title": "Closing Keynote", + "description": "**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.\n\nWhen 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.", + "speaker_photo": "thumbnail/kate-temkin.png", + "youtube_link": "6XIrhcaqctI", + "transcript": "", + "order": 0, + "speaker_bio": "**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.\n\nWhen 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.", + "keynote": true, + "organizer": false, + "all_years": [ + "2021" + ] + }, + { + "year": "2021", + "author": "!!Con Organizers", + "title": "How !!Con Came to Be", + "description": "", + "speaker_photo": "", + "youtube_link": "YX9Dj65tHVM", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": true, + "all_years": [ + "2021" + ], + "speaker_bio": "" + }, + { + "year": "2021", + "author": "Jonathan Kingsley", + "title": "Ride on Model Railway Signalling using Kubernetes!", + "description": "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.\n\n**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.", + "speaker_photo": "thumbnail/jonathan-kingsley.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2021", + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2022", + "author": "Aki Van Ness", + "title": "Taperipper or, Oops! All SCSI!", + "description": "\n\n\"Aki\n\nOne catgirls venture from a neat idea down the rabbit hole of a not-so legacy protocol, learning more than she bargained for, all in the quest for a joke.\n\n**Aki** is a low-level developer with a primary focus on C++ but she is interested in the whole stack, from software to silicon and does hardware design and electrical engineering in her free time.", + "speaker_photo": "aki-van-ness.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2022" + ], + "speaker_bio": "" + }, + { + "year": "2022", + "author": "Aniyia Williams", + "title": "Building A Better Tech Future!!", + "description": "Today's dominant tech companies were built on values of equality and\n\nempowerment that don't ring true anymore. There is a new technology\n\necosystem trying to emerge, fueled by the fault lines exposed in the mainstream\n\nindustry, and it needs active nurturing to reach its full potential. In this\n\ntalk, Aniyia shares 5 rules for building the future along with some questions\n\nto consider as we shape new ecosystems and economies.\n\n**Aniyia Williams** is a systempreneur, creator, inventor, tech changemaker, and investor. She is a principal on the Responsible Technology team at Omidyar Network, empowering people to help the tech world live up to its promise of changing lives for the better. Aniyia is also co-founder of Zebras Unite, founder and board chair of Black & Brown Founders, co-convener of the Black Innovation Alliance, and previously founded the fashion tech company Tinsel.", + "speaker_photo": "aniyia-williams.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Aniyia Williams** is a systempreneur, creator, inventor, tech changemaker, and investor. She is a principal on the Responsible Technology team at Omidyar Network, empowering people to help the tech world live up to its promise of changing lives for the better. Aniyia is also co-founder of Zebras Unite, founder and board chair of Black & Brown Founders, co-convener of the Black Innovation Alliance, and previously founded the fashion tech company Tinsel.", + "keynote": false, + "organizer": false, + "all_years": [ + "2022" + ] + }, + { + "year": "2022", + "author": "Anjana Vakil", + "title": "La-La-Lambda Calculus: A Functional Musical Journey!", + "description": "The lambda calculus is a logical formalism that lets us represent programs - all their logic and data - as nothing but pure, anonymous, single-parameter functions. Numbers, operators, booleans, control flow, data structures… any way you want it, lambda functions can do it! In this musical talk we’ll sing the praises of the lambda as we take a quirky, nerdy journey toward a deeper understanding & admiration of the computational power of this elegant, powerful abstraction at the heart of functional programming.\n\n**Anjana** suffers from a chronic case of curiosity, which led her from philosophy to English teaching to computational linguistics to software development. As an engineer & educator, these days she mostly codes & teaches from her home base in San Francisco, when not traveling (in a mask) to events around the world to speak about the joy of programming and advocate for a more equitable & ethical tech industry. Nerd out with her about functional programming & JavaScript, ask her about the Recurse Center & Outreachy, and definitely invite her to your karaoke party!", + "speaker_photo": "anjana-vakil.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2022", + "2021", + "2016" + ], + "speaker_bio": "" + }, + { + "year": "2022", + "author": "Anuoluwapo Karounwi", + "title": "Let’s code in our mother tongue!", + "description": "The story behind the design and implementation of an African native language-based programming language.\n\nI am an android engineer with 5 years of experience building applications serving over a million users across various industries. As an engineer I am driven by impact and I care deeply about how my work affects users. When I'm not hanging around my computer keyboard, I enjoy spending some time on my piano keyboard. I love keyboards in any form.", + "speaker_photo": "anuoluwapo-karounwi.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2022" + ], + "speaker_bio": "" + }, + { + "year": "2022", + "author": "Ashlee Boyer", + "title": "Code readability isn’t just about personal preference!", + "description": "Accessibility for developers isn’t often mentioned when we talk about writing code. Code style is one accessibility topic that is unfortunately mischaracterized as personal preference most of the time. Let’s prove that wrong and talk about the accessibility accommodations nearly all developers use every time they code.\n\n**Ashlee** is a Disabled and Neurodivergent software engineer and web accessibility expert. She loves to knit, read, write, and spend time with her family of 2 rescued pitbulls (Trooper and Tango) and life partner (Zach). She has worked with React for several years, and currently works with Next.js as a Web Engineer at HashiCorp. Since October of 2021, she has been a member of the team building HashiCorp Developer. Her primary focus is building accessible and performant user interfaces. At a team level, she also works to establish and maintain accessible experiences for engineers. As a firm believer of \"progress over perfection\", she strives to make learning about accessibility easier for everyone.", + "speaker_photo": "ashlee-boyer.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2022" + ], + "speaker_bio": "" + }, + { + "year": "2022", + "author": "Char Stiles", + "title": "Char's Shader Workshop", + "description": "In this workshop, you will learn how to livecode shaders by creating a visual composition with GPU code and a little bit of math. Livecoding is where changes to the code are realized immediately and rendered in real-time. This is an ideal way to create music visualizers, or any interactive abstract graphics of the sort. We will briefly go over how to use the shaders we create in a variety of other real-time engines like Unity, p5.js & touch designer.\n\nYou will learn about where the shader exists in the graphics pipeline, the basics of how the language works, and how to quickly iterate on writing your shader using livecoding tools. You will also be given a plethora of tools to build upon what you learn, so you can keep learning and practicing beyond this workshop. Programming experience required to attend. We suggest you set up two screens so you can code along while watching/participating in the workshop.\n\n**Char Stiles** is an artist, educator and programmer based in Brooklyn, NY. Char works and collaborates across mediums such as interactive installation, video, performance and web. She is a part of the Livecode.nyc collective, where she organizes shows, and livecodes music and visuals. She also is a founder of Hex House, an artist studio & event space for unconventional computing, pleasure studies, and cerebral play.", + "speaker_photo": "char-stiles.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2022", + "2020" + ], + "speaker_bio": "" + }, + { + "year": "2022", + "author": "Chipzel", + "title": "", + "description": "**Chipzel** is a musician from Northern Ireland! She is best known for making chiptune music, particularly with a Game Boy. She is also a video game music composer, and is known for the soundtracks of games such as Super Hexagon, Interstellaria, and Dicey Dungeons. Her music is also featured in other games such as Just Shapes and Beats and Spectra.", + "speaker_photo": "", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2022" + ], + "speaker_bio": "" + }, + { + "year": "2022", + "author": "Denise Yu", + "title": "PLIBMTTBHGATY", + "description": "PLIBMTTBHGATY (Programming Languages I’ve Been Meaning To Try But Haven’t Gotten Around To Yet) is a lightly-structured party where people get together and work on a project in a new programming language, either with or just near each other. It was invented by Star Simpson, who has kindly given us permission to run one at !!Con this year!\n\nThis all started with the realization that plenty of people have a side-project in mind to work on, that it's more fun to work together, and that many of us are just waiting for a good excuse to get started.", + "speaker_photo": "", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2022" + ], + "speaker_bio": "" + }, + { + "year": "2022", + "author": "Marlene Mhangami", + "title": "Shhh, Meet Me at Midnight!!! (Audio Steganography in Python)", + "description": "The term 'Audio Steganography' is derived from the Greek words steganos, meaning “covered,” and graphein, meaning “to write”. It refers to the art of enabling secret communication that uses interesting methods to hide information in plain sight. In this talk we'll walk through how to send secret messages in music or audio recordings using Python! We'll understand how computers store things as bytes and how knowing this can lead you to possibly win over the love of your life.\n\n**Marlene** is a Zimbabwean software engineer, explorer, and speaker based in the city of Harare. She is a director and vice-chair for the Python Software Foundation and is currently working as a Developer Advocate at Voltron Data. In 2017, she co-founded ZimboPy, a non-profit organization that gives Zimbabwean young women access to resources in the field of technology. She is also the previous chair of PyCon Africa and is an advocate for women in tech on the continent.", + "speaker_photo": "marlene-mhangami.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2022" + ], + "speaker_bio": "" + }, + { + "year": "2022", + "author": "Nicole He", + "title": "You Kiss Your Computer With That Mouth?!", + "description": "This is a talk about talking - to your computer, out loud, with your mouth, and why a game in this format feels emotionally like an old school exploration RPG.\n\n**Nicole He** is a game developer and creative technologist based in Brooklyn, making unconventional voice technology projects and videogames. She previously worked as a creative technologist at Google Creative Lab and an outreach lead at Kickstarter, and currently teaches at NYU ITP.", + "speaker_photo": "nicole-he.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Nicole He** is a game developer and creative technologist based in Brooklyn, making unconventional voice technology projects and videogames. She previously worked as a creative technologist at Google Creative Lab and an outreach lead at Kickstarter, and currently teaches at NYU ITP.", + "keynote": false, + "organizer": false, + "all_years": [ + "2022" + ] + }, + { + "year": "2022", + "author": "Omar Rizwan", + "title": "How to look for one image inside another image, fast!", + "description": "You know about regular expressions and string matching? Well, what about image matching? How would you look for images inside other images? One way that you might do it is to loop through each position in image A and at each of those positions, check how much the area around it looks like image B, so you can build a 'heat map' of which regions of image A look like image B. But that's really slow if image B is more than a few pixels big, since you need to do (number of pixels in A) * (number of pixels in B) iterations...\n\nI was trying to do this for a new project/interface experiment -- a daemon that continuously watches your screen for image patterns that you tell it to look for -- and I found out that this task is called *template matching*, and you can do it way faster. The OpenCV library can do this all in tens of milliseconds, as opposed to the several seconds that the nested-loop approach took for me. So I wanted to know how OpenCV does it, and how I could get rid of the dependency and do it myself!\n\nWe'll talk about Apple's Accelerate library, convolution, the Fourier transform, summed-area tables, and why you need to use doubles sometimes instead of floats, among other things. In the end, I got to make the same jump, from seconds down to milliseconds (arguably, I'm even faster than OpenCV now, at least for what i want to do!) -- and the whole thing is basically one self-contained C file.\n\n**Omar** is interested in new ways to interact with (and program) computers. He previously worked as a researcher at Dynamicland; he's also the creator of TabFS, Screenotate, Breakout-in-a-PDF, and a variety of other strange computer projects.", + "speaker_photo": "omar-rizwan.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2022", + "2020", + "2018", + "2014" + ], + "speaker_bio": "" + }, + { + "year": "2022", + "author": "Sumana Harihareswara", + "title": "", + "description": "**Sumana Harihareswara** is an open source contributor and leader who has contributed to pip, GNOME, MediaWiki, Dreamwidth, GNU Mailman, and other open source projects -- and is working on a book to teach what she's learned along the way. She has keynoted LibrePlanet and other open source conventions, spoken at PyCon and OSCON, performed standup comedy and theater at several tech conferences, and manages and maintains open source projects as Changeset Consulting. Her work has earned her an Open Source Citizen Award and a Google Open Source Peer Bonus. She lives in New York City and microblogs in the Fediverse and on Twitter.", + "speaker_photo": "sumana-harihareswara.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Sumana Harihareswara** is an open source contributor and leader who has contributed to pip, GNOME, MediaWiki, Dreamwidth, GNU Mailman, and other open source projects -- and is working on a book to teach what she's learned along the way. She has keynoted LibrePlanet and other open source conventions, spoken at PyCon and OSCON, performed standup comedy and theater at several tech conferences, and manages and maintains open source projects as Changeset Consulting. Her work has earned her an Open Source Citizen Award and a Google Open Source Peer Bonus. She lives in New York City and microblogs in the Fediverse and on Twitter.", + "keynote": true, + "organizer": false, + "all_years": [ + "2022" + ] + }, + { + "year": "2022", + "author": "Wenting Zhang", + "title": "Customizable Icons With Font Technologies!", + "description": "With the latest development in variable fonts, typography is getting enriched, and so is iconography! In this talk, Wenting, co-founder of typogram.co, will share new ways to utilize variable font technology for icons — to make icons customizable! The variable font axes can be used as customization sliders. With that, icons as font glyphs can go through a series of transformations based on parameter inputs, therefore editable or customizable.\n\n**Wenting Zhang** is co-founder and CEO of typogram.co — a design software startup. Previously she worked at Adobe, and her projects there include Adobe XD, Illustrator on iPad, and Fonts. Wenting teaches Interaction Design at the School of Visual Arts. Wenting has given speeches at conferences in Paris, New York, Guangzhou, and Shanghai. She journals about her entrepreneurship journey in her weekly newsletter.", + "speaker_photo": "wenting-zhang.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Wenting Zhang** is co-founder and CEO of typogram.co — a design software startup. Previously she worked at Adobe, and her projects there include Adobe XD, Illustrator on iPad, and Fonts. Wenting teaches Interaction Design at the School of Visual Arts. Wenting has given speeches at conferences in Paris, New York, Guangzhou, and Shanghai. She journals about her entrepreneurship journey in her weekly newsletter.\n\n\n\n---\n\nPerhaps you would also be interested in our\n\n[2021](2021/speakers.html),\n\n[2020](2020/speakers.html),\n\n[2019](2019/speakers.html),\n\n[2018](2018/speakers.html),\n\n[2017](2017/speakers.html),\n\n[2016](2016/speakers.html),\n\n[2015](../2015/speakers.html),\n\nor [2014](../2014/speakers.html) speakers?", + "keynote": false, + "organizer": false, + "all_years": [ + "2022" + ] + }, + { + "year": "2024", + "author": "Bruce Waggoner", + "title": "Saving Voyager 1!", + "description": "Both of the 47 year old Voyager spacecraft are currently in interstellar space and returning their most important data set; in-situ measurements of the magnetic field, plasma and dust beyond the Heliopause. In late 2023, Voyager 1 lost all downlink telemetry and the flight team had essentially no visibility into the state of the spacecraft which is over 15 billion miles from the Earth. This talk will detail how the flight team diagnosed the problem, and formulated a recovery plan to patch the Flight Data System flight software.", + "speaker_photo": "bruce-waggoner.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Bruce Waggoner** is the Mission Assurance Manager at NASA Jet Propulsion Lab/Caltech. He graduated from the University of Nebraska with a BS in Physics and Astronomy. He has worked at JPL for 39 years supporting dozens of Earth orbiting and deep space missions. He also volunteers as a gymnastics coach and assists teaching girls engineering and science at a local high school.", + "keynote": true, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Dawn Walker", + "title": "Let’s make local and accountable tech!", + "description": "Over the past decade I have tried lots of things to build and own computing and networks with others! I have written collective speculative fiction about a future web, made a kit to talk to your neighbours to share your internet, stewarded distributed public data, and more. Some of those projects have succeeded and some have failed. My trick is to act like the future of computing that I want already exists in the world and I get to hang out there. I will talk about why that future should be more local, how I bring it into the present, and ways to build tech together!", + "speaker_photo": "dawn-walker.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Dawn Walker** is a researcher and designer interested in how computing intersects with just transitions. She has started a tech worker co-op, participated in community-led archiving of environmental and climate data, and schemed about mesh networking (to name a few things) in her attempts to create alternatives to existing ways of building and stewarding technology. Since 2017 she has co-organized Our Networks, a conference about the past, present, and future of building our own network infrastructures hosted in Toronto and Vancouver.", + "keynote": true, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Adam Solove", + "title": "Recreating Sketchpad, the first GUI!", + "description": "Sketchpad was the first computer program with a graphical user interface, allowing a human and a computer to build a drawing together using a monitor and pointer. It was also a surprisingly deep program, allowing the user to create reusable templates, copy/paste, and specify constraints for the computer to enforce. Even though it’s a hugely influential program, for several decades, it’s only been visible in grainy old videos. So I made a recreation of Sketchpad that runs in the browser and anyone can play with. Along the way, I learned a lot about reading old papers, how IO worked on early computers, and the history of Sketchpad’s influence on later programming environments and UIs. Come learn about Sketchpad, see it in action live, and learn how it can help us make better UIs today.", + "speaker_photo": "adam-solove.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Adam** has been building UIs for twenty-five years. He likes explaining things with pictures.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Aldís Elfarsdóttir", + "title": "Huggable Data! Making the Ephemeral Last Longer with Textile Dataviz!", + "description": "Computers and data are closely intertwined: we use computers to capture and create and analyze data, and often to generate visualizations of that data. The things we enjoy -- and hate -- doing on computers are backed by data files. It's difficult to imagine computers without data, and data without the context of the modern computer. Yet, humans have been keeping track of data (or at least, information that could be transformed into data) for millennia prior to the invention of the computer. As fragile as these historical materials can be, they are in most cases easier to preserve than our computer-generated data. Maintaining digital data takes a great deal of time, attention, care, and resources -- and most of us aren't doing it for the data we care about. For some kinds of textual data (e.g. favorite pieces of fanfic, important emails) printing it out is a reasonable approach, but printing out large tabular data sets can maintain the fidelity of individual values, but this is unwieldy to the point of unusability. It renders inaccessible, in many cases, what makes a data set interesting. Enter textile data visualization: transforming data into a medium with a longer probable lifespan than bits. Moreover, a textile can be hung on a wall, it can be worn (to pieces), it can be cuddled with, it can be passed down across generations. Building on the earlier !!Con talk on machine knitting, this talk will draw together examples of textile data visualization -- with different kinds of data (biology, sci-fi novels, insomnia, dating app chat logs), and different textile media (digital knitting machines, weaving, embroidery, and sewing). Some visually reproduce the kinds of visualizations that computers create; others translate the data into the affordances (e.g. stitch / stitch length, warp and weft) of the textile medium. This talk will celebrate the intersection of computing, data, and textile craft, and argue that the data dearest to us deserves to live as more than bits.", + "speaker_photo": "aldis-elfarsdottir.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Aldís Elfarsdóttir** (she/her) is a PhD student in Management Science and Engineering at Stanford. She studies how to manage the clean energy transition among global firms, and the challenges with self-reported data, carbon accounting, and ESG ratings. She recently had the pleasure of taking Quinn Dombrowski’s class on Data Visualization with Textiles and made a PhD dress to visualize her three data sources in dress form.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Alicia Guo", + "title": "This is the poem that doesn’t end!! or, the poetics of RNG!", + "description": "What does it mean for a poem to go on … forever? How does it never run out of possibilities? We’ll be exploring writing through context-free grammars and other random processes asking ourselves, what is randomness anyway? We’ll look at pre-computing forms of random generation to pseudo and true random generation to bananas, expanding our understanding of randomness as a function to something more poetic.", + "speaker_photo": "alicia-guo.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Alicia Guo** is a computational artist and poet based in Seattle, currently pursuing a PhD working on creativity support tools. Her work plays with blending the physical and digital into love letters on the internet, transforming text into interactive experiences. Her computational poems have appeared in Taper, The HTML Review, and Crawlspace.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Amédée d'Aboville", + "title": "Let's run a tiny chess neural network by hand!", + "description": "A few years ago someone tried to learn chess _in a month_ and then play world champion Magnus Carlsen. He had the wild idea of hand running a neural network on a piece of paper during the game! This probably isn't physically possible (...he didn't win), but what's the closest we could get? This made me curious: what's the smallest neural network you could make that could be helpful for a human? What if you only had pen and paper (and maybe a lot of time), or if you had a calculator? We’ll go over the smallest possible neural nets for chess. In the era of mega NNs these will be refreshingly tiny!", + "speaker_photo": "amedee-daboville.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Amédée** is a full stack software engineer from Montréal (now moving to Amsterdam!). They like growing culinary mushrooms, playing chess, and techno music.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "blinry", + "title": "Exploring the Invisible: Adventures in the Electromagnetic Spectrum!!", + "description": "There's an invisible world around us: The electromagnetic spectrum! It's how radio, TV and Wi-Fi work. And plenty of other things, too – I wanted to learn more about it! So, in a free week in March, inspired by Vi Hart's \"Make 50 of something\" technique, I decided to try to find 50 things to do with a modern Software Defined Radio – a \"universal\" radio receiver in the form of a $30 USB dongle. Let me to take you on three adventures that happened to me that week!", + "speaker_photo": "blinry.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**blinry** grew up in libraries, which convinced them that it's possible to learn and understand basically everything! Their other childhood influences include a scientific German TV show with an orange cartoon mouse. Nowadays, they spend most of their time creating collaborative and educational open-source tools, or taking trains to random places. They are part of the Chaos Community, the Recurse Center, and Jugend Hackt.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Daniel Temkin", + "title": "Lord Zeus, defender of travelers and of those far from home, please create a function called printBeerInsideLoop with parameter n!", + "description": "In the ELIZA effect, we temporarily read a natural language system as sentient. Usually this sentient being is subservient to us and we are in control. The Olympus programming language flips this power dynamic. Our code succeeds through the will of the gods!", + "speaker_photo": "daniel-temkin.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Daniel** makes esolangs -- programming languages as experiments or self-expression -- including FatFinger, Folders, and Entropy. His blog on the subject, esoteric.codes, won the 2014 ArtsWriters.org grant from Creative Capital and was exhibited at ZKM. He has spoken on esolangs at the New Museum, SIGGRAPH, SXSW, and Media Art Histories and written for Hyperallergic and Outland. He published an aesthetic theory of the medium for Digital Humanities Quarterly in 2023.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2021" + ] + }, + { + "year": "2024", + "author": "Devon Tao", + "title": "It's alive.... IT'S ALIVE!!! Braitenberg Vehicles! (Have you ever seen an AI like this??!!)", + "description": "AI has been getting more and more complex. Surrounded by chess robots, self-driving cars, and now Large Language Models, we begin to ask ourselves: what does it take for a machine to behave like a human? Does it take millions of parameters? Mountains of training data?\n\nNone of the above! Introducing... Braitenberg Vehicles! These are simple, human-like robots that are made only of a couple of sensors and motors. In this talk, I will convince you that these simple components are enough to show human-like behavior, and we will get to see some Braitenberg Vehicles in action using a Braitenberg Vehicles Simulator I made!", + "speaker_photo": "devon-tao.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Devon** is a student at Harvey Mudd College studying computer science and mathematics. Outside of computer science, they also like to write musical theater and make educational videos on their YouTube channel, [CS Professor of Fun](https://www.youtube.com/@CSProfessorofFun)!", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Ivan Zhao", + "title": "Making Chinese Typefaces! with Components!!??!!", + "description": "Are you stuck finding a great chinese typeface for you to use? Scared to find something that might get twitter in a fight over? This talk will teach you the basics of Chinese type systems, how to use them, and why computing and component based architecture can dramatically reduce the amount of time it takes for you to make an 8,000 character font.", + "speaker_photo": "ivan-zhao.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Ivan Zhao** (he/him) is a poet, game & type designer, and web artist interested in nonlinear narratives, forms, and mechanics that reckon with digital, diasporic, and queer identity. His work interrogates individual and viewer agency.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Jes Wolfe", + "title": "The Astrolabe! Using modern digital computing to recreate ancient analog computers", + "description": "For fifteen hundred years, the astrolabe was the most widely-used computing device on earth, sometimes called “the original smartphone”. They were traditionally made by hand, but I had to find out: how hard would it be to design and make one using only digital design and computer-controlled fabrication methods?", + "speaker_photo": "jes-wolfe.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Jes Wolfe** is a software developer and payments engineer in Portland Oregon, whose code has almost certainly handled some of your money at some point. They spend their free time misusing technology, doing space math for astrologers, and helping their six-year-old invent new integer sequences.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Jesse Chen", + "title": "A brief history of keyboards!", + "description": "I love looking at early designs for inventions before a standard design emerged. You can find wild, surprising ideas in the initial explorations of a concept, like with early typewriters! While browsing those out-there designs, I was gobsmacked to find a perfectly recognizable QWERTY keyboard, and had to know more. Why? How?? Let’s walk through what I learned, and how that design survived the intervening 150 years despite inventions like electricity, computers, and Dvorak!", + "speaker_photo": "jesse-chen.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Jesse** loves learning about the world and its surprising amount of detail, how it all somehow manages to work, and how it used to work. I mean, just imagine NYC humming along in 1924 with 6 million people, 600,000 telephones that could all interconnect, and 0 electronic computers.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Juan Pablo Sarmiento", + "title": "Calculating the Ideal \"Sex and the City\" Polycule!", + "description": "Sex and the City, the iconic early 2000s show, depicted social life, sex, and relationships through a lens rarely seen at that time that shook society to its core. But this cultural phenomenon had one fatal flaw: it was based on the assumption that each protagonist could only end up with *one* person. I couldn't help but wonder... what if each person could be in an ethically and consenting relationship with more than one person at a time? What would the ideal polycule be? How do we even calculate that? What would the math look like? These are the questions society needs to be asking! These are the real problems VCs should be investing in! Dare I say, if we put a man on the moon we can settle once and for all who Carrie *actually* should have ended up with. It's time to disrupt polyamory.", + "speaker_photo": "juan-pablo-sarmiento.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Pablo** is a full stack engineer, specializing in building software for humanitarian emergencies. In his spare time he enjoys contemplating hypothetical endings to TV shows and working out the answers to questions that should have never been asked.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Julian Squires", + "title": "Backtraces in the Mirror: Stealing the Secrets of Elves and Dwarves to Perform Mad Science!!", + "description": "While writing an unobtrusive memory profiler, I discovered I needed to reconstruct a running program's stack the wrong way around! I thought this was impossible, and it turns out I was wrong! So join me to learn about how stack unwinding works (and when it doesn't!), how to use ELF and DWARF information all wrong(!), working with uncertain information (and why!), and the value of doing things that \"can't possibly work\"!!", + "speaker_photo": "julian-squires.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Julian Squires** is a lifelong programmer and eccentric layabout. He previously spoke at !!Con 2017 about \"the Emoji that Killed Chrome\" (!!).", + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2017" + ] + }, + { + "year": "2024", + "author": "Liz Frost", + "title": "Keyboarding Ain’t Easy?? What Not To Do When Building a Keyboard!!", + "description": "I set out to build myself a custom keyboard from the ground up. So far, I have failed. But I’ve failed in some very interesting and informative ways, and I want to share them with you! Join me for a discussion of embedded programming, how hard soldering is, and my own naïveté on entering the world of hardware.", + "speaker_photo": "liz-frost.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Liz Frost** is a computer toucher, cable organiser, and colourful equine. She lives in Vancouver, BC and works for the company that wakes you up in the middle of the night. Find her online at cohost.org/stillinbeta and ask to see pictures of her pets.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Maryanne Wachter", + "title": "Riveting Insights! Bridge.watch and the State of America's Infrastructure", + "description": "There are over 600,000 bridges in the U.S. with millions of daily crossings. While the (fortunately rare) bridge collapse will make national news, what other publicly available information is there that we can dig into the state of U.S. infrastructure? This talk will go over the development of an open source application, Bridge.Watch, for processing, cleaning, and visualizing bridge infrastructure data from the FHWA and what insights can be gained through simple queries and generating different visuals on the fly.", + "speaker_photo": "maryanne-wachter.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Maryanne Wachter** is a software developer and professional engineer. As a structural engineer, she's worked on landmark transit projects, long-span bridges, and various educational/cultural centers in the U.S. and Europe. She currently works as a senior software engineer at Ready.net specializing in geospatial data visualization.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Matías Lang", + "title": "It wasn’t me, it was the cosmic rays! Blaming physics for our evil actions!", + "description": "As we know from Murphy, everything that can go wrong will go wrong. Sometimes, a single particle close to your computer's memory will turn a 0 into 1 or vice-versa. There exist lots of examples of real-life bugs caused by this effect. Since bit-flips do occur in our devices, this means nobody can blame us if suddenly a single bit from an executable file changes! It could've been a random cosmic ray that caused the damage! In this talk, we can see how this plausible deniability comes handy to attackers: they might create sophisticated supply-chain attacks or gain persistent access to systems, just with a single bit-flip that can be explained by a physical phenomenon!", + "speaker_photo": "matias-lang.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Matías** is an Argentinian security researcher and developer. He believes someday engineers will have the right tools and knowledge to build truly secure software. Since that hasn't occurred yet, he refuses to use many applications until their security holes get fixed.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Max Kreminski", + "title": "Mutating Text Toward Better Nonsense?!", + "description": "Recently, we’ve made a lot of progress in getting computational processes to generate text that makes sense. But creative processes (like storytelling and poetry-writing) often benefit more from injections of *good nonsense*. In this talk, I first briefly characterize what makes nonsense “good”, then discuss a series of three projects that take different computational approaches to the generation of high-quality nonsense: Blabrecs, a game that uses a statistical classifier to condition the generation of nonsense words by human players; Blabwreckage, a poetry machine that adapts the Blabrecs classifier to progressively mutate arbitrary source texts (either human-supplied or derived from random noise) into pronounceable nonsense poems; and Savelost, a poetry machine that aims to progressively compress a source text into a shorter and shorter micropoem while retaining as much of the original text’s meaning as possible. I conclude with a brief discussion of the architectural similarities and differences between these projects, and of what the similarities might imply about the relationship between computation, creativity, and nonsense.", + "speaker_photo": "max-kreminski.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Max Kreminski** is a researcher in artificial intelligence, human-computer interaction, and creativity, with a particular focus on the design, development, and evaluation of AI-based creativity support tools for storytelling, poetry, and game design. Currently they direct the storytelling lab at Midjourney; before that they were an assistant professor of computer science at Santa Clara University.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Nicole Tietz-Sokolskaya", + "title": "Programming with only exceptions!", + "description": "We're used to programming with a lot of control flow constructs, but some languages (👀 Python...) use exceptions for control flow. What if that was *all* we had? Nicole made the poor decision to find out, and created Hurl! She will discuss what programming looks like when we eschew normal control flow, how to implement normal-feeling control flow, and some of the limitations of the existing Hurl implementation.", + "speaker_photo": "nicole-tietz-sokolskaya.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Nicole** is a Principal Software Engineer at Remesh, where she focuses on software architecture, performance, scalability, and security. Outside of work, she plays with her kids, spends too much time on computers, hangs out at the Recurse Center, and drinks tons of decaf coffee.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Nolen Royalty", + "title": "88 Files a Second - Running Flappy Bird inside MacOS Finder!", + "description": "MacOS's Finder is designed for browsing files - but it's powerful enough to run Flappy Bird. Kind of. In this talk I'll cover how to get Flappy Bird running at 4 frames (and 88 files) a second in Finder - complete with a full game loop, high score tracking, and marquee banner ads. I'll start with a barely sub-1-frame-a-second prototype and walk you through the hacks I needed to productionize the game, such as: \n\n* Simulating a \"button\" inside the filesystem via a Finder-specific \"last opened\" timestamp \n* Symlinking 44 files to their parent directories \n* Stuffing emojis into filenames \n* Implementing double buffering inside a Finder window via bizarre AppleScript incantations \n\nYou'll hopefully leave with a newfound appreciation for the power of Finder and AppleScript and a better understanding of why double buffering is important for a smooth gaming experience.", + "speaker_photo": "nolen-royalty.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Nolen Royalty** loves embedding games in surprising places and building experiences that connect strangers over the internet - you can find his work at .", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Omar Rizwan", + "title": "How to design your own microchip!!!", + "description": "Have you ever looked at your phone or laptop and wondered how it's made? The answer is that almost all of the 'technology' in it -- CPU, GPU, screen, camera, power electronics, motion sensor, radio -- is microchips that are either drawn in CAD software or coded up (in a language like Verilog), then manufactured in chip fabs. A few years ago, I took a class where I designed my own chip and got it fabricated (the resulting chips are sitting on my desk here). I'll talk about that process, how you write code to produce a chip, and how that chip actually looks up close, including how it physically looks in my hand, the 2D planar view, and a 3D view that we can fly around!", + "speaker_photo": "omar-rizwan.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Omar** works on new ways to program and interact with computers. He made TabFS, a browser extension that turns your browser tabs into virtual files; Screenotate, an augmented screenshot app; and he's worked on physical computing systems at Dynamicland and Folk Computer.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2022", + "2020", + "2018", + "2014" + ] + }, + { + "year": "2024", + "author": "Phil Warren", + "title": "Images from a 1970s Typewriter!!!", + "description": "Let's explore the invention-in-progress of an amazing \"printing machine\", which re-imagines the use of a vintage typewriter, using 3d-printed custom glyphs, to type full-color(ish) images using only red and green ink- this process uses a stop-gap hack Technicolor came up with in 1927 to trick us into thinking we're using full color, as well as a hack the KGB used in the American embassy around 1981 to turn a typewriter into a rudimentary teletype machine. Now we can feed it a cypher, and a well-rendered image will spit out! The steps to get here were weirder than one would imagine- with some robotics, some elder runes, and some film history appreciation along the way!", + "speaker_photo": "phil-warren.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Phil Warren** works in R&D in image technology, and enjoys adventures, eating things, and meeting people. Once, as a child, he swallowed a bunch of nickels, which gave him the memories and powers of those nickels. Unfortunately the nickels knew very little of the natural world, so it afforded little benefit. They weren't dimes.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2020" + ] + }, + { + "year": "2024", + "author": "Rebecca Ravenoak", + "title": "Algorithmically Generated Flower Beds!! (inspired by Ancient & Modern Polychrome Textiles)", + "description": "Polychrome textiles are created by overlapping and interlacing two or more colors of thread in a way that creates areas of solid and blended colors. This talk is about using that same technique (digitally) to create flowerbed textures based on a fabric structure called Crackle or Jämtlandsdräll, but this is not a technical weaving talk. It’s about creating colorful patterns that can be used in pixel art based on algorithmically generated tiles and patterns..", + "speaker_photo": "rebecca-ravenoak.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Rebecca** is a computer programmer and artist who works with digital and physical textiles. They weave, code, bake, and garden just south of Oakland in a wacky old house full of cats and as many weird little succulents as they can grow.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2021" + ] + }, + { + "year": "2024", + "author": "Richard Lewei Huang and Yufeng Zhao", + "title": "How to stop worrying and collect early web banner ads! (and make art along the way!)", + "description": "Banner ads were an important early form of advertising on the web. In 2023, we built Banner Depot 2000, an interactive archive of 22,915 Chinese- and English-language banner ads from the late 1990s and early 2000s. We believe it is the largest publicly-accessible archive of early web banner ads on the Internet! We collected the ads by scraping the Wayback Machine using a dataset of historical URLs compiled from print \"Internet directory\" books from that era. On Banner Depot 2000, visitors can browse, search, and view metadata about each banner ad in the archive. Additionally, they can compose \"banner ad poetry\" using individual frames from the banner ads in our collection. The archive provides invaluable insights into the visual and commercial culture of the early web, as well as the evolution of online advertising. In the presentation, we will talk about how the project came about, how we built the archive, how the archive can support different kinds of research, and our future plans with the archive.", + "speaker_photo": "richard-lewei-huang-yufeng-zhao.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Richard Lewei Huang** is a PhD student and critical technologist at the University of Washington studying web archiving and internet history. **Yufeng Zhao** is an artist, technologist and designer whose work addresses data, imagery/language processing, and experience design. Both Yufeng and Richard are alumni of the Interactive Media Arts program at NYU Shanghai. They formed Switcheristic Telecommunications, an artist collective focusing on assembling and presenting atypical data.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Ryan Mast", + "title": "The Perfect Blend!! Reverse engineering a bluetooth protocol for better smoothies!", + "description": "Have you ever gone to make a smoothie, only to have the blades spin fruitlessly while the fruit sticks just out of reach on the walls of the cup? I’ve wrestled with a “smart” blender over this and other issues on many occasions, often resorting to tossing the single serving cup to dislodge stubborn pieces of fruit. In this talk, I’ll share how I learned to reverse engineer BLE devices in order to control the exact settings used by the blender, including initial failures and how I overcame them. And in the end, we’ll create a custom blending profile for the perfect blend!", + "speaker_photo": "ryan-mast.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Ryan** is a software engineer working on open source projects to make the electric grid more reliable. His interests include software security, niche video games, and reverse engineering audio/video hardware used in live productions.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Santiago Gepigon III", + "title": "It's skeuomorphin' time!! The enduring physicality of braille!", + "description": "I'm bothered by how \"flat\" computing has become for me: staring at a flat screen, typing on a flat keyboard, tapping on a flat \"touch\" screen—where's the physicality? Is a clicky keyboard peripheral my only saving grace? In this talk, I'll explore how braille—a tactile writing system originally designed for the visually impaired—has enriched my relationship with computing. In three stories, across three centuries, I'll show you how apparently vestigial features have been, time and time again, leveraged to give braille new life.", + "speaker_photo": "santiago-gepigon.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Santiago Gepigon III** claims he cares about backwards compatibility and yet he's nothing like Santiago Gepigon Sr. or Jr. Some breaking changes include: a love for k-pop, an affinity for Lisp structure editing, and a fascination with domain-specific keyboard shortcuts.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Taylor Troesh", + "title": "bang! bang! he murdered math! {the musical!}", + "description": "In 1931, a lone man murdered math with two shots from a recursive revolver. The two incompleteness theorems punctured permanent holes in our once-pristine mathematical paradise. To this day, landmines lie lurking in the logical landscape. Who will protect our precious computers from inconsistency itself? A $1,000,000 bounty awaits the hero who thwarts the ghost of gunslingin' Gödel! Join us by the computational campfire for a bluegrass ballad!", + "speaker_photo": "taylor-troesh.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Taylor** is mayor of [taylor.town](https://taylor.town) and certified connoisseur of crap. He tinkers with writing, learning, time, design, software, ideas, and humor.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + }, + { + "year": "2024", + "author": "Vaibhav Sagar", + "title": "SATisfying Answers to Difficult Questions!", + "description": "SAT solvers have been used to find solutions to a wide variety of problems in domains such as code generation, formal verification, and scheduling. But what even are they, and how do they work?? In this talk I'll provide a brief overview of what a SAT solver is and some different approaches they use to solve problems! I hope to demystify these very useful tools and give you some insight into why and when you might want to use them.", + "speaker_photo": "vaibhav-sagar.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Vaibhav** used to write web applications for a living. He still does, but he used to, too. When he's not doing that you can find him at the gym making sure the weight trees have equal numbers of plates on them or engaging in some ill-advised revenge bedtime procrastination.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024", + "2019", + "2018" + ] + }, + { + "year": "2024", + "author": "Yufeng Zhao", + "title": "Let’s find random things on the street with full-text search!", + "description": "Imagine being able to find every “best pizza” shop sign, every \"No Parking\" notice, or every piece of street art in Brooklyn - without leaving your chair. In this talk, Yufeng will unveil \"all texts in Brooklyn\" (), a project that turns Google Street View into a searchable text database. Yufeng will walk through the process of building this full-text search engine, demonstrate interesting search results, and showcase data visualizations that reveal hidden patterns in Brooklyn's urban typography.", + "speaker_photo": "yufeng-zhao.png", + "youtube_link": "", + "transcript": "", + "order": 0, + "speaker_bio": "**Yufeng Zhao** is an artist, technologist and designer based in Brooklyn. His work addresses data, imagery/language processing, and experience design. Through a blend of web-based projects, video works, and tangible installations, his practice explores unexpected connections embedded in our techno-cultural landscape and the interactions between humans and machines. He is a part of the Switcheristic Telecommunications (), an artist collective focusing on assembling and presenting atypical data.", + "keynote": false, + "organizer": false, + "all_years": [ + "2024" + ] + } +] \ No newline at end of file diff --git a/_layouts/default-end.html b/_layouts/default-end.html new file mode 100644 index 0000000..70fc4f4 --- /dev/null +++ b/_layouts/default-end.html @@ -0,0 +1,64 @@ + + + + + + + + + + + + {% if page.title %} + {{ page.title }} + {% else %} + !!Con + {% endif %} + + + + +
+
+
+ !!Con logo +

!!Con

+

The joy, excitement, and surprise of computing!

+
+
+
+ +
+ + {{content}} + +
+ +
+ +
+ + + diff --git a/images/Dockerfile-createmontage b/images/Dockerfile-createmontage new file mode 100644 index 0000000..51cd19f --- /dev/null +++ b/images/Dockerfile-createmontage @@ -0,0 +1,32 @@ +# Use this Dockerfile to create a new montage of iamges +# This is designed to run it once to create the image. The container +# will remove itself when done (if ran by below directions) + +# Run in Windows (PowerShell): +# docker run --rm -it -v ${PWD}:/app $(docker build -f Dockerfile-createmontage -q .) +# +# Run in Mac/Linux: +# docker run --rm -it -v $(pwd):/app $(docker build -q -f Dockerfile-createmontage .) +# +# Sorry, Windows (cmd) won't let you do this easily. + +# You should then have a new montage.jpg in repo's /images/ ! + +# Start with small Debian +FROM debian:stable-slim +# Make directory for repo +WORKDIR /app + +# Update software, install ImageMagick +RUN apt update && \ + apt upgrade -y && \ + apt install -y imagemagick + +# Copy repo to working directory +COPY . . + +# CD to images directory +WORKDIR /app/images + +# Run the montage script +CMD ./create_montage.sh diff --git a/images/create_montage.sh b/images/create_montage.sh new file mode 100644 index 0000000..a4030ca --- /dev/null +++ b/images/create_montage.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# A script to generate the montage background image used in our 2019 +# website. Depends on ImageMagick and coreutils (shuf). + +# Create temporary directory for images +mkdir -p /tmp/bangbangcon_images/ + +# Copy speaker images to temp dir, in an order such that if a given +# speaker occurs more than once, newer images will overwrite older +# ones +# -u to always update a speaker's photo +cp -u ../*/images/speakers/*.png /tmp/bangbangcon_images/ + +speakers=`ls /tmp/bangbangcon_images/ | wc -l` +echo +echo "There are $speakers speakers from past !!Cons!" +echo + +# Create temporary directories for manipulated images +mkdir /tmp/bangbangcon_images/resized +mkdir /tmp/bangbangcon_images/final + +# Convert images to 50x50px +i=1 +for image in `ls /tmp/bangbangcon_images/*.png`; do + convert $image -resize 50x50 /tmp/bangbangcon_images/resized/$i.png + let "i++"; +done + +# Numbers determined by experimentation -- this is what looked good! +# If the number of source images changes, these will likely have to +# change too. +COPIES=3 +GRID_HEIGHT=17 +LEFTOVER_SLOTS=8 # number of spaces left over in grid + +# Make copies and order images randomly +j=1 +for ((i=1; i<=$COPIES; i++)); do + for image in `ls /tmp/bangbangcon_images/resized/*.png | shuf`; do + cp $image /tmp/bangbangcon_images/final/$j.png; + let "j++"; + done +done + +# Pick random images to fill in the gap at the end +k=1 +for image in `ls /tmp/bangbangcon_images/final/*.png | shuf | head -n $LEFTOVER_SLOTS`; do + #echo $image; + cp $image /tmp/bangbangcon_images/final/extra_$k.png; + let "k++"; +done + +# Arrange in a grid +montage /tmp/bangbangcon_images/final/*.png -tile x$GRID_HEIGHT -geometry +0+0 -quality 90 montage.jpg + +# Get rid of temp files +rm -r /tmp/bangbangcon_images/ diff --git a/images/images/Dockerfile-createmontage b/images/images/Dockerfile-createmontage new file mode 100644 index 0000000..51cd19f --- /dev/null +++ b/images/images/Dockerfile-createmontage @@ -0,0 +1,32 @@ +# Use this Dockerfile to create a new montage of iamges +# This is designed to run it once to create the image. The container +# will remove itself when done (if ran by below directions) + +# Run in Windows (PowerShell): +# docker run --rm -it -v ${PWD}:/app $(docker build -f Dockerfile-createmontage -q .) +# +# Run in Mac/Linux: +# docker run --rm -it -v $(pwd):/app $(docker build -q -f Dockerfile-createmontage .) +# +# Sorry, Windows (cmd) won't let you do this easily. + +# You should then have a new montage.jpg in repo's /images/ ! + +# Start with small Debian +FROM debian:stable-slim +# Make directory for repo +WORKDIR /app + +# Update software, install ImageMagick +RUN apt update && \ + apt upgrade -y && \ + apt install -y imagemagick + +# Copy repo to working directory +COPY . . + +# CD to images directory +WORKDIR /app/images + +# Run the montage script +CMD ./create_montage.sh diff --git a/images/images/create_montage.sh b/images/images/create_montage.sh new file mode 100644 index 0000000..6049190 --- /dev/null +++ b/images/images/create_montage.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# A script to generate the montage background image used in our 2019 +# website. Depends on ImageMagick and coreutils (shuf). + +# Create temporary directory for images +mkdir -p /tmp/bangbangcon_images/ + +# Copy speaker images to temp dir, in an order such that if a given +# speaker occurs more than once, newer images will overwrite older +# ones +# -u to always update a speaker's photo +cp -u ../*/images/speakers/*.png /tmp/bangbangcon_images/ + +speakers=`ls /tmp/bangbangcon_images/ | wc -l` +echo +echo "There are $speakers speakers from past !!Cons!" +echo + +# Create temporary directories for manipulated images +mkdir /tmp/bangbangcon_images/resized +mkdir /tmp/bangbangcon_images/final + +# Convert images to 50x50px +i=1 +for image in `ls /tmp/bangbangcon_images/*.png`; do + convert $image -resize 50x50 /tmp/bangbangcon_images/resized/$i.png + let "i++"; +done + +# Numbers determined by experimentation -- this is what looked good! +# If the number of source images changes, these will likely have to +# change too. +COPIES=3 +GRID_HEIGHT=15 +LEFTOVER_SLOTS=12 # number of spaces left over in grid + +# Make copies and order images randomly +j=1 +for ((i=1; i<=$COPIES; i++)); do + for image in `ls /tmp/bangbangcon_images/resized/*.png | shuf`; do + cp $image /tmp/bangbangcon_images/final/$j.png; + let "j++"; + done +done + +# Pick random images to fill in the gap at the end +k=1 +for image in `ls /tmp/bangbangcon_images/final/*.png | shuf | head -n $LEFTOVER_SLOTS`; do + #echo $image; + cp $image /tmp/bangbangcon_images/final/extra_$k.png; + let "k++"; +done + +# Arrange in a grid +montage /tmp/bangbangcon_images/final/*.png -tile x$GRID_HEIGHT -geometry +0+0 -quality 90 montage.jpg + +# Get rid of temp files +rm -r /tmp/bangbangcon_images/ diff --git a/images/montage.jpg b/images/montage.jpg index 291977e..f89e355 100644 Binary files a/images/montage.jpg and b/images/montage.jpg differ diff --git a/images/speakers/aaron-levin.png b/images/speakers/aaron-levin.png new file mode 100644 index 0000000..dffd02b Binary files /dev/null and b/images/speakers/aaron-levin.png differ diff --git a/images/speakers/aaron-reed.png b/images/speakers/aaron-reed.png new file mode 100644 index 0000000..9cac283 Binary files /dev/null and b/images/speakers/aaron-reed.png differ diff --git a/images/speakers/adam-marcus.png b/images/speakers/adam-marcus.png new file mode 100644 index 0000000..0184d61 Binary files /dev/null and b/images/speakers/adam-marcus.png differ diff --git a/images/speakers/ahmed-abdalla.png b/images/speakers/ahmed-abdalla.png new file mode 100644 index 0000000..393fa27 Binary files /dev/null and b/images/speakers/ahmed-abdalla.png differ diff --git a/images/speakers/aki-van-ness.png b/images/speakers/aki-van-ness.png new file mode 100644 index 0000000..b4cd040 Binary files /dev/null and b/images/speakers/aki-van-ness.png differ diff --git a/images/speakers/aki-yamada.png b/images/speakers/aki-yamada.png new file mode 100644 index 0000000..b859d09 Binary files /dev/null and b/images/speakers/aki-yamada.png differ diff --git a/images/speakers/alex-clemmer.png b/images/speakers/alex-clemmer.png new file mode 100644 index 0000000..2b18021 Binary files /dev/null and b/images/speakers/alex-clemmer.png differ diff --git a/images/speakers/alex-pounds.png b/images/speakers/alex-pounds.png new file mode 100644 index 0000000..d479737 Binary files /dev/null and b/images/speakers/alex-pounds.png differ diff --git a/images/speakers/alicja-raszkowska.png b/images/speakers/alicja-raszkowska.png new file mode 100644 index 0000000..6c1bb07 Binary files /dev/null and b/images/speakers/alicja-raszkowska.png differ diff --git a/images/speakers/allie-jones.png b/images/speakers/allie-jones.png new file mode 100644 index 0000000..6a8c313 Binary files /dev/null and b/images/speakers/allie-jones.png differ diff --git a/images/speakers/allison-kaptur.png b/images/speakers/allison-kaptur.png new file mode 100644 index 0000000..0f01df3 Binary files /dev/null and b/images/speakers/allison-kaptur.png differ diff --git a/images/speakers/allison-nelson.png b/images/speakers/allison-nelson.png new file mode 100644 index 0000000..ebdac47 Binary files /dev/null and b/images/speakers/allison-nelson.png differ diff --git a/images/speakers/allison-parrish.png b/images/speakers/allison-parrish.png new file mode 100644 index 0000000..c3ec8d6 Binary files /dev/null and b/images/speakers/allison-parrish.png differ diff --git a/images/speakers/amara-jaeger.png b/images/speakers/amara-jaeger.png new file mode 100644 index 0000000..38e30e2 Binary files /dev/null and b/images/speakers/amara-jaeger.png differ diff --git a/images/speakers/amy-cash.png b/images/speakers/amy-cash.png new file mode 100644 index 0000000..a99b851 Binary files /dev/null and b/images/speakers/amy-cash.png differ diff --git a/images/speakers/andreas-fuchs.png b/images/speakers/andreas-fuchs.png new file mode 100644 index 0000000..8c0ff13 Binary files /dev/null and b/images/speakers/andreas-fuchs.png differ diff --git a/images/speakers/andrew-gwozdziewycz.png b/images/speakers/andrew-gwozdziewycz.png new file mode 100644 index 0000000..05c0036 Binary files /dev/null and b/images/speakers/andrew-gwozdziewycz.png differ diff --git a/images/speakers/andrew-louis.png b/images/speakers/andrew-louis.png new file mode 100644 index 0000000..5ad9050 Binary files /dev/null and b/images/speakers/andrew-louis.png differ diff --git a/images/speakers/andrew-plotkin.png b/images/speakers/andrew-plotkin.png new file mode 100644 index 0000000..4af6c41 Binary files /dev/null and b/images/speakers/andrew-plotkin.png differ diff --git a/images/speakers/andrew-sillers.png b/images/speakers/andrew-sillers.png new file mode 100644 index 0000000..ec0d760 Binary files /dev/null and b/images/speakers/andrew-sillers.png differ diff --git a/images/speakers/andrew-yoon.png b/images/speakers/andrew-yoon.png new file mode 100644 index 0000000..84c4871 Binary files /dev/null and b/images/speakers/andrew-yoon.png differ diff --git a/images/speakers/angie-jones.png b/images/speakers/angie-jones.png new file mode 100644 index 0000000..8f2908c Binary files /dev/null and b/images/speakers/angie-jones.png differ diff --git a/images/speakers/aniyia-williams.png b/images/speakers/aniyia-williams.png new file mode 100644 index 0000000..469b3d0 Binary files /dev/null and b/images/speakers/aniyia-williams.png differ diff --git a/images/speakers/anjana-vakil.png b/images/speakers/anjana-vakil.png new file mode 100644 index 0000000..a569055 Binary files /dev/null and b/images/speakers/anjana-vakil.png differ diff --git a/images/speakers/anne-decusatis.png b/images/speakers/anne-decusatis.png new file mode 100644 index 0000000..db5501c Binary files /dev/null and b/images/speakers/anne-decusatis.png differ diff --git a/images/speakers/anuoluwapo-karounwi.png b/images/speakers/anuoluwapo-karounwi.png new file mode 100644 index 0000000..7b254e6 Binary files /dev/null and b/images/speakers/anuoluwapo-karounwi.png differ diff --git a/images/speakers/aruna-sankaranarayanan.png b/images/speakers/aruna-sankaranarayanan.png new file mode 100644 index 0000000..2c1eab1 Binary files /dev/null and b/images/speakers/aruna-sankaranarayanan.png differ diff --git a/images/speakers/ashlee-boyer.png b/images/speakers/ashlee-boyer.png new file mode 100644 index 0000000..19c06e9 Binary files /dev/null and b/images/speakers/ashlee-boyer.png differ diff --git a/images/speakers/ashley-blewer.png b/images/speakers/ashley-blewer.png new file mode 100644 index 0000000..ac1cf16 Binary files /dev/null and b/images/speakers/ashley-blewer.png differ diff --git a/images/speakers/ayla-myers.png b/images/speakers/ayla-myers.png new file mode 100644 index 0000000..941fa2e Binary files /dev/null and b/images/speakers/ayla-myers.png differ diff --git a/images/speakers/ben-kuhn.png b/images/speakers/ben-kuhn.png new file mode 100644 index 0000000..599bcac Binary files /dev/null and b/images/speakers/ben-kuhn.png differ diff --git a/images/speakers/bjorn-roche.png b/images/speakers/bjorn-roche.png new file mode 100644 index 0000000..1e496a0 Binary files /dev/null and b/images/speakers/bjorn-roche.png differ diff --git a/images/speakers/bomani-mcclendon.png b/images/speakers/bomani-mcclendon.png new file mode 100644 index 0000000..f12831b Binary files /dev/null and b/images/speakers/bomani-mcclendon.png differ diff --git a/images/speakers/bonnie-eisenman.png b/images/speakers/bonnie-eisenman.png new file mode 100644 index 0000000..772f405 Binary files /dev/null and b/images/speakers/bonnie-eisenman.png differ diff --git a/images/speakers/brendan-cordy.png b/images/speakers/brendan-cordy.png new file mode 100644 index 0000000..cce86ec Binary files /dev/null and b/images/speakers/brendan-cordy.png differ diff --git a/images/speakers/brendan-curran-johnson.png b/images/speakers/brendan-curran-johnson.png new file mode 100644 index 0000000..9f87bdd Binary files /dev/null and b/images/speakers/brendan-curran-johnson.png differ diff --git a/images/speakers/camille-fournier.png b/images/speakers/camille-fournier.png new file mode 100644 index 0000000..132aad2 Binary files /dev/null and b/images/speakers/camille-fournier.png differ diff --git a/images/speakers/catt-small.png b/images/speakers/catt-small.png new file mode 100644 index 0000000..479492a Binary files /dev/null and b/images/speakers/catt-small.png differ diff --git a/images/speakers/char-stiles.png b/images/speakers/char-stiles.png new file mode 100644 index 0000000..f67d994 Binary files /dev/null and b/images/speakers/char-stiles.png differ diff --git a/images/speakers/charles-chamberlain.png b/images/speakers/charles-chamberlain.png new file mode 100644 index 0000000..da21452 Binary files /dev/null and b/images/speakers/charles-chamberlain.png differ diff --git a/images/speakers/chloe-revery.png b/images/speakers/chloe-revery.png new file mode 100644 index 0000000..408c453 Binary files /dev/null and b/images/speakers/chloe-revery.png differ diff --git a/images/speakers/chloe-weil.png b/images/speakers/chloe-weil.png new file mode 100644 index 0000000..df2dc09 Binary files /dev/null and b/images/speakers/chloe-weil.png differ diff --git a/images/speakers/christian-joudrey.png b/images/speakers/christian-joudrey.png new file mode 100644 index 0000000..d809e68 Binary files /dev/null and b/images/speakers/christian-joudrey.png differ diff --git a/images/speakers/colin-jones.png b/images/speakers/colin-jones.png new file mode 100644 index 0000000..59a6b94 Binary files /dev/null and b/images/speakers/colin-jones.png differ diff --git a/images/speakers/dan-luu.png b/images/speakers/dan-luu.png new file mode 100644 index 0000000..ebe806f Binary files /dev/null and b/images/speakers/dan-luu.png differ diff --git a/images/speakers/daniel-luxemburg.png b/images/speakers/daniel-luxemburg.png new file mode 100644 index 0000000..13e5b14 Binary files /dev/null and b/images/speakers/daniel-luxemburg.png differ diff --git a/images/speakers/danielle-sucher.png b/images/speakers/danielle-sucher.png new file mode 100644 index 0000000..40256c6 Binary files /dev/null and b/images/speakers/danielle-sucher.png differ diff --git a/images/speakers/darius-bacon.png b/images/speakers/darius-bacon.png new file mode 100644 index 0000000..8e582a1 Binary files /dev/null and b/images/speakers/darius-bacon.png differ diff --git a/images/speakers/dasha-ilina.png b/images/speakers/dasha-ilina.png new file mode 100644 index 0000000..186573d Binary files /dev/null and b/images/speakers/dasha-ilina.png differ diff --git a/images/speakers/david-mauricio-delgado-ruiz.png b/images/speakers/david-mauricio-delgado-ruiz.png new file mode 100644 index 0000000..d183ad9 Binary files /dev/null and b/images/speakers/david-mauricio-delgado-ruiz.png differ diff --git a/images/speakers/david-nolen.png b/images/speakers/david-nolen.png new file mode 100644 index 0000000..352ab75 Binary files /dev/null and b/images/speakers/david-nolen.png differ diff --git a/images/speakers/david-turner.png b/images/speakers/david-turner.png new file mode 100644 index 0000000..21f2bec Binary files /dev/null and b/images/speakers/david-turner.png differ diff --git a/images/speakers/dawn-xiana-moon.png b/images/speakers/dawn-xiana-moon.png new file mode 100644 index 0000000..7839d6b Binary files /dev/null and b/images/speakers/dawn-xiana-moon.png differ diff --git a/images/speakers/diana-liao.png b/images/speakers/diana-liao.png new file mode 100644 index 0000000..e44797b Binary files /dev/null and b/images/speakers/diana-liao.png differ diff --git a/images/speakers/dylan-nugent.png b/images/speakers/dylan-nugent.png new file mode 100644 index 0000000..cf2ea51 Binary files /dev/null and b/images/speakers/dylan-nugent.png differ diff --git a/images/speakers/ed-medvedev.png b/images/speakers/ed-medvedev.png new file mode 100644 index 0000000..31c1df8 Binary files /dev/null and b/images/speakers/ed-medvedev.png differ diff --git a/images/speakers/ellen-korbes.png b/images/speakers/ellen-korbes.png new file mode 100644 index 0000000..6ec8efb Binary files /dev/null and b/images/speakers/ellen-korbes.png differ diff --git a/images/speakers/em-lazer-walker.png b/images/speakers/em-lazer-walker.png new file mode 100644 index 0000000..3c4f045 Binary files /dev/null and b/images/speakers/em-lazer-walker.png differ diff --git a/images/speakers/emily-nakashima.png b/images/speakers/emily-nakashima.png new file mode 100644 index 0000000..ce24229 Binary files /dev/null and b/images/speakers/emily-nakashima.png differ diff --git a/images/speakers/emily-reese.png b/images/speakers/emily-reese.png new file mode 100644 index 0000000..b06ced1 Binary files /dev/null and b/images/speakers/emily-reese.png differ diff --git a/images/speakers/evan-jones.png b/images/speakers/evan-jones.png new file mode 100644 index 0000000..61a5d15 Binary files /dev/null and b/images/speakers/evan-jones.png differ diff --git a/images/speakers/evy-kassirer.png b/images/speakers/evy-kassirer.png new file mode 100644 index 0000000..cc9d8bf Binary files /dev/null and b/images/speakers/evy-kassirer.png differ diff --git a/images/speakers/ewan-dennis.png b/images/speakers/ewan-dennis.png new file mode 100644 index 0000000..6def8b2 Binary files /dev/null and b/images/speakers/ewan-dennis.png differ diff --git a/images/speakers/fiona-condon.png b/images/speakers/fiona-condon.png new file mode 100644 index 0000000..58c027e Binary files /dev/null and b/images/speakers/fiona-condon.png differ diff --git a/images/speakers/franklin-hu.png b/images/speakers/franklin-hu.png new file mode 100644 index 0000000..6fb8fc2 Binary files /dev/null and b/images/speakers/franklin-hu.png differ diff --git a/images/speakers/gabor-ugray.png b/images/speakers/gabor-ugray.png new file mode 100644 index 0000000..b4e8439 Binary files /dev/null and b/images/speakers/gabor-ugray.png differ diff --git a/images/speakers/gargi-sharma.png b/images/speakers/gargi-sharma.png new file mode 100644 index 0000000..18c5562 Binary files /dev/null and b/images/speakers/gargi-sharma.png differ diff --git a/images/speakers/geoffrey-lessel.png b/images/speakers/geoffrey-lessel.png new file mode 100644 index 0000000..13e4d82 Binary files /dev/null and b/images/speakers/geoffrey-lessel.png differ diff --git a/images/speakers/geoffrey-litt.png b/images/speakers/geoffrey-litt.png new file mode 100644 index 0000000..cace19a Binary files /dev/null and b/images/speakers/geoffrey-litt.png differ diff --git a/images/speakers/guillaume-marceau.png b/images/speakers/guillaume-marceau.png new file mode 100644 index 0000000..efb12a4 Binary files /dev/null and b/images/speakers/guillaume-marceau.png differ diff --git a/images/speakers/helen-hou-sandi.png b/images/speakers/helen-hou-sandi.png new file mode 100644 index 0000000..e1f24af Binary files /dev/null and b/images/speakers/helen-hou-sandi.png differ diff --git a/images/speakers/hung-truong.png b/images/speakers/hung-truong.png new file mode 100644 index 0000000..34edfb1 Binary files /dev/null and b/images/speakers/hung-truong.png differ diff --git a/images/speakers/igor-wiedler.png b/images/speakers/igor-wiedler.png new file mode 100644 index 0000000..1686525 Binary files /dev/null and b/images/speakers/igor-wiedler.png differ diff --git a/images/speakers/irvin-hwang.png b/images/speakers/irvin-hwang.png new file mode 100644 index 0000000..629108f Binary files /dev/null and b/images/speakers/irvin-hwang.png differ diff --git a/images/speakers/jade-fink.png b/images/speakers/jade-fink.png new file mode 100644 index 0000000..26bcd94 Binary files /dev/null and b/images/speakers/jade-fink.png differ diff --git a/images/speakers/jake-levine.png b/images/speakers/jake-levine.png new file mode 100644 index 0000000..a496ba9 Binary files /dev/null and b/images/speakers/jake-levine.png differ diff --git a/images/speakers/james-ryan.png b/images/speakers/james-ryan.png new file mode 100644 index 0000000..d078807 Binary files /dev/null and b/images/speakers/james-ryan.png differ diff --git a/images/speakers/jan-mitsuko-cash.png b/images/speakers/jan-mitsuko-cash.png new file mode 100644 index 0000000..3f7498b Binary files /dev/null and b/images/speakers/jan-mitsuko-cash.png differ diff --git a/images/speakers/jason-mcintosh.png b/images/speakers/jason-mcintosh.png new file mode 100644 index 0000000..757918b Binary files /dev/null and b/images/speakers/jason-mcintosh.png differ diff --git a/images/speakers/jayesh-kawli.png b/images/speakers/jayesh-kawli.png new file mode 100644 index 0000000..560f472 Binary files /dev/null and b/images/speakers/jayesh-kawli.png differ diff --git a/images/speakers/jean-cochrane.png b/images/speakers/jean-cochrane.png new file mode 100644 index 0000000..fdcb863 Binary files /dev/null and b/images/speakers/jean-cochrane.png differ diff --git a/images/speakers/jeanheyd-meneide.png b/images/speakers/jeanheyd-meneide.png new file mode 100644 index 0000000..f61247e Binary files /dev/null and b/images/speakers/jeanheyd-meneide.png differ diff --git a/images/speakers/jenn-schiffer.png b/images/speakers/jenn-schiffer.png new file mode 100644 index 0000000..bb89ed1 Binary files /dev/null and b/images/speakers/jenn-schiffer.png differ diff --git a/images/speakers/jennifer-fernick.png b/images/speakers/jennifer-fernick.png new file mode 100644 index 0000000..fe5f47b Binary files /dev/null and b/images/speakers/jennifer-fernick.png differ diff --git a/images/speakers/jennifer-shin.png b/images/speakers/jennifer-shin.png new file mode 100644 index 0000000..704b435 Binary files /dev/null and b/images/speakers/jennifer-shin.png differ diff --git a/images/speakers/jes-wolfe!.png b/images/speakers/jes-wolfe!.png new file mode 100644 index 0000000..d3e2fe3 Binary files /dev/null and b/images/speakers/jes-wolfe!.png differ diff --git a/images/speakers/joel-potischman.png b/images/speakers/joel-potischman.png new file mode 100644 index 0000000..125dab1 Binary files /dev/null and b/images/speakers/joel-potischman.png differ diff --git a/images/speakers/john-feminella.png b/images/speakers/john-feminella.png new file mode 100644 index 0000000..6dd3ad8 Binary files /dev/null and b/images/speakers/john-feminella.png differ diff --git a/images/speakers/jon-williams.png b/images/speakers/jon-williams.png new file mode 100644 index 0000000..325b32d Binary files /dev/null and b/images/speakers/jon-williams.png differ diff --git a/images/speakers/jonathan-kingsley.png b/images/speakers/jonathan-kingsley.png new file mode 100644 index 0000000..a351a88 Binary files /dev/null and b/images/speakers/jonathan-kingsley.png differ diff --git a/images/speakers/josh-bowman-matthews.png b/images/speakers/josh-bowman-matthews.png new file mode 100644 index 0000000..52244a0 Binary files /dev/null and b/images/speakers/josh-bowman-matthews.png differ diff --git a/images/speakers/josh-matthews.png b/images/speakers/josh-matthews.png new file mode 100644 index 0000000..46f5b00 Binary files /dev/null and b/images/speakers/josh-matthews.png differ diff --git a/images/speakers/josh-triplett.png b/images/speakers/josh-triplett.png new file mode 100644 index 0000000..8ec52b2 Binary files /dev/null and b/images/speakers/josh-triplett.png differ diff --git a/images/speakers/joshua-wise.png b/images/speakers/joshua-wise.png new file mode 100644 index 0000000..d91eab0 Binary files /dev/null and b/images/speakers/joshua-wise.png differ diff --git a/images/speakers/ju-liu.png b/images/speakers/ju-liu.png new file mode 100644 index 0000000..158cd64 Binary files /dev/null and b/images/speakers/ju-liu.png differ diff --git a/images/speakers/julia-evans.png b/images/speakers/julia-evans.png new file mode 100644 index 0000000..9566af2 Binary files /dev/null and b/images/speakers/julia-evans.png differ diff --git a/images/speakers/julia-tufts.png b/images/speakers/julia-tufts.png new file mode 100644 index 0000000..f37f315 Binary files /dev/null and b/images/speakers/julia-tufts.png differ diff --git a/images/speakers/kamal-marhubi.png b/images/speakers/kamal-marhubi.png new file mode 100644 index 0000000..d8a808f Binary files /dev/null and b/images/speakers/kamal-marhubi.png differ diff --git a/images/speakers/kamelia-aryafar.png b/images/speakers/kamelia-aryafar.png new file mode 100644 index 0000000..269912d Binary files /dev/null and b/images/speakers/kamelia-aryafar.png differ diff --git a/images/speakers/karen-sandler.png b/images/speakers/karen-sandler.png new file mode 100644 index 0000000..42768be Binary files /dev/null and b/images/speakers/karen-sandler.png differ diff --git a/images/speakers/karla-burnett.png b/images/speakers/karla-burnett.png new file mode 100644 index 0000000..b3c2bcb Binary files /dev/null and b/images/speakers/karla-burnett.png differ diff --git a/images/speakers/kate-beard.png b/images/speakers/kate-beard.png new file mode 100644 index 0000000..1f3a654 Binary files /dev/null and b/images/speakers/kate-beard.png differ diff --git a/images/speakers/kate-temkin.png b/images/speakers/kate-temkin.png new file mode 100644 index 0000000..5176f69 Binary files /dev/null and b/images/speakers/kate-temkin.png differ diff --git a/images/speakers/katherine-ye.png b/images/speakers/katherine-ye.png new file mode 100644 index 0000000..a49962b Binary files /dev/null and b/images/speakers/katherine-ye.png differ diff --git a/images/speakers/katie-bechtold.png b/images/speakers/katie-bechtold.png new file mode 100644 index 0000000..2e4474e Binary files /dev/null and b/images/speakers/katie-bechtold.png differ diff --git a/images/speakers/kevin-chen.png b/images/speakers/kevin-chen.png new file mode 100644 index 0000000..2c50f76 Binary files /dev/null and b/images/speakers/kevin-chen.png differ diff --git a/images/speakers/kevin-lynagh.png b/images/speakers/kevin-lynagh.png new file mode 100644 index 0000000..26f82ed Binary files /dev/null and b/images/speakers/kevin-lynagh.png differ diff --git a/images/speakers/kimberly-wilber.png b/images/speakers/kimberly-wilber.png new file mode 100644 index 0000000..641b89d Binary files /dev/null and b/images/speakers/kimberly-wilber.png differ diff --git a/images/speakers/kiran-bhattaram.png b/images/speakers/kiran-bhattaram.png new file mode 100644 index 0000000..833e99d Binary files /dev/null and b/images/speakers/kiran-bhattaram.png differ diff --git a/images/speakers/laura-kurup.png b/images/speakers/laura-kurup.png new file mode 100644 index 0000000..94ef4df Binary files /dev/null and b/images/speakers/laura-kurup.png differ diff --git a/images/speakers/laura-lindzey.png b/images/speakers/laura-lindzey.png new file mode 100644 index 0000000..44b9d31 Binary files /dev/null and b/images/speakers/laura-lindzey.png differ diff --git a/images/speakers/lea-albaugh.png b/images/speakers/lea-albaugh.png new file mode 100644 index 0000000..3f269c1 Binary files /dev/null and b/images/speakers/lea-albaugh.png differ diff --git a/images/speakers/lee-butterman.png b/images/speakers/lee-butterman.png new file mode 100644 index 0000000..b58f67e Binary files /dev/null and b/images/speakers/lee-butterman.png differ diff --git a/images/speakers/libby-horacek.png b/images/speakers/libby-horacek.png new file mode 100644 index 0000000..589ee66 Binary files /dev/null and b/images/speakers/libby-horacek.png differ diff --git a/images/speakers/limor-fried.png b/images/speakers/limor-fried.png new file mode 100644 index 0000000..0fc722f Binary files /dev/null and b/images/speakers/limor-fried.png differ diff --git a/images/speakers/lisa-ballard.png b/images/speakers/lisa-ballard.png new file mode 100644 index 0000000..4a1d8d4 Binary files /dev/null and b/images/speakers/lisa-ballard.png differ diff --git a/images/speakers/lisa-neigut.png b/images/speakers/lisa-neigut.png new file mode 100644 index 0000000..ad443b0 Binary files /dev/null and b/images/speakers/lisa-neigut.png differ diff --git a/images/speakers/lisa-van-gelder.png b/images/speakers/lisa-van-gelder.png new file mode 100644 index 0000000..af183c6 Binary files /dev/null and b/images/speakers/lisa-van-gelder.png differ diff --git a/images/speakers/liz-fong-jones.png b/images/speakers/liz-fong-jones.png new file mode 100644 index 0000000..5ad470d Binary files /dev/null and b/images/speakers/liz-fong-jones.png differ diff --git a/images/speakers/logan-williams.png b/images/speakers/logan-williams.png new file mode 100644 index 0000000..bb6c132 Binary files /dev/null and b/images/speakers/logan-williams.png differ diff --git a/images/speakers/lucy-zhang.png b/images/speakers/lucy-zhang.png new file mode 100644 index 0000000..70ab6ff Binary files /dev/null and b/images/speakers/lucy-zhang.png differ diff --git a/images/speakers/lydia-gu.png b/images/speakers/lydia-gu.png new file mode 100644 index 0000000..c6eadce Binary files /dev/null and b/images/speakers/lydia-gu.png differ diff --git a/images/speakers/lynn-pepin.png b/images/speakers/lynn-pepin.png new file mode 100644 index 0000000..190c6e9 Binary files /dev/null and b/images/speakers/lynn-pepin.png differ diff --git a/images/speakers/mahtab-sabet.png b/images/speakers/mahtab-sabet.png new file mode 100644 index 0000000..ff0ca62 Binary files /dev/null and b/images/speakers/mahtab-sabet.png differ diff --git a/images/speakers/mariko-kosaka.png b/images/speakers/mariko-kosaka.png new file mode 100644 index 0000000..8ed2ef2 Binary files /dev/null and b/images/speakers/mariko-kosaka.png differ diff --git a/images/speakers/mark-allen.png b/images/speakers/mark-allen.png new file mode 100644 index 0000000..1600111 Binary files /dev/null and b/images/speakers/mark-allen.png differ diff --git a/images/speakers/mark-dominus.png b/images/speakers/mark-dominus.png new file mode 100644 index 0000000..a019e0b Binary files /dev/null and b/images/speakers/mark-dominus.png differ diff --git a/images/speakers/mark-jason-dominus.png b/images/speakers/mark-jason-dominus.png new file mode 100644 index 0000000..a019e0b Binary files /dev/null and b/images/speakers/mark-jason-dominus.png differ diff --git a/images/speakers/mark-phillips.png b/images/speakers/mark-phillips.png new file mode 100644 index 0000000..d3e1f90 Binary files /dev/null and b/images/speakers/mark-phillips.png differ diff --git a/images/speakers/mark-wunsch.png b/images/speakers/mark-wunsch.png new file mode 100644 index 0000000..3a0fbfc Binary files /dev/null and b/images/speakers/mark-wunsch.png differ diff --git a/images/speakers/marlene-mhangami.png b/images/speakers/marlene-mhangami.png new file mode 100644 index 0000000..477aef9 Binary files /dev/null and b/images/speakers/marlene-mhangami.png differ diff --git a/images/speakers/martin-gaston.png b/images/speakers/martin-gaston.png new file mode 100644 index 0000000..a0f6b66 Binary files /dev/null and b/images/speakers/martin-gaston.png differ diff --git a/images/speakers/mary-rose-cook.png b/images/speakers/mary-rose-cook.png new file mode 100644 index 0000000..2928afe Binary files /dev/null and b/images/speakers/mary-rose-cook.png differ diff --git a/images/speakers/matt-clawson.png b/images/speakers/matt-clawson.png new file mode 100644 index 0000000..f627834 Binary files /dev/null and b/images/speakers/matt-clawson.png differ diff --git a/images/speakers/matthew-dockrey.png b/images/speakers/matthew-dockrey.png new file mode 100644 index 0000000..f0895fe Binary files /dev/null and b/images/speakers/matthew-dockrey.png differ diff --git a/images/speakers/max-veytsman.png b/images/speakers/max-veytsman.png new file mode 100644 index 0000000..53611a4 Binary files /dev/null and b/images/speakers/max-veytsman.png differ diff --git a/images/speakers/michael-arntzenius.png b/images/speakers/michael-arntzenius.png new file mode 100644 index 0000000..5f16b5d Binary files /dev/null and b/images/speakers/michael-arntzenius.png differ diff --git a/images/speakers/michael-bernstein.png b/images/speakers/michael-bernstein.png new file mode 100644 index 0000000..4557f8d Binary files /dev/null and b/images/speakers/michael-bernstein.png differ diff --git a/images/speakers/michael-kwan.png b/images/speakers/michael-kwan.png new file mode 100644 index 0000000..2266c71 Binary files /dev/null and b/images/speakers/michael-kwan.png differ diff --git a/images/speakers/michael-malis.png b/images/speakers/michael-malis.png new file mode 100644 index 0000000..acdef5e Binary files /dev/null and b/images/speakers/michael-malis.png differ diff --git a/images/speakers/michael-woods.png b/images/speakers/michael-woods.png new file mode 100644 index 0000000..069b53a Binary files /dev/null and b/images/speakers/michael-woods.png differ diff --git a/images/speakers/mimi-onuoha.png b/images/speakers/mimi-onuoha.png new file mode 100644 index 0000000..bd2780e Binary files /dev/null and b/images/speakers/mimi-onuoha.png differ diff --git a/images/speakers/mindy-preston.png b/images/speakers/mindy-preston.png new file mode 100644 index 0000000..90cc8d9 Binary files /dev/null and b/images/speakers/mindy-preston.png differ diff --git a/images/speakers/nabil-hassein.png b/images/speakers/nabil-hassein.png new file mode 100644 index 0000000..05406ef Binary files /dev/null and b/images/speakers/nabil-hassein.png differ diff --git a/images/speakers/nat-alison.png b/images/speakers/nat-alison.png new file mode 100644 index 0000000..ea6b0a1 Binary files /dev/null and b/images/speakers/nat-alison.png differ diff --git a/images/speakers/natalia-margolis.png b/images/speakers/natalia-margolis.png new file mode 100644 index 0000000..99d066c Binary files /dev/null and b/images/speakers/natalia-margolis.png differ diff --git a/images/speakers/nathan-kiesman.png b/images/speakers/nathan-kiesman.png new file mode 100644 index 0000000..12dab95 Binary files /dev/null and b/images/speakers/nathan-kiesman.png differ diff --git a/images/speakers/nicholas-carlini.png b/images/speakers/nicholas-carlini.png new file mode 100644 index 0000000..cf46366 Binary files /dev/null and b/images/speakers/nicholas-carlini.png differ diff --git a/images/speakers/nick-doiron.png b/images/speakers/nick-doiron.png new file mode 100644 index 0000000..c425f01 Binary files /dev/null and b/images/speakers/nick-doiron.png differ diff --git a/images/speakers/nick-sullivan.png b/images/speakers/nick-sullivan.png new file mode 100644 index 0000000..74fab76 Binary files /dev/null and b/images/speakers/nick-sullivan.png differ diff --git a/images/speakers/nick-sweeting.png b/images/speakers/nick-sweeting.png new file mode 100644 index 0000000..2969a4f Binary files /dev/null and b/images/speakers/nick-sweeting.png differ diff --git a/images/speakers/nicole-he.png b/images/speakers/nicole-he.png new file mode 100644 index 0000000..bde11a1 Binary files /dev/null and b/images/speakers/nicole-he.png differ diff --git a/images/speakers/omar-shehata.png b/images/speakers/omar-shehata.png new file mode 100644 index 0000000..8396152 Binary files /dev/null and b/images/speakers/omar-shehata.png differ diff --git a/images/speakers/patrick-stefaniak.png b/images/speakers/patrick-stefaniak.png new file mode 100644 index 0000000..9125625 Binary files /dev/null and b/images/speakers/patrick-stefaniak.png differ diff --git a/images/speakers/paul-frazee.png b/images/speakers/paul-frazee.png new file mode 100644 index 0000000..327ba18 Binary files /dev/null and b/images/speakers/paul-frazee.png differ diff --git a/images/speakers/paul-khuong.png b/images/speakers/paul-khuong.png new file mode 100644 index 0000000..9f3167f Binary files /dev/null and b/images/speakers/paul-khuong.png differ diff --git a/images/speakers/paul-pollack.png b/images/speakers/paul-pollack.png new file mode 100644 index 0000000..adcc162 Binary files /dev/null and b/images/speakers/paul-pollack.png differ diff --git a/images/speakers/pawel-marczewski.png b/images/speakers/pawel-marczewski.png new file mode 100644 index 0000000..f84d5aa Binary files /dev/null and b/images/speakers/pawel-marczewski.png differ diff --git a/images/speakers/payas-rajan.png b/images/speakers/payas-rajan.png new file mode 100644 index 0000000..6d88286 Binary files /dev/null and b/images/speakers/payas-rajan.png differ diff --git a/images/speakers/persa-zula.png b/images/speakers/persa-zula.png new file mode 100644 index 0000000..5dd08c8 Binary files /dev/null and b/images/speakers/persa-zula.png differ diff --git a/images/speakers/peter-boothe.png b/images/speakers/peter-boothe.png new file mode 100644 index 0000000..cac4cb2 Binary files /dev/null and b/images/speakers/peter-boothe.png differ diff --git a/images/speakers/peter-sobot.png b/images/speakers/peter-sobot.png new file mode 100644 index 0000000..f201181 Binary files /dev/null and b/images/speakers/peter-sobot.png differ diff --git a/images/speakers/phil-salvador.png b/images/speakers/phil-salvador.png new file mode 100644 index 0000000..2ab14bb Binary files /dev/null and b/images/speakers/phil-salvador.png differ diff --git a/images/speakers/pokey-rule.png b/images/speakers/pokey-rule.png new file mode 100644 index 0000000..45e1451 Binary files /dev/null and b/images/speakers/pokey-rule.png differ diff --git a/images/speakers/polina-giralt-and-anita-mehrotra.png b/images/speakers/polina-giralt-and-anita-mehrotra.png new file mode 100644 index 0000000..bd93b84 Binary files /dev/null and b/images/speakers/polina-giralt-and-anita-mehrotra.png differ diff --git a/images/speakers/pranshu-bajpai.png b/images/speakers/pranshu-bajpai.png new file mode 100644 index 0000000..97a84c4 Binary files /dev/null and b/images/speakers/pranshu-bajpai.png differ diff --git a/images/speakers/quinn-dombrowski.png b/images/speakers/quinn-dombrowski.png new file mode 100644 index 0000000..f7117ac Binary files /dev/null and b/images/speakers/quinn-dombrowski.png differ diff --git a/images/speakers/rafik-draoui.png b/images/speakers/rafik-draoui.png new file mode 100644 index 0000000..4a09d45 Binary files /dev/null and b/images/speakers/rafik-draoui.png differ diff --git a/images/speakers/ramsey-nasser.png b/images/speakers/ramsey-nasser.png new file mode 100644 index 0000000..06257f4 Binary files /dev/null and b/images/speakers/ramsey-nasser.png differ diff --git a/images/speakers/richard-harrington.png b/images/speakers/richard-harrington.png new file mode 100644 index 0000000..1da1c89 Binary files /dev/null and b/images/speakers/richard-harrington.png differ diff --git a/images/speakers/richard-schneeman.png b/images/speakers/richard-schneeman.png new file mode 100644 index 0000000..2429975 Binary files /dev/null and b/images/speakers/richard-schneeman.png differ diff --git a/images/speakers/rob-jefferson.png b/images/speakers/rob-jefferson.png new file mode 100644 index 0000000..a3ea4fb Binary files /dev/null and b/images/speakers/rob-jefferson.png differ diff --git a/images/speakers/robyn-speer.png b/images/speakers/robyn-speer.png new file mode 100644 index 0000000..1c787fb Binary files /dev/null and b/images/speakers/robyn-speer.png differ diff --git a/images/speakers/rocky-kev.png b/images/speakers/rocky-kev.png new file mode 100644 index 0000000..512f9ef Binary files /dev/null and b/images/speakers/rocky-kev.png differ diff --git a/images/speakers/ruchir-khaitan.png b/images/speakers/ruchir-khaitan.png new file mode 100644 index 0000000..c3b02af Binary files /dev/null and b/images/speakers/ruchir-khaitan.png differ diff --git a/images/speakers/sacha-sayan.png b/images/speakers/sacha-sayan.png new file mode 100644 index 0000000..ba33fe2 Binary files /dev/null and b/images/speakers/sacha-sayan.png differ diff --git a/images/speakers/samy-al-bahra.png b/images/speakers/samy-al-bahra.png new file mode 100644 index 0000000..266ead0 Binary files /dev/null and b/images/speakers/samy-al-bahra.png differ diff --git a/images/speakers/sara-farquharson.png b/images/speakers/sara-farquharson.png new file mode 100644 index 0000000..9873e5f Binary files /dev/null and b/images/speakers/sara-farquharson.png differ diff --git a/images/speakers/sarah-withee.png b/images/speakers/sarah-withee.png new file mode 100644 index 0000000..f1fc389 Binary files /dev/null and b/images/speakers/sarah-withee.png differ diff --git a/images/speakers/sasha-laundy.png b/images/speakers/sasha-laundy.png new file mode 100644 index 0000000..fd06bd2 Binary files /dev/null and b/images/speakers/sasha-laundy.png differ diff --git a/images/speakers/scott-vokes.png b/images/speakers/scott-vokes.png new file mode 100644 index 0000000..071edb2 Binary files /dev/null and b/images/speakers/scott-vokes.png differ diff --git a/images/speakers/sher-minn-chong.png b/images/speakers/sher-minn-chong.png new file mode 100644 index 0000000..2aac5f0 Binary files /dev/null and b/images/speakers/sher-minn-chong.png differ diff --git a/images/speakers/simon-sapin.png b/images/speakers/simon-sapin.png new file mode 100644 index 0000000..d0c14c7 Binary files /dev/null and b/images/speakers/simon-sapin.png differ diff --git a/images/speakers/sina-bahram.png b/images/speakers/sina-bahram.png new file mode 100644 index 0000000..6ac4833 Binary files /dev/null and b/images/speakers/sina-bahram.png differ diff --git a/images/speakers/sophie-deziel.png b/images/speakers/sophie-deziel.png new file mode 100644 index 0000000..4b737c6 Binary files /dev/null and b/images/speakers/sophie-deziel.png differ diff --git a/images/speakers/stephen-tu.png b/images/speakers/stephen-tu.png new file mode 100644 index 0000000..242b41a Binary files /dev/null and b/images/speakers/stephen-tu.png differ diff --git a/images/speakers/sumana-harihareswara.png b/images/speakers/sumana-harihareswara.png new file mode 100644 index 0000000..7c725b0 Binary files /dev/null and b/images/speakers/sumana-harihareswara.png differ diff --git a/images/speakers/sven-dahlstrand.png b/images/speakers/sven-dahlstrand.png new file mode 100644 index 0000000..e52fd58 Binary files /dev/null and b/images/speakers/sven-dahlstrand.png differ diff --git a/images/speakers/taeyoon-choi.png b/images/speakers/taeyoon-choi.png new file mode 100644 index 0000000..339a6ae Binary files /dev/null and b/images/speakers/taeyoon-choi.png differ diff --git a/images/speakers/tamas-kadar.png b/images/speakers/tamas-kadar.png new file mode 100644 index 0000000..cac8064 Binary files /dev/null and b/images/speakers/tamas-kadar.png differ diff --git a/images/speakers/tara-vancil.png b/images/speakers/tara-vancil.png new file mode 100644 index 0000000..4ff393a Binary files /dev/null and b/images/speakers/tara-vancil.png differ diff --git a/images/speakers/tef.png b/images/speakers/tef.png new file mode 100644 index 0000000..5f19911 Binary files /dev/null and b/images/speakers/tef.png differ diff --git a/images/speakers/tessa-alexanian.png b/images/speakers/tessa-alexanian.png new file mode 100644 index 0000000..3021e46 Binary files /dev/null and b/images/speakers/tessa-alexanian.png differ diff --git a/images/speakers/thomas-ballinger.png b/images/speakers/thomas-ballinger.png new file mode 100644 index 0000000..9dc5509 Binary files /dev/null and b/images/speakers/thomas-ballinger.png differ diff --git a/images/speakers/tim-holman.png b/images/speakers/tim-holman.png new file mode 100644 index 0000000..84d1008 Binary files /dev/null and b/images/speakers/tim-holman.png differ diff --git a/images/speakers/tom-verbeure.png b/images/speakers/tom-verbeure.png new file mode 100644 index 0000000..b8c0ab3 Binary files /dev/null and b/images/speakers/tom-verbeure.png differ diff --git a/images/speakers/travis-mcdemus.png b/images/speakers/travis-mcdemus.png new file mode 100644 index 0000000..0a68e64 Binary files /dev/null and b/images/speakers/travis-mcdemus.png differ diff --git a/images/speakers/tristan-hume.png b/images/speakers/tristan-hume.png new file mode 100644 index 0000000..5144969 Binary files /dev/null and b/images/speakers/tristan-hume.png differ diff --git a/images/speakers/uche-ogbuji.png b/images/speakers/uche-ogbuji.png new file mode 100644 index 0000000..70ee023 Binary files /dev/null and b/images/speakers/uche-ogbuji.png differ diff --git a/images/speakers/valerie-aurora.png b/images/speakers/valerie-aurora.png new file mode 100644 index 0000000..c96a759 Binary files /dev/null and b/images/speakers/valerie-aurora.png differ diff --git a/images/speakers/veena-sankaranarayanan.png b/images/speakers/veena-sankaranarayanan.png new file mode 100644 index 0000000..2dea6c9 Binary files /dev/null and b/images/speakers/veena-sankaranarayanan.png differ diff --git a/images/speakers/victor-dibia.png b/images/speakers/victor-dibia.png new file mode 100644 index 0000000..70dce52 Binary files /dev/null and b/images/speakers/victor-dibia.png differ diff --git a/images/speakers/vince-allen.png b/images/speakers/vince-allen.png new file mode 100644 index 0000000..a449fb1 Binary files /dev/null and b/images/speakers/vince-allen.png differ diff --git a/images/speakers/wade-minter.png b/images/speakers/wade-minter.png new file mode 100644 index 0000000..78a833f Binary files /dev/null and b/images/speakers/wade-minter.png differ diff --git a/images/speakers/walt-mankowski.png b/images/speakers/walt-mankowski.png new file mode 100644 index 0000000..1d6e374 Binary files /dev/null and b/images/speakers/walt-mankowski.png differ diff --git a/images/speakers/wander-hillen.png b/images/speakers/wander-hillen.png new file mode 100644 index 0000000..4c4ab3e Binary files /dev/null and b/images/speakers/wander-hillen.png differ diff --git a/images/speakers/wenting-zhang.png b/images/speakers/wenting-zhang.png new file mode 100644 index 0000000..7a0780d Binary files /dev/null and b/images/speakers/wenting-zhang.png differ diff --git a/images/speakers/wilkie.png b/images/speakers/wilkie.png new file mode 100644 index 0000000..b4b4b7c Binary files /dev/null and b/images/speakers/wilkie.png differ diff --git a/images/speakers/will-leinweber.png b/images/speakers/will-leinweber.png new file mode 100644 index 0000000..93a1469 Binary files /dev/null and b/images/speakers/will-leinweber.png differ diff --git a/images/speakers/william-woodruff.png b/images/speakers/william-woodruff.png new file mode 100644 index 0000000..d7395d9 Binary files /dev/null and b/images/speakers/william-woodruff.png differ diff --git a/images/speakers/yomna-nasser.png b/images/speakers/yomna-nasser.png new file mode 100644 index 0000000..26faa76 Binary files /dev/null and b/images/speakers/yomna-nasser.png differ diff --git a/images/speakers/zachary-kanfer.png b/images/speakers/zachary-kanfer.png new file mode 100644 index 0000000..9df86d9 Binary files /dev/null and b/images/speakers/zachary-kanfer.png differ diff --git a/index.md b/index.md index b14fae2..aff8361 100644 --- a/index.md +++ b/index.md @@ -1,77 +1,49 @@ --- -layout: default-2024 -title: The joy, excitement, and surprise of computing - !!Con 2024 +layout: default-end +title: The joy, excitement, and surprise of computing - !!Con Archive --- - -

**Quick Links:** - [Livestream](livestream.html) - · - [Venue](venue.html) + [Speakers](speakers.html) · - [Program](program.html) + [Talks*](talks.html) · - [Speakers](speakers.html) + [Events](events.html) · - [Sponsorship](sponsors.html) + [Past Sponsorships](sponsors.html) · [Conduct](conduct.html)

-

**In-person tickets are sold out, but online-only tickets are still available for the last-ever !!Con! Get yours [here](https://bangbangcon2024.ticketspice.com/tickets)!**

- -

**!!Con** (pronounced "bang bang con") **2024** is our _final_ event featuring **two days of talks** to celebrate the +

**!!Con** (pronounced "bang bang con") _was_ a yearly event featuring talks to celebrate the joyous, exciting, and surprising moments in computing.

-
-
Bruce Waggoner
-
Dawn Walker
-
Adam Solove
-
Aldís Elfarsdóttir
-
Alicia Guo
-
Amédée d'Aboville
-
blinry
-
Daniel Temkin
-
Devon Tao
-
Ivan Zhao
-
Jes Wolfe
-
Jesse Chen
-
Juan Pablo Sarmiento
-
Julian Squires
-
Liz Frost
-
Maryanne Wachter
-
Matías Lang
-
Max Kreminski
-
Nicole Tietz-Sokolskaya
-
Nolen Royalty
-
Omar Rizwan
-
Phil Warren
-
Rebecca Ravenoak
-
Richard Lewei Huang and Yufeng Zhao
-
Ryan Mast
-
Santiago Gepigon III
-
Taylor Troesh
-
Vaibhav Sagar
-
Yufeng Zhao
-
+

Check out our [Talk Archive](talks.html) for a selection of talks from past !!Cons. And check out our [Speaker Bios](speakers.html) to learn more about our amazing speakers. +

-## Save the Dates! -!!Con 2024 will be held on the weekend of August 24-25, [in the courtyard of the Baskin School of Engineering at UC Santa Cruz](venue.html), in Santa Cruz, California, United States! +## What was so great about !!Con? -It will also be livestreamed! +Here's what some of our past speakers and attendees said about us: -Check out our [program](program.html)! +> "Going to !!Con **rekindled my love of computing and changed my entire career trajectory**. Most fun I've ever had at a tech event!" +> -- [Geoffrey Litt](https://www.geoffreylitt.com/) +> +> "[@bangbangcon managed to pack **more useful info into one day than most other conferences do in 3**. And it was **10x more fun.**"](https://twitter.com/johnwittrock/status/861206986448404481) +> -- John Wittrock +> +> ["It's refreshing to **learn 30+ new things about programming in a single weekend** at @bangbangcon, even though I've been programming for so long"](https://twitter.com/pixelyunicorn/status/861690031370645504) +> -- [Melody Starling](https://melody.dev/) +> +> ["@bangbangcon was awesome! Learned a lot, met very friendly people, and **left inspired**."](https://twitter.com/bxmani/status/861400448107937792) +> -- [Bomani McClendon](https://bomani.rip/) ## How do I get updates? +We don't intend to produce any more events, but _just in case..._ + For updates on !!Con, follow [@bangbangcon@mastodon.social](https://mastodon.social/@bangbangcon), or sign up for our mailing list below. We send about four or five emails per year for important announcements about our venue, @@ -99,123 +71,39 @@ time. - - -## What's so great about !!Con? - -Here's what some of our past speakers and attendees said about us: - -> "Going to !!Con **rekindled my love of computing and changed my entire career trajectory**. Most fun I've ever had at a tech event!" -> -- [Geoffrey Litt](https://www.geoffreylitt.com/) -> -> "[@bangbangcon managed to pack **more useful info into one day than most other conferences do in 3**. And it was **10x more fun.**"](https://twitter.com/johnwittrock/status/861206986448404481) -> -- John Wittrock -> -> ["It's refreshing to **learn 30+ new things about programming in a single weekend** at @bangbangcon, even though I've been programming for so long"](https://twitter.com/pixelyunicorn/status/861690031370645504) -> -- [Melody Starling](https://melody.dev/) -> -> ["@bangbangcon was awesome! Learned a lot, met very friendly people, and **left inspired**."](https://twitter.com/bxmani/status/861400448107937792) -> -- [Bomani McClendon](https://bomani.rip/) - - - -## How do I attend? - -You can attend !!Con 2024 either [in-person](https://bangbangcon.com/venue.html) or online! - -To join us in person, you'll need to have a ticket -- [go get one](https://bangbangcon2024.ticketspice.com/tickets)! As always for !!Con, tickets are pay-what-you-want. This year, we've set a suggested ticket price of $256 -- it turns out that running an [outdoor conference](https://bangbangcon.com/venue.html) gets really expensive really quickly. If you can, please consider paying $256 for your ticket (or, if you can afford it, more, so that folks who haven't got the means can come and we can still run the event!). But *we want you at the conference regardless*, so if you can't afford $256, please register anyway and pay what you can afford! - -We're also offering [online-only tickets](https://bangbangcon2024.ticketspice.com/tickets), with a suggested donation of $8. Buying an online-only ticket will get you access to our 2024 Discord server. Discord was a popular feature of the online-only !!Cons in [2022](/2022/), [2021](/2021/), and [2020](/2020). (In-person attendees will get access to the Discord too.) - -And, as always, our live stream will be public and free for everyone, no ticket required. Watch this space for details about the live stream! - - - -## Who's sponsoring? - - - -Special thanks to [John Feminella](http://jxf.me/) for underwriting !!Con 2024! ❤️ - -Want to sponsor !!Con as an organization or individual? We're trying to set the standard for a COVID-safe and inclusive conference. If you can help out, check out our [sponsorship page](sponsors.html) and [get in touch](mailto:2024-organizers@exclamation.foundation)! - -## Who's organizing all this? +## Who organized all this? + +The !!Con organizing team consisted of a variety of individuals over the 10-year run including: -The !!Con 2024 organizing team: [Sarah Withee](https://geekygirlsarah.com/links), [Erty Seidohl](https://erty.me), [Lindsey Kuper](http://decomposition.al/), -and [Joshua Wise](https://joshuawise.com/). - -Special thanks to [Lee Pepper](https://sheerspite.ca/), who has been invaluable in providing administrative help! - -If you'd like, you can [send us some mail](mailto:2024-organizers@exclamation.foundation)! - -Organizers emeriti: [Julia Evans](https://jvns.ca), +[Joshua Wise](https://joshuawise.com/), +[Julia Evans](https://jvns.ca), [Em Lazer-Walker](https://twitter.com/lazerwalker), -[Maggie Zhou](https://twitter.com/zmagg), -[Alicja Raszkowska](https://twitter.com/mamrotynka), -[Leo Franchi](https://www.instagram.com/lfranchi), +[Maggie Zhou](https://twitter.com/zmagg), +[Alicja Raszkowska](https://twitter.com/mamrotynka), +[Leo Franchi](https://www.instagram.com/lfranchi), [Nabil Hassein](https://nabilhassein.github.io), [Alex Clemmer](https://twitter.com/hausdorff_space), -[Emily Xie](https://twitter.com/emilyxxie), -[Danielle Sucher](https://www.daniellesucher.com/), -[Kiran Bhattaram](https://twitter.com/kiranb), +[Emily Xie](https://twitter.com/emilyxxie), +[Danielle Sucher](https://www.daniellesucher.com/), +[Kiran Bhattaram](https://twitter.com/kiranb), [Ahmed Abdalla](https://twitter.com/simplyahmaz1ng), -[Dev Purandare](https://sincerely.dev), and -Jeena Lee. +[Dev Purandare](https://sincerely.dev), +Jeena Lee, + +Special thanks to [Lee Pepper](https://sheerspite.ca/), who has been invaluable in providing administrative help towards the end! Logo design by [Lea Albaugh](http://lea.zone/). -!!Con 2024 is a project of the [Exclamation Foundation](https://exclamation.foundation). +!!Con was a project of the [Exclamation Foundation](https://exclamation.foundation). ## Code of Conduct -We have a [code of conduct](conduct.html) that all !!Con participants are required to observe. +We have a [code of conduct](conduct.html) that all !!Con participants were required to observe. We'd be delighted if you wish to +use any portion of it for your own events! diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..7ddd58a --- /dev/null +++ b/netlify.toml @@ -0,0 +1,22 @@ +[build] + command = "bundle install && bundle exec jekyll build" + publish = "_site" + +[build.environment] + RUBY_VERSION = "3.3.6" + JEKYLL_ENV = "production" + +[context.production] + environment = { JEKYLL_ENV = "production" } + +[context.deploy-preview] + command = "bundle install && bundle exec jekyll build --future" + +[[headers]] + for = "/*" + [headers.values] + X-Frame-Options = "DENY" + X-XSS-Protection = "1; mode=block" + X-Content-Type-Options = "nosniff" + Referrer-Policy = "no-referrer-when-downgrade" + Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload" diff --git a/speaker-list.txt b/speaker-list.txt new file mode 100644 index 0000000..f5d36ce --- /dev/null +++ b/speaker-list.txt @@ -0,0 +1,289 @@ +(and Jonathan...) +& Anita Mehrotra +Aaron A. Reed +Aaron Levin +Aaron Wood +Adam Marcus +Adam Solove +Ahmed Abdalla +Aki Van Ness +Aki Yamada +Aldís Elfarsdóttir +Alex Clemmer (x2) +Alex Pounds +Alex Rasmussen +Alicia Guo +Alicja Raszkowska +Allie Jones +Allison Kaptur (x2) +Allison Nelson +Allison Parrish (x4) +Amédée d’Aboville +Amrita Mazumdar +Amy Cash +and Danielle Sucher +André Arko +Andreas Fuchs +Andrew Gwozdziewycz +Andrew Louis +Andrew Plotkin +Andrew Sillers (x2) +Andrew Yoon +Angie Jones +Aniyia Williams +Anjana Vakil (x4) +Anne DeCusatis +Annie Cherkaev +Anuoluwapo Karounwi +Arshia Mufti +Aruna Sankaranarayanan +Ashlee Boyer +Ashley Blewer +Ayla Myers +Ayla Myers +Ben Kuhn +Bjorn Roche +blinry +Bomani McClendon +Bonnie Eisenman +Breanne Boland (x2) +Brendan Cordy +Brendan Curran-Johnson +Bruce Waggoner +Camille Fournier +Catt Small +Char Stiles (x2) +Charles Chamberlain +Chipzel +Chloe Revery +Chloe Weil +Christian Joudrey +Colin Jones +Daisy Tsang +Dan Luu +Daniel Luxemburg +Daniel Temkin (x2) +Darius Bacon +Dasha Ilina +David Mauricio Delgado Ruiz +David Nolen +David Turner (x3) +Dawn Walker +Dawn Xiana Moon +Denise Yu +Devon Tao +Diana Liao +don-E Merson +Dylan Nugent +Ed Medvedev +Ellen Körbes +Em Lazer-Walker (x4) +Emily Nakashima +Emily Reese +Eric Weinstein +Erica Fischer +Erin Rose Glass +Evan Jones +Evy Kassirer (x2) +Ewan Dennis +Fiona Condon +Franklin Hu +Gábor Ugray +Gargi Sharma +Geoffrey Lessel +Geoffrey Litt +Guillaume Marceau +Helen Hou-Sandi +Hung Truong +Igor Wiedler +Irvin Hwang +isis agora lovecruft +Ivan Zhao +Jade Fink +Jake Levine +James Ryan +Jan Mitsuko Cash (x2) +Jason McIntosh +Jason Orendorff +Jayesh Kawli +Jean Cochrane +JeanHeyd Meneide +jenn schiffer +Jennifer Fernick +Jennifer Shin +Jennifer Wang +Jeremy Apthorp +Jeroen (Jerry) van Leeuwen +Jes Wolfe (x4) +Jesse Chen +Jessica Garson +Joel Potischman (x2) +John Feminella (x2) +Jon Williams +Jonathan Kingsley (x2) +Jordan Hendricks +Josh Bowman-Matthews +Josh Matthews +Josh Triplett +Joshua Wise (x2) +Ju Liu +Juan Pablo Sarmiento +Julia Evans (x2) +Julia Tufts +Julian Squires (x2) +Kamal Marhubi (x3) +Kamelia Aryafar +Karen Sandler +Karla Burnett +Kate Beard +Kate Compton +Kate Temkin +Katharine Berry +Katherine Ye +Kathleen Tuite +Katie Bechtold +Katie Broida +Kevin Chen +Kevin Lynagh +Kimberly Wilber +Kiran Bhattaram (x2) +Laura Kurup +Laura Lindzey +Lea Albaugh +Lee Butterman (x2) +Libby Horacek +Limor Fried +Lisa Ballard +Lisa Neigut +Lisa van Gelder +Lito Nicolai +Liz Fong-Jones +Liz Frost (x2) +Logan Williams +Lucy Zhang +Lydia Gu +Lynn Cyrin +Lynn Pepin +Mahtab Sabet +Maria Mishurenko +Mariko Kosaka +Mark Allen +Mark Dominus (x2) +Mark Jason Dominus +Mark Phillips +Mark Wunsch (x3) +Marlene Mhangami +Martin Gaston (x2) +Mary Rose Cook +Maryanne Wachter +Matías Lang (x2) +Matt Clawson +Matthew Dockrey +Max Kreminski (x2) +Max Veytsman +Melody Starling +Michael Albaugh +Michael Arntzenius (x2) +Michael Bernstein +Michael Knowles +Michael Kwan +Michael Malis (x2) +Michael Woods +Michelle Brenner +Mimi Onuoha +Mindy Preston +Misty De Méo +Molly Lloyd +Nabil Hassein +Naomi Saphra +Nat Alison +Natalia Margolis +Nathan Kiesman +Nicholas Carlini +Nick Doiron +Nick Fitzgerald +Nick Piesco +Nick Sullivan +Nick Sweeting +Nicole He +Nicole Tietz-Sokolskaya +Nolen Royalty +Omar Rizwan (x5) +Omar Shehata +Ori Bernstein +Patrick Stefaniak +Paul Frazee +Paul Khuong +Paul Pollack +Paweł Marczewski +Payas Rajan +Persa Zula +Peter Boothe +Peter Sobot +Phil Salvador +Phil Warren (x3) +Pokey Rule +Polina Giralt +Pranshu Bajpai (x2) +Quinn Dombrowski +Rafik Draoui +Ramsey Nasser +Rebecca Ravenoak (x2) +Richard Harrington +Richard Lewei Huang and Yufeng Zhao +Richard Schneeman +Rob Jefferson (x2) +Robyn Speer +Rocky Kev +Ruchir Khaitan +Ryan Mast +Sacha Sayan +Samy Al Bahra +Santiago Gepigon III +Sara Farquharson +Sarah Nguyen +Sarah Withee +Sasha Laundy +Scott Vokes (x2) +Sher Minn Chong +Simon Porter +Simon Sapin +Sina Bahram +Sophie Déziel +Spencer Alves +Stephen Tu +Sumana Harihareswara +Tabitha Sable +Taeyoon Choi +Tamás Kádár +Tara Vancil +Taylor Troesh +tef +Tessa Alexanian +Thomas Ballinger +Tiffany Tseng +Tim Holman +Tobias Bieniek +Tom Verbeure (x3) +Travis McDemus +Tristan Hume +Uche Ogbuji +Vaibhav Sagar (x4) +Valerie Aurora +Veena Sankaranarayanan +Victor Dibia +Vince Allen +VJ Um Amel +Wade Minter +Walt Mankowski +Wander Hillen +Wenting Zhang +Wesley Aptekar-Cassels (x2) +wilkie +wilkie +Will Leinweber +William Woodruff +Yomna Nasser +Yufeng Zhao +Zachary Kanfer +Zack M. Davis \ No newline at end of file diff --git a/speakers.md b/speakers.md index 22a2474..cdd989b 100644 --- a/speakers.md +++ b/speakers.md @@ -1,6 +1,6 @@ --- -layout: default-2024 -title: Speakers - !!Con 2024 +layout: default-end +title: Speaker Archive - !!Con ---

@@ -20,413 +20,199 @@ title: Speakers - !!Con 2024 [Conduct](conduct.html)

-# Speakers - - - -## Keynote Talks - - -Bruce Waggoner - -### Bruce Waggoner - -**Saving Voyager 1!** - -Both of the 47 year old Voyager spacecraft are currently in interstellar space and returning their most important data set; in-situ measurements of the magnetic field, plasma and dust beyond the Heliopause. In late 2023, Voyager 1 lost all downlink telemetry and the flight team had essentially no visibility into the state of the spacecraft which is over 15 billion miles from the Earth. This talk will detail how the flight team diagnosed the problem, and formulated a recovery plan to patch the Flight Data System flight software. - -**Bruce Waggoner** is the Mission Assurance Manager at NASA Jet Propulsion Lab/Caltech. He graduated from the University of Nebraska with a BS in Physics and Astronomy. He has worked at JPL for 39 years supporting dozens of Earth orbiting and deep space missions. He also volunteers as a gymnastics coach and assists teaching girls engineering and science at a local high school. - ---- - - -Dawn Walker - -### Dawn Walker - -**Let’s make local and accountable tech!** - -Over the past decade I have tried lots of things to build and own computing and networks with others! I have written collective speculative fiction about a future web, made a kit to talk to your neighbours to share your internet, stewarded distributed public data, and more. Some of those projects have succeeded and some have failed. My trick is to act like the future of computing that I want already exists in the world and I get to hang out there. I will talk about why that future should be more local, how I bring it into the present, and ways to build tech together! - -**Dawn Walker** is a researcher and designer interested in how computing intersects with just transitions. She has started a tech worker co-op, participated in community-led archiving of environmental and climate data, and schemed about mesh networking (to name a few things) in her attempts to create alternatives to existing ways of building and stewarding technology. Since 2017 she has co-organized Our Networks, a conference about the past, present, and future of building our own network infrastructures hosted in Toronto and Vancouver. - ---- - -## Lightning Talks - - - -### Adam Solove - - -Adam Solove - -**Recreating Sketchpad, the first GUI!** - -Sketchpad was the first computer program with a graphical user interface, allowing a human and a computer to build a drawing together using a monitor and pointer. It was also a surprisingly deep program, allowing the user to create reusable templates, copy/paste, and specify constraints for the computer to enforce. Even though it’s a hugely influential program, for several decades, it’s only been visible in grainy old videos. So I made a recreation of Sketchpad that runs in the browser and anyone can play with. Along the way, I learned a lot about reading old papers, how IO worked on early computers, and the history of Sketchpad’s influence on later programming environments and UIs. Come learn about Sketchpad, see it in action live, and learn how it can help us make better UIs today. - -**Adam** has been building UIs for twenty-five years. He likes explaining things with pictures. - ---- - -### Aldís Elfarsdóttir - -**Huggable Data! Making the Ephemeral Last Longer with Textile Dataviz!** - - -Aldís Elfarsdóttir - -Computers and data are closely intertwined: we use computers to capture and create and analyze data, and often to generate visualizations of that data. The things we enjoy -- and hate -- doing on computers are backed by data files. It's difficult to imagine computers without data, and data without the context of the modern computer. Yet, humans have been keeping track of data (or at least, information that could be transformed into data) for millennia prior to the invention of the computer. As fragile as these historical materials can be, they are in most cases easier to preserve than our computer-generated data. Maintaining digital data takes a great deal of time, attention, care, and resources -- and most of us aren't doing it for the data we care about. For some kinds of textual data (e.g. favorite pieces of fanfic, important emails) printing it out is a reasonable approach, but printing out large tabular data sets can maintain the fidelity of individual values, but this is unwieldy to the point of unusability. It renders inaccessible, in many cases, what makes a data set interesting. Enter textile data visualization: transforming data into a medium with a longer probable lifespan than bits. Moreover, a textile can be hung on a wall, it can be worn (to pieces), it can be cuddled with, it can be passed down across generations. Building on the earlier !!Con talk on machine knitting, this talk will draw together examples of textile data visualization -- with different kinds of data (biology, sci-fi novels, insomnia, dating app chat logs), and different textile media (digital knitting machines, weaving, embroidery, and sewing). Some visually reproduce the kinds of visualizations that computers create; others translate the data into the affordances (e.g. stitch / stitch length, warp and weft) of the textile medium. This talk will celebrate the intersection of computing, data, and textile craft, and argue that the data dearest to us deserves to live as more than bits. - -**Aldís Elfarsdóttir** (she/her) is a PhD student in Management Science and Engineering at Stanford. She studies how to manage the clean energy transition among global firms, and the challenges with self-reported data, carbon accounting, and ESG ratings. She recently had the pleasure of taking Quinn Dombrowski’s class on Data Visualization with Textiles and made a PhD dress to visualize her three data sources in dress form. - ---- - -### Alicia Guo - - -Alicia Guo - -**This is the poem that doesn’t end!! or, the poetics of RNG!** - -What does it mean for a poem to go on … forever? How does it never run out of possibilities? We’ll be exploring writing through context-free grammars and other random processes asking ourselves, what is randomness anyway? We’ll look at pre-computing forms of random generation to pseudo and true random generation to bananas, expanding our understanding of randomness as a function to something more poetic. - -**Alicia Guo is** a computational artist and poet based in Seattle, currently pursuing a PhD working on creativity support tools. Her work plays with blending the physical and digital into love letters on the internet, transforming text into interactive experiences. Her computational poems have appeared in Taper, The HTML Review, and Crawlspace. - ---- - -### Amédée d'Aboville - - -Amédée d'Aboville - -**Let's run a tiny chess neural network by hand!** - -A few years ago someone tried to learn chess _in a month_ and then play world champion Magnus Carlsen. He had the wild idea of hand running a neural network on a piece of paper during the game! This probably isn't physically possible (...he didn't win), but what's the closest we could get? This made me curious: what's the smallest neural network you could make that could be helpful for a human? What if you only had pen and paper (and maybe a lot of time), or if you had a calculator? We’ll go over the smallest possible neural nets for chess. In the era of mega NNs these will be refreshingly tiny! - -**Amédée** is a full stack software engineer from Montréal (now moving to Amsterdam!). They like growing culinary mushrooms, playing chess, and techno music. - ---- - -### blinry - - -blinry - -**Exploring the Invisible: Adventures in the Electromagnetic Spectrum!!** - -There's an invisible world around us: The electromagnetic spectrum! It's how radio, TV and Wi-Fi work. And plenty of other things, too – I wanted to learn more about it! So, in a free week in March, inspired by Vi Hart's "Make 50 of something" technique, I decided to try to find 50 things to do with a modern Software Defined Radio – a "universal" radio receiver in the form of a $30 USB dongle. Let me to take you on three adventures that happened to me that week! - -**blinry** grew up in libraries, which convinced them that it's possible to learn and understand basically everything! Their other childhood influences include a scientific German TV show with an orange cartoon mouse. Nowadays, they spend most of their time creating collaborative and educational open-source tools, or taking trains to random places. They are part of the Chaos Community, the Recurse Center, and Jugend Hackt. - ---- - -### Daniel Temkin - - -Daniel Temkin - -**Lord Zeus, defender of travelers and of those far from home, please create a function called printBeerInsideLoop with parameter n!** - -In the ELIZA effect, we temporarily read a natural language system as sentient. Usually this sentient being is subservient to us and we are in control. The Olympus programming language flips this power dynamic. Our code succeeds through the will of the gods! - -**Daniel** makes esolangs -- programming languages as experiments or self-expression -- including FatFinger, Folders, and Entropy. His blog on the subject, esoteric.codes, won the 2014 ArtsWriters.org grant from Creative Capital and was exhibited at ZKM. He has spoken on esolangs at the New Museum, SIGGRAPH, SXSW, and Media Art Histories and written for Hyperallergic and Outland. He published an aesthetic theory of the medium for Digital Humanities Quarterly in 2023. - ---- - -### Devon Tao - - -Devon Tao - -**It's alive.... IT'S ALIVE!!! Braitenberg Vehicles! (Have you ever seen an AI like this??!!)** - -AI has been getting more and more complex. Surrounded by chess robots, self-driving cars, and now Large Language Models, we begin to ask ourselves: what does it take for a machine to behave like a human? Does it take millions of parameters? Mountains of training data? - -None of the above! Introducing... Braitenberg Vehicles! These are simple, human-like robots that are made only of a couple of sensors and motors. In this talk, I will convince you that these simple components are enough to show human-like behavior, and we will get to see some Braitenberg Vehicles in action using a Braitenberg Vehicles Simulator I made! - -**Devon** is a student at Harvey Mudd College studying computer science and mathematics. Outside of computer science, they also like to write musical theater and make educational videos on their YouTube channel, [CS Professor of Fun](https://www.youtube.com/@CSProfessorofFun)! - ---- - -### Ivan Zhao - - -Ivan Zhao - -**Making Chinese Typefaces! with Components!!??!!** - -Are you stuck finding a great chinese typeface for you to use? Scared to find something that might get twitter in a fight over? This talk will teach you the basics of Chinese type systems, how to use them, and why computing and component based architecture can dramatically reduce the amount of time it takes for you to make an 8,000 character font. - -**Ivan Zhao** (he/him) is a poet, game & type designer, and web artist interested in nonlinear narratives, forms, and mechanics that reckon with digital, diasporic, and queer identity. His work interrogates individual and viewer agency. - ---- - -### Jes Wolfe - - -Jes Wolfe - -**The Astrolabe! Using modern digital computing to recreate ancient analog computers** - -For fifteen hundred years, the astrolabe was the most widely-used computing device on earth, sometimes called “the original smartphone”. They were traditionally made by hand, but I had to find out: how hard would it be to design and make one using only digital design and computer-controlled fabrication methods? - -**Jes Wolfe** is a software developer and payments engineer in Portland Oregon, whose code has almost certainly handled some of your money at some point. They spend their free time misusing technology, doing space math for astrologers, and helping their six-year-old invent new integer sequences. - ---- - -### Jesse Chen - - -Jesse Chen - -**A brief history of keyboards!** - -I love looking at early designs for inventions before a standard design emerged. You can find wild, surprising ideas in the initial explorations of a concept, like with early typewriters! While browsing those out-there designs, I was gobsmacked to find a perfectly recognizable QWERTY keyboard, and had to know more. Why? How?? Let’s walk through what I learned, and how that design survived the intervening 150 years despite inventions like electricity, computers, and Dvorak! - -**Jesse** loves learning about the world and its surprising amount of detail, how it all somehow manages to work, and how it used to work. I mean, just imagine NYC humming along in 1924 with 6 million people, 600,000 telephones that could all interconnect, and 0 electronic computers. - ---- - -### Juan Pablo Sarmiento - - -Juan Pablo Sarmiento - -**Calculating the Ideal "Sex and the City" Polycule!** - -Sex and the City, the iconic early 2000s show, depicted social life, sex, and relationships through a lens rarely seen at that time that shook society to its core. But this cultural phenomenon had one fatal flaw: it was based on the assumption that each protagonist could only end up with *one* person. I couldn't help but wonder... what if each person could be in an ethically and consenting relationship with more than one person at a time? What would the ideal polycule be? How do we even calculate that? What would the math look like? These are the questions society needs to be asking! These are the real problems VCs should be investing in! Dare I say, if we put a man on the moon we can settle once and for all who Carrie *actually* should have ended up with. It's time to disrupt polyamory. - -**Pablo** is a full stack engineer, specializing in building software for humanitarian emergencies. In his spare time he enjoys contemplating hypothetical endings to TV shows and working out the answers to questions that should have never been asked. - ---- - -### Julian Squires - - -Julian Squires - -**Backtraces in the Mirror: Stealing the Secrets of Elves and Dwarves to Perform Mad Science!!** - -While writing an unobtrusive memory profiler, I discovered I needed to reconstruct a running program's stack the wrong way around! I thought this was impossible, and it turns out I was wrong! So join me to learn about how stack unwinding works (and when it doesn't!), how to use ELF and DWARF information all wrong(!), working with uncertain information (and why!), and the value of doing things that "can't possibly work"!! - -**Julian Squires** is a lifelong programmer and eccentric layabout. He previously spoke at !!Con 2017 about "the Emoji that Killed Chrome" (!!). - ---- - -### Liz Frost - - -Liz Frost + -**Keyboarding Ain’t Easy?? What Not To Do When Building a Keyboard!!** - -I set out to build myself a custom keyboard from the ground up. So far, I have failed. But I’ve failed in some very interesting and informative ways, and I want to share them with you! Join me for a discussion of embedded programming, how hard soldering is, and my own naïveté on entering the world of hardware. - -**Liz Frost** is a computer toucher, cable organiser, and colourful equine. She lives in Vancouver, BC and works for the company that wakes you up in the middle of the night. Find her online at cohost.org/stillinbeta and ask to see pictures of her pets. - ---- - -### Maryanne Wachter - - -Maryanne Wachter - -**Riveting Insights! Bridge.watch and the State of America's Infrastructure** - -There are over 600,000 bridges in the U.S. with millions of daily crossings. While the (fortunately rare) bridge collapse will make national news, what other publicly available information is there that we can dig into the state of U.S. infrastructure? This talk will go over the development of an open source application, Bridge.Watch, for processing, cleaning, and visualizing bridge infrastructure data from the FHWA and what insights can be gained through simple queries and generating different visuals on the fly. - -**Maryanne Wachter** is a software developer and professional engineer. As a structural engineer, she's worked on landmark transit projects, long-span bridges, and various educational/cultural centers in the U.S. and Europe. She currently works as a senior software engineer at Ready.net specializing in geospatial data visualization. - - ---- - -### Matías Lang - - -Matías Lang - -**It wasn’t me, it was the cosmic rays! Blaming physics for our evil actions!** - -As we know from Murphy, everything that can go wrong will go wrong. Sometimes, a single particle close to your computer's memory will turn a 0 into 1 or vice-versa. There exist lots of examples of real-life bugs caused by this effect. Since bit-flips do occur in our devices, this means nobody can blame us if suddenly a single bit from an executable file changes! It could've been a random cosmic ray that caused the damage! In this talk, we can see how this plausible deniability comes handy to attackers: they might create sophisticated supply-chain attacks or gain persistent access to systems, just with a single bit-flip that can be explained by a physical phenomenon! - -**Matías** is an Argentinian security researcher and developer. He believes someday engineers will have the right tools and knowledge to build truly secure software. Since that hasn't occurred yet, he refuses to use many applications until their security holes get fixed. - ---- - -### Max Kreminski - - -Max Kreminski - -**Mutating Text Toward Better Nonsense?!** - -Recently, we’ve made a lot of progress in getting computational processes to generate text that makes sense. But creative processes (like storytelling and poetry-writing) often benefit more from injections of *good nonsense*. In this talk, I first briefly characterize what makes nonsense “good”, then discuss a series of three projects that take different computational approaches to the generation of high-quality nonsense: Blabrecs, a game that uses a statistical classifier to condition the generation of nonsense words by human players; Blabwreckage, a poetry machine that adapts the Blabrecs classifier to progressively mutate arbitrary source texts (either human-supplied or derived from random noise) into pronounceable nonsense poems; and Savelost, a poetry machine that aims to progressively compress a source text into a shorter and shorter micropoem while retaining as much of the original text’s meaning as possible. I conclude with a brief discussion of the architectural similarities and differences between these projects, and of what the similarities might imply about the relationship between computation, creativity, and nonsense. - -**Max Kreminski** is a researcher in artificial intelligence, human-computer interaction, and creativity, with a particular focus on the design, development, and evaluation of AI-based creativity support tools for storytelling, poetry, and game design. Currently they direct the storytelling lab at Midjourney; before that they were an assistant professor of computer science at Santa Clara University. - ---- - -### Nicole Tietz-Sokolskaya - - -Nicole Tietz-Sokolskaya - -**Programming with only exceptions!** - -We're used to programming with a lot of control flow constructs, but some languages (👀 Python...) use exceptions for control flow. What if that was *all* we had? Nicole made the poor decision to find out, and created Hurl! She will discuss what programming looks like when we eschew normal control flow, how to implement normal-feeling control flow, and some of the limitations of the existing Hurl implementation. - -**Nicole** is a Principal Software Engineer at Remesh, where she focuses on software architecture, performance, scalability, and security. Outside of work, she plays with her kids, spends too much time on computers, hangs out at the Recurse Center, and drinks tons of decaf coffee. - ---- - -### Nolen Royalty - - -Nolen Royalty - -**88 Files a Second - Running Flappy Bird inside MacOS Finder!** - -MacOS's Finder is designed for browsing files - but it's powerful enough to run Flappy Bird. Kind of. In this talk I'll cover how to get Flappy Bird running at 4 frames (and 88 files) a second in Finder - complete with a full game loop, high score tracking, and marquee banner ads. I'll start with a barely sub-1-frame-a-second prototype and walk you through the hacks I needed to productionize the game, such as: - -* Simulating a "button" inside the filesystem via a Finder-specific "last opened" timestamp -* Symlinking 44 files to their parent directories -* Stuffing emojis into filenames -* Implementing double buffering inside a Finder window via bizarre AppleScript incantations - -You'll hopefully leave with a newfound appreciation for the power of Finder and AppleScript and a better understanding of why double buffering is important for a smooth gaming experience. - -**Nolen Royalty** loves embedding games in surprising places and building experiences that connect strangers over the internet - you can find his work at . - ---- - -### Omar Rizwan - -**How to design your own microchip!!!** - - -Omar Rizwan - -Have you ever looked at your phone or laptop and wondered how it's made? The answer is that almost all of the 'technology' in it -- CPU, GPU, screen, camera, power electronics, motion sensor, radio -- is microchips that are either drawn in CAD software or coded up (in a language like Verilog), then manufactured in chip fabs. A few years ago, I took a class where I designed my own chip and got it fabricated (the resulting chips are sitting on my desk here). I'll talk about that process, how you write code to produce a chip, and how that chip actually looks up close, including how it physically looks in my hand, the 2D planar view, and a 3D view that we can fly around! - -**Omar** works on new ways to program and interact with computers. He made TabFS, a browser extension that turns your browser tabs into virtual files; Screenotate, an augmented screenshot app; and he's worked on physical computing systems at Dynamicland and Folk Computer. - ---- - -### Phil Warren - -**Images from a 1970s Typewriter!!!** - - -Phil Warren - -Let's explore the invention-in-progress of an amazing "printing machine", which re-imagines the use of a vintage typewriter, using 3d-printed custom glyphs, to type full-color(ish) images using only red and green ink- this process uses a stop-gap hack Technicolor came up with in 1927 to trick us into thinking we're using full color, as well as a hack the KGB used in the American embassy around 1981 to turn a typewriter into a rudimentary teletype machine. Now we can feed it a cypher, and a well-rendered image will spit out! The steps to get here were weirder than one would imagine- with some robotics, some elder runes, and some film history appreciation along the way! - -**Phil Warren** works in R&D in image technology, and enjoys adventures, eating things, and meeting people. Once, as a child, he swallowed a bunch of nickels, which gave him the memories and powers of those nickels. Unfortunately the nickels knew very little of the natural world, so it afforded little benefit. They weren't dimes. - ---- - -### Rebecca Ravenoak - -**Algorithmically Generated Flower Beds!! (inspired by Ancient & Modern Polychrome Textiles)** - - -Rebecca Ravenoak - -Polychrome textiles are created by overlapping and interlacing two or more colors of thread in a way that creates areas of solid and blended colors. This talk is about using that same technique (digitally) to create flowerbed textures based on a fabric structure called Crackle or Jämtlandsdräll, but this is not a technical weaving talk. It’s about creating colorful patterns that can be used in pixel art based on algorithmically generated tiles and patterns.. - -**Rebecca** is a computer programmer and artist who works with digital and physical textiles. They weave, code, bake, and garden just south of Oakland in a wacky old house full of cats and as many weird little succulents as they can grow. - ---- - -### Richard Lewei Huang and Yufeng Zhao - -**How to stop worrying and collect early web banner ads! (and make art along the way!)** - - -Richard Lewei Huang and Yufeng Zhao - -Banner ads were an important early form of advertising on the web. In 2023, we built Banner Depot 2000, an interactive archive of 22,915 Chinese- and English-language banner ads from the late 1990s and early 2000s. We believe it is the largest publicly-accessible archive of early web banner ads on the Internet! We collected the ads by scraping the Wayback Machine using a dataset of historical URLs compiled from print "Internet directory" books from that era. On Banner Depot 2000, visitors can browse, search, and view metadata about each banner ad in the archive. Additionally, they can compose "banner ad poetry" using individual frames from the banner ads in our collection. The archive provides invaluable insights into the visual and commercial culture of the early web, as well as the evolution of online advertising. In the presentation, we will talk about how the project came about, how we built the archive, how the archive can support different kinds of research, and our future plans with the archive. - -**Richard Lewei Huang** is a PhD student and critical technologist at the University of Washington studying web archiving and internet history. **Yufeng Zhao** is an artist, technologist and designer whose work addresses data, imagery/language processing, and experience design. Both Yufeng and Richard are alumni of the Interactive Media Arts program at NYU Shanghai. They formed Switcheristic Telecommunications, an artist collective focusing on assembling and presenting atypical data. - ---- - -### Ryan Mast - -**The Perfect Blend!! Reverse engineering a bluetooth protocol for better smoothies!** - - -Ryan Mast - -Have you ever gone to make a smoothie, only to have the blades spin fruitlessly while the fruit sticks just out of reach on the walls of the cup? I’ve wrestled with a “smart” blender over this and other issues on many occasions, often resorting to tossing the single serving cup to dislodge stubborn pieces of fruit. In this talk, I’ll share how I learned to reverse engineer BLE devices in order to control the exact settings used by the blender, including initial failures and how I overcame them. And in the end, we’ll create a custom blending profile for the perfect blend! - -**Ryan** is a software engineer working on open source projects to make the electric grid more reliable. His interests include software security, niche video games, and reverse engineering audio/video hardware used in live productions. - ---- - -### Santiago Gepigon III - -**It's skeuomorphin' time!! The enduring physicality of braille!** - - -Santiago Gepigon III - -I'm bothered by how "flat" computing has become for me: staring at a flat screen, typing on a flat keyboard, tapping on a flat "touch" screen—where's the physicality? Is a clicky keyboard peripheral my only saving grace? In this talk, I'll explore how braille—a tactile writing system originally designed for the visually impaired—has enriched my relationship with computing. In three stories, across three centuries, I'll show you how apparently vestigial features have been, time and time again, leveraged to give braille new life. - -**Santiago Gepigon III** claims he cares about backwards compatibility and yet he's nothing like Santiago Gepigon Sr. or Jr. Some breaking changes include: a love for k-pop, an affinity for Lisp structure editing, and a fascination with domain-specific keyboard shortcuts. - ---- - -### Taylor Troesh - -**bang! bang! he murdered math! {the musical!}** - - -Taylor Troesh - -In 1931, a lone man murdered math with two shots from a recursive revolver. The two incompleteness theorems punctured permanent holes in our once-pristine mathematical paradise. To this day, landmines lie lurking in the logical landscape. Who will protect our precious computers from inconsistency itself? A $1,000,000 bounty awaits the hero who thwarts the ghost of gunslingin' Gödel! Join us by the computational campfire for a bluegrass ballad! - -**Taylor** is mayor of [taylor.town](https://taylor.town) and certified connoisseur of crap. He tinkers with writing, learning, time, design, software, ideas, and humor. - ---- - -### Vaibhav Sagar - - -Vaibhav Sagar - -**SATisfying Answers to Difficult Questions!** - -SAT solvers have been used to find solutions to a wide variety of problems in domains such as code generation, formal verification, and scheduling. But what even are they, and how do they work?? In this talk I'll provide a brief overview of what a SAT solver is and some different approaches they use to solve problems! I hope to demystify these very useful tools and give you some insight into why and when you might want to use them. - -**Vaibhav** used to write web applications for a living. He still does, but he used to, too. When he's not doing that you can find him at the gym making sure the weight trees have equal numbers of plates on them or engaging in some ill-advised revenge bedtime procrastination. - ---- - -### Yufeng Zhao - - -Yufeng Zhao - -**Let’s find random things on the street with full-text search!** - -Imagine being able to find every “best pizza” shop sign, every "No Parking" notice, or every piece of street art in Brooklyn - without leaving your chair. In this talk, Yufeng will unveil "all texts in Brooklyn" (), a project that turns Google Street View into a searchable text database. Yufeng will walk through the process of building this full-text search engine, demonstrate interesting search results, and showcase data visualizations that reveal hidden patterns in Brooklyn's urban typography. - -**Yufeng Zhao** is an artist, technologist and designer based in Brooklyn. His work addresses data, imagery/language processing, and experience design. Through a blend of web-based projects, video works, and tangible installations, his practice explores unexpected connections embedded in our techno-cultural landscape and the interactions between humans and machines. He is a part of the Switcheristic Telecommunications (), an artist collective focusing on assembling and presenting atypical data. - ---- +# Speakers -Perhaps you would also be interested in our -[2022](2022/speakers.html), -[2021](2021/speakers.html), -[2020](2020/speakers.html), -[2019](2019/speakers.html), -[2018](2018/speakers.html), -[2017](2017/speakers.html), -[2016](2016/speakers.html), -[2015](../2015/speakers.html), -or [2014](../2014/speakers.html) speakers? +

Total entries: {{ site.data.all_talks | size }}

+ +
+ + + +
+ +
+{% assign all_talks = site.data.all_talks %} +{% for talk in all_talks %} +
+ +
+ {% for y in talk.all_years %} + {{ y }} + {% endfor %} +
+ + {% if talk.speaker_photo %} + {{ talk.author | escape }} + {% else %} + {{ talk.author | escape }} + {% endif %} + +

{{ talk.author }}

+ + + {% if talk.speaker_bio %} +
+ {{ talk.speaker_bio | markdownify }} +
+ {% endif %} +
+{% endfor %} +
+ + diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css index 20d2048..951bb48 100644 --- a/stylesheets/stylesheet.css +++ b/stylesheets/stylesheet.css @@ -39,15 +39,50 @@ hr { } #container { - background: - /* top, transparent dark purple, faked with gradient */ - linear-gradient( - rgba(68, 172, 201, 0.8), - rgba(68, 172, 201, 0.8) - ), - /* bottom, image */ - url("../images/montage.jpg"); + background: url("../images/montage.jpg"); background-repeat: repeat; + position: relative; +} + +#container::before { + content: ""; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(255, 105, 180, 0.8); + animation: rainbow-cycle 60s infinite linear; + z-index: 0; +} + +#container > * { + position: relative; + z-index: 1; +} + +@keyframes rainbow-cycle { + 0% { + background-color: rgba(255, 0, 0, 0.8); + } + 16.6% { + background-color: rgba(255, 255, 0, 0.8); + } + 33.3% { + background-color: rgba(0, 255, 0, 0.8); + } + 50% { + background-color: rgba(0, 255, 255, 0.8); + } + 66.6% { + background-color: rgba(0, 0, 255, 0.8); + } + 83.3% { + background-color: rgba(255, 0, 255, 0.8); + } + 100% { + background-color: rgba(255, 0, 0, 0.8); + } } .header h1 { diff --git a/talks.html b/talks.html new file mode 100644 index 0000000..03e0bbc --- /dev/null +++ b/talks.html @@ -0,0 +1,282 @@ +--- +layout: default-end +title: Talk Archive - !!Con +--- + + + +

Talk Archive

+ +

Total talks: {{ site.data.all_talks | size }}

+ +
+ + + +
+ + +
+
+ + +
+
+ +
+{% assign all_talks = site.data.all_talks %} +{% for talk in all_talks %} + {% if talk.youtube_link != "" and talk.youtube_link != false %} + {% assign has_video = "true" %} + {% else %} + {% assign has_video = "false" %} + {% endif %} + {% if talk.transcript != "" and talk.transcript != false %} + {% assign has_transcript = "true" %} + {% else %} + {% assign has_transcript = "false" %} + {% endif %} +
+
+ {% if talk.speaker_photo %} + {{ talk.author | escape }} + {% else %} + {{ talk.author | escape }} + {% endif %} +
+

{{ talk.title }}

+

By {{ talk.author }}

+

{{ talk.year }}

+
+
+ {% if talk.description %} +

{{ talk.description | strip_html | truncate: 200 }}

+ {% endif %} + +
+{% endfor %} +
+ +