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

Fixing bind named messages like `lame-servers: network unreachable resolving ‘c.gtld-servers.net/AAAA/IN’: 2001:500:127::30#53`

Posted by jpluimers on 2019/11/15

When you see messages like below in your bind named.d logs then you’ve a Jekyll and Hyde network config: part of it says it supports IPv6, but in reality doesn’t as “2001:500:127::30” is the IPv6 of the generic TLD servers.

In my case a brain-dead TP-Link switch.

04-Dec-2016 13:05:48.008 lame-servers: network unreachable resolving 'c.gtld-servers.net/AAAA/IN': 2001:500:127::30#53
04-Dec-2016 13:05:48.008 lame-servers: network unreachable resolving 'd.gtld-servers.net/AAAA/IN': 2001:500:127::30#53
04-Dec-2016 13:05:48.008 lame-servers: network unreachable resolving 'e.gtld-servers.net/AAAA/IN': 2001:500:127::30#53
04-Dec-2016 13:05:48.008 lame-servers: network unreachable resolving 'f.gtld-servers.net/AAAA/IN': 2001:500:127::30#53
04-Dec-2016 13:05:48.008 lame-servers: network unreachable resolving 'g.gtld-servers.net/AAAA/IN': 2001:500:127::30#53
04-Dec-2016 13:05:48.009 lame-servers: network unreachable resolving 'h.gtld-servers.net/AAAA/IN': 2001:500:127::30#53
04-Dec-2016 13:05:48.009 lame-servers: network unreachable resolving 'i.gtld-servers.net/AAAA/IN': 2001:500:127::30#53
04-Dec-2016 13:05:48.009 lame-servers: network unreachable resolving 'j.gtld-servers.net/AAAA/IN': 2001:500:127::30#53
04-Dec-2016 13:05:48.009 lame-servers: network unreachable resolving 'k.gtld-servers.net/AAAA/IN': 2001:500:127::30#53
04-Dec-2016 13:05:48.009 lame-servers: network unreachable resolving 'l.gtld-servers.net/AAAA/IN': 2001:500:127::30#53
04-Dec-2016 13:05:48.009 lame-servers: network unreachable resolving 'm.gtld-servers.net/AAAA/IN': 2001:500:127::30#53
...
04-Dec-2016 13:24:13.500 lame-servers: network unreachable resolving './NS/IN': 2001:500:2f::f#53

A temporary solution is to run bind named.d in -4 mode (see examples for RHEL, CENTOS and OpenSuSE in the links below), but the actual solution is to get IPv6 working properly.

–jeroen

Posted in *nix, bind-named, Linux, Power User | Leave a Comment »

SQL Server Downloads | Microsoft

Posted by jpluimers on 2019/11/14

[WayBack] SQL Server Downloads | Microsoft

Get started with Microsoft SQL Server downloads. Choose a SQL Server trial, edition, tool, or connector that best meets your data and workload needs.

Downloading offline installers is the same for both: run the .EXE, then choose to download off-line media.

This is much easier than subscribing to Visual Studio Dev Essentials below.

Then depending on the edition, make the choice:

Read the rest of this entry »

Posted in Database Development, Development, Software Development, SQL Server | Leave a Comment »

Great Innovators Start with Customer Struggles (Not Customer Needs)

Posted by jpluimers on 2019/11/14

Two very important quotes of a must-read article (reading of it takes ~5 minutes):

  • Teams create the most value for customers when they know the difference between customer needs and struggles
  • If we align our mental model to needs, we are missing opportunities to solve the underlying struggles in innovative ways.

