Our machine learning scientists have been researching ways to enable the semantic search of code.
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…
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 asynchronously. To be able to serve our traffic we read data from the MySQL replicas.
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…
Perform common Git operations without leaving the editor: stage changes, make commits, create and switch branches, resolve merge conflicts, and more.
We're releasing a formal specification of the syntax for GitHub Flavored Markdown, and its corresponding reference implementation.
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…
As part of the design of GLB, we set out to solve a few of the common issues found when using HAProxy at scale.
Over the last year we've developed our new load balancer, called GLB (GitHub Load Balancer). Today, and over the next few weeks, we will be sharing the design and releasing its components as open source software.
GitHub announced a public API one month after the site launched. We've evolved this platform through three versions, adhering to RFC standards and embracing new design patterns to provide a clear and consistent interface.
One of GitHub's niche features is the ability to access a Git repository on GitHub using Subversion clients. Last year we re-architected a large portion of the Subversion bridge to work with our changing infrastructure.