group Experience

The walk to back up the talk.

Collective Bias, an Inmar Company

Leadership and Experience
Collective Bias provides a cutting edge platform for connecting influencers with brands, and runs massive marketing campaigns for brands you use every day. As senior software engineer, I oversee a small team of engineers and build out a platform for a field that changes every day. From web scraping, complex OAuth workflows, microservices, to Kubernetes, my team works with a variety of technologies to keep our sites highly available, secure, and cutting edge.
Technologies and skills
  • Kubernetes: Wrote complex deployments and maintained our clusters
  • Docker: Migrated all of our systems to docker containers
  • Ruby on Rails: Most of our systems are microservices written in Rails 4 or 5
  • Sidekiq: Our background worker system of choice. You name, we've run it in a worker
  • Golang: High performance systems are re-written in Go as needed
  • Facebook Graph API: Constant work on integrating and collecting data from Facebook
  • Codefresh: Wrote a majority of the CI/CD scripts for our Kuberenetes ops pipelines
  • Postgres: Used daily as our datastore of choice and for writing reports
  • Redis: Both our backend for Sidekiq and our datastore for high-performance access

ATLAS Technology Group

Experience
Worked with the core development team to support the Business Intelligence teams, supporting and extending our AdHoc big data query tools and massive data repositories. This included intensive backend work and meticulous frontend development practices.
Technologies and skills
  • Code review
  • Migration from JavaScript to TypeScript
  • Intensive work with MS SQL Server and HP Vertica
  • Wrote internal data migration tools between database systems

Slipstream Creative

Experience
Developed, maintained and deployed enterprise software for drag-and-drop website development, powerful SEO, distributed APIs, and video syndication.
Technologies and skills
  • Collaborative development with source control and a distributed team
  • Consistent and effective documentation for both user and developer facing components
  • Work with third parties and their APIs to integrate our products

Cynlogic

Experience
Used the C# MVC Framework, Entity Frameworks, AngularJS, and Twitter bootstrap to develop a modern web interface for managing bail bonds, named "DigitalBondsman." Implemented everything from real time searches to asynchronous file uploads. Worked closely with a team and bail bond professionals to tailor the interface and features to the needs of the market.
Digital Bondsman in action

Miscellaneous

IT Services at Fayetteville Psychotherapy Associates
Applied critical updates, fixed networking issues, and rolled out critical security updates to maintain HIPAA compliance. Provided support/updates from Windows XP up to Windows 10, and helped manage software installation and security software. Also provided on-site and on-call user support.
Neural Network Research at the University of Arkansas Machine Learning Lab
Applied higher level mathematics, C++, algorithms, and efficient programming techniques to research, implement, and extend deep neural network machine learning. This included testing expiremental multi-threaded training algorithms and implementing entirely new network training techniques.

build Tools

What I use to build software.
Programming languages
  • Ruby: My bread and butter
  • Go: When Ruby doesn't cut it, or I crave some types, I love to use Go
  • C: I love lower-level programming, and C is a tool for any (system-level) job
  • TypeScript: Experience with large migrations to TypeScript, and I miss the type system any time I'm not using it.
  • JavaScript: When TypeScript isn't available, I still love the functional, event-driven style of JavaScript
  • C#: I have a lot of experience with C#. It's not my language of choice, but I'm productive and effective when I'm using it.
  • Assembly: Seeing the system from the bottom-up is a lot of fun and informative
  • FORTH: My "weird" language of choice. I love implementing FORTH from scratch, and the concatenative nature is a nice change of pace.
Frameworks
  • Ruby on Rails: It may not be the fastest, but it's reliable and I can take an idea from a vague thought to a working system super quickly when I'm using rails
  • React: My weapon of choice when battling the frontend
  • Kubernetes: I can stand up a cluster, deploy apps to it, debug it, and provision it easily. My joke after a week of cluster configuration is that my favorite language is YAML.
  • Docker: The reproducibility of a good Dockerfile and the simplicity of running and configuring containers makes me love working with Docker and the Docker ecosystem.
  • Sidekiq: The end-all, be-all for background job systems in my opinion. The simplicity and reliability easily exceeds any other framework I've seen for this kind of job system.
  • ASP.NET MVC: As the de-facto way to develop web applications with C#, I have a lot of experience with the best and worst of what ASP.NET has to offer.
  • Angular (JS and 2+): My second choice for large web application frontends.
