If there's one thing we love at Foundry, it's tech. If there are two things, they're tech and pool. The literal centerpiece of our office is our beloved pool table. At 4pm the table is open and occupied until the last of us leaves. Around the table people watch matches, inside jokes are born, designers and engineers talk through work, and yes, whisky flows. But for some pool is also a great source of pride. Beating a top player like Jason or Steven or Nils is an accomplishment and can only mean that the tides have finally turned.
No one can quite remember how Fast Eddie was born, but I like to believe that one day a top player was beat and after a proper heckling from the crowd some engineer said they could prove who was better with math.
Enter Foundry's resident elder geek and pool shark, Nick Colgan.
After some research Nick decided that the ELO rating system could provide the math, Slack could provide the interaction, and this whole thing was a great way to play with some new tech that we hadn't yet found a project for.
ELO is a rating system originally developed for Chess, but it works with any zero-sum game. Each player starts with a rating. In our case, we started everyone at 1,000. Each time a player wins or loses their number goes up or down. The genius of it is that the amount it changes is based on the opponent. So, if a lower ranked player beats a higher ranked player, their number may raise quite a bit and their opponent may lose a lot. On the other hand, if a higher ranked player beats a lower ranked player, their number may only go up a small amount and the loser won't be penalized too much for losing to a player they were predicted to lose to anyway.
So how do we make this into a thing? The basic plan was about as pragmatically "MVP" as you'd expect from a seasoned engineer. A Slack app was made to accept results of games and report the updated stats. An Elixir backend handles marshalling around the data which is stored in a Postgres database. Since ELO is a common algorithm, the math could be done on demand at pretty much any step.
Once a game is played, the victor records their win by running /report in our #billiards Slack channel. Fast Eddie asks if it was 8- or 9-ball, who the opponent was, and who won. The match is stored in the database and the updated rankings are calculated on the fly.
The Slack integration was great for getting a snapshot, but pretty quickly people wanted to see more data. So Nick turned to our favorite UI tools (React, Chart.js, etc) and built out a lovely dashboard. Interestingly, you can see when we closed our office, and when we allowed for limited numbers to return.
We wouldn't be us if we didn't sit back and ask: did this fulfil our dream? In a way, yes. We have some neat new tech to play with. All in all the system has been the very definition of stable. People can finally point at something and at least pretend that the statistics are real. But, I think most of us would agree that Nils holding the #1 spot isn't what we'd hoped for.
Year-round mountain biking on metro-area singletrack trails!
Luminary Loppet at Theodore Wirth Regional Park. An annual event as part of The Great Northern Festival, it’s a fairly magical celebration and a great way to interact with the great outdoors during winter.
One of the best parts of moving to a new city is exploring it by foot. This is the Riverwalk in Chicago.
We had no idea how to ice fish, but you only turn five once so we bundled up and had an adventure.
Our shanty was at this spot on the lake. It took us 30 minutes to drive out to it. And we almost didn’t make it because our guide was the polar vortex equivalent of a Mad Max character and he insisted driving 60 MPH. We were riding in a Prius so it was difficult to keep up.
2021 Winter (so far) has brought the following…
1. Many hours of iceskating with a shiny pink cast on the wrist of my 9 year old
2. Lots of playing fetch for our lab
3. My first time snowmobiling! (I’m hooked)
No greater way to enjoy Minnesota lakes in a new way than biking on them while frozen.
Winter geocaching is a great way to stay warm and explore favorite places around the city in a new way.
This is Benke (pronounced ben•kuh). He's a one year old rescue. He's afraid of big bags and loves cuddling on the couch.
- Travis Meyer
Kuri acts more like a dog than a cat. She once found her way into a drywall resulting in us having to cut through our wall to get her out. She has lived in several countries, and 9 different houses/apartments with me.
- Per Kvanbeck
At the first glance, he may appear a tad dopey, but once you get to know him you see that his charm is that he is a love-able lug that just wants to be a part of the pack and please his humans. Getting up there in years, you will find him asleep in whatever room the rest of his humans are in.
- Leana Stone
This pair of energetic pups love to bark at seemingly nothing. With kids around and a constant need to eat anything that hits the floor, you will often find Lou with food somewhere in his fur or Winnie with the occasional popcorn bag on her head.
- Joe De Jarnett
Here’s my cool, calm, and collected bunch. This is Nori (a Norfolk Island Pine – left), Dee (a Bird of Paradise – back), and Janet (a Dracaena Janet Craig – right). Despite their tropical roots, they seem to have adjusted nicely to their Minnesota home.
- Kelsey Schwalbach
Cabela enjoys long walks in the park, hunting for pheasants, grouse and crumbs off the floor. She can nap just about anywhere but she is a champion dock jumper. Flying through the air at the ol’ age of 10 just makes makes her feel like a young pup!
- Sarah Bruss
This is Groucho, my adopted stray cat (we checked for previous families.) He started following me while I was walking our dog. We fed him for a winter, a summer, and another winter, and only then he finally decided to let us bring him inside. This is a particularly glorious BLEP he gifted me that lasted several minutes.
- David Middlecamp
This is Jerry. I mean what else can I say? We love him and are glad he is faring well, even while at our Foundry office.
- Foundry Office
Hunter was found alone in the middle of a freeway when she was 8 weeks old. She’s a year and half old german shepherd/chow mix. She enjoys attention more than anything: from dogs, cats, people, you name it, she wants to be your friend. Her favorite toys are extra small...preferably cat toys.
- Mika Albornoz
Meet my dog. She makes no effort to help around the house, and gets depressed on car rides. Her Olympic level shedding is world renowned. When she’s not trying to get me to play instead of work, she sleeps. And sleeps. Her hobbies include barking at people we pass on walks, removing her toys from the bin and evenly distributing around my office, and tricking me into feeding her dinner twice.
- Robert Nelson
As much as I hate to admit it, he runs the house. He even has his own bedroom and sleeps all day on his queen-sized bed. When he’s awake, he wrestles with his brother, but it’s hard to tell whether or not he’s having fun. He also yells at his humans constantly for food when his bowl is clearly full. He won’t eat if he even sees a speck at the bottom of the bowl. You know, cats.
- Ashley Kim
Together with Io and Callisto (Europa's cat siblings) they almost complete the set of Jupiter's four Galilean moons. We Just need Ganymede...
- Nils Hansen
When they’re not chasing each other in circles around the apartment, Oliver enjoys sitting on laps and Rachel enjoys biting feet. Rachel uses her extra thumb to get an exceptionally good grip to scratch furniture, while Oliver prefers to serenade us in the middle of the night with a variety of his greatest hits, including “Mrreeeeww” and “Brrrrwwoowww”.
- Claudio Rivera
This is Podrick. He’s a happy, smart, and stubborn corgi with a passion for blueberries (and anything that his grandma sneaks him, really.) He prefers humans over dogs, but he’s pretty good when it comes to the ladies. In his free time, he enjoys destroying toys, harassing his brother, napping on the couch and borking at nonexistent sounds.
- Ashley Kim
No introduction required.
- Evan Kearney
This is Baymax. We have tried multiple times to grow our favorite herbs and have failed miserably... To our rescue is our new buddy, that helps us grow our herbs and vegetables. With Baymax’s help, we hope to have cilantro to add to our dinners!
- Andy Stone
Got a big idea? Let's make it happen.