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 2,111 other followers

Archive for October, 2011

#yellowbrick en #anwb #fail: Als de website nu ook nog nice was… (deal: ANWB – Ledenvoordeel – Yellowbrick – gratis registratie)

Posted by jpluimers on 2011/10/24

Een tijd geleden blogde ik over Nice deal: ANWB – Ledenvoordeel – Yellowbrick – gratis registratie

De eerste horde begint al goed: je moet je ANWB lidmaatschapnummer invullen, maar het nummer op je lidmaatschapskaart werkt dus niet.

Dan maar even inloggen op de anwb site. Ook dat lukt niet: mijn account (gebaseerd op een username, password en postcode) werkt niet meer, want iemand heeft besloten dat het anders moet. En alle bestaande accounts dus een nieuw ANWB account moeten aanvragen.

Dat ook niet helemaal soepel:

  1. alle cijfers van de ANWB lidmaatschapskaart ingevuld, dat was OK. Postcode ook. Daarna wat details toegevoegd (mijn oude accountnaam was reeds vergeven, dus een nieuwe gekozen), en dan krijg je een scherm dat de gegevens niet matchen. Blijkt na flink wat pielen dus dat je GSM nummer niet moet invullen als dat bij de ANWB nog niet bekend is.
  2. Niet + Niet is een dubbele politieke ontkenning voor: vul zo weinig mogelijk informatie in. Wist ik wel, maar was ik even vergeten. Zucht
  3. En nu maar wachten of de bevestigings mail door de  (SPAM, whitelist, blacklist, greylist, antivirus, etc, anwb mail komt.
    En helaas, twee problemen:
    – Milter: from=<noreply@anwb.nl>, reject=550 5.1.8 Sender address verification failed
    – sender check failed: <noreply@anwb.nl>, 145.222.128.6, mx1.pinkroccade.net
    Ofwel: anwb stuurt mail van een adres dat niet bestaat, door een ander domain dan dat van de anwb.

Dit dus maar even gelaten voor het was, want “Als u de e-mail niet binnen 30 minuten ontvangt, moet u zich opnieuw registreren.”

Eerst dus maar even verder met het Yellowbrick varkentje:

Omdat op de ANWB site het lidnummer wel klopt, dan toch maar iets ‘slims’ geprobeerd: alle inkomende fysieke post heb ik op de storage server als PDF staan. Daar dus de laatsteANWB factuur erbij gepakt. Het eerste cijfer op de ANWB lidmaatschapskaart is geen deel van je lidnummer, maar bevat het laatste cijfer van het jaar waar die kaart voor is (grappig in het voorbeeld rechtsboven dat ik van de ANWB site heb geleend: de kaart is voor het jaar 2013 – eindcijfer 3 – maar het eerste cijfer in het nummer is een 0, dus dat klopt al niet. Het voorbeeld lidnummer daar is 123222333).

Dus: bij Yellowbrick het nummer op de kaart zonder voorloopcijfer ingevuld, en waarpel: ik mocht naar de volgende stap!

Helaas: “… u gaat niet langs start, u ontvangt geen…”.

Ook hier helaas weer een flink minpunt: de Yellowbrick aanmeldpagina doet allerlei ‘slimme’ dingen met javascripts en data validatie.

En daarmee is het onmogelijk om op de meeste mobiele apparaten (o.a. Android) je aan te melden: zowel je kenteken als je GSM nummer worden tijdens de invoer vernaggeld.
Er komen tijdens het intikken van kenteken of telefoonnnummer onderstepings tekens (_) op semi-willekeurige plekken in de invoer te staan.

Een typisch voorbeeld dus van een site die slim probeert te zijn, en daardoor hun publiek inperkt.
Je moet je aanmelding dus doen via een PC of Mac.

En je moet de streepjes in je kenteken en telefoon op de juiste plek zetten.

Jammer, juist omdat dit hele Yellowbrick gebeuren bedoeld is om makkelijk vanaf je GSM, SmartPhone of PDA het parkeren te regelen, en invoer daar zo makkelijk mogelijk hoort te zijn.

En jammer dat dit weer twee voorbeelden zijn van websites waar de user experience ver te zoeken is.

Kom op, een simpele site bouwen die overal werkt, gebruikersvriendelijk is en volgens de spelregels mail verstuurt, is niet zo heel moelijk, toch?

Nou vooruit: nog twee dan. Als je bij Yellowbrick een bedrijf invult, met een postbus, dan zijn de plaats bij de vestiging en die bij de postbus een woonplaats. Uiteraard. Stel je voor dat je het vestigingsplaats of plaasnaam noemt. Dat zou toch veels te korrekt zijn?

In ieder geval komt Yellowbrick wel door het het sender check filter:
sender check succeeded: <info@yellowbrick.nl>, 212.123.229.196, [212.123.229.196]

–jeroen

Posted in Opinions, Power User | Leave a Comment »

Software updates – ForTheRecord 1.6.0.1 | Electronics | Tweakers.net Meuktracker

Posted by jpluimers on 2011/10/21

Boy I wish I had found this earlier: Software updates – ForTheRecord 1.6.0.1 | Electronics | Tweakers.net Meuktracker.

–jeroen

Posted in LifeHacker, Power User | Leave a Comment »

Gmail Labs: Smart Labels – Official Gmail Blog

Posted by jpluimers on 2011/10/21

I forgot to monitor the new Google Labs entries, and recently discovered the “Smart Labels” feature in Google Mail.

Having it used for about 3 months now, I can say it is awesome: a far less cluttered inbox.

Every week, I go through the BulkNotifications, and Forums labels and won’t miss a thing.

I added similar labels for some social networks for a weekly scan as well. Maybe not as social, but it saves a truckload of time.

–jeroen

via: New in Gmail Labs: Smart Labels – Official Gmail Blog.

Posted in LifeHacker, Power User | Leave a Comment »

.RESX translation and tools examples based on Paint.NET Forum -> Translation and Localization

Posted by jpluimers on 2011/10/20

The process of translating RESX files is time consuming, so it is wise to study a good example before starting such a journey.

Paint.NET (driven by Rick Brewster) happens to have great (and complete!) translations serving as great )ample materia.

