rewrote avaak section with plan execution results
[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{
eb58f397 108 $\cdot{}$ Avaak Inc. cameras that communicate wirelessly to a base station.
109 The base station also communicated back to central servers. Under heavy load,
110 communication would break down. They needed a way to generate such loads and
111 log the communications and asked me to simulate the cameras and the base
112 station. I set out simulating the camera first since it only communicated
113 with a base station and I could have a real one at my desk during
114 development. Also once it was developed it would make developing the base
115 station easier. All of this went according to plan, but communication between
116 the base station and the central server was much more difficult than
117 anticipated. The central server had bad logging facilities and it was not
118 feasible to modify it. To work around this, I developed a server that could
119 run locally to facilitate the base station's server communication development.
120 The simulators worked well and logged in a very readable format all
121 camera, base station and server communications. Hundreds of simulated
122 cameras revealed that the central server's memory was maxed out with a high
123 number of connections.
124 \newline{}
125 $\cdot{}$ After using the simulator to diagnose problems like the central
126 server's memory maxing out, Avaak wanted to use the tool to monitor the
127 health of the system. This was a relatively easy addition that just needed
128 simulate a round trip of a picture taken on a camera and then being visible
129 on the website. This system emails logs of minor problems and sends a text
130 in addition to a more detailed email for major problem. On catastrophic
131 failures, I included myself on the emails. Several months after I left I
132 received emails from this tool, so I knew it was still doing its job. At the
133 end of my work on this project, it weighed in at 3kloc of ruby.
134 \newline{}
135 $\cdot{}$ Mike Sailor's chem lab at UCSD developed reusable chemical sensors.
136 They enlisted the help of Avaak to figure characterize the sensor's changes
137 when an agent was introduced to the environment. Working with Serge Belongie
138 and Clark Guest, computer vision experts at UCSD, I developed C and matlab
139 classifiers. These classifiers generated data which we analyzed using
140 invariants, and later PCA, and Fischerfaces. The conclusion of this analyses
141 was used to justify further research by Mike Sailor and his lab into their
142 reusable chemical sensors.
5dccdc6a 143}
515f742c 144\cventry{2007}{Programming Languages Tutor}{UCSD}{San Diego}{}
145{
bc9077d1 146 In CSE 130, I tutored students Programming Languages in the fall and winter
147 quarters. We covered different styles of programming through different
148 languages: functional programming with OCaml; object oriented programming
149 with python; logic programming with prolog.
5dccdc6a 150}
d73fc44f 151\subsection{For Inspiration and Recognition of Science and Technology}
152% arguments 3 to 6 are optional
bc9077d1 153\cventry{2003--2011}{Programming Subteam Mentor}{Midnight Mechanics Team 812}
515f742c 154{San Diego}{}
155{
bc9077d1 156 I helped high school students code controller firmware and introduced them to
157 aspects of software development like version control with svn, and logic flow
158 control structures with C.
d73fc44f 159}
1b7a242f 160\cventry{2002--2003}{Programming Subteam Member}{Cheesy Poofs Team 254}
515f742c 161{San Jose}{}
162{
bc9077d1 163 Coded robot controller firmware and autonomous mode in pBasic, shrinking code
164 into the EEPROM.
d73fc44f 165}
1b7a242f 166%\subsection{Miscellaneous}
167%% arguments 3 to 6 are optional
168%\cventry{2000--2003}{Track Marshall}{SpeedRing}{San Jose}{}{
169% SpeedRing is go-kart racing for adults\newline{}
170% flag racers on track for passing, rule violations, warning of crashes
171%}
172%
173%\cventry{1998--1999}{Range Marshall}{Sunnyvale Rod \& Gun Club}{Sunnyvale}{}{
174% refill target shooters and keep scores
175%}
38aa84ae 176%\section{Languages}
177%%\cvlanguage{language 3}{Skill level}{Comment}
178%%Proficient C Java Ruby
179%%Capable C++ Python OCaml Matlab
180%\cvlanguage{Ruby}{Proficient}{My goto language}
181%\cvlanguage{C}{Proficient}{First language I learned}
182%\cvlanguage{Java}{Capable}{Many class projects at UCSD required Java}
183%\cvlanguage{Python}{Capable}{My first introduction to meta-programming, via
184%function decorators, and list comprehensions}
185%%\cvlanguage{C++}{Capable}{The only language I hate more than Java}
186%\cvlanguage{OCaml}{Capable}{First introduction to functional programming}
ca725625 187\section{Computer Skills}
8d95272e 188\cvcomputer{git}{client, flow, gitosis, submodules, git-svn}
189 {svn}{client, svnserve}
bcb282a2 190\cvcomputer{unix cli}{bash scripting, awk, grep, find, etc.}
8d95272e 191 {unit testing}{c with cutest, ruby with Test::Unit}
3797339a 192\cvcomputer{gnu buildchain}{gcc, make, gdb}
8d95272e 193 {ubuntu/debian}{aptitude, debconf}
194\cvcomputer{Proficient with}{Ruby, C, Java, Python}
195 {Capable with}{OCaml, javascript, CFML\{,script\}, XSLT}
a828a940 196\section{Personal Projects}
8d95272e 197\cvline{py\_shell\_bot}{This was originally started because it was hard to
198follow along as a teacher would type into the python repl during class.
199Using this, the teacher (or any presenter) can type as they normally do and
200students can follow along in an irc channel.
201\httplink{github.com/ozzloy/py\_shell\_bot}}
403227ea 202\cvline{oble}{This project uses a camera to detect presence of a face. The
203program aggresively blanks the screen for power saving. In addition, oble
204allows one to watch in-browser videos without poking the keyboard and mouse to
205prevent the screensaver. I used C++ with OpenCV libs to create this program.
a828a940 206\httplink{gitorious.org/oble/oble}}
8d95272e 207\cvline{technical blog}{\httplink{i-am-lucky.blogspot.com/} Mostly written as
208a reference for myself, this blog is an account of my technical struggles.}
a828a940 209\cvline{imageclipper}{Having a set of labelled data helps with many
210machine-learning projects. I started with someone else's code base and modified
211it to make labelling easier for me. The tool helped me label data used for
212training a car detector. \httplink{github.com/ozzloy/imageclipper}}
403227ea 213\cvline{this cv}{ The raw \LaTeX for generating this CV is available online at
8d95272e 214 \httplink{github.com/ozzloy/cv}}
403227ea 215\end{document}
796fbc77 216%\cvlistitem{Item 2}
217%%\cvlistitem[+]{Item 3} % optional other symbol
218%
219%\section{Extra 2}
220%\cvlistdoubleitem[\Neutral]{Item 1}{Item 4}
221%\cvlistdoubleitem[\Neutral]{Item 2}{Item 5}
222%\cvlistdoubleitem[\Neutral]{Item 3}{}
f27afb42 223
b32e1e9c 224%\section{Interests}
225%\cvline{rock climbing}{\small great for strength, also fights carpal tunnel}
226%\cvline{bike riding}{\small cardio, started as a means to get to school}
227%\cvline{device interaction}{\small oble project, face detection as human
228%interaction; compiz HeadTrack project}
8d95272e 229%% end of file `daniel_watson_cv.tex'.