Gregory Mullen

Curriculum vitae

Hello, My name's Gregory, I'm a security software engineer, and I enjoy solving hard problems.

I've been writing code in one form or another for over 15 years, in low level languages (C99 or C++), to high level languages including Python, Haskell, and grudgingly JavaScript, with a few other languages in-between. I like writing correct, well optimized code, but I like solving problems more. When I find an interesting problem, I have to solve it. I don't often give up before I've both understood, and found a clever solution to the problem.

Founded Blackslash Development

CEO / Principal

2017 — Current

Founder, CEO, Principal. Founded Backslash Development to provide software development & systems Consultation. As the founder I've been responsible for all details from Business Administration/Management, to Software Development and Project Management. On the business side I've been responsible for both the day to day business and project management. For the technical and software side I've handled the systems administration and deployment from development through production servers, including CI/CD servers. BSDev software projects include low level languages C/C++, to high level Server and desktop Python applications. Projects cross all major OSes; from code for embedded arm systems on vehicles, (including reverse engineering the existing embedded software, to extending/replacing the limited feature set), to cross-platform high resolution encrypted VoIP software for use in university research projects where the code base starts in low level C, to graphics code in OpenGL, with a user interface written in Python giving the client the ability to extend features later.

Epic Martial Arts

Owner / Master Instructor

2016 — Current

Starting as a Martial Arts Instructor, I wrote an application to better track student progress. The system included a Touch UI that was intuitive for students as young as 5 to use. Later expanded the application to manage the business side of the studio; tracking historical and projected testing dates, for students, hosting special event sign-ups, camp registration, and fully automated recurring payment functionality.

Co-Founder cmdline.org

2009 — Current

Created shortly after the dissolution of Dev.5. cmdline.org was originally a hacking group in the real sense of the word. cmdline.org was created to pool resources and knowledge to help people who wanted to do cool stuff. Community projects included the obvious (searching for exploits), but also included resources such as; IPTV Archive, a hosted repo for classic IPTV shows out of production, or Geekii, a clone of howtoforge with a wiki format.
Later cmdline.org eventually evolved into it's current small group of security engineers working with Backslash Development.

HUDTDS

C (ISO C99)

ARM, Embedded Linux, Wayland, Weston-IVI, JCI (proprietary ****)

2017 — Current

Heads Up Display, That Doesn't Suck

The new car I bought came with an In-Vehicle infotainment system that could play music from a usb device, but remembering to update the song list on the USB drive seemed like a waste of time. My car includes wifi (disabled by default) that I wanted to use to sync my music for me. Once I started looking around the system, I learned the front end was a custom opera browser that interfaces with native code via websockets and json. I'm currently reverse engineering the system so I can implement something that's actually sane.

SideKick

Python 3, Flask, Discord

2018 — Current

SideKick is gaming organization tracking software, with a specific focus on Star Citizen. Primarily a Web based front end with a Discord Bot for the vast majority of tasks. Handles applications, fleet management, member training, org documentation, and in game intel.

Critter Chat

Python 3

C (ISO C99), National Instruments DAQ, OpenGL

2017 — Current

