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

Archive for 2009

Commandlines for shutdown, reboot, logoff, standby and hibernate (from: A standby shortcut? – The PC Guide Discussion Forums)

Posted by jpluimers on 2009/06/11

Being a commandline person (I prefer to think of it as ‘classic’ more than like ‘dinosaur’), I have a ton of batch-files in my %SystemDrive%BIN directory.

Recently, I needed one for hibernating, which I found in this posting: A standby shortcut? – The PC Guide Discussion Forums.

Here is the list:
Read the rest of this entry »

Posted in CommandLine, Development, Software Development | 4 Comments »

spoken @ Delphi Tage 2009 – download is on-line: Delphi power user: speed up your Delphi work

Posted by jpluimers on 2009/06/09

Last saturday, I spoke with my colleague Edwin van der Kraan at the German Delphi Tage 2009: one of the (or maybe just “the”) largest Delphi user groups events in Europe.

The session was titled “Delphi power user: speed up your Delphi work”.

Since we both speak German, the session was in German, and the slides in the download are mostly German too.

Rougly half of the session was done by demo’s and a few slides.
The rest was discussing with the public in what way they sped up their Delphi work, or what portions of their Delphi work they would like to speed up.

The room was packed with people form start to finish, and we had a lot of fun. Though the public learned a lot, even we had a few “aha” moments ourselves.

Some topics we covered were these:

Jeroen Pluimers [wahrscheinlich englischsprachig]
A lot of people use components to make their work easier. There are also tools and IDE enhancements that you can use to speed up your Delphi work. This session shows you how. We will cover new things introduced since Delphi 7 and two tools that make you really productive: Gexperts and ModelMaker CodeExplorer. The goal of this session is not to show you the vast possibilities, but to concentrate on things that you profit from most.
Some of these:
how do I write code faster
how do I write less code
which refactorings are really smart
how can I best change existing code
which changes always succeed, which ones fail and how can I adjust to these failures
how can I change the Tab Order of controls fast and accurately
what kind of breakpoint tricks are handy
how do I replace components
smart things with the Tool Palette
smart placement of your Windows
how do I find things in my project groups and on disk
how do I find my way in code that others wrote
This is not the final list, as this session has plenty of time for questions from the public. In addition, there will be room to discuss other tools. So: if there are things you do often and cost a lot of time: this is your chance to speak up!
  • The most usefull refactorings introduced since Delphi 7
  • Fun with the tool palette in non designer windows
  • Everything in Delphi is text based, including components copied to the clipboard
  • GExperts search, replace, replace components, ASCII chart and other smart stuff
  • Model Maker Code Explorer refactorings, class copying, interface implementation and a few other features
  • Beyond Compare magics

Some people (including me) took pictures during this event, you can find the combined list here.

We had a great time, not only because of the location (the ship Cap San Diego), but also because of the perfect organization by Daniel Wolf and Sabine Rothe.
Thanks to them for this wonderful event!

Posted in Component Development, Database Development, Delphi, Development, Package Development, Software Development | 2 Comments »

update to TFS 2008 Folder Comparison Filter for both C# and Delphi projects « The Wiert Corner – Jeroen Pluimers’ irregular stream of Wiert stuff

Posted by jpluimers on 2009/06/09

Last month I wrote about the TFS 2008 Folder Comparison Filter for both C# and Delphi projects; here is an update:

If you enable the generation of MAP files during compilation, you might not want to include them in your search filter.

Also, the .suo, .user and .webinfo extensions were missing (for an explanation of Visual Studio file extensions, see here and here), so then the search filter becomes this:

!*.pdb;!*.obj;!*.dll;!*.exe;!*.res;!*.resources;!*.cache;!*.ilk;!*.ncb;!obj\;!objd\;!bin\;!lib\;!*.local;!*.identcache;!*.dcu;!__history;!*.dsk;!*.~*;!*.stat;!*.drc;!*.map;!*.csproj.user;!*.vbproj.user;!*.csproj.webinfo;!*.vbproj.webinfo;!*.suo

