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

Archive for the ‘Software Development’ Category

GitHub – adaloveless/commonx: Delphi/Object Pascal Classes and Tools for just about everything and everyone.

Posted by jpluimers on 2020/07/21

Warning: I posted this without doing a proper copyright check on the linked github repository, and it looks like this library heavily copies code from copyrighted materials.

So better not use them, for one because they contain copyrighted material, and also because the copyrighted units are not current.

At least these units are Copyright by Embarcadero:

Androidapi.JNI.Environment.pas:4:{ Copyright(c) 2014 Embarcadero Technologies, Inc.      }
Better_JSON.pas:5:{ Copyright(c) 2016 Embarcadero Technologies, Inc.      }
Bluetoothcomponentthreaded.pas:4:{ Copyright(c) 2016 Embarcadero Technologies, Inc.      }
FMX.Better.Controls.pas:5:{ Copyright(c) 2011-2013 Embarcadero Technologies, Inc. }
FMX.Better.ListBox.pas:5:{ Copyright(c) 2011-2013 Embarcadero Technologies, Inc. }
Generics.Collections.Fixed.pas:5:{ Copyright(c) 1995-2014 Embarcadero Technologies, Inc. }
HTTPClient_2019.pas:6:{ Copyright(c) 1995-2018 Embarcadero Technologies, Inc. }
InetWinSocketReg.pas:5:{ Copyright(c) 1995-2012 Embarcadero Technologies, Inc. }
pngimage_fmx.pas:5:{ Copyright(c) 1995-2014 Embarcadero Technologies, Inc. }
SocketsEditor.pas:5:{ Copyright(c) 1995-2012 Embarcadero Technologies, Inc. }

Read the rest of this entry »

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

Git install tip for Windows installations: “”

Posted by jpluimers on 2020/07/21

When installing Git on Windows, you might want to change the default HTTPS transport back-end setting into “Use the Windows Secure Channel library” as it will use the Windows Certificate Stores for certificate validation. For Windows users, this allows for a more natural way to configure additional Root CS certificates (for instance the ones coming from Active Directory Domain Services).

If you later want to change this, then you can either re-run the installer, or perform these commands (based on the installer source):

To select the OpenSSL library:

config --system http.sslBackend openssl

To select the Windows Secure Channel library:

config --system http.sslBackend schannel

I do need to check out other ways of installing it (more on that in [WayBack] 5 Ways to Install Git on Windows · James Sturtevant), but for now I’m using the regular installer.

At first time install (subsequent installs will re-use the first-time install location without a way to overwrite them):

  • If you run that “As Administrator”, then it will install for all users (64-bit in C:\Program Files\Git, 32-bit in C:\Program Files (x86)\Git)
  • Otherwise in %LOCALAPPDATA%\Programs\Git which usually is in C:\Users\<username>\AppData\Local\Programs\Git).

Note that the actually executables are inside a bin subdirectory of the installation path.

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management | Leave a Comment »

Operant Conditioning by Software Bugs – Embedded in Academia

Posted by jpluimers on 2020/07/21

Good to remember both these:

[WayBack] Operant Conditioning by Software Bugs – Embedded in Academia which means when using a system, you subconsciously start behaving around it’s issues. This also happens when you the software you wrote the software for such a system: you hardly test the things that you broke.

The magic SysReq key on Linux systems running on PC-hardware allows you to sync/mount read-only/shutdown a system by keyboard (and many more options – see the Wikipedia list below). Do not forget to enable this as it is disabled by default. And remember that many laptops forego the SysReq key (as do Mac systems).

The order while holding Alt-SysReq down is S,U,B…

Both via [WayBack] Kristian Köhntopp – Google+

–jeroen

Read the rest of this entry »

Posted in *nix, *nix-tools, Development, Keyboards and Keyboard Shortcuts, Power User, Software Development, ThinkPad | Leave a Comment »

logging facility in Synopse seems to be an interesting alternative to JclDebug. Need to check out how they differ in looking up the method name for tracing.

Posted by jpluimers on 2020/07/15

On my todo list, as Synops is updated more often than JCL: [WayBack] The logging facility in Synopse seems to be an interesting alternative to JclDebug: According to this StackOverflow answer, one of its features is looki… – Thomas Mueller (dummzeuch) – Google+

–jeroen

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

SAFECode updates its guide on best secure software development practices – SD Times

Posted by jpluimers on 2020/07/15

Interesting to see is how much is not about actual coding, but of tooling, testing, processes, operations and mindset.

