CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Thu, 28 Aug 2025 13:30:00 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20141017090557
location: https://web.archive.org/web/20141017090557/https://www.github.com/blog
server-timing: captures_list;dur=0.700876, exclusion.robots;dur=0.025671, exclusion.robots.policy;dur=0.011487, esindex;dur=0.014195, cdx.remote;dur=130.222768, LoadShardBlock;dur=607.723732, PetaboxLoader3.datanode;dur=270.782817, PetaboxLoader3.resolve;dur=89.888204
x-app-server: wwwb-app203
x-ts: 302
x-tr: 965
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app203; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 302
server: nginx
date: Thu, 28 Aug 2025 13:30:02 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20141023225105
location: https://web.archive.org/web/20141023225105/https://github.com/blog
server-timing: captures_list;dur=0.579322, exclusion.robots;dur=0.022098, exclusion.robots.policy;dur=0.010170, esindex;dur=0.010284, cdx.remote;dur=45.502586, LoadShardBlock;dur=715.763712, PetaboxLoader3.resolve;dur=961.922219, PetaboxLoader3.datanode;dur=491.737369, load_resource;dur=993.386161
x-app-server: wwwb-app203
x-ts: 302
x-tr: 1847
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Thu, 28 Aug 2025 13:30:03 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: GitHub.com
x-archive-orig-date: Thu, 23 Oct 2014 22:51:05 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-xss-protection: 1; mode=block
x-archive-orig-x-frame-options: deny
x-archive-orig-content-security-policy: default-src *; script-src assets-cdn.github.com collector-cdn.github.com; object-src assets-cdn.github.com; style-src 'self' 'unsafe-inline' 'unsafe-eval' assets-cdn.github.com; img-src 'self' data: assets-cdn.github.com identicons.github.com www.google-analytics.com collector.githubapp.com *.githubusercontent.com *.gravatar.com *.wp.com; media-src 'none'; frame-src 'self' render.githubusercontent.com gist.github.com www.youtube.com player.vimeo.com checkout.paypal.com; font-src assets-cdn.github.com; connect-src 'self' ghconduit.com:25035 live.github.com uploads.github.com www.google-analytics.com s3.amazonaws.com
x-archive-orig-cache-control: no-cache
x-archive-orig-vary: X-PJAX
x-archive-orig-etag: "8f5878371727af1ad066743661120510"
x-archive-orig-x-ua-compatible: IE=Edge,chrome=1
x-archive-orig-set-cookie: _gh_sess=eyJzZXNzaW9uX2lkIjoiYTU5NzdlM2RhMWRlMWVmNmI1NjE3ZmI0OTExYWE0ODgiLCJzcHlfcmVwbyI6ImFoZi9pcnNzaS1sdWEiLCJzcHlfcmVwb19hdCI6MTQxNDA5OTIxNCwiX2NzcmZfdG9rZW4iOiJYcWZyWHpHY2RNODA5TlBrYmhoZmNkZjRYWUhRdld2KzBlUEplRmRUREE0PSIsInJlZmVycmFsX2NvZGUiOiJodHRwczovL2dpdGh1Yi5jb20vbWFoa29oL3Bvc2l4LnJzLyIsImxhc3Rfd3JpdGUiOjE0MTQwOTY5NDk4NDB9--1399b51aa6765e38e925f2f746f1a0ac2e376c4a; path=/; secure; HttpOnly
x-archive-orig-x-runtime: 0.094251
x-archive-orig-x-github-request-id: CFF1E5ED:22E1:6C6579B:54498659
x-archive-orig-strict-transport-security: max-age=31536000; includeSubdomains; preload
x-archive-orig-x-content-type-options: nosniff
x-archive-orig-vary: Accept-Encoding
x-archive-orig-x-served-by: e68303a089d42a09a9545cb48f3ff7a6
x-archive-orig-content-length: -1
cache-control: max-age=1800
x-archive-guessed-content-type: text/xml
x-archive-guessed-charset: utf-8
memento-datetime: Thu, 23 Oct 2014 22:51:05 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 28 Feb 2008 01:54:20 GMT", ; rel="prev memento"; datetime="Fri, 17 Oct 2014 09:05:57 GMT", ; rel="memento"; datetime="Thu, 23 Oct 2014 22:51:05 GMT", ; rel="next memento"; datetime="Tue, 28 Oct 2014 10:14:28 GMT", ; rel="last memento"; datetime="Mon, 25 Aug 2025 13:32:15 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: liveweb-20141024014401/live-20141023222750-wwwb-app1.us.archive.org.warc.gz
server-timing: captures_list;dur=0.801912, exclusion.robots;dur=0.025269, exclusion.robots.policy;dur=0.011776, esindex;dur=0.014877, cdx.remote;dur=65.823741, LoadShardBlock;dur=430.859925, PetaboxLoader3.datanode;dur=220.446484, PetaboxLoader3.resolve;dur=340.216976, load_resource;dur=195.910370
x-app-server: wwwb-app203
x-ts: 200
x-tr: 754
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
tag:github.com,2008:/blog
The GitHub Blog
2014-10-21T11:00:48-07:00
tag:github.com,2008:Post/1913
2014-10-21T11:00:48-07:00
2014-10-21T11:00:48-07:00
New in the shop: 5" Octocat Figurine
general
<p>For years, the Octocat has been stuck in the realm of two dimensions—but no more! Now she’s crawling off your laptop and onto your desk as a 5" vinyl figurine.</p>
<p><a href="https://shop.github.com/products/5-inch-octocat-figurine"><strong>Check out the Octocat in the GitHub shop.</strong></a></p>
<iframe src="//player.vimeo.com/video/107196396?title=0&byline=0&portrait=0" width="685" height="385" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
cameronmcefee
tag:github.com,2008:Post/1908
2014-10-16T09:05:48-07:00
2014-10-16T09:05:48-07:00
A Better DMCA Process
general
<p>To bring more transparency and clarity to the processes surrounding the DMCA, we are rolling out three improvements to the way we process copyright takedowns:</p>
<ul>
<li>First, whenever possible, users will have a chance to fix problems <em>before</em> we take content down.</li>
<li>Second, we will not automatically disable forks in a network based on the takedown of a parent repository unless the takedown notice explicitly includes them.</li>
<li>Last but not least, we've published a completely <a href="https://help.github.com/articles/dmca-takedown-policy">revamped DMCA policy</a> as well as a pair of how-to guides for <a href="https://help.github.com/articles/dmca-notice-how-to">takedown</a> and <a href="https://help.github.com/articles/dmca-counter-notice-how-to">counter notices</a> to make our process more transparent and easier to understand.</li>
</ul>
<h3>Some Background</h3>
<p>The <a href="https://www.chillingeffects.org/dmca512/faq.cgi">Digital Millennium Copyright Act (DMCA)</a> is a United States law that establishes how copyright holders must file complaints with internet service providers (ISPs) like GitHub, and what the ISPs must do in response. </p>
<p>The DMCA takedown process usually takes place behind closed doors, with little visibility for impacted users, let alone the opportunity for those users to modify the allegedly infringing content.
The average DMCA policy is also usually written in dense legalese that can be difficult to understand. </p>
<p>Our users deserve better.
GitHub already promotes transparency by posting DMCA takedown notices in a <a href="https://github.com/github/dmca">public repository</a>.
And our Support Team works hard to help our users navigate the process. </p>
<p>Like most other ISPs, we have been disabling content whenever we receive a complete and seemingly legally adequate DMCA notice.
We have learned, however, that the conventional process is not a perfect fit for Git-versioned software projects.
So we decided to make some changes.</p>
<h3>GitHub's New Policy</h3>
<p>The first change is that from now on we will give you an opportunity, whenever possible, to modify your code <em>before</em> we take it down.
Previously, when we blocked access to a Git repository, we had to disable the entire repository.
This doesn't make sense when the complaint is only directed at one file (or a few lines of code) in the repository, and the repository owner is perfectly happy to fix the problem.</p>
<p>In practice, our support team would often shuttle messages between the parties to work out a way for them to fix it.
That usually worked out well and everyone ended up happier at the end of the day.
So we are making it a formal part of our policy, and we are going to do it <em>before</em> we disable the rest of the repository.</p>
<p>The second change is that if we receive a takedown notice for a parent repository, we will not disable forks in the network unless they are specifically identified in the notice.
In our system, parent and fork repositories are linked so that if one is disabled, they are all automatically disabled.
In many cases, however, forked repositories may be different in significant ways from the parent.
Accordingly, from now on we will require copyright owners to investigate and report each fork explicitly in a DMCA takedown notice.
If some forks are not identified, we will split up the network to avoid needlessly disabling unnamed fork repositories.</p>
<p>Finally, we've also taken this opportunity to completely revamp our DMCA policy itself so that it is easier to understand, provides <a href="https://help.github.com/dmca-takedown-policy#what-is-the-dmca">more background information</a>, <a href="https://help.github.com/dmca-takedown-policy#learn-more-and-speak-up">additional resources</a> and <a href="https://help.github.com/dmca-takedown-policy#a-how-does-this-actually-work">outlines the process in detail</a>.
We want you to understand clearly what a takedown means, how to <a href="https://help.github.com/articles/dmca-notice-how-to">submit a takedown notice</a> to GitHub, and how to <a href="https://help.github.com/articles/dmca-counter-notice-how-to">respond to one</a> if you believe there has been a mistake and want your content restored.
We hope you find our revised policy easier to use. </p>
<p>Please feel free to email us with questions or comments at <a href="mailto:copyright@github.com">copyright@github.com</a>.</p>
jessephus
tag:github.com,2008:Post/1905
2014-10-13T14:39:29-07:00
2014-10-13T14:39:29-07:00
Linking merged pull requests from commits
ship
<p>We've been <a href="https://github.com/blog/1451-branch-and-tag-labels-for-commit-pages">including the containing branches and tags on commit pages</a> to give you more context around changes. Now, commits in a repository's default branch will also show you the pull request that introduced them. </p>
<p><a href="https://cloud.githubusercontent.com/assets/597/4605736/d1982d62-51f6-11e4-8220-745ddce66e82.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/597/4605736/d1982d62-51f6-11e4-8220-745ddce66e82.png" alt="no touching" style="max-width:100%;"></a></p>
<p>In the pull request, you can see the discussion around why the commit was introduced, and get a clearer picture of the reason for the change. </p>
<p>As always, if you know the commit SHA, you can skip the commit page and <a href="https://github.com/rails/rails/search?q=b32ba367f584a6298fb8b7eef97be15388b5bd87&ref=cmdform&type=Issues">search for the pull request directly</a>. </p>
<p>For more information, check out our <a href="https://help.github.com/articles/searching-issues#search-by-the-commit-shas-within-a-pull-request">Help docs</a>.</p>
ymendel
tag:github.com,2008:Post/1900
2014-10-07T09:01:28-07:00
2014-10-16T15:38:21-07:00
The best developer tools, now free for students
ship
<p>There's no substitute for hands-on experience, but for most students, real world tools can be cost prohibitive. That's why we created the <a href="https://education.github.com/pack">GitHub Student Developer Pack</a> with some of our partners and friends: to give students free access to the best developer tools in one place so they can learn by doing. </p>
<p><a href="https://education.github.com/pack"><img src="https://cloud.githubusercontent.com/assets/123345/4423908/4b0317bc-4599-11e4-8bc3-0ca4dd5223e8.png" alt="GitHub Student Developer Pack Logo" style="max-width:100%;"></a></p>
<p>More than 100,000 students have already taken advantage of free access to GitHub, collectively pushing code more than 50,000 times per day. With the GitHub Student Developer Pack, students now have free access to an entire suite of useful developer tools, including:</p>
<p><strong>Atom</strong> — <a href="https://atom.io">atom.io</a><br>
A hackable text editor for the 21st Century<br>
<em>Open Source by GitHub, free for everyone</em></p>
<p><strong>Bitnami</strong> — <a href="https://bitnami.com">bitnami.com</a><br>
Install cloud applications in a single click<br>
<em>Business 3 plan (normally $49/month) for one year</em></p>
<p><strong>Crowdflower</strong> — <a href="https://crowdflower.com">crowdflower.com</a><br>
Crowdsourcing and data enrichment platform<br>
<em>Access to the Crowdflower platform (normally $2,500/month) and $50 in worker credit</em></p>
<p><strong>DigitalOcean</strong> — <a href="https://digitalocean.com">digitalocean.com</a><br>
Simple cloud hosting, built for developers<br>
<em>$100 in platform credit for new users</em></p>
<p><strong>DNSimple</strong> — <a href="https://dnsimple.com">dnsimple.com</a><br>
Simple DNS management with one-click services and a robust API<br>
<em>Bronze hosted DNS plan (normally $3/month) for two years</em></p>
<p><strong>GitHub</strong> — <a href="https://github.com">github.com</a><br>
Powerful collaboration, code review, and code management<br>
<em>Micro account (normally $7/month) with five private repositories while you're a student</em></p>
<p><strong>HackHands</strong> — <a href="https://hackhands.com">hackhands.com</a><br>
Live programming help available 24/7<br>
<em>$25 in platform credit</em></p>
<p><strong>Namecheap</strong> — <a href="https://namecheap.com">namecheap.com</a><br>
Domain name registration and SSL certificates<br>
<em>One year free domain name registration on the .me TLD (normally 8.99/year) and one year free SSL certificate (normally $9/year)</em></p>
<p><strong>Orchestrate</strong> — <a href="https://orchestrate.io">orchestrate.io</a><br>
Database API that includes search, time-series events, geolocation and graph queries<br>
<em>Developer account (normally $49/month) while you're a student</em></p>
<p><strong>Screenhero</strong> — <a href="https://screenhero.com">screenhero.com</a><br>
Screen sharing for collaboration in teams<br>
<em>Individual account (normally $9.99/month) while you're a student</em></p>
<p><strong>SendGrid</strong> — <a href="https://sendgrid.com">sendgrid.com</a><br>
Email infrastructure as a service<br>
<em>Student plan (normally $4.95/month) for one year</em></p>
<p><strong>Stripe</strong> — <a href="https://stripe.com">stripe.com</a><br>
Web and mobile payments, built for developers<br>
<em>Waived transaction fees on first $1,000 in revenue processed</em></p>
<p><strong>Travis CI</strong> — <a href="https://travis-ci.com">travis-ci.com</a><br>
Continuous integration platform for open source and private projects<br>
<em>Private builds (normally $69/month) while you're a student</em></p>
<p><strong>Unreal Engine</strong> — <a href="https://unrealengine.com">unrealengine.com</a><br>
A complete suite of game development tools made by game developers, for game developers<br>
<em>Unreal Engine (normally $19/month) while you're a student</em></p>
<h2>Get your pack</h2>
<p>If you're a student aged 13+ and enrolled in degree or diploma granting course of study, the GitHub Student Developer Pack is for you. All you need is a one of the following:</p>
<ul>
<li>School-issued email address</li>
<li>Valid student identification card</li>
<li>Other official proof of enrollment (enrollment letter, transcript, etc)</li>
</ul>
<p><a href="https://education.github.com/pack"><strong>Get your GitHub Student Developer Pack</strong></a></p>
<p>If you're already using GitHub with a student account, you've automatically been given access to the developer pack. You can access all the offers at <a href="https://education.github.com/pack">https://education.github.com/pack</a>. </p>
<h2>Join the pack</h2>
<p>If your company produces developer tools and wants to be included in the pack, <a href="https://education.github.com/contact">pass us a note</a>.</p>
johndbritton
tag:github.com,2008:Post/1902
2014-10-06T13:55:12-07:00
2014-10-06T13:55:12-07:00
SVG Viewing & Diffing
ship
<p>In the spirit of making diffs of rich information easier to parse, SVG images are now viewable and diffable on GitHub!</p>
<p><a href="https://cloud.githubusercontent.com/assets/2546/4513185/76da64c0-4b49-11e4-9456-4ee665a25f7b.gif" target="_blank"><img src="https://cloud.githubusercontent.com/assets/2546/4513185/76da64c0-4b49-11e4-9456-4ee665a25f7b.gif" alt="SVG diff demo" style="max-width:100%;"></a></p>
<p>As always, you can find more details in our <a href="https://help.github.com/articles/rendering-and-diffing-images/">help documentation</a>.</p>
skalnik
tag:github.com,2008:Post/1901
2014-10-06T13:43:20-07:00
2014-10-06T13:43:20-07:00
Managing Issues and Pull Requests Across Repositories
ship
<p>Keep track of all of your issues and pull requests with the new <a href="https://github.com/issues">Issues Dashboard</a> and the new <a href="https://github.com/pulls">Pull Requests Dashboard</a>.</p>
<p><a href="https://cloud.githubusercontent.com/assets/2723/4516201/0dafce4a-4be9-11e4-8640-faefbead7287.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/2723/4516201/0dafce4a-4be9-11e4-8640-faefbead7287.png" alt="Dashboards" style="max-width:100%;"></a></p>
<p>When we <a href="https://github.com/blog/1866-the-new-github-issues">rebuilt GitHub Issues</a> earlier this summer, we made it easier to search and filter issues and pull requests in a repository. Now it's time to think bigger: these new dashboards let you manage your work across all of your repositories at once. You can find links to them at the top of your News Feed.</p>
<p>Use them to quickly find issues you've created. Or pull requests that mention your username. Or issues that have been assigned to you. Or go ahead and use any of our <a href="https://help.github.com/articles/searching-issues">custom advanced search filters</a> and create your own often-used search... the sky's the limit.</p>
holman
tag:github.com,2008:Post/1893
2014-09-24T17:06:49-07:00
2014-09-29T15:45:03-07:00
Security vulnerability in bash addressed
engineering
<p><strong>Update: 2014-09-29 23:10 UTC</strong></p>
<p><em>We have published an update to the Git Shell tools for GitHub for Windows, which resolves the <code>bash</code> vulnerabilities <a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6271">CVE-2014-6271</a>, <a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169">CVE-2014-7169</a>, <a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7186">CVE-2014-7186</a> and <a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7187">CVE-2014-7187</a>. If you are running GitHub for Windows, we strongly encourage you to upgrade. You can check if you are on the latest version, and upgrade if needed, by opening "Tools" -> "About GitHub for Windows..."</em></p>
<hr>
<p><strong>Update: 2014-09-28 17:30 UTC</strong></p>
<p><em>Two new <code>bash</code> vulnerabilities, <a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7186">CVE-2014-7186</a> and <a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7187">CVE-2014-7187</a>, have been discovered. We have now released special patches of GitHub Enterprise using the latest upstream <code>bash</code> fix for CVE-2014-7186 and CVE-2014-7187. Upgrade instructions have been sent to all GitHub Enterprise customers, and we strongly encourage all customers to upgrade their instance using this latest release. <code>GitHub.com</code> remains unaffected by this vulnerability.</em></p>
<hr>
<p><strong>Update: 2014-09-26 00:22 UTC</strong></p>
<p><em>Security patches released yesterday for the <code>bash</code> command vulnerability identified in CVE-2014-6271 turned out to be incomplete, and a new vulnerability, <a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169">CVE-2014-7169</a>, was identified. We have now released special patches of GitHub Enterprise using the latest upstream <code>bash</code> fix for CVE-2014-7169. Upgrade instructions have been sent to all GitHub Enterprise customers, and we strongly encourage all customers to upgrade their instance using this latest release. <code>GitHub.com</code> remains unaffected by this vulnerability.</em></p>
<hr>
<p><strong>Update: 2014-09-25 15:45 UTC</strong></p>
<p><em>GitHub is closely monitoring <a href="https://seclists.org/oss-sec/2014/q3/685">new developments</a> that indicate the existing <code>bash</code> patch for CVE-2014-6271 is incomplete. The fix for this new <code>bash</code> vulnerability is still in progress, but we will be releasing a new patch for GitHub Enterprise once it has been resolved. At this time, we still strongly encourage all GitHub Enterprise customers to update their instances using the patch made available yesterday.</em></p>
<hr>
<p>This morning it was disclosed that Stephane Chazelas discovered a <a href="https://seclists.org/oss-sec/2014/q3/649">critical vulnerability</a> in the <a href="https://www.gnu.org/software/bash/">GNU bash</a> utility present on the vast majority of Unix and Linux systems. Using this vulnerability, an attacker can force the execution of arbitrary commands on an affected server. While these commands may not run with root privileges, they provide a significant vector for further exploitation of a system.</p>
<p>We have released special patches of GitHub Enterprise to fix this vulnerability, and have provided detailed instructions to all our Enterprise customers on how to upgrade their instance. An immediate upgrade is required. </p>
<p>None of the extensive penetration testing we've performed today has uncovered any vulnerability on <code>GitHub.com</code>, including <code>git</code> over SSH. As an added precaution, however, we have patched all systems to ensure the vulnerability is addressed.</p>
shawndavenport
tag:github.com,2008:Post/1892
2014-09-22T07:54:08-07:00
2014-09-22T15:58:14-07:00
Third Annual Data Challenge Winners
general
<p>The entries are in, the votes are tallied, and we've chosen the winners for our <a href="https://github.com/blog/1864-third-annual-github-data-challenge">third annual Data Challenge</a>!</p>
<h3>First Place</h3>
<p>Our first place winner is <a href="https://issuestats.com/">Issue Stats</a> (<a href="https://github.com/hstove/issue_stats">repository</a>), by <a href="https://github.com/hstove">@hstove</a>.</p>
<p><a href="https://cloud.githubusercontent.com/assets/60566/4282143/6352a224-3d51-11e4-9832-ba8ab111f26e.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/60566/4282143/6352a224-3d51-11e4-9832-ba8ab111f26e.png" alt="rails_rails_-_issue_stats" style="max-width:100%;"></a></p>
<p>Issue Stats tracks the time it takes for your project to close issues or merge pull requests. You can then display this data through a convenient badge in your project's README file or elsewhere. Issue Stats are easy to get started with, easy to understand, and simple to incorporate into your project — be sure to also check out the other <a href="https://issuestats.com/analysis">analyses and visualization</a> too.</p>
<h3>Second Place</h3>
<p>In second place is <a href="https://githut.info/">GitHut</a> (<a href="https://github.com/littleark/githut">repository</a>), by <a href="https://github.com/littleark">@littleark</a>.</p>
<p><a href="https://cloud.githubusercontent.com/assets/60566/4282343/db0b92c6-3d56-11e4-8d7d-20e12b54d042.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/60566/4282343/db0b92c6-3d56-11e4-8d7d-20e12b54d042.png" alt="githut_-_programming_languages_and_github" style="max-width:100%;"></a></p>
<p>Moving through the quarters of the calendar year, GitHut compares programming languages by development activity (via active repositories and push volume), collaboration (via forks and issues), social activity (new watchers on GitHub), and the language's age. GitHut makes it easy to compare and contrast languages over many metrics without overwhelming the viewer.</p>
<h3>Third Place</h3>
<p>The third place winner is <a href="https://github.com/c-w/github-data-challenge-2014">Eigenfaces</a>, by <a href="https://github.com/c-w">@c-w</a>.</p>
<p><a href="https://cloud.githubusercontent.com/assets/60566/4282232/b4f93816-3d53-11e4-96c0-c73f499431cd.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/60566/4282232/b4f93816-3d53-11e4-96c0-c73f499431cd.png" alt="c-w_github-data-challenge-2014" style="max-width:100%;"></a></p>
<p>The Eigenfaces project sampled about 8,000 user avatars, after filtering for automatically generated pictures (like <a href="https://github.com/blog/1586-identicons">Identicons</a>) and other outliers, then used a machine learning technique called <a href="https://en.wikipedia.org/wiki/Principal_component_analysis">principal component analysis</a> to reduce these avatars to the 20 most significant "features". Each "feature" is interpretable as a shape that contributes significant amounts of variance to the entire body of avatars that were sampled.</p>
<h3>Congratulations and Thanks!</h3>
<p>Congratulations to our three winners! The first place winner receives travel, lodging, and attendance to <a href="https://www.edwardtufte.com/tufte/courses">Presenting Data and Information</a>, a one-day course offered by <a href="https://www.edwardtufte.com/tufte/index">Edward Tufte</a> this December in San Francisco. Our second and third place winners will receive cash prizes.</p>
<p>Each year we receive entries that raise the bar for quality and exceed our expectations — this year was no exception. In fact, this year we received a record 79 entries from all over the world! We want to extend our sincere thanks to every individual and team that submitted an entry this year. We're extremely gratified by the level of craftsmanship and creativity exhibited by your entries, and humbled by the obvious amount of work involved. Thank you!</p>
<p>We hope you enjoyed checking out this year's winning entries. We can't wait for next year.</p>
derekgr
tag:github.com,2008:Post/1891
2014-09-19T09:26:28-07:00
2014-09-25T05:17:08-07:00
View Issue/Pull Request buttons for Gmail
ship
<p>If you're a Gmail user who gets GitHub notifications via email, you'll notice
that we've added subject-line links to issues and pull requests on notification
messages.</p>
<p><a href="https://cloud.githubusercontent.com/assets/1144197/4328710/1e480c4c-3f8a-11e4-89df-3735784ca5d5.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/1144197/4328710/1e480c4c-3f8a-11e4-89df-3735784ca5d5.png" alt="View Issue/Pull Request buttons" style="max-width:100%;"></a></p>
<p>You can use these links to more quickly access content on GitHub -- all without
having to open your email notifications.</p>
<p>This feature is brought to you using Gmail's <a href="https://developers.google.com/gmail/actions/"><em>Actions in the Inbox</em></a>.</p>
mastahyeti
tag:github.com,2008:Post/1889
2014-09-15T15:19:46-07:00
2014-09-17T12:12:36-07:00
Introducing TODO for companies that are committed to open source
general
<p><a href="https://todogroup.org/"><img src="https://cloud.githubusercontent.com/assets/374244/4277566/30570b26-3d10-11e4-907b-fc59f9dde32c.png" alt="TODO" style="max-width:100%;"></a></p>
<p>GitHub has always been about making open source software better, and today we're launching <a href="https://todogroup.org">TODO</a> with a number of partners to help large organizations better support the open source community. If your company has an open source program–or is looking to initiate one–we hope you'll join us.</p>
<p>With TODO, we want to <strong>talk openly and develop openly</strong> to solve the unique challenges of using and building open source technologies within companies of all sizes. We plan to explore topics like what it looks like to release open source projects, how to shift ownership of projects from companies to the community, and how to make sure that open source projects remain healthy and active.</p>
<p>The inaugural members of TODO include <a href="https://opensource.box.com/">Box</a>, <a href="https://opensource.dropbox.com/">Dropbox</a>, <a href="https://code.facebook.com/projects/">Facebook</a>, <a href="https://github.com/github">GitHub</a>, <a href="https://developers.google.com/open-source/">Google</a>, <a href="https://github.com/Khan">Khan Academy</a>, <a href="https://corner.squareup.com">Square</a>, <a href="https://github.com/stripe">Stripe</a>, <a href="https://engineering.twitter.com/opensource">Twitter</a>, and <a href="https://github.com/walmartlabs">Walmart Labs</a>. You can visit <a href="https://todogroup.org">todogroup.org</a> to sign up and learn more.</p>
amateurhuman
tag:github.com,2008:Post/1888
2014-09-10T14:58:33-07:00
2014-09-10T15:07:39-07:00
Join GitHub in support of the open Internet
general
<p>Our open and free Internet fuels some of the most incredible innovation in history. It provides new opportunities for billions of people to communicate and collaborate, contributes to economic growth across the world, supports a flourishing open source community, and changes the way we live our lives for the better. </p>
<p>GitHub <a href="https://www.battleforthenet.com/sept10th/">stands in solidarity with our Internet peers</a> in urging all our US-based users, customers, and fans to call, write, or <a href="https://www.opencongress.org/wiki/Members_of_Congress_who_Twitter">tweet</a> at your local <a href="https://www.opencongress.org/people/zipcodelookup">Senator or Congressperson</a> to let them know you oppose the FCC's proposed changes to the net neutrality landscape.</p>
<p>We believe a new Internet "fast lane" that only privileged businesses can buy into threatens freedom of choice for users, and could ultimately harm the efforts of developers building and shipping both open source and commercial software. Without net neutrality, your users could have a very different experience of your software depending on how much Internet providers are paid.</p>
<p>Congress has the power to take real action to ensure the Internet remains an open platform for speech and commerce. For example, when cable television called into question the traditional conflict between physical point-to-point telephone communication and airwave television broadcasts, Congress responded by adding <a href="https://www.publicaccess.org/cableact.html">Title VI to the Communications Act</a>. </p>
<p>GitHub believes that with encouragement and education from the broader Internet community, Congress can be motivated to take action once again. In May of this year, we indicated our support of net neutrality by <a href="https://engine.is/wp-content/uploads/Company-Sign-On-Letter.pdf">co-signing a letter to the FCC</a>, but we're not there yet.</p>
<p>We think an open and free Internet is a better Internet, and today we’re asking you to join us by telling Congress you agree.</p>
defunkt
tag:github.com,2008:Post/1885
2014-09-04T10:05:51-07:00
2014-09-04T10:05:51-07:00
Better Word Highlighting in Diffs
ship
<p>Commits, compare views, and pull requests now highlight individual changed words instead of the entire changed section, making it easier for you to see exactly what’s been added or removed.</p>
<p><a href="https://github.com/whatwg/streams/commit/35c68a41e455907fbbcb9bbe24a13057052fbc3a#diff-11"><img src="https://cloud.githubusercontent.com/assets/917945/4137704/c79d41de-3389-11e4-9730-434b99d7e8f8.gif" alt="Old and new highlighting behaviors" style="max-width:100%;"></a></p>
<p>And, of course, it works great with <a href="https://github.com/blog/1884-introducing-split-diffs">split diffs</a>, too:</p>
<p><a href="https://github.com/servo/servo/commit/567d21934230311430af529a3fa937aa21ab950d#diff-1"><img src="https://cloud.githubusercontent.com/assets/917945/4141218/611a7fe4-33ac-11e4-80cf-9950a7b8d08e.jpg" alt="New highlighting in split diff" style="max-width:100%;"></a></p>
aroben
tag:github.com,2008:Post/1884
2014-09-03T13:21:35-07:00
2014-09-03T13:21:35-07:00
Introducing split diffs
ship
<p><a href="https://cloud.githubusercontent.com/assets/98681/4139311/699ef6da-3399-11e4-8d8e-cf0a9e902867.gif" target="_blank"><img src="https://cloud.githubusercontent.com/assets/98681/4139311/699ef6da-3399-11e4-8d8e-cf0a9e902867.gif" alt="Split diff example" style="max-width:100%;"></a></p>
<p>Diffs now come in two flavors, unified and split. Switch between them on pull request, commit, and compare pages using the toggle in the top right of the page. The mode you last used will become your preferred default.</p>
<p><img class="emoji" title=":metal:" alt=":metal:" src="https://assets-cdn.github.com/images/icons/emoji/metal.png" height="20" width="20" align="absmiddle"></p>
mdo
tag:github.com,2008:Post/1880
2014-09-02T12:00:15-07:00
2014-09-02T12:17:37-07:00
Making MySQL Better at GitHub
engineering
<p><em>At GitHub we say, "it's not fully shipped until it's fast." We've talked before about some of the ways we keep our <a href="https://github.com/blog/1756-optimizing-large-selector-sets">frontend experience speedy</a>, but that's only part of the story. Our MySQL database infrastructure dramatically affects the performance of GitHub.com. Here's a look at how our infrastructure team seamlessly conducted a major MySQL improvement last August and made GitHub even faster.</em></p>
<h2>The mission</h2>
<p>Last year we moved the bulk of GitHub.com's infrastructure into a new datacenter with world-class hardware and networking. Since MySQL forms the foundation of our backend systems, we expected database performance to benefit tremendously from an improved setup. But creating a brand-new cluster with brand-new hardware in a new datacenter is no small task, so we had to plan and test carefully to ensure a smooth transition. </p>
<h2>Preparation</h2>
<p>A major infrastructure change like this requires measurement and metrics gathering every step of the way. After installing base operating systems on our new machines, it was time to test out our new setup with various configurations. To get a realistic test workload, we used <code>tcpdump</code> to extract <code>SELECT</code> queries from the old cluster that was serving production and replayed them onto the new cluster.</p>
<p>MySQL tuning is very workload specific, and well-known configuration settings like <code>innodb_buffer_pool_size</code> often make the most difference in MySQL's performance. But on a major change like this, we wanted to make sure we covered everything, so we took a look at settings like <code>innodb_thread_concurrency</code>, <code>innodb_io_capacity</code>, and <code>innodb_buffer_pool_instances</code>, among others.</p>
<p>We were careful to only make one test configuration change at a time, and to run tests for at least 12 hours. We looked for query response time changes, stalls in queries per second, and signs of reduced concurrency. We observed the output of <code>SHOW ENGINE INNODB STATUS</code>, particularly the <code>SEMAPHORES</code> section, which provides information on work load contention.</p>
<p>Once we were relatively comfortable with configuration settings, we started migrating one of our largest tables onto an isolated cluster. This served as an early test of the process, gave us more space in the buffer pools of our core cluster and provided greater flexibility for failover and storage. This initial migration introduced an interesting application challenge, as we had to make sure we could maintain multiple connections and direct queries to the correct cluster. </p>
<p>In addition to all our raw hardware improvements, we also made process and topology improvements: we added delayed replicas, faster and more frequent backups, and more read replica capacity. These were all built out and ready for <em>go-live day</em>.</p>
<h2>Making a list; checking it twice</h2>
<p>With millions of people using GitHub.com on a daily basis, we did not want to take any chances with the actual switchover. We came up with a thorough <a href="https://help.github.com/articles/writing-on-github#task-lists">checklist</a> before the transition:</p>
<p><a href="https://cloud.githubusercontent.com/assets/1155781/4116929/13fc6f50-328b-11e4-837b-922aad3055a8.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/1155781/4116929/13fc6f50-328b-11e4-837b-922aad3055a8.png" alt="checklist" style="max-width:100%;"></a></p>
<p>We also planned a maintenance window and <a href="https://github.com/blog/1603-site-maintenance-august-31st-2013">announced it on our blog</a> to give our users plenty of notice.</p>
<h2>Migration day</h2>
<p>At 5am Pacific Time on a Saturday, the migration team assembled online in chat and the process began:</p>
<p><a href="https://cloud.githubusercontent.com/assets/1155781/4060850/39f52cd4-2df3-11e4-9aca-1f54a4870d24.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/1155781/4060850/39f52cd4-2df3-11e4-9aca-1f54a4870d24.png" alt="butts" style="max-width:100%;"></a></p>
<p>We put the site in maintenance mode, made an announcement on Twitter, and set out to work through the list above:</p>
<p><a href="https://cloud.githubusercontent.com/assets/1155781/4060864/54ff6bac-2df3-11e4-95da-b059c0ec668f.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/1155781/4060864/54ff6bac-2df3-11e4-95da-b059c0ec668f.png" alt="tweet" style="max-width:100%;"></a></p>
<p><strong>13 minutes</strong> later, we were able to confirm operations of the new cluster:</p>
<p><a href="https://cloud.githubusercontent.com/assets/1155781/4060870/6a4c0060-2df3-11e4-8dab-654562fe628d.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/1155781/4060870/6a4c0060-2df3-11e4-8dab-654562fe628d.png" alt="test" style="max-width:100%;"></a></p>
<p>Then we flipped GitHub.com out of maintenance mode, and let the world know that we were in the clear.</p>
<p><a href="https://cloud.githubusercontent.com/assets/1155781/4060878/79b9884c-2df3-11e4-98ed-d11818c8915a.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/1155781/4060878/79b9884c-2df3-11e4-98ed-d11818c8915a.png" alt="all clear" style="max-width:100%;"></a></p>
<p>Lots of up front testing and preparation meant that we kept the work we needed on <em>go-live day</em> to a minimum.</p>
<h2>Measuring the final results</h2>
<p>In the weeks following the migration, we closely monitored performance and response times on GitHub.com. We found that our cluster migration cut the average GitHub.com page load time by half and the 99th percentile by <em>two-thirds</em>:</p>
<p><a href="https://cloud.githubusercontent.com/assets/1155781/4060886/9106e54e-2df3-11e4-8fda-a4c64c229ba1.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/1155781/4060886/9106e54e-2df3-11e4-8fda-a4c64c229ba1.png" alt="Things got fast" style="max-width:100%;"></a></p>
<h2>What we learned</h2>
<h3>Functional partitioning</h3>
<p>During this process we decided that moving larger tables that mostly store historic data to separate cluster was a good way to free up disk and buffer pool space. This allowed us to leave more resources for our "hot" data, splitting some connection logic to enable the application to query multiple clusters. This proved to be a big win for us and we are working to reuse this pattern.</p>
<h3>Always be testing</h3>
<p>You can never do too much acceptance and regression testing for your application. Replicating data from the old cluster to the new cluster while running acceptance tests and replaying queries were invaluable for tracing out issues and preventing surprises during the migration.</p>
<h3>The power of collaboration</h3>
<p>Large changes to infrastructure like this mean a lot of people need to be involved, so pull requests functioned as our primary point of coordination as a team. We had people all over the world jumping in to help. </p>
<p>Deploy day team map:</p>
<iframe height="420" width="620" frameborder="0" src="https://render.githubusercontent.com/view/geojson?url=https://gist.githubusercontent.com/anonymous/5fa29a7ccbd0101630da/raw/map.geojson"></iframe>
<p>This created a workflow where we could open a pull request to try out changes, get real-time feedback, and see commits that fixed regressions or errors -- all without phone calls or face-to-face meetings. When everything has a URL that can provide context, it's easy to involve a diverse range of people and make it simple for them give feedback.</p>
<h2>One year later..</h2>
<p>A full year later, we are happy to call this migration a success — MySQL performance and reliability continue to meet our expectations. And as an added bonus, the new cluster enabled us to make further improvements towards greater availability and query response times. I'll be writing more about those improvements here soon.</p>
samlambert
tag:github.com,2008:Post/1872
2014-08-20T11:48:17-07:00
2014-08-20T13:23:10-07:00
Improved Audit Log
ship
<p>We've just released some major improvements to our organization audit logs. <strong>As an organization admin</strong>, you can now see a running list of events as they're generated across your organization, or you can search for specific activities performed by the members of your org. This data provides you with better security insights and gives you the ability to audit account, team, and repository access over time.</p>
<p><a href="https://cloud.githubusercontent.com/assets/79995/3986436/f184b7ba-289a-11e4-8018-505d2310b02a.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/79995/3986436/f184b7ba-289a-11e4-8018-505d2310b02a.png" alt="Audit Log" style="max-width:100%;"></a></p>
<p>The audit log exposes <a href="https://help.github.com/articles/reviewing-the-audit-log-for-your-organization#searching-based-on-the-action-performed">a number of events</a> like repository deletes, billing updates, new member invites, and team creation. You can see the activities of individual team members, along with a map that highlights the location where events originated. Using the new query interface, you can then filter all these events by the action performed, the team member responsible, the date, repository, and location.</p>
<p><a href="https://cloud.githubusercontent.com/assets/79995/3974191/0fc44614-27f1-11e4-9db3-fb3f6cfc6749.png" target="_blank"><img src="https://cloud.githubusercontent.com/assets/79995/3974191/0fc44614-27f1-11e4-9db3-fb3f6cfc6749.png" alt="Example Query" style="max-width:100%;"></a></p>
<p>For more information on the audit log, check out the <a href="https://help.github.com/articles/reviewing-the-audit-log-for-your-organization">documentation</a>.</p>
dewski