1 2<!DOCTYPE html> 3<!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]--> 4<!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]--> 5<!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]--> 6<head> 7 <meta charset="utf-8"> 8 <title>Blog Archive - Strong Opinions Weakly Typed</title> 9 <meta name="author" content="Andrew Warner"> 10 11 12 <meta name="description" content="Blog Archive 2018 Faster and Simpler With the Command Line: Deep-comparing Two 5GB JSON Files 3X Faster by Ditching the Code 13Dec 07 2018 2014 Beware …"> 14 15 16 <!-- http://t.co/dKP3o1e --> 17 <meta name="HandheldFriendly" content="True"> 18 <meta name="MobileOptimized" content="320"> 19 <meta name="viewport" content="width=device-width, initial-scale=1"> 20 21 22 <link rel="canonical" href="https://www.strongopinionsweaklytyped.com/blog/archives"> 23 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> 24 <link href="/favicon.ico" rel="icon" type="image/x-icon"> 25 <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css"> 26 <link href="/atom.xml" rel="alternate" title="Strong Opinions Weakly Typed" type="application/atom+xml"> 27
27<script src="/javascripts/modernizr-2.0.js"></script>
27 28
28<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
28 29
29<script>!window.jQuery && document.write(unescape('%3Cscript src="./javascripts/libs/jquery.min.js"%3E%3C/script%3E'))</script>
29 30
30<script src="/javascripts/octopress.js" type="text/javascript"></script>
30 31 <!--Fonts from Google"s Web font directory at http://google.com/webfonts --> 32<link href="//fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css"> 33<link href="//fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css"> 34<link href='//fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'> 35<link href='//fonts.googleapis.com/css?family=Fjalla+One' rel='stylesheet' type='text/css'>
36<script src="/javascripts/genius_code.js" type="text/javascript"></script>
36 37 38
38<script type="text/javascript"> 39 var _gaq = _gaq || []; 40 _gaq.push(['_setAccount', 'UA-39386705-1']); 41 _gaq.push(['_trackPageview']); 42 43 (function() { 44 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 45 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 46 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 47 })(); 48 </script>
48 49 50 51</head> 52 53<body class="collapse-sidebar sidebar-footer" > 54 <header role="banner"><hgroup> 55 <a class="photo-link" href="/about"><div class="header-photo" title="Andrew Warner"></div></a> 56 <h1><a href="/">Strong Opinions Weakly Typed</a></h1> 57 <h2><a href="/about">Andrew Warner</a></h2> 58 <h3>Software Engineer and technology enthusiast <br> CTO at <a href="https://genius.com">Genius</a></h3> 59 <div class="social-navigation"> 60 <a href="https://github.com/a-warner" target="_blank"><i class="entypo-social"></i><span class="name">GitHub</span></a> 61 <a href="https://twitter.com/wwarner" target="_blank"><i class="entypo-social"></i><span class="name">Twitter</span></a> 62 <a href="https://www.linkedin.com/in/andrewwarnerdev" target="_blank"><i class="entypo-social"></i><span class="name">LinkedIn</span></a> 63</div> 64 65</hgroup> 66 67</header> 68 <nav role="navigation"><ul class="subscription" data-subscription="rss"> 69 <li><a href="/atom.xml" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li> 70 71</ul> 72 73<form action="https://google.com/search" method="get"> 74 <fieldset role="search"> 75 <input type="hidden" name="q" value="site:www.strongopinionsweaklytyped.com" /> 76 <input class="search" type="text" name="q" results="0" placeholder="Search"/> 77 </fieldset> 78</form> 79 80<ul class="main-navigation"> 81 <li><a href="/">Home</a></li> 82 <li><a href="/about">About</a></li> 83</ul> 84<div class="social-navigation"> 85 <a href="https://github.com/a-warner" target="_blank"><i class="entypo-social"></i><span class="name">GitHub</span></a> 86 <a href="https://twitter.com/wwarner" target="_blank"><i class="entypo-social"></i><span class="name">Twitter</span></a> 87 <a href="https://www.linkedin.com/in/andrewwarnerdev" target="_blank"><i class="entypo-social"></i><span class="name">LinkedIn</span></a> 88</div> 89 90 91</nav> 92 <div id="main"> 93 <div id="content"> 94 <div> 95<article role="article"> 96 97 <header> 98 <h1 class="entry-title">Blog Archive</h1> 99 100 </header> 101 102 <div id="blog-archives"> 103 104 105 106 107 <h2>2018</h2> 108 109<article> 110 111<h1><a href="/blog/2018/12/07/faster-and-simpler-with-the-command-line-deep-comparing-two-5gb-json-files-3x-faster-by-ditching-the-code/">Faster and Simpler With the Command Line: Deep-comparing Two 5GB JSON Files 3X Faster by Ditching the Code</a></h1> 112<time datetime="2018-12-07T07:42:27-05:00" pubdate><span class='month'>Dec</span> <span class='day'>07</span> <span class='year'>2018</span></time> 113 114 115</article> 116 117 118 119 120 <h2>2014</h2> 121 122<article> 123 124<h1><a href="/blog/2014/08/27/beware-the-siren-song-of-comments/">Beware the Siren Song of Comments</a></h1> 125<time datetime="2014-08-27T08:37:08-04:00" pubdate><span class='month'>Aug</span> <span class='day'>27</span> <span class='year'>2014</span></time> 126 127<footer> 128 <span class="categories">posted in <a class='category' href='/blog/categories/programming/'>programming</a>, <a class='category' href='/blog/categories/ruby/'>ruby</a></span> 129</footer> 130 131 132</article> 133 134 135 136<article> 137 138<h1><a href="/blog/2014/08/13/choosing-a-new-theme/">Choosing a New Theme</a></h1> 139<time datetime="2014-08-13T23:25:46-04:00" pubdate><span class='month'>Aug</span> <span class='day'>13</span> <span class='year'>2014</span></time> 140 141<footer> 142 <span class="categories">posted in <a class='category' href='/blog/categories/blogging/'>blogging</a>, <a class='category' href='/blog/categories/octopress/'>octopress</a>, <a class='category' href='/blog/categories/ruby/'>ruby</a></span> 143</footer> 144 145 146</article> 147 148 149 150<article> 151 152<h1><a href="/blog/2014/03/06/git-getpull-quickly-find-the-pull-request-that-merged-your-commit-to-master/">Git-getpull: Quickly Find the Pull Request That Merged Your Commit to Master</a></h1> 153<time datetime="2014-03-06T14:40:00-05:00" pubdate><span class='month'>Mar</span> <span class='day'>06</span> <span class='year'>2014</span></time> 154 155 156</article> 157 158 159 160 161 <h2>2013</h2> 162 163<article> 164 165<h1><a href="/blog/2013/04/21/the-3-ways-to-get-the-size-of-an-active-record-relation/">The 3 Ways to Get the Size of an Active Record Relation</a></h1> 166<time datetime="2013-04-21T18:14:00-04:00" pubdate><span class='month'>Apr</span> <span class='day'>21</span> <span class='year'>2013</span></time> 167 168<footer> 169 <span class="categories">posted in <a class='category' href='/blog/categories/active-record/'>active record</a>, <a class='category' href='/blog/categories/rails/'>rails</a>, <a class='category' href='/blog/categories/ruby/'>ruby</a></span> 170</footer> 171 172 173</article> 174 175 176 177<article> 178 179<h1><a href="/blog/2013/04/21/use-the-rails-router-for-routing/">Use the Rails Router for Routing!</a></h1> 180<time datetime="2013-04-21T17:41:00-04:00" pubdate><span class='month'>Apr</span> <span class='day'>21</span> <span class='year'>2013</span></time> 181 182<footer> 183 <span class="categories">posted in <a class='category' href='/blog/categories/rails/'>rails</a>, <a class='category' href='/blog/categories/ruby/'>ruby</a></span> 184</footer> 185 186 187</article> 188 189 190 191<article> 192 193<h1><a href="/blog/2013/03/17/simple-active-record-query-debugging-in-the-rails-console/">Simple Active Record Query Debugging in the Rails Console</a></h1> 194<time datetime="2013-03-17T18:22:00-04:00" pubdate><span class='month'>Mar</span> <span class='day'>17</span> <span class='year'>2013</span></time> 195 196<footer> 197 <span class="categories">posted in <a class='category' href='/blog/categories/active-record/'>active record</a>, <a class='category' href='/blog/categories/debugging/'>debugging</a>, <a class='category' href='/blog/categories/rails/'>rails</a>, <a class='category' href='/blog/categories/ruby/'>ruby</a></span> 198</footer> 199 200 201</article> 202 203 204 205<article> 206 207<h1><a href="/blog/2013/03/17/my-first-blog-post/">My First Blog Post</a></h1> 208<time datetime="2013-03-17T18:07:00-04:00" pubdate><span class='month'>Mar</span> <span class='day'>17</span> <span class='year'>2013</span></time> 209 210 211</article> 212 213</div> 214 215 216</article> 217 218</div> 219 220<aside class="sidebar"> 221 222 <section> 223 <h1>Recent Posts</h1> 224 <ul id="recent_posts"> 225 226 <li class="post"> 227 <a href="/blog/2018/12/07/faster-and-simpler-with-the-command-line-deep-comparing-two-5gb-json-files-3x-faster-by-ditching-the-code/">Faster and Simpler With the Command Line: Deep-comparing Two 5GB JSON Files 3X Faster by Ditching the Code</a> 228 </li> 229 230 <li class="post"> 231 <a href="/blog/2014/08/27/beware-the-siren-song-of-comments/">Beware the Siren Song of Comments</a> 232 </li> 233 234 <li class="post"> 235 <a href="/blog/2014/08/13/choosing-a-new-theme/">Choosing a New Theme</a> 236 </li> 237 238 <li class="post"> 239 <a href="/blog/2014/03/06/git-getpull-quickly-find-the-pull-request-that-merged-your-commit-to-master/">Git-getpull: Quickly Find the Pull Request That Merged Your Commit to Master</a> 240 </li> 241 242 <li class="post"> 243 <a href="/blog/2013/04/21/the-3-ways-to-get-the-size-of-an-active-record-relation/">The 3 Ways to Get the Size of an Active Record Relation</a> 244 </li> 245 246 </ul> 247</section> 248 249<section> 250 <h1>GitHub Repos</h1> 251 <ul id="gh_repos"> 252 <li class="loading">Status updating...</li> 253 </ul> 254 255 <a href="https://github.com/a-warner">@a-warner</a> on GitHub 256 257
257<script type="text/javascript"> 258 $(document).ready(function(){ 259 if (!window.jXHR){ 260 var jxhr = document.createElement('script'); 261 jxhr.type = 'text/javascript'; 262 jxhr.src = '/javascripts/libs/jXHR.js'; 263 var s = document.getElementsByTagName('script')[0]; 264 s.parentNode.insertBefore(jxhr, s); 265 } 266 267 github.showRepos({ 268 user: 'a-warner', 269 count: 0, 270 skip_forks: true, 271 target: '#gh_repos' 272 }); 273 }); 274 </script>
274 275
275<script src="/javascripts/github.js" type="text/javascript"> </script>
275 276</section> 277 278 279 280 281 282 283</aside> 284 285 286 </div> 287 </div> 288 <footer role="contentinfo"><div class="footer-links"> 289 <a href="/recent">Recent Posts</a> 290 <a href="/repos">GitHub Repos</a> 291</div> 292</p> 293<p> 294 Copyright © 2018 - Andrew Warner 295 <br> 296 Made using <a href="https://github.com/imathis/octopress">Octopress</a> and <a href="https://github.com/mjhea0/whiterspace">Whiterspace</a> 297</p> 298 299</footer> 300 301
302<script type="text/javascript"> 303 var disqus_shortname = 'leastastonished'; 304 305 306 var disqus_script = 'count.js'; 307 308 (function () { 309 var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; 310 dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script; 311 (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 312 }()); 313</script>
313 314 315 316 317<div id="fb-root"></div>
318<script>(function(d, s, id) { 319 var js, fjs = d.getElementsByTagName(s)[0]; 320 if (d.getElementById(id)) {return;} 321 js = d.createElement(s); js.id = id; js.async = true; 322 js.src = "//connect.facebook.net/en_US/all.js#appId=212934732101925&xfbml=1"; 323 fjs.parentNode.insertBefore(js, fjs); 324}(document, 'script', 'facebook-jssdk'));</script>
324 325 326 327 328 329 330
330<script type="text/javascript"> 331 (function(){ 332 var twitterWidgets = document.createElement('script'); 333 twitterWidgets.type = 'text/javascript'; 334 twitterWidgets.async = true; 335 twitterWidgets.src = '//platform.twitter.com/widgets.js'; 336 document.getElementsByTagName('head')[0].appendChild(twitterWidgets); 337 })(); 338 </script>
338 339 340 341 342 343
344<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"b96e5b4d976b40fcaabd1ade5c6e59c6","r":1,"spa":2}' crossorigin="anonymous"></script>
344 345</body> 346</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.