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

Archive for the ‘Scripting’ Category

GitHub – pyscripter/pyscripter: Pyscripter is a feature-rich but lightweight Python IDE

Posted by jpluimers on 2020/04/28

Just in case I ever need to develop Python scripts on Windows (nowadays it’s mostly on Linux/BSD based systems):[WayBack] GitHub – pyscripter/pyscripter: Pyscripter is a feature-rich but lightweight Python IDE.

If you like that, you can (also) help with this project: [WayBack] PyScripter localization Translate PyScripter into your own language.

Via: [WayBack] The PyScripter IDE, which is written in Delphi is looking for translators. We have set up a translation project on transifex.com and would be happy if s… – Lübbe Onken – Google+

–jeroen

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

Use the Unofficial Bash Strict Mode (Unless You Looove Debugging)

Posted by jpluimers on 2020/04/22

[WayBack] Use the Unofficial Bash Strict Mode (Unless You Looove Debugging):

#!/bin/bash
set -euo pipefail
IFS=$'\n\t'

Explanation in the above post.

–jeroen

Posted in bash, Development, Scripting, Software Development | Leave a Comment »

Passing parameters to a Bash function – Stack Overflow

Posted by jpluimers on 2020/04/20

Since I tend to forget this:

  1. you can declare bash functions with parenthesis
  2. you pass parameters to functions space delimited (often people quote each parameter)
  3. within functions you can refer to parameters by number just like the parameters passed to a shell script

More info at:

I think for functions, you can apply what is linked from Some useful links on bash parameters: $1, $*, $@, quotes, etc., so a loop over all parameters in a function is the same as in a script, see [WayBack] shell – how to loop through arguments in a bash script – Unix & Linux Stack Exchange from Gilles:

There’s a special syntax for this:

for i do
  echo "$i"
done

More generally, the list of parameters of the current script or function is available through the special variable $@.

for i in "$@"; do
  echo "$i"
done

Note that you need the double quotes around $@, otherwise the parameters undergo wildcard expansion and field splitting. "$@" is magic: despite the double quotes, it expands into as many fields as there are parameters.

print_arguments () {
  for i in "$@"; do echo "$i"; done
}
print_arguments 'hello world' '*' 'special   !\characters'    # prints 3 lines
print_arguments ''                                            # prints one empty line
print_arguments                                               # prints nothing
 –jeroen

Posted in bash, Development, Scripting, Software Development | Leave a Comment »

Common SMTP message size limits

Posted by jpluimers on 2020/04/08

After a 2018 discussion with a “zorgkantoor” (Dutch for office that arranges for special long term health care needs, successor of AWBZ) about their very low (10 megabyte) SMTP message size limit – even though they expect scanned PDF documents.

Their web-care team posed this limit as normal, so I made a list of limits in their peer group, common world-wide and well-ranked Dutch internet providers.

My plan is to check the progression of these limits over time.

Note these are the bruto message sizes including encoded attachments. Since encoding in [WayBack] MIME Base64 – Wikipedia has a overhead of at least 37% (encoded size is at least 1.37 the original size), the unencoded maximum size is less than 73% of what is listed below.

References:

2018

Read the rest of this entry »

Posted in base64, Communications Development, Development, eMail, Encoding, Internet protocol suite, MIME, Power User, Python, Scripting, SMTP, SocialMedia, Software Development, TCP | Leave a Comment »

In SQL Server use `SET NOCOUNT ON` so tools taking the last modified record count won’t be confused by your trigger.

Posted by jpluimers on 2020/04/07

Interesting read: Time eating bug of the day… – Fabian S. Biehn – Google+.

TL;DR: in SQL Server use SET NOCOUNT ON so tools taking the last modified record count won’t be confused by your trigger.

Source: [WayBackTime eating bug of the day: I used a TADOQuery.ExecSQL (on Berlin) for an Up…

Related: [WayBack] sql server – ADODB affected rows return trigger’s affected rows – Stack Overflow

–jeroen

Posted in Database Development, Delphi, Development, Office VBA, Scripting, Software Development, SQL, SQL Server | Leave a Comment »

For my link archive: Python – Handling command-line arguments

Posted by jpluimers on 2020/04/02

The article is dense but goes way deeper than straightforward sys.argv[1:] handling: [WayBack10.6. Handling command-line arguments.

–jeroen

Posted in Development, Python, Scripting, Software Development | Leave a Comment »

Forde’s Tenth Rule, or, “How I Learned to Stop Worrying and ❤ the State Machine”

Posted by jpluimers on 2020/04/01

It is important to look beyond your own comfort zone to see what other languages can support: [WayBack] Forde’s Tenth Rule, or, “How I Learned to Stop Worrying and ❤ the State Machine”.

The article is about implementing finite state machines in JavaScript with as little usage of string literals as possible.

Via: [WayBack] How I Learned to Stop Worrying and Love the State Machine – Adrian Marius Popa – Google+

–jeroen

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

Printing all DNS records using DNSPython in Python 3 · GitHub

Posted by jpluimers on 2020/03/31

Cool example, which requires dnspython and might need an update of the DNS record type list (maybe dnspython has that list built in?):

[WayBack] Printing all DNS records using DNSPython in Python 3 · GitHub

–jeroen

Read the rest of this entry »

Posted in Development, Python, Scripting, Software Development | Leave a Comment »

GitHub – alexmojaki/birdseye: Quick, convenient, expression-centric, graphical Python debugger using the AST

Posted by jpluimers on 2020/03/26

This is soooo nice! [WayBackGitHub – alexmojaki/birdseye: Quick, convenient, expression-centric, graphical Python debugger using the AST

It runs on localhost:7777

Via: [WayBack] Birdseye ist eine interessante Lösung, um detailliert nachzuvollziehen, was beim Aufruf von Python-Funktionen und der Abarbeitung von Schleifen geschieh… – Martin Vogel – Google+

–jeroen

Read the rest of this entry »

Posted in Development, Python, Scripting, Software Development | Leave a Comment »

python – How do I install pip on macOS or OS X? – Stack Overflow

Posted by jpluimers on 2020/03/25

On Mac OS X with stock Python:

All you need to do is

sudo easy_install pip

After this, you might want to upgrade pip:

sudo pip install --upgrade pip

Source: [WayBackpython – How do I install pip on macOS or OS X? – Stack Overflow

You could go the homebrew way, but that means your system will have two Python installations usually causing a nightmare of path dependency orders. In addition, homebrew puts you on the wrong foot, so:

DO NOT DO THIS!

# brew install pip
Error: No available formula with the name "pip" 
Homebrew provides pip via: `brew install python`. However you will then
have two Pythons installed on your Mac, so alternatively you can install
pip via the instructions at:
  https://pip.readthedocs.io/en/stable/installing/

–jeroen

Posted in Apple, Development, Mac OS X / OS X / MacOS, macOS 10.12 Sierra, macOS 10.13 High Sierra, Power User, Python, Scripting, Software Development | Leave a Comment »