Finishing things

Posted in books, games, personal at 1:23 am by wingerz

Somehow I unintentionally ended up wrapping up a lot of in-flight consumption last weekend. Kind of a strange cross-media collection of things.

Principles of Product Development Flow. Goes deep into the theory side of things, but a lot of great ideas in here, especially around looking at work queues and economics. Not the first agile development book I’d recommend reading (that would be Kanban), but maybe the second.

End This Depression Now. Trying to be less clueless about things in general.

Giants of Enterprise. Fascinating read about 7 American businessmen (Andrew Carnegie, Henry Ford, George Eastman, Charles Revson, Thomas J Watson Sr., Sam Walton, Robert Noyce) about their personalities and business acumen. I’m surprised that IBM training doesn’t have more material on Watson Sr. The last chapter, about Robert Noyce and the emergence of the Silicon Valley, is definitely worth a read for software engineer.

Chrono Trigger. Crossed off the biggest item on my SNES to-play list. I’d started it several times in the last 10 years but always lost momentum. Really enjoyed the combat and story. Felt bad that I GameFAQ’ed my way through the final bosses, but would have felt worse if I never beat the game. Still like FFVI (or rather, my memories of FFVI) better.

Archer Season 4. Meh on the season finale.

Arrested Development, seasons 1-3. Have been chipping away at this for months and wrapped it up right before Season 4 started (we’re about 2/3 of the way through).


Why I watch sports

Posted in sports at 6:04 pm by wingerz

It’s been a tough year to be a Laker fan, though I’d argue that the team as constructed, with injuries, did about as well as anyone could have hoped. By the time Game 4 against the Spurs rolled around and we were starting Darius Morris and Andrew Goudelock, it felt like a fitting ending to the season. Just wish Kobe had been out there, since there’s always a little bit of hope when he’s on the court.

But even during this trying season, I’ve still tried to carve time out of my schedule to watch a few quarters here and there and have been following the playoffs closely. Some of my work buddies see watching sports as a waste of time and really want to have nothing to do with them, but it’s still something that I really enjoy. Here are some of the reasons (mostly with examples from the past few months – obviously the examples get more compelling as you look across the past few decades).

The drama. Once in a while, something really unlikely happens, and it’s amazing. Or it’s heartbreaking. Either way, seeing something unfold live is breathtaking, and you immediately text/IM/call your friends who are also following along.

The meaning of winning. The sporting world is full of reminders that, at the end of the day, it comes down to whether you’ve won or not – it’s not about how much fun you’re having or your individual performance or anything else (though those can be nice to have). And oftentimes winning comes down to execution, which boils down to dedication, which boils down to character. Everyone playing at this level is insanely talented, but it can still be pretty easy to tell who wants to win the most. One note on Kobe – personal issues aside, his combination of talent and drive is incredible, and by playing on the US Olympic team and showing those guys what it really means to care, I think it’s made all of the top NBA players better.

The team. A team that plays well together is a work of art, a tribute to the players, coach, and management of the team. I love seeing how personalities mesh and different approaches players and coaches take to get the most out of each other. It’s also interesting to see whether coaches can take advantage of their talent or try to shoehorn players into the wrong system. Love seeing different leadership styles in players and coaches.

The market for talent. Everyone knows what everyone else makes, and that can be awkward. Drafts are especially fascinating because there’s so little information to go on (1 year of college in the NBA), interesting to see what general managers and scouts pick up on. So, in trying to put together a team that plays well together, here’s what needs to be considered: huge discrepancy in salaries, salary cap, having a fixed number of openings on the team, competition from every other team. Something always has to give.

Second-guessing everywhere, every time. The Internet is watching, all the time – in-game decisions, team moves, strategies, everything.


Financial Advice, 10 years late

Posted in finance at 7:47 pm by wingerz

I’ve never been great with financial planning. The only lesson (which, it turns out, was probably one of the most important ones) that I learned from my parents is to save a lot and spend a little. I’ve made a good number of avoidable mistakes along the way, mostly in the form of small 1-2 year experiments – working with a financial advisor and playing around with individual stocks.

