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

Archive for the ‘Software Development’ Category

Git history in Visual Studio Code

Posted by jpluimers on 2020/11/04

Out of the box, Visual Studio Code does allow you to pull from and commit/push to git repositories, but it has not much more git support.

These two marketplace extensions will help big time:

I like GitLens most as it covers so much more than just git history.

If you only need git history access, then you can use Git History as well.

More information and a better comparison:

–jeroen

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

Mikrotik Remote Access via Multiple WAN Links | Syed Jahanzaib Personal Blog to Share Knowledge !

Posted by jpluimers on 2020/11/04

Multi-WAN routing always involves marking incoming connections to the replies go out on the same connection: [WayBack] Mikrotik Remote Access via Multiple WAN Links | Syed Jahanzaib Personal Blog to Share Knowledge !

# Mirkotik IP Firewall Mangle Section
/ ip firewall mangle
# Mark traffic coming via WAN-1 link
add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=WAN1_incoming_conn
# Mark traffic coming via WAN-2 link
add chain=input in-interface=WAN2 action=mark-connection new-connection-mark=WAN2_incoming_conn
# Mark traffic routing mark for above marked connection for WAN-1 , so that mikrotik will return traffic via same interface it came in
add chain=output connection-mark=WAN1_incoming_conn action=mark-routing new-routing-mark=to_WAN1
# Mark traffic routing mark for above marked connection for WAN-2, so that mikrotik will return traffic via same interface it came in
add chain=output connection-mark=WAN2_incoming_conn action=mark-routing new-routing-mark=to_WAN2
# Finally Add appropriate routes in ROUTE section
/ ip route
add dst-address=0.0.0.0/0 gateway=1.1.1.2 routing-mark=to_WAN1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=2.2.2.2 routing-mark=to_WAN2 check-gateway=ping

Related:

–jeroen

Posted in Development, Internet, MikroTik, Power User, RouterOS, routers, Scripting, Software Development | Leave a Comment »

Pointers are dangerous – twm’s blog

Posted by jpluimers on 2020/11/04

TL;DR

  1. Do not keep pointers to objects in memory that can be relocated.
  2. SetLength can relocate the memory

[WayBack] Pointers are dangerous – twm’s blog

Via: [WayBack] Pointers can be really helpful, especially they can improve performance and readability, but they are also dangerous. I spent nearly a day tracking down… – Thomas Mueller (dummzeuch) – Google+

–jeroen

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

Plastic SCM blog: Unified diff of a branch

Posted by jpluimers on 2020/11/03

Too bad I bumped into this a long time after having been a regular PlasticSCM user: [Archive.is] Plastic SCM blog: Unified diff of a branch:

Learn how to create a custom action to run a unified diff operation for a Plastic SCM branch.

It is an open source tool called unifiedbranchdiff.exe at github, and seems based on a cm path for getting paths, and cm patch for generating the actual patch, and needing external GNU tools diff and patch (hopefully it also works with more recent versions than the woefully outdated 2007 Win32 versions of [WayBack] DiffUtils 2.8.7 for Windows and [WayBack] Patch 2.5.9 for Windows).

Related:

–jeroen

 

 

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

html – Is it possible to specify a starting number for an ordered list? – Stack Overflow

Posted by jpluimers on 2020/11/03

Since I keep forgetting this has been possible since the introduction of html 5: [WayBack] html – Is it possible to specify a starting number for an ordered list? – Stack Overflow:

If you need the functionality to start an ordered list (OL) at a specific point, you’ll have to specify your doctype as HTML 5; which is:

<!doctype html>

With that doctype, it is valid to set a start attribute on an ordered list. Such as:

<ol start="6">
  <li>Lorem</li>
  <li>Ipsum</li>
  <li>Dolor</li>
</ol>

–jeroen

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

Since Delphi still does not include a TDateTimeHelper: use the one by colini which has tests

Posted by jpluimers on 2020/11/03

