William Demchick
Welcome to my humble website.
About me
I am a Christian with Reformed theological convictions. This means that I recognise that I am a great sinner, but Jesus Christ is an even greater saviour.

Given that my relationship with Christ is the foundation of my identity, everything else I might tell you about myself is relatively unimportant. However, here are a few other things you might be interested to know.

I was born to Rebecca and Paul Demchick, two microbiologists. I grew up with a great number of advantages due to their careful parentage. My father began teaching me rudimentary computer programming when I was around 6 years of age; this has since become the cornerstone of my career.

I live in Aotearoa New Zealand. I have studied the Maori language, the original language of New Zealand, and am moderately competent with it. At the moment, I live and work in Palmerston North.

My vocation is in IT. I have experience as a system administrator, database administrator, and software engineer. My skillset is outlined below, should you be interested.
Values
Though I fail continously, my ideal is to live according to the teachings of the Bible. In summary, this means I am to love God with all my heart, soul, and mind, confessing Him as Lord. I am also to love my neighbour as myself.

One important application of this is in business, where I am to see myself as working for Jesus whenever I work for a client.

I subscribe to the SQLite Code of Ethics.
Experience and skills
This section may be of interest to you if you wish to hire me to work on your IT systems. This is only a summary, not a comprehensive listing.

Industries: I've provided services to the education, medical, and hospitality industries.

Programming languages: I have written large amounts of production-ready code in C, Python, JavaScript (including TypeScript), PHP, SQL (a variety of dialects), and Haskell. I am very well-versed in web technologies such as CSS and HTML. I am familiar with Perl and Posix Shell. I have tinkered with Java, C++, Erlang, Elixir and C# in the past. My preference is to use strongly-typed languages wherever possible, and my favourite programming language is Haskell.

Programming styles: I have experience with a variety of programming paradigms. However, my preference is for a declarative, functional style that focuses on data modeling first.

Programming environments: Most of my experience is in programming within various POSIX-based environments. I am well acquainted with POSIX APIs and other APIs exposed by specific UNIX-like platforms. I also have experience with Docker. I am used to programming with only a text editor, rather than a full IDE.

System administration: The bulk of my system administration experience is with UNIX-like systems, include Linux (Debian and Ubuntu primarily), OpenBSD, and FreeBSD. I have substantial experience configuring web, email, and database servers.

Database administration: Relational data modeling is my bread-and-butter. I have experience working with MySQL, PostgreSQL, MS SQL Server and SQLite. I also have experience with some popular no-SQL solutions, including CouchDB and Redis.

Network administration: I have experience setting up and administering small networks. I have experience setting up custom routers (Linux or OpenBSD-based), and have subsantial experience working with the IPTables and pf firewalling systems. I have set up VPNs, and prefer using WireGuard for many applications.

Cloud services: I have a substantial amount of experience administering virtual machines with a variety of providers. I have deployed moderately-complex infrastructures on Amazon Web Services using a number of their serverless offerings, as well as EC2. I have a little bit of experience with Microsoft Azure.
Elsewhere on the web
I sometimes post content to other websites. I had a Facebook and Twitter account, but have long since abandoned them due to concerns about the unpleasant effects of social media on individuals and society as a whole.