Last year Andy Rachleff came to Yelp to give a talk on portfolio theory. It was the kick in the pants I needed, so I spent some time reading and getting our financial things in order. I’ve been sharing bits and pieces with some of the younger engineers that I work with, but figured it would be nice to summarize some of it for future reference. Here are a few things that I wish someone had told me to do in my first few years out of college:

  • Understand that this is important, and you’re the only one who cares. Retirement is a long way away, but you want to start planning immediately, even if your plan is to have someone else do this for you. As many books point out, the guy who is best at managing money is going to have much bigger fish to fry than your little retirement account. [Edit: Great point from Grant: once you get things set up, you can let it do its thing and check back 1-2x/year.]
  • Spend some time reading. This isn’t the sexiest material in the world, but it is interesting – most of the books cover a lot of history and psychology of investing (super-relevant given the two bubbles that I’ve already seen). There are a lot of great books to get started. “The Four Pillars of Investing” by William Bernstein is probably where I’d start (by the same author: “The Intelligent Asset Allocator”, also a good read).
  • Save, save, save. Contribute to retirement in every way you can (Roth IRA, 401k, even if there isn’t a match). These accounts give you a ridiculous amount of flexibility later on because you can, for the most part, shuffle things around without worrying about tax implications. Save and invest in addition to this if possible, but keep in mind where your investments live.
  • Understand your options. Read “Consider Your Options” by Kaye Thomas. It’s good to know about things like AMT kicking in for options that you exercise and don’t sell by the end of the year.
  • Get all of your accounts in one place. Also, that place should probably be Vanguard. Their costs are really low, and they have a lot of investing options. If your 401k isn’t with them, consider rolling it over to them when you leave your current company (I’ve done this with both of my previous 401ks).


Nintendo Thumb (from Cave Story)

Posted in games at 12:15 pm by wingerz

