finished rewrite of visiontree projects
[ozzloy@gmail.com/cv] / daniel_watson_cv.tex
CommitLineData
e97cc60d 1%% start of file `daniel_watson_cv.tex'
2%%% credit:
f27afb42 3%% start of file `template_en.tex'.
4%% Copyright 2006-1008 Xavier Danaux (xdanaux@gmail.com).
5%
6% This work may be distributed and/or modified under the
7% conditions of the LaTeX Project Public License version 1.3c,
8% available at http://www.latex-project.org/lppl/.
9
10
2714388b 11\documentclass[10pt,a4paper]{moderncv}
f27afb42 12
13% moderncv themes
14% optional argument are 'blue' (default), 'orange', 'red', 'green', 'grey' and
15% 'roman' (for roman fonts, instead of sans serif fonts)
21458545 16\moderncvtheme[blue]{casual}
f27afb42 17%\moderncvtheme[green]{classic} % idem
18
19% character encoding
20% replace by the encoding you are using
21\usepackage[utf8]{inputenc}
22
23% adjust the page margins
24\usepackage[scale=0.8]{geometry}
25% if you want to change the width of the column with the dates
26%\setlength{\hintscolumnwidth}{3cm}
27% only for the classic theme, if you want to change the width of your name
28% placeholder (to leave more space for your address details
29%\AtBeginDocument{\setlength{\maketitlenamewidth}{6cm}}
30% required when changes are made to page layout lengths
31\AtBeginDocument{\recomputelengths}
32
33% personal data
96c0da13 34\firstname{Daniel}
35\familyname{Watson}
f27afb42 36% optional, remove the line if not wanted
9fe2c992 37\title{Daniel Watson's CV}
8d95272e 38% optional,
39\address{7665 Palmilla Drive \#5210}{San Diego, 92122}
40% optional,
96c0da13 41\mobile{805.699.5690}
8d95272e 42% optional,
96c0da13 43%\phone{phone (optional)}
8d95272e 44% optional,
96c0da13 45%\fax{fax (optional)}
8d95272e 46% optional,
96c0da13 47\email{ozzloy@gmail.com}
8d95272e 48% optional,
96c0da13 49%\extrainfo{additional information (optional)}
f27afb42 50% '64pt' is the height the picture must be resized to and 'picture' is the name
51% of the picture file; optional, remove the line if not wanted
757386d1 52%\photo[64pt]{daniel_watson}
f27afb42 53% optional, remove the line if not wanted
8bdce07a 54%\quote{"If I have seen further it is only by standing on the shoulders of
55%giants." -Sir Isaac Newton}
f27afb42 56
57% uncomment to suppress automatic page numbering for CVs longer than one page
ca725625 58\nopagenumbers{}
f27afb42 59
60
61%-------------------------------------------------------------------------------
62% content
63%-------------------------------------------------------------------------------
64\begin{document}
65\maketitle
66
67\section{Education}
68% arguments 3 to 6 are optional
0e5526f5 69\cventry{2003--2008}{BS}{UCSD}{San Diego}{}
70{Computer Science major with a Mathematics Minor}
78088c4a 71\cventry{1999--2003}{Diploma}{Bellarmine College Preparatory}{San Jose}{}{}
f27afb42 72
73\section{Experience}
74\subsection{Vocational}
75% arguments 3 to 6 are optional
bc9077d1 76\cventry{2010--2011}{Computer Engineer}{VisionTree, Inc.}{San Diego}{}
77{
22df97fe 78 $\cdot{}$ A customer wanted the ability to show sections of stored surveys
79 conditionally. For legacy reason, this had to be done in CFML and was further
80 constrained by existing surveys which could were not under our control. After
81 finding the relevant CFML, I constructed additions to the in-house developed
82 markup language and corresponding processing CFML. This feature has been in
83 use for the last six months without affecting other survey features.
84 \newline{}
85 $\cdot{}$ Motivated by the difficult setup process, I decided to automate the
86 setup of new Coldfusion developer stations. Adobe's coldfusion installer
87 script has user interaction, so initial scripting was done with Expect. To
88 make the installer more maintainable by the other programmers, this was
89 converted to ruby and bash. Several development systems have since used
90 this installer.
91 \newline{}
92 $\cdot{}$ Because the old svn systems were difficult to work with, I converted
93 several of them to git repos served by gitosis. I set up the gitosis server
94 and taught some coworkers how to use ssh-keys for easier interaction with it.
039a4512 95 \newline{}
96 $\cdot{}$ VisionTree's store of surveys, written in their custom markup, has
97 syntax errors which sometimes cause real customer data loss. In order to
98 combat this, I talked with developers creating the surveys and with those who
99 wrote the parsing code about the types of errors and which were most common.
100 I wrote a ruby gem generate error reports in xml. From there, it was easy to
101 write a server for an internal site that presents all the data to the other
102 developers. After creating the site, I modified the internal gedit plugin to
103 present the same data within gedit on developed as they are developed, before
104 they are pushed live for customers.
bc9077d1 105}
4bebc30d 106\cventry{2006--2010}{Computer Engineer}{Avaak, Inc.}{San Diego}{}
107{
bc9077d1 108 The last project I created at Avaak is a system monitoring tool which spoofed
109 Avaak's clients to test their servers. This project weighed in at 3kloc of
110 Ruby. I also created a test framework for the firmware on the router product
111 which cross-compiled unit tests, loaded the binary onto the target hardware,
112 ran the tests and reported results. An earlier project had invariant image
113 feature extraction in C. Later, I used PCA, and Fischerfaces analysis under
114 the supervision of Serge Belongie, Ph.D. UCSD. My first project was a
115 firmware loader for an embedded camera hardware using mspgcc and C.
5dccdc6a 116}
515f742c 117\cventry{2007}{Programming Languages Tutor}{UCSD}{San Diego}{}
118{
bc9077d1 119 In CSE 130, I tutored students Programming Languages in the fall and winter
120 quarters. We covered different styles of programming through different
121 languages: functional programming with OCaml; object oriented programming
122 with python; logic programming with prolog.
5dccdc6a 123}
d73fc44f 124\subsection{For Inspiration and Recognition of Science and Technology}
125% arguments 3 to 6 are optional
bc9077d1 126\cventry{2003--2011}{Programming Subteam Mentor}{Midnight Mechanics Team 812}
515f742c 127{San Diego}{}
128{
bc9077d1 129 I helped high school students code controller firmware and introduced them to
130 aspects of software development like version control with svn, and logic flow
131 control structures with C.
d73fc44f 132}
1b7a242f 133\cventry{2002--2003}{Programming Subteam Member}{Cheesy Poofs Team 254}
515f742c 134{San Jose}{}
135{
bc9077d1 136 Coded robot controller firmware and autonomous mode in pBasic, shrinking code
137 into the EEPROM.
d73fc44f 138}
1b7a242f 139%\subsection{Miscellaneous}
140%% arguments 3 to 6 are optional
141%\cventry{2000--2003}{Track Marshall}{SpeedRing}{San Jose}{}{
142% SpeedRing is go-kart racing for adults\newline{}
143% flag racers on track for passing, rule violations, warning of crashes
144%}
145%
146%\cventry{1998--1999}{Range Marshall}{Sunnyvale Rod \& Gun Club}{Sunnyvale}{}{
147% refill target shooters and keep scores
148%}
38aa84ae 149%\section{Languages}
150%%\cvlanguage{language 3}{Skill level}{Comment}
151%%Proficient C Java Ruby
152%%Capable C++ Python OCaml Matlab
153%\cvlanguage{Ruby}{Proficient}{My goto language}
154%\cvlanguage{C}{Proficient}{First language I learned}
155%\cvlanguage{Java}{Capable}{Many class projects at UCSD required Java}
156%\cvlanguage{Python}{Capable}{My first introduction to meta-programming, via
157%function decorators, and list comprehensions}
158%%\cvlanguage{C++}{Capable}{The only language I hate more than Java}
159%\cvlanguage{OCaml}{Capable}{First introduction to functional programming}
ca725625 160\section{Computer Skills}
8d95272e 161\cvcomputer{git}{client, flow, gitosis, submodules, git-svn}
162 {svn}{client, svnserve}
bcb282a2 163\cvcomputer{unix cli}{bash scripting, awk, grep, find, etc.}
8d95272e 164 {unit testing}{c with cutest, ruby with Test::Unit}
3797339a 165\cvcomputer{gnu buildchain}{gcc, make, gdb}
8d95272e 166 {ubuntu/debian}{aptitude, debconf}
167\cvcomputer{Proficient with}{Ruby, C, Java, Python}
168 {Capable with}{OCaml, javascript, CFML\{,script\}, XSLT}
a828a940 169\section{Personal Projects}
8d95272e 170\cvline{py\_shell\_bot}{This was originally started because it was hard to
171follow along as a teacher would type into the python repl during class.
172Using this, the teacher (or any presenter) can type as they normally do and
173students can follow along in an irc channel.
174\httplink{github.com/ozzloy/py\_shell\_bot}}
403227ea 175\cvline{oble}{This project uses a camera to detect presence of a face. The
176program aggresively blanks the screen for power saving. In addition, oble
177allows one to watch in-browser videos without poking the keyboard and mouse to
178prevent the screensaver. I used C++ with OpenCV libs to create this program.
a828a940 179\httplink{gitorious.org/oble/oble}}
8d95272e 180\cvline{technical blog}{\httplink{i-am-lucky.blogspot.com/} Mostly written as
181a reference for myself, this blog is an account of my technical struggles.}
a828a940 182\cvline{imageclipper}{Having a set of labelled data helps with many
183machine-learning projects. I started with someone else's code base and modified
184it to make labelling easier for me. The tool helped me label data used for
185training a car detector. \httplink{github.com/ozzloy/imageclipper}}
403227ea 186\cvline{this cv}{ The raw \LaTeX for generating this CV is available online at
8d95272e 187 \httplink{github.com/ozzloy/cv}}
403227ea 188\end{document}
796fbc77 189%\cvlistitem{Item 2}
190%%\cvlistitem[+]{Item 3} % optional other symbol
191%
192%\section{Extra 2}
193%\cvlistdoubleitem[\Neutral]{Item 1}{Item 4}
194%\cvlistdoubleitem[\Neutral]{Item 2}{Item 5}
195%\cvlistdoubleitem[\Neutral]{Item 3}{}
f27afb42 196
b32e1e9c 197%\section{Interests}
198%\cvline{rock climbing}{\small great for strength, also fights carpal tunnel}
199%\cvline{bike riding}{\small cardio, started as a means to get to school}
200%\cvline{device interaction}{\small oble project, face detection as human
201%interaction; compiz HeadTrack project}
8d95272e 202%% end of file `daniel_watson_cv.tex'.