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

Two Ways of Solo Programming – Seaside Testing

Posted by jpluimers on 2023/09/05

Food for thought from Stephan Kämper: [Wayback/Archive] Two Ways of Solo Programming – Seaside Testing

TL;DR:

  • it is about the time in between paid projects
  • mode 1: learning; each day ends with a working state (compiling source, passing tests)
  • mode 2: personal projects (libraries, tools); each day ends with a failing test as a guidance what to keep working on

The last one refers to [Wayback/Archive] Try ending today with a failing test for a great start tomorrow – DEV Community by [Archive] Nick Holden (@NickyHolden) / Twitter.

Via: [Wayback/Archive] Stephan Kämper on Twitter: “A new short-ish blog post about two slightly different ways of programming, when work ‘solo’ ➙ …” / Twitter

–jeroen

Posted in Agile, Awareness, Development, Software Development, TDD, Testing | Leave a Comment »

open source – What are the legal considerations when forking a BSD-licensed project? – Software Engineering Stack Exchange

Posted by jpluimers on 2023/08/31

Someone pointed me to the answer of [Wayback/Archive] open source – What are the legal considerations when forking a BSD-licensed project? – Software Engineering Stack Exchange by [Wayback/Archive] Earlz (question by [Wayback/Archive] Thomas Owens):

The common thing I see to handle this is basically using some kind of version control and when a file is changed by a large amount, adding a copyright header.
For instance, in OpenBSD I believe they follow a convention like this:
--top of file--
[copyright header of recent "major" editor]

[copyright header of previous major editor]

[copyright header of creator]
(where copyright header is BSD license or whatever)
This handles the copyright issue for the most part. Basically anytime a major edit is done on a file, a copyright header will be added. Major is subjective, but usually involves more than trivial refactoring or porting.

Which meant that some copyrights had to be updated at [Wayback/Archive] Update copyrights · Issue #37 · jpluimers/fritzcap · GitHub

–jeroen

Posted in Development, Open Source, Software Development | Leave a Comment »

Jan-Piet Mens :: A shell command to create JSON: jo

Posted by jpluimers on 2023/08/30

Stumbled across something that goes well with jq (the sed for JSON of which I wrote about before), [Wayback/Archive] Jan-Piet Mens :: A shell command to create JSON: jo:

Read the rest of this entry »

Posted in Development, JavaScript/ECMAScript, jo, jq, JSON, Scripting, Software Development | Leave a Comment »

.NET/C#: Small command-line tool to query REST JSON results from a batch file.

Posted by jpluimers on 2023/08/29

Often the power is in the combinations of tools.

Read until the epilogue…

Prologue

In this case, I needed to be able to query the JSON results of calls to REST services from the command-line so I could process them in Batch files.

Since I could not find anything readily available, I originally Originally I opted for the PowerShell command-line scripting tool, as that ships with recent Windows versions and can re-use anything that .NET brings. But though [Wayback/Archive] .NET has built in JSON serialization support, there is [Wayback/Archive] no querying support in it.

Then I thought about Delphi, as it [Wayback/Archive] too has a built-in JSON parser, but even the well known [Wayback/Archive] JSON SuperObject library has no query support.

Back to .NET, which – like Delphi – has a well known and respected third party JSON library as well: [Wayback/Archive] NewtonSoft JSON aka JSON.net and that one [Wayback/Archive] does have support for querying JSON with the SelectToken function.

That’s the fundament of the rest of this article, with the potential to be used in a cross-platform as well.

So no need for a plan B.

Read the rest of this entry »

Posted in *nix, *nix-tools, .NET, Batch-Files, Conference Topics, Conferences, Development, Event, JavaScript/ECMAScript, jq, JSON, Power User, Scripting, Software Development, Windows, Windows Development | Leave a Comment »

Only 2 weeks left to enable 2FA for your GitHub account

Posted by jpluimers on 2023/08/29

If you haven’t done so already, then enable 2FA for your GitHub account now: This will be a requirement in 2 weeks time.

The 2FA/MFA possibility started about half a year ago with [Wayback/Archive] Raising the bar for software security: GitHub 2FA begins March 13 – The GitHub Blog

You can have various means of 2FA, which al start with a choice between:

After completing either of those those, you can view/download a set of backup codes, and you can add more factors to your Multi-factor authentication setup up to these:

Read the rest of this entry »

Posted in 2FA/MFA, Authentication, Development, DVCS - Distributed Version Control, git, GitHub, Power User, Security, Software Development, Source Code Management | Leave a Comment »

Email Handling and vBulletin Cloud – vBulletin Community Forum

Posted by jpluimers on 2023/08/25

For my link archive: [Wayback/Archive] Email Handling and vBulletin Cloud – vBulletin Community Forum.

  • Asking your end users to white list your email address and the Sendgrid IP (167.89.58.99) can help alleviate the issues.

I didn’t know the above but bumped into an issue because I didn’t know a supplier had moved to vBulletin Cloud, my account password stopped being accepted and my account password reset messages would not arrive.

So I wrote this as part of a mail to sort this out, and it was confirmed to be correct:

Then I re-checked a few connection refusals that appeared close to the password reset tries. Not sure if this a pattern, but a few of them had this:
2022-02-20T19:41:42.999415+01:00 snap sendmail[24314]: NOQUEUE: connect from o1678958x99.outbound-mail.sendgrid.net [167.89.58.99]
2022-02-20T19:41:43.015958+01:00 snap sendmail[24314]: NOQUEUE: dns 99.58.89.167.bl.spamcop.net. => 127.0.0.2
2022-02-20T19:41:43.016442+01:00 snap sendmail[24314]: ruleset=check_relay, arg1=o1678958x99.outbound-mail.sendgrid.net, arg2=127.0.0.2, relay=o1678958x99.outbound-mail.sendgrid.net [167.89.58.99], reject=553 5.3.0 Spam blocked see: http://spamcop.net/bl.shtml?167.89.58.99
2022-02-20T19:42:29.527789+01:00 snap sendmail[23814]: 21KIeTfo023814: engine10.uptimerobot.com [69.162.124.231] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
From the linked page I got to https://www.spamcop.net/w3m?action=blcheck&ip=167.89.58.99 indicating

167.89.58.99 listed in bl.spamcop.net (127.0.0.2)

If there are no reports of ongoing objectionable email from this system it will be delisted automatically in approximately 13 hours.

Causes of listing
  • System has sent mail to SpamCop spam traps in the past week (spam traps are secret, no reports or evidence are provided by SpamCop)

Express-delisting is not available

Listing History

In the past 44.4 days, it has been listed 12 times for a total of 13.3 days

Can you check if the forum software uses sendgrid?

The confirmation linked to the first post in this blog entry on how to whitelist the SendGrid outgoing IP-address.

One thing I wonder: why does SendGrid use a single outgoing IP-address? If it gets blacklisted, many of their clients have problems.

Anyway: before adding the entry to my whitelist, the problem had resolved itself, and the blacklist entries were done:

Related: [Wayback/Archive] Forum Move – Scooter Forums

We’ve moved our forums to vBulletin Cloud.

New forum URL: https://forum.scootersoftware.com/

Links to the old forum will be redirected to the new URL.

If you notice any problems after the move, please let us know.

[Wayback/Archive] Forums – Scooter Forums

–jeroen

Posted in Communications Development, Development, eMail, GMail, Google, Internet protocol suite, Power User, SMTP, SocialMedia | Leave a Comment »

Bruce Tate on Twitter: “What’s the most unique feature of your favorite programming language?”

Posted by jpluimers on 2023/08/24

For my link archive: [Wayback/Archive] Bruce Tate on Twitter: “What’s the most unique feature of your favorite programming language?” / Twitter

From the languages that I have been using most:

It was a kind of follow-up on his earlier tweet that also sparked nice responses at [Archive] Bruce Tate on Twitter: “What is a #programming technique or construct that other people like but you think is overused?” / Twitter.

In my respons I phrased my decades long pet peeve [Archive] Jeroen Wiert Pluimers on Twitter: “@redrapids OOP: inheritance over composition. This leads to deep hierarchies that eventually nobody understands.” / Twitter.

Whereas with OOP (object-oriented programming) one should use composition over inheritance, often the reverse is true.

Actually my take can be generalised into two directions as these hierarchies:

  1. often crowd a single namespace, so: crowding namespaces is bad.
    One does see this outside the Object Oriented realm a well.
  2. often have many levels of indirection, so: overdoing indirection is bad
    One does see this outside the Object Oriented realm a well, just not as pronounced.

–jeroen

Posted in .NET, C#, Conference Topics, Conferences, Delphi, Development, Event, JavaScript/ECMAScript, Pascal, Scripting, Software Development | Leave a Comment »

Some notes on the WordPress Press-This bookmarklet

Posted by jpluimers on 2023/08/23

I want to improve my WordPress blogging experience especially since most of the pages I link also have two extra links of the archived pages in the Wayback Machine and Archive.is.

The WordPress Press-This bookmarklet does not always cut it. It is slow too as it does a POST request to the WordPress site which then renders a new page.

It is also highly minified, so below are some links that will hopefully allow me to research it further to see if I either could improve it for my own workflow, or need to start from scratch.

I want to figure out:

  • what the values of the v= version parameter were (I know about v=8 and v=4, there are likely more)
  • which commits were involved
  • can I get more information (like summary, first heading or first paragraph of a page too)
  • what techniques are used for opening new windows/tabs

TODO: make diffs of the various versions

–jeroen

Posted in Bookmarklet, Development, JavaScript/ECMAScript, Power User, Scripting, SocialMedia, Software Development, Web Browsers, Web Development, WordPress, WordPress | Leave a Comment »

Bookmarklet to save a page both in the WayBack machine and Archive.is (ending on the latter to solve a reCAPTCHA)

Posted by jpluimers on 2023/08/22

TL;DR:

javascript:{h=location.href;open('https://archive.is/?run=1&url='+encodeURIComponent(h));location.href='https://web.archive.org/save/'+(h)}

Read the rest of this entry »

Posted in Bookmarklet, Development, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Browsers, Web Development | Leave a Comment »

SignalR and Design Patterns for .NET developers

Posted by jpluimers on 2023/08/22

https://leanpub.com/b/signalr-and-designpatterns-for-dotnet-developers/c/Ap5p8r8xJwd9

Via

Posted in .NET, Design Patterns, Development, R (statistics/graphics), Software Development | Leave a Comment »