Promo: free C++ Builder 10.1 Berlin Starter

In the past few weeks price for C++ Builder Starter was jumping between €68 and €0 (free) while quoted regular price is €307. This IDE may have best days behind it but VCL still is my favorite GUI toolkit for native windows applications.
I've worked with it for about week porting some older application, so here are few notes:
  • as clearly stated it supports only Win32 target: I'm fine with it
  • limited commercial use: not a big problem
  • it cannot import project import from older BDS2006 thus project needs to be recreated manually - there are few gotchas for older BDS users
  • heavily reduced debugging functionality: no "Local variables", no "Attach to process", cannot expand/dererence aggregates - this is why I won't leave BDS2006
  • some code bloat, e.g. 2MB -> 4MB for not so complicated application
 There is also similar promotion for Delphi.


Eclipse usability notes

Remove unused toolbar items

Eclipse Mars installed as a part SW4STM32 uses two rows of toolbar items and most of them are probably not frequently used. To get rid of them use Window/Perspective/Customize perspective... menu.

Remove status bar

Status bar does not seem to present any useful information. Line numbers are displayed in editor window anyway, current column number and Insert/Overwrite mode state don't not seem important to me. To hide status bar open e4_basestyle.css file from Eclipse directory (in my case: Ac6\SystemWorkbench\plugins\org.eclipse.ui.themes_1.1.1.v20151026-1355\css) and add at the bottom of it:

#org-eclipse-ui-trim-vertical2 {
   visibility: hidden;

Update file timestamp before building

Project properties, C/C++ build, Settings, Build Steps, Pre-build steps:
${ProjDirPath}\build-tools/touch.exe ${ProjDirPath}\..\..\main.c
For a list of environment variables look at C/C++ Build, Build Variables and check "Show system variables":


Mocecom MC-STARTER mouse and replacing A4Tech X-708 encoder

Mouse wheel encoder in my old A4Tech X-708 started causing problems again (moving in opposite direction at one position and not moving at all at another position) and cleaning it with organic solvent was no help. Let's take a look inside:
As you can see it's covered with oil remains and some rust and it has miles behind it. On the bottom side of the wheel there are three contact springs - quite fragile as I broken one of them when trying to bend it. Well, it wouldn't help for long probably anyway.
Fortunately I had cheap Modecom MC-STARTER mouse lying around - almost unused as it just feels too cheap to use - little too small, little too light but still moving with too high resistance on cloth mouse pad.
It is based on MX8731 all-in-one chip - optical sensor and USB device in one from Shenzhen LIZE Electronic Technology Co., Ltd.
Mouse wheel encoder is identical as in A4Tech X-708/X-710.