So below are steps that you can use to get started.

The process

Create good Base RESX files

The first step is to create good .RESX files for your base language. This alone is a tedious process in itself, as for all the strings (and potentially other resources) used in your application, you need to determine if they should be translated. If so, you should make a key for each one, put them in the appropriate .resx file, and access it. The MSDN documentation explains how.

Use version control and differencing/merging/syncing tools

When translating software, you not only have the history axis, but also a language axis. That combination makes it much harder to keep everything, so a good version control together with good differencing tools is very handy.

I’ve had good experience with Team Foundation Server, Subversion (SVN), Git, and Mercurial (Hg), but less good experience with StarTeam, Visual SourceSafe and Serena Dimensions.

Beyond Compare is my favourite tool of choice for comparing files and managing with differences, merges and syncs.

Translate the RESX files

This is the really hard part; many translation agencies are specialized in this, companies have complete teams working on it (for instance, the Microsoft Developer Devision did the Paint.NET translation for 4 years in their free time).

Often, it helps to generate Excel or Word documents from the RESX files, but often translation deportments or agencies can handle RESX files fine.

Usually, there is much more to do than just translating, you should look at the whole internationalization picture, for instance by reading Guy Smith Ferriers book on .NET internationalization.

Verify the RESX files are complete and valid using ResxCheck

A important requirement of translation is to make sure the translated resources are at least technically valid and complete.

Doing that by hand is a very tedious job. Luckiliy, Rick Brewster (yes the Paint.NET one) wrote a great Resx tool to do just that.

An example is below.

Compile the RESX files into .resource and assembly files

When your RESX files are ready to be tested, you need to generate .resource files from that and sometimes resource assemblies.

You can use ResGen to generate resource files, and the Assembly Linker to link the resource files into assemblies, or generate sattelite assemblies.

Using the resources

I won’t go into much detail here, as there are many ways to use the translated resources.

The tooling

There are many tools you can use, and the actual use highly depends on the size of your project, the number of translations, and how your process is organized.

I’ll point to a few tools that are interesting or that I have used.

The Bing Translation API

Now that the Google Translate API has been deprecated, the only online translation API is the Bing Translate API provided by the Bing Translator team. There are plenty of examples on how to do that from various environments.  You need a Bing AppID in order to use this. And you can do “only” 50 translations per minute (each at a maximum of slightly less than 64 kilobyte).

Examples

I downloaded the Dutch 3.10 translations of Paint.NET because it includes an Excel document that is a good example of how to track progress or compare multiple translations.

Then I downloaded the Paint.NET 3.5.x original strings, and the Dutch 3.5.x translations and unpacked them in the C:\TEMP directory.

Finally, I ran the ResxCheck on them:

C:\temp\PaintDotNet.Strings.3.NL>ResxCheck.exe ..\Strings\Strings.resx PaintDotNet.Strings.3.NL.resx
ResxCheck v3.30.3033.25892
Copyright (C) 2008 dotPDN LLC, http://www.dotpdn.com/

--- Start @ 13:46:01
Analyzing base Strings.resx ...
Analyzing mui PaintDotNet.Strings.3.NL.resx ...
--- End @ 13:46:02 (156.25 ms), processed 2 resx files
There were no errors

Hopefully this will save you some time, and me too when I’m working on another translation project.

–jeroen

via: Paint.NET Forum -> Translation and Localization.

PS: If you want the Paint.NET installer to be multi-lingual, follow these steps on the Paint.NET forum.

PS2: For the people wondering why the Dutch language is not called Nederlandisch or something similar, please read the Wikipedia articles on  Names for the Dutch language and Netherlands (terminology).

Posted in .NET, Development, RESX, Software Development | 2 Comments »

Excel CSV: watch and set your delimiters (and the #NSBusinessCard – Digitale specificatie #fail)

Posted by jpluimers on 2011/10/19

A while ago, a friend asked my why Excel sometimes doesn’t import CSV files correctly. Recently, I was reminded because NB Business Card sends their invoice as Excel CSV. And expected CSV to be universal. Which it isn’t. Besides pople doing all sorts of crazy things with CSV (like What would happen if you defined your system CSV delimiter being a Quotation), Excel CSV isn’t universal either, as it depends on a crucial entry your Windows regional settings: the “List Delimiter”. Two series of screeen shots show this: The first for Windows XP and systems like it:

 

And for Windows 7 and similar systems:

  A few tips: When you export CSV, be sure to use this setting from the registry. Or at least allow your users to specify it in your application, because: when you are not using Windows, you might be out of luck as there is no operating system neutral way of querying this value. And when you get some CSV and cannot import it in Excel, make sure you change your list delimiter to match it. And don’t forget to restore it to the original setting when you are done: it is a user session wide setting, so it applies to all applications (including the ones that do watch it). –jeroen

Posted in CSV, Database Development, Development, Power User, Software Development | 3 Comments »

 
%d bloggers like this: