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

Archive for 2016

Another +ESP8266 gizmo, this time to automatically reboot your router…

Posted by jpluimers on 2016/10/28

Another +ESP8266 gizmo, this time to automatically reboot your router if connection is lost in order to get 24/7 connectivity. – Jean-Luc Aufranc – Google+

Source: Another +ESP8266 gizmo, this time to automatically reboot your router if…

Posted in Internet, Power User, routers | Leave a Comment »

More suppliers should include sha hashcodes for their downloads

Posted by jpluimers on 2016/10/28

I’m really glad that more and more suppliers are providing sha hashes for their downloads.

It allows you to verify an already downloaded binary is in fact

For instance, Cisco does this with their Jabber Messaging software. That way I could verify the (when I wrote this) most recent versions were indeed the ones I already had by just clicking on the filename (no need to click on the Download button).

  • Mac:
    • $ shasum -a 512 CiscoJabberMac-11.0.0.216341.zipbd03b0f8542e0244b30601647e991eec74c2e5b358bf68cdf1b4d6f4e62f96fed83f813d0033e696012dc320a80cc96b9c17d5f98250d44b5252c06732c16df5  CiscoJabberMac-11.0.0.216341.zip
  • Windows:
    • $ shasum -a 512 CiscoJabber-Install-ffr.11-0-1.zip
      7335b739498ca365952325931709bae1c0f5916302117b75fc06862d5623a017834ef3f6fafe76feb722dca5618c1e2d11be17e739a59e0b76a3c382f6d9c31b CiscoJabber-Install-ffr.11-0-1.zip

–jeroen

Posted in Hashing, Power User, Security | Leave a Comment »

Wow – people still working on Delphi 6 and 7 based code! Got new votes for answer to get rid of empty DDP files

Posted by jpluimers on 2016/10/27

Only Delphi 6 and 7 used DDP files (still a nice concept: diagrams to help understanding your DFM files)

A long time ago, I wrote a stackoverflow answer and later a blog post on how to find and get rid of empty DDP files as both Delphi versions had the habit of creating them:

The blog post was when I helped moving an ancient Delphi project to a more modern Delphi version (due to some personal stuff going on I never finished it) and I never used such old Delphi stuff again.

This week that answer got quite a bunch of upvotes on the stakcoverflow answer which means people are still using Delphi 6 and 7 based code. Who’d ever thought that 15 year old versions would still be used today?

–jeroen

Posted in Delphi, Delphi 6, Delphi 7, Development, Software Development | 9 Comments »

On OpenSuSE, when adding Apache vhosts with their own log files don’t forget to update your logrotate configuration

Posted by jpluimers on 2016/10/27

Sometimes you forget one crucial step…

When adding Apache vhosts on OpenSuSE and each vhost has it’s own set of log-files, then they will not be logrotated by default.

So you have to edit the configuration.

I’ve done it by copying the default apache2 logrotate configuration file for each vhost like this:

/etc/logrotate.d # cp apache2 apache2.vhost.##hostname##

Here ##hostname## is the name of the vhost.

Then I edited each file and replaced the generic log file names with the specific ones for each vhost.

There are only a few vhosts on my system so the manual job wasn’t so bad, but with a great number of vhosts you’d probably want to make this a template process beyond this:

function logrotate-add-apache2-vhost-file()
{
  # $1 is the vhost name
  ## http://stackoverflow.com/questions/16790793/how-to-replace-strings-containing-slashes-with-sed/16790877#16790877
  cat /etc/logrotate.d/apache2 | sed -r "s#/var/log/apache2/#/var/log/apache2/$1-#g" > /etc/logrotate.d/apache2.vhost.$1 
  git add /etc/logrotate.d/apache2.vhost.$1
}

This will then show in less what logrotate (which will output both to stderr and stdout, hence the 2>&1 redirect) would do on the next invocation:

logrotate -d /etc/logrotate.conf 2>&1 | less

And this is a very nice logrotate alias as well:

alias logrotate-show-status='echo "# systemctl list-timers --all" && systemctl list-timers --all && echo "# systemctl status logrotate.timer --full" && systemctl status logrotate.timer --full && echo "# journalctl -u logrotate" && journal

–jeroen

Posted in *nix, *nix-tools, Apache2, Development, Linux, logrotate, openSuSE, Power User, Scripting, Software Development, SuSE Linux, Tumbleweed | 1 Comment »

Only the KB2267602 updates (all others are fine) failing on Windows 8.1 with error 8007051A?

Posted by jpluimers on 2016/10/27

On a Windows 8.1 system, I’m having trouble installing KB2267602 [Definition Update for Windows Defender – KB2267602 (Definition 1.231.456.0)] as it throws error 8007051A each time even after reboots, shutdowns, re-tries and using different ISPs.

https://www.google.com/search?q=8007051A+KB2267602 didn’t get me any further.

On other Windows 8.1 systems this went fine (this one has Visual Studio 2015 installed) as were the Windows 7 installs of KB2310138 [Definition Update for Microsoft Security Essentials – KB2310138 (Definition 1.231.456.0)].

I’ve not tried manual downloads from https://www.microsoft.com/security/portal/definitions/adl.aspx [WayBack] yet: anyone tried that before?

