i can expound on each point during an interview
authordaniel watson <ozzloy@gmail.com>
Tue, 26 Jul 2011 03:01:56 +0000 (20:01 -0700)
committerdaniel watson <ozzloy@gmail.com>
Tue, 26 Jul 2011 03:01:56 +0000 (20:01 -0700)
daniel_watson_cv.tex

index 53f41e60362144f265b371f071afc73888af1b41..88ab2765754c7ba2854a07d4b2f8d317bd7dda2f 100644 (file)
@@ -22,6 +22,7 @@
 
 % adjust the page margins
 \usepackage[scale=0.8]{geometry}
+\usepackage{multicol}
 % if you want to change the width of the column with the dates
 %\setlength{\hintscolumnwidth}{3cm}
 % only for the classic theme, if you want to change the width of your name
 % arguments 3 to 6 are optional
 \cventry{2010--2011}{Computer Engineer}{VisionTree, Inc.}{San Diego}{}
 {
-  $\cdot{}$ A customer wanted the ability to show sections of stored surveys
-  conditionally.  For legacy reason, this had to be done in CFML and was further
-  constrained by existing surveys which could were not under our control.  After
-  finding the relevant CFML, I constructed additions to the in-house developed
-  markup language and corresponding processing CFML.  This feature has been in
-  use for the last six months without affecting other survey features.
-  \newline{}
-  $\cdot{}$ Motivated by the difficult setup process, I decided to automate the
-  setup of new Coldfusion developer stations.  Adobe's coldfusion installer
-  script has user interaction, so initial scripting was done with Expect.  To
-  make the installer more maintainable by the other programmers, this was
-  converted to ruby and bash.  Several development systems have since used
-  this installer.
-  \newline{}
-  $\cdot{}$ Because the old svn systems were difficult to work with, I converted
-  several of them to git repos served by gitosis.  I set up the gitosis server
-  and taught some coworkers how to use ssh-keys for easier interaction with it.
-  \newline{}
-  $\cdot{}$ VisionTree's store of surveys, written in their custom markup, has
-  syntax errors which sometimes cause real customer data loss.  In order to
-  combat this, I talked with developers creating the surveys and with those who
-  wrote the parsing code about the types of errors and which were most common.
-  I wrote a ruby gem generate error reports in xml.  From there, it was easy to
-  write a server for an internal site that presents all the data to the other
-  developers.  After creating the site, I modified the internal gedit plugin to
-  present the same data within gedit on developed as they are developed, before
-  they are pushed live for customers.
+  \begin{itemize}
+    \item
+  A customer wanted the ability to show sections of stored surveys
+  conditionally.  I made additions to the survey markup, ``vtjson'', and
+  processing code, while remaining compatible with existing surveys.
+    \item
+  I decided to automate the setup of new Coldfusion developer stations with
+  Expect.  For maintainability, this was translated into ruby and bash,
+  languages the other developers are more familiar with.
+    \item
+  The old svn systems were difficult to work with, so I converted them
+  to git repos served by gitosis and later gitolite.  Thanks to ssh keys,
+  Visiontree is now able to merge branches more often and more easily.
+    \item
+  VisionTree's surveys have syntax errors which sometimes cause customer
+  data loss.  In order to combat this, I generated an error reporter.  Errors
+  were presented by an internal website and a gedit plugin.
+  \end{itemize}
 }
 \cventry{2006--2010}{Computer Engineer}{Avaak, Inc.}{San Diego}{}
 {
-  $\cdot{}$ Avaak Inc. cameras that communicate wirelessly to a base station.
-  The base station also communicated back to central servers.  Under heavy load,
-  communication would break down.  They needed a way to generate such loads and
-  log the communications and asked me to simulate the cameras and the base
-  station.  I set out simulating the camera first since it only communicated
-  with a base station and I could have a real one at my desk during
-  development.  Also once it was developed it would make developing the base
-  station easier.  All of this went according to plan, but communication between
-  the base station and the central server was much more difficult than
-  anticipated.  The central server had bad logging facilities and it was not
-  feasible to modify it.  To work around this, I developed a server that could
-  run locally to facilitate the base station's server communication development.
-  The simulators worked well and logged in a very readable format all
-  camera, base station and server communications.  Hundreds of simulated
-  cameras revealed that the central server's memory was maxed out with a high
-  number of connections.
-  \newline{}
-  $\cdot{}$ After using the simulator to diagnose problems like the central
-  server's memory maxing out, Avaak wanted to use the tool to monitor the
-  health of the system.  This was a relatively easy addition that just needed
-  simulate a round trip of a picture taken on a camera and then being visible
-  on the website.  This system emails logs of minor problems and sends a text
-  in addition to a more detailed email for major problem.  On catastrophic
-  failures, I included myself on the emails.  Several months after I left I
-  received emails from this tool, so I knew it was still doing its job.  At the
-  end of my work on this project, it weighed in at 3kloc of ruby.
-  \newline{}
-  $\cdot{}$ Mike Sailor's chem lab at UCSD developed reusable chemical sensors.
-  They enlisted the help of Avaak to figure characterize the sensor's changes
-  when an agent was introduced to the environment.  Working with Serge Belongie
-  and Clark Guest, computer vision experts at UCSD, I developed C and matlab
-  classifiers.  These classifiers generated data which we analyzed using
-  invariants, and later PCA, and Fischerfaces.  The conclusion of this analyses
-  was used to justify further research by Mike Sailor and his lab into their
-  reusable chemical sensors.
+  \begin{itemize}
+    \item
+  Avaak needed to stress and log its wireless camera and server to pin down the
+  communication breakdown.  My tools revealed that the server's memory maxed
+  under a high number of camera connections.
+    \item
+  Sometimes the servers would be up but not doing their job correctly, so Avaak
+  asked me to modify the simulators to monitor the servers more intelligently.
+  Several months after I left, it would still send me detailed failure reports.
+    \item
+  A chem lab at UCSD wanted to characterize a reusable chemical sensor's
+  appearance change.  Working under the direction of several professors, I
+  developed quantifiers for the amount and type of change of the sensors.
+  \end{itemize}
 }
 \cventry{2007}{Programming Languages Tutor}{UCSD}{San Diego}{}
 {
 {San Diego}{}
 {
   I helped high school students code controller firmware and introduced them to
-  aspects of software development like version control with svn, and logic flow
-  control structures with C.
+  aspects of software development like version control with svn and git, and
+  logic flow control structures with C.
 }
 \cventry{2002--2003}{Programming Subteam Member}{Cheesy Poofs Team 254}
 {San Jose}{}
 %%\cvlanguage{C++}{Capable}{The only language I hate more than Java}
 %\cvlanguage{OCaml}{Capable}{First introduction to functional programming}
 \section{Computer Skills}
-\cvcomputer{git}{client, flow, gitosis, submodules, git-svn}
+\cvcomputer{git}{client, -flow, gito\{sis,lite\}, submodules, git-svn}
   {svn}{client, svnserve}
 \cvcomputer{unix cli}{bash scripting, awk, grep, find, etc.}
   {unit testing}{c with cutest, ruby with Test::Unit}
 \cvcomputer{Proficient with}{Ruby, C, Java, Python}
   {Capable with}{OCaml, javascript, CFML\{,script\}, XSLT}
 \section{Personal Projects}
+\cvline{this cv}{ The raw \LaTeX for generating this CV is available online at
+  \httplink{github.com/ozzloy/cv}}
 \cvline{py\_shell\_bot}{This was originally started because it was hard to
 follow along as a teacher would type into the python repl during class.
 Using this, the teacher (or any presenter) can type as they normally do and
@@ -210,8 +183,6 @@ a reference for myself, this blog is an account of my technical struggles.}
 machine-learning projects.  I started with someone else's code base and modified
 it to make labelling easier for me.  The tool helped me label data used for
 training a car detector.  \httplink{github.com/ozzloy/imageclipper}}
-\cvline{this cv}{ The raw \LaTeX for generating this CV is available online at
-  \httplink{github.com/ozzloy/cv}}
 \end{document}
 %\cvlistitem{Item 2}
 %%\cvlistitem[+]{Item 3}            % optional other symbol