FAQ Readers Redux
Another year, another HackMIT FAQ readers experiment. From May 31 to August 7, we had the following item in HackMIT’s FAQ:Like last year, the experiment wasn’t particularly scientific. We just wanted...
View ArticleValidity, Trust, and the Design of Interfaces
In secure communication schemes, there are three main goals — confidentiality, integrity, and authenticity. There are a lot of real-world software and systems out there that don’t get integrity and...
View ArticleGavel: An Expo Judging System
Gavel is an automated end-to-end expo judging system. We’ve used it to automate judging at HackMIT, a 1000-person event with over 200 projects and 100 judges. Dozens of other events have also used...
View ArticleAlgorithms in the Real World: Committee Assignment
I recently had another chance to use a fancy algorithm to solve a real-world problem. These opportunities don’t come up all that often, but when they do, it’s pretty exciting!Every year, MIT HKN has a...
View ArticleμWWVB: A Tiny WWVB Station
μWWVB is a watch stand that automatically sets the time on atomic wristwatches where regular WWVB signal isn’t available. The system acquires the correct time via GPS and sets radio-controlled clocks...
View ArticleTesting Distributed Systems for Linearizability
Distributed systems are challenging to implement correctly because they must handle concurrency and failure. Networks can delay, duplicate, reorder, and drop packets, and machines can fail at any time....
View ArticleSeashells
Seashells is a service that lets you pipe output from command-line programs to the web in real-time:$ python train.py | seashells serving at https://seashells.io/v/{random url} There’s even a netcat...
View ArticleRobust Adversarial Examples
I recently wrote a post on the OpenAI blog about how we created images that reliably fool neural network classifiers when viewed from various scales and perspectives, challenging a recent claim that...
View ArticleA Guide to Synthesizing Adversarial Examples
Synthesizing adversarial examples for neural networks is surprisingly easy: small, carefully-crafted perturbations to inputs can cause neural networks to misclassify inputs in arbitrarily chosen ways....
View ArticleLumen: Magic Auto Brightness Based on Screen Contents
I do most of my software development in my terminal, with my trusty tmux / zsh / vim setup. When coding, I frequently switch back and forth between my terminal, which has a dark background, and my web...
View ArticleFAQ Readers Redux
Another year, another HackMIT FAQ readers experiment. From May 31 to August 7, we had the following item in HackMIT’s FAQ:Like last year, the experiment wasn’t particularly scientific. We just wanted...
View ArticleValidity, Trust, and the Design of Interfaces
In secure communication schemes, there are three main goals — confidentiality, integrity, and authenticity. There are a lot of real-world software and systems out there that don’t get integrity and...
View ArticleGavel: An Expo Judging System
Gavel is an automated end-to-end expo judging system. We’ve used it to automate judging at HackMIT, a 1000-person event with over 200 projects and 100 judges. Dozens of other events have also used...
View ArticleAlgorithms in the Real World: Committee Assignment
I recently had another chance to use a fancy algorithm to solve a real-world problem. These opportunities don’t come up all that often, but when they do, it’s pretty exciting!Every year, MIT HKN has a...
View ArticleμWWVB: A Tiny WWVB Station
μWWVB is a watch stand that automatically sets the time on atomic wristwatches where regular WWVB signal isn’t available. The system acquires the correct time via GPS and sets radio-controlled clocks...
View ArticleTesting Distributed Systems for Linearizability
Distributed systems are challenging to implement correctly because they must handle concurrency and failure. Networks can delay, duplicate, reorder, and drop packets, and machines can fail at any time....
View ArticleSeashells
Seashells is a service that lets you pipe output from command-line programs to the web in real-time:$ python train.py | seashells serving at https://seashells.io/v/{random url} There’s even a netcat...
View ArticleA Step-by-Step Guide to Synthesizing Adversarial Examples
Synthesizing adversarial examples for neural networks is surprisingly easy: small, carefully-crafted perturbations to inputs can cause neural networks to misclassify inputs in arbitrarily chosen ways....
View ArticleTurning a MacBook into a Touchscreen with $1 of Hardware
We turned a MacBook into a touchscreen using only $1 of hardware and a little bit of computer vision. The proof-of-concept, dubbed “Project Sistine” after our recreation of the famous painting in the...
View ArticleGemini: A Modern LaTeX Poster Theme
Programs like PowerPoint, Keynote, and Adobe Illustrator are common tools for designing posters, but these programs have a number of disadvantages, including lack of separation of content and...
View Article