Astral by HTML5 UP html5up.net | @ajlkn Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) Welcome! Would you like to play a game? ─────▄██▀▀▀▀▀▀▀▀▀▀▀▀▀██▄───── ────███───────────────███──── ───███─────────────────███─── ──███───▄▀▀▄─────▄▀▀▄───███── ─████─▄▀────▀▄─▄▀────▀▄─████─ ─████──▄████─────████▄──█████ █████─██▓▓▓██───██▓▓▓██─█████ █████─██▓█▓██───██▓█▓██─█████ █████─██▓▓▓█▀─▄─▀█▓▓▓██─█████ ████▀──▀▀▀▀▀─▄█▄─▀▀▀▀▀──▀████ ███─▄▀▀▀▄────███────▄▀▀▀▄─███ ███──▄▀▄─█──█████──█─▄▀▄──███ ███─█──█─█──█████──█─█──█─███ ███─█─▀──█─▄█████▄─█──▀─█─███ ███▄─▀▀▀▀──█─▀█▀─█──▀▀▀▀─▄███ ████─────────────────────████ ─███───▀█████████████▀───████ ─███───────█─────█───────████ ─████─────█───────█─────█████ ───███▄──█────█────█──▄█████─ ─────▀█████▄▄███▄▄█████▀───── ──────────█▄─────▄█────────── Enter the decrypted message as a URL, no spaces or caps. IE https://crosleyzack.com/TheMessageHere lwv qrw zkdw kdsshqv wr brx exw krz brx uhdfw wr lw wkdw pdwwhuv [NOTE you could always look at the github repo for the answer, but thats no fun] Zackary Crosley Software Engineer

About

I am a backend software engineer with a passion for writing code, the outdoors, and coffee. I got my start writing code in 2010 with a high school robotics team, and have been fascinated by it ever since. Software is not just a powerful and flexible tool in the modern world, but a way to think about problems. Finding problems, understanding them, and solving them is what being an engineer is all about. If you have any challenging problems, I would love to hear from you!

  Education
Master's of Science
Computer Science
Arizona State University
Aug 2019
Bachelor's of Science
Computer Science
Arizona State University
Dec 2017
  Organizations
Scouting America
FIRST Robotics

Work

I have a wide variety of academic and work interests, and have run the gamut of computer science subfields. I have a deep interest in computer security and the methods for protecting users data. I greatly enjoy the process of analyzing programs from an attackers view and finding creative solution to find and patch vulnerabilities. Ultimately my interest in Computer Science is a philosophical one of how to think through problems and answer tough questions.

  Resume

Please visit my resume github respository.

  Experience
Software Engineering
It is not enough to simply write code, but to deliver working code to the user. This requires CI/CD, containerization, microservices, performance monitoring, testing, and more. My experience with Censys has given me a large amount of experience in these areas. I have constructed data pipelines to ingest web data, transform that data into risks and vulnerabilities, and deliver that data to the user via a web portal and APIs. I have built gRPC microservices to support individual features of the Censys product. I have defined containers for each of these microservices and the associated Kubernetes charts. I have configured services with OpenTelemetry for observability and alerting. Learning how to write code that is easy to read, performant, and secure is a continual learning process, and I am always looking for ways to improve my capabilities.
Computer Security
In graduate school, I worked with the Security Engineering for Future Computing (SEFCOM) lab for my thesis and significant coursework. In classes led by SEFCOM faculty, I learned the techniques for binary, web, and network security. This included techniques like Buffer Overflows, Format String exploits, Loop Overflows (Off-by-One exploits), Return Oriented Programming, Spoofing (ARP, IP, TCP), Cross Site Scripting, and SQL Injection. These techniques were employed with the Capture the Flag (CTF) team the pwndevils. Pwndevils was established by Shellphish alumni and worked closely with the team, frequently attending DEFCOM CTF events with them. My research project for my thesis was the application of inductive programming techniques to exploit generation, which enabled the learning of basic expoits from examples in a CTF environment. This research is ongoing and pending future publication. My role with Censys was development of tools like Platform advantages Exposure Management to enable users to identify vulnerabilities in their internet facing devices. Using internet wide scan data, we identified exposures and possible vulnerabilities and displayed them to the user via a web portal and APIs.
Artificial Intelligence
I took multiple courses in artificial intelligence techniques, including heuristic searches, classifiers, clustering, and reinforcement learning. My graduate work included the mathematical foundations for algorithms like SVM, Naive Bayes, Logistic Regression, Locality Sensitive Hashing, and Markov Decision Processes. My employment with the Navy involved the development of genetic algorithms to optimize aircraft Tactics, Techniques, and Procedures (TTPs). In my career with the Army, I developed a navigation system which generated a graph data structure from the terrain to enable intelligent path identification via heuristic searches, like A* and Djikstra, and optimization techniques like Ant Colony Optimization. I have also developed an architecture for Utility-driven AI which is used to define adaptive behaviors. The methodology for my thesis research, inductive programming, is an AI technique that uses Directed Acyclic Graph (DAG) intersections to learn from examples.
Scientific Computing
My career with the Department of Defense was in the field of Computational Sciences, specifically Combat Modeling. My first job with the Navy involved development of a deterministic, closed-form simulation used to evaluate aircraft Tactics, Techniques, and Procedures (TTPs). This simulation mutated Subject Matter Expert (SME) encoded strategies across a variety of scenarios to evaluate effectiveness of alternative TTPs. Our work involved not only algorithm development but the maintenance of the two hundred node, Windows Server cluster computer on which they were run. My work included performing updates and developing utilities for job submission and server maintenance. My role at the Army involved working a closed-form, Monte Carlo, discrete event combat simulator used for analysis of acquisition decisions. I have worked on defining automated and intelligent behaviors for entities within the simulation as well as extending the simulation to model new functionalities.
Functional Programming
Since learning functional programming, I employ its techniques with growing regularity as a useful methodology for solving data transformation driven problems. Clojure is the most functional programming language I have used, but I reguarly apply the functional programming features of languages like Python and Java to create simpler solutions. The navigation suite I developed for the Army is mostly functional, with a Graph object that merely manages basic state information and all other methods being written independent of the object. This has the extra benefit of enabling these methods to be repurposed by other developers, who have used the resulting library for various projects. As part of my functional paradigm exploration, I studied Okasaki's foundational paper Purely Functional Data Structures, and utilize his techniques regularly to improve my code (lazy evaluation, memoization, and immutability).
  Publications
  Languages