Source: [Archive.isGreat Innovators Start with Customer Struggles (Not Customer Needs)

Via: [WayBack] Talking in terms of what customers need, limits options. Great Innovators Start with Customer Struggles (Not Customer Needs) – Marjan Venema – Google+

–jeroen

Read the rest of this entry »

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

TTreeView: when HideSelection=True, use SetFocus() to update the current Selected state

Posted by jpluimers on 2019/11/14

Reminder to self: corner case, but sometimes useful. [WayBack] EDIT: Answered. The TTreeView.HideSelection was set to TRUE, so you needed TTreeView.SetFocus() to reflect in the UI the current state of TTreeView.sele… – Vin Colgin – Google+

–jeroen

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

Links to alternatives for Delphi REST clients

Posted by jpluimers on 2019/11/13

A few good links to a few alternatives for the built in Delphi REST client [WayBack] Hi looking for good and complete tutorial/course how to create RESTFul services with Delphi. Or if anyone use Delphi for creating RESTFul services feedb… – Gordan Paunovic – Google+

–jeroen

Posted in Communications Development, Delphi, Development, HTTP, Internet protocol suite, JSON, REST, Software Development, TCP | Leave a Comment »

MeanWell Mini Switching Power Supplies May Be Useful for Development Boards

Posted by jpluimers on 2019/11/13

Great power supplies that provide a very stable power source and are adjustable too: [WayBackMeanWell Mini Switching Power Supplies May Be Useful for Development Boards

Via: [WayBack] Tiny Meanwell switch mode power supplies that should provide a good (i.e. reliable) power source for development boards. https://www.cnx-software.com/2… – Jean-Luc Aufranc – Google+

–jeroen

Posted in Development, Hardware Development | 1 Comment »

A multi index container: TIndexedStore – Martin C Harvey’s Software Pages

Posted by jpluimers on 2019/11/13

For single-indexed containers, you can use a generic TDictionary, for instance one of these:

Reminder to self: check out if there is a generic version of [WayBackA multi index container: TIndexedStore – Martin C Harvey’s Software Pages anywhere.

Edit 20191220 (thanks Thaddy!) article moved to [WayBack] A multi index container: TIndexedStore – Martin C Harvey’s Pages.

For instance as part of:

The original library has source code in a [WayBack] zip file.

Edit 20191220 (thanks Thaddy!) download moved to [WayBack] IndexedStore.zip.

I got there via:

–jeroen

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

Links to debugging COM stuff for Office Automation in Delphi

Posted by jpluimers on 2019/11/12

From a long time ago, but recently I needed them again.

Note the .NET side is much much harder Revisited from the .NET side: Why doesn’t WINWORD.EXE quit after Closing the document from Delphi? (via: Stack Overflow).

[WayBack] Why doesn’t WINWORD.EXE quit after Closing the document from Delphi? – Stack Overflow

Read the rest of this entry »

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

Working in a team? DprojSplitter might be helpful! | The Art of Delphi Programming

Posted by jpluimers on 2019/11/12

Reminder to self: split off the user settings from a Delphi .dproj so only the non-user settings get into your version control system.

Some of you are probably already using my DprojNormalizer plugin for Delphi, which tries to reduce the unwanted differences disturbing your version control system. It does this by forcing a dedicat…

So what about them?
DprojSplitter handles the current build configuration and current platform. In addition these settings are handled, too (found in CommonOptionStrs):

sDebugger_RunParams,
sDebugger_RemoteRunParams,
sDebugger_HostApplication,
sDebugger_RemotePath,
sDebugger_RemoteHost,
sDebugger_EnvVars,
sDebugger_SymTabs,
sDebugger_Launcher,
sDebugger_RemoteLauncher,
sDebugger_IncludeSystemVars,
sDebugger_UseLauncher,
sDebugger_UseRemoteLauncher,
sDebugger_CWD,
sDebugger_RemoteCWD,
sDebugger_RemoteDebug,
sDebugger_DebugSourcePath,
sDebugger_LoadAllSymbols,
sDebugger_LoadUnspecifiedSymbols,
sDebugger_SymbolSourcePath

Source: [WayBackWorking in a team? DprojSplitter might be helpful! | The Art of Delphi Programming

via: [WayBack] Oops! I did it again! This is my new IDE plugin – again targeted on dproj files. – Uwe Raabe – Google+

–jeroen

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

PowerShell: fixing `Get-HotFix` having empty `InstalledOn` entries

Posted by jpluimers on 2019/11/12

On some systems, Get-HotFix has many entries with an empty InstalledOn column.

This at least shows there is a date-format difference, but now the Source column is empty.:

Get-HotFix | Select-Object Source,Description,HotfixID,InstalledBy,InstalledOn,@{Name="InstalledOnValue";Expression={$_.psbase.properties["InstalledOn"].Value}} | Out-GridView

I contemplated using Microsoft.Update.Session in the scripts below, but it requires WinRM, the server side implementation of WS-Management – Wikipedia:

[ERROR] [DevMachine] Connecting to remote server DevMachine failed with the following
[ERROR] error message : The client cannot connect to the destination specified in the
[ERROR] request. Verify that the service on the destination is running and is accepting
[ERROR] requests. Consult the logs and documentation for the WS-Management service run
[ERROR] ning on the destination, most commonly IIS or WinRM. If the destination is the
[ERROR] WinRM service, run the following command on the destination to analyze and conf
[ERROR] igure the WinRM service: "winrm quickconfig". For more information, see the abo
[ERROR] ut_Remote_Troubleshooting Help topic.
[ERROR] + CategoryInfo : OpenError: (DevMachine:String) [], PSRemotingTr
[ERROR] ansportException
[ERROR] + FullyQualifiedErrorId : CannotConnect,PSSessionStateBroken

This is a reminder to find and document a proper fix for this.

This at least works:

Get-HotFix | Select-Object Source,Description,HotfixID,InstalledBy,InstalledOn,@{Name="InstalledOnDateTime";Expression={[System.DateTime]::Parse($_.PSBase.Properties["InstalledOn"].Value,[System.Globalization.CultureInfo]::GetCultureInfo("en-US"))}} | Out-GridView

Some links that hopefully help with proper documenting it:

–jeroen

Read the rest of this entry »

Posted in CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development | Leave a Comment »