People like labels that they can classify themselves under. It’s a nice way to have a club you can belong to, and an opposing club you can speak against. In political rhetoric here in South Africa, one group of people will feel complemented when calling them ‘capitalist’, whereas another will feel completely insulted. It’s the same with the term ‘socialist’. This phenomenon seems to also exist in the software development sub-genre of reality. Of late, I’ve been reading and discussing the tensions between the unit-testing practices of those who call themselves ‘mockists’ and others who call them classicists.
Continue reading “Why Are We Mocking Like This?”Author Archives: Pat Kayongo
Broken Windows and Broken Code
This week, I have been reading Tipping Point by Malcolm Gladwell. It talks about how large social movements happen, breaking it down into three things: the people involved, the stickiness of the message, and the context. In discussing the context, he introduces the Broken Window Theory by James Q. Wilson and George L. Kelling, which explains how environment plays a big role in bringing about bad behaviour in individuals.
Continue reading “Broken Windows and Broken Code”Spock: Making Java Testing Groovy
In my previous post, I alluded to how I was introduced to the Ruby cult some time ago. I decided to try out the language for myself. Now, being used to statically typed languages, I’m not really a fan of type enforcing only happening at run-time for languages such as Ruby, JavaScript and Python. But one I really like about Ruby, similar to what I found about Python some time ago, is how human-readable it is, making understanding what the code does a lot easier. Groovy, a language that runs on the JVM also has this advantage to it, making it a useful tool in testing Java code.
Continue reading “Spock: Making Java Testing Groovy”Spring Field vs Setter vs Constructor Injection
Lately, I have been immersed in the world of Java and its various frameworks, tools and language features. I’ve also recently discovered that Java is not cool. I found myself at a gathering of developers some time ago, where they attempted to proselytise me into the ruby cult family. Unfortunately, since puberty, I have had trouble growing enough facial hair to be seen as ‘one of them’.
Simple Applications Change The World
When someone dreams of being a ‘software developer’ or ‘programmer’ (or whatever the other ill-defined terms are for someone who creates software), they imagine someone highly intelligent someone solving complex algorithms that will solve the {{ world.generateRandomProblem() }} crisis for humanity and make this world a better place. At least that’s what I thought.
Continue reading “Simple Applications Change The World”TDD Research
As part of my masters programme at the University of Cape Town, I’m trying to understand why people practice TDD. If you’re able to assist me in this, please complete the following survey: http://research.patkayongo.co.za/
If you would like information about the results of the survey, please email me at research@patkayongo.co.za
The Danger with Frameworks
For the past 2 weeks, I have been delving into the magical world of AngularJS and single page applications. This is how the internet should be. Increased processing speeds and more memory have allowed the browser to process a lot more than what was previously feasible, allowing for a much better experience for the user.
Continue reading “The Danger with Frameworks”New City. New Job.
At the beginning of this month, I moved to Johannesburg, and started working at ThoughtWorks. It has been an amazing 2 weeks thus far. Challenging. Learning a lot. Inspired to grow.
My Personal Views on the UCT Rhodes Issue
During my undergraduate years at the University at Cape Town, I stayed in the prestigious Smuts Hall, with halls rich in tradition and rooms with views of the city of Cape Town. 3 times a day, we used to walk over the parking lot to Fuller Hall for mealtimes, passing the now controversial statue of Cecil John Rhodes.
Continue reading “My Personal Views on the UCT Rhodes Issue”Interface Segregation and Objective C Delegates
The fourth principle of the SOLID principles is the Interface Segregation Principle. According to Wikipedia, the authority on most truth, this principle states that “no client should be forced to depend on methods it does not use”. This principle can help in cleaner and more intuitive designs of protocols and delegates.Most Objective C introductory tutorials introduce developers to the idea of delegates. For example, if you have a table view controller and table view cells, the table view cells can send messages to the table view controller using a delegate.
Continue reading “Interface Segregation and Objective C Delegates”