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

Archive for the ‘Delphi’ Category

Niklaus Wirth’s “Good Ideas, Through the Looking Glass” (via: MetaFilter)

Posted by jpluimers on 2014/01/02

I forgot who pointed me at this, but recently I came across a reference to the Good Ideas, Through the Looking Glass paper by Niklaus Wirth (by many known as the “father” of Pascal, though he has done a lot more – for instance the WSN – , still is involved with the ETH in Zürich, and turns 80 on February 15h).

Back when it appeared in the 2005/2006 timeframe I missed it, and I’m glad to have bumped into just for the historic perspective he offers. I can understand some will disagree with parts of his conclusions and observations, that’s why I like that MetaFilter has a nice page with discussion about it and a link to the PDF version of the paper.

I also like that Niklaus kept active in the field of computer science for so long, similar to Donald Knuth. There is a lot to having a great historic perspective to things.

–jeroen

via: Good Ideas, Through the Looking Glass | MetaFilter.

Posted in Delphi, Development, History, Pascal, Software Development | 3 Comments »

Some links on Delphi, JNI, Android

Posted by jpluimers on 2013/12/30

So I won’t forget to read these:

Some of my own work on this back in the Delphi 7 days:

–jeroen

Posted in Delphi, Delphi 7, Delphi XE5, Development, Java, Software Development | Leave a Comment »

Extreme Programming, a Reflection (via: 8th Light)

Posted by jpluimers on 2013/12/29

Thanks Uncle Bob Martin for posting this.

I’ve been trying (with increasing success: it takes time to get this all right) to practice XP (through various name changes) as much and wide as possible since almost 14 years, and only the last few years it is starting to be common practice for many more people.

take a moment to reflect back on 1999. A time when Kent Beck wrote a ground-breaking book. A book that changed everything. Look back and remember: Extreme Programming; and recognize it as the core of what we, today, simply think of as:

Good Software Practice.

–jeroen

via: Extreme Programming, a Reflection | 8th Light.

Posted in .NET, Agile, Continuous Integration, Delphi, Design Patterns, Development, Software Development, Source Code Management, Technical Debt, Testing, Unit Testing | Leave a Comment »

Delphi and LLVM: what is your take on this?

Posted by jpluimers on 2013/12/27

