Every time we build software we have functional requirements. Maybe these functional requirements are not well defined but they are good enough to start prototyping and you refine them as you go. After all, the functional requirements describe what you have to build. Sometimes, you have additional requirements that describe how your software system should …
Category Archives: Rants
Object Oriented Programming: An Evolutionary Approach
This post is not about the book Object Oriented Programming: An Evolutionary Approach by Brad Cox. I decided to use the book’s title because the author nailed the connection between software and evolution. It is a good book, by the way. I recommend it. Last week a coworker sent me a link to the React.js …
Continue reading “Object Oriented Programming: An Evolutionary Approach”
The Quiet Horror of instanceof Operator
During the last months I was busy with NativeScript more than ever. While my work keeps me busy with embedding V8 JavaScript engine I rarely have the chance to write JavaScript. Recently I had to deal with mapping Java OOP inheritance into JavaScript and more specifically I had to fix a failing JavaScript unit test …
On Agile Practices
I have recently read the article What Agile Teams Think of Agile Principles from Laurie Williams and it got me thinking. The study conclusion is as follows: The authors of the Agile Manifesto and the original 12 principles spelled out the essence of the agile trend that has transformed the software industry over more than …
Software Razzie Awards
This is not a new idea. Every now and then someone suggests it. Apparently I hear about it more often than, say, 5 years ago. Sure, today software is more spread than 5 years ago but somehow I don’t think this is the only reason. I guess the main reason for people dissatisfaction is that …
NUI or GUI or … not
Today there are a lot of devices (smartphones, tablets, handheld game consoles, etc.) with support for gestural interface. We often call such interfaces natural user interfaces (NUI). These interfaces are in contrast with the traditional graphical user interfaces (GUI). In this post I am going to share my thoughts and experience with NUI. Every software …
Thoughts on C# Compiler
In 2010 I wrote the blog post Fun with pointers in C#. Back then, I thought it was fun. Today, I am not so sure. Lets take a look at the following code fragment: using System; namespace ClassLibrary1 { public class Class1 { unsafe public void Method1(ref object* obj) { Console.WriteLine(obj->ToString()); } } } If …
The Supreme Being and Computers
Yesterday I watched the old movie Time Bandits. I would like to share a funny moment from the movie. Here is the exact quote 🙂
Technical Debt
There are a lot of articles explaining what technical dept is, so why another one? A lot of smart people has written about it (see the references at the end of the post). Despite of this, technical debt seems to be a hot topic over and over again and here I put my two cents …
It’s all about the version
Have ever you noticed that people are obsessed by versioning the things? Yep, it’s true. Today, everything has a version. Even you. I am not sure why the versioning is so important. I guess it is related to the notion of improving the things. Here is a short list of what I encounter most often …