rewritten visiontree section
[ozzloy@gmail.com/cv] / daniel_watson_cv.tex
1 %% start of file `daniel_watson_cv.tex'
2 %%% credit:
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
11 \documentclass[10pt,a4paper]{moderncv}
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)
16 \moderncvtheme[blue]{casual}
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
34 \firstname{Daniel}
35 \familyname{Watson}
36 % optional, remove the line if not wanted
37 \title{Daniel Watson's CV}
38 % optional,
39 \address{7665 Palmilla Drive \#5210}{San Diego, 92122}
40 % optional,
41 \mobile{805.699.5690}
42 % optional,
43 %\phone{phone (optional)}
44 % optional,
45 %\fax{fax (optional)}
46 % optional,
47 \email{ozzloy@gmail.com}
48 % optional,
49 %\extrainfo{additional information (optional)}
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
52 %\photo[64pt]{daniel_watson}
53 % optional, remove the line if not wanted
54 %\quote{"If I have seen further it is only by standing on the shoulders of
55 %giants." -Sir Isaac Newton}
56
57 % uncomment to suppress automatic page numbering for CVs longer than one page
58 \nopagenumbers{}
59
60
61 %-------------------------------------------------------------------------------
62 % content
63 %-------------------------------------------------------------------------------
64 \begin{document}
65 \maketitle
66
67 \section{Education}
68 % arguments 3 to 6 are optional
69 \cventry{2003--2008}{BS}{UCSD}{San Diego}{}
70 {Computer Science major with a Mathematics Minor}
71 \cventry{1999--2003}{Diploma}{Bellarmine College Preparatory}{San Jose}{}{}
72
73 \section{Experience}
74 \subsection{Vocational}
75 % arguments 3 to 6 are optional
76 \cventry{2010--2011}{Computer Engineer}{VisionTree, Inc.}{San Diego}{}
77 {
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.
95 }
96 \cventry{2006--2010}{Computer Engineer}{Avaak, Inc.}{San Diego}{}
97 {
98 The last project I created at Avaak is a system monitoring tool which spoofed
99 Avaak's clients to test their servers. This project weighed in at 3kloc of
100 Ruby. I also created a test framework for the firmware on the router product
101 which cross-compiled unit tests, loaded the binary onto the target hardware,
102 ran the tests and reported results. An earlier project had invariant image
103 feature extraction in C. Later, I used PCA, and Fischerfaces analysis under
104 the supervision of Serge Belongie, Ph.D. UCSD. My first project was a
105 firmware loader for an embedded camera hardware using mspgcc and C.
106 }
107 \cventry{2007}{Programming Languages Tutor}{UCSD}{San Diego}{}
108 {
109 In CSE 130, I tutored students Programming Languages in the fall and winter
110 quarters. We covered different styles of programming through different
111 languages: functional programming with OCaml; object oriented programming
112 with python; logic programming with prolog.
113 }
114 \subsection{For Inspiration and Recognition of Science and Technology}
115 % arguments 3 to 6 are optional
116 \cventry{2003--2011}{Programming Subteam Mentor}{Midnight Mechanics Team 812}
117 {San Diego}{}
118 {
119 I helped high school students code controller firmware and introduced them to
120 aspects of software development like version control with svn, and logic flow
121 control structures with C.
122 }
123 \cventry{2002--2003}{Programming Subteam Member}{Cheesy Poofs Team 254}
124 {San Jose}{}
125 {
126 Coded robot controller firmware and autonomous mode in pBasic, shrinking code
127 into the EEPROM.
128 }
129 %\subsection{Miscellaneous}
130 %% arguments 3 to 6 are optional
131 %\cventry{2000--2003}{Track Marshall}{SpeedRing}{San Jose}{}{
132 % SpeedRing is go-kart racing for adults\newline{}
133 % flag racers on track for passing, rule violations, warning of crashes
134 %}
135 %
136 %\cventry{1998--1999}{Range Marshall}{Sunnyvale Rod \& Gun Club}{Sunnyvale}{}{
137 % refill target shooters and keep scores
138 %}
139 %\section{Languages}
140 %%\cvlanguage{language 3}{Skill level}{Comment}
141 %%Proficient C Java Ruby
142 %%Capable C++ Python OCaml Matlab
143 %\cvlanguage{Ruby}{Proficient}{My goto language}
144 %\cvlanguage{C}{Proficient}{First language I learned}
145 %\cvlanguage{Java}{Capable}{Many class projects at UCSD required Java}
146 %\cvlanguage{Python}{Capable}{My first introduction to meta-programming, via
147 %function decorators, and list comprehensions}
148 %%\cvlanguage{C++}{Capable}{The only language I hate more than Java}
149 %\cvlanguage{OCaml}{Capable}{First introduction to functional programming}
150 \section{Computer Skills}
151 \cvcomputer{git}{client, flow, gitosis, submodules, git-svn}
152 {svn}{client, svnserve}
153 \cvcomputer{unix cli}{bash scripting, awk, grep, find, etc.}
154 {unit testing}{c with cutest, ruby with Test::Unit}
155 \cvcomputer{gnu buildchain}{gcc, make, gdb}
156 {ubuntu/debian}{aptitude, debconf}
157 \cvcomputer{Proficient with}{Ruby, C, Java, Python}
158 {Capable with}{OCaml, javascript, CFML\{,script\}, XSLT}
159 \section{Personal Projects}
160 \cvline{py\_shell\_bot}{This was originally started because it was hard to
161 follow along as a teacher would type into the python repl during class.
162 Using this, the teacher (or any presenter) can type as they normally do and
163 students can follow along in an irc channel.
164 \httplink{github.com/ozzloy/py\_shell\_bot}}
165 \cvline{oble}{This project uses a camera to detect presence of a face. The
166 program aggresively blanks the screen for power saving. In addition, oble
167 allows one to watch in-browser videos without poking the keyboard and mouse to
168 prevent the screensaver. I used C++ with OpenCV libs to create this program.
169 \httplink{gitorious.org/oble/oble}}
170 \cvline{technical blog}{\httplink{i-am-lucky.blogspot.com/} Mostly written as
171 a reference for myself, this blog is an account of my technical struggles.}
172 \cvline{imageclipper}{Having a set of labelled data helps with many
173 machine-learning projects. I started with someone else's code base and modified
174 it to make labelling easier for me. The tool helped me label data used for
175 training a car detector. \httplink{github.com/ozzloy/imageclipper}}
176 \cvline{this cv}{ The raw \LaTeX for generating this CV is available online at
177 \httplink{github.com/ozzloy/cv}}
178 \end{document}
179 %\cvlistitem{Item 2}
180 %%\cvlistitem[+]{Item 3} % optional other symbol
181 %
182 %\section{Extra 2}
183 %\cvlistdoubleitem[\Neutral]{Item 1}{Item 4}
184 %\cvlistdoubleitem[\Neutral]{Item 2}{Item 5}
185 %\cvlistdoubleitem[\Neutral]{Item 3}{}
186
187 %\section{Interests}
188 %\cvline{rock climbing}{\small great for strength, also fights carpal tunnel}
189 %\cvline{bike riding}{\small cardio, started as a means to get to school}
190 %\cvline{device interaction}{\small oble project, face detection as human
191 %interaction; compiz HeadTrack project}
192 %% end of file `daniel_watson_cv.tex'.