My first taste of programming was during m engineering degree where I took classes in Matlab. I remember a project where we had to pair up to simulate the noise characteristics of something or other. I loved the programming side of it, but struggled with the noise control mathematics, but I teamed up with someone who was the opposite. I got to write code, they got to figure out which equations to plugin, it was a great partnership!
The enjoyment of programming lay dormant for several years. Going at as a missionary to Papua New Guinea for the first time a friend of mine recommended that I should learn Python. He was using it in his own language work to help handle his data and though it would be a good fit for me too.
Getting started with Python
I got my start reading automate the boring stuff with python which gave me a good introduction to the syntax of Python and some useful packages. The chapter on working with Excel spreadsheets launched me into my first projects. I was learning to speak Tok Pisin the trade language of Papua New Guinea, but there was no spell check for it available. I used Python to ingest the entire Tok Pisin Bible and create a .dic from it and voila, a Tok Pisin dictionary.
Another early project built on that. I would use Python to scan stories I'd transcribed in Tok Pisin, compare the words there with what I had in my dictionary spreadsheet, and automatically add new ones.
I still have that code today. It's painful to look at now but shows that 3 months after starting Python it's possible to have something useful.
Early projects
I was hooked. As the time rolled by I kept improving. I went from scripts to learning to make applications, learning GUI frameworks, finding out about SQL databases and sqlite3.
I wasn't satisfied with how I could distribute my GUI apps though so I started learning web frameworks. I dove into Django and Flask, learned Html and CSS, and have enjoyed the flexibility and possibilities of Python through the web.
In 2021 I decided to formalize my knowledge and took the Python Institute's Certified Associate in Python Programming exam. After a little study to make sure I didn't have any gaps in my knowledge I quickly earned my certification
Portfolio site and current projects
I couldn't really get the full experience I needed until I built and maintained my own site from scratch though, thus this website was born as a way to document my progress and live with the Wagtail framework.
I'm developing several projects I created for our missionary team to help with culture filing, dictionary building and general data handling. I also help our organisation with code to help with procedures in the business office.
Web apps are a great way of making code and services available through the comfort of a web browser. I'm thinking of expanding my skills by learning the Flutter framework (in the Dart programming language) which could be useful for frontend development, but also provides a way to create cross-platform mobile apps. Python could take care of the backend by providing an API and I'd be able to create a cross-platform app to consume it.
My very first use of Python on the web. I had big a stack of books to sell and 3 different sites to sell them to. Using selenlium to automate a web browser I'd find the best price for each book
My first Qt app. An SQlite database contains a list of names and upon clicking a button a random name is chosen. The idea is to have 3 random people you can pray for every day.
An addon for the open source flashcard program Anki that makes creation of batches of multimedia cards quick and easy.
A program for recording the frequency of contact with remote teams. If a team goes without contact for 3 days they get highlighted as requiring contact.
My first website. Our team wanted to have a combined blog and so I jumped into the world of content management systems, web hosting and domain registration.
A game where you control a plane over a moving, tiled map. The objective is to shoot down as many enemy planes as possible before they hit you!
CLAHub is a tool to help language learning teams record cultural observations and language texts, tagging them according to a culture overview with automatic cross linking.
Excel spreadsheets are comfortable to work with, but aren't always clear to look at. This lexicon program reads lexicon (dictionary) data from a spreadsheet and turns it into a searchable webpage
An xml reader that then generates a tribal language/English interlinear as html.
Kovol services is a simple, lightweight site built with Flask that houses assorted scripts that help process Kovol langauge data. It's designed as a way to distribute one off scripts to other users.
This website. I learned the Wagtail framework looking for a way to more easily create a user friendly Python website, and then I wanted to deploy and use it to better learn the ins and outs.