These are quite OK: [WayBack] GitHub – colinj/TDateTimeHelper: Helper record for TDateTime type in [WayBack] DateTimeHelper.pas with DUnitX tests in [WayBackTDateTimeHelper.Tests.pas.

Via: [WayBackDoes Delphi XE 10.2.2 ship with type helpers for TDateTime type? Or do I need to implement my own. – Graeme Geldenhuys – Google+.

It got even promoted at [WayBack] Delphi XE3: Record Helpers for Intrinsic Types.

–jeroen

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

Thread by @doctorow on the RIAA using DMCA section 1201 to ban youtubedl from GitHub

Posted by jpluimers on 2020/10/31

A very interesting thread by @doctorow:

Late last week, the @RIAA sent a legal threat to @Github, claiming that the popular (and absolutely lawful) tool #youtubedl (which allows users to download Youtube videos for offline viewing, e……

Source: [WayBack] Thread by @doctorow on Thread Reader App – Thread Reader App

More on section 1201: [Wayback] Pluralistic: 24 Oct 2020 – Pluralistic: Daily links from Cory Doctorow: RIAA kills youtubedl

There is also a great technical analysis at [Wayback/Archive.is] Analysis of the RIAA claims against youtube-dl · GitHub

This write-up follows the code paths in youtube-dl that get executed when you try to run it based on the claims of RIAA has put forwardThis is a technical analysis, not a legal one.

via

–jeroen

Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, GitHub, Opinions, Power User, Software Development, Source Code Management | Leave a Comment »

Some links on assembling a proper Katalon .gitignore file

Posted by jpluimers on 2020/10/29

I used these links to find out what entries a Katalon .gitignore file should contain:

Combining the above, the .gitignore file needs to at least contain:

/.classpath
/.project
/.settings
bin/lib/
Libs/
/bin
/Libs
.settings
.classpath
settings/internal
/.svn
/bin/lib/Temp*.class
Reports/
.project
/libs/Temp*.groovy
bin/lib/
bin/keyword/

(funny that .svn should be in a .gitignore file and that various combinations of casing are used)

–jeroen

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

Learned about the {$EXTENSION zzz} or {$E zzz} Delphi directive: {$EXTENSION yyy.zzz} fails

Posted by jpluimers on 2020/10/29

I totally missed that this has been added in Delphi a long time ago (at least in Delphi 2007 or maybe even before): the {$EXTENSION zzz} or {$E zzz} Delphi directive that sets the file extension of the output: [WayBack] Executable extension (Delphi 2007)

[WayBack] Executable extension (Delphi 10.3 Rio) – RAD Studio explains this is equivalent to using the -TZ

The documentation explains the zzz to be a string, but in practice, using {$EXTENSION yyy.zzz} and {$E yyy.zzz} fail:

[WayBack] Little funny bug… I wanted to quickly make two x86 EXE builds, with 3GB and normal 2GB of available memory. Just to pass it for heavy testing, as 3rd… – Arioch The – Google+ explains how to use this as a trick to have a different extension for 3GB aware compiled 32-bit executables:

{$DEFINE g3} // or obvious {.$DEFINE g3}
{$IFDEF g3}
  {$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}
  {$EXTENSION 3GB.EXE}
{$ENDIF}

This kind of work in XE2 but with two funny bugs:

  1. the IDE ignores it and shows filename.exe in the compile progress dialog
  2. linker partially ignores it and creates filename.4gb instead of filename.3gb.exe

I did know about the various $LIBxxx directives that were introduced in Delphi 2009 when it [WayBack] was released in 2008.

Related:

One day, I might create an overview of which directives are valid in what Delphi versions. That would be a big change of List-Delphi-Installed-Packages.ps1, which would need at least these:

–jeroen

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

FastMM PushAllocationGroup

Posted by jpluimers on 2020/10/29

Few people seem to know about the FastMM PushAllocationGroup method.

This search returned almost nothing: fastmm PushAllocationGroup -site:github.com -site:sourceforge.net -site:stackoverflow.com – Google Search.

These results were convoluted:

These posts were interesting though, but most of them did not get any deeper into the topic than “look at the FastMM source”:

There were the only post giving a bit more insight:

–jeroen

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