GLB part 2: HAProxy zero-downtime, zero-delay reloads with multibinder
Recently we introduced GLB, the GitHub Load Balancer that powers GitHub.com. The GLB proxy tier, which handles TCP connection and TLS termination is powered by HAProxy, a reliable and high performance...
View ArticleHow we made diff pages three times faster
We serve a lot of diffs here at GitHub. Because it is computationally expensive to generate and display a diff, we’ve traditionally had to apply some very conservative limits on what gets loaded. We...
View ArticleA formal spec for GitHub Flavored Markdown
We are glad we chose Markdown as the markup language for user content at GitHub. It provides a powerful yet straightforward way for users (both technical and non-technical) to write plain text...
View ArticleIntegrating Git in Atom
The Atom team has been working to bring the power of Git and GitHub as close to your cursor as possible. With today’s release of the GitHub package for Atom, you can now perform common Git operations...
View ArticleHow Four Native Developers Wrote An Electron App
Today we released the new GitHub Desktop Beta, rewritten on Electron. Electron is a well-known on-ramp for web developers to build desktop apps using familiar web technologies: HTML, CSS, and...
View ArticleMySQL infrastructure testing automation at GitHub
Our MySQL infrastructure is a critical component to GitHub. MySQL serves GitHub.com, GitHub’s API, authentication and more. Every git request touches MySQL in some way. We are tasked with keeping the...
View ArticleMitigating replication lag and reducing read load with freno
At GitHub, we use MySQL as the main database technology backing our services. We run classic MySQL master-replica setups, where writes go to the master, and replicas replay master’s changes...
View ArticleRemoving jQuery from GitHub.com frontend
We have recently completed a milestone where we were able to drop jQuery as a dependency of the frontend code for GitHub.com. This marks the end of a gradual, years-long transition of increasingly...
View ArticleTowards Natural Language Semantic Code Search
This blog post complements a live demonstration on our recently announced site: experiments.github.com Motivation Searching code on GitHub is currently limited to keyword search. This assumes either...
View ArticleVulcanizer: a library for operating Elasticsearch
At GitHub, we use Elasticsearch as the main technology backing our search services. In order to administer our clusters, we use ChatOps via Hubot. As of 2017, those commands were a collection of Bash...
View Article