Programming
I have been programming since the age of 8, starting with teaching myself the C language. Since then, I have learned many other languages, and have used them in numerous projects. I primarily use Linux systems for my day-to-day work if possible, however I have developed on Windows and OSX as well. I am an open source developer and contributor.
I don't pigeon-hole myself into being a "$LANG Developer" or "$FRAMEWORK Developer", I consider myself a software developer and computer scientist, and I am able to pick up new languages and frameworks very quickly (including being able to understand them enough to efficiently debug). That being said, I have used frequently and am fluent with:
- C/C++ (C11, C++17 and much of C++20)
- Rust
- C# (.NET 4.5, WPF)
- Haskell
- JavaScript (and TypeScript)
- PHP/HTML/CSS
- Python
- Java
- SQL
- Shell scripting
- Makefile scripting
- IA32 and AVR Assembly
- Objective-C
I have also had varying amounts of experience with:
- Perl
- Lua
- MATLAB/Octave
- Lisp/Scheme (Racket and R5RS, primarily)
- Bison and Flex
- Smalltalk (mainly Squeak)
- SML
- Zig
I am familiar with the following software/frameworks:
- Git and Subversion version control
- GNU make
- CMake
- GNU m4
- GNU bison/yacc and flex/lex
- Apache HTTP Server
- Nginx
- Wireshark
- JIRA issue and project tracking, and other Atlassian products
- GitLab CI/CD
- JFrog Artifactory
- GNURadio
- GDB/LLDB
- Linux perf
- React (and React Native)
- Vue
- Angular 2
And finally, I have experience targetting (both natively and through cross-compilation) the following platforms:
- GNU/Linux
- Windows 2000 - Windows 10
- Android
- Arduino
- Atmel Microprocessors
- Mac (OSX)
- iPad
- ARMv7 (Freescale) and ARM64
- Plan9