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,854 other subscribers

Archive for 2014

This is madness. University textbook at full price but without ownership (via: Jan Wildeboer – Google+)

Posted by jpluimers on 2014/05/08

Having to buy a book at full price, then having to return it when your semester is finished sounds so wrong on so many levels, even if you get DRM licenses access to the content:

one of the best quotes on DRM ever: But, as Professor James Grimmelmann noted, “we know from sad experience that gerbils have better life expectancy than DRM platforms.”

–jeroen

via: Jan Wildeboer – Google+ – This is madness. University textbook at full price but….

Posted in Opinions | Leave a Comment »

.NET uses banker’s rounding as default as it follows IEEE 754 (via: Stack Overflow)

Posted by jpluimers on 2014/05/08

It is almost 3 years that Ostemar wrote an interesting answer on Stack Overflow to the question

Why does .NET use banker’s rounding as default? – Stack Overflow.

Few people (even many programmers don’t!) know about rounding and how it can influence software, let alone what bankers rounding does so lets set a few things straight first.

Rounding matters. Depending on the kinds of software you write, it matters a little, or a lot.

For instance, in these categories, it can matter an awful lot:

  • Financial applications
  • Statistical applications

Bankers rounding means rounding half even. Which means that #.5 will round to the even number closest to #.

In bankers rounding, 1.5 rounds to 2, 3.5 to 4 as does 4.5, -1.5 rounds to -2, -3.5 to -4 as does -4.5.

This is called “unbiased” because for reasonable distributions of y values, the expected (average) value of the rounded numbers is the same as that of the original numbers.

This is contrary to what the majority of people are accustomed to: Round half away from zero is taught in most countries (even for the Dutch, despite the alias “Dutch Rounding” for round half to even).

Round half away from zero rounds 1.5 rounds to 2, 3.5 to 4 and 4.5 to 5. Negative numbers round like this: -1.5 rounds to -2, -3.5 to -4 as does -4.5 to -5.

This is only free of overall bias if the original numbers are positive or negative with equal probability.

In short, .NET uses bankers rounding because it follows the IEEE 754 rounding rules.

This was his answer: Read the rest of this entry »

Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, .NET CF, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, Software Development | 3 Comments »

Fix by Christian S. – Moers for “KB2686509 repeatedly fails with Error code 0x8007F0F4” (via: Microsoft Community)

Posted by jpluimers on 2014/05/07

Thanks Christian S. – Moers for the fix for KB2686509 repeatedly failing and the answer below.

I’ve used it as the Microsof FixIt offered at You may receive a “0x8007F0F4” error code when you try to install updates from the Windows Update Web site or from the Microsoft Update Web site did not work on several systems. The fix by Christian did work on all those systems.

Note: it is possible you get the same error for KB2676562: MS12-034: Description of the security update for Windows kernel-mode drivers: May 8, 2012, as it is related to KB2686509: MS12-034: Description of the security update for CVE-2012-0181 in Windows XP and Windows Server 2003: May 8, 2012.

One of the symptoms is that your system contains the file %windor%\faultykeyboard.log containing a list of  missing keyboard layout DLL files or KBD files (one of my machines had these missing: kbdjpn.dll and kbdkor.dll).

The cause is that KB2686509 can have problems with registry keys stored here:

  • HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout
  • HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layouts

Christian wrote a batch file to fix it (named BatchFixKB2686509.cmd) which works splendid on the systems I had this error.

The batch file uses regedit /e to export parts of the registry, then writes a small .reg file to clear the keys and imports them with regedit /S, waits for you so you can install the update, then writes back the saved registry data.
So basically, it automatically performs the manual steps described at KB2686509 – Failure Due to Upgrade from Windows ME or 98 to Windows XP – TechNet Articles – United States (English) – TechNet Wiki.

His answer: Read the rest of this entry »

Posted in Batch-Files, Development, Keyboards and Keyboard Shortcuts, Power User, Scripting, Software Development, Windows, Windows XP | Leave a Comment »

ongoing by Tim Bray · Fat JSON

Posted by jpluimers on 2014/05/06

Plan C: JWalk. No, not jaywalk.

Trimming JSON results from Java: ongoing by Tim Bray · Fat JSON.

–jeroen

Posted in Development, Java, Java Platform, JavaScript/ECMAScript, JSON, Scripting, Software Development, Web Development | Leave a Comment »

Handy Chrome extension that surfaces NavTiming, render… (via: Ilya Grigorik – Google+)

Posted by jpluimers on 2014/05/06

Convenient: Ilya Grigorik – Google+ – Handy Chrome extension that surfaces NavTiming, render….

Posted in Chrome, Development, Google, Power User, Software Development, Web Development | Leave a Comment »

Recommended reads when dealing with Character Encodings in software

Posted by jpluimers on 2014/05/06

Apart from the mandatory Joel on Software article about Unicode and Character sets, these two articles are of great value too:

Fun to read from that blog is the Historical Technology  section including this article:

–jeroen

PS: The mandatory one is The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) – Joel on Software.

 

Posted in .NET, Ansi, ASCII, CP437/OEM 437/PC-8, Delphi, Development, EBCDIC, Encoding, ISO-8859, ISO8859, Shift JIS, Software Development, Unicode, UTF-8, UTF8, Windows-1252 | Leave a Comment »

ADAP Open Source REST API Layer For LDAP | Dr Dobb’s

Posted by jpluimers on 2014/05/06

Interesting, as this opens LDAP server to a lot more tools and development environments: ADAP Open Source REST API Layer For LDAP | Dr Dobb’s.

–jeroen

Posted in Communications Development, Development, HTTP, Internet protocol suite, JavaScript/ECMAScript, JSON, LDAP, Power User, REST, Scripting, Security, Software Development, TCP, Web Development | Leave a Comment »

Mac OS X: copy the current Finder folder or file name to the clipboard

Posted by jpluimers on 2014/05/06

Copying the path from the Finder to the clipboard is a bit cumbersome.

A simple way contains a bit of repetitive steps, and to read Mac OS X: Open a Terminal at Folder from Finder:

  1. Open a Terminal window in the finder
  2. Type this command in the Terminal window
    pwd | pbcopy

This simple way was suggested my User Kyle Cronin, thanks!

Some notes:

  • pwd prints the current working directory.
  • pbcopy copies the input to the clipboard.

Another way is using Automator. It is a bit more complex to setup, but the actual usage is easier:

  1. Select the folder or file in the Finder
  2. Right click
  3. For a folder: select “Services”
  4. Select “Copy File Path”

Setting this up is a bit more complex and requires the first 5 steps from Copy file or folder path to the clipboard in Mac OS X Lion | MacYourself:

  1. Launch Automator from your Mac’s Applications folder. If you’ve never used Automator before, that’s not a problem. This is going to be so simple anyone can do it.
  2. Double-click the Service icon from Automator’s start menu.
  3. Toward the top of the right column, you’ll see this line of text: “Service receives selected _____ in _____”. Choose “Files or Folders” from the first menu and “Finder” from the second.
  4. Next, click on Utilities in the Actions library on the left side. Double-click “Copy to Clipboard” in the middle column. You’ll notice that this action has been added to our workflow on the right.
  5. Go to File > Save in the menu bar and name your service Copy File Path. Our work with Automator is now done, so you can safely quit it once the service is saved.

I’ve skipped the other steps, as I don’t need a keyboard shortcut for this.

–jeroen

via: Copy file or folder path to the clipboard in Mac OS X Lion | MacYourself.

Posted in Apple, Development, Mac, Mac OS X / OS X / MacOS, Mac OS X 10.7 Lion, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, OS X 10.8 Mountain Lion, Power User, Scripting, Software Development | 3 Comments »

Delphi: Design-Time Component Name Limited to 63 characters (via: Vin Colgin – Google+)

Posted by jpluimers on 2014/05/05

I learned something new today (thanks Vin Colgin) the Delphi Design-Time Component Name is Limited to 63 characters.

Uwe Raabe found out that this an Object Inspector thing due to this constant in DesignIntf.pas:

const
  MaxIdentLength = 63;

It has been probably there since Delphi 1 and has been documented on-line since at least Delphi 2007.

I remember having had long (like 100+ character) identifiers in source code, but not in the Object Inspector.

Now I know you can’t (:

–jeroen

via: Vin Colgin – Google+ – Delphi: Design-Time Component Name Limited to 63 characters….

Posted in Delphi, Delphi 1, Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Development, Software Development | 4 Comments »

Reminder to self: links to HP C4680 Windows Drivers

Posted by jpluimers on 2014/05/05

Reminder to Self: links to HP C4680 Windows Drivers.

My mom has an HP C4860 all-in-one inkjet printer/scanner/copier.

Soon she will have a new laptop, so here are some links I will need to get that printer installed:

I’m not sure though why “Basic drivers” still need to be close to 40 megabytes.

–jeroen

via: HP C4680 Windows Drivers – Google Search.

Posted in Power User, Windows, Windows 7, Windows 8, Windows 8.1 | Leave a Comment »