PageSourceSearch

https://githubengineering.com/

html githubengineering.com collected 2026-09-24 08:25:34 UTC 13,599 bytes, 258 lines download raw bytes

1<!DOCTYPE html>
2
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-us">
4  <head>
5    <link href="http://gmpg.org/xfn/11" rel="profile">
6    <meta http-equiv="content-type" content="text/html; charset=utf-8">
7    <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon">
8
9    <!-- Enable responsiveness on mobile devices-->
10    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
11
12    <!-- CSS -->
13    <link rel="stylesheet" href="/css/reset.css">
14    <link rel="stylesheet" href="/css/markdown.css">
15    <link rel="stylesheet" href="/css/syntax.css">
16    <link rel="stylesheet" href="/css/eng.css">
17    <link rel="stylesheet" href="/css/chat.css">
18    <link rel="stylesheet" href="/octicons/octicons.css">
19
20    <!-- RSS -->
21    <link type="application/atom+xml" rel="alternate" href="https://github.blog/engineering.atom" title="GitHub Engineering" />
22
23    <meta name="octolytics-app-id" content="internal-engineering-blog">
24
25    <!-- Begin Jekyll SEO tag v2.7.1 -->
26<title>GitHub Engineering | The Blog of the GitHub Engineering Team</title>
27<meta name="generator" content="Jekyll v3.9.0" />
28<meta property="og:title" content="GitHub Engineering" />
29<meta name="author" content="GitHub Engineering" />
30<meta property="og:locale" content="en_US" />
31<meta name="description" content="The Blog of the GitHub Engineering Team" />
32<meta property="og:description" content="The Blog of the GitHub Engineering Team" />
33<link rel="canonical" href="https://githubengineering.com/" />
34<meta property="og:url" content="https://githubengineering.com/" />
35<meta property="og:site_name" content="GitHub Engineering" />
36<link rel="next" href="https://githubengineering.com/page/2" />
37<meta name="twitter:card" content="summary" />
38<meta property="twitter:title" content="GitHub Engineering" />
39<meta name="twitter:site" content="@GitHubEng" />
40<meta name="twitter:creator" content="@GitHub Engineering" />
41<meta property="article:publisher" content="https://www.facebook.com/GitHub/" />
42<meta property="fb:app_id" content="1401488693436528" />
43<script type="application/ld+json">
44{"description":"The Blog of the GitHub Engineering Team","url":"https://githubengineering.com/","@type":"WebSite","headline":"GitHub Engineering","name":"GitHub Engineering","author":{"@type":"Person","name":"GitHub Engineering"},"@context":"https://schema.org"}</script>
44
45<!-- End Jekyll SEO tag -->
46
47  </head>
48
49  <body>
50    <header>
51      <div class="content">
52        <h2 class="no-anchor"><a href="/">GitHub Engineering</a></h2>
53        <ul>
54          <li><a href="/atom.xml"><span class="octicon octicon-rss"></span></a></li>
55          <li><a href="http://twitter.com/GitHubEng" class="twitter-logo"></a></li>
56        </ul>
57      </div>
58    </header>
59
60    <section>
61  
62  
63  <div class="callout">
64  
65  <article>
66    <div class="post-content">
67      <h1 class="post-title"><a href="/vulcanizer-a-library-for-elasticsearch/">Vulcanizer: a library for operating Elasticsearch</a></h1>
68      <p class="meta">
69        
70  
71  
72  
73  <a href="https://github.com/nickcanz" class="post-author-image ">
74    <img class="avatar avatar-small" alt="nickcanz" width="40" height="40" data-proofer-ignore="true" src="https://avatars1.githubusercontent.com/nickcanz?v=3&amp;s=40" srcset="https://avatars1.githubusercontent.com/nickcanz?v=3&amp;s=40 1x, https://avatars1.githubusercontent.com/nickcanz?v=3&amp;s=80 2x, https://avatars1.githubusercontent.com/nickcanz?v=3&amp;s=120 3x, https://avatars1.githubusercontent.com/nickcanz?v=3&amp;s=160 4x">
75  </a>
76  <a href="https://github.com/nickcanz" class="post-author">nickcanz</a>
77
78  
79  
80  
81  <a href="https://github.com/jessbreckenridge" class="post-author-image ">
82    <img class="avatar avatar-small" alt="jessbreckenridge" width="40" height="40" data-proofer-ignore="true" src="https://avatars1.githubusercontent.com/jessbreckenridge?v=3&amp;s=40" srcset="https://avatars1.githubusercontent.com/jessbreckenridge?v=3&amp;s=40 1x, https://avatars1.githubusercontent.com/jessbreckenridge?v=3&amp;s=80 2x, https://avatars1.githubusercontent.com/jessbreckenridge?v=3&amp;s=120 3x, https://avatars1.githubusercontent.com/jessbreckenridge?v=3&amp;s=160 4x">
83  </a>
84  <a href="https://github.com/jessbreckenridge" class="post-author">jessbreckenridge</a>
85
86
87        <span class="post-date"><span class="octicon octicon-calendar"></span>March 05, 2019</span>
88      </p>
89      <div class="markdown-body">
90        <p>At GitHub, we use <a href="https://www.elastic.co/products/elasticsearch">Elasticsearch</a> as the main technology backing our search services. In order to administer our clusters, we use ChatOps via <a href="https://hubot.github.com/">Hubot</a>. As of 2017, those commands were a collection of Bash and Ruby-based scripts.</p>
91
92
93      </div>
94    </div>
95  </article>
96  
97  </div>
98  
99  
100  
101  <article>
102    <div class="post-content">
103      <h1 class="post-title"><a href="/an-open-source-parser-for-github-actions/">An open source parser for GitHub Actions</a></h1>
104      <p class="meta">
105        
106  
107  
108  
109  <a href="https://github.com/piki" class="post-author-image ">
110    <img class="avatar avatar-small" alt="piki" width="40" height="40" data-proofer-ignore="true" src="https://avatars2.githubusercontent.com/piki?v=3&amp;s=40" srcset="https://avatars2.githubusercontent.com/piki?v=3&amp;s=40 1x, https://avatars2.githubusercontent.com/piki?v=3&amp;s=80 2x, https://avatars2.githubusercontent.com/piki?v=3&amp;s=120 3x, https://avatars2.githubusercontent.com/piki?v=3&amp;s=160 4x">
111  </a>
112  <a href="https://github.com/piki" class="post-author">piki</a>
113
114
115        <span class="post-date"><span class="octicon octicon-calendar"></span>February 07, 2019</span>
116      </p>
117      <div class="markdown-body">
118        <p>Since the beta <a href="https://github.blog/2018-10-17-action-demos/">release of GitHub Actions</a> last October, thousands of users have added workflow files to their repositories.  But until now, those files only work with the tools GitHub provided: the Actions editor, the Actions execution platform, and the syntax highlighting built into pull requests.  To expand that universe, we need to release the <a href="https://github.com/actions/workflow-parser">parser</a> and the <a href="https://github.com/actions/workflow-parser/blob/master/language.md">specification</a> for the Actions workflow language as open source.  Today, we’re doing that.</p>
119
120
121      </div>
122    </div>
123  </article>
124  
125  
126  
127  <article>
128    <div class="post-content">
129      <h1 class="post-title"><a href="/upgrading-github-from-rails-3-2-to-5-2/">Upgrading GitHub from Rails 3.2 to 5.2</a></h1>
130      <p class="meta">
131        
132  
133  
134  
135  <a href="https://github.com/eileencodes" class="post-author-image ">
136    <img class="avatar avatar-small" alt="eileencodes" width="40" height="40" data-proofer-ignore="true" src="https://avatars1.githubusercontent.com/eileencodes?v=3&amp;s=40" srcset="https://avatars1.githubusercontent.com/eileencodes?v=3&amp;s=40 1x, https://avatars1.githubusercontent.com/eileencodes?v=3&amp;s=80 2x, https://avatars1.githubusercontent.com/eileencodes?v=3&amp;s=120 3x, https://avatars1.githubusercontent.com/eileencodes?v=3&amp;s=160 4x">
137  </a>
138  <a href="https://github.com/eileencodes" class="post-author">eileencodes</a>
139
140
141        <span class="post-date"><span class="octicon octicon-calendar"></span>September 28, 2018</span>
142      </p>
143      <div class="markdown-body">
144        <p>On August 15th GitHub celebrated a major milestone: our main application is now running on the latest version of Rails: 5.2.1! <img class="emoji" title=":tada:" alt=":tada:" src="https://github.githubassets.com/images/icons/emoji/unicode/1f389.png" height="20" width="20"></p>
145
146
147      </div>
148    </div>
149  </article>
150  
151  
152  
153  <article>
154    <div class="post-content">
155      <h1 class="post-title"><a href="/towards-natural-language-semantic-code-search/">Towards Natural Language Semantic Code Search</a></h1>
156      <p class="meta">
157        
158  
159  
160  
161  <a href="https://github.com/hamelsmu" class="post-author-image ">
162    <img class="avatar avatar-small" alt="hamelsmu" width="40" height="40" data-proofer-ignore="true" src="https://avatars1.githubusercontent.com/hamelsmu?v=3&amp;s=40" srcset="https://avatars1.githubusercontent.com/hamelsmu?v=3&amp;s=40 1x, https://avatars1.githubusercontent.com/hamelsmu?v=3&amp;s=80 2x, https://avatars1.githubusercontent.com/hamelsmu?v=3&amp;s=120 3x, https://avatars1.githubusercontent.com/hamelsmu?v=3&amp;s=160 4x">
163  </a>
164  <a href="https://github.com/hamelsmu" class="post-author">hamelsmu</a>
165
166  
167  
168  
169  <a href="https://github.com/hohsiangwu" class="post-author-image ">
170    <img class="avatar avatar-small" alt="hohsiangwu" width="40" height="40" data-proofer-ignore="true" src="https://avatars0.githubusercontent.com/hohsiangwu?v=3&amp;s=40" srcset="https://avatars0.githubusercontent.com/hohsiangwu?v=3&amp;s=40 1x, https://avatars0.githubusercontent.com/hohsiangwu?v=3&amp;s=80 2x, https://avatars0.githubusercontent.com/hohsiangwu?v=3&amp;s=120 3x, https://avatars0.githubusercontent.com/hohsiangwu?v=3&amp;s=160 4x">
171  </a>
172  <a href="https://github.com/hohsiangwu" class="post-author">hohsiangwu</a>
173
174
175        <span class="post-date"><span class="octicon octicon-calendar"></span>September 18, 2018</span>
176      </p>
177      <div class="markdown-body">
178        <p><img src="/images/semantic_code_search/main.jpg" alt="Hubot"></p>
179
180
181      </div>
182    </div>
183  </article>
184  
185  
186  
187  <article>
188    <div class="post-content">
189      <h1 class="post-title"><a href="/removing-jquery-from-github-frontend/">Removing jQuery from GitHub.com frontend</a></h1>
190      <p class="meta">
191        
192  
193  
194  
195  <a href="https://github.com/mislav" class="post-author-image ">
196    <img class="avatar avatar-small" alt="mislav" width="40" height="40" data-proofer-ignore="true" src="https://avatars2.githubusercontent.com/mislav?v=3&amp;s=40" srcset="https://avatars2.githubusercontent.com/mislav?v=3&amp;s=40 1x, https://avatars2.githubusercontent.com/mislav?v=3&amp;s=80 2x, https://avatars2.githubusercontent.com/mislav?v=3&amp;s=120 3x, https://avatars2.githubusercontent.com/mislav?v=3&amp;s=160 4x">
197  </a>
198  <a href="https://github.com/mislav" class="post-author">mislav</a>
199
200  
201  
202  
203  <a href="https://github.com/koddsson" class="post-author-image ">
204    <img class="avatar avatar-small" alt="koddsson" width="40" height="40" data-proofer-ignore="true" src="https://avatars2.githubusercontent.com/koddsson?v=3&amp;s=40" srcset="https://avatars2.githubusercontent.com/koddsson?v=3&amp;s=40 1x, https://avatars2.githubusercontent.com/koddsson?v=3&amp;s=80 2x, https://avatars2.githubusercontent.com/koddsson?v=3&amp;s=120 3x, https://avatars2.githubusercontent.com/koddsson?v=3&amp;s=160 4x">
205  </a>
206  <a href="https://github.com/koddsson" class="post-author">koddsson</a>
207
208  
209  
210  
211  <a href="https://github.com/muan" class="post-author-image ">
212    <img class="avatar avatar-small" alt="muan" width="40" height="40" data-proofer-ignore="true" src="https://avatars2.githubusercontent.com/muan?v=3&amp;s=40" srcset="https://avatars2.githubusercontent.com/muan?v=3&amp;s=40 1x, https://avatars2.githubusercontent.com/muan?v=3&amp;s=80 2x, https://avatars2.githubusercontent.com/muan?v=3&amp;s=120 3x, https://avatars2.githubusercontent.com/muan?v=3&amp;s=160 4x">
213  </a>
214  <a href="https://github.com/muan" class="post-author">muan</a>
215
216  
217  <span class="separator"></span>
218  
219  <a href="https://github.com/keithamus" class="post-author-image new-row">
220    <img class="avatar avatar-small" alt="keithamus" width="40" height="40" data-proofer-ignore="true" src="https://avatars0.githubusercontent.com/keithamus?v=3&amp;s=40" srcset="https://avatars0.githubusercontent.com/keithamus?v=3&amp;s=40 1x, https://avatars0.githubusercontent.com/keithamus?v=3&amp;s=80 2x, https://avatars0.githubusercontent.com/keithamus?v=3&amp;s=120 3x, https://avatars0.githubusercontent.com/keithamus?v=3&amp;s=160 4x">
221  </a>
222  <a href="https://github.com/keithamus" class="post-author">
222keithamus</a>
223
224
225        <span class="post-date"><span class="octicon octicon-calendar"></span>September 06, 2018</span>
226      </p>
227      <div class="markdown-body">
228        <p>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 decoupling from jQuery until we were able to completely remove the library. In this post, we will explain a bit of history of how we started depending on jQuery in the first place, how we realized when it was no longer needed, and point out that—instead of replacing it with another library or framework—we were able to achieve everything that we needed using standard browser APIs.</p>
229
230
231      </div>
232    </div>
233  </article>
234  
235  
236</section>
237
238
239<section class="pagination">
240  <div class="content">
241    
242      <a class="button button-previous" href="/page/2">Older posts</a>
243    
244
245    
246  </div>
247</section>
248
249
250
251    <footer>
252      <div class="content">
253        <p>For updates, follow us on <a href="http://twitter.com/GitHubEng">Twitter</a> or <a href="https://github.com/about/jobs">join our team</a>. Check out <a href="/atom.xml">the feed</a> if you do the RSS thing.</p>
254        <p class="made-with-love"><span class="octicon octicon-pencil"></span> with <span class="octicon octicon-heart"></span> by <a href="https://github.com" class="octicon octicon-logo-github footer-logo"></a></p>
255      </div>
256    </footer>
257  </body>
258</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.