So I am now 3 weeks into having a full time job. For the most part, it’s been great, thank God. My living situation couldn’t be much better if at all.
I currently am living temporarily with my sister and brother in law, but in a few months I’ll be renting a couple rooms from a house in the same community. The only reason I’m not renting now is because the house is still being built. Basically, I’ll be renting from a brand new house and have a pretty decent amount of privacy and space for at a very nice rate, AND will still be walking distance from my sister and brother in law. My commute is about an hour, door-to-door, if I take BART, which turns out to be extremely convenient because 1) the Oracle branch in Pleasanton is right next to the BART station, 2) I avoid stressful traffic, and 3) I can do stuff during the hour commute such as reading the Bible, learning Python, studying Greek, or just plain sleeping. My dad also helped me purchase a car (dark blue 2009 Honda Accord LX) which I am happy with because 1) it’s blue, and 2) it has an aux port (I don’t understand why a lot of cars don’t have this…)
You may have been puzzled by my list of activities to do on BART. Those activities pretty much define what I’ve been spending my time on outside of work.
East Bay True Jesus Church is quite small which means we don’t have too much manpower, which means I have more opportunity to help out and serve. And since I no longer have homework, I can freely attend more services, which is a great blessing. One of the reasons I wanted to take an indefinite break from school was so that I could spend more time being involved with church work, since I was unable to during my time as an undergraduate. Thus, I aim to take substantial time cultivating myself in Bible knowledge and prayer to prepare myself and hopefully be able to contribute to the growth of the church here. In the past, I’ve never really understood what it was like to devote significant time and effort to holy work, so now’s my chance I guess. In college I always envied my friends who were capable of helping out, so I hope they can continue to cherish the privilege they have.
Studying Greek. Thank God some brothers and sisters are taking the initiative to make a really long term commitment to this. The aim is basically to be able to study the New Testament in its original language and ultimately write commentary. About 5-6 of us meet on Monday evenings via TokBox, and fortunately some of us already know some Greek (not me) to get started before our real instructor comes back from theological training in Taiwan in January. It’s been interesting because I haven’t tried learning a new language since I graduated high school (where I was learning Spanish). Greek I feel is much harder to pick up mostly because the letters actually look different. In Spanish the letters were pretty much the same, and the sounds were pretty close to reading Pinyin. But reading Greek has almost felt like trying to make phonetic sounds from hieroglyphics (I guess Chinese is like that too, but I’ve already been learning/picking up mandarin on and off my entire life). Anyways, I hope we can really keep at this in the years to come.
Python. Why am I trying to learn Python? I guess one of the short answers is that I’m trying to accrue more skills and add another language to my toolbox. Why Python specifically? I’ve only ever written one Python program before, and it was for a 4 week Unix class. The language is easy to learn, has compact and elegant syntax, and enforces readability with mandatory whitespace/indentation. It’s easy to code in and is the only language where I’ve written a code snippet and had it execute the first time without errors. But most of all, Python is extremely versatile as a high level language. It can do “low-level” things like network programming and interfacing with hardware (e.g. over a serial port with say, a microcontroller like an Arduino) as well as higher level things like text-processing, file manipulations, and numerical/scientific computations. With Python you can quickly do things any shell script could, but still harness the power of OOP and write programs for software applications and web development. I’ve heard that languages can partially be judged by their “Hello World” programs. In C it’s pretty easy: printf(“Hello World”); , but anything more complicated quickly becomes super frustrating to debug because the developer has to worry about memory management and bounds checking. In Java, “Hello World” is a bit more of a nuisance: System.out.println(“Hello World”); (not including the class declaration), but is good for large complex applications because it’s OO and has its own garbage collection. Now Python’s “hello world”: print “Hello World”. Even more concise than C, but still the potential for large software design like Java.
Now I’m by no means an expert in computer languages, nor do I have professional expertise in any one language, which means I’m most likely oversimplifying everything. But from what I can gather, it seems like Python can pretty much do everything I’ve ever done in every language, except with less stress. If you want to talk about Matlab, well I just bought a book on data visualization with Python and it makes use of external math libraries that can do things like plotting figures and doing Fourier transforms and other signal processing operations. Sure, Matlab probably has lots more complex features, but for someone like me, I’m sure Python has more than enough. Oh, and Python is FREE (and Matlab certainly is not).
I’ve always been interested in web development, so I’ve also been wanting to pick up a language or platform for that as well, initially Ruby on Rails. But my good friend Mohan (www.mohanzhang.com) referred me to Django, which is another web development framework that is written on….*drum roll….Python!
All in all, by learning and becoming an expert in just one language, I can do pretty much all the random things that interest me in terms of software development. Learning one language is certainly easier than trying to learn multiple ones, especially simultaneously.
I’ve got some ideas for applying my future proficiency in Python. One is a “daily blessings” web app that I can use to help me count my blessings. For a period of time in high school I would write down blessings in my journal everyday, but that got inconvenient (or rather, I got lazy) because even if I did end up writing in my journal everyday at night, by that time I would’ve forgotten a lot of what happened during the day already. But a web app has the advantage of me being able to add blessings throughout the day (so long as I have internet, which pretty much most of us have at our disposal in many places), as well as being able to store them and view them with ease. Furthermore, if people are interested, they could use it as well, which would make it even more meaningful. I also plan on doing a rehaul of my website, which is in PHP. I could write many paragraphs about this, but I will save it for my future website. Anyhow, I think once I get into Django (and assuming that I like it), these things will be much easier, especially the daily blessings thing.
Besides all that, I also go to the gym 2-3 times a week after work, help my sister and brother in law cook and clean, and other miscellaneous things. That’s my life without homework, and so far it’s been nice. In fact, the only slightly negative thing about it is that so far my job is kind of boring, but that’s mainly because I’m doing self study training which consists of reading PDF files.