[WayBackSAFECode updates its guide on best secure software development practices – SD Times

PDF: [WayBack] SAFECode releases Fundamental Practices for Secure Software Development: Essential Elements of a Secure Development Life Cycle Program (Third Edition).

Table of Contents:

Page;Topic
 4; Executive Summary
 5; Introduction
 5;  Audience
 6; SAFECode Guidance and Software Assurance Programs
 7; Application Security Control Definition
 7;  Actively Manage Application Security Controls
 9; Design
 9;  Secure Design Principles
10;  Threat Modeling 
11;  Develop an Encryption Strategy
12;  Standardize Identity and Access Management
14;  Establish Log Requirements and Audit Practices  
15; Secure Coding Practices
15;  Establish Coding Standards and Conventions
15;  Use Safe Functions Only
17;  Use Code Analysis Tools To Find Security Issues Early
17;  Handle Data Safely 
20;  Handle Errors 
21; Manage Security Risk Inherent in the Use of Third-party Components
22; Testing and Validation
22;  Automated Testing
24;  Manual Testing
27; Manage Security Findings 
27;  Define Severity
28;  Risk Acceptance Process. 
29; Vulnerability Response and Disclosure
29;  Define Internal and External Policies
29;  Define Roles and Responsibilities
30;  Ensure that Vulnerability Reporters Know Whom to Contact 
30;  Manage Vulnerability Reporters
30;  Monitor and Manage Third-party Component Vulnerabilities 
31;  Fix the Vulnerability
31;  Vulnerability Disclosure
32;  Secure Development Lifecycle Feedback  
33; Planning the Implementation and Deployment of Secure Development Practices
33;  Culture of the Organization 
33;  Expertise and Skill Level of the organization 
34;  Product Development Model and Lifecycle
34;  Scope of Initial Deployment
35;  Stakeholder Management and Communications
35;  Compliance Measurement 
36;  SDL Process Health
36;  Value Proposition.
37; Moving Industry Forward
37;  Acknowledgements
38;  About SAFECode

–jeroen

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

“error: invalid object 100644” “git svn”

Posted by jpluimers on 2020/07/14

A while back, while using “git svn”, on a Windows system, I got [Archive.is“error: invalid object 100644” “git svn” – Google Search after statements like this:

# git svn rebase
error: refs/remotes/git-svn does not point to a valid object!
error: invalid object 100644 ac7df132f5bd7d639fc525f1f0204a546658d0c5 for 'Source/ToDoList/GX_ToDo.pas'
fatal: git-write-tree: error building trees
write-tree: command returned error: 128

# git svn fetch
error: refs/remotes/git-svn does not point to a valid object!
error: invalid object 100644 ac7df132f5bd7d639fc525f1f0204a546658d0c5 for 'Source/ToDoList/GX_ToDo.pas'
fatal: git-write-tree: error building trees
write-tree: command returned error: 128

In my case, regular git operations (like branching, committing, pushing, etc) worked fine, but git svn would fail.

One problem was that [Archive.is“error: refs/remotes/git-svn does not point to a valid object” – Google Search only returned one un-meaningful result: [WayBack] gist:87613 · GitHub.

Luckily, I had a backup (though it was from a while ago as that VM had not been in use for quite some time) which is the first part in [WayBack] Git FAQ – Git SCM Wiki: How to fix a broken repo?.

Since I was still interested finding out how to resurrect, just in case this happens at a time the backups do not go back far enough, I tried the steps below.

The very first fixing step is to ensure you can quickly restore things, or even better: operate on a copy of the broken pieces. On Windows, robocopy /mir is my friend for this, in Linux rsync -avloz (although on some systems, -z crashes).

TL;DR from the fixing steps

Find out what problems you have, and in which order to fix them. Otherwise you will break more stuff and take longer to fix it.

In this case, two things failed: one on the git side, and one on the git svn side. Since git svn depends on git, the best approach is to fix the git problem first, then the git svn thing.

Fixing this manually try 1

Read the rest of this entry »

Posted in CertUtil, Development, DVCS - Distributed Version Control, git, Hashing, md5, Power User, Security, SHA, SHA-1, SHA-256, SHA-512, Software Development, Source Code Management, Subversion/SVN, Windows | Leave a Comment »

Is WCF faster than ASP.NET Core? Of course not! Or is it?

Posted by jpluimers on 2020/07/14

Interesting:

How does WCF, a 13-year-old mega-abstraction framework hold up against the modern, lean, ASP.NET Core? You’d be surprised.

Source: [WayBackIs WCF faster than ASP.NET Core? Of course not! Or is it?

Via: [WayBack] Interesting read! – Ondrej Kelle – Google+

–jeroen

Posted in .NET, Development, Software Development | Leave a Comment »

linux – How do I use sudo to redirect output to a location I don’t have permission to write to? – Stack Overflow

Posted by jpluimers on 2020/07/09

Various ways are explained at [WayBack] linux – How do I use sudo to redirect output to a location I don’t have permission to write to? – Stack Overflow.

Some are for simple commands and can be a one liner (for instance using tee, or executing a secondary shell).

Others are more suited for longer command sequences.

–jeroen

Posted in *nix, *nix-tools, bash, bash, Development, Power User, Scripting, Software Development | Leave a Comment »

delphi – How to reset the download when the GetIt package manager fails? – Stack Overflow

Posted by jpluimers on 2020/07/08

Since GetIt is hardly, if at all documented, but has quite a few of problems, I will likely need to use this another time: [WayBack] delphi – How to reset the download when the GetIt package manager fails? – Stack Overflow

TL;DR:

Luis Navarro from Embacadero just explained to me:

Close the IDE, then delete the OmniThread folder from MyDocuments\Embarcadero\Studio\17.0\CatalogRepository After that, you have to edit the registry and delete also the Omnithread folder from HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\17.0\CatalogRepository\Elements

Related: [RSP-12387] GetIt does not reset the download when Delphi crashes whilst downloading. – Embarcadero Technologies

Via:

–jeroen

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

Virtual Machine Serial Console access | Blog | Microsoft Azure

Posted by jpluimers on 2020/07/08

Reminder to self: out of band access (some older Windows images need extra work; it works out of the box for Linux and more recent Windows images) [WayBackVirtual Machine Serial Console access | Blog | Microsoft Azure.

Related: [WayBack] Azure virtual machine serial console | Microsoft Docs Bi-Directional serial console for Azure virtual machines (aka.ms/serialconsolehelp).

Via: [WayBack] Microsoft Serial Console: how to fix a ‘broken’ cloud – Open Source Insider

–jeroen

 

Posted in Azure Cloud, Cloud, Cloud Development, Development, Infrastructure, Power User, Software Development, Windows Azure | Leave a Comment »