Over the last year Sasha got way into Ramen. She’s soft boiling eggs, making her own broth, growing basil, making me take her to the best Philly spots (Hiro, 11th & Chestnut), etc. but after a lot of trial and error I think we’ve settled on a god tier ramen recipe that’s easy to make. It’s vegetarian (and I think vegan if you skip the egg).
Serves 2 people
Ingredients 2 packs of Soy Sauce instant ramen Some mushrooms Vegetable oil (Grapeseed or canola oil are fine) 2 eggs Green onion (you have some growing in your kitchen right?) Sesame seeds 2 cloves fresh garlic for mushrooms 3 cloves fresh garlic for chili oil 1 tablespoon chili powder 1 tsp red pepper flakes Trader Joe’s umami seasoning
Mushrooms Chop up the mushrooms and 2 cloves of garlic. Sautée them together in a pan with some oil and sprinkle some of the umami season in there. You won’t need a ton for the ramen, but save whatever you don’t need and use in tomorrow’s batch.
Soft boiled eggs Bring some water to a boil. Make a separate ice bath with some ice cubes and water. Carefully put in the eggs and boil for 6 minutes, then move to the ice bath for 4.5 minutes. Peel the eggs and set aside until the ramen is done. Some people think its easier to peel them under cold running water, but I don’t. If at all possible, make someone else do this for you.
Chili oil Put sesame seeds, chili powder, red pepper flakes, chopped green onion (chop with scissors), and chopped garlic in a mixing bowl. Heat a small amount of vegetable oil in a pot until it is hot, then pour into the mixing bowl. It’s magical. Stir it a little. If you want to get real fancy, add whatever else you want here, too. Ginger, basil, etc.
Ramen Make the ramen as usual, but use 3 cups of water instead of 4. Add a pinch of salt to the water. Boil the noodles for just under 3 minutes and add the seasoning packs. Split the ramen evenly into two bowls. Stir in 2-3 spoonfuls of your chili oil. Toss in some mushrooms. Cut in half your soft boiled eggs and place one in each bowl. Scissor chop more green onions on top and sprinkle more sesame seeds. Take a photo for the gram and watch the fire emoji roll in.
If it’s not salty enough, add a little soy sauce, but otherwise it should be incredible.
Thank you to everyone who helped develop this recipe, mainly Sasha, Carolyn Busa, and the InstaNoodls guy on TikTok.
Well, we’re still in year 2 of this pandemic. I feel lucky my family is vaccinated, boosted and able to fend off one covid case. But it’s still sad we haven’t returned to the world we had in 2019. I’m still hopeful we can in some ways, but things will always be different. 2021 was about adapting to new constraints and that isn’t all bad.
I never feel like I did much at the end of the year, but kind of the whole point of writing these is to remind myself I did.
2021 was a year of huge life changes. I got officially divorced on Zoom after separating in 2020 and started a new company with coworkers all over the country. I reconnected with someone and have gone on so many adventures with her already.
I feel like I’ve gotten so close with Sasha and Owen living in this small apartment and it’s been interesting to meet the people they’re becoming. They’re funny, getting straight As in school, and obsessed with anime.
These recaps are letters to my future self and I’m glad I write them every year. I wish they were more personal, but they help me remember who I was and how I got here. Here was 2021:
Carolyn Suzanne Busa
Our birthdays are just three days apart and I wrote this for her on hers: “Happy birthday to this beautiful painter, comedian, business owner, dog owner, coffee fiend, pizza rater, subway solo artist and woman from la matcha.” It’s hard to imagine this year without her and every entry below has a piece of her in it somewhere. We get a kick out of each other.
Vaccinated Vaccines were the hot item in 2021 and I got mine as soon as I was eligible. Everyone talked about their side effects like it was last night’s football. I got two doses of Moderna from Rowan and a Pfizer booster at Walgreens. Seems like boosters will be part of our lives for a few more years at least.
I broke down a little after my first vaccine realizing it was the first step to this thing being over. Didn’t think we’d have this far to go.
Impossible Meat The first time I tried Impossible Meat it was at Qdoba. It was one of the options for a burrito and I was into it. Since then at home I’ve made tacos, burritos, enchiladas, burgers, and of course my new specialty, korean beef. Trader Joe’s has the best price on it, just $5.99.
My car was destroyed First accident I’ve been in where I wasn’t driving! The Honda Civic I bought from Jen Miller a while back was wrecked when someone plowed through a fence and drove into while it was parked. The damage totaled the 19 year old car and I got a newer model that was only 12 years old.
Common Paper Holy crap I started a new company! I looooved my job at Betterment, but when Jake Stein asks you to start a new company what else are you going to say? We’re trying to create a seamless web of deserved trust between companies by standardizing and streamlining their legal documents and speed up the sales process. It’s been great so far and I love working with Jake and Lauren again, and getting to meet Garrett, Tiffany, and Stanley.
Plants I’ve never been much of a plant person. I used to have one on my desk in a styrofoam cup in 2001, but it died. Now every window in my apartment is filled with plants collecting the light and I am on a strict watering schedule. So far only one has died, but I really enjoy the kitchen usable plants like the basil, mint, and green onion.
My plant highlight of the year is nursing Ricky the Snake Plant back to health. He’s thriving and recently had a baby!
Anime I’ve always enjoyed the Studio Ghibli films, but Sasha and Owen have gotten me into some great anime such as Erased, Evangelion: Neon Genesis, Attack on Titan, and Death Note.
Peak Secondhand I’ve had a lot of jobs, but never worked retail until this year. It’s been so much fun helping Carolyn launch her store and get to work there as an intern on occasion. The pay is terrible but I’m gaining valuable experience. They did a write up about it in the Inquirer.
The business model of secondhand stores is fascinating, but it’s been even more enjoyable watching her build a brand and a following.
M1 Macbook Believe the hype. The new MacBooks with the M1 processors are faster.
Porchfest I played Collingswood Porchfest for the first time in years and it truly is the best day in town. I performed a bunch of newer songs that I haven’t played much.
Illinois Trip Saw my brother’s kids for the first time in a while, the giant world of Casey, IL, and Al Bundy’s house.
Fort Mifflin Before 2021 I never heard of Fort Mifflin and now I’ve been there twice to see Pam Selle and my new favorite DJ, Avalon Emerson.
Patco Thread I was proud of this Patco Twitter thread twitter I wrote.
Pizza Spreadsheet Carolyn and I visited 15 local jersey pizza places and ranked them. We still haven’t published the results but that’s coming, I promise.
Pocono Mountains We hiked around the “trail of doom” at the top of this mountain and Owen was afraid to use a bathroom because the drop from the seat to the tank was too much for him to handle.
Collingswood Bikeshare My mountain bike was stolen earlier this year, but I got the best bike ever from the Collingswood Bike Share. $25/year and they’ve already rebuilt major parts of it for me for nothing. (I gave an extra donation, though)
Odyssey of the Mind My virtual Odyssey of the Mind team won the regional tournament and finished 3rd in NJ, our best finish in the 6 years i’ve been a coach.
Trash Night Is it the east coast’s hottest new spot or is it just Thursday? Trash Night is finally over, but I even learned how to make my own Instagram filters for this.
Garvey Corp… sold After 95 years of independence, Garvey Corporation was acquired by a public company. I spent 10 years working there (or 15 depending on how you count it) so there are a lot of feelings wrapped into it, but I think overall it’s a good thing. I’ve seen enough bottling lines to know my dad’s legacy will be the way products are buffered in transit. His innovations will become the standard.
Asbury Park Never went to Asbury Park before, but now I’m a fan.
TV (non Anime) Queen’s Gambit Nathan for You How To with John Wilson His Dark Materials White Lotus The Americans Mare of Easttown Rewatched 5 seasons of Seinfeld with Sasha
Movies Dune Tenet Midsommar Class Action Park Woodstock ’99 Dunkirk The Many Saints of Newark The Guilty Matrix: Resurrections
Music Spotify said my number 1 song was Cotton Candy by spill tab, who we saw perform at the Fillmore Foundry. I also really enjoyed marinelli, Palo and Pan, Jack Stauber, Midnight Sister, Avalon Emerson and Sasha got me into Surf Curse. Live music was (somewhat) back in 2021 and I got to see Advance Base, Florry, Palo and Pan, spill tab, JAWNY and 1910 Chainsaw Company
I’m still eating meat, but I’ve been experimenting with Impossible Meat and I’ve made this recipe a bunch of times now and I love it. The only tough to find ingredient is the gochujang. I got mine at HMart. 3 Tbsp gochujang 3 Tbsp soy sauce 1 tsp garlic powder 1/2 tsp red pepper flakes 1 tsp sugar 2 Tbsp water 2 Tbsp rice vinegar 3 Tbsp minced ginger Touch of salt
Chopped green onion and sesame seeds for garnish
1/4 cup chopped white onion 12oz pack of impossible meat
Mix everything except onions and meat and garnishes in a mixing bowl
Sauté onion on medium heat til cooked down (2-4 minutes) and then add impossible meat.
Cook meat until brown.
Add gochujang and simmer on low heat for 2 minutes
Serve over rice with sesame seeds, green onion, and sri racha. I also like to serve mine with some sautéd green beans or edamame.
Anything I write about 2020 won’t convey how different it was from any year of our lives. I came into the year optimistic about the new decade, but 3 months in everything changed with the COVID-19 pandemic. My office closed and my team shifted to remote work. My kids are in remote school and everything we looked forward to in Spring and Summer were cancelled.
I’m getting a divorce and moved out of the house I’ve lived in for 10 years.
Every year I like to look back and reflect on the things I’ve done or enjoyed and despite this awful, isolating year, there were some good moments.
Traveling to Punxsutawney, PA for Groundhog Day Sometime in January I watched Groundhog Day with the kids and Sasha pounded her fist on the table and said “let’s go” so we drove 273 miles to Punxsutawney and stood outside in the cold for 4 hours to see Phil emerge. It was the best thing I did all year.
Hosting Alberto Cairo for the Philadelphia Data Visualization Meetup We invited one of my favorite authors and dataviz experts to talk about his book and he was all set to fly to Philadelphia from Miami, but COVID forced this to be a virtual event. We had a great time anyway and hope to be back with more dataviz events in 2021.
Hosted a Dataviz Meetup at Drexel Our last in-person Philly Data Visualization event was at Drexel and we hosted some great speakers such as Ben Kates of Compass Red, Marieke Jackson of Code for Philly, and Pulitzer Prize winner Nathaniel Lash of the Philadelphia Inquirer (now NYT)
Watched an absolute ton of TV DARK ALLLL of Portlandia The Boys Lovecraft Country What We Do in the Shadows Halt and Catch Fire The Mandalorian Clone Wars I May Destroy You Finally finished The Leftovers The Americans Electric Dreams
Took a lot of selfies You can watch my hair and beard grow as the days fly by. I think I only had one haircut in 2020.
Played some Dungeon World Before quarantine we had an irregularly scheduled RPG group that became a weekly thing via Zoom. We usually play Dungeon World, a simplified D&D type game where I assume the role of Yegg the Thief, an upperclass outcast who takes what he wants and occasionally performs incredible feats of agility.
Competed in the virtual Odyssey of the Mind World Finals Our the tournament was cancelled just days before we were supposed to compete, but my Odyssey of the Mind team participated in a virtual world finals. It was fun, but not as much as competing in person. I’ve been coaching a lot of these kids for 5 years now, including Sasha, and this was the best solution they’ve come up with so far. It’s disappointing the judges didn’t get to see the tale of con-artist Judy the Sloth Lady in person. I was so proud of them.
Raised over $1000 At the start of the pandemic I noticed sales of Kids Dungeon Adventure going up and I felt bad about profiting from the awful situation everyone was in, so I created a coupon to allow anyone to download it for free and pledged to donate any sales to a local food bank. Many people still paid for it, as the charts below show. In 2020 we donated over $1000 to the FoodBank of South Jersey which does contactless delivery of food for families in need.
Helped get rid of Donald Trump I spent more time and donated more money than any campaign season ever. Participating in Vote Forward was a lot of fun and felt more impactful than just tweeting about it.
Went to San Diego I almost can’t believe that I went to California in 2020 for a few days. San Diego has always been on my list of cities to visit and it was beautiful.
Had a crazy night in Queen Village Just read this thread.
Movies The Lure Disaster Artist Knives Out Parasite Ex Machina Another Earth Rise of Skywalker Us Portrait of a Lady on Fire Vice Jodorowsky’s Dune The Lighthouse
Music Hanna by Lomelda Everybody Works by Jay Som Microphones in 2020 by The Microphones Nocturnes No 9 by Chopin The Barrel by Aldous Harding
CSV stands for comma separated values and it’s the most common data format for flat, structured data. This post is about a tool called csvkit that makes working with them easier.
csvkit isn’t just one program, its a collection of tools. I use in2csv and csvsql a lot, so I’ll talk about them first.
Convert json to csv. Use in2csv somedata.json > somedata.csv and it will create a csv with a header row based on the properties in the json object. If you need to go the other way, use csvjson somedata.csv > somedata.json.
Query your csv file like it’s a database. Maybe you want a local postgres instance, but I don’t. The one thing that tripped me up with this in the beginning was not knowing it used SQLite under the hood. Some of the SQL syntax is peculiar if you’re used to mysql or postgres. Doing your csv data transformations in SQL has a lot of advantages to to doing them in excel or code. csvsql --query " select message as text, created_at from messages order by created_at desc " messages.csv > tidy_messages.csv As I mentioned in my pipeline post, stick this command in a file and execute it with bash.
Date operations in csvsql. Let’s say you want to calculate the number of days between two dates, such as the number of days it took to merge a pull request. You can do this. csvsql --query " select id, created_at, merged_at, julianday(merged_at) - julianday(created_at) as days_to_merge, strftime('%Y-%W', merged_at) as year_week from pull_requests " pull_requests.csv > tidy_pull_requests.csv
What is this julianday function? From the docs: The SQLite julianday function takes a date, allows you to apply modifiers and then returns the date as a Julian Day. A Julian Day is the number of days since Nov 24, 4714 BC 12:00pm Greenwich time in the Gregorian calendar. The julianday function returns the date as a floating point number.
strftime is how dates are transformed or truncated. In this case, ‘%Y-%W’ gives you the week number of the year.
Combine a bunch of csv files together. When I wrote Haram Baby I found the data for the most popular babynames in each year, but it was spread out over 138 files, one for each year. They all used the same format and writing a script to combine them wouldn’t be too hard, but csvstack makes this easy. The command below combines 10 csvs from 2010 – 2019 into one file.
The -g modifier adds the filename to the column, so you can figure out which year it came from. This command is great if the files all use the same schema, but if they don’t there’s even a command for merging similarly constructed csv files called csvjoin. I haven’t used it yet.
Quickly remove columns. The baby name data broke the lists down by gender and I wanted to remove and reorder them, so the first step was to look at the columns in my new huge dataset.
csvcut -n baby_names_1880_2018.csv 1: year 2: rank 3: name 4: gender 5: total
The command below removes the rank and gender, which we won’t need because we’ll be re-ranking them. If all you need to do is remove columns, this is easier than writing sql.
I did a lot in 2019, but it doesn’t always feel that way. I felt lonely, but made 100+ new friends. I didn’t ship enough side projects, but I started a new job and hired a bunch of people. I didn’t travel that much, but I gave a talk in Asia and went to New York 60+ times.
I reflect on the year to counteract that feeling.
Sasha turned 13 and people have always said, “oh just wait until she’s a teenager!” as if having an antagonistic relationship is a given for parents and teens. It’s clear to me now that this attitude lies in the insecurities of the parents, not the kids. We still get along great.
Sasha wrote a 30,000 word book, acted in multiple plays, and is crushing middle school. Owen grew his hair out, started a YouTube channel, and is crushing me in in Mario Kart. It’s fun to watch them grow independent identities.
Here’s my 2019:
I took a month off
I’ve never taken more than 2 consecutive weeks since I started working. I could have used another month, but having the luxury and privilege to take time off before starting at Betterment was great. I painted the inside of my house, had lunch at Mama’s Falafels, got coffee with everyone, finished The Wire, saw the Liberty Bell, hung out at Indyhall, and more.
In February I joined Betterment for Advisors as a senior engineering manager and began recruiting. We added 4 engineers and a designer, and successfully rolled all the engineers from the NY team onto other projects. By the end of 2019 we’ll have 22 people working in the sparkling new Philadelphia office.
This was what I set out to do but to look back and see that it happened is a trip. I’ve learned a lot of Ruby on Rails, leveled up my SQL, and already shipped a few features.
It’s still surreal to me that I got on a plane and flew to South Korea for 13 hours, gave a talk at a data conference, and then flew home in the same week. My first trip to Asia was successful.
I didn’t make too many new charts, but the ones I did make were fun. I gave one of my best talks this year at Data Jawn 2019 and showed some of these.
I became obsessed with making pizza. Prior to this, the only pizza I’d ever made were from Boboli crusts or on top of an English Muffin. Using Joe Beddia’s, Pizza Camp, I made 15 pizzas and I think they started getting good by around #7.
It might be the dumbest thing I’ve ever made. Enter a year and the name of your baby and it tells you how popular your baby’s name was that year, but it also makes it appear as though Harambe was slightly more popular. The project uses government data from 1880 – 2018 and I mostly used bash and csvkit to construct the dataset.
Finding a Hidden Album
Like hidden treasure chest under the floorboards, I found an early album by the Blow’s Khaela Maricich on Spotify and it made me happy.
My kids are way into board games now and we played a ton of Risk Legacy, One Night Ultimate Werewolf, and Ravine, but our favorite was this beautiful game called Wingspan.
Earlier this year I watched Russian Doll and assumed it would be my favorite but then I watched The Wire, Dark, Pen15, The Dark Crystal: Age of Resistance, Watchmen, and Fleabag.
I might have watched too much TV.
Thanks to a couple of long flights I watched a ton of films this year, but my favorites were Booksmart, Her, and The Favourite.
Bands I saw live: Swearin, Mike Krol, Fuck You Tammy, and A Giant Dog. Not too many, but according to Spotify this was my favorite song of the year:
I also enjoyed Palehound, Nana Grizol, Mike Krol, Swearin, Best Friends Forever, Lomedla, Radiator Hospital, Anna McClellan, Mitski, Theo and the Get Down Stay Down, and Lizzo.
I got a 2nd tattoo, this time at Fishtown’s True Hand Society which is in a beautiful old church. I also broke down and finally got glasses so I can read after 5PM. I’ve been pleasantly surprised at how much better my mood is since wearing them.
What a year. Every week another beloved celebrity passed away and our electoral system gave us a 2.9 million vote loser as president. People I love voted for a guy who bragged about sexually assaulting women, thinks climate change is a Chinese hoax, and wants to build a registry of muslim Americans.
It’s hard to talk about interesting work projects when a presidential candidate publicly called on the Russians to hack our politicians and then blamed the white house for not stopping it.
It’s seems trivial to tell you which TV shows I thought were interesting when we’re about to have a president who won’t release his tax returns and won’t properly divest his business interests. We can only assume he’ll use his position to benefit himself and his family.
But let’s do it anyway.
I read fewer books in 2016 than I have in the past few years.
The New Turing Omnibus by Alexander Dewdney
The Little Big Things by Tom Peters
Annihilation by James Vandermeer
Authority by James Vandermeer
The Good Earth by Pearl S Buck
Running: A Love Story by Jen Miller
Martian Time Slip by Philip K Dick
The Castle by Franz Kafka
Work RJMetrics was acquired last summer by Magento, so I have a new job as the engineering manager for Magento Analytics. It’s essentially the same position I had before, but our team is now improving analytics for the Magento community.
In Q1 of 2016 I worked on a project called the SQL Report Builder, which allows you to build charts directly from SQL queries. I may have built more chart builders than anyone.
Alex Kleger and I won the first ever Magento Analytics hackathon in November. We created a feature that allows customers to add new data sources without impacting their update times.
Medium is an interesting blogging tool. Sometimes I love the UI and sometimes I find it frustrating. The sparse UI reduces cognitive load and allows you to focus on writing, which feels great, but there were times when I just wanted to be able to type some html and it fought me on it. I settled for pasting it in from another site.
I don’t think I’ll continue doing it for any personal blogging. I want to own my own long form content and I think it’s important to keep your work in a place that won’t get shut down on a whim when the VC money runs out or if the parent company closes the door.
It all started as a way to try and visualize all the research my Aunt Peggy has done over the last 50 years. Using D3, I was able to build a way to search, filter and analyze thousands of family relationships in a network graph. It even lets you start at a given year and watch the family grow and connect as the years tick by.
I wanted the project to be useful, but also stand alone as art, so I kept the user interface as minimal as possible and included an option for music during play mode. If you like the music you can download it on Soundcloud. I’m happy with how it turned out. An enormous amount of gratitude goes out to Peggy Haley for doing this research over the last 50 years.
Note for anyone who is actually in the tree, I have done very little in the way of making sure this data is accurate. If you find anything incorrect, email me and I’ll try and get it fixed in the future.