From: daniel watson Date: Tue, 26 Jul 2011 03:01:56 +0000 (-0700) Subject: i can expound on each point during an interview X-Git-Url: http://challenge-bot.com/repos/?p=ozzloy%40gmail.com%2Fcv;a=commitdiff_plain;h=14e9c4f7a6556552948adb39f2395f06acb1aa07 i can expound on each point during an interview --- diff --git a/daniel_watson_cv.tex b/daniel_watson_cv.tex index 53f41e6..88ab276 100644 --- a/daniel_watson_cv.tex +++ b/daniel_watson_cv.tex @@ -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 @@ -75,71 +76,41 @@ % 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}{} { @@ -154,8 +125,8 @@ {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}{} @@ -185,7 +156,7 @@ %%\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} @@ -194,6 +165,8 @@ \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