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

UptimeRobot is written in PHP and runs on IIS

Posted by jpluimers on 2018/11/28

In [WayBackJeroen Pluimers‏ @jpluimers: Every now and then editing @uptimerobot entries failed. Just “HTTP Error 503.4 – Service Unavailable The FastCGI pool queue is full” 1/2 I found out that UptimeRobot:

There is also a maintenance page at uptimerobot.com/maintenance.php#tvMode [Archive.is] and uptimerobot.com/maintenance.php?c-e [Archive.is]. If you get to those, then retry in ~10 minutes as sometimes it takes that long for an update to be processed.

Sometimes setting up multiple Android devices for the same uptimerobot account can be a bit of a hassle: [WayBack] Uptime Robot on Twitter: “Once logged in to the account from another Andriod device, that device will be added as an alert contact too.… “.

All in all it is still a nice tool (:

–jeroen

Read the rest of this entry »

Posted in *nix, Development, IIS, Monitoring, PHP, Power User, Scripting, Software Development, Uptimerobot, Web Development | Leave a Comment »

A few observations on Python while I made my first steps into it

Posted by jpluimers on 2018/11/28

A while back, I made my first steps into Python.

Coming from a mixed language back-ground (including Pascal, Delphi, C#, SQL, batch files, PowerShell, bash, C, Java) it was an interesting experience.

A few observations:

More observations likely to follow.

–jeroen

Read the rest of this entry »

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

An In Depth Guide Into a Ridiculously Simple API Using .NET Core

Posted by jpluimers on 2018/11/27

Since I am going to be involved with building some REST API servers and clients in .NET, here are some links to get me up to speed.

Posted in .NET, .NET ORM, ASP.NET, C#, Development, EF Entity Framework, NHibernate, Software Development | Leave a Comment »

web servers and pre-compressed content

Posted by jpluimers on 2018/11/27

One of my sites is about a lot of static content which is mostly generated too. So I want to put some research into pre-compressing that content before serving it.

Here are some links that might put me in the right direction:

–jeroen

Posted in *nix, Apache2, Power User | Leave a Comment »

Fritz!Box LUA links on my research list

Posted by jpluimers on 2018/11/27

I’m not sure around which firmware versions Fritz!Box started to implement LUA links, but they are now on my research list.

Below a reference and where I found them.

A few notes first:

  • There are many duplicates, which in due time I need to de-duplicate.
  • The .lua links seem to override the old cgi-bin links (that are partially reverse engineered at [WayBackCategory:Befehle in /usr/www/cgi-bin – Fritz!Box).
  • Usually, .lua links require a SID. In the web-ui, a Fritz!Box very much tries to hide that SID from URLs in the browser address bar (especially for firmware versions 06.50 and up) so the easiest to get them is this:
    1. Login to your Fritz!Box
    2. Manually copy any of the URLs in the left side
    3. Take the SID from there.
  • More recent firmware versions hide the .lua links too, but you can see them when monitoring your network traffic in the developer mode of your web browser

Logging in programmatically needs a challenge response mechanism. It used to be at [Wayback] http://www.avm.de/de/Extern/Technical_Note_Session_ID.pdf but now has moved to [Wayback/Archive.ishttps://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AVM_Technical_Note_-_Session_ID.pdf

Here is the list:

Read the rest of this entry »

Posted in Development, Fritz!, Fritz!Box, Hardware Development, Hardware Interfacing, Internet, Power User | Leave a Comment »

Protected Branches | GitLab

Posted by jpluimers on 2018/11/26

[WayBack] Protected Branches | GitLab usually are a cool feature, but sometimes they get in the way, for instance when someone having enough rights has pushed credentials or API keys to a repository.

Unlike the picture in the documentation that indicates the default looks like Masters, this is now assigned to the role Maintainers.

Wrong:

Right:

More reading:

–jeroen

 

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

Cleaning up bounces from /var/spool/mqueue using qtool

Posted by jpluimers on 2018/11/26

Part of my /var/spool/mqueue consist of administrative bounces to mail domains that fail for a long time.

 

First a few queries to filter the messages I want to move (the -h suppresses filename so you can aggregate with sort and uniq):

grep -h "MDeferred: Connection" /tmp/mqueue-junk/qf* | sort | uniq -c

It gives results like this:

...
     56 MDeferred: Connection refused by static.vnpt.vn.
...
      1 MDeferred: Connection reset by cleanfreshliving.com.
...
     10 MDeferred: Connection timed out with netflix.ssl.com.
...

After blacklisting those domains, I’ve used qtool.pl to cleanup the mail queue.

qtool.pl

As qtool.pl does not have “dry run” or log options, it’s best to test expressions on a copy of your mail queue first. I’ve made copies in /tmp/mqueue for this.

The query expression language on qtool.pl is complicated to get right: the documentation talks about using %msg which in fact is $msg and there is no official documentation on the mapping of qf files in the mqueue directory to expressions used in qtool.pl.

Luckily that mapping is in qtool.pl itself as explained by www.the-art-of-web.com/system/sendmail-qtool/#section_2. A recent source is at github.com/freebsd/freebsd/blob/master/contrib/sendmail/contrib/qtool.pl where I copied the fragment further below from.

Now just see these commands:

./contrib/qtool.pl -C /etc/sendmail.cf -e '$msg{message}[0] =~ /Deferred: Connection refused by/' /tmp/mqueue-junk/ /tmp/mqueue/

and

./contrib/qtool.pl -C /etc/sendmail.cf -e '$msg{num_delivery_attempts} > 100' /tmp/mqueue-junk/ /tmp/mqueue/

Since there are two M lines per qf file, you have to index the {message} part. There is no need for that with the {num_delivery_attempts}.

Because of the =~ operator, the match expressions are of [WayBack] perlre – perldoc.perl.org: Perl regular expressions.

If you run this on the live /var/spool/mqueue directory, then you can get errors like this which means you should retry after a few minutes (or run with sendmail disabled):

Could not obtain fcntl lock on '/var/spool/mqueue//qfv4H9jv7M007291': Resource temporarily unavailable.
1
Could not obtain fcntl lock on '/var/spool/mqueue//qfv5DB2NkJ024360': Resource temporarily unavailable.
1

Note that the searching for Mhost map: lookup \(.*\): deferredfails, so I write this little script that shows which commands are going to be executed and how to execute them:

grep -l "^Mhost map: lookup \(.*\): deferred$" /var/spool/mqueue/qf* | xargs -n1 -I {} echo "./contrib/qtool.pl -C /etc/sendmail.cf /var/spool/mqueue-junk/ {}"
grep -l "^Mhost map: lookup \(.*\): deferred$" /var/spool/mqueue/qf* | xargs -n1 -I {} ./contrib/qtool.pl -C /etc/sendmail.cf /var/spool/mqueue-junk/ {}

It executes the qtool.pl once per grep output line.

Read the rest of this entry »

Posted in *nix, *nix-tools, Power User, sendmail | Leave a Comment »

The tragedy of FireWire: Collaborative tech torpedoed by corporations | Ars Technica

Posted by jpluimers on 2018/11/26

Another piece of history: FireWire also known as IEEE-1394 [WayBack].

[WayBackThe tragedy of FireWire: Collaborative tech torpedoed by corporations | Ars Technica

I still have that iPod, cables and IEEE-1394 adapters to communicate with it (:

It didn’t help that by now various types of connections – including FireWire, USB and others –  are also used for DMA hacking. One less connection type, one less risk of entry:

via: [WayBack] Firewire and what could have been.. – Roderick Gadellaa – Google+ and [WayBackFred Dresken (Maverick) – Google+

–jeroen

 

Posted in Development, FireWire, FireWire, Hardware, Hardware Interfacing, History, Power User, USB, USB-C | Leave a Comment »

A 90-byte “whereis” program – The Old New Thing

Posted by jpluimers on 2018/11/23

I needed a “get only the first result” of WHERE (which is present after Windows 2000, so XP, Server 2003 and up), so based on [WayBackA 90-byte “whereis” program – The Old New Thing I came up with this:

@echo off
:: based on https://blogs.msdn.microsoft.com/oldnewthing/20050120-00/?p=36653
::for %%f in (%1) do @echo.%%~$PATH:f
for %%e in (%PATHEXT%) do @for %%i in (%1 %~n1%%e) do (
  @if NOT "%%~$PATH:i"=="" (
    echo %%~$PATH:i
    goto :eof
  )
)
:: note: WHERE lists all occurrences of a file on the PATH in PATH order
goto :eof

Two changes:

  • it takes into account the extension if you specify it (unlike WHERE.EXE)
  • it bails out at the first match (like WHERE.EXE)

References:

–jeroen

Posted in Batch-Files, Development, Power User, Scripting, Software Development, The Old New Thing, Windows, Windows Development | Leave a Comment »

O&O ShutUp10: download free antispy tool for Windows 10

Posted by jpluimers on 2018/11/23

I’m not surprised this free product is from German origin:

With O&O ShutUp10 you have full control over which functions under Windows 10 you wish to use, and you decide when the passing on of your data goes too far.

[WayBackO&O ShutUp10: download free antispy tool for Windows 10

Download: [WayBackdl5.oo-software.com/files/ooshutup10/OOSU10.exe

Run it after each update as well.

–jeroen

Posted in Power User, Windows, Windows 10 | Leave a Comment »