Finally beat Cave Story after battling the final set of four bosses for over three hours. They don’t make games like they used to; this was only one of three games over the past few years that actually required some sort of skill (the others being Donkey Kong Country Returns and Rayman Origins (of course with Rayman it was because of a stupid bug that I replayed this level repeatedly).

In any case, I was on the verge of giving up. My tolerance for unforgiving games has definitely gone down over the years, but I’m happy to have beaten this. The game is pretty unforgiving to first time players who do minimal GameFAQing: I didn’t get the best weapons in the game and also forgot to exchange my Mimiga mask back for my booster, which I think would have made the core a lot easier. Had 60 Health and 30 Missiles heading into the last bosses.

Just some notes for my future self if I ever try to pick this up again to get the best ending (very unlikely): Misery: use the machine gun, keep moving. Don’t worry too much about bats or spinning barriers, since they only do -2 damage. First doctor: stay as close as possible so you can jump over the red wavy shots, machine gun works fine. Second doctor: use missiles, watch out for him jumping and dashing. Core: beat Sue/fill up on missiles, beat Misery, use the cloud platforms to get close enough to deal damage with the swords, then switch to missiles when the Core starts shooting those huge laser balls towards the end. Also don’t forget about the life potion. I had completely forgotten that I had it.

It’s still cool to see how a game like this forces you to get better. I went from losing nearly all of my health on the first Misery to losing 2 on the last couple of playthroughs.


Fried Chicken

Posted in food, home cooking at 7:54 pm by wingerz


Last weekend I made fried chicken (3 whole chickens). I can’t find the recipe for the brine, but it was about 4 cups of buttermilk, 1/2 cup of Tobasco sauce, and 1/2 cup of Worcestershire sauce, soaked overnight. Then I followed the technique from this good ol’ Mom’s recipe, which is a really fun read (especially since I’ve had the Thomas Keller fried chicken several times, both home-cooked and at Ad Hoc.

I’d recommend cutting up the larger breast pieces in half so that they cook faster. Also, since we had all that oil lying around we made some shrimp tempera too.


Video games for busy people

Posted in games at 12:20 pm by wingerz

Unfortunately it’s hard to find time for gaming (or anything else) with a full-time job and a kid. But I’ve managed to squeeze in a few hours here and there.

The Unfinished Swan: The first 10 minutes are as creative as any game I’ve played, and I really enjoyed this game. It plays out as a children’s storybook. I don’t want to give anything away here, but this is definitely worth a play-through; I liked it better than Journey, which I’m guessing puts me in the minority.

Mighty Switch Force: Played this over the Christmas holiday and really enjoyed the challenge. It’s a puzzle-platformer with a lot of cool twists. In theory you can finish a level in a minute or two, but good luck with that.

Tales From Space: Mutant Blobs Attack: Fun, cute, short. Katamari-style eat everything with some cool game mechanics, and a ton of personality.

The Cave: Old-school LucasArts-adventure-style game set in a talking cave. The puzzles are cute. Unfortunately you have to play through the game multiple times to see all of the endings (there are 7 characters and you take 3 each time). I’m on my second play-through, and I’m already getting annoyed at having to re-do the common puzzles (each character has their own ‘level’ in the game, but there are a few common areas). If you’re pressed for time, skip the Monk. I found his level really boring.

The Legend of Zelda: Skyward Sword Ok, this isn’t a short one. My last save file clocks in at 39:59, and it took me about 14 months to complete. But at the end, I was really sad that it was over. The story and cutscenes are stronger than in any previous Zelda game, and this is one of the few games that makes use of the Wii’s motion controls in an effective way. The dungeons are gorgeous. Wish that the targeting could have been better and that they cut the weird running mechanic, but overall this may be my 2nd favorite Zelda game (after LTTP).


Photographing little ones

Posted in photos at 1:48 am by wingerz


Based on my Lightroom stats, I took over 23,000 photos last year. Some of them were good. Most of them were of my family; most of those of my two-year-old. I have a lot of terrible photos, but also some good ones. Here are a few tips.

  • Use an external flash. The lighting looks so much better, and this helps with the fact that kids are always on the move. I think that this is more important than getting a really nice lens.
  • Shoot in burst mode. Take a lot of photos. I think on average I end up with 1 ‘good’ photo out of every 7.
  • Know your camera well enough to turn it on and snap a photo within a few seconds.
  • Get a tripod. You can make fun time lapse movies and also get yourself into a few photos.
  • Make sure your partner knows how to use your camera, at least well enough to compose decently and focus correctly.
  • Embrace the craziness. My kid is totally sick of my camera now, but enjoys making funny faces. We now have some good family portraits.
  • Use bribery. Young children seem to be quite susceptible to it.
  • Focus on the eyes, especially if you’re shooting at a wide-aperture.
  • Get down on the ground to get closer to the action.
  • Don’t cut off feet. If you’ve mostly shot adults and photograph children from the same distance you may end up with some awkward photos where your kid’s feet are cut off from the photo; this can look pretty un-natural. Zoom in to get the upper body or out to get the whole body.
  • Optimize your workflow for sharing. Use a tool like Lightroom or Aperture. Dump photos often (I do it once a week), and don’t spend a lot of time on post-processing. I generally just shoot JPGs now.
  • Back up your photos. I use a NAS and back up all of my decent photos using CrashPlan.
  • Make something real with your photos – prints, albums, calendars. There are tons of great products out there for this.

As with all things, the best way to improve is to do it regularly. As for the little photo shown here, it took some luck and persistence to convince this ladybug to hang out with us for the entire 10-minute walk home and wait for me to run into the house to get my camera.


Happy Father’s Day

Posted in blog, family, personal at 12:21 am by wingerz


Most of my childhood memories of my dad are around our weekly routine. Riding with him to school in the morning, reciting poetry or quizzing him on I-ching hexagrams. Hearing the garage door open at 7pm, signaling dinnertime. Hanging out on the couch together for a bit while he read his newspaper and listened to me read Chinese before he went back to doing some work on the computer (It used to be a terminal. A real terminal.). On Saturdays we’d go hiking in the morning and have dim sum afterwards. On Sundays I’d typically accompany him to his office at Caltech. The afternoons would pass slowly, as I wanted to go home. Oftentimes I would be encouraged to work on math problems or sent to the campus library to confirm bibliographic references (physically going between the 7th, 8th, and 9th floors of the Millikan Library to look up journal article authors, volume numbers, and page numbers). Highlights of the long day would be lunch at Carl’s Jr. and half an hour of kicking a soccer ball around at the athletic fields.

But all of that comes from my memories, and these ones are the strongest because they were enforced week after week. I’m not sure what my dad was like when I was a baby but I got some clues this past year. When Camille cried, he recited Chinese poetry for her enjoyment. He mentioned being more interested in hanging out with her once she’s developed some abstract reasoning powers so that he can teach her math. He didn’t change any of her diapers.


The word routine has all sorts of negative connotations, but ours rejuvenates me. Every morning when Camille wakes up, I am the first person that she sees. I’m not sure which one of us is more excited to be there – her because she can be liberated from her crib or me because she is ready to hang out again. And then there’s the hour or so at the end of the day where we eat a leisurely dinner (Camille doesn’t dine any other way due to her small mouth and passable motor skills), romp around the family room, and read a story together.

The routine is punctuated by exhilarating miniature milestones. Yesterday Camille stood up once while she was trying to get out of my lap. I didn’t think much of it because I don’t really count something as a milestone until she is able to do it repeatedly and deliberately. Today, she kept standing up on the bed (and throwing herself backwards and forwards – we’ll have to talk to her about that), and it was awesome. We didn’t even know this was a milestone; people usually just ask “Is she walking? Is she talking?” No one mentioned the standing, but of course it makes sense in retrospect.


When my parents came to visit over the holidays, we spent an afternoon in Half Moon Bay. Camille and my dad were on the same nap schedule so we left them in the car together while my mom, Wing Ning, Cameron, and I went for a walk. After a while we got an anxious call from my dad. I heard Camille bawling in the background, undoubtedly hungry. I hurried back to the car. When I got there, my dad was holding Camille tight, expertly soothing her, and she was no longer sad.

My dad always knows a bit more than he lets on. I can imagine myself in Camille’s place in his arms over 30 years ago.


Well-done Hamburgers

Posted in food, home cooking, meat at 1:08 am by wingerz


I’m a bit embarrassed to say that after all these years I haven’t really had a go-to hamburger recipe. I think I finally found one – this one is a bit more forgiving than others since the burger stays tender even when you cook it to a well-done temperature.

Well-done Hamburgers from More Best Recipes

1 large slice high-quality white sandwich bread , crust removed and discarded, bread chopped into 1/4-inch pieces (about 1/2 cup)
2 tablespoons whole milk
3/4 teaspoon table salt
3/4teaspoon ground black pepper
1 medium clove garlic, minced or pressed through a garlic press (about 1 teaspoon)
2 teaspoons steak sauce, such as A-1
1 1/2pounds 80 percent lean ground chuck
Vegetable oil for cooking grate
6 ounces cheese, sliced (optional)
4 hamburger buns or rolls


1. Turn all burners to high, close lid, and heat until very hot, about 15 minutes. Use grill brush to scrape cooking grate clean. Lightly dip wad of paper towels in vegetable oil; holding wad with tongs, wipe cooking grate. Leave primary burner on high, turn other burner(s) to low.

2. Meanwhile, mash bread and milk in large bowl with fork until homogeneous (you should have about 1/4 cup). Stir in salt, pepper, garlic, and steak sauce.

3. Break up beef into small pieces over bread mixture. Using fork or hands, lightly mix together until mixture forms cohesive mass. Divide meat into 4 equal portions. Gently toss one portion of meat back and forth between hands to form loose ball. Gently flatten into 3/4-inch-thick patty that measures about 4 1/2 inches in diameter. Press center of patty down with fingertips until it is about 1/2 inch thick, creating a slight depression in each patty. Repeat with remaining portions of meat.

4. Lightly dip wad of paper towels in vegetable oil; holding wad with tongs, wipe cooking grate. Grill burgers on hot side of grill, covered, until well seared on first side, 2 to 4 minutes. Using wide metal spatula, flip burgers and continue grilling, about 3 minutes for medium-well or 4 minutes for well-done. Distribute equal portions of cheese (if using) on burgers about 2 minutes before they reach desired doneness, covering burgers with disposable aluminum pan to melt cheese. While burgers grill, toast buns on cooler side of grill, rotating buns as necessary to toast evenly. Serve burgers on toasted buns.


Garlicky Shrimp Pasta

Posted in food, home cooking, pasta at 1:27 am by wingerz


Served with fresh pasta, and super-garlicky. Pretty fast to make too.

Garlicky Shrimp Pasta from More Best Recipes

5 medium garlic cloves , minced or pressed through garlic press (about 5 teaspoons), plus 4 medium cloves, smashed
1 pound large shrimp (21-25), peeled, deveined, each shrimp cut into 3 pieces
3 tablespoons olive oil
Table salt
1/4-1/2 teaspoon red pepper flakes
1 pound pasta in short, tubular shapes, such as fusilli, campanelle, or mezze rigatoni
2 teaspoons unbleached all-purpose flour
1/2 cup dry vermouth or white wine
3/4 cup clam juice
1/2 cup chopped fresh parsley
3 tablespoons unsalted butter
1 teaspoon lemon juice plus 1 lemon, cut into wedges
Ground black pepper

1. Toss 2 teaspoons minced garlic, shrimp, 1 tablespoon oil, and 1/4 teaspoon salt in medium bowl. Let shrimp marinate at room temperature 20 minutes.

2. Heat 4 smashed garlic cloves and remaining 2 tablespoons oil in 12-inch skillet over medium-low heat, stirring occasionally, until garlic is light golden brown, 4 to 7 minutes. Remove skillet from heat and use slotted spoon to remove garlic from skillet; discard garlic. Set skillet aside.

3. Bring 4 quarts water to boil in large Dutch oven over high heat. Add 1 tablespoon salt and pasta. Cook until just al dente, then drain pasta, reserving 1/4 cup cooking water, and transfer pasta back to Dutch oven.

4. While pasta cooks, return skillet with oil to medium heat; add shrimp with marinade to skillet in single layer. Cook shrimp, undisturbed, until oil starts to bubble gently, 1 to 2 minutes. Stir shrimp and continue to cook until almost cooked through, about 1 minute longer. Using slotted spoon, transfer shrimp to medium bowl. Add remaining 3 teaspoons minced garlic and pepper flakes to skillet and cook until fragrant, about 1 minute. Add flour and cook, stirring constantly, for 1 minute; stir in vermouth and cook for 1 minute. Add clam juice and parsley; cook until mixture starts to thicken, 1 to 2 minutes. Off heat, whisk in butter and lemon juice. Add shrimp and sauce to pasta, adding reserved cooking water if sauce is too thick. Season with black pepper. Serve, passing lemon wedges separately.

« Previous Page« Previous entries « Previous Page · Next Page » Next entries »Next Page »