-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
422 lines (348 loc) · 17.9 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0">
<title>tspike.com -- home of Tres Allen Spicher</title>
<meta name="description" content="Tres Spicher is a programmer based in Boulder, Colorado. He's also a traveler, a photographer, an uncle, a writer, a dreamer, and at least two other things.">
<meta name="author" content="Tres Spicher">
<!-- main css file -->
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" id="skin_css" href="css/skins/default.css">
<!-- contains styles not supported by IE 6, 7, 8 -->
<!--[if gt IE 8]><!-->
<!-- css3 hover effects -->
<link rel="stylesheet" media="screen" href="css/effects/all.css">
<!-- for screens 768px or less in width -->
<link rel="stylesheet" type="text/css" media="screen" href="css/responsive.css" />
<!-- iPhone specific -->
<link rel="stylesheet" type="text/css" media="screen and (min-device-width : 320px) and (max-device-width: 480px)" href="css/mobile.css" />
<!-- <![endif]-->
<link rel="stylesheet" media="print" href="css/print.css">
<!-- Fancybox Plugin -->
<link rel="stylesheet" href="js/libs/fancybox/jquery.fancybox-1.3.4.css" type="text/css" media="screen">
<!--link rel="shortcut icon" href="favicon.gif" /-->
<meta property="og:image" content="facebook_icon.jpg">
<link rel="stylesheet" href="css/user.css">
<script src="js/libs/modernizr-2.0.6.min.js"></script>
</head>
<body>
<div id="container">
<header class="wrap-header">
<article>
<div class="wrap-ribbons">
<a class="ribbon ribbon2" href="http://tspike.com/travel">travel <em>journal</em></a>
<a class="ribbon ribbon3" href="http://tspike.com/photography">my <em>photos</em></a>
<a class="ribbon ribbon2" href="http://stackoverflow.com/users/826199/tres">stack<em>overflow</em></a>
<a class="ribbon ribbon3" href="http://github.com/tspike"><em>github</em></a>
<a class="ribbon ribbon2" href="http://tspike.com/blog"><em>blog</em></a>
</div>
<div class="wrap-title">
<h1><span>Tres Allen Spicher</span></h1>
<p>developer</p>
</div>
<div class="social-services">
<!-- social services: tweet / google +1 / facebook like -->
<a href="https://twitter.com/tresspicher" class="twitter-follow-button" data-show-count="false">Follow @tresspicher</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<div class="wrap-fb-like">
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ftspike.com&layout=button_count&show_faces=false&width=450&action=like&font&colorscheme=light&height=21" scrolling="no" frameborder="0" allowTransparency="true"></iframe>
</div>
</div>
</article>
</header>
<div class="row row-info">
<article class="markup">
<h2 class="section-title">About Me</h2>
<p>
<img class="portrait" src="img/tresindia.jpg" alt="Me, smiling about being in Dharamsala, India" />
I'm a developer! I make stuff. Stuff like desktop, backend, and web applications. With the help of open source, constantly learning, and helpful people, I've made some pretty cool stuff using a toolbox that includes Ruby, Python, C++ and Java, along with lots of useful frameworks and libraries like Rails, Boost, and Qt.<br/><br/> I'm a quick learner with a diverse enough skill set to come up with a pretty, functional solution to just about any problem, along with documentation, testing, and all the extra goodies that are every bit as necessary as working code. I pay attention to best practices and love beautiful, clean, functional code.</p>
<p>I'm available for freelancing! Get in touch with me at [email protected].</p>
<blockquote>
Try a thing you haven't done three times. Once, to get over the fear of doing it. Twice, to learn how to do it. And a third time, to figure out whether you like it or not.
<footer>
— Virgil Garnett Thomson
</footer>
</blockquote>
</article>
</div>
<div class="row row-portfolio">
<article>
<h2 class="section-title">Sample Work</h2>
<ul class="portfolio">
<li class="effect2">
<div class="border">
<img src="img/grammar.jpg" alt="Fast, accurate, scalable grammar checker" />
<div class="mask">
<h2>Fast, accurate, scalable grammar checker service</h2>
<p>
<strong>Role:</strong> Lead developer
<strong>Skills:</strong> Java EE, Tomcat, linguistics, machine learning, multithreading
</p>
<p class="view">Used globally</p>
</div>
</div>
</li>
<li class="effect2">
<div class="border">
<img src="img/liveatom-small.jpg" alt="Cold atom visualization tool" />
<div class="mask">
<h2>Cold atom magnetic field visualizer</h2>
<p>
<strong>Role:</strong> Developer
<strong>Skills:</strong> Python, C++, UI design, asynchronous networking
</p>
<a href="http://youtu.be/PzbEZ7SOPys" class="view" target="_blank">See it in action</a>
</div>
</div>
</li>
<li class="effect2">
<div class="border">
<img src="img/secretsanta-sm.jpg" alt="" />
<div class="mask">
<h2>Secret Santa Generator</h2>
<p>
A fun project I started for my family that now has thousands of users.
<strong>Skills:</strong> (Cake)PHP, XHTML, CSS
</p>
<a href="http://www.secretsantagenerator.net" class="view" target="_blank">Check it out</a>
</div>
</div>
</li>
<li>
<div class="border">
<a href="http://youtu.be/eWfBWg8bVTQ" class="zoom-video">
<img src="img/vim.jpg" alt="Vim macro tutorial" />
</a>
</div>
</li>
<li class="effect2">
<div class="border">
<img src="img/stocks.jpg" alt="" />
<div class="mask">
<h2>Predicting stock movements</h2>
<p>
For my graduate research, I predicted stock price movements using natural language processing.
<strong>Skills:</strong> NLP, Python, Ruby, SQL
</p>
<a href="data/comps.pdf" class="view" target="_blank">Read the paper</a>
</div>
</div>
</li>
<li class="effect2">
<div class="border">
<img src="img/disk.jpg" alt="" />
<div class="mask">
<h2>Web controller for ultra high-speed disk cabinet</h2>
<p>
<strong>Role:</strong>Lead Developer
<strong>Skills:</strong> Ruby, Rails framework, C, XML-RPC
</p>
</div>
</div>
</li>
</ul>
</article>
</div>
<!-- experience block -->
<div class="row row-experience">
<article>
<h2 class="section-title">Experience</h2>
<div class="column-row">
<div class="column column-no-logo">
<h3>Developer and traveler</h3>
<p class="subtitle">
Spike Software<br />
2011 — present
</p>
<div class="smaller-text">
<p>
I have been working for my own company, Spike Software, as a consultant and developer for the past year. I spent the summer working from the <a href="http://techstars.com">TechStars Boulder</a> office doing Ruby on Rails development and consulting for one of the incubator's companies. It was a fantastic learning experience.
</p>
<p>
I built <a href="http://secretsantagenerator.net">Secret Santa Generator</a>, a tool for organizing holiday gift swaps. It garnered over 10,000 unique visitors during its first few months in operation. I am currently in the process of monetizing the site and translating it from PHP to Ruby on Rails. As an exercise in test-driven design (TDD), I built <a href="http://skibum.tspike.com">"What's your ski bum name?"</a>. It is <a href="http://github.com/tspike/ski_name">open source on Github</a>.
</p>
<p>
In addition to my software projects, I spent a significant portion of this time period embarking on <a href="http://tspike.com/travel">an around-the-world-trip</a>, which took me to Peru, India, Nepal, Thailand, Burma, Malaysia, Japan, and New Zealand and allowed me the time and freedom to improve myself both as a person and a software developer.
</p>
</div>
<p class="reference">
references<br />
<a href="mailto:[email protected]" target="_blank">Kelly James, CEO @ 27 Perry</a><br/>
<a href="mailto:[email protected]" target="_blank">Joonas Bergius, CTO @ 27 Perry</a>
</p>
</div>
<div class="column column-no-logo">
<h3>Software Engineer</h3>
<a href="http://www.boulderlabs.com" target="_blank" class="logo">
<img src="./img/blabs.jpg" alt="" />
</a>
<p class="subtitle">
<a href="http://www.boulderlabs.com">Boulder Labs</a> — software for scientists and inventors<br />
3 years, 2008 — 2011
</p>
<div class="smaller-text">
<p>
I hit my stride as a developer working for Boulder Labs. From starting as a junior engineer to leading development on a grammar checker for an internationally known education client, I learned most of what I know about real-world software development here.
</p>
<p>
I co-developed a networking library using C++ and Boost for reliably transmitting and decoding arbitrary objects asynchronously for use in safety critical emergency dispatching software deployed in some of the biggest cities in the US. It proved useful enough that we went on to use it as the networking engine in the LiveAtom project.
</p>
<p>
I did a lot of front-end work as well. I redesigned the UI of LiveAtom, redesigned the company website, and did the front-end for other applications I coded, including a PyQt remote file synchronization tool and a Ruby on Rails remote disk controller.
</p>
</div>
<p class="reference">
references<br />
<a href="mailto:[email protected]" target="_blank">Robert Gray, PhD</a><br/>
<a href="mailto:[email protected]" target="_blank">David van Wie, lead engineer</a>
</p>
</div>
<div class="column column-no-logo">
<h3>Developer</h3>
<a href="http://www.level3.com" target="_blank" class="logo">
</a>
<p class="subtitle">
<a href="http://www.level3.com">Level 3 Communications</a> — telecom giant<br />
1 year, 2007 — 2008
</p>
<div class="smaller-text">
<p>
I got my feet wet with professional software development at Level 3. I started out doing regression test automation. I got bored with how tedious that was, so I figured out how to automate the task itself and used my spare cycles to help design a Ruby-based SIP call flow analysis tool for a coworker.
</p>
<p>
Before I knew it, I was getting handed tasks of ever-increasing difficulty and importance. I started working on the enterprise Java call provisioning system, my first time working on a huge project with dozens of other developers. I wrote a data visualization tool using Seam, and for the first time really got comfortable working with databases.
</p>
</div>
<p class="reference">
reference<br />
<a href="http://www.linkedin.com/pub/rachel-kim/6/b42/370" target="_blank">Rachel Kim, Senior IT Project Manager</a>
</p>
</div>
</div>
</article>
</div>
<div class="row row-education">
<article>
<h2 class="section-title">Education</h2>
<div class="column-row">
<div class="column">
<h3>M.S. Computer Science</h3>
<a href="http://www.colorado.edu/" target="_blank" class="logo">
<img src="./img/cubuffs.gif" alt="" />
</a>
<p class="subtitle">
<a href="http://www.colorado.edu/" target="_blank">University of Colorado</a>, USA<br />
2006 — 2008
</p>
<div class="smaller-text">
<p>
GPA: 3.98/4.0
</p>
<p>
Relevant coursework included: advanced operating systems, natural language processing, software engineering, computer graphics, network systems, artificial intelligence, database systems
</p>
</div>
</div>
<div class="column">
<h3>B.A. Linguistics, Computer Science minor</h3>
<a href="http://www.colorado.edu/" target="_blank" class="logo">
<img src="./img/cubuffs.gif" alt="" />
</a>
<p class="subtitle">
<a href="http://www.colorado.edu/" target="_blank">University of Colorado</a>, USA<br />
2003 — 2006
</p>
<div class="smaller-text">
<p>
GPA: 3.90/4.0
</p>
<p>
Relevant coursework included: data structures, algorithms, statistics, digital logic, computer architecture, human-computer interaction
</div>
</div>
</div>
</article>
</div>
<div class="row row-skills">
<article>
<h2 class="section-title">My skills</h2>
<div class="skills">
<p>
<b class="caption">Programming</b>
Ruby, Python, C++, Java, C<br />
</p>
<p>
<b class="caption">GUI toolkits</b>
Qt, wxWidgets<br />
</p>
<p>
<b class="caption">Front end</b>
HTML, CSS, Photoshop, Javascript, Coffeescript<br />
</p>
<p>
<b class="caption">Back end</b>
Rails, Boost.Asio, Java EE, CakePHP<br />
</p>
<p>
<b class="caption">Databases</b>
Proficient with SQL. Familiar with NoSQL and REDIS.<br />
</p>
<p>
<b class="caption">Development environment</b>
UNIX + vim + screen (preferred), competent with Windows and OSX<br />
</p>
<p>
<b class="caption">Version control</b>
git, Subversion<br />
</p>
</div>
<p>This list is most definitely (and thankfully) not exhaustive.</p>
</article>
</div>
<div class="row row-profile row-inversed">
<article>
<h2 class="section-title">My e-mail is tres@this domain</h2>
</article>
</div>
</div>
<footer class="wrap-footer">
<div class="fr">
All logos and trademarks are the property of the respective trademark owners. <br />
</div>
</footer>
<div id="resize">Resize</div>
<!-- jQuery 1.6.2 -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.2.min.js"><\/script>')</script>
<!-- jQuery Fancybox plugin === http://fancybox.net/howto -->
<script src="js/libs/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script defer src="js/plugins.js"></script>
<script defer src="js/script.js"></script>
<!--<script defer src="customize/customize.js"></script>-->
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-3428741-16']);
_gaq.push(['_setDomainName', 'inthe.me']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<!-- Twitter Button JavaScript Code === https://twitter.com/about/resources/buttons -->
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<!-- Google +1 JavaScript code === http://www.google.com/intl/en/webmasters/+1/button/index.html -->
<script type="text/javascript">
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
</body>
</html>