UNIX-Style Systems
  • Linux Family: Experience installing, virtualizing, administrating, tuning, compiling, tweaking and fixing Linux installations. Very familiar with distributions in the Debian family, but also have experience with more exotic distributions, such as CoreLinux, Gentoo, Arch, and Slackware.
  • Apple MacOS (Formerly know as OSX): Experience using, programming, and networking Apple MacOS systems. My second choice if a open-source alternative isn't available
  • BSD Family (FreeBSD, NetBSD, OpenBSD): Hobby experience administrating, programming, and networking with BSD-family systems.
Microsoft Systems
  • Modern Windows (Windows 7 and up): Experience administrating, securing (via Bitlocker), and upgrading multiple systems on a network. Familiar with the Microsoft programming stack, SQL, Office, and the .NET framework.
  • Older NT-Family Systems (ME, XP, Vista): Experience administrating, upgrading, and managing older Windows systems. Familiar with the registry, virus protection, and security on these older versions.
  • Legacy Systems (MS-DOS, Win95, Win98): Experience upgrading, navigating, and programming these old systems. Experienced with MS-DOS and MS-DOS development.

drafts Projects

These are unfinished, hobby projects I've built on the side, dating all the way back to high school.

KConf

A portable configuration system for developing with docker-compose and Kubernetes simultaneously.
My Kubernetes configs and my docker-compose configs are almost identical. Why not make a consilidated configuration format?
As a developer heavily involved in ops and easing my team's development workflows, I found myself frustrated with the amount of copy-pasted YAML every time a new configuration was added or updated. This project aims to consilidate all configuration into a single YAML file that generates env files, Dockerfiles, deployments, secrets, and configmaps, as well as mapping between local development dependencies and helm releases.

TCLS

An HTTP server written from scratch in TCL
I wanted to learn about the HTTP implementation and TCL, so I combined them into a simple project.
TCLS is a small, from-scratch HTTP server written in TCL. While not nearly feature complete, it can handle basic static content serving, and understands HTTP verbs, MIME types, and a basic routing DSL is provided as well.

FORTHstrap

A small FORTH with a toolchain for easily porting to new environments
What's better than the FORTH programming language on one architecture? How about native FORTH on any architecture?
ForthStrap is a FORTH implementation written from the ground up to be portable. The build process uses a simple porting interface that allows very quick deployment to any architecture desired. After the initial environment is built, ForthStrap programs can work portably between any architecture.
Execution Architectures
      x86 Hosted Quick and dirty application development on Linux!
      x86 Unhosted Boot straight from master boot record to a serial console on a standard PC
      8086 Unhosted A booter disk environment for 16-bit PCs
ForthStrap running on an 8086 emulator

Virtix

A tiny UNIX-like of my own
It's hard to appreciate how operating systems work without building one or two yourself. The x86 architecture is a mystifying place, but the tried-and-true approach of keeping it simple allowed me to build a UNIX-like kernel.
  • A small C userspace: Build software using a C toolchain and a small subset of the standard C library written from scratch
  • Multitasking: Fork processes, spawn subprocesses, and use system calls to send signals to other processes
  • ELF Executable Support: Strip out unneeded symbols and Virtix can load your binary as per the ELF standard, allowing the standard GNU toolchain to be used to compile userspace programs
  • File System: Introducing DeepFAT, a simple abstraction on top of FAT12/16 that allows for UNIX style directories
  • Virtual File System: Find devices in the system's file tree, read and write using the UNIX everything-is-a-file methodology
  • Clock: Hardware support for the Real Time Clock
  • Memory Protected Userspace: Null pointer dereferencing, stack overflows, etc. are all handled by the hardware

info About Me

A biography and some contact information.
My name is Austin Bittinger and I am a self-taught programmer from Fayetteville, Arkansas. What started as writing calculator programs to solve the quadratic equation in the seventh grade, quickly changed to writing assembly code and C within a couple of years. I'm an Eagle Scout, and I apply my leadership and work ethic to programming day in and day out. From web design, to machine learning on supercomputers, to operating systems programming, I love to build things. What can I build for you?