ICeTech-IT blog

ICeTech-IT is a one man firm dedicated to writing custom software for small companies in Belgium in the Antwerp region.
ICETECH existed already as domain and so I had to append the IT to my domain name, there is a reason for wanting to my company to be called ICeTech as you can already see from the letters that are in capital. The company is about ICT.

Now this blog is not really about my company but more about me as a person and my passion for ICT in general. My interest in ICT is very broad, but ICT in itself is huge and one has to choose the topics to specialize in, but keep an open mind for other emerging technologies. Before you know it you are writing software for something that is hardly used or has no support anymore from the provider in question.

As an example I was an enthusiastic fan of silverlight and invested quite some time in it. But well, now many browsers don’t even support it anymore. 

I have an open mindset. Many would argue that I am a Microsoft adept, or a C++ believer. This is far from the truth. I think there are advantages in C, there are good things about Linux too. And I am using both platforms.

This blog will be used to write technical content related to programming in general, I might write topics about software I have written for Linux, Microsoft, or even Xamarin. I don’t even stick to only a single language. I am programming in C, C#, C++, Java. I try to avoid scripting languages, quite frankly consider TCL, forget a space and the code does not work and you find out about this at run-time. But even then, I am not judging anyone who are doing great things in TCL, Perl, Python or Php. I might even get interested from time to time and buy a book, there are advantages to these dynamic languages.

Nevertheless, my focus is not just on the programming aspect of it all. I am more interested in a good design. A good design for me means a design that can handle future requirements easily without having to resort to lots of changes that are totally out of proportion compared to the new feature that is requested. This only works if you are willing to spend a lot of time reading books, staying on top of emerging technologies, and continuous learning, and not to mention some talent. It also means applying SOLID design principles and using the right design patterns at the appropriate time. And no that design pattern is hardly ever a Singleton.

For me, software development is craftsmanship, but it is also an art.  Those who see it as just a way to make their living, and I don’t judge that mindset, will never really get to creating ‘the better’ design. Sadly for me, bug fixing means looking in others people code too. I see a lot of code that is violating SOLID, but quite frankly, it is just too complicated for what it is supposed to do. I once refactored a module of 40000 lines of code to 5000. Of course I used templates because there was a lot of repetition in the code, so why the hell not use templates. It scares people, but there is nothing to be scared about. I also covered that refactoring with more than 1000 unit tests and I have a coverage of 100%.