The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • 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 ‘Software Development’ Category

ColorButton unit with TColorButton saved for posterity as http://delphi.about.com got hi-jacked.

Posted by jpluimers on 2018/07/18

Hopefully my blog will last longer than the original delphi.about.org articles.

Last year, I noticed yet another path into bit rot: [WayBack] The title reads “Source Code for the TColorButton Delphi Component”… I must be going blind because I can’t find it – Thomas Mueller (dummzeuch) – Google+

In this case, http://delphi.about.com/library/weekly/aa061104a.htm got redirected via http://delphi.about.com/od/vclusing/fl/Source-Code-for-the-TColorButton-Delphi-Component.htm to [WayBackhttps://www.thoughtco.com/source-code-for-tcolorbutton-4077901 which is a copy of the original article failing to preserve the download links of the original source code.

It doesn’t help that the original source download at http://delphi.about.com/library/code/ncaa061104a.htm also redirects to https://www.thoughtco.com/delphi-programming-4133475 a generic catch all of [WayBackDelphi Programming where http://delphi.about.com also redirects to.

In other words:

http://delphi.about.com got hi-jacked.

So here are some links to various forms of that source code:

–jeroen

Posted in Color (software development), Delphi, Development, Software Development | 2 Comments »

From the bragging “Did you know the IDE starts almost twice as fast in 10.2.2 as it did in 10.1?”

Posted by jpluimers on 2018/07/17

An interesting discussion sprouted from the bragging [WayBack] Did you know the IDE starts almost twice as fast in 10.2.2 as it did in 10.1? https://community.embarcadero.com/blogs/entry/new-in-10-2-2-welcome-page-… – David Millington – Google+.

I do not care very much about IDE start times (Visual Studio starts faster, others like Android Studio start slower than Delphi), more about productivity.

Which means loading projects, opening files and forms, switching projects, etcetera need to be fast and stable.

For me this is when on Delphi projects, I start about half a dozen copies of Delphi about 10 seconds apart (otherwise you get exceptions in any Galileo version), make some tea, then come back.

Each time an IDE crashes, I kill it, start a new one, switch to an existing one, load the projects I need and continue. On a full day working with Delphi, this happens about a dozen times a day.

After that I want to be productive.

Here is where I was so surprised by the great tip from Yusuf Zorlu

+Asbjørn Heid you should try to disable all “livebinding” packages + rename dclbindcomp250.bpl . If i opened a form before i had to wait 20 to 40 seconds … now it is superfast and opens forms under 5 seconds. I don’t need LiveBindings …

and the response by Asbjørn Heid

+Yusuf Zorlu Thank you! Holy cow that’s a difference! As you say, even our most complex forms are down to 4 seconds now.

I never use LiveBindings as they are way to convoluted, unstable and result in logic being in designers as opposed to tool-manageable code.

In addition, LiveBindings have never been really optimised since their inception in Delphi XE2.

This saves a lot of time!

So one day, I need to update Source: Delphi packages I have disabled by prefixing their description with an underscore (and why) and create a batch file with the various [WayBack] reg add commands modifying the package loads.

Related:

–jeroen

Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | 2 Comments »

GExperts “Set Component Properties”

Posted by jpluimers on 2018/07/17

