Rants about application development technologies.

Coding Horror

There are a lot of interesting articles on, at least for the nerds that read it. For those who do not, get started with it.
Today, there has been a new post about coding style and general misunderstandings. One that could not possibly fit any better with reality. At least the reality over here at vware, nicely illustrated in this picture. Someone obviously took a lesson at this very project and the webpage.

Coding Horror Read More »

Project Conversion

Microsoft has recently released Visual Studio 2008 to MSDN subscribers. The revised IDE makes a better impression than its predecessor, and the new compilers have some useful new features. When loading up a project created with a previous version, it needs to be converted. If you have your source code under version control, such as Subversion, you are going to notice a few changes to the files, other than just new file headers, for instance: 2.0. When looking at that, one question comes to mind immediately: why in the world would you ever want to store the previous tool version in the project metadata?

Project Conversion Read More »

Free Software

In modern computing, you are likely to be using GPL or MIT licensed programs, especially as a developer. While huge companies are propagating digital rights management, software patents, and are inforcing copyrights, free software represents the spirit of the early days in computing: sharing information free of charge and royalties.
Free Software gives everyone the right to look at program source code, to use and modify it, for as long as the “rights” are retained. It is an extremely intimidating concept, especially for developers wanting to add content to already available programs, without the need to request features and go through a long line of support lines. This enables hundreds of developers to work together, share and modify each others ideas, and create applications for all major operating systems.

Sounds like a coders’ dream come true. There is just one major drawback: ease of use. Not the ease of use for the end user, but of the development tools.

On Windows, Microsoft’s own Visual Studio is one of the major development platforms, or integrated development environments (IDE). Nowadays, C# or Visual Basic are available for rapid application development (RAD) with the .NET Framework. This is where Visual Studio truly lives up to the marketing fuzz: hardly any development environment is so comfortable to use and yet powerful in features. Dead easy visual designers for data sets and dialogs along with templates. Comfortable text editing, indenting and formatting inclusive. Even Stop-Edit-Run debugging in the case of Visual Basic, without the need to recompile the whole project. A invaluable time saver for the average developer.

The popular development environment for software created with “free” tools which are portable mostly consists of a whole bunch of tools: vi/vim/emacs for editing, gcc for compiling, gdb for debugging. This so called toolchain is then complemented by a host of libraries, such as zlib, and a toolkit such as GTK+, wxWidgets, etc. Each one of them is highly configurable and highly flexible, cross-compiling and other features not even mentioned. But they are incredibly difficult to get started with! vi probably has more keyboard commands and shortcuts than the average human brain can store, gcc compilers ship without any infrastructure to actually create a program (libraries, headers, examples), and gdb is very difficult to set up and use.
This is not to speak of the wealth of libraries and dependencies one needs to create something meaningful, all of which have to be gathered seperately. Different versions of libraries may not work with different versions of executables, patching headers to make specific versions work with new compilers or recent code bases is common practice.

In my humble opinion, a lot of users would love to support the Free Software movement. Everyone involved with this very project here at vware would love to give back to the community. If it was not for all the time you lose getting into it, where you could do something meaningful (like actually developing an application).

Free Software Read More »


One of the features I always missed in VisualBasic was bitwise shifting. One of my most used features in earlier years, because it was especially useful for evaluating registers and masking out values. Since it was always rather easy to develop GUI applications with VB, I often hit the limits of it (as of version 6.0 and earlier).
The only way around it was to write a DLL in C and import it in VB to shift bits left and right. A lot of time has passed since then, and I did not need shifting as much anymore.
Yesterday, however, when working on ClanTools, I forgot the “” in MsgBox(“100>>25”). When the program hit this line, the message box showed “25”, which puzzled me at first, but then I realized that VB 2005 now actually supports bit-shifting! I wonder if I just overlooked it or Microsoft never actually announced it in a big way. They should have done so, it really adds to VisualBasic as a language.

100>>2=25 Read More »

We got obfuscated

When releasing freeware, you do not pay a lot of attention to protecting your program of hackers, or spend a lot of time implementing an overly complicated registration/activation system. However, with the dawn of the .NET Framework and the inability to compile your code to native executables, your compiled program can be decompiled pretty easily.

Freeware does not mean open source in this matter, so coders at least try to keep people from stealing their code. What you get packaged with Visual Studio is Dotfuscator CE, which is said to be one of the better obfuscation tools. With delay signing your assemblies, obfuscating them, and then signing, you make sure that these assemblies stay intact. However, if you have a setup project in the same solution as your source code, building the setup will also re-build all your assemblies, thus destroying all the obfuscation-signing, and simple create new, unsigned, and not obfuscated assemblies.

Just a nice little thing considering the new “coder friendliness” and RAD strategies. Right now, I am working around that by adding all assemblies directly to the setup, instead of adding the project output files, which would have been simpler and easier to maintain. Oh well.

We got obfuscated Read More »

Preparing for the future

Currently, several projects which be available on are currently under development. All programs which will be released or re-released will require the .NET Framework 2.0 to run. Additionally, operating systems other than Windows 2000 and up will not be tested or supported.

In the meantime, the changelog section has been integrated into the new site, so you can keep yourself up to date with recent evolvements of the software.

Preparing for the future Read More »

Scroll to Top