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

Archive for 2014

Michael Kaplan’s Sorting it All Out blog is back! http:///www.siao2.com (via Tim’s comment)

Posted by jpluimers on 2014/08/14

A while ago, Tim mentioned that [WayBack] Michael Kaplan’s blog “Sorting it All Out” on MSDN was gone.

I amended my original post because of it (see below), and I’m really happy that Tim kept track of his comment, and just posted a new comment:

Michael Kaplan’s Sorting it All Out blog is back! [WayBack] http:///www.siao2.com

Back to the original edit I made as the new blog doesn’t (yet?) has all the content of the old blog:

Edit: Michael’s MSDN blog is officially dead, but there are the nice web archive and web cache virtues:

Michael also appeared on this 30 minute podcast episode: [WayBackHanselminutes Technology Podcast – Fresh Air and Fresh Perspectives for Developers – Sorting out Internationalization with Michael Kaplan

Michael Kaplan is a Developer in the Windows International group and the author of the popular ‘Sorting It Out’ blog that is dedicated it all things ‘-ization.’ That means Globalization, Internationalization, and Localization. This show is is brought to you by the CYRILLIC CAPITAL LETTER A.

Some key points:

  • Use these languages for UI testing
    • English as it is common and slightly wordy
    • German because it is
      • more wordy (30-50% more than English) to test for clipping text, and used enough to warrant the energy
    • Turkish because of the Turkish i
    • Arabic (is right-to-left, cursive and has ligatures) or Hebrew (which is just right-to-left and cursive)
    • Thai because it has plenty of word-breaking issues and tests Uniscribe well
  • Push UTF-8 all the way through your system and back and avoid question marks and other

After that: time to catch up on Michael’s new blog (:

–jeroen

via: Delphi: a few short notes on LoadString and loading shell resource strings for specific LCIDs

Posted in Development, internatiolanization (i18n) and localization (l10), Software Development, User Experience (ux) | Leave a Comment »

Why IKEA’s font switch from Futura to Verdana mattered (via: National Post)

Posted by jpluimers on 2014/08/14

The point made by Simson Garfield below reminds me I haven’t been at IKEA for a long long while (:

Verdana was everywhere, and now it was in one more place. It was becoming a non-font that we don’t even register. Which is precisely why it was so effective, and exactly why it was chosen.

--jeroen

via: Why IKEA’s font switch from Futura to Verdana mattered | National Post.

PS: for people that also missed it and want to see the differences:

Read the rest of this entry »

Posted in About, Font, IKEA hacks, LifeHacker, Personal, Power User, Typography | Leave a Comment »

Z80: the “User Manual” was already 300+ pages (:

Posted by jpluimers on 2014/08/14

Today yet another post in the series of BitSavers and History articles.

I already wrote a bit on the Z80 processor in XOR swap/exchange: nowadays an almost extinct means to exchange two distinct variables of the same size.

Popular Z80 powered computers were Amstrad CPCMSXExidy Sorcerer,  TRS-80P2000, Sinclair ZX80ZX81 and ZX SpectrumKayproOsborne 1 and the Z-80 SoftCard for Apple II.

The Z80 was widely popular in the 1980s as it could do more than the MOS 6502 of that time:

Still the XOR swap algorithm was used a lot back then because of register pressure in the Z80.

Compared to current processors you’d think the Z80 was so small that a few pages of documentation would suffice.

Not so: back then they had a truckload of documentation and it would all be on paper (PDF ame in 1993 and it took quite a while to become popular).

Some of the Z80 documentation has found its way to BitSavers.org:

–jeroen

Posted in Assembly Language, BitSavers.org, Development, History, Software Development | Leave a Comment »

Which Windows Resource Editor do you use?

Posted by jpluimers on 2014/08/13

In the past, I used the XN Resource Editor, but it hasn’t been maintained for a while.

Which resource editor do you use?

Based on a few links I found, I will be trying these:

–jeroen

PS: More comments in this G+ thread.

via:

Edit 20221225: poll results so far

[Wayback/Archive] Windows Resouce Editor – Results (poll 7139042)

Posted in .NET, Delphi, Development, Software Development | 12 Comments »

The dreaded with… Debugging today, I found another gotcha (: – via: Lars Fosdal

Posted by jpluimers on 2014/08/12

In the With Statement series:

Lars Fosdal – Code Rants

The dreaded with…

Debugging today, I found another gotcha.

In this case, both Self and DisconnectedClient has a property named ClientIdentifier.

Note the difference for the mouse-over and the evaluation.

–jeroen

Read the rest of this entry »

Posted in Appmethod, Borland Pascal, 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, Delphi XE7, Development, Pascal, Software Development, Turbo Pascal, With statement | Leave a Comment »

Delphi: interesting unit uExecFromMem from DelphiBasics.info: start an executable from binary memory image

Posted by jpluimers on 2014/08/12

A long while ago, DelphiBasics.info (they are hosted on Google Sites) posted a very interesting via: uExecFromMem unit. It was only a code snippet, not much usage info.

One of the things you can do with this unit, is load the memory image of an executable from a database BLOB, then execute that.

bummi showed this as an uExecFromMemory example on StackOverflow including a small memory leak fix.

It opens way for some interesting deployment scenarios. Not for the everyday ones, but for the occassional situation where a regular deployment is impractical.

–jeroen

via: uExecFromMem by steve10120 – fixed for Win7x64 by testest – DelphiBasics.

Comment by Craig Peterson at G+: https://plus.google.com/109418621512564781181/posts/WZSa6Nt44rK

It’s a handy looking unit, but has a licensing bomb in it: The PerformBaseRelocation routine is lifted directly from BTMemoryModule.pas, which is only licensed LGPL without the binary linking exception.  That means providing your DCUs so anyone can relink your app.  It’s also a bit less maintainable than BTMemoryModule, since they replaced a bunch of declared constants with magic numbers.

Posted in Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Development, Software Development | 4 Comments »

Today is a good day. I just had a call from a telemarketer… factory reset!

Posted by jpluimers on 2014/08/11

via +Kristian Köhntopp Chris Blasko originally shared:

Today is a good day. I just had a call from a telemarketer. Did I yell and scream at them, you ask? Certainly not. Like a good IT administrator I put my skills to use for their benefit. Here’s how the conversation went.

Which ended with the phone of the Telemartketeer being factory reset.

–jeroen

via: Today is a good day. I just had a call from a telemarketer. Did I yell and….

Posted in LifeHacker, Opinions, Power User | Leave a Comment »

Windows XP, Restore Points and a corrupted SYSTEM registry

Posted by jpluimers on 2014/08/11

If you ever had one of the below errors and your system does not have Restore Points, then you’re hosed: virtually no chance for recovering from that (except for once case, see below).

The errors are these:

  • Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM
  • Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SOFTWARE
  • Stop: c0000218 {Registry File Failure} The registry cannot load the hive (file): \SystemRoot\System32\Config\SOFTWARE or its log or alternate
  • System error: Lsass.exe
    When trying to update a password the return status indicates that the value provided as the current password is not correct.

To recover from this error, you have to follow the steps in How to recover from a corrupted registry that prevents Windows XP from starting, which requires you to have System Restore turned on as the global steps boil down to this: Read the rest of this entry »

Posted in Power User, Windows, Windows XP | Leave a Comment »

The “Just In Time” Theory of User Behavior

Posted by jpluimers on 2014/08/10

Abstract of The “Just In Time” Theory of User Behavior:

…the design of your software has a profound impact on how users behave within your software…

  • Encouraging the “right” things by making those things intentionally easy to do.
  • Discouraging the “wrong” things by making those things intentionally difficult, complex, and awkward to do.

–jeroen

via: The “Just In Time” Theory of User Behavior.

Posted in Development, Software Development, Usability, User Experience (ux) | Leave a Comment »

Blender, ZBrush: interesting 3D tools

Posted by jpluimers on 2014/08/09

After reading So, right now I’m in Manchester working directly with my graphics artist on our….

These tools are definitely on my research list:

–jeroen

Posted in Power User | Leave a Comment »