Unreleased Project (This project is under a non-public contract, or some patentable sections can't yet be made public)

Breathe

Python 3

2016 — Current

Unreleased Project (This project is under a non-public contract, or some patentable sections can't yet be made public)

Marshall

Python 3

2016 — Current

Version 2 of the student tracking system. This version includes a lot more support for the administrative tasks in running a martial arts studio; Including not just student tracking, but family tracking, billing, automated payments, events, online new-student registration & payments.

libtx

C (ISO C11)

circa 2018

(Pronounced lib-transmit)

libtx is a fork of the toxcore project intending to become a smaller encrypted network protocol. Building from the concepts of the tox protocol, libtx is use-case agnostic, containing no systems intended to act as a VOIP messenger. Instead libtx is a simple lightweight library that implements the new meeting protocol originally created for toxcore.

DevBot

Haskell

circa 2017

Managing the multiple git repositories and projects for the Tox Project as a whole started to become confusing or ambiguous. DevBot was created to help with that, (and because I wanted to learn Haskell.) Features include watching IRC channels for references to issues or pull requests, and providing links to Repos, Reviews, issues, patches, etc. Also included was CI/CD functions support, so developers could run tests/builds without leaving the IRC conversation. And perhaps his most important feature being comedic relief.

Toxcore

C (ISO C99)

2012 — 2017

Tox is the encrypted messaging protocol created to protect it's users from being spied on. Built from the start to keep the encryption exclusively in the control of it's users. There are no remote servers anywhere in existence that could disclose any kind of user data if they are ever compromised. After starting work on uTox, I started working on implementing multi-device support and history syncing for the Tox Protocol. While working on expanding and improving the Toxcore API, I found an implementation defect in the way Tox handles confirmed friend finding and mutual authentication. As part of the improvements I created a specification for a more secure, and likely better optimized, meeting protocol.

BS Nursing

California State University -- East Bay

2013 — 2016

California State University Bachelors Science Nursing 1000+ clinical hours across: Med/Surg, Pediatrics, Psych, Renal/Endo, Rehab, OR, ER and Community Health

uTox

C (ISO C99), Java (Android Java)

2010 — 2017

uTox is a secure instant messenger (Voice, Video, & Text)
I started writing code for the Tox Project in 2010, soon taking over as the maintainer for uTox, the small/lightweight client written exclusively in ISO-C99. uTox is still the only existing client that runs on all 4 major platforms. (Windows, OSX, Linux, & Android).

Pre-Nursing

Las Positas

2011 — 2013

After a year of being involved in working with CoCoSAR's medical rescue, I enrolled in a pre-nursing transfer program at Las Positas. After 3 long years of studying and completing the pre-requisite classes, I transfered to CSU East Bay to their nursing program.

SAR CMS

Version 2 — PHP5

2014

Working for Contra Costa Sheriff Search & Rescue, I created a “Search Notification” system. Often searches in deep backwoods had a severe negative impact on radio communications. Cell phones would occasionally get better connections, but often for only short bursts of time. Text messages became a backup communication channel when radios didn't work. SAR CMS Version 2 started implementing two way SMS so teams in the field could get messages out, as well as stay updated on current search information. This system was intended to function along side the existing callout notification system, which only allowed for messaging at the start of a search.

2010

Emergency Medical Technician

Earned EMT-B while training to join CoCoSAR's Hasty (Rapid Response) Search Team

SAR CMS

PHP5 Website

2010 — 2015

SAR CMS is the backend for the SAR website. Originally intended to assist recruiting, SAR CMS exceeded goals by recruiting more members in the first year then the previous three combined. The scope then expanded to include the CMS Core created to help manage the needs of each SAR Division. This included tracking training status and certifications for members, team assignments globally, and event schedules for both active medical/safety events and full team multi-station trainings.

Contra Costa Search & Rescue

Ground Searcher (Type 2) / Website Corporal / Database Administrator

2009 — 2015

As a volunteer I led many different teams and projects; from leading medical & rapid response teams, to managing field radio communications. I also created the website and server. The website was originally intended to assist recruiting, succeeding in recruiting more members in the first year then the previous three combined.

The Academy For Martial Arts

Assistant Instructor.

2004 — 2013

Taught Taekwondo as an Instructor to students ages 3yr & up.

Student Attendance Tracking Software

PHP4

2006 — 2012

Got tired of signing and dating attendance cards by hand so I developed a tracking system with a touch screen interface to allow students to login. The system saved not just me time, but simplified the process for students as well. It's much easier to find and touch your name on a computer. Especially when your name is printed on your belt color, and you've just turned 3 and are still learning to read!

Certified First Responder

2009

Earned First Responder Certification with Contra Costa SAR

Founding Member Dev.5

2007 — 2009

Member of a team that was created to create content/segments for Hax.5 IPTV show.