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 the ‘Event’ Category

Delphi “Variant Records”, a few notes

Posted by jpluimers on 2013/03/14

Variant Records are a feature that has been in the Pascal language since Standard Pascal.

A cool page for historic perspective is R3R: Pascal Features in Popular Compilers, hopefully someone will update it to more modern versions of the mentioned compilers.

There is not much official documentation on the Delphi side on this, so below some parts of a case I used for a project that started in 1997 and is still in use to day. Read the rest of this entry »

Posted in APPC, AS/400 / iSeries / System i, ASCII, COBOL, Communications Development, Conference Topics, Conferences, CPI-C, Delphi, Delphi 1, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi XE, Delphi XE2, Delphi XE3, Development, Encoding, Event, HIS Host Integration Services, Internet protocol suite, MQ Message Queueing/Queuing, SNA, Software Development, TCP, Unicode, UTF-8, WebSphere MQ | 9 Comments »

If you think CSV is easy; think again!

Posted by jpluimers on 2012/12/05

Lots of people think CSV is easy: it’s just a bunch of values separated with commas. But in practice it is not. Various reasons can make CSV very hard, especially since “CSV” is not a single, well-defined format. As always importing is always harder than exporting. A few reasons that make it hard:

A few links that helped me a lot getting input and output of CSV right in C#:

Thanks to Jabulaza:

–jeroen

via: Comma-separated values – Wikipedia, the free encyclopedia.

Posted in Conference Topics, Conferences, CSV, Development, EBCDIC, Encoding, Event, Software Development | 4 Comments »

My Delphi conferences this fall: DelphiTage.de, ITDevCon.it, no EKON (entwickler-konferenz.de)

Posted by jpluimers on 2012/09/19

Nicolette and me on the Antarctic peninsulaWhile scheduling this year’s projects, it was clear that it would become impossible to have the summer holiday in the summer (last year was also outside, as we fulfilled Nicolette’s dream: visit the Antarctic region).

So we moved this year’s holiday to early November, hoping that would be outside the Fall conference season.

