I am coming up on my last day at my current job and looking forward to starting my new one. I have been busy wrapping things up, so I don’t have much interesting to share. In addition to starting a new job, I am also looking at stopping consulting work on the side. I need to spend more time with family and working a full-time job and part-time consulting doesn’t leave much time for other activities. I am sorry to say, if you are not a current client, I am now unavailable. If you need a recommendation, I do know some other freelancers I could recommend, but that will be the extent of new client work going forward.
Month: May 2015
Changes
There are several changes taking place. The main change is I am leaving my position at Pick Programmer’s Shop to take a job with Vitals.
The way this came about was by being active in the local developer community. These include the Tulsa Agile Practitioner’s group and the Tulsa Web Devs group. I would encourage you to be active in your local user groups. Not only will you learn, you will also get to know new people. This is the most important thing. People will help you grow and expose you to new ideas. By interacting with people at the TAP group, I learned about this opening.
I will be starting the new job in early June and I am looking forward to the new challenges it will bring.
Programming Katas
I have been doing some programming katas lately to help me learn more about unit testing. Kata is a term taken from martial arts where they would repeat a drill to perfect a technique. In programming, a kata is the same. It is some task that you repeat to learn how to do something better. I have been using cyber-dojo.org to do my katas. That is a website that has been setup for this purpose. The advantage it provides is you don’t have to do all the setup to prepare for learning. It has about 25 languages and about 40 exercises you can choose from. It also has different unit testing packages available depending on which language you select. I have been using this to help learn about other languages as well as learn more about unit testing. I have found that I learn better by doing than just reading about things and cyber-dojo helps me do that. When I am also trying a new language for the first time, it does take more time to learn the testing tool as well as that language syntax, but that is the purpose of doing the katas. It does get quicker the more you do it.
E. M. Bounds
We had a guest speaker at church a couple of months ago that made a passing comment about E. M. Bounds and a book on prayer. I finally got around to following up on it.
E. M. Bounds is a Methodist preacher from the late 1800’s and early 1900’s. He wrote seven books on prayer. I chose “Essentials of Prayer” since it was the first one in the list. It reads exceptionally well considering it was written over 100 years ago. There are parts where he is discussing what is going on in the church that seems like it was written within the last year. I have gained a better insight into prayer and my prayer life has definitely improved as a result of reading this book. I would highly recommend this book and I intend to read the rest of his books as well.
I know that this post isn’t technology related like most of my posts have been, but I think this can make an impact on your life as well. I will be returning to more technology oriented posts next week.
Exploring Ruby
I spent some time exploring and playing with Ruby this last week. I used Google to help with some of the items I was testing. I wish there was some type of accuracy score Google could assign web pages because I ran into some with inaccurate information. The following are some random comments from my testing.
“rspec” (Ruby’s test runner) does not provide informative error messages when Ruby fails. The info provided when a test failed was okay, but not when Ruby failed. I kept getting an error about an unexpected end statement, but it didn’t make sense. I finally figured out that it didn’t like the beginning class line because I had spelled it “Class”. I didn’t realize Ruby was case sensitive. From my time with JavaScript, I capitalized “Class” because you capitalize other keywords in JavaScript like “Object” or “Array”. Once I changed the spelling to be “class” the error went away, but I had chopped up my code by then trying to figure out the error.
I found differing ways of handling classes with inheritance on Google. I changed it around before I fixed the class spelling so I am not sure if either way will work. I saw examples like this:
class BaseClass class DiffClass < BaseClass end end
where the class inheriting from the base class was within the base class definition. I also saw it where it was outside of the base class definition. I ended up with it outside the class, but I was still getting the error from the class misspelling so I don't know if the above technique would work, but it seems wrong to me.
I also saw a couple of ways of handling class properties. I saw references like "self.property" and "@property". I tried the "self.property" first since it was similar to the JavaScript technique of "this.property". I didn't get any syntax errors, but I did get errors from rspec showing that the tests failed. When I switched to "@property", everything passed. I still don't understand why, but I will keep playing around with it to try and figure it out.
Overall, I enjoyed exploring Ruby and intend to spend some more time with it.