Posts

Showing posts from 2012

Push-up Challenge Update

This is a follow-up to my " 1,000,000 Push-ups " post.  Check out that post for the reasoning behind this challenge. Update on the Numbers Today is my birthday, which marks the one year mark since I started my 1,000,000 push-up challenge. My goal for the first year was to average 50 push-ups a day, and I ended up averaging a little over 51, finishing the year 455 push-ups ahead of my goal.  You can see all of the numbers on the Google Doc .  That's great, but unfortunately I was taking it easy the first year, and if I want to hit my goal of 1,000,000 push-ups by the age of 50 I have to average 112 push-ups a day for the next 24 years.  As a result I'm setting my daily goal for this year at 100 push-ups - still below where I need to be, but I'm planning on continuing to raise that number in future years, which will allow me to catch up.

Learning Strategies for Engineers - Part 2

Image
In part 1 of this series I covered some strategies for building your technical skills as an engineer.  Part 2 is going to be more about soft skills and improving personal relationships.  Let's get into it. Use GTD or Some Other System: Getting Things Done is a personal management system that allows you to keep track of all your commitments, and "close the loop" on tasks you personally have to do as well as tasks that you have delegated to others.  The primary goal is to boost productivity, but just as important is the goal to relieve  stress by making you secure in the knowledge that all of your responsibilities are under control. GTD centers around this flow chart for processing incoming items:

Learning Strategies for Engineers - Part 1

Image
In my last weeks at Wayfair I gave a series of talks titled "Learning Strategies for Engineers" that were designed to kick off a peer to peer training program within the engineering group.  They were targeted at both new and experienced engineers, with the goal of giving people another another perspective on how to stay current in our field.  People seemed to enjoy these sessions, so I am reproducing the key points here.  Part 1 will cover technical skills and possible ways to grow them, while part 2 will focus on "soft skills" and interpersonal relationships.  I'm sure that many of these points will seem obvious, but hopefully some of it is useful. Read: I subscribe to around 100 blogs in Feedly , most of which are technical.  You can download the list with the non-technical blogs removed and import it directly into the RSS reader of your choice here .  I try to read everything that comes in, although I just scan some of the feeds (Slashdot in particular)

Why I Left Wayfair

Image
As many of you know by now, I recently accepted an offer to work on the web performance team at Etsy , and my last day at Wayfair was August 17th.  I'm taking this week off, and then heading down to Brooklyn to start the new job on Monday the 27th.  I'll be in Brooklyn until the end of September, and then working remotely from Boston for the most part after that. I was going to write a long post about my decision to leave and the factors that went into it, but then I saw this Zen Pencils comic illustrating a Mark Twain quote, which I think sums it up well (minus the shouting boss part, that never happened, and my boss was awesome :-)): In short, I see moving to Etsy as a great opportunity to work with amazing engineers on a product that is changing the world for the better . I loved my time at Wayfair, and I will have friends from there for the rest of my life.  I learned a huge amount in the last four years, and I think it was the perfect place to start my career

Northeast PHP Recap

Last weekend I spoke at Northeast PHP , a conference in Boston that was held for the first time this year.  It was a really fun time, and both days were packed with talks.  I appreciate all of the  feedback I got on my presentation, and I had a lot of fun meeting everyone at the conference. Michael Bourque and his team put on an awesome event, using their Boston PHP Meetup organizer skills to make sure that everything went off without a hitch.  The Microsoft NERD Center is always a great venue, and the fact that Microsoft provided it for free helped keep the cost of the conference extremely low (only $99!). Wayfair was also a gold sponsor, which meant that we provided the t-shirts and paid for the Saturday night event (apps + beer at The Meadhall ).  We ended up sending around 15 engineers to the conference, and everyone got a lot out of it.  Most of the speakers have posted their slides, so check out some of the talks that we really enjoyed: Introducing PHP 5.4 Redis for the

Measuring CDN Performance With Real Users

Image
This is cross posted on the Wayfair Engineering Blog A couple of weeks ago I ran a test with WebPagetest that was designed to quantify how much a CDN improves performance for users that are far from your origin.  Unfortunately, the test indicated that there was no material performance benefit to having a CDN in place.  This conclusion sparked a lively discussion in the comments and on Google+, with the overwhelming suggestion being that Real User Monitoring data was necessary to draw a firm conclusion about the impact of CDNs on performance.  To gather this data I turned to the Insight product and its "tagging" feature. Before I get into the nitty-gritty details I'll give you the punch line: the test with real users confirmed the results from the synthetic one, showing no major performance improvement due to the use of a CDN. Implementation Details:  Prior to this test we served our static content (CSS, JS, and images) from three domains: common.csnima

Measuring CDN Performance With WebPagetest

Image
When I was at Velocity  I heard about a quick and useful trick you can do with WebPagetest to measure the effectiveness of your CDN.  The steps are pretty simple: Test a URL on your site from a location that is far from your origin. Using the scripting tab in WebPagetest, point your CDN domains at your origin IP, and run another test. Compare the results, and see how much your CDN is helping you! Let's break this down for a Wayfair URL. Step 1:  Test a URL on Your Site Normally Since we only have our static content on our CDN, I chose a URL that has a lot of images on it, what we call a "superbrowse" page -  http://www.wayfair.com/Outdoor-Wall-Lights-C416512.html .  Since our origin is in the Boston area, I picked the LA node in WebPagetest to give our CDN the best chance of success.  To try and smooth out the results, I configured the test to run 10 times.  It also helps to login and label your test so you can easily find it later.   While this was

1,000,000 Push-Ups

I've always enjoyed doing push-ups.  Okay, that's a lie - I used to hate  doing push-ups and I was pretty bad at them.  At some point in high school I had done enough that all of the little stabilizer muscles that are required for good form began to get built up, and they stopped making me miserable.  Once I got into martial arts they became a regular exercise for me, and I eventually came to like them. One summer in college I was off campus doing physics research, and I had planned on testing for my Black Belt once I got back from my program.  Black Belt tests are notorious for being extremely grueling, in fact I remember my instructor saying "first we physically exhaust you, then we try to mentally break you, and then we see if you actually know the techniques you are supposed to know".  I wanted to be prepared for my test, so I set a goal for myself to do 20,000 push-ups in the 9 weeks I had to train.  I didn't have much time to get to that goal, so I had to