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 October, 2020

Delphi icons to distinguish various Delphi versions

Posted by jpluimers on 2020/10/08

When installing many Delphi versions, all have similar icons. So I asked this a while ago: [WayBack] I remember someone creating version specific icons for Delphi a while ago (around XE4 era I think), but cannot find them any more. Anyone who can prov… – Jeroen Wiert Pluimers – Google+.

Luckily Achim Kalwa responded quickly with a set of icons he designed and put them up at https://drive.google.com/drive/folders/1VoYeMmsr6FYgoe9EkR-psrV7aPO7Gv-v

Hopefully by now I have had time to edit them for more Delphi versions (he had them for Delphi XE7 until 10.2 Tokyo).

Delphi XE2 and lower icons seem to be at [Archive.is] Delphi versions and icons, mortenbs.com

–jeroen

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

Configure IntelliSense (SQL Server Management Studio) | Microsoft Docs

Posted by jpluimers on 2020/10/08

Not sure why, but all of a sudden, SSMS did not code-complete any table or column names any more.

This shows where that setting is [WayBack] Configure IntelliSense (SQL Server Management Studio) | Microsoft Docs.

The odd thing: updating to a more fresh 17.x version solved the problem all by itself.

Anyway, you can change the settings under the section “All Languages”, “Transact-SQL” or “XML”, each in the “General” sub-section:

–jeroen

Posted in Database Development, Development, SQL, SQL Server, SSMS SQL Server Management Studio | Leave a Comment »

Some free test SOAP web service endpoint sites

Posted by jpluimers on 2020/10/08

In the past, [WayBack] WebserviceX.NET used to be a great reference for publicly accessible SOAP web-services. Nowadays their listing contains ~2K of entries marked as DISCONTINUED in [WayBack] WebserviceX.NET API catalogue.

So below are a few sites mentioning web-services that have worked for me. No guarantee however they still work (:

Maybe I’m going to provide something myself.

–jeroen

Posted in Development, SOAP/WebServices, Software Development | Leave a Comment »

UTC is Enough for Everyone, Right?

Posted by jpluimers on 2020/10/07

A very long read, worth every minute: [WayBackUTC is Enough for Everyone, Right? on Programming with dates, times, and timezones is hard. But here’s some help.

It covers a truckload of topics, like the history of time, the use of time zones, storing and transmitting time, user experience (like displaying and entering time), events, duration and much more.

Via: [WayBack] UTC is enough for everyone… right? If you have some time on your hands, you might find this rather long article quite interesting and, possibly, entertaining… – Kevin Powick – Google+

–jeroen

 

Posted in Development, Software Development | Leave a Comment »

Reverse engineering Delphi and Turbo Pascal unit interfaces (and maybe DCP files too)

Posted by jpluimers on 2020/10/07

Boy, I wish there was both an Embarcadero sanctioned grammar (see Delphi code completion fail with anonymous methods – Stack Overflow) and a DCU parser.

This might work for DCP files as well, since the PKX0 signature at the start of DCP files is in [WayBack] DCU32INT/DCP.pas at master · rfrezino/DCU32INT · GitHub.

Being able to dump DCP files makes it way easier to create documenting a matrix of all DCP files and units, to their interdependencies and containments become clear (including any unit scopes).

Right now that is only documented from the unit to the package on the page of the unit (see for instance [WayBack] System.SysUtils – RAD Studio API Documentation), not the other way around. This is a pain to select which packages you need in your project when building with packages.

The list at [WayBack] Unit List – RAD Studio API Documentation (which actually is an “Alphabetical list of unit scopes, along with miscellaneous units that have no unit scope.” is only partially helpful, especially as for instance the System unit page at [WayBack] System – RAD Studio API Documentation is 90% about the System unit scope, has the System unit itself about a 3rd down and does not mention it lives in the rtl.dcp package.

The list at [WayBack] Deciding Which Runtime Packages to Use – RAD Studio is even worse than the unit list, as it misses many useful packages (like dsnap)

For my link archive:

Johan wanted to create a compiler symbol table from the binary DCU files (unlike DelphiAST which does it from the Pascal source files).

From the pre-Delphi era, I found back some info from my own archive:

In the Turbo Pascal days, you had TW1UNA and TPUUNA by William L. Peavy, which I think led to INTRFC from Duncan Murdoch (or maybe vice versa) which got updated to Turbo/Borland Pascal 7 format by Milan Dadok (see [Wayback/Archive] http://sources.ru/pascal/hacker/intrfc70.htm). Since the basic format of DCU files is very similar to that, my guess is that DCU32INT built on that.

Later I found [Wayback/Archive] The Programmer’s Corner » TPU60C.ZIP » Pascal Source Code also by William L. Peavy and Wayback/Archive] Duncan Murdoch’s Programs .

Edit 20220621:

  • moved the www8.pair.com links to murdoch-sutherland.com
  • added more Wayback and Archive links

–jeroen

Posted in Borland Pascal, Conference Topics, Conferences, Delphi, Development, Event, History, Pascal, Software Development, Turbo Pascal | Leave a Comment »

Naming: avoid abbreviations and acronyms in identifiers

Posted by jpluimers on 2020/10/07

I see lots of code using abbreviations. Please avoid those, just like many development stacks urge you to do so.

Two important reasons:

  1. avoid confusion
  2. make it easier to read code (you read code far more often than you write code)

This is not limited to the software development field; for similar reasons, the medical field also limits the use of abbreviations and acronyms:

Read the rest of this entry »

Posted in Conference Topics, Conferences, Development, Event, Software Development | Leave a Comment »

Learn How To Debug JavaScript with Chrome DevTools – codeburst

Posted by jpluimers on 2020/10/06

Long read for later: [WayBack] Learn How To Debug JavaScript with Chrome DevTools – codeburst

Ditch console.log debugging once and for all! Learn how to use breakpoints to debug code within the Chrome Developer Tools

Via: [WayBack] Learn How To Debug JavaScript with Chrome DevTools… – Lars Fosdal – Google+

–jeroen

Posted in Chrome, Development, Google, JavaScript/ECMAScript, Power User, Scripting, Software Development | Leave a Comment »

golang – joining a URI (either with our without terminating slash) with a URI part

Posted by jpluimers on 2020/10/06

path.Join is for file paths, which will call path.Clean and malform the path by converting double slash in front of the authority in a URI into a single slash.

The workaround is to parse the URI, then join the path bit.

One day I will encapsulate all that.

Some relevant bits for when I write that encapsulation:

–jeroen

Posted in Development, Go (golang), Software Development | Leave a Comment »

Oval car stickers – translating to ISO 3166-1

Posted by jpluimers on 2020/10/06

A while ago, I had to translate from the country codes used on cars to ISO country codes, so here are a few links:

–jeroen

 

 

Posted in Development, LifeHacker, Power User, Software Development | Leave a Comment »

Logging request body in HAProxy · GitHub

Posted by jpluimers on 2020/10/05

I will likely need this one day: [WayBack] Logging request body in HAProxy · GitHub.

Related:

–jeroen

Read the rest of this entry »

Posted in *nix, Development, HAProxy, Power User, Software Development | Leave a Comment »