Have fun with it!

–jeroen

Posted in .NET, C#, Delphi, Development, Prism, Software Development, Source Code Management, TFS (Team Foundation System), Visual Studio and tools | Leave a Comment »

Spoken @ DevDays 2009 NL – download is online: .NET & hardware – capture video & control servos, in a fun application

Posted by jpluimers on 2009/06/02

Last week I spoke at the GeekNight of the Dutch Microsoft DevDays 2009.
A great conference, signalling two important industry wide trends:

  • Cloud computing
  • Natural user interfaces

There were many interesting presentations on both, and we are only at the beginning of those trends: interesting times are ahead!

My presentation (.NET & hardware – capture video & control servos, in a fun application) was as a GeekNight session.
That imposed geeky stuff, but in addition it addressed an important point: there will be many more means of interaction.
In particular, my ‘geek’ combination of hardware and software would react on movements seen by the webcam by pointing the beam of the laserpointer towards the largest area that moved.

After that I enjoyed the long Pentecost weekend (yes, the monday after Pentecost is a Holiday in the Netherlands, so most people have a day off then).

Today I updated my Conferences, seminars and other public appearances page with my DevDays materials to download.

It contains both the sourcecode, and the presentation in English.

Enjoy the download :-)

–jeroen

Posted in .NET, C#, C# 2.0, C# 3.0, DevDays09, Development, Event, Hardware Interfacing, Servo, Software Development, USB, WebCam | Leave a Comment »

TFS 2008 Folder Comparison Filter for both C# and Delphi projects

Posted by jpluimers on 2009/05/25

When using TFS (Team Foundation System) 2008 as a Version Control / Source Code Management system not only for your C#, but also for Delphi projects, this is a good filter string when using the ‘Compare Folders‘ function of TFS:

!*.pdb;!*.obj;!*.dll;!*.exe;!*.res;!*.resources;!*.cache;!*.ilk;!*.ncb;!obj\;!objd\;!bin\;!lib\;!*.local;!*.identcache;!*.dcu;!__history\;!*.dsk;!*.~*;!*.stat;!*.drc

This is the regular Folder Comparison Filter – the bold above is the addition and the link contains an explanation of the filter syntax:

!*.pdb;!*.obj;!*.dll;!*.exe;!*.res;!*.resources;!*.cache;!*.ilk;!*.ncb;!obj\;!objd\;!bin\

Hope this helps some of you in reducing the amount of clutter in the resulting comparisons :-)

–jeroen

Posted in .NET, C#, Delphi, Development, Software Development, Source Code Management, TFS (Team Foundation System) | 3 Comments »

Edited: Conferences, seminars and other public appearances « The Wiert Corner

Posted by jpluimers on 2009/05/15

I have edited the Conferences, seminars and other public appearances/ page and extended the list of conferences I have attended in the past including many sessions.

Topics covered in these sessions have been C#, Delphi, Databases, Linux, Kylix, debugging, Compact Framework, and much much more.

Let me know which sessions you’d like to see online first.

The list is far from complete, but it is another step into getting the list more accurate.

–jeroen

Posted in .NET, C#, C# 2.0, Component Development, Conferences, Database Development, Delphi, Designer Development, Development, Event, Firebird, InterBase, Package Development, Software Development, SQL Server, Visual Studio and tools, XML, XML/XSD | Leave a Comment »

Speaking @ BASTA! 2009 – .NET Everywhere!, September 21-25, 2009, Rheingoldhalle, Mainz, Germany on .NET gems, C#, WPF multi-media and much more.

Posted by jpluimers on 2009/05/15

Masoud Kamali just notified that 2 of my sessions got accepted for the German BASTA! 2009 – .NET Everywhere! conference that is being held from September 21 til 25 in the Rheingoldhalle (which is in Mainz right in between the river Rhine and the city centre).