Alas, EKON (Entwickler-Konferenz.de), this year in Düsseldorf, Germany, moved themselves to November, so this will be the first EKON ever that I won’t attend (out of 3 or 4 people that never missed one). Sorry guys I will miss the great speakers, sessions and workshops (:

I am going to speak on two other European Delphi conferences though:

I’m really looking forward meeting the attendees, speakers and organizations there. Conferences are always a lot of fun and a great way for me of learning new things.

--jeroen

via:

Posted in About, Antarctic, Conferences, Delphi, Delphi XE2, Delphi XE3, Delphi-Tage.de, Development, EKON, Event, ITDevCon, Personal, Software Development, Travel | Tagged: , , , , , , , , , , , , , , , , , , , , | 2 Comments »

Foto’s KatwijkBinse Truckrun 2012 tijdens doorkomst Sassenheim op van 12 augustus 2012 (set on Flickr)

Posted by jpluimers on 2012/08/24

Vorig weekeinde heb ik foto’s gemaakt van de KatwijkBinse Truckrun 2012 tijdens de doorkomst in Sassenheim.

De foto’s zijn genomen op de Wilhelminalaan vlakbij het gemeentehuis.

Helaas her en der wat onderbelicht – ik was uitgeput door de hitte en niet zo helder die dag.

Volgende keer moet ik met tegenlicht iets meer opletten (:

Oorspronkelijke route: www.oranjeverenigingkatwijk.nl/index.php?p=22&sub=36

–jeroen

via: 20120818 KatwijkBinse Truckrun 2012 tijdens doorkomst Sassenheim – a set on Flickr.

Posted in About, Event, Personal, Truckrun | Leave a Comment »

Dear fellow programmer. If you aren’t experienced doing multi-threading, please don’t!

Posted by jpluimers on 2012/07/05

Recently I was asked to investigate a performance problem with a certain .NET application.

The first error I got when getting the app to build in Visual Studio 2010, and then run it was like this:

System.ComponentModel.InvalidAsynchronousStateException was caught
  Message=An error occurred invoking the method.  The destination thread no longer exists.
  Source=System.Windows.Forms
  StackTrace:
       at System.Windows.Forms.Control.WaitForWaitHandle(WaitHandle waitHandle)
       at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
       at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
       at UI.Splash.SetStatus(String status) in C:\...\Splash.cs:line 395
       at UI.Menu.Main() in C:\...\Menu.cs:line 4275
  InnerException:

Someone built their own splash logic with multi-threading.

Funny that today, this got answered on StackOverflow by [WayBackmgie: [WayBack] multithreading – TMonitor synchronization / Application.ProcessMessages – Stack Overflow.

Though that is a Delphi link (and points to the nice libraries [Archive.is] AsynCalls and [WayBack] OmniThreadLibrary), the most important link it contains is to  [WayBackBorland Newsgroup Archive :: borland.public.delphi.internet.winsock :: Re: Disconnect TIdHttp in thread.

That sounds like a Delphi link too, but the subtitle “‘Ways to get into avoidable trouble with threads, V1.2′” hints the essence: it is a post that describes in an environment-agnostic way how to avoid multi-threading problems.

Recommended reading!

Anyway: Building multi-threaded code is hard. Even harder fleshing out all the corner cases and potential error conditions.

No matter what kind of programming environment: If you have not done lots of multi-threaded programming, then please don’t do it yourself: go ask someone that does know how to do it. Or better, try to avoid it.

I try to let libraries to the handling of multi-threading for me, if I use multi-threading at all, as others are far better at this than I am.

–jeroen

Posted in .NET, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Conference Topics, Conferences, Delphi, Development, Event, Java, Software Development, VB.NET, VBS, Visual Studio 2010, Visual Studio and tools, WinForms | 6 Comments »

EKON15 download materials on-line at bo.codeplex.com

Posted by jpluimers on 2011/11/03

I uploaded the EKON15 conference download materials to http://bo.codeplex.com.

The changeset you are after is http://bo.codeplex.com/SourceControl/changeset/changes/70872

It contains most of the materials for the Delphi Tage and the Delphi Live conferences too, though I will upload the missing pieces soon.

With the [WayBack] demise of codeplex, these links now have moved to

–jeroen

Posted in Conferences, Delphi, Development, EKON, Event | Leave a Comment »

Delphi XE2 Hands-On Workshop met better office – beperkt aantal plaatsen beschikbaar

Posted by jpluimers on 2011/10/25

Op dinsdag 6 en woensdag 7 december 2011, organiseren Barnsten en better office benelux een 2 daagse Delphi XE2 Workshop in Hoofddorp.

Het aantal plaatsen is beperkt, aanmelden kan via de Barnsten.com site.

Het doel van deze workshop is ervaren Delphi ontwikkelaars snel productief te laten werken met Delphi XE2. De workshop is modulair opgezet: inschrijving is per dag mogelijk.

De workshop sluit aan op de workshop die vorige week door Barnsten en The Delphi Company is georganiseerd: er zit nauwelijks overlap in de onderwerpen.

Samenvatting

Dag 1 heeft de focus op nieuwe features voor Windows gebruikers.

Dag 2 gaat compleet over cross platform FireMonkey (Windows, Mac en iOS: iPad/iPhone/iPod-touch). Neem hier je eigen

Voorbereiding

Nodig voor dag 1 en dag 2:

Nodig voor dag 2:

Programma

In samenwerking met better-office organiseert Barnsten een Hands-On workshop voor de gevorderde Delphi
ontwikkelaar. Het doel van deze workshop is u, als ervaren Delphi ontwikkelaar, snel productief te laten werken met
Delphi XE2. De workshop is modulair opgezet zodat u zich per dag kunt inschrijven.
De Hands-On Workshop vindt plaats op 7 en 8 december 2011 en wordt gehouden in Hoofddorp. Kijk voor de
beschrijving onder het kopje Product info en voor de dagindeling onder het kopje Specificaties.

Inhoud Dag 1: Introductie Delphi/RAD Studio XE2

  • Wat is nieuw in XE2
  • Migreren van oude projecten
  • Introductie x64: wat is nieuw, hoe zet je projecten over naar x64. Meer over de platformen en performance
  • VCL Styles: hoe werkt het, wat kun je er mee
  • Live Binding: wat zijn de voordelen / nadelen
  • Unit Scoping: voordelen / nadelen, backward compatibility
  • TZipFile ondersteuning
  • Conditional defines
  • FireMonkey: HD en 3D software ontwikkeling met FireMonkey
  • RAD Studio XE2 Roadmap
  • Installatie XE2 op Windows en Mac OS X

Dag 2: FireMonkey

  • Basis FireMonkey en de verschillen op de platformen Windows, OS X en iOS
  • FireMonkey op iOS: het gebruik van Xcode
  • Maken van een eenvoudige FireMonkey HD applicatie: basisprincipes, animations, effects
  • Maken van een eenvoudige FireMonkey 3D applicatie: basisprincipes, animations, effects en belichting
  • Beide applicaties van Windows naar Mac OS X omzetten
  • Debuggen op Mac OS X en iOS emulator
  • Gebruik van HD en 3D in 1 applicatie
  • Een iOS versie maken van beide applicaties
  • Fundamentele verschillen tussen mobile en desktop: hoe ga je daar in je UI mee om
  • XML, data en data binding in de FireMonkey applicaties: hoe maak je dit cross-platform
  • Hoe breng ik VCL applicaties naar FireMonkey
  • Windows: mixen van VCL en FireMonkey
  • Overzicht van interessante blogs, sites en artikelen

Installatie instructies

Installatie instructies op de Windows PC

  1. Installeer RAD Studio XE2 en de on-line help (gebruik overal de default instellingen)
  2. Installeer InterBase XE Developer edition

Installatie instructies op de Mac

Voor FireMonkey Mac OS X ontwikkeling

  1. Kopieer het bestand setup_paserver.zip naar je Mac. Deze staat meestal in (X: je Windows drive):
    64-bits systeem: X:\Program Files (x86)\Embarcadero\RAD Studio\9.0\PAServer
    32-bits systeem: X:\Program Files\Embarcadero\RAD Studio\9.0\PAServer
  2. Pak de file setup_paserver.zip uit op de Mac (je krijgt dan een bestand setup_paserver)
  3. Run de setup_paserver op de Mac.
  4. InterBase Developer edition:
    volg de algemene installatie instructies op de Embarcadero site,
    gevolgd door de specifieke Mac OS X instructies op de Embarcadero site.

Voor Apple iOS (iPad, iPhone, iPod touch) ontwikkeling

  1. Download en installeer Xcode 4 van de Apple site (je moet je eerst registreren) http://developer.apple.com/xcode/
  2. Kopieer de file FireMonkey-iOS.dmg naar je Mac; deze staat meestal (X: is je Windows drive) op:
    64-bits systeem: X:\Program Files (x86)\Embarcadero\RAD Studio\9.0\FireMonkey-iOS
    32-bits systeem: X:\Program Files\Embarcadero\RAD Studio\9.0\FireMonkey-iOS
  3. De file FireMonkey-iOS.dmg is een disk image.
    Mount het DMG image op je Mac. Deze wordt dan geopend in /Volumes/FireMonkey-iOS/ en er komen 2 vensters met de installers.
  4. Installeer beide in deze volgorde:
    a. fpc-2.4.4.intel-macosx.pkg (het vertelt dat het in 2 minuten installeert; dat duurt meestal korter)
    b. FireMonkey-iOS-XE2.pkg (het vertelt dat het installeert in “less than a minute”, maar meestal duurt dit veel langer, houd rekening met een kwartier of langer)
  5. Eject in de Mac Finder de DMG die je gemount hebt

Zie ook deze twee online installatie instructies:

–jeroen

via: Delphi XE2 Hands-On Workshop met better office – Barnsten.com.

Posted in Delphi, Development, Event, FireMonkey, PowerDay, Seminar, Software Development | Leave a Comment »

EKON 15 conference news and discount (German text at the end of the blog post): Cary Jensen presents the keynote @caryjensen #ekon

Posted by jpluimers on 2011/10/11

EKON 15 – first day has many English sessions

From 26 till 28 of October, I’ll be speaking at the 15th EKON conference at the Renaissance Hotel in Düsseldorf, Germany.

I just sat next to the conference organizer, and he proudly announced that well known and long time Delphi guru Cary Jensen will be presenting the keynote on the evolution of Delphi from Delphi 1 to XE2.

I still have the disks marked “Wasabi” and “Mango” from the early 90s (and funny that Microsoft is using the same name for a 7.5 product, where Delphi 1 was a real revolution).

Next to the German sessions, there will be English sessions as well: Cary also does his other sessions that day (on cross platform development, windows services, and RESTful webservices).

Being a German conference, most of the other sessions will be in German, but it is good that the English ones are all in one day: you get a one-day visit to conference as a non-German speaker, get a discount and visit the beautiful city of Dusseldorf (especially the Altstadt is recommended).

Contact me for more information on discounts: there are both discounts for the English day and the full the whole conference.

On the EKON 15 site there is a nice conference planner and session overview.

Last but not least, on friday after the conference, Edwin van der Kraan and I will present a full day Delphi XE2 workshop covering x64, new VCL and of course FireMonkey cross platform development (so bring your Mac and iOS devices with you!).

15. EKON Konferenz – Delphi XE2 und mehr…

Vom 26. bis zum 28. Oktober findet die 15. Entwickler Konferenz (EKON) im Renaissance Hotel in Düsseldorf statt. Ich werde als Speaker ebenfalls vor Ort sein.

Als ich gerade mit dem Organisator der Konferenz zusammen saß, verkündete er mir stolz, dass Cary Jensen, bekannter und langjähriger Delphi-Guru, auf der EKON 15 eine Keynote zu Delphis Evolution von Delphi 1 zu XE2 halten wird.

Ich bin immer noch im Besitz von Disketten aus den frühen 90er Jahren, die mit „Wasabi“ und „Mango“ beschriftet sind (witzig dabei ist, dass Microsoft den gleichen Namen für ein 7.5-Produkt nutzt, während es bei Delphi 1.0 eine richtige Revolution gab).

Neben den deutschen Sessions werden auf der EKON auch Sessions auf English angeboten: Cary wird unter anderem auch über Cross-Plattform-Entwicklung, Windows Services und RESTful Web Services sprechen.

Zwar werden die meisten Sessions auf Deutsch gehalten, jedoch gibt es diesmal eine Besonderheit bei den englischen Sessions: Diese finden an einem Tag statt!
Somit können auch die Nicht-Deutschsprachigen für ermäßigten Eintritt an den Sessions auf Englisch teilnehmen und ganz nebenbei die schöne Innenstadt Düsseldorfs erkunden
(besonders die Altstadt ist sehr empfehlenswert).

Zu guter Letzt präsentieren Edwin van der Kraan und ich am Freitag einen ganztägigen XE2 Power Workshop zu x64, New VCL und natürlich zur FireMonkey Cross-Plattform-Entwicklung (bringen Sie also Ihre Macs und iOS-Geräte mit!).

Bei weiteren Fragen, Interesse und Infos über die Ermäßigungen können Sie mich gerne kontaktieren (Ermäßigte Preise gibt es sowohl für den English-Day als auch für die Gesamtkonferenz). Auf der Website finden Sie eine übersichtlichen Zeitplaner, die Sessions im Überblick und alle weiter Informationen zur Entwickler Konferenz.

–jeroen

Posted in About, Conferences, Delphi, Development, EKON, Event, Personal, Travel | Leave a Comment »

Just uploaded by BASTA.NET conference session materials on .NET Cross Platform Mobile Development on Windows 7, Android and iOS

Posted by jpluimers on 2011/09/27

This morning I gave a well attended session at the BASTA.NET conference on .NET Cross Platform Mobile Development on Windows 7, Android and iOS

If you were attending my session, or just interested in Cross Platform Development with a touch – pun intended – of .NET (and Mono, MonoTouch, MonoDroid, MonoMac, Xcode) then you can download the materials here: http://bo.codeplex.com/SourceControl/changeset/changes/70132 and http://bo.codeplex.com/SourceControl/changeset/changes/70133 (yes, 2 change sets: somehow with SVN  “Check for modifications” I still missed part of the batch).

It consists of the PDF with session slides and the demo apps based on an old (.NET 1.1 and .NET Compact Framework 1.0 era) C# tic tac toe demo (which was based on some Turbo Pascal sources from 20+ years ago), now revived for the Windows Phone 7 (with Visual Studio), iOS (with MonoTouch) and Android (with MonoDroid) platforms.

The conference is held at the beautifully designed Rheingoldhalle conference center adjacent to the Rhine (German: Rhein) river in Mainz, Germany.

Oh: and I enjoyed a bit of the great weather outside (while it lasts <g>).

–jeroen

Posted in .NET, BASTA!, C#, Conferences, Development, Event, Software Development | Leave a Comment »

Delphi XE2 FireMonkey: the reason you should not have used assembly

Posted by jpluimers on 2011/09/09

Right now, I’m porting a bunch of stuff over to FireMonkey in Delphi XE 2 so it can run cross platform.
(Be sure to attend the RAD Studio XE2 World Tour when possible, this stuff is way cool!)

Having avoided Windows x86 assembly in my own sources for years, I’m astonished by the number of 3rd party libraries that do.

Right now, third party libraries that you want to use with FireMonkey need these requirements:

  1. In order to run on x64 or OS X:
    Don’t rely on x86 assembly instructions, or provide alternatives for other platforms than Windows x86
  2. In order to run on the an iPhone, iPad or iPod touch iOS device (which all run on Arm), or iOS simulator from the iOS SDK (which is not an emulator, it runs x86):
    Be compatible with Free Pascal 2.5.1.

And the fact that you should have separated your business logic from your UI logic years ago :)

Of course that was what the Future proofing your Delphi apps seminar from Simon Stuart was about.

What baffles me is that so little 3rd party code adheres to that.

–jeroen

PS:

Today and tomorrow I’m be at the German Delphi-Tage.de conference; I’ve already met a lot of people in the Delphi XE2 tutorial and look forward to meet more tomorrow.
Contrary to what the schedule says, my session on a pragmatic Delphi code generator will be in German, I’m sure most attendees will like that.

Sunday I’ll fly to SFO to speak at the DelphiLive.com conference in San Jose, CA.
There, my preconference tutorial on Delphi Certification and sessions on XML and XSLT will be in English, as I’m sure more people there understand that better than German :)

Posted in About, Certifications, Conferences, Delphi, Delphi-Tage.de, DelphiLive, Development, Event, FireMonkey, Personal, Software Development | 6 Comments »