Go
Used at Censys to develop microservices and recent personal projects. Knowledgeable of language mechanics and common tools for service development; including cloud libraries, database management, API development, testing, and telemetry tracking.
Python
Primary language I used in college and Navy career. Deep familiarity with core libraries and language features. I also have experience with Numpy, Scipy, Pandas, Pwntools, Scapy, Tkinter, MatPlotLib, and Pillow.
C / C++
First programming language used in previous jobs and in college. Familiarity with pointers, the manual allocation of memory, garbage collection, and the C standard library. Experience with OpenMP and Qt.
Julia
Used for personal projects. Huge fan of the type system and multi-dispatch. My only complaint with this language is eager evaluation by default. If it was lazy by default, it would be my new default language.
Clojure
Used for personal projects and college course project. This language was how I learned functional programming and the advantages of homoiconicity with real macros. I would love to use Clojure more, but it is a fairly niche language.
Java
Used in past job and in past college courses. Familiarity with features of the language and core libraries. Experience with Maven, Log4j, JUnit, and Neo4j.
C#
Used for personal projects and college courses. Worked with members of Boy Scouts of America to produce a registration system. Familiar with Entity framework and ASP.NET.

Other Interests

  Rock Climbing

Rock climbing is a recent passion of mine, but one I have dedicated significant time to recently. I enjoy both the problem solving aspect - how do you move your body to progress upwards - as well as the strength and coordination it requires. I have learned to lead climb and am looking forward to climbing more outdoor routes in the future.

  Hiking & Backpacking

Since my time in Boy Scouts I have been an avid hiker. Backpacking was never as much of a passion of mine, but my interest in returning to it grew during pandemic lockdown. My partner, our dog, and I have begun backpacking again with a goal of completing a rim to rim trip of the Grand Canyon and Mt. Whitney.

  Cooking

Cooking began as a necessity, not an interest. In college my roommate and I were living on our own, and had to feed ourselves. Since money was tight, eating out regularly was not an option. We began teaching ourselves how to cook, and became quite good as college progressed. I now cook both to eat healthy and to enjoy foods that I love, with recent recipes including Pad Thai, Falafel, Turkey with Red Chili Sauce, and Sous Vide Filet Minon, to name a few. I have also become quite good recently with my Latte machine.

  Weightlifting

Weightlifting is a necessary training to gain and maintain the strength I need for other activities, like rock climbing. Beyond that my regular visits to the gym organize my day and motivate me. My current weightlifting goal is to build strength, increasing the weight for compound lifts to help improve my rock climbing.

  Philosophy

I have a keen interest in philosophy, especially the practical philosophies of the Hellenistic period. While philosophy is often portrayed as armchair theorizing, and some certainly is, others ask important questions about how we should live our lives and make difficult decisions. I am particularly interested in the Roman Stoic philosophers, whose virtue ethics emphasized the identification of what is within our control and was the basis for Cognitive Behavioral Therapy.

Design: HTML5 UP