Looking back on 2018

Something I’ve been thinking about a lot lately is how for all the (terrible) posting I do online, I still consider myself a relatively private person. Knowing where I went to high school and when I graduated isn’t going to help you figure out my passwords or security question answers anyway, but I don’t mean that kind of privacy. Specifically, I avoid sharing anything that I feel could be weaponized against me and/or my family. Things like my hopes and dreams, my kids’ faces and names, the ins and outs of my relationships with friends and family. Which means I think you’ll find all of one annual introspection post from me from several years ago – I love reading them from other people and celebrating their accomplishments with them across the internet, but I generally don’t share back.

2018 was a big year for me though, and really what I’m doing right now is writing a post so that I can unpack it all for myself before deciding whether I’m comfortable sharing about it. Here we go.

Continue reading

What’s in my laptop bag, 2018 edition

Back with an update to my unapologetically-feminine tech-oriented “what’s in my bag” post. The laptop itself hasn’t changed, but the bag definitely has! All together, this weighs about 12 pounds. Previously, from May 2016.

  1. Senreve Maestra bag in blush: Kicking it off with my most major upgrade from my last post is this gorgeous leather convertible satchel. What makes it convertible? Well, the straps can be pulled through the hardware loops to go from a shoulder/crossbody bag to a backpack. It’s pretty pricey (even pre-loved, which is how I got mine), I’m not gonna lie, but if you’re like me and you like your things to be both extremely functional and look a certain way, it’s one of the very few options we have. The materials are sturdy but luxe. I don’t really know what else compares to this bag out there – aesthetically it kinda makes me think of the Céline mini belt bag, although much more functional and not $2,500.
  2. Rose gold MacBook 12″ with marble decal and color-matched rose gold keyboard cover: Some days I can feel this little 2.5 year old machine start to drag but the portability still has me hooked. I recently put on a marble decal to tone down the amount of rose gold/blush in my kit and also because I just like the way it looks. Meanwhile, the keyboard caps are starting to wear out and also the keyboard just kinda sucks anyway so I put a cover on it. It looks okay. I have to talk myself out of going to check out the new MacBook Air.
  3. Laptop sleeve: This was a random Amazon find and I have yet to see a laptop sleeve I like better. I actually really like the feature to fold the flap and use it to prop up your laptop for ventilation and a better typing angle.
  4. iPad Pro 10.5″: This is such a nice device. I don’t want to know if the new 11″ is better, I’m not upgrading 🙂 I can actually get away with doing a lot of my work on the iPad, like Slack-ing, writing docs, and doing code review. It’s also wonderful for sketching out thoughts and way easier to port around the house or take with me on day trips just in case something comes up.
  5. Apple Pencil with magnetic sleeve and cap holder: I love this device and the accessories are super helpful IMO – the cap holder keeps that tiny little cap from getting lost, and the magnetic sleeve holds it in place on the edge of the case/iPad and further prevents the thing from rolling everywhere. I also find it more comfortable to write with.
  6. Planner: This is the closest I’ve found to a layout that works for the way I work through things, short of making my own which I don’t want to do. I repurpose some of the sections as I need, although maybe it wouldn’t hurt for me to do some gratitude practice.
  7. Small unlined notebook
  8. Anker PowerCore+ 20100 USB-A+C battery pack: Crucial for charging while on the move. This one holds enough juice for a bunch of phone and iPad charges and is enough to keep my laptop running, if not charging during use.
  9. USB-A+C wall adapter: Why is it so hard to find a good high-speed USB-C and USB-A wall adapter without extra cords? I have no idea if this one is really made well or anything but my MacBook reports an very fast charge when using it and it’s nice and compact.
  10. Presentation remote: Simple but it requires a USB dongle so I should probably upgrade this to Bluetooth at some point. I don’t really walk around when I present so it’s not critical for me. I’m pretty sure Nacin had it in his possession for two years and returned it to me by sneaking it onto my home desk.
  11. Satechi USB-C hub: It’s rose gold! But also it works fine. I don’t use it very often. At my desk I have a USB-C monitor with USB ports on the back, and when I’m out and about I only really use this for presenting over HDMI.
  12. USB-C cable: I am pretty sure this is the one that came with the battery pack. Don’t think it carries data.
  13. Lightning cable
  14. Kindle Paperwhite with case: I love books and I love this case because it folds up so it can stand on its own, perfect for my favorite time to read: while eating alone. When you have small children, eating leisurely by yourself is a huge treat.
  15. Chocolate: I always need chocolate when I’m traveling, which is what I’m usually doing when I actually carry this bag. Right now I am really enjoying these dark chocolate + hazelnut bars I picked up at the grocery store, but Ritter is typically my go-to. Or if I’m in the mood for extra sugar, 100 Grand bars.
  16. Bag organizer: The last one I had was great and not all that dissimilar, but this one is definitely an upgrade. Most of the small items besides my wallets go in here (see picture at end of post), and it has a bottle holder. It also happens to match the inside of my bag very closely 🙂
  17. Pouch: I change this up sometimes, pictured is something I got from a family member so if you’re looking at it wondering “is it really…?”, no it is probably not (if you know, you know). Anyway, this is bags-in-bags-in-bags level because being organized soothes me. I like this one because it’s just the right size for more pens, but sometimes there are also pouches holding makeup or other random objects I need for that particular outing.
  18. Card cases: The black one is a slim one that I keep my main cards and a few bills in, and the orange one holds other cards that I don’t need to carry around with me for most daily activities.
  19. USB to lightning/micro-USB mini cable: I picked this up randomly at a Container Store (my happy place). I have yet to actually try it but it seems handy!
  20. USB flash drive: Sneakernet, still a handy thing.
  21. USB-C to USB-A adapter: For when a hub is overkill. This one seems to work well.
  22. 10up enameled pin: For subtle brand exposure.
  23. AirPods with case: I know it’s been said a million times now but seriously, AirPods are a magical product. I keep mine in a case because a) my spouse also has a pair and b) it adds enough grip that it stops falling out of pockets inside my bags. This case happens to glow in the dark but I don’t think I’ve ever actually needed that part. Electrical tape also makes for a cool-looking DIY grip.
  24. Regular EarPods with 3.5mm plug: For my computer, for calls or needing to listen to something in a noisy environment.
  25. Screen cleaning cloth: I absolutely cannot stand having a dirty screen.
  26. Rose gold lanyard/necklace: I got kind of annoyed at the clashing of the WordCamp blue lanyard with an outfit I was wearing and searched for “rose gold lanyard” on Amazon. I was not disappointed. Looking forward to wearing this one instead.
  27. No-slip grip hair ties: Still the only hair ties that actually stay in my hair.
  28. Bandaids: I haven’t had any shoe break in issues in a while (possibly because I spend more on them now…) but I’m a mom and I can be clumsy so they stay in my bag.
  29. Lactaid: I am even less tolerant of lactose now so there are at least two stuck inside every single bag and wallet I own. I tried a generic lactase pill for a while and it didn’t work at all, so brand loyalty it is.
  30. Compact mirror: Honestly I probably use my phone camera more for quick check ups myself but you never know when a mirror might come in handy.
  31. Mints: This is usually whatever mints I picked up at an airport or grocery store recently. Right now it’s a tin of mints from the Café Britt shop.
  32. Fresh Sugar lip balms: I carry minis of both the regular (clear) and a sheer rose tint which is very flattering. This links to a set of 6 different mini balms, which is my preferred size for my bag, but the full size ones are available alone.
  33. L’Occitane hand lotion: Love the Cherry Blossom scent, which conveniently comes in a mini.
  34. Pens and pencil: Two years later, I am still obsessed with MUJI gel pens. I usually have a black one in 0.5m, a colored one in 0.38mm, and another black one in 0.38mm tucked into the spiral of my planner. The pencil is a typical 0.7mm BIC mechanical pencil, based on its translucent glitter body I think it’s from a bulk box I bought more than 10 years ago. I haven’t yet taken to a fancy pencil, but maybe someday.
  35. 9oz Swell water bottle: I like this size for my bag, although I also have a larger size (read: taller) 10up-branded one at my desk. This particular one is the Teal Wood color. I don’t remember how I acquired it, probably one of those fancy sample boxes.
