Hi, I'm Austin, welcome to my portfolio page.
Please make a selection from the menu on the left, thanks for stopping by.
                    Hi, my name is Austin Bachurski (I've gone by my middle name
                    my whole life) and I began my self-taught journey into
                    programming in January 2021, starting with C++ and Python.
                    This followed a successful 18-year career in the automotive
                    field, where I spent 4 years as a supervisor and 14 years as
                    a mechanic.         
                    
                    I've been a geek/nerd most of my life, we got our first
                    computer when I was 11 and I was constantly glued to the
                    thing. Mostly to play Rodent's Revenge... I remember my mom
                    getting me a C++ book when I was an early teen but
                    unfortunately didn't get much past hello world before coming
                    of age to drive and getting interested in cars as a result.
                    This led to the career as a mechanic while being a tech
                    enthusiast, building computers and gaming on the side.
                    
                    After turning a wrench for almost 20 years I decided I
                    wanted to do something different and pursue learning
                    programming in that language that I started learning so long
                    ago, C++. Thus, starting my self-taught journey into 
                    learning to code in January of 2021. I bounced around
                    between C++ and Python when I first started learning and I
                    think it's a great way to learn. C++ forces you to
                    understand what's really going on under the hood, where
                    Python makes it easy to get something pretty on the screen.
                    I transferred to a Geographic Information System (GIS) role
                    in July of 2022 to increase my exposure to the tech side of
                    things.  This was a great boon to my learning as it allowed
                    me to put my coding skills to use in a real-world scenario.
                    
                    After three and a half years of self-taught learning I
                    finally got hired as a Software Test Engineer this year,
                    albeit part time, but I've learned a lot in the short amount
                    of time I've been doing it. Finally getting exposure to
                    multiple languages at once and using source control with
                    people other than myself feels great. Getting feedback from
                    people with real developer experience has been wonderful and
                    Getting feedback from
                    people with real developer experience has been wonderful and
                    I've been happy to find that I do genuinely enjoy the work
                    and I look forward to a successful career as a developer in
                    the future.
                
                          Tetris Clone
                    
                            A Tetris clone that runs in the terminal, written in
                            C using ncurses.
                            
                            I wanted to improve my C skills, as well as practice
                            GDB, so I wrote this Tetris clone that runs in the 
                            terminal using C and the ncurses library for the ui.
                        
                          Advent of Code 2024
                    
                            Collection of my solutions to the 2024 Advent of
                            Code.
                            
                            Mostly C++, with a bit of experimentation with Rust.
                            I had a ton of fun and learned a lot as I went
                            through each day. I've been able to complete all
                            the part one puzzles by myself so far, but some part
                            two problems stumped me and I had to look at what
                            other participants were doing to solve the puzzle.
                        
                          Five-Function Calculator
                    
                            Expression evaluator calculator that parses percent,
                            addition, subtraction, multiplication, and division
                            using the "Shunting Yard" algorithm.
                            
                            The calculator outputs information about every
                            decision that was made during evaluation to a
                            "Trace Tab" as well as generates a "trace file"
                            containing said output. This was a take home
                            project for a company I interviewed with back in
                            January of 2024. The specification is in the
                            repository, and the project had to be completed in
                            one week.
                        
                          Doubly Linked List Implementation
                    
                            Repo for storing some data structures and algorithms 
                            implementation attempts.
                            
                            Currently only has an implementation of a std::list
                            from the C++ Standard Library. Not exactly true to
                            the original but I learned a lot implementing this.
                            Constructors and destructors for the list as well as
                            the list nodes print information to the console to
                            show what's taking place as nodes are created and
                            destroyed. The list features a forward iterator, 5
                            insertion methods, 4 removal methods, 3 capacity
                            methods, and 3 element access methods.  I included
                            operator[] as well as a constructors taking a value
                            or a std::initializer_list for learning purposes.
                        
                          Services Controller 
                            for Esri Enterprise Portal
                    
                            This application provides a simple interface that
                            allows users to quickly view and control the state
                            of services on an Esri Enterprise Portal Server.
                            
                            The directory, name, type, and state of every service 
                            on the server can be viewed via an easy-to-understand 
                            context menu and selectable text frame. Users can start 
                            or stop all services at once with a couple clicks of 
                            the top menu bar, allowing server maintenance tasks or 
                            service modifications to be performed without wasting 
                            time clicking stop or start on dozens of services using 
                            ArcGIS Server Manager, or manually maintaining a long 
                            list of services in JSON format using ArcGIS Server 
                            Administrator Directory.
                        
                        
                          Crime Map Update Wizard
                
                        This tool was written to help the volunteers at the 
                        Kalispell Police Department update the Kalispell
                        Crime Heatmap quickly and easily, no more
                        copy/pasting in Excel, and no need to open ArcGIS
                        Pro.
                        
                        Crime Map Wizard is a newer version of the Crime Map 
                        Update Assistant (previously written in Python) that
                        provides a graphical wizard with the previous three
                        geoprocessing scripts improved and condensed into a
                        single script. The user interface and Excel parser
                        is written in C++ using wxWidgets, and the 
                        geoprocessing script is written in Python using the 
                        ArcGIS ArcPy module.
                    
                          Building Permit Parser
                    
                            Spreadsheet parsing tool to help make work easier
                            for my coworkers in the Building Department.
                            
                            The tool parses out building permit information from a
                            tracking spreadsheet to quickly provide totals for
                            yearend reports. The tool automatically loads and parses
                            the sheet for the previous calendar year and displays
                            the information to the user. A "Copy" button near each
                            displayed value loads the information into the operating
                            system clipboard so it can be easily pasted into a
                            report document with minimal effort required by the
                            user. I submitted this as the final project for the
                            Udacity C++ Nanodegree course.
                        
                          Law Enforcement Warrant Generator
                    
                            Document generator application that produces search 
                            warrant documents in .docx format for law 
                            enforcement, written in C# using AvaloniaUI. 
                            
                            This application was written to aid my police 
                            department in generating search warrants.  It allows
                            the officer to simply enter in the pertinent information 
                            for the warrant and avoid having to type out a bunch
                            of boilerplate, or risk incorrect data being included 
                            where content was copy/pasted from previous search warrants.
                            The tool can produce both the Search Warrant Application
                            document and the Search Warrant document itself for 
                            many of the common warrants that are issued.  This 
                            greatly reduces wait time for the warrant to be issued,
                            especially in the case of a barricaded suspect.
                        
                          Battleship Game
                    
                            Console clone of the Battleship board game, written in
                            C#. Capstone Project for the Skill Foundry 
                            "Object-Oriented Programming in C#" course.
                            
                            Contains unit tests for game and score functions,
                            capable of player vs player, player vs computer, or
                            computer vs computer battle. This was my first
                            attempt at a game and the capstone project for the
                            Skill Foundry C# 200 series course.
                        
                          Building Permit Monitor
                    
                            A simple system tray/notification area application
                            that monitors a database for newly issued building
                            permits.
                            
                            This tool was written to assist in tracking and
                            mapping building permit data. The UI is a bit
                            strange at first glance - I wanted something compact
                            that could live in/around the notification area. I
                            get a popup notification from the tool when there's
                            a new permit to record. Clicking the notification 
                            spawns the validation window, just above the task
                            bar that allows the information for the permit to be
                            reviewed at a glance rather than digging through the
                            permit submission to find what I need.
                        
                          Mailer Generator
                    
                            Automatically generates a mailing list and
                            accompanying map for a given address, assessor
                            number, or tract id.
                            
                            Generating mailing lists and maps is something that
                            I previously did manually with GIS software.
                            Automating most of the process allows me to produce
                            the required map and mailing list in less than 2
                            minutes of receiving an emailed request.