PageSourceSearch

https://jklukas.github.io/

html jklukas.github.io collected 2026-10-03 09:23:53 UTC 24,990 bytes, 579 lines download raw bytes

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>Jeff Klukas</title>
9  <meta name="author" content="Jeff Klukas">
10
11  
12  <meta name="description" content="This post originally appeared on the Simple Engineering Blog. Simple has adopted Amazon Redshift
13as a data warehouse. It’s used not just by our data &hellip;">
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="http://jeff.klukas.net/">
23  <link href="/favicon.png" rel="icon">
24  <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css">
25  <link href="/atom.xml" rel="alternate" title="Jeff Klukas" type="application/atom+xml">
26  
26<script src="/javascripts/modernizr-2.0.js"></script>
26
27  
27<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
27
28  
28<script>!window.jQuery && document.write(unescape('%3Cscript src="/javascripts/libs/jquery.min.js"%3E%3C/script%3E'))</script>
28
29  
29<script src="/javascripts/octopress.js" type="text/javascript"></script>
29
30  <!--Fonts from Google"s Web font directory at http://google.com/webfonts -->
31<link href="//fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
32<link href="//fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
33
34<link href="http://fonts.googleapis.com/css?family=Cabin+Sketch:bold" rel="stylesheet" type="text/css">
35<link href="http://fonts.googleapis.com/css?family=Cabin:regular,regularitalic" rel="stylesheet" type="text/css">
36<link href="http://fonts.googleapis.com/css?family=Indie+Flower" rel="stylesheet" type="text/css">
37
38<!--Font Awesome-->
39<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
40
41<!--MathJax-->
42<script type="text/x-mathjax-config">
43  MathJax.Hub.Config({
44    tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']],
45              processEscapes: true}
46  });
47</script>
vendor: 1 bytes, line 47
47
48<script type="text/javascript"
49  src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
50</script>
50
51
52  
53
54</head>
55
56<body   >
57  <header role="banner"><hgroup>
58  <h1><a href="/">Jeff Klukas</a></h1>
59  
60</hgroup>
61
62</header>
63  <nav role="navigation"><ul class="subscription" data-subscription="rss">
64  <li><a href="/atom.xml" rel="subscribe-rss" title="subscribe via RSS"><i class="fa fa-rss fa-lg"></i></a></li>
65  
66</ul>
67  
68<form action="https://www.google.com/search" method="get">
69  <fieldset role="search">
70    <input type="hidden" name="sitesearch" value="jeff.klukas.net">
71    <input class="search" type="text" name="q" results="0" placeholder="Search"/>
72  </fieldset>
73</form>
74  
75<ul class="main-navigation">
76  <li><a href="/">Home</a></li>
77  <li><a href="/archives">Posts</a></li>
78  <li><a href="/bio">Bio</a></li>
79  <li><a href="/categories/writing">Writing</a></li>
80</ul>
81
82</nav>
83  <div id="main">
84    <div id="content">
85      <div class="blog-index">
86  
87  
88  
89    <article>
90      
91  <header>
92    
93      <h1 class="entry-title"><a href="/content/2015/04/07/safe-migrations-with-redshift/">Safe Migrations with Redshift</a></h1>
94    
95    
96      <p class="meta">
97        
98
99
100
101
102<time class='entry-date' datetime='2015-04-07T11:54:12-04:00'><span class='date'><span class='date-month'>Apr</span> <span class='date-day'>7</span><span class='date-suffix'>th</span>, <span class='date-year'>2015</span></span> <span class='time'>11:54 am</span></time>
103        
104      </p>
105    
106  </header>
107
108
109  <div class="entry-content"><p><em>This post originally appeared on the <a href="https://www.simple.com/engineering/safe-migrations-with-redshift">Simple Engineering Blog</a>.</em></p>
110
111<p>Simple has adopted <a href="https://aws.amazon.com/redshift/">Amazon Redshift</a>
112as a data warehouse. It’s used not just by our data analysts, but by
113teams throughout the company to answer questions about
114fraud, customer behavior, and more.</p>
115
116</div>
117  
118  
119    <footer>
120      <a rel="full-article" href="/content/2015/04/07/safe-migrations-with-redshift/">Read on &rarr;</a>
121    </footer>
122  
123
124
125    </article>
126  
127  
128    <article>
129      
130  <header>
131    
132      <h1 class="entry-title"><a href="/content/2015/03/30/band-aids/">Band-Aids</a></h1>
133    
134    
135      <p class="meta">
136        
137
138
139
140
141<time class='entry-date' datetime='2015-03-30T22:33:25-04:00'><span class='date'><span class='date-month'>Mar</span> <span class='date-day'>30</span><span class='date-suffix'>th</span>, <span class='date-year'>2015</span></span> <span class='time'>10:33 pm</span></time>
142        
143      </p>
144    
145  </header>
146
147
148  <div class="entry-content"><p>Most of the sections in this site’s sidebar stopped functioning at some point in the past two years, and I’m just now getting around to making updates. Security needs are ever-changing, so two years is far too long to expect a web API to remain functional. I’m applying some Band-Aids to get things functional again, and also edited some outdated content.</p>
149
150<p>I actually have some writing momentum building right now as I’m starting to author engineering posts for Simple. I have a first article on schema migrations in Amazon Redshift that’s currently under review and will hopefully get published next week.</p>
151</div>
152  
153  
154
155
156    </article>
157  
158  
159    <article>
160      
161  <header>
162    
163      <h1 class="entry-title"><a href="/content/2014/08/27/starting-at-simple/">Starting at Simple</a></h1>
164    
165    
166      <p class="meta">
167        
168
169
170
171
172<time class='entry-date' datetime='2014-08-27T16:32:00-04:00'><span class='date'><span class='date-month'>Aug</span> <span class='date-day'>27</span><span class='date-suffix'>th</span>, <span class='date-year'>2014</span></span> <span class='time'>4:32 pm</span></time>
173        
174      </p>
175    
176  </header>
177
178
179  <div class="entry-content"><p>I started a new job this past Monday at Simple (simple.com) and I’m getting myself situated there. They have a strong culture of open source and information sharing, so I’m hoping that translates into me being more diligent about blogging.  So far, so good.</p>
180
181<p>There are lots of animated GIFs flying around at Simple, both in email and on IRC. In that spirit, I leave with the Dude:</p>
182
183<p><img src="http://i.imgur.com/dEL6l.gif" /></p>
184</div>
185  
186  
187
188
189    </article>
190  
191  
192    <article>
193      
194  <header>
195    
196      <h1 class="entry-title"><a href="/content/2013/01/01/new-years-resolution-read-man-pages/">New Year&#8217;s Resolution: Read man Pages</a></h1>
197    
198    
199      <p class="meta">
200        
201
202
203
204
205<time class='entry-date' datetime='2013-01-01T16:00:00-05:00'><span class='date'><span class='date-month'>Jan</span> <span class='date-day'>1</span><span class='date-suffix'>st</span>, <span class='date-year'>2013</span></span> <span class='time'>4:00 pm</span></time>
206        
207      </p>
208    
209  </header>
210
211
212  <div class="entry-content"><p>I’ve become addicted to <a href="http://tmux.sourceforge.net/">tmux</a>, the terminal multiplexer.  It lets me turn one terminal window into a multi-tabbed, multi-paned hub for all my terminal-based exploits.</p>
213
214<p>I’ve been mulling for a while if there is a way to emulate <a href="http://sourceforge.net/projects/clusterssh/">Cluster SSH</a> using tmux, being able to type a command once and have it be executed in multiple sessions on different servers.  I spent a few hours today Googling for ideas on how to do such a thing, stumbling across <a href="https://gist.github.com/2773454">a gist that seemed to do something close to what I want</a>, then sinking some more effort into adapting it to my needs.  The result worked, but was a bit messy.</p>
215
216<p>While trying to clean up my solution, I did some searching in the tmux man page.  In order to understand what I was reading, I had to page back to review the section header and stumbled upon the <code>synchronize-panes</code> window option.  It was exactly the functionality I was looking for, already baked into tmux.</p>
217
218<p>So my New Year’s resolution is to spend less time Googling and more time reading the official documentation.  Instead of waiting until I need some specific feature, I’m going to set aside a little time every day to get a broader view on the tools I rely on to be productive.</p>
219</div>
220  
221  
222
223
224    </article>
225  
226  
227    <article>
228      
229  <header>
230    
231      <h1 class="entry-title"><a href="/content/2012/12/09/making-a-title-column-in-css/">Making a Title Column in CSS</a></h1>
232    
233    
234      <p class="meta">
235        
236
237
238
239
240<time class='entry-date' datetime='2012-12-09T14:23:00-05:00'><span class='date'><span class='date-month'>Dec</span> <span class='date-day'>9</span><span class='date-suffix'>th</span>, <span class='date-year'>2012</span></span> <span class='time'>2:23 pm</span></time>
241        
242      </p>
243    
244  </header>
245
246
247  <div class="entry-content"><p>So, if I <em>were</em> to actually recode my blog, I’d need to decide on a layout that’s actually manageable.  The current design is a modification on top of the default Octopress theme which involves much CSS and Javascript wizardry beyond my comprehension.</p>
248
249<p>One possible direction is to go for vast simplification and build the styling from scratch.  I styled my own CV with inspiration from <a href="http://kieranhealy.org/vita.pdf">the CV of Kieran Healy</a> and have liked the idea of pushing titles into the left column.  I’d actually like to push other content like photos into the left column as well so that it’s kind of an alternate universe for items other than body text.  Here’s the working mock-up I’ve put together for the web:</p>
250
251<iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/jklukas/DvrTb/2/embedded/result,html,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe>
252<p>It keeps things in sync with the text.  I’m working to keep the vertical spacing in rhythm, so that the items in the left column fall on the same line boundaries as the main text.  The line height for the title is 1.5 times that for the body text, so the two lines of the title equal three lines of text.  I’m not sure I’ve got the image positioned correctly yet.</p>
253
254<p>Is this a reasonable concept to start from?</p>
255</div>
256  
257  
258
259
260    </article>
261  
262  
263    <article>
264      
265  <header>
266    
267      <h1 class="entry-title"><a href="/content/2012/12/01/i-fought-the-octopus-and-the-octopus-won/">I Fought the Octopus and the Octopus Won</a></h1>
268    
269    
270      <p class="meta">
271        
272
273
274
275
276<time class='entry-date' datetime='2012-12-01T18:36:00-05:00'><span class='date'><span class='date-month'>Dec</span> <span class='date-day'>1</span><span class='date-suffix'>st</span>, <span class='date-year'>2012</span></span> <span class='time'>6:36 pm</span></time>
277        
278      </p>
279    
280  </header>
281
282
283  <div class="entry-content"><p><a href="http://en.wikipedia.org/wiki/Octopus"><img class="left" alt="The octopus" src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/57/Octopus2.jpg/631p
283x-Octopus2.jpg" style="width:315px; height:240px;" /></a></p>
284
285<p>My blogging frequency has been embarrassingly low, confirming my suspicion that my interest lies more in the technical aspects of setting up a site than in populating it with stunningly brilliant content.  Part of the problem is that <a href="http://octopress.org">Octopress</a>, my chosen blogging framework, has turned out to be more cumbersome than originally anticipated.  I was lured in by the idea that my whole blog would just be text files – no database, nothing hidden, I would be able to control and understand everything.  While I’ve certainly learned a lot by using Octopress, posting new content involves having a properly setup development environment on whatever machine you’re using.  By the time a month has gone by and I finally get around to thinking of something new to add to the blog, I’ve completely forgotten how things work and I’m confronted with some new hurdle that stops me from pushing my new post to the site.</p>
286
287<p>That said, Octopress is a pretty cool concept with some beautiful results.  My experience would probably be a bit smoother if I were better acquainted with Ruby syntax and culture.  Tools like <code>rake</code> and <code>rvm</code> are still black boxes to me and I’ve been burned by not understanding them enough to fix problems.  And I need to get a lot more familiar with <code>git</code>.  Octopress has actually been a pretty fun way to get introduced to the Ruby ecosystem.</p>
288
289<p>I now understand just how nice it is to be able to post to write a blog post through a web interface, from whatever machine you happen to come across.  So I’m ready to admit it might be worth using a database.  Recently, I’ve gotten fairly heavily involved in development for an internal Q&amp;A site at Epic based on the open source Django app <a href="http://www.osqa.net">
289OSQA</a>, which has gotten me interested in trying out a Django-based blog.  Writing in python puts me on home turf and it’s a good chance to get to know the process of developing an MVC app from scratch.</p>
290
291<p>If I make posting easier on myself, there’s some chance this site will become something a bit more interesting than just another blog about putting together a blog.</p>
292</div>
293  
294  
295
296
297    </article>
298  
299  
300    <article>
301      
302  <header>
303    
304      <h1 class="entry-title"><a href="/content/2012/06/01/employment-gap/">Gap Time</a></h1>
305    
306    
307      <p class="meta">
308        
309
310
311
312
313<time class='entry-date' datetime='2012-06-01T15:28:00-04:00'><span class='date'><span class='date-month'>Jun</span> <span class='date-day'>1</span><span class='date-suffix'>st</span>, <span class='date-year'>2012</span></span> <span class='time'>3:28 pm</span></time>
314        
315      </p>
316    
317  </header>
318
319
320  <div class="entry-content"><p>Starting a new job with <a href="http://epic.com">Epic</a> on Monday, working with their Server Systems team to provide configuration, deployment, and monitoring of high-performance databases for large healthcare systems.  The past few weeks have given me some rare downtime, though, to throw effort at a few projects that had been on my mind.  A few of the things I’ve accomplished during my gap time:</p>
321
322<ul>
323  <li>Made $300 in one morning by doing some hacking in response to <a href="https://twitter.com/planetpython/status/203147081005805569">a tweet</a>.</li>
324  <li>Rebuilt <a href="http://ac-aa.org">ac-aa.org</a> in Wordpress so that minor changes can be handled directly by members of the ACAA community rather than having to go through me.</li>
325  <li>Learned the basics of MVC web apps and Ruby on Rails, inspired by the prodding of some of the good folks at <a href="http://bendyworks.com">Bendyworks</a>.</li>
326  <li>Attended some Madison-area software meetups to get better acquainted with the local tech ecosystem.</li>
327  <li>Cleaned up the source code for my thesis and published a LaTeX style configuration on Github that I hope other UW dissertators will use to make their lives easier.</li>
328  <li>Updated the look of this site to be more stable and to better accomodate those nifty high-res displays.  I’m using <a href="http://fortawesome.github.com/Font-Awesome/">FontAwesome</a> for icons in the sidebar and updated some images for double resolution.</li>
329</ul>
330</div>
331  
332  
333
334
335    </article>
336  
337  
338    <article>
339      
340  <header>
341    
342      <h1 class="entry-title"><a href="/content/2012/05/07/phd-thesis/">A Search for Exotic Particles</a></h1>
343    
344    
345      <p class="meta">
346        
347
348
349
350
351<time class='entry-date' datetime='2012-05-07T11:11:00-04:00'><span class='date'><span class='date-month'>May</span> <span class='date-day'>7</span><span class='date-suffix'>th</span>, <span class='date-year'>2012</span></span> <span class='time'>11:11 am</span></time>
352        
353      </p>
354    
355  </header>
356
357
358  <div class="entry-content"><p>My Ph.D. dissertation, performed at the University of Wisconsin-Madison.</p>
359
360<p>Abstract: A search for exotic particles decaying via <em>WZ</em> to final states with electrons and muons is performed using a data sample of <em>pp</em> collisions collected at 7 TeV center-of-mass energy by the CMS experiment at the LHC, corresponding to an integrated luminosity of 4.98 inverse femtobarns.  A cross section measurement for the production of <em>WZ</em> is also performed on a subset of the collision data.  No significant excess is observed over the Standard Model background, so lower bounds at the 95% confidence level are set on the production cross sections of hypothetical particles decaying to <em>WZ</em> in several theoretical scenarios.  Assuming the Sequential Standard Model, <em>W’</em> bosons with masses below 1143 GeV are excluded.  New limits are also set for several configurations of Low-Scale Technicolor.</p>
361
362<p>I have put the <a href="https://github.com/jklukas/gradthesis">LaTeX source on GitHub</a>, along with a <a href="https://github.com/jklukas/uwthesis">style file</a> that should be reuasable for others preparing a UW-Madison dissertation.  I hope others find it helpful as a jumping-off point.</p>
363
364<p>The official version is available as a <a href="https://cdsweb.cern.ch/record/1446308">record on the CERN Document Server</a>.  I also produced a <a href="/files/klukas-thesis-twocol.pdf">single-spaced two-column version</a> suitable for printing and a <a href="/files/klukas-thesis-trade.pdf">trade size</a> for ordering a few bound copies on <a href="http://lulu.com">lulu.com</a>.</p>
365</div>
366  
367  
368
369
370    </article>
371  
372  
373    <article>
374      
375  <header>
376    
377      <h1 class="entry-title"><a href="/content/2012/03/19/rootplot/">RootPlot</a></h1>
378    
379    
380      <p class="meta">
381        
382
383
384
385
386<time class='entry-date' datetime='2012-03-19T10:07:00-04:00'><span class='date'><span class='date-month'>Mar</span> <span class='date-day'>19</span><span class='date-suffix'>th</span>, <span class='date-year'>2012</span></span> <span class='time'>10:07 am</span></time>
387        
388      </p>
389    
390  </header>
391
392
393  <div class="entry-content"><p><a href="http://packages.python.org/rootplot"><img class="right" style="border: 0; background: none;" src="http://packages.python.org/rootplot/_static/rootplot-logo.png" /></a></p>
394
395<p>ROOT is a powerful data analysis tool within the particle physics community, and the primary lens through which we see our data. The framework includes quite a bit of graphical capability, but this has understandably not been the first priority in designing its capabilities or its interface.  By exploiting the pyROOT interface to the Python interpreter, I created the <a href="http://packages.python.org/rootplot">RootPlot package</a> to provide scripts and libraries to make working with the graphical side of ROOT easier.</p>
396
397<p>Of particular note, it easily allows the user to output images through matplotlib, a more full-featured plotting package, to achieve results more attractive than possible with ROOT alone.</p>
398</div>
399  
400  
401
402
403    </article>
404  
405  
406    <article>
407      
408  <header>
409    
410      <h1 class="entry-title"><a href="/content/2012/03/19/ac-aa-dot-org/">ac-aa.org</a></h1>
411    
412    
413      <p class="meta">
414        
415
416
417
418
419<time class='entry-date' datetime='2012-03-19T10:07:00-04:00'><span class='date'><span class='date-month'>Mar</span> <span class='date-day'>19</span><span class='date-suffix'>th</span>, <span class='date-year'>2012</span></span> <span class='time'>10:07 am</span></time>
420        
421      </p>
422    
423  </header>
424
425
426  <div class="entry-content"><div class="imgcontainer">
427<a href="http://ac-aa.org"><img src="/images/acaasnapshot768x1024.png" style="width:384px; height:512px;" alt="Snapshot of ac-aa.org" /></a>
428<p>Snapshot of ac-aa.org</p>
429</div>
430
431<p>I maintain the web prescence of <a href="http://ac-aa.org">Agricultural Communities for Adults with Autism</a>, a consortium of organizations focused on sharing best practices for holistic, agricultural based employment and housing modles for adults with autism.</p>
432</div>
433  
434  
435
436
437    </article>
438  
439  <div class="pagination">
440    
441      <a class="prev" href="/posts/2">&larr; Older</a>
442    
443    <a href="/blog/archives">Blog Archives</a>
444    
445  </div>
446</div>
447<aside class="sidebar">
448  
449    <section>
450  <h1>About Me</h1>
451  <div id="twitter-profile" style="margin-top:0.5em;">
452    <img class="right" src="/images/jeff184.jpg" style="width:80px; height:80px;">
453  </div>
454  <p>Teacher, physicist, computer jockey, dad. Helped find the Higgs particle. Now building data systems <a href="https://twitter.com/simple">@simple</a>.</p>
455</section>
456<section>
457  <h1>Contact</h1>
458  <ul>
459    <li><i class="fa fa-envelope-square"></i> <a href='ma&#105;l&#116;&#111;&#58;%6&#65;ef%&#54;6%40k%6Cu%6&#66;as&#46;&#110;%65t'>j&#101;ff&#64;&#107;luka&#115;&#46;net</a> (email)</li>
460    <li><i class="fa fa-skype"></i> <a href="skype:jeffklukas?call">jeffklukas</a> (Skype)</li>
461    <li><i class="fa fa-facebook-square"></i> <a href="http://www.facebook.com/jklukas">jklukas</a> (Facebook)</li>
462    <li><i class="fa fa-linkedin-square"></i> <a href="http://www.linkedin.com/profile/view?id=175583870">jklukas</a> (LinkedIn)</li>
463    <li><i class="fa fa-github-square"></i> <a href="https://github.com/jklukas">jklukas</a> (GitHub)</li>
464    <li><i class="fa fa-twitter-square"></i> <a href="https://twitter.com/JeffKlukas">@JeffKlukas</a> (Twitter)</li>
465    <li><i class="fa fa-google-plus-square"></i> <a href="https://plus.google.com/113614530826956763926?rel=author">jeff.klukas</a> (Google)</li>
466  </ul>
467</section>
468
469<section>
470  <h1>Latest Tweets</h1>
471  <ul id="tweets">
472    <a class="twitter-timeline" data-dnt="true" href="https://twitter.com/jeffklukas" data-widget-id="580918737932419072">Tweets by @jeffklukas</a>
473    
473<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
473
474  </ul>
475  
476    <p>Follow <a href="http://twitter.com/jeffklukas">@jeffklukas</a></p>
477  
478</section>
479
480
481<section>
482  <h1>GitHub Repos</h1>
483  <ul id="gh_repos">
484    <li class="loading">Status updating&#8230;</li>
485  </ul>
486  
487  <a href="https://github.com/jklukas">@jklukas</a> on GitHub
488  
489  
489<script type="text/javascript">
490    $(document).ready(function(){
491        if (!window.jXHR){
492            var jxhr = document.createElement('script');
493            jxhr.type = 'text/javascript';
494            jxhr.src = '/javascripts/libs/jXHR.js';
495            var s = document.getElementsByTagName('script')[0];
496            s.parentNode.insertBefore(jxhr, s);
497        }
498
499        github.showRepos({
500            user: 'jklukas',
501            count: 5,
502            skip_forks: true,
503            target: '#gh_repos'
504        });
505    });
506  </script>
506
507  
507<script src="/javascripts/github.js" type="text/javascript"> </script>
507
508</section>
509
510
511
512<section class="googleplus googleplus-hidden">
513  <h1>
514    <a href="https://plus.google.com/Jeff Klukas?rel=author">
515      <img src="http://www.google.com/images/icons/ui/gprofile_button-32.png" width="32" height="32">
516      Google+
517    </a>
518  </h1>
519</section>
520
521
522
523  
524</aside>
525
526    </div>
527  </div>
528  <footer role="contentinfo"><p>
529  Copyright &copy; 2015 &middot Jeff Klukas &middot
530  <a href="/colophon">Colophon</a> &middot
531  <span class="credit">Powered by <a href="http://octopress.org">Octopress</a></span>
532</p>
533
534</footer>
535  
536
537<script type="text/javascript">
538      var disqus_shortname = 'jeffklukas';
539      
540        
541        var disqus_script = 'count.js';
542      
543    (function () {
544      var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
545      dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
546      (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
547    }());
548</script>
548
549
550
551
552
553
554  
554<script type="text/javascript">
555    (function() {
556      var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true;
557      script.src = 'https://apis.google.com/js/plusone.js';
558      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script, s);
559    })();
560  </script>
560
561
562
563
564  
564<script type="text/javascript">
565    (function(){
566      var twitterWidgets = document.createElement('script');
567      twitterWidgets.type = 'text/javascript';
568      twitterWidgets.async = true;
569      twitterWidgets.src = '//platform.twitter.com/widgets.js';
570      document.getElementsByTagName('head')[0].appendChild(twitterWidgets);
571    })();
572  </script>
572
573
574
575
576
577
578</body>
579</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.