BENJAMIN CARLSON
My Skills & Experience
ABOUT ME
I am a senior at Colorado School of Mines studying Computer Science with a double minor in Statistics and Physics. I have been programming since 2013 and am proficient in Swift, C++, C, Python, Java, and SQL. I have developed applications for iOS, Linux, and macOS with ongoing development on all of these platforms.
INDUSTRY EXPERIENCE
Professional Projects
CABLELABSÂ -Â SOFTWARE ENGINEERING INTERN
May 2022 - August 2022
Integrated the EasyMeshâ„¢ Virtual BSS feature into the prplMesh implementation.
​Technologies Used-
C
C++
Python
OpenWRT
libubus
EasyMesh specification / TLVs
CABLELABSÂ -Â SOFTWARE ENGINEERING INTERN
May 2021 - August 2021
Developed an IWiNS product to intelligently steer mobile user traffic.
​Technologies Used-
C
OpenWRT
Linux Tun/Tap
iptables/ip route
Sockets for Linux kernel requests
JSON Parsing in C
libcurl requests
libpthread for multithreading and sync
SIEMENS GAMESA -Â SOFTWARE ENGINEERING INTERN
June 2020 - May 2021
Worked on the development of the BHawCViz wind turbine simulator.
​Technologies Used-
Python
Qt
VTK
LOCKHEED MARTIN SPACE -Â SOFTWARE ENGINEERING INTERN
May 2019 - April 2020
Created a program to allow SmartSat applications to communicate with the ground and the satellite's camera along with a program to act as the ground or camera for testing.
Technologies Used-
C style C++
Linux
Raw Sockets
Python Bindings
Low Level Memory Management
HACKCU HACKATHON - 2ND PLACE
February 2019
Developed a web application with two other Mines students that, by placing three devices in a room, could detect all the devices in that room using WiFi, triangulate their location and save their identifying information. My primary responsibility was to create a program that gathered the device data and passed that data to the web server.
Technologies Used-
Python
Linux
Network Interfaces
October 2018
Created an iOS application that would allow the user to take a photo, use image recognition technologies to identify the item, then open a corresponding Amazon product page.
Technologies Used-
Swift
iOS
Clarifai API
FITTFINDER - SOFTWARE ENGINEERING INTERN
May 2018 - August 2018
Worked on an iOS application for locating fitness related events nearby. My contributions resulted in a simpler code-base, much faster performance, and an 80% reduction in compile time.
Technologies Used-
Swift
iOS
Git Integration via Bitbucket
PROJECT EXPERIENCE
Personal Projects
HARMONIZE APP (IN DEVELOPMENT) - LEAD DEVELOPER
July 2018 - Present
Creating an iOS application that allows users to find people looking for band members in their area. Developed a backend server with multimedia uploading capabilities, messaging, and notifications using a MySQL connector with Swift. This has been delayed due to conflicts with work and school but the app is built, not released.
Technologies Used-
Swift
iOS
AWS
MySQL
REST Api
MOCKSTOCK APP - LEAD DEVELOPER
June 2014 - Present
Developed my first iOS application as a stock market simulator that used real-time stock data with fake money to allow users to "trade" stocks without risking any money. This app includes custom graphs, a news feed, a watch list, and a portfolio with market open/close notifications. (This app is still on the iOS App Store, however, my previously used APIs are now removed and because of this, the data is not very accurate and the news data is scrambled. I have not been able to repair this since there are no longer any low cost stock market APIs).
Technologies Used-
Swift
iOS
Web APIs
In App Purchases
Google Ad Integration
POTHOLE REPAIR ROBOT - LEAD DEVELOPER
November 2019
Engineered and programmed the electronics behind an automated pothole repair robot which would, using an array of distance sensors, detect a pothole, use an infrared heater to increase the asphalt's temperature to a hot enough level (measured by an infrared temperature sensor), fill the pothole, and compress the asphalt again. With a camera on the robot, the user could connect the custom iOS app to view all the sensor data, the camera view, and manually shutdown the process if necessary. The iOS app also functioned as a automated pothole reporter (if enabled) or a manual reporter for average consumers.
Technologies Used-
Python
Raspberry Pi
Motor control
Sensor data collection
Live camera streaming
Custom circuit board
Swift
iOS
MySQL
Custom backend server
Wireless configuration for custom access points
June 2017 - August 2017
Developed a computer vision application while at the Frontiers of Science Institute to calibrate to a user's skin tone, detect their hand, and overlay a spinning fireball where their palm is located that would update in real time. I later added an extensible voice control interface to update the settings in real time, such as rotation speed or enabling/disabling debug mode.
Technologies Used-
OpenCV
Python
Google Speech Recognition
June 2017
Created an open source program that used a motion sensor and a camera that, when the motion sensor is activated, the camera takes a photo and saves it. The program then texts the user that the motion sensor has been activated so the user can open the custom iOS application, login, and see the most recent photo as well as the time it was taken.
Technologies Used-
Python
Raspberry Pi
Camera
Motion sensor
Swift
iOS
June 2016
Developed a python program during the Colorado School of Mines SUMMET program which would allow Mancala to be played in three different modes. The first mode is a console interface for playing Mancala with two players. The second mode uses an evolutionary algorithm to train a solution over a certain amount of games, finding the optimal solution. Lastly, the third mode allows a user to play the optimal solution via the console.
Technologies Used-
Python
Evolutionary learning algorithm
EDUCATION HISTORY
August 2018 - December 2022
COMPUTER SCIENCE - COLORADO SCHOOL OF MINES
Minors: Physics and Statistics
August 2022Â - May 2023
MASTER'S - COMPUTER SCIENCE - COLORADO SCHOOL OF MINES
PROFICIENCIES
SWIFT
Advanced - 10 years
C++
Advanced - 8 years
C
Advanced - 7 years
PYTHON
Advanced - 8Â years
JAVA
Intermediate - 3Â years
SQL
Intermediate - 6 years
IOS
Advanced - 10 years
LINUX
Intermediate/Advanced - 8 years