I totally forgot about [Archive.isGExperts Help: Set Component Properties

The main reason is that I hardly use any live connections in Delphi applications any more for mainly two reasons:

  • timing issues (varying from taking way too long to open something, via order what needs to be opened different between run-time and design-time, to )
  • pushing business logic further away from the user interface so it is easier to automatically test the business logic

But once every while I’m on a new site that has their own tool-chain installed and I see screens like this one:

I’m not alone on this: [WayBack] Does anybody know where the following dialog window come from? I need to disable it but failed to find the source IDE plugin – Edwin Yip – Google+

The good thing is that it can bring certain components into a know state before compiling your application.

But this is a thing your CI environment should already do for you.

–jeroen

 

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

PowerShell on Mac OS X and other non-Windows systems

Posted by jpluimers on 2018/07/17

I wasn’t expecting it to be so easy to install PowerShell on Mac OS X:

brew install Caskroom/cask/powershell

In the background it executes this script: https://github.com/caskroom/homebrew-cask/blob/master/Casks/powershell.rb. which indirectly goes through the URL template https://github.com/PowerShell/PowerShell/releases/download/v#{version}/powershell-#{version}.pkg.

On other non-Windows systems, you have to go through GitHub yourself: https://github.com/powershell/PowerShell. The PowerShell team at Microsoft has many more repositories including the Win32-OpenSSH port which you can find through https://github.com/PowerShell.

At the time of writing, PowerShell was available for these platforms:

Platform Downloads How to Install
Windows 10 / Server 2016 (x64) .msi Instructions
Windows 8.1 / Server 2012 R2 (x64) .msi Instructions
Windows 7 (x64) .msi Instructions
Windows 7 (x86) .msi Instructions
Ubuntu 16.04 .deb Instructions
Ubuntu 14.04 .deb Instructions
CentOS 7 .rpm Instructions
OpenSUSE 42.1 .rpm Instructions
Arch Linux Instructions
Many Linux distributions .AppImage Instructions
macOS 10.11 .pkg Instructions
Docker Instructions

The first version I installed on Mac OS X was this: ==> Downloading https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-alpha.17/powershell-6.0.0-alpha.17.pkg

By now I really hope it is out of Alpha state.

–jeroen

via:

Posted in *nix, Apple, CommandLine, Development, iMac, Linux, Mac, Mac OS X / OS X / MacOS, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, MacMini, openSuSE, Power User, PowerShell, PowerShell, Scripting, Software Development, SuSE Linux, Ubuntu | Leave a Comment »

Interesting take by Robin Message on Twitter: “I wrote an thing: How Scrum disempowers developers (and destroyed Agile)”

Posted by jpluimers on 2018/07/16

A very interesting first post that promises to become a series: [WayBackRobin Message on Twitter: “I wrote an thing: How Scrum disempowers developers (and destroyed Agile)”:

The article is at [WayBack] Lambda Cambridge – How Scrum destroyed Agile and part two is at [WayBack] Lambda Cambridge – How Scrum disempowers developers (and destroys agile) already mentioning part three, so it is indeed becoming a series.

Read the rest of this entry »

Posted in Agile, Development, Scrum, Software Development | Leave a Comment »

Need to check out which weather widgets I can get working for a really long period of time with a refresh every minute.

Posted by jpluimers on 2018/07/13

Need to check out which weather widgets I can get working for a really long period of time with a refresh every minute. [WayBackJeroen Pluimers on Twitter: “@Weerplaza ik heb via de widgets op https://t.co/DvF9tucAi9 een pagina voor mijn verstandelijk beperkte broer gemaakt op https://t.co/se9wAjJhaU Na maanden OK, gaan helaas de widgets van WeerPlaza daar niet meer goed. Komt het omdat de page-refresh (1x per minuut) te hoog is?… https://t.co/NX9XTj04Gq”

These will help me fix that:

–jeroen

Posted in Development, HTML, Software Development, Web Development | Leave a Comment »

PlasticSCM: seriously? Comment size too long (which means your checkin message is too long), and why can’t I request a code review?

Posted by jpluimers on 2018/07/13

Good job PlasticSCM! Imposing limits on what you can write. Not!

It is not actually the comment size, but the commit message length (naming things consistently is hard).

---------------------------
Error
---------------------------
Comment size is too long. Its current length is 2397, whereas the maximum allowed length is 1000
---------------------------
OK
---------------------------

This after I had a big fight where the PlasticSCM “Undo Unchanged” action is unreliable: after that, if you refresh, then diff some of the files they show as “idental”, nor nothing at all happens (Beyond Compare is if big help showing “files are binary the same”).

After the commit (which is actually called “Checkin” in the UI button, so far for naming things consistently), I cannot even request for a code review:

Finally I need to find out the cause of the below message when I click on “Checkin” (i.e. not Checkout):

---------------------------
Error
---------------------------
Can't perform a checkout in an edited xlink.
---------------------------
OK
---------------------------

/rant

–jeroen

Twitter threads:

https://twitter.com/TheRealMig_El/status/1017813424078802950

 

Posted in Development, PlasticSCM, Software Development, Source Code Management | Leave a Comment »

CodeRage 8 replays: REST stuff

Posted by jpluimers on 2018/07/12

It seems I forgot to schedule this post, as it was still in the drafts.. So here it is for historic purposes. Likely a few links have died by now.

Last year I could not make it to CodeRage 8 as I was prepping for EKON 17 and ITDevCon 2013.

But there were some nice presentations, some of which I really wanted to see again.

So I was glad to have found the CodeRage 8 Replayshttp://www.youtube.com/playlist?list=PLwUPJvR9mZHiaYvH9Xr7WuFCVYugC4d0w.

Especially for these sessions as REST support is an under-marketed aspect of Delphi XE5:

And a few others as well:

–jeroen

Posted in Delphi, Development, Software Development | 2 Comments »

The Relationship between Static Analysis and Continuous Testing – DaedTech

Posted by jpluimers on 2018/07/12

You need both, no matter what software development environment you use: [WayBack] The Relationship between Static Analysis and Continuous Testing – DaedTech

Via: [WayBack] The Relationship between Static Analysis and Continuous Testing – DaedTech – Marjan Venema – Google+

–jeroen

Posted in Development, Software Development | Leave a Comment »

Delphi TList.Grow and TStringList.Grow perform differently

Posted by jpluimers on 2018/07/12

Just as a reminder to self: the non-generic TStringList and TList grow way less aggressive than the generic TList:

  • TList.Grow and TStringList.Grow:
    • 4, 8, 12, 28, 44, 60, 76, 95, 118, 147, 183, 228, 285, 356, 445, 556, 695, 868, 1085
  • Generic TList growth via TListHelper.InternalGrow:
    • 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024

Sources:

–jeroen

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