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.
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.