–jeroen _ _ _

Posted in LifeHacker, Power User, Windows, Windows 8.1 | Leave a Comment »

permissions – recursively change owner windows 7 – Super User

Posted by jpluimers on 2016/10/27

Slightly updated the answer the /D Y part will recursively accept taking ownership when directory listing is denied in the permissions:

To fix really broken permissions, the best is to run these two commands one after the other:

takeown /F /D Y "C:\path\to\folder" /R
icacls "C:\path\to\folder" /reset /T

The first one will give you ownership of all the files, however that might not be enough, for example if all the files have the read/write/exec permissions set to “deny”. You own the files but still cannot do anything with them.

In that case, run the second command, which will fix the broken permissions.

via: permissions – recursively change owner windows 7 – Super User

–jeroen

Posted in Batch-Files, Development, Power User, Scripting, Software Development, Windows, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows 9, Windows Development, Windows Server 2000, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Vista, Windows XP | Leave a Comment »

conorpp/u2f-zero: U2F USB token optimized for physical security, affordability, and style

Posted by jpluimers on 2016/10/26

Conor Patrick built humself u2f-zero an U2F USB token optimized for physical security, affordability, and style.

He open sourced the hardware and software at conorpp/u2f-zero.

–jeroen

Posted in Development, Hardware Development | Leave a Comment »

OpenSuSE Tumbleweed: after installing from ISO, be sure to disable/remove the ISO repo

Posted by jpluimers on 2016/10/26

TL;DR: OpenSuSE Tumbleweed – after installing from ISO, be sure to disable/remove the ISO repo.

A while ago I had a weird thing on my OpenSuSE Tumbleweed system while upgrading (yes, zypper dist-upgrade is the recommended way to update Tumbleweed): it would complain in this way zypper dup indicates python3-urllib3-1.16-1.1.noarch requires python(abi) = 3.5:

# zypper dup
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Loading repository data...
Reading installed packages...
Computing distribution upgrade...

Problem: python3-urllib3-1.16-1.1.noarch requires python(abi) = 3.5, but this requirement cannot be provided
 Solution 1: Following actions will be done:
  deinstallation of python3-urllib3-1.15.1-2.1.noarch
  deinstallation of python3-wheel-0.29.0-2.1.noarch
  deinstallation of speedtest-cli-0.3.2-4.3.noarch
  deinstallation of python3-six-1.10.0-4.1.noarch
  deinstallation of python3-pycparser-2.14-2.1.noarch
  deinstallation of python3-pyasn1-0.1.9-2.1.noarch
  deinstallation of python3-pyOpenSSL-16.0.0-3.1.noarch
  deinstallation of python3-idna-2.1-1.1.noarch
  deinstallation of python3-chardet-2.3.0-1.4.noarch
 Solution 2: keep obsolete python-cupshelpers-1.5.7-7.2.noarch
 Solution 3: break python3-urllib3-1.16-1.1.noarch by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/3/c] (c): 

What eventually – with help from the excellent help by DimStar on the #openSUSE-factory IRC channel – led to the solution was the part Solution 2: keep obsolete python-cupshelpers-1.5.7-7.2.noarch.

But first let’s look at the installed versions and repos:

Read the rest of this entry »

Posted in *nix, Development, Internet, Linux, openSuSE, Power User, Scripting, Software Development, SpeedTest, SuSE Linux, Tumbleweed | Leave a Comment »

How to copy files from one machine to another using ssh – Unix & Linux Stack Exchange

Posted by jpluimers on 2016/10/25

I’m using Linux (centos) machine, I already connected to the other system using ssh. Now my question is how can I copy files from one system to another system?

Source: How to copy files from one machine to another using ssh – Unix & Linux Stack Exchange

Nice question, uh? In my opinion the best answer is “Use scp to avoid going through hoops with complex configurations to re-use your existing ssh connection” like this:

To copy a file from B to A while logged into B:

    scp /path/to/file username@A:/path/to/destination

To copy a file from B to A while logged into A:

    scp username@B:/path/to/file /path/to/destination

Source: DopeGhoti answering How to copy files from one machine to another using ssh – Unix & Linux Stack Exchange

Instead the question is marked duplicate of SSH easily copy file to local system – Unix & Linux Stack Exchange where (contrary to the ‘easily’ part of the question) go through hoops and loops with all kinds of fancy ssh settings and port forwards.

Recursive

For recursive, use the -r option, as per [WayBack] shell – How to copy a folder from remote to local using scp? – Stack Overflow:

scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

From man scp (See online manual)

-r Recursively copy entire directories

Related:

Read the rest of this entry »

Posted in *nix, *nix-tools, bash, Communications Development, Development, Internet protocol suite, Power User, Scripting, Software Development, SSH, TCP | Leave a Comment »

Readable code – and the long lost secret of how to achieve it on Vimeo

Posted by jpluimers on 2016/10/25

Uncle Bob’s 5-liners are not the way to go, nor are all those glue frameworks as they hide the complexity to places nobody can mentally reconstruct them.

So:

  • Find a balance between method length and your drive to refactor.
  • Learn to read.

Thanks Christin Gorman for this great little and very much to the point presentation.

–jeroen

 

Posted in Development, Software Development | Leave a Comment »