These are the sessions I’m going to do:

  • WPF multi-media: smart client with audio, photos and video 
  • .NET gems – small pieces of code that make your day

It’s gonna be fun!

Posted in C#, C# 2.0, Conferences, Development, Event, Software Development | Leave a Comment »

Delphi – more for … in support for TComponent.Components using a class helper

Posted by jpluimers on 2009/05/12

With my blog posting last week on Delphi – class helper to add for … in support for TComponent.Components/ComponentCount  I ‘lied’ a bit. 

What I actually wanted to do was write code like this:

  for Component in Self.ComponentsOfType(TSQLQuery) do
    (Component as TSQLQuery).SQL[1] := FTableName;

This filters the enumeration to only enumerate components that are of type TSQLQuery or descend from type TSQLQuery.

So I wanted to write a ‘richer’ enumerator than just iterating over all components.
The scond part of the lie is that such an enumerator in fact already exists: there is already a TComponent.GetEnumerator method.
Primoz Gabrijelcic’s – web/blog – rightly noted in the comment where he pointed to a similar blog post he wrote for TControls.

Since I wrote this post last week as well, but scheduled to be published right before DelphiLive!, I just added a reference to his comment, site, blog and posting.

TComponent already has a GetEnumerator since Delphi 2006.
But my TComponentEnumerator was meant as a base class to show you how to descend from it.
And that’s what this blog post is about.
Read the rest of this entry »

Posted in Delphi, Development, Software Development | Leave a Comment »

Adest Musica flyer for World Music Contest 2009 entry

Posted by jpluimers on 2009/05/11

Menno de Jong created a paper flyer for the World Music Contest 2009 entry that our marching band Adest Musica is going to perform.

New truck for Adest Musica with "the Musketeer" theme for their WMC 2009 show

New truck for Adest Musica with “the Musketeer” theme for their WMC 2009 show

Like the new truck on the right, it perfectly fits the theme “the Musketeer”, and reflects our journey to the WMC in Kerkrade.
April 30 in Ede was part of that journey, and we regret that the release could not take place: the tattoo on which we would have performed got cancelled due to the attempted attack on the Royal Dutch Family that day.
However, the parade in Ede that day did take place, so we were able to show the public our new marches.

People wanting to join us in August 2nd at the WMC in Kerkrade can order tickets here: (Dutch link only) http://www.adestmusica.nl/wmc/bestelformulier_wmc_toegangskaarten.php

The images of the flyer are below (click on them for an enlargement):

wmc_flyer_voorkant
wmc_flyer_voorkant

Posted in About, Adest Musica, Personal | Leave a Comment »

StUF – receiving data from a provider where UTF-8 is in fact ISO-8859

Posted by jpluimers on 2009/05/08

Recently when receiving information from a StUF webservice created by a large Dutch provider of government IT systems, we had an issue with characters having their high bit set.

Although the web-service pretended to send their information as UTF-8, in fact they were encoding using a form of ISO_8859.

The most likely character set they used is ISO-8859-1 (since that is the default encoding for the HTTP protocol), but it might also be ISO-8859-15 which is an adaption of ISO-8859-1 trading some typographic characters for the euro-sign and some characters from French and some characters used for transliteration of  Russian, Finnish and Estonian.
(note that the printable characters of both ISO-8859-1 and ISO-8859-15 can be displayed by the Windows-1252 code page)

Since it is not possible to reliably “guess” the right encoding (there are way to many possibilities, even IsTextUnicode that is used by Notepad fails, see below), the only way is to use a fixed reencoding that depends on the StUF data provider. Read the rest of this entry »

Posted in Development, Encoding, ISO-8859, ISO8859, Mojibake, Software Development, The Old New Thing, Unicode, UTF-8, UTF8, Windows Development, XML, XML/XSD | 5 Comments »