Bitly allows users to save, share and discover links from around the web.
Technical articles and stack decisions from Bitly
The Great Migration Recently we gave a talk at Velocity EU...
The Great Migration Recently we gave a talk at Velocity EU about the lessons learned from our big data center move in 2016. Check it out to learn more about what worked well and what you should...
Bitly Summer Intern Wrap 2015
Bitly Summer Intern Wrap 2015 We’ve invited this year’s summer interns to share their experiences from working on our engineering team. Our interns worked on the same problems as our full-time...
Bitly In Denver
Bitly In Denver Want to meet and hang out with some of the Bitly engineering team? A bunch of us will be in Denver, Colorado the week of May 18-22. While we’re out there we’ll be catching up with our...
Introducing The Bitly Tech Podcast
Introducing The Bitly Tech Podcast At Bitly, we love to share as we learn. Coming up through our careers, we have all learned and gained a ton of experience from others in the community that have...
Frontend Dependency Management with Browserify
Frontend Dependency Management with Browserify With frontend development moving as fast as it does at Bitly, things can get pretty messy. We found ourselves with piles of unmanaged script tags and...
Joining Bitly Engineering
Joining Bitly Engineering First post! (aka Introduction) Hello everyone, my name is Peter Herndon. I recently started working at Bitly as an application engineer on Bitly’s backend systems (which are...
10 Things We Forgot to Monitor
10 Things We Forgot to Monitor There is always a set of standard metrics that are universally monitored (Disk Usage, Memory Usage, Load, Pings, etc). Beyond that, there are a lot of lessons that we’ve...
Adventures in Optimizing Text Processing
Adventures in Optimizing Text Processing Lessons learned while post-processing 1.75 billion lines of Hadoop output. The Problem Recently, I encountered a problem. I had a nightly Hadoop job running on...
Getting more clues from Python's logging module
Getting more clues from Python's logging module During development of Python web applications, there are a lot of tools that can help provide clues about what caused a bug or exception. For example,...
Networking: Using Linux Traffic Control for Fun and Profit Loss Prevention
Networking: Using Linux Traffic Control for Fun and Profit Loss Prevention Here at bitly, we are big fans of data, tubes and especially tubes that carry data. This is a story about asking tubes to...
Recently we gave a talk at Devopsdays Portland about how we...
Recently we gave a talk at Devopsdays Portland about how we deploy all day at bitly without breaking the Internet. Some of the topics we covered include automation, state management, systems...
Tenets for Working Remotely
Tenets for Working Remotely For the past 15 years, I’ve worked as a remote employee. I currently live in Denver and work for Manhattan-based Bitly. Before that, I was on a Virginia-based team at AOL...
Z Proxy
Z Proxy Here is a tale of how we leverage redundant datacenters, redundant code, and multi-tiered fallbacks in the quest for uptime. But Why? High availability is important for any site operating at...
Building NSQ Client Libraries
Building NSQ Client Libraries Brace yourself, this is a long one. The following guide was originally intended for client library developers to describe in detail all the important features and...
Speeding things up with Redshift
Speeding things up with Redshift Recently we’ve started to experiment with using Redshift, Amazon’s new data warehousing service. More specifically, we’re using it to speed up and expand our ad hoc...
Securing Internal Applications
Securing Internal Applications A common infrastructure problem is managing access to internal applications. Some patterns for solving that problem include: fronting internal apps with HTTP Basic or...
Forget Table
Forget Table “ Forget Table is a solution to the problem of storing the recent dynamics of categorical distributions that change over time (ie: non-stationary distributions). ” What does this mean?...
spray some NSQ on it
spray some NSQ on it We released NSQ on October 9th 2012. Supported by 3 talks and a blog post, it’s already the 4th most watched Go project on GitHub. There are client libraries in 7 languages and we...
Improving Frontend Code Quality and Workflow
Improving Frontend Code Quality and Workflow When I started at Bitly as a Frontend Engineer, we were about to launch the new bitly. It was exciting to be so close to a product launch and we were...
Classifying Human Traffic with Random Forest Decision Trees
Classifying Human Traffic with Random Forest Decision Trees At bitly, we study human behavior on the social web, and we often need to figure out when data is generated by a deliberate human action...