Farewell Torbit / Walmart

I recently left my job at Walmart and in turn left my long journey with the company I co-founded, Torbit. Today would’ve marked the 10 year birthday of Torbit and it seemed like a good time to wrap up my thoughts and reflections on the long journey of ups and downs that was Torbit.

I’ve learned so much along the way and have met and worked with some truly great people. The time with Torbit and Walmart has meaningfully changed my life. It’s allowed me to learn about and build a bunch of really interesting products around proxies, load balancers, edge infrastructure, BPF, RUM, website optimization, edge security, and many other facets. Between the flexibility of working remote and traveling to various offices and markets, it’s let me really embrace my passion for travel. It’s allowed me to grow as a manager, mentor some great people, and build and manage a large distributed team which has been a really amazing experience. I’ve learned a ton about how large enterprises and eCommerce sites work from my time at Walmart as well. I had a relatively uncommon opportunity to continue to build what was very close to a startup within a large company and it was overall a great experience getting to see how that can work after a startup acquisition.

To everyone that was a part of that journey with me I want to say thank you. It has really been an adventure and I can’t image how my life would’ve turned out without this opportunity.

Now I’m excited to see what’s next. I haven’t yet decided on my next project or opportunity, but if you happen to have some ideas or roles that might be interesting feel free to reach out and let me know. I’m looking forward to starting the next big chapter and a whole new set of learning, experiences, and people to share it with.

Posted in Entrepreneurship, Introspective, work | Tagged , , | Comments Off on Farewell Torbit / Walmart


This year was the year of “Doing less to do more” for me. In pretty much all aspects of my life.

At work, this was a common mantra for me in my 1-1’s with my teams this year. It felt like across the board we were often trying to find the most important things to focus on and focus more deeply on those things in order to make sure we got where we needed to be. This was a really challenging year at work and it required us to be much more diligent, focused, and disciplined about picking our goals carefully.

This also struck my wife and me in our travel planning this year. We managed to cross off some of our biggest bucket list items including Antartica and Egypt among several others, but we also traveled to far fewer countries and places than we have in recent years. We slowed down for a lot of the rest of our travel throughout the year in order to try to enjoy where we were more and prevent (or at least slow down) burning ourselves out as much.

On the personal development side I found it also applied. I found myself taking this year and focusing on one or two single goals at a time and planning them out a bit more deliberately across the months of the year instead of just trying to tackle all my goals simultaneously or continually adding new ones on as I go as I’ve been known to do in the past.

In the end, 2019 was a good year for me in terms of accomplishments and goals. I think focussing and being deliberate about them made it a much stronger year than the previous one. However it is also a year that has left me feeing drained and needing to regroup a bit. I’m in the midst of some life transitions that I think will continue on into 2020.

Here’s to hoping for a great 2020.

Posted in Introspective | Tagged | Comments Off on 2019


If I had to summarize 2015 in a single word it would most certainly be travel.  This past year has been an amazing set of experiences getting to travel all over the world both for work and for pleasure.


The final stats were:

  • 145,000 miles flown
  • 4 continents
  • 22 countries
  • 1 US Territory

It’s been a whirlwind of new experiences, food, and amazing sites and I’ve loved every minute of it.  Especially getting the chance to catch up with old friends, and make new ones, all around the world.

I’ve also found an odd joy in maximizing my travel rewards, status, and credit card spending to get the most of my new found travel expenditures.  I’ll probably elaborate on some of these in a future post.

So in short I’m thankful for a wonderful year that allowed me to travel the world with the coolest person I know – my wife.  Here’s to hoping 2016 is just as amazing.

Posted in Introspective, Travel | Tagged | Comments Off on 2015

You are not your company

I’ve had several conversations recently with other entrepreneurs with a common theme. It is the early days of the company, with just a hand full of employees. They are going through a crisis or big decision of some kind (it seems like you always are in this stage) and completely stressed out. After talking through the issues, the thing I walked away in all 3 cases was that the founder has completely tied themselves in with the company in their own heads. If the company fails, I am a failure. If I don’t work non-stop the company has no chance. If I sell my company I am selling my own soul and will have money, but lose everything.

All of these traps are easy to fall into, but are the wrong way to think about it. You are not your company. If you are, then you are either just starting out and can’t really assess this new creation yet, or you are probably doing it wrong. The idea of an entrepreneur is to ideally build a company that is bigger than the founder. In the early days you are critical, but over time your job is to build systems and hire people (or teams of people) to fill in these critical roles. In many ways the true measure of success is when you’ve managed to make yourself no longer a necessary piece.

In this way, the company’s success or failure is clearly separate from your own personal success or failure. The “I must be essential to my business” mantra starts to sound like more of an ego driven desire for importance than a cry of exhaustion. And the ability to sell a company that can operate and be valuable to someone else (especially in your absence) starts to sound like a success instead of “selling out” and “giving up your baby”.