One more for the weekend (:

I wrote about Some links on the Delphi compiler and the LLVM Compiler Infrastructure Project about a year and a half ago which caused a short discussion on the embarcadero forums. A few month later Robert Love showed his views in a response to Tim Anderson writing about Clang and LLVM in the C++ side of the toolchain. Tim Anderson wrote more about LLVM in the Delphi tool chain  in September 2012, then it went quiet for a while.

Since then the LLVM tool chain has integrated itself into both the C++ and Delphi toolchains and Wired wrote about LLVM.

Gunsmoker – who works at EurekaLog – wrote up some interesting comments in Russian (I hope the English Google translation is good enough).

In my view, the LLVM tool chain opens a lot more possibilities (shared back-end for Delphi and C++, coverage of more platforms, better optimization), but is also a lot slower and makes the debugging part a lot harder as the debugger is – symbol wise – much further away from the compiler than in the traditional setting (hence the 3 levels of debugging information that got introduced in Delphi XE5 and the compatibility problem that came with it).

I’m wondering what other users in the Delphi community think about the LVVM chain: is it working good enough for you? Should it be integrated further into the Windows/OSX parts of the chain?

–jeroen

Posted in Delphi, Delphi XE3, Delphi XE4, Delphi XE5, Development, Software Development | 26 Comments »

X-mas present: Beyond Compare v4 beta for Mac OS X, Windows and Linux

Posted by jpluimers on 2013/12/24

I’ve been wanting this a very long time, so I’m going to install it Right Now ™ (:

Right before X-Mas, Scooter Software did the ANN: Beyond Compare 4.0 beta available on Windows, Linux, and OS X:

Posted: Dec 23, 2013 4:17 PM

Beyond Compare 4.0 beta is now available for testing on Windows, Linux, and OS X.

http://www.scootersoftware.com/beta

This version adds a number of new features: Read the rest of this entry »

Posted in *nix, Apple, Beyond Compare, Delphi, Development, Linux, Mac, Mac OS X / OS X / MacOS, Mac OS X 10.7 Lion, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, OS X 10.8 Mountain Lion, Power User, Software Development, Source Code Management, SuSE Linux, Windows | Leave a Comment »

DelphiSpec Library Announce « Роман.Янковский.me

Posted by jpluimers on 2013/12/22

Cool stuff: DelphiSpec library, inspired by Cucumber. It runs on top of DUnit.

via DelphiSpec Library Announce « Роман.Янковский.me.

A similar one in the .NET realm: SpecFlow – Pragmatic BDD for .NET.

–jeroen

Posted in .NET, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 3.0, C# 4.0, C# 5.0, Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Software Development | Leave a Comment »

Delphi XE5 Update 2 got released last week, end-of-year Delphi XE5 offer, #CodingInDelphi book

Posted by jpluimers on 2013/12/19

Just around the start of the Delphi XE5 end-of-year special offer (more details below), Delphi XE5 Update 2 was released (for geeks: version 19.0.13856.4978). It adds C++ Builder for iOS support, and fixes many bugs.

What I like most is that the majority of XE5 Update 2 bugfixes are not FireMonkey related.

It indicates the Delphi team puts a lot of effort in the classic Delphi stuff, where still a lot of Delphi users earn their money.

Since Delphi XE5 Update 2 is a re-install, the best is to download the ISO image which – like the updates for PAServer for Mac (ftpd) and PAServer for Windows (ftpd) – is on both the altd and ftpd server.

XE5 promotion offers

Best of all: you get RAD Studio XE5, Delphi XE5, or C++Builder XE5  (: Read the rest of this entry »

Posted in Delphi, Delphi XE5, Development, Software Development | Tagged: , | 7 Comments »

Delphi XE3/XE4: removing empty .VLB files; XE5 update 2 and special offers are out. #codingindelphi

Posted by jpluimers on 2013/12/19

Even when not using Visual Live Binding, Delphi generates empty .VLB files in both Delphi XE3 (virtually always) and Delphi XE4 (most of the time).

Visual Live Binding is one way of binding data to UI in FireMonkey and can also be used in VCL, but does not have to (Alister Christie made a nice video ▶ Delphi Training Tutorial #77 – Visual Live Bindings – YouTube about it).

Empty VLB files, and a batch file to delete them

The “empty” VLB files are almost empty, as they are exactly 3 bytes long and contain the byte sequence EF BB BF which is the Unicode BOM (byte order mark) for the UTF-8 encoding. Read the rest of this entry »

Posted in Delphi, Delphi XE3, Delphi XE4, Delphi XE5, Development, Encoding, QC, Software Development, Unicode, UTF-8, UTF8 | Tagged: , | Leave a Comment »

Borland Fun Facts: Matt Pietrek worked there too!

Posted by jpluimers on 2013/12/19

Another episode in the Missed Schedule series that was originally scheduled for 20131201:

Until I read the comments at Monitoring the Monitor, I only knew the early days of Matt Pietrek‘s work at NuMega and as co-author of one of the first Undocumented Windows books (another one appeared about the same time).

Now I know Matt was one of the people interviewing Allen Bauer for his first position at Borland.

A bit more search revealed Matt worked at Borland from 1988 until 1992, roughly the era from Turbo Pascal 5 until Borland Pascal 7 (when Borland already had started researching Delphi), but more importantly with Turbo Debugger versions 1-3 that were indispensable when programming using Turbo C / Turbo C++ and Borland C++.

When Borland was working in Delphi 95, and Microsoft on Windows 95, he moved to Nu-Mega (later Acquired by Compuware) doing lots of work in debuggers.

Some interesting links from or involving Matt:

–jeroen

Posted in Borland Pascal, Debugging, Delphi, Delphi 1, Development, Pascal, Software Development, Turbo Pascal | 2 Comments »

XOR swap/exchange: nowadays an almost extinct means to exchange two distinct variables of the same size

Posted by jpluimers on 2013/12/19

Almost a year ago, a thread on “premature Delphi optimization” came by on G+ about this code:

procedure ExchangeInteger(var AValue1, AValue2: Integer);
begin
  AValue1 := AValue1 xor AValue2;
  AValue2 := AValue1 xor AValue2;
  AValue1 := AValue1 xor AValue2;
end;

I don’t think that was premature optimization, just some code from an old fart that had already been programming in the era where processors had reasons to use it:

Back then, the only efficient way to exchange two variables of the same data type was using the XOR swap algorithm.

Nowadays you have more options, and this is where the fun in that thread began, which I will show in a minute.

First a bit of history

The XOR swap algorithm was widely known in the 80s of last century and before, especially because the 6502 processor (oh the days of LISA Assembler) was vastly popular, as was the Z80. Together, they powered the majority of the home computers in the 70s and 80s.

Read the rest of this entry »

Posted in Borland Pascal, 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 x64, Delphi XE, Delphi XE2, Delphi XE3, Development, History, Pascal, Software Development, Turbo Pascal, UCSD Pascal | 7 Comments »