Whenever I am disappointed or even frustrated because something at work just does not feel right, I “goto” The Daily WTF. After reading the first one or two stories life feels better again because you realize: You are not alone.
Q:It's not often I hear nice things said about QT in general :) From a developer's perspective, that is.
I have to admit that I have little experience in desktop GUI development compared to the about 10 years of my career in web and backend technology mostly.
Do you hear negative stuff on QT or do you mean to hear nothing at all? I did not find a lot of objective criticism that says QT is better or worse than its competitors. When you are used to have a library at your feet like .NET than QT is one library that at least comes close in terms of quantity I think. Talking about quality I will still have to make my opinion, working on a little mp3 player project right now to accommodate myself with QT. Compared to other frameworks I think I get a lot out of it in a short period of time.
Developer Intel on Qt
A few months after I blogged about how frustrated I was with Microsoft and its Windows strategy Microsoft released the 2012 Version of their IDE Visual Studio. What a rumor. It already started a few months before when Microsoft published its plans to overhaul the complete design of their IDE which even made it into Wikipedia. I think its not all that bad, at least if you have nice tools like Resharper which “re”colors your icons.
On the other hand for my private projects I decided to move on and leave Microsoft behind. That is a task I might not accomplish to 100%. There are still games that run better on Windows which I like to play. There is other stuff, like some very nice Access databases I still use for my convenience, which can not be used under Linux directly. This means I still will need some months or years until I do not need to boot Windows anymore.
In order to create some GUI programs that run under both, Linux and Windows, I decided to have a look at Qt which is a really powerful framework. Of all frameworks that I know about it is the one which promises the most to me because it offers:
Do you actually write ‘clean-code’? Yes, I do. At least I try to do my best in writing code that is not too messy, so that a potential maniac serial killer who comes to maintain my code will be the first on my doorstep after having a glimpse at my code – which I admit is a very egoistic reason. But there are more reasons why every professional developer should care about ‘clean-code’.
There has been put a lot of effort put into measures that may help you improve yourself at writing clean-code but these still are not broadly accepted. This may be because the measures are insufficient or not working. But as I read this question on Programmers@StackExchange if the readers actually write clean-code I had to realize that a lot of them do not and even do not want to. Why is that?
SFML and MP3 vs OGG
The SFML library may play ogg files but not mp3. No big deal - to convert mp3s to ogg format you have two possibilities:
- Use ffmpeg, run following command from a terminal after adapting the filenames. Please note the fat formatted section, without it the music will not be converted correctly:
ffmpeg -i test.mp3 -acodec libvorbis test.ogg
- You can use the program Audacity which will allow you to load and save the file just like a classical Windows program with a GUI.
I prefer ffmpeg because it is faster to run it from the command line. However if you forget or just do not know the commands and correct options it will be easier to use Audacity.
Howto use cmake
I continue to learn how to use the toolchain for building programs on Linux. So I finally came across CMake, which is developed to be used for cross platform builds. It is not very hard to understand how it works, but if you are not used to it, than the first steps might be quite hard.
The following site gave me the best overview on how to configure a project using CMake and its CMakeLists.txt files.
The awfulness of commercial operating systems 3
To sum it up: Microsoft innovated in finding ways to earn even more money by binding them to their platform and using the software market place as cash cow. Now all this was not really, or at least reflects the current status of operating system manufacturers.
This last part is about how Microsoft might bind “their” fellow developers to their ecosystem, even more than before. Please keep in mind that this is speculative, because I do not know if they do this on purpose or they just think it is a good idea.