\PassOptionsToPackage{unicode}{hyperref} \documentclass[letterpaper,unicode]{moderncv} \usepackage{bookmark} \usepackage[scale=0.8]{geometry} \usepackage[utf8]{inputenc} \moderncvstyle{casual} \moderncvcolor{blue} \firstname{Julian Blake} \familyname{Kongslie} \address{1018 NE Orenco Station Pkwy Apt 255}{Hillsboro, OR 97124-7247} \mobile{+1~503.840.2206} \email{jblake@jblake.org} %\homepage{https://github.com/jblake/} \begin{document} \makecvtitle \section{Professional Experience} \cventry{2013---}{Programmer}{Ducky Technical Services}{}{}{Built CPU microarchitectural simulators and microarchitecture debugging and visualization tools. Design and implementation for a special-purpose cryptographic protocol. Limited web design and system administration.} \cventry{2010---2013}{Programmer}{Independent Consultant}{}{}{Wrote a customizable Z80 assembler in Haskell for a 200,000 line code base. Built and tested embedded systems for realtime instrumentation of flight data in C++. Developed Rails web applications and setup a continuous integration and testing framework to ensure quality. Wrote statistical analysis software using R to identify flaws in a manufacturing pipeline.} \cventry{2009---2010}{Programmer}{TOVA}{}{}{For TOVA I managed package creation and deployment, as well as worked on a team to verify the correctness of the licensing cryptographic protocol. I did a small amount of work on their internal wikis and bug tracking systems.} \cventry{2006---2009}{Researcher}{Portland State University}{}{}{Academic research on software defined radio systems, control systems for rockets, novel computational architectures, and applications of functional programming and formal correctness to modern systems.} \cventry{2003---2006}{Programmer}{Cascadia}{}{}{Specialized in building and maintaining web storefronts for small businesses, primarily with Apache, mod\_perl, and Oracle, but also using Ruby and Java where appropriate. Maintained and designed at all levels of the stack including system administration, database maintenance, backend and frontend programming, and POS systems.} \cventry{2002---2003}{Intern}{FEI}{}{}{Worked in VB.NET to build an internal website and fault control systems, as well as statistical fault analysis. In an emergency, I can build an electron microscope from scratch.} \cventry{2001---2002}{Intern}{Intel}{}{}{Internal web developer and technical writer for documentation and product manuals.} \section{Hobby Projects} \cvitem{Electronics}{I frequently toy with hobby electronics; most recently, I've been building a mesh of wireless sensor nodes to track the temperature and rainfall in my yard.} \cvitem{Type Theory}{Much of my spare time is spent playing with new abstractions and ideas in type theory, trying to learn and build new techniques in typed programming.} \cvitem{Disassembly and Reverse Engineering}{I work on projects to understand and build tools for several games. I've built a map generator for Pokémon, various analysis tools for TES games, plugins for Dwarf Fortress and Kerbal Space Program, and more than my fair share of small memory hacks for other games I wanted to tweak the mechanics of.} \cvitem{Writing}{I love to read, and in my spare time I work on short stories which are far too unrefined to be publishable.} \section{Computer Skills} \cventry{Systems Programming}{C, C++}{}{}{}{I understand threading models and can program embedded systems. I've written a hobby operating system that implemented POSIX, and I've worked on high-performance computing. I know enough C++ to be dangerous, and I'm not afraid of templates or the STL.} \cventry{Functional Programming}{Haskell, ML, Scheme}{}{}{}{Extensive experience and expertise with functional programming languages. I have maintained libraries, built DSLs, implemented compilers, and taught classes.} \cventry{Formal Correctness}{Coq, Agda, Z}{}{}{}{I can write code that is provably bug-free, and I know when it's appropriate to do so. I've given lectures on dependent typing and correct-by-construction programming. I am also familiar with security analysis of cryptographic protocols and have worked on a team to verify the correctness of a custom protocol.} \cventry{Web Programming}{Perl, Python, Java, Ruby}{}{}{}{I have built and maintained professional web storefronts with mod\_perl, Java, and Rails. I have worked extensively with middleware such as XML and XSLT, and while I'm no designer, I know my way around HTML 5, CSS, and JavaScript. I've used jQuery, bootstrap, and YUI. I've built systems that interoperate using OpenID and SAML, and I can do RESTful design.} \cventry{Database Programming}{PostgreSQL, Oracle}{}{}{}{I've worked professionally with large replicated databases and PostGIS. I understand data normalization and I've optimized queries for billion-row tables.} \cventry{Processes and Methodologies}{TDD, Agile, Waterfall}{}{}{}{I can do test-driven-development, I've worked with Agile teams, and I've worked with Waterfall teams. I work well in a group of developers, but I can also get a job done on my own if I need to.} \cventry{System Administration}{Linux, Debian, Ubuntu}{}{}{}{I can maintain Linux systems, and build dev/test/prod environments and keep them in sync. I've built and maintained Debian packages professionally for software deployment both internally and to external customers. I've run Debian mirrors and \texttt{buildd}s.} \cventry{Statistics and Analysis}{Performance, Data Collection}{}{}{}{I'm a trained mathematician and I can design well-founded experiments to identify performance bottlenecks. I know how to do data collection, and I can work fluently with large data sets in R, Matlab, Octave, and Mathematica.} \cventry{Embedded Systems}{FPGAs, Microcontrollers}{}{}{}{I've designed and deployed FPGAs to solve high-performance problems such as real-time signal filtering. I can write bare-metal programs to run on embedded systems and microcontrollers.} \cventry{Source Control}{Git, Mercurial, Darcs, SVN}{}{}{}{All my code lives in source control; I'm familiar with several systems both conventional and distributed.} \cventry{Working Environments}{Linux, MacOS, Windows}{}{}{}{While I'm most comfortable in a Debian operating system, I can work effectively in any of the three major OSes.} \end{document}