A look at my bag with everything packed inside

Making changes to a GitHub PR branch on a fork

A while back, GitHub added a setting for contributors to allow maintainers of a repo to push changes to a pull request branch of their fork. I've been doing a lot more work in GitHub recently and figured I'd document my Git process for handling pull requests where you just want to close up a couple small things in a given time frame and/or the originator isn't very responsive. IMO this makes it much easier to retain the commit history giving credit to the other person but still move existing PRs forward.

The essence of my process is to add their fork as a remote, switch to that branch, do stuff and commit, and then push to it. It's not really a whole lot, but I've found that very specific snippets come in very handy, even if they're short and straight-forward. I also don't like the instructions GitHub gives for making changes to a fork's branch. So, that gives us (using a real recent example):

If you use hub (I don't), I believe you can skip the first command as fetch will add the remote for you if it's not recognized. There's also the popular Git Extras, which has a pr command, but from what I've tested it doesn't use the actual remote branch the PR originates from even if you specify the remote, but rather the pulls/### branch GitHub makes for you. If you use (or decide to write) a Git helper that does the remote adding/fetching/checkout for you (e.g. git pr KZeni/patch-1 or even making it so that git pr ### could detect the remote fork and branch for that PR), let me know!

Food, Recipes

One-pot pressure cooker shredded beef (“barbacoa”)

A great thing about understanding the science behind cooking is that I can adapt recipes for the Instant Pot (or whichever pressure cooker, instructions below assume an electric pressure cooker) with great results. One important thing to remember is that because it's a sealed environment, you don't get much evaporation like you would with a slow cooker or traditional long braise, so you'll want to concentrate flavors and use less liquid than you might be used to. My favorite trick for this is to use Better than Bouillon paste and half or less of the usual amount of water – since the paste is reduced stock in the first place, it works out perfectly.

In this case, we had a 4 pound sirloin tip roast hanging out that needed to be used and only the morning to prep lunch, so with some taco fixings and basic, easily sourced ingredients we had amazing shredded beef "barbacoa" tacos done in about 1.5 hours with just one dirty pot (and the blender). You can also use the meat for burritos, huaraches, etc. or even just eat it in a bowl with some rice and beans.


  • 4 pounds of beef roast (sirloin tip roast, chuck roast, or you can go with brisket or short ribs if you're feeling fancy)
  • 4 chipotle chilis in adobo sauce (can adjust up or down for spice level, a small can usually has about 6)
  • 1½ tsp beef bouillon paste
  • ½ cup water
  • 6 garlic cloves, peeled
  • 1½ Tbsp ground cumin
  • 1 Tbsp dried oregano, preferably Mexican
  • 1 Tbsp salt
  • ½ tsp ground black pepper
  • ¼ tsp ground cloves
  • ¼ cup lime juice
  • 2 tsp soy sauce or fish sauce (optional, deepens flavor)


  1. Combine all ingredients except the meat in a blender or food processor and blend until smooth.
  2. Preheat the pressure cooker on the sauté setting with some oil. While it heats up, cut beef into large chunks (1½–2 inch cubes) and season with salt and pepper. Working in batches, brown all of the meat.
  3. Combine meat and sauce in the pressure cooker, seal it, and set to cook on high pressure (meat/stew setting) for 60 minutes.
  4. Allow pressure to come down naturally for about 15 minutes before releasing and opening the pot. Remove the meat to a bowl and shred with two forks; add some of the liquid with more salt if necessary to taste.

Recipe adapted from The Recipe Critic, likely originally sourced from elsewhere. I put "barbacoa" in quotes because I'm pretty sure this is not exactly traditional/authentic, but since many English speakers are familiar with the term thanks to places like Chipotle, it helps with expectations.


Recipe: Pressure Cooker Short Rib Ragù

I've wanted to try The Food Lab's pressure cooker ragù bolognese for a long time, but also wanted to have pasta with the short ribs that have been hanging out in our freezer. I made a couple of adjustments and it worked really well, so here's the modified recipe! Some notes from my own process:

  • We use an Instant Pot, which is really just an English-labeled North American version of a Chinese electric pressure cooker we'd had since 2009 (the button layout and colors are exactly the same). The Chinese one required the usage of a large and heavy transformer because of the lower household voltage here and my spouse couldn't read the buttons, so now we happily use everybody's favorite Instant Pot. If you haven't used the sauté function before, you'll get good use out of it now.
  • If you boil your pasta in the same pot you use to sauce it (a non-stick chef's pan works great for this), this whole endeavor only needs two pots.
  • I mostly guestimated amounts as I was cooking, which works out fine. This isn't really precision work, though you can't go wrong with trusting J. Kenji López-Alt all the way.
  • I use Better Than Bouillon for most chicken stock applications, so instead of mixing that into water and sprinkling the gelatin over that, I just sprinkled gelatin over a cup of water and added the bouillon paste in with the crushed tomatoes, etc.
  • I was extremely lazy slash running late yesterday so I used pre-diced pancetta and mirepoix (onion/carrots/celery). It was great.
  • We believe in the wisdom of cooking with wine you'd drink, so we used a well-rated $15 bottle of Chianti. Don't get the $7 stuff.
  • I let said wine reduce separately before adding the rest of the liquid ingredients. It's not strictly necessary, but I thought the concentrated flavor came out nicely and there was more than plenty of liquid for the pressure cooking part.
  • I apparently need a new bottle of fish sauce so I used soy sauce instead. Worcestershire would also work fine – it's that glutamate life you're after. I may also have thrown in a little bit of straight up MSG.
  • Buying fresh pasta from a local maker: always worth it.


  • 1 cup low-sodium chicken stock
  • 4 packets (1 ounce) powdered gelatin
  • 1/2 pound finely diced pancetta
  • 1 large onion, finely minced
  • 2 large carrots, finely chopped
  • 2 large stalks celery, finely chopped
  • 4 medium cloves garlic, minced
  • 1/4 cup fresh sage leaves, minced
  • 1/2 cup fresh parsley leaves, minced, divided
  • 3 pounds bone-in beef short ribs
  • 2 cups dry red wine
  • 1 14-ounce can crushed tomatoes
  • 1 1/2 cups heavy cream, divided
  • 2 bay leaves
  • 3 ounces finely grated Parmesan cheese
  • 1 to 2 tablespoons Vietnamese or Thai fish sauce
  • 1/4 cup fresh basil leaves, minced
  • 1 1/2 pounds pappardelle or tagliatelle


  1. Place stock in a 1-cup liquid measure and sprinkle with gelatin. Set aside.
  2. Heat olive oil in a pressure cooker over medium-high heat until shimmering. Brown short ribs on all sides, about 10 minutes. Set aside.
  3. Add pancetta to pot and cook, stirring frequently, until pancetta is browned and crisp, about 12 minutes. Add onions, carrots, celery, garlic, sage, and half of parsley and cook, stirring, until softened but not browned, about 8 minutes.
  4. Increase heat to high. Add wine and let reduce by half, about 10 minutes. Add stock and gelatin mixture, tomatoes, 1 cup heavy cream, and bay leaves. Nestle short ribs in the liquid. Seal and cook at high pressure (12 to 15 psi) for 30-45 minutes. Let pressure come down naturally before releasing pressure and removing lid. Remove short ribs to a cutting board.
  5. Simmer sauce over moderate heat until thick and emulsified, about 30 minutes longer. While sauce is simmering, cut the meat from the bones and any connective tissue and shred it. Add the meat back to the pot and let it finish simmering.
  6. Stir in remaining 1/2 cup heavy cream, Parmesan, fish sauce, basil, and remaining parsley. Bring to a boil, stirring constantly to emulsify. Season to taste with salt and pepper.
  7. To Serve: If sauce isn't hot, heat to a simmer and set aside. Cook pasta in a large pot of well-salted water until just barely al dente. Drain, reserving 1/2 cup of cooking liquid. Transfer to a large skillet or sauteuse and add 3/4 of sauce, along with cooking water. Cook over high heat, tossing and stirring gently, until sauce is thick and pasta is coated, about 30 seconds. Transfer to a serving bowl and top with remaining sauce. Serve immediately, passing extra Parmesan at the table.


Apple Watch vs. Fitbit Charge 2

I had an Apple Watch Series 1 for about six months but switched to a Fitbit in April (Charge 2 HR, previously had an Alta) and don't think I'll be going back to the Watch. This isn't an actual review, just a quick musing on what I've found that works for me with some more details about how notifications work.

The Apple Watch generally did not help me accomplish anything that my old Alta didn't already – it did some cool things, like replying to texts and once even answering a phone call, but in reality I text relatively little and talk on the phone even less. Both helped me stop constantly missing phone calls (which are all the more important because they are rare) and texts due to my habit of leaving my phone on silent in odd places around the house because I have no pockets to tuck it into while I play with the kids.

The Fitbit, on the other hand, has live heart rate monitoring and step and sleep tracking built in, all things that actively helped me as a pregnant woman (did you know your resting heart rate is usually about 15-20 clicks faster when pregnant?) and continue to help me as I handle a baby+toddler and work on a healthier lifestyle. We also already use a Fitbit scale and occasionally track food with the Fitbit app, so there is some investment in that ecosystem to begin with. I was taken in by flashy Apple technology (and that rose gold!), but forgot what my real goals are. Now I feel like I'm back on track, and with a rose gold Fitbit, too 🙂

The biggest specific usability issues I had with the Apple Watch besides its lack of non-workout fitness tracking were battery life and notifications, with bulkiness and random shutdowns also annoying me. Meanwhile, the only things I miss about it are reminder notifications and pinging my frequently-misplaced phone, with the latter mitigated by having a Tile Slim.

Notifications are probably the thing with the most nuance and affect more people, so I've thought about them quite a bit. My preferred setup seems to be a little different from most people I've observed, though. I personally like being able to see/read through notifications without having to hear or feel them in real time – the only notifications I've allowed to make sounds/vibrations for the last 8 years have been phone calls, texts, calendar events, and reminders. Other notifications turn the screen on with the banner, but otherwise don't disturb me. When I'm working or idling, I often have my phone next to me face-up, where I can glance at it when I want to for any notifications (typically just email, Slack, and Twitter for me – I aggressively prune back notifications in general). If I need to keep my phone nearby but I'm trying to focus or with family/friends, I put it face-down.

The Apple Watch only shows notifications in one place. This makes sense in that having two (or more) devices buzzing can be aggravating, but for silent notifications this is pretty silly and rather inconvenient for non-silent notifications with your phone unlocked. Also, they haven't solved this for iMessage syncing so when I'm on my computer it's still multiple pings anyway.

There were two common scenarios that made this unworkable for me. First, if you have silent notifications going to your watch, they do not light up your phone screen, and the watch doesn't display anything unless you raise your wrist. Since those are silent notifications, they don't buzz, so I don't know to look at my wrist. I started falling behind on my work email because I had come to rely on my phone as a semi-passive notification system for all emails. The fix? Stop sending any silent notifications to my watch, at which point they lit up my phone again. (Desktop notifications don't cut it as a replacement – I do a lot of work from my phone.) Which meant that I couldn't scroll through them on my watch if I left my phone elsewhere.

Second, is that if you left your phone unlocked for, say, map navigation or kids playing Endless Alphabet, the notification banner would only be displayed there and not alert the watch. This led to me missing urgent changes a number of times when going somewhere (e.g. "you left his bag at home") because I don't feel/hear the vibration and can't stare at the unlocked screen the whole time. I believe the watch would still receive the notification so you could scroll to see it in the notification center, and you could open the entire app to check, but you would not receive a haptic alert or be able to just lift your wrist to see it. I tried to get in the habit of turning my phone off silent during those situations, but then would forget to switch it back, and it didn't solve being able to see messages privately at a glance.

The Fitbit will only do call, text, and calendar notifications, so I do miss reminder notifications, as well as the occasional WeChat ping. Reminders can't be replaced by calendar events because calendar events don't "stick" as lock screen notifications – a reminder will typically stay there even as you unlock/re-lock your phone, which is important for me, especially since Touch ID sometimes unlocks your phone unexpectedly. But on the plus side, those notifications come through so long as your phone is also displaying them – so you can get your notifications while your kid watches a video, but they won't bug you if you're on do not disturb or have the actual text message open already. The dual buzzing does not bother me most of the time – if anything, it helps me not miss things, since the only notifications that do buzz are ones that I consider time-sensitive.

Since most people I know have non-silent notifications on for many things, like email or (the horror) Twitter, I'm not sure these concerns really come up so much. But I learned a long time ago that I'm never the only one who does something a given way, and honestly, I think it's worth trying more silent notifications in general. Passive alerts are nice, and so is the Fitbit!

P.S. If you want to know why I went with a Charge 2 instead of an Alta HR, it's because the lack of a button and inconsistent response to lifting the wrist on the Alta infuriated me. It also only displays notifications vertically, which is impossible to read. The Charge is much better in all ways except for being wider, but it's not bulky, even on my small wrist.


Music (and public school) saved my life

I read this bit on CNN earlier about a classmate of mine at the Governor’s School for the Arts. I got know him when I served as the rehearsal pianist in the cited Robert Brown’s stead for that year’s production of The Magic Flute – Ryan was one of our two Sarastros (there were two casts). Funnily enough, I remember getting into a physical altercation with somebody during a rehearsal, and I am 90% sure it was Ryan. Probably not a surprise to anybody who knew either of us.

Reading this made me think about how important caring adults, music, and public school were in saving me from myself. I grew up in a violent household without a ton of resources (though to give my dad credit he deserves, he put a lot of work into always paying for school and piano necessities), and I was a mediocre student at best. Without teachers and counselors who could read past the anger, I would probably have been bounced out of multiple schools, and who knows what would have happened then. Without the opportunity to deep dive into music studies before adulthood, I have no idea what I would have done in college and beyond, and I’ve publicly spoken about the huge impact my musical training has had on my professional success in technology.

I’ve been aware of the importance of having a program like the Governor’s School for the Arts available to me since my attendance as a high school senior. GSA is a free program that relies on a partnership with 8 surrounding public school districts for busing and admissions/school credit. Virginia Beach specifically has special programs within its regular public high schools, also with public school busing provided, so I went to a math and science academy in the mornings (well, if I bothered to get up that day) and then GSA for piano in the afternoons. Opera rehearsals were at night and I was paid for them as an actual hire, which was a very cool job for a teen. If we’d had to pay for tuition or transportation, a lot of things would have been a lot harder, and I may never have gotten to do it at all.

I think about this availability a lot as my child enters public school age in a time and place where private and charter schools are the assumed norm for a lot of my parenting peers, and I’m frequently the lone dissenting voice who continues to believe in taking part in an admittedly imperfect equalizing system. I put my kid into a charter school lottery for pre-K4 next year and was honestly rather relieved when he ended up pretty far down on the wait list. As a planner, it’s hard to wait for public school registration (which isn’t a very clear process to begin with) and there’s a lot less information out there about each specific school because they’re not trying to sell themselves, but I genuinely believe that getting to know the people around you and hopefully some people who are very different from yourself is a critical part of education. It might still turn out that the specific combination of the neighborhood school and my son doesn’t work out for whatever reason, but we have to give it a fair chance, the same way I believe that all of his peers deserve a fair chance.

Jersey City has universal pre-K which I think is critically important, so I’ll probably be volunteering at our two local pre-K4 options (regular and bilingual) to get a feel for them over the next couple of months; pre-K3 is almost all through city-contracted providers, so this year was not a local school. There’s also a progressive bent in me that wishes all parents were required to send their kids to their local public school for X period of time, because I am real tired of hearing nothing but negative talk from a bunch of yuppie parents who’ve never bothered to get to know the people or the schools directly around them. (Aside: said parents really don’t like it when you ask them if they’re sure the schools are the problem or if it’s that they’re trying to excuse their fear of unknown brown and/or “poor” people.)

Props to you, Ryan, and thanks for sharing your story. Even now as an adult, it’s comforting for me to know I wasn’t the only one, and if even one kid going through the same thing sees this and is inspired, I believe that’s some of the best success we can find.


Make Everyone Blonde Again Also

[contentcards url=””]