Teach Thyself


Rich talked this week about the Christian in School, which in this case refers less to institutions of higher learning, and more to the things we learn in everyday life. This can vary from actual skills and information we acquire through study, and it can refer to attitudes, perspectives and responses to people and ideas we learn by living in society. It’s as much about the TV we watch, the music we listen to, and the websites we visit, as it is about our particular efforts to study a subject.

python.sh-600x600Rich outlined the purpose of learning for the Christian as tying in with our church’s motto, becoming more like Christ all the time. The purpose of learning for the Christian is to be more like Jesus, and to be equipped to do his work in the world. This doesn’t necessarily negate learning skills for your particular calling, the world wouldn’t function if everyone became disciples, missionaries and pastors, but it does involve thinking about how the skills you acquire fit in with your life as a Christian as a whole.

Most programmers worth their salt are self-taught. Programming is as much a mindset and a way of thinking as it is knowing the specific technical details of a language. A programmer is about 90% high level ideas about algorithms, problem solving skills, and attitudes, and maybe about 10% specific technical knowledge. One part of the DNA of a lot of programmers, myself included, is this idea of acquiring skills or powers with programming. Writing code isn’t really a theoretical endeavor, it’s designed to do something. Whether it’s processing an ebook, grabbing information off the web, or creating graphics and fractals, code does something, and programmers like to learn how to do more things.

Inspired by an article I read on skimming websites to create specific topic driven books, I’ve been working on C++ code and Python scripts to skim websites, and analyze their structures. Sometimes this is for entertainment, serving up content from a bunch of different sources rather than having to go to each individual website. And sometimes it’s just so I can learn more about how good websites are put together (and even how search engines find everything online).

This activity in and of itself is largely morally neutral. I’m learning more, but I’m using this skill primarily to entertain myself, or just to learn more information. There’s nothing about this that’s making me particularly more like Christ.

Rich’s sermon got me thinking about this, and the ways I haven’t been making a deliberate effort to increase my skills as a Christian. So my solution? I wrote a Python script that skims some Christian devotional websites, and read the Bible in a year sites, and creates an ebook (using Calibre’s command-line interface)┬áthat can be e-mailed to my Kindle daily (using another Python script I found online) with new material for me to read and study. The last bit of automation will be setting up my Linux system to run this script at a scheduled time, so all I have to do is keep my Kindle connected to WiFi and I have God’s word, and the reflections of a lot of good Christians every day.

Whether or not this will result in my actually reading scripture more is up to me, but it does demonstrate that how we use skills is as or even more important than how we acquire them. I’m not saying that all of my programs have to make Christian-y things. But even programs like the fractal ones I write are designed to study and glorify a part of God’s creation, pure mathematics. And probably in the case of many programmers it’s using our knowledge and skill-sets in ways that are helpful, not harmful, and not always focused just on entertaining ourselves.