When you are building your company, it’s going to be your life for a period of time. It’s long hours, constant fires, and completely all-consuming. It’s still important, though, to remember that the end goal is to build something bigger than you. To build something where you are not a critical piece of it’s successful daily operation. Something other people find value in with or without you. The sooner you can untangle the company and your own sense of worth and move to this idea of “bigger than me”, the easier it will be for you to be pragmatic about your company and ultimately be more successful; in particular when viewed over a career instead of just a single company.

Posted in Entrepreneurship | Tagged , | Leave a comment

Don’t Put Your Dreams in Jeopardy


I was at dinner a little while back with a friend and he told me a story I thought was worth sharing. It was about a friend of his who was obsessed with the TV show Jeopardy. He would watch it constantly and decided he wanted to try to get on the show some day.

Already, he was a fountain of trivia and random knowledge, but in preparation he spent all his time working through flash cards, reading a variety of related books and articles, and preparing his mind for the show. His one form of relief from this relentless shovel of knowledge into his brain was when his friends would convince him to take a couple minute break and play a video game with them. However he was awful at the video games they played. He was constantly dying, not able to hold his own, and didn’t really enjoy it much. He just had no hand/eye coordination and slow reflexes, and didn’t do well with these games.

So he continued to practice his flash cards, have people quiz him, just fill all his free time with preparation for the game show. Then he finally had his moment and got called up to compete in the show. This was it; his big moment. So he focussed even more on his trivia. No longer having time for the silly video games, he worked non-stop preparing, in any way he could think of, to dump more random facts into his mind.

He flew out to do the show, full of nervousness and excitement. He was finally about to get his dream and have his moment on Jeopardy. Once the show started he had confidence as he read over the categories. Then the first question (or answer I guess in this case) came and he excitedly reached for his buzzer, confident in his answer. However he was too slow, and didn’t get the points. As the game continued, he continued to struggle with the buzzer – and although he knew most of the answers he was getting no points during the game while he continually fumbled or delayed when it was time to buzz in. It turns out his short comings with hand/eye coordination and his reflex time were preventing him from ever getting a chance to use all that great knowledge he had spent so much time crafting and preparing.

In the end he lost, quite egregiously, not because he didn’t have the answers, but because he wasn’t able to buzz in fast enough. In all the preparation he had done for the show he hasn’t spent any time practicing the simple act of buzzing in. And without that critical skill, all the knowledge in the world wasn’t able to win him his moment on the game show of his dreams.

So don’t let your relentless focus get in the way of seeing all the steps in your goals. Because if you do, you might end up putting your dreams in jeopardy too.

Posted in Introspective | Leave a comment

Intro to Navigation Timing API

Navigation timing API has been around in browsers for several years now, but I’m still often surprised how many people I meet that have never heard of it or don’t actually understand it. If you fall into this category consider this a quick primer.

Frontend web performance matters. This is the time it takes from the moment my browser starts a request for a URI to the moment the page is fully loaded (or functional and visible – different people want to measure different things). If you’re not convinced it’s important consider the fact that Google includes page speed in it’s prioritization algorithm and many different studies (including our data from Torbit) show a correlation between site performance and conversions.

Ok great, so performance matters – now what? Well in the past it turns out it was actually pretty hard to reliably measure frontend performance on your site. There was synthetic testing (basically a fixed browser in the cloud that would hit a site and record timing data), but this was not usually representative of actual end users because the testing took place on big internet backbones with relatively fast computers.

So some sites starting doing various hacks to calculate the load time in the browser when visitors would come to their site. The initial implementations of this were basically just hooking into the browser onload event and subtracting the start time from a script inserted into the head of the document. Over time these hacks got a little more sophisticated (using cookies to track time since you started to unload the previous page, for example), but they were definitely hacks.

Then came the magic of the navigation timing API. Essentially this is a Javascript API available in most modern browsers that gives you direct access to a bunch of timing information about the page load on the current page.

Navigation Timing

With navigation timing you could now access a new property window.performance.timing that had entries for all the major timing events shown in the graphic above in milliseconds. For example:

Finally you can get access to the actual load time the current visitor experienced for the DNS lookup, the TCP connection, the transfer time, and fully loaded time (among others). Then you can use that data to either take an action for the current user or beacon it back to a central server for aggregation and reporting. This is fundamentally what all RUM tools do (including Torbit’s Insight product).

So if you’re not already using navigation timing give it a spin. You might be surprised to see how slow your site can be for some users.

Posted in Javascript, Performance | Tagged , | Comments Off on Intro to Navigation Timing API

Currency Conversion When Traveling

Recently I’ve been traveling a lot more (a topic for another blog post) and I thought it might be good to write up some of the travel tips I’ve learned along the way to make life easier for those of you reading this. I’ll probably have a few other posts along these lines in the future.

One of the big headaches when traveling is converting money to the foreign currency of the country you’re traveling to. You often need local cash shortly after you land for taxis or other incidental purchases, but getting foreign cash while in the US or at the airport is often very expensive due to poor conversion rates and fees.

So what should you do? I suggest using a local ATM to withdraw some local cash instead. I can hear you already, “Really? Aren’t ATM fees just as bad, if not worse?”. And yes, in fact, they are often quite expensive. However there are a handful of banks that will actually reimburse your ATM fees, which suddenly makes the ATM conversion not that expensive. You essentially are just getting the current conversion rate of your bank, which in my experience is much better than the rates and fees that come with traditional currency conversion services. I personally use a Charles Schwab checking account, which I’ve been pretty happy with, for my ATM reimbursements. They just put a credit on my account at the end of the month for that month’s ATM fees – I don’t even have to do anything to receive it.

And perhaps the best part about this tip is that it’s actually often even more convenient than finding a currency conversion service. ATM’s are readily available in most places (especially transportation hubs) which makes converting cash a very simple task.

Posted in Travel, Travel Tips | Tagged | Leave a comment


I recently took a trip up to Toronto, Ontario on short notice for work. Since I didn’t have a lot of time I didn’t plan anything for my mobile phone and ended up just turning it off while I was there. This ended up being a really interesting unintended experiment for me of temporarily getting off of the “always connected” lifestyle I’ve come to know.

The first couple days it was weird. I felt like I was missing stuff and just felt a general discomfort with the situation. I was suddenly aware of how often I use my Google Maps and Yelp. Especially being in a new city. Perhaps the most noticeable change for me, though, was my tiny down times throughout the day when I would pull out my phone but have nothing to do on it anymore. Waiting in line, waiting for a friend to finish in the bath room, etc were no longer moments to check in to my online world. This left me feeling disconnected, frustrated, and a general sense of missing something or being out of touch.

It wasn’t long though (probably around day 3) that I found myself actually enjoying it. I found that without the ability to always use GPS and Maps I actually learned my way around the city much faster than usual (and I am definitely geographically challenged). I found myself using my short down times to actively think about my mental backlog and pay attention to my surroundings. I definitely felt like I got more out of my short trip to Toronto than I have from other similar trips in the past. But the biggest and best change I noticed was an appreciation for not being constantly interrupted throughout my day. No more Facebook links being shared or Meetup comments or any of the other junk that comes streaming my way throughout the day. This was something I greatly appreciated by the end of my trip.

Its worth mentioning that I never complained (or really actively considered) any of these issues before. It has been a slow change over time that I never really realized had happened. But the abrupt change to zero was very interesting.

I don’t plan to turn off my phone in general now that I’m back. It is an amazing tool and being with out it gave me a new appreciation for how life changing the mobile revolution has been. It did make me decide to be a little more strict on which apps can notify me and how I use my micro downtime throughout the day. I also think it will change how I vacation and I will actively try to eliminate my interruptions when I’m off work and spending time with the wife.

If you haven’t tried disconnecting recently I would give it a go. Find a couple days and just put your phone in airplane mode or turn it off entirely. It might surprise you to see the impact being connected is having on you.

Posted in Introspective | Tagged , | Leave a comment


I’m not really a big fan of new year’s resolutions. I think it’s important to continually work on self-improvement, not hastily come up with some bold resolutions once a year. I do like the idea of new year’s day as a milestone marker, though, and a time of reflection on the previous year.

2013 was a very intense year for me. From having to fire my co-founder, to finding out my mom was diagnosed with cancer, to selling my second company and transitioning over to work at the largest company (by far) I’ve ever worked for – 2013 was definitely a year to remember. A strange mix of some of the worst moments and the best moments I’ve had in recent memory. I definitely couldn’t have predicted the way this year shaped up at the start of it.

Ultimately I see this as a good thing (even if some of the stuff I couldn’t predict wasn’t good), though. Volatility can certainly be unpleasant, but it’s also a key component to making big strides forward personally and professionally in my experience. I’ve also grown and learned A TON over the last year.

Here’s to a better 2014, hopefully one still full of opportunities to grow.

Posted in Introspective | Tagged | Comments Off on 2013


Often starting is the hardest part. Inertia is hard and the act of going from nothing to something is often the single biggest step.

I often find for myself that the ability to start new projects, adventures, or whatever, is a bit like a muscle. If you don’t use it for a while it begins to atrophy and starting new things gets tougher and tougher. However if I just force myself to be disciplined and dive into new things on a regular basis it gets easier and easier with each new thing.

So start something today, no matter how small and start building that muscle. Build a new routine that involves trying something new or starting something small regularly. It makes it a lot easier to make that difficult first step when it is really needed.

Posted in Introspective | Tagged | Leave a comment