The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,828 other subscribers

Archive for the ‘Software Development’ Category

My Delphi conferences this fall: DelphiTage.de, ITDevCon.it, no EKON (entwickler-konferenz.de)

Posted by jpluimers on 2012/09/19

Nicolette and me on the Antarctic peninsulaWhile scheduling this year’s projects, it was clear that it would become impossible to have the summer holiday in the summer (last year was also outside, as we fulfilled Nicolette’s dream: visit the Antarctic region).

So we moved this year’s holiday to early November, hoping that would be outside the Fall conference season.

Alas, EKON (Entwickler-Konferenz.de), this year in Düsseldorf, Germany, moved themselves to November, so this will be the first EKON ever that I won’t attend (out of 3 or 4 people that never missed one). Sorry guys I will miss the great speakers, sessions and workshops (:

I am going to speak on two other European Delphi conferences though:

I’m really looking forward meeting the attendees, speakers and organizations there. Conferences are always a lot of fun and a great way for me of learning new things.

--jeroen

via:

Posted in About, Antarctic, Conferences, Delphi, Delphi XE2, Delphi XE3, Delphi-Tage.de, Development, EKON, Event, ITDevCon, Personal, Software Development, Travel | Tagged: , , , , , , , , , , , , , , , , , , , , | 2 Comments »

Everything’s broken and nobody’s upset – Scott Hanselman

Posted by jpluimers on 2012/09/19

Great post with some exceptionally well written comments on the status quo: Everything’s broken and nobody’s upset – Scott Hanselman.

–jeroen

Posted in Development, Software Development | Leave a Comment »

xkcd: Click and Drag

Posted by jpluimers on 2012/09/19

xkcd: Click and Drag: a brilliant piece of JavaScript with images at http://imgs.xkcd.com/clickdrag

–jeroen

 

Posted in Development, JavaScript/ECMAScript, LifeHacker, Power User, Scripting, Software Development | Leave a Comment »

git-tfs

Posted by jpluimers on 2012/09/19

Interesting:

git-tfs is a two-way bridge between TFS and git, similar to git-svn.

Need to check out if it is more like the SVNBridge wrapper that wraps SVN around TFS on either the server or the client, or like git-svn which wraps git around SVN only around the client.

–jeroen

via: git-tfs.

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management, Subversion/SVN, TFS (Team Foundation System) | Leave a Comment »

Firebird News » Firebird 2.5.2 Release Candidate is available

Posted by jpluimers on 2012/09/18

Great: Firebird News » Firebird 2.5.2 Release Candidate is available.

Posted in Database Development, Development, Firebird, Software Development | Leave a Comment »

On my research list: AsyncBridge (adds C#5 async features for .NET 4 projects)

Posted by jpluimers on 2012/09/18

Having a done a lot of Async stuff in the .NET 2, 3.x and 4 era with multimedia applications (oh, the days of SynchronizationContext), this project seems very interesting:

AsyncBridge

Adds the new C#5 async features for .NET 4 projects

Download this project as a .zip file
Download this project as a tar.gz file

What does it do?

AsyncBridge lets you use the VS 11 C#5 compiler to write code that uses the async and await keywords, but to target .NET 4.0. It was published by Daniel Grunwald (from SharpDevelop) here.

As an extra, I’ve thrown in the new C#5 caller info attributes, which lets you automatically add the method name, line number or file path to your code.

Authors and Contributors

Daniel Grunwald (@dgrunwald) – Original code.

Omer Mor (@OmerMor) – Turned it into a full blown github repo with the complimentary nuget.

Alex Davies (@alexdavies74) – Wrote the blog post that inspired this, and is actively improving the code.

–jeroen

via: AsyncBridge.

Posted in .NET, .NET 4.5, C#, C# 4.0, C# 5.0, Development, Software Development | Leave a Comment »

What is the best Report tool for Delphi? – Stack Overflow

Posted by jpluimers on 2012/09/14

Interesting question What is the best Report tool for Delphi? – Stack Overflow that hopefully leads to a nice list of current reporting tools before it gets closed as “question will likely solicit debate, arguments, polling, or extended discussion”.

–jeroen

Posted in Delphi, Development, Software Development | 1 Comment »

Delphi, solutions for `while debugging with Environment Variable “The program can’t start because ….dll is missing”‘

Posted by jpluimers on 2012/09/14

Two days ago I ran into the bug below while porting some code from Delphi 2006 to Delphi XE2, posted on StackOverflow, and got solutions in very little time.

Thanks Andreas HausladenDavid Heffernan, Ken WhiteSertac Akyuz, Rudy Velthuis, for answering, providing solutions and verifying!

Note that this worked up until Delphi XE, and has been fixed in Delphi XE3 (which for this project I can’t use as the client upgraded to XE2 without SA).

Problem

  • I get the error mentioned further on error when debugging an executable in Delphi XE2 update 4 under these circumstances:
  • that depends on mqic.dll from WebShpere that is in C:\Program Files \IBM\WebSphere MQ\bin\mqic.dll and C:\Program Files\IBM\WebSphere MQ\bin is on the system path (not on the user path).
  • is being debugged with an override environment variable in the Run -> Parameters -> Debugger -> Environment Block -> User overrides
  • Including System Variables on the same property page is checked

This is the error (it’s a Windows DLL load error marked “System Error”).

The program can’t start because mqic.dll is missing from your computer. Try reinstalling the program to fix this problem.

Solutions

–jeroen

via delphi – while debugging with Environment Variable “The program can’t start because ….dll is missing” – Stack Overflow.

Posted in Delphi, Delphi 2006, Delphi 2007, Delphi XE, Delphi XE2, Delphi XE3, Development, Software Development | Tagged: , , , | Leave a Comment »

Don’t spam with OutputDebugString

Posted by jpluimers on 2012/09/13

A production version of an app should not spam using OutputDebugString.

Some apps do, for instance very couple of seconds the “TAM E-SSO AccessAgent” DataProvider.exe process spams stuff like this:

[1952] GRP_StubImpl Inside
[1952] before deserializing the message
[1952] GRP_StubImpl for Policy Id = pid_desktop_inactivity_mins
...
[1952] GRP_StubImpl Inside
[1952] before deserializing the message
[1952] GRP_StubImpl for Policy Id = pid_aa_tray_menu_options_enabled
[1952] GRP_StubImpl Inside
[1952] before deserializing the message
[1952] GRP_StubImpl for Policy Id = pid_automatic_sign_up_enabled
[1952] GRP_StubImpl Inside
[1952] before deserializing the message
[1952] GRP_StubImpl for Policy Id = pid_desktop_inactivity_mins
...

It is in the chain of processes (yes, the tripple backslash is actually there, this is how IBM starts is):

  • “C:\Program Files\Encentuate\AATray.exe”
    • “C:\Program Files\Encentuate\\\DataProvider.exe”
      • “C:\Program Files\Encentuate\Sync.exe”

All of them have version 8.1.0.130 and timestamp 20-12-2010 14:32.

You’d think that IBM knows how to do this right (:

–jeroen

Posted in Debugging, Development, Software Development | Tagged: , , , | Leave a Comment »

Things I tripped over when implementing the “Elf proef”: digit check for Dutch bank account numbers and social security numbers (bankrekeningnummer, BSN/Sofinummer)

Posted by jpluimers on 2012/09/13

It was a long time ago that I ever did something with the Elf proef.

It is the algorithm that is used to calculate the check digit for Dutch bank account numbers (bankrekeningnummers) and a variation for BSNs (Social Security Numbers).

I needed it (or more exactly: a variation of it) in order to support anonymization of customer data for the DTA/OTA portions of a DTAP/OTAP environment.

So, I started reading on the Elf proef, and getting some sample data to setup some unit tests.

Wrong and wrong:

To start with the latter, they get it wrong because the check digit is modulo 11 (like the ISBN 10 check digit), but only numeric digits are valid. Their bank.js algorithm module tries to accommodate for that in the wrong way.

In addition they copy-pasted code between their other number generation algorithms which you can see form the variable SofiNr which is an abbreviation for SofiNummer,  the old name for the Dutch Social Security Number (now called Burgerservicenummer aka BSN).

Their generated sample 290594880 is wrong because the check digit should be 10, and 10 is not a digit. Their generated number 936977590 is OK as the check digit should be zero (0) which it is.

More on their fault a bit further on. First lets concentrate on getting proper test data, and the right algorithm.

I will cover code for the bankrekeningnummer here. The complete code including BSN is at BeSharp.CodePlex.com. Read the rest of this entry »

Posted in .NET, C#, C# 3.0, C# 4.0, C# 5.0, Development, JavaScript/ECMAScript, Scripting, Software Development | 4 Comments »