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

Archive for December, 2015

USB-C charging cables: not always as good as you’d think

Posted by jpluimers on 2015/12/25

Merry X-mas sorting out your cables (:

Some interesting links that all come down to: make sure your USB-C cable is compliant before you start really using it.

you cannot be sure that cables Benson tested good are always good. Trust me, it happened to me. Knowing the ASINs/EANs of good cables, I went into local stores and bought a number of presumably good cables. Know what? They were bad. Might be that vendors recently changed their cables and there are still batches of bad ones out there, still with the same ASIN/EAN codes. So just be careful!

and

Having a weaker than 3A charger is actually a risk factor because the device being charged will always try to charge at 3 and if the older adapter can’t handle 3A, that is when it might be

–jeroen

Posted in Hardware, Power User, USB, USB-C | Leave a Comment »

Computer network technologies and services/VoIP – Wikibooks, open books for an open world

Posted by jpluimers on 2015/12/25

Nice explanation of unicast, multicast, RTP and much more:

Computer network technologies and services/VoIP – Wikibooks, open books for an open world.

–jeroen

Posted in Communications Development, Development, Internet protocol suite, TCP | Leave a Comment »

HUMAX service, HUMAX – Nederland

Posted by jpluimers on 2015/12/24

Dat is toch niet meer van deze tijd: De helpdesk is op werkdagen bereikbaar van 10.00 tot 12.00 uur en van 13.00 tot 16.00 uur.

Source: HUMAX service, HUMAX – Nederland

Posted in Uncategorized | Leave a Comment »

Tijdreis, over 200 jaar topografie

Posted by jpluimers on 2015/12/24

Ons huist staat er nog maar 20 jaar. Sommige andere al veel langer…

Wilt u weten hoe uw omgeving er 50, 100 of zelfs 200 jaar geleden uitzag? Hoe het land om u heen is veranderd door verkaveling en andere ingrepen? Dat kan eenvoudig op topotijdreis.nl, de website van het Kadaster die 200 jaar topografie ontsluit.

Source: Tijdreis, over 200 jaar topografie

via:

Hoe zag Amsterdam er 200 jaar geleden van boven uit? Dat is te zien op een nieuwe website van het Kadaster, waarop topografische kaarten van Nederland door de jaren heen zijn verzameld. Op de website Topotijdreis  kun je inzoomen op stadsniveau en met een slider kaarten uit verschillende jaartallen met elkaar vergelijken.

Source: Bestond jouw wijk al in 1815? Bekijk het op deze oude kaarten van Amsterdam – AMSTERDAM – PAROOL

Posted in History, Personal | Leave a Comment »

robocopy: mirror with security without following junction paths

Posted by jpluimers on 2015/12/24

Command:

ROBOCOPY /MIR /SEC /SECFIX /XJ /W:1 /R:1 source destination

via:

–jeroen

Posted in Power User, RoboCopy, Windows | 2 Comments »

Windows applications: Icons and the Shell; names, sizes, etc.

Posted by jpluimers on 2015/12/23

When adding Icons to your Windows applications a few things matter.

Selecting the icon resource

The icon selected by the Windows Shell (for modern Windows versions usually Windows Explorer), is the one with the lowest ID. When there is no icon with an ID, it selects the icon with the lowest name.

Icons in Windows can have both IDs and names. Even though API calls like LoadIcon have an lpIconName parameter, you can convert the ID to a name using MAKEINTRESOURCE.

There is a difference between the format of an ICO file and the icon resource (technically two things: RT_GROUP_ICON resource directory and an RT_ICON resource for each image) contains a list of icon images.

The selection process is on the RT_GROUP_ICON, and then within the group on the ICON itself.

For the RT_GROUP_ICON process, modern Windows versions still use the algorithm used by Windows 95 (not that by Windows NT):

Windows NT simply chooses the first resource listed in the application’s RC script. On the other hand, Windows 95’s algorithm is to choose the alphabetically first named group icon if one exists. If one such group resource does not exist, Windows chooses the icon with the numerically lowest identifier.

For a Delphi application the icon shown must be named MAINICON, since the below source fragment has been in TApplication.Create(…) like forever:

FIcon.Handle := LoadIcon(MainInstance, 'MAINICON');

Which means that if you want the Windows Shell (usually Explorer) to select that one, all other icon resources in your executable must have names that sort after MAINICON.

Selecting the icon within a resource

For the individual icon, the process is more complex. Even the summary is. To summarise the summary to select an icon for the requested size:

  1. Prefer the image closest in size.
  2. When more images of that size are present, match on the best color depth for the display.
  3. When no color depth matches, prefer the image with the greatest color depth not exceeding the color depth of the display.
  4. When all exceed the color depth, prefer the lowest color depth.

For color depth, treat 8 or more bits per pixel as equal. So there is no advantage of including a 16×16 256-color image and a 16×16 16-color image in the same resource — the system will simply choose the first one it encounters. When the display is in 8-bpp mode, the system will choose a 16-color icon over a 256-color icon, and will display all icons using the system default palette.

I’m not completely confident how 32-bit precisely fits in this scheme. If someone knows, please let me know and I’ll include the information.

I usually take 32-bit color images here which are actually True Color 24-bit + alpha channel RGBA images.

What about requested size?

Actually there are a lot of sizes that Windows can request, and there are many articles about it, some of which contradict each other.

From what I assembled, these are the sizes you need to run on Windows XP / Server 2003 and up:

  • 16×16
  • 20×20
  • 24×24
  • 32×32
  • 40×40
  • 48×48
  • 64×64
  • 96×96
  • 128×128
  • 256×256 (for Windows XP / Server 2003: do not compress this size)

I might be wrong, so here are some links:

–jeroen

via:

Posted in .NET, Delphi, Development, Software Development, The Old New Thing, Windows Development | Leave a Comment »

Rescue photos with PhotoRec

Posted by jpluimers on 2015/12/22

https://plus.google.com/+GarrettLeSage/posts/72tpkm2v2cY?_utm_source=1-2-2

Posted in Uncategorized | Leave a Comment »

Delphi 10 Seattle version numbers

Posted by jpluimers on 2015/12/22

The ones I know, hopefully they are the only ones as search results are inconclusive:

–jeroen

XE9

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

ESXi Embedded Host Client – VMware Labs

Posted by jpluimers on 2015/12/22

Interesting stuff to play with the next few weeks:

This version of the ESXi Embedded Host Client is written purely in HTML and JavaScript, and is served directly from your ESXi host and should perform much better than any of the existing solutions.

Thanks Paul Braren for sharing this.

Source: ESXi Embedded Host Client – VMware Labs

–jeroen

Posted in ESXi5.5, ESXi6, Power User, Virtualization, VMware, VMware ESXi | Leave a Comment »

If Skype Group chats suddenly fail on Windows: go back to SkypeSetup_6.21.0.104.msi

Posted by jpluimers on 2015/12/22

Had a co-worker where Skype suddenly failed handle groups. He could not send to nor receive group messages. On his Windows machine, Skype auto-upgraded to 7.17.32.115. On his smartphone, everything worked fine..

Downgrading him to 6.21.0.104 solved the issue.

I got it from https://web.archive.org/web/20141213144457/http://download.skype.com/msi/SkypeSetup_6.21.0.104.msi

–jeroen

via:

Posted in Power User, Skype | Leave a Comment »