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 2,979 other subscribers

Archive for the ‘Node.js’ Category

Google Cloud Shell: tools, languages and “safe mode”

Posted by jpluimers on 2023/01/19

After publishing Free Linux cloud shell for Gmail users – shell in the browser that works in all locations I’ve been so far, the Google Cloud Shell got extended quite a bit.

There is now [Wayback/Archive] Safe Mode (which skips initialisation scripts):

If there’s a problem in your .bashrc or .tmux.conf files, Cloud Shell immediately close after connection. To resolve this, open Cloud Shell in safe mode by appending cloudshellsafemode=true to the URL. This restarts your Cloud Shell instance and logs you in as root, allowing you to fix any issues in the files.

To permanently delete all files in your home directory and restore your Cloud Shell home directory to a clean state, you can reset your Cloud Shell VM.

And there is support for way more [Wayback/Archive] tools and languages:

Read the rest of this entry »

Posted in .NET, C#, Cloud, Development, Go (golang), Google, GoogleCloudShell, Infrastructure, Java, Java Platform, JavaScript/ECMAScript, Node.js, Perl, PHP, Power User, Python, Ruby, Scripting, Software Development | Leave a Comment »

Type safe versus interpreted languages: which ones are safer?

Posted by jpluimers on 2022/10/06

An interesting thread by Kristian Köhntopp last year:

[] Kristian Köhntopp on Twitter: “Python: >>> print(1+2+” = “+2+1) Traceback (most recent call last): File “”, line 1, in TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’ Java: System.out.println(1+2+” = “+1+2); 3=12”

The examples from him and others in the thread:

>>> print(1+2+" = "+2+1)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: unsupported operand type(s) for +: 'int' and 'str'

System.out.println(1+2+" = "+1+2);

php8.1  -r 'print 1+2+" = "+2+1;'
PHP Fatal error:  Uncaught TypeError: Unsupported operand types: int + string in Command line code:1
Stack trace:
#0 {main}
  thrown in Command line code on line 1

php7.3  -r 'print 1+2+" = "+2+1;'
PHP Warning:  A non-numeric value encountered in Command line code on line 1

Chrome & FF dev console:
window.alert(1+2+" = "+1+2)
3 = 12

Sind ja immerhin verschiedene Sprachen.

FROM table1
WHERE Wert1 < AVG(Wert1);

DB2 vs. Oracle vs. MSSQL vs. ....

The joke is that Python actually does better than Java.

But in practice, this is a problem on many platforms, so it deserves constant attention, that’s why Kristian pointed to [Archive] Anna “Legacy Archaeologist” Filina on Twitter: “My annotated slides “Fantastic Bugs and How to Avoid Them” from @LonghornPHP:  #LonghornPHP”

[Wayback/Archive] Fantastic Bugs and How to Avoid Them – Speaker Deck

I’ve expanded the examples from the thread below. The results are interesting and consistent over versions of the various languages.


Read the rest of this entry »

Posted in Development, Java, Java Platform, JavaScript/ECMAScript, Node.js, PHP, Python, Scripting, Software Development | Leave a Comment »

Google Open Source Insights (hopefully by now more than just npm/golang/maven)

Posted by jpluimers on 2022/02/02

Interesting project at [Wayback] Open Source Insights

Open Source Insights is an experimental project by Google.

Hopefully by now it is supporting more than just npm/golang/maven and by the time it sunsets, other projects take over.

The introduction was some 9 months ago: [Wayback] Introducing the Open Source Insights Project | Google Open Source Blog



Posted in Development, Go (golang), JavaScript/ECMAScript, Node.js, Power User, Scripting, Security, Software Development | Leave a Comment »

Twitter wayback_exe generates screenshots of old websites in old browsers every two hours

Posted by jpluimers on 2021/12/22

Classic browsers

Classic browsers

Going back to in time old web-pages using old web-browsers is fun!

[] wayback_exe (@wayback_exe) | Twitter automatically does it for you.

A short introduction is at [Wayback] muffinlabs – @wayback_exe.

There is a playground at [] where you can choose which classic browser to use for viewing and what page to view with it.

You can fiddle around with the node.js based code that is available on GitHub: [Wayback/] muffinista/wayback_exe: code for twitter bot @wayback_exe

Some screenshots:



Read the rest of this entry »

Posted in Development, Fun, JavaScript/ECMAScript, Node.js, Power User, Scripting, Software Development, Web Browsers | Leave a Comment »

Some notes on

Posted by jpluimers on 2021/12/01

Some notes, as I’m looking to a stable, simple to maintain email forwarding system that is also secure and – yes – can cost money.

I need to leave IT-infrastructure behind that is easy to maintain for my heirs.

Some links:

  • [] mausdompteur 💉 on Twitter: “Email! Yes, Email. Need to Set Email for a domain, basically forward only. Has anyone ever heard of Is it good? Any alternatives I should consider?”
  • [Wayback] The Best Free Email Forwarding Service for Custom Domains | Forward Email

    The best open-source and free email forwarding service for custom domains. We do not keep logs nor store emails. We don’t track you. Unlimited aliases, catch-alls, wildcards, API access, and disposable addresses. Built-in support for DKIM, SRS, SPF, ARC, DMARC, and more. No credit card required.

  • [Wayback] FAQ | Forward Email has a truckload of information, but the main points for me are these:

    What is the max email size limit

    We default to a 50MB size limit, which includes content, headers, and attachments. Note that services such as Gmail and Outlook allow only 25MB size limit, and if you exceed the limit when sending to addresses at those providers you will receive an error message.

    An error with the proper response code is returned if the file size limit is exceeded.

    What is the difference between Free and Enhanced Protection

    The Free plan requires you to use public DNS records to store your forwarding configuration. Anyone with a computer can lookup your forwarding configuration in a terminal if you are on the Free plan. Unlike the Free plan, the Enhanced Protection plan uses a cryptographically generated random string to store your forwarding configuration privately.

    Free Plan Enhanced Protection Plan forward-email-site-verification=m8d7o8K4Il
  • [Wayback] About | Forward Email with this very important point for me:


    We have a “zero tolerance policy” privacy policy, which states that we don’t store logs nor emails, and we don’t track users. Our statement clearly states that we do not collect nor store forwarded emails, metadata, server-side nor client-side logs, IP addresses, or browser information.

    Only an email address is required to create and configure the Enhanced Protection Plan, which hides DNS email alias information on the free plan through a managed and hosted service.

    User’s accounts, domains, and all related information can be permanently deleted at any time by the user.

  • [Wayback] Pricing | Forward Email (levels: free / enhanced protection / team / enterprise)

    Free email forwarding for domains with features including Custom Domain Email Forwarding, Disposable Addresses, Multiple Recipients, Wildcards, and more!

  • It’s open source too (written in JavaScript using Node.js), but running it requires you to keep up with versions and security: [Wayback/] forwardemail/free-email-forwarding: The best free email forwarding for custom domains. Visit our website to get started (SMTP server)


Read the rest of this entry »

Posted in Development, eMail, JavaScript/ECMAScript, Node.js, Power User, Scripting, SocialMedia, Software Development, Web Development | Leave a Comment »

%d bloggers like this: