ad infinitum
add up half of their halfs will
always equal one


VB6 IDE and program crash on Windows Server 2016

OK, year of grace 2018 welcomes 20 years since VB6 did it’s debut. It’s been heralded since then as one of the easiest and powerful programming languages, which odd many years later, in it’s legacy form, still runs  aplenty.

And legacy it is all right, in spite of MSFT recognizing it’s prolongued life span and agreeing publicly to provide the VB6 runtime and support it until 2026 (or around).

This past week I’ve been stung by such a legacy nifty VB6 app which was gloriously crashing on some Windows 10 systems, and regularly on Windows Server 2016 systems.

No matter if the app was rebuilt on Windows 10 or Server, it kept on crashing. VB6 IDE also wasn’t too happy.

Couple of days of digging slowly uncovered the solution:

  1. first of all make sure the following Visual C++ Redistributable libraries are all installed: 2005, 2008, 2010, 2012, 2013, 2015; for 64bit systems both 32bit and 64bit packages need to be present
  2. make sure the Data Prevention Execution (in short DEP) is set only for essential Windows programs and services; like this: Computer -> Properties -> Advanced system settings -> in Advanced tab go to Performance Settings -> Data Prevention Execution tab and make sure the radio button has the first option enabled



Job application – sometimes is a paradox

New tech job vacancy pops up on social media.

She decides to give it a go.

Employer belongs to some Air Space agency.

Clearances are a must.

The online form is worked through until it kicks her out due to not completing the ‘past employment with this company’ box.

Reason is ‘not a resident’!

No option is offered to restart the application.

But the job is too good to be forgotten, ‘just’ because the buggy web form decides to have a mind of it’s own.

A new email address is passed along and a new online form is started.

The happy-web-form-data-filling progresses a bit further.

Then the real questions appear, about real life tech-experiences, which she aims to knock real tight.

Decides to think it through, takes a break, and has to save the application done thus far.

But when Save option is chosen another kicker shows her time is up.. ‘not enough Clearances for this job’!

Now, now.. why would  such a buggy and hope-shattering web application form be put up at all? And why would anyone realistically hope they should be associated with this company at all!


Too many groovy classes were generated

Jasper Reports may throw this way generic error at times:

Too many groovy classes were generated. 
Please make sure that you don't use Groovy features such as closures 
that are not supported by this report compiler.


There is no definitive answer to this – it just seems to me like a blanket error for any syntax error, like:

  • $p instead of $P
  • $v instead of $V
  • bad UUID
  • incorrect XML attributes versus the version of your local JS server


I can’t suggest anything bullet proof to find the cause other than:

  • create a new empty file
  • paste in it the header and the footer plus a minimalist detail zone
  • test it out
  • .. and repeat

Mirage of controlling the bots when playing robot bridge on BBO

I have to be honest with this one, playing bridge on BBO is awesome although a bit muted and feeling kind of a lonely affair. It’s not the bridge you play with real people down at your local club, but you can get your groove going at any time of day or night, and if you play a decent careful game then masterpoints are up for grabs.

However, mastering GiB robots is not an easy task!

Fair disclosure I’ve only been playing on BBO for half a year now. But I did play a sustained number of years of bridge, a while back. Knocking off couple of games with dear old GiB robot (as a partner) proved I had to learn restraint.

There’s been many occasions where I was simply left null over the choices GiB makes during auctions. Recap of strange GiB bidding from past week:

  • To my 1S opener GiB responds 2C, followed by 3C and then by 5C (over my 4S) as he dummies his hand of 5 clubs under 10 and 9 honor points
  • 1S opener from GiB and his hand only has 1 small spade and 11 honor points
  • on my 1H opener followed by 1S on my left then my Gib partner goes Dbl for 3 times in a row, me calling Pass three times in a row, and finally by GiB’s will his hand showing 13 honor points and no handy distribution

At times I get fed up with these bugs, because I reason they must only be programming bugs on GiB’s part, nevertheless you’ve got to play it as it lays, and I find it mostly annoying with a hint of cumbersome to continue and be reasonable and cold inside, in my mind, in order to put up a good declarer game.

Long story short, my hope is to come up with a valid list of advises, for BBO players out there, on how to properly manage GiB auction and contract discovery:

  • Pass a lot
  • 2 level interventions, like 2D 2H and 2S, are very dangerous, better to forget about them when playing GiB
  • remember you always have the best hand and at most your GiB partner can only have as many honor points as yourself
  • quickly jumping into a 5C or 5D contract is taken as a slam invite by your friendly GiB partner, beware
  • slow and constructive auctions are a no go zone for GiB, better figure out the final contract by yourself and call it quickly.. 3NT or 4 majors
  • high level Dlb is considered by GiB to be invitational, which a human player will immediately understand as a penalty double, hence you’ll most likely lose your grip on the auction
  • your first auction call is the most important step to describe how many honor points your hand presents and that’s a big clue to not underbid by GiB’s side
  • with your side having clearly the game it’s better to let GiB declare, when possible, as GiB is a fast player
  • GiB will reply 1NT with 2 cards on your 1 level bid without having stops in all the other colours
  • .. more to come