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

Archive for January, 2019

macOS DisplayLink driver downloads: 4.1 works fine with MacOS 10.12 Sierra

Posted by jpluimers on 2019/01/28

macOS DisplayLink driver downloads: 4.1 works fine with MacOS 10.12 Sierra on a 15-inch mid 2015 Retina MacBook Pro.

Downloads:

–jeroen

Posted in Apple, Mac, Mac OS X / OS X / MacOS, MacBook, MacBook Retina, MacBook-Pro, macOS 10.12 Sierra, Power User | Leave a Comment »

My 10 UNIX Command Line Mistakes – nixCraft

Posted by jpluimers on 2019/01/28

An interesting series of mistakes that anyone can make followed by a long thread of discussion with various people making mistakes on many operating systems:

My top 10 biggest UNIX / Linux command-line mistakes that cause some sort of down time. Try to avoid them.

[WayBackMy 10 UNIX Command Line Mistakes – nixCraft

Conclusion

All men make mistakes, but only wise men learn from their mistakes — Winston Churchill.
From all those mistakes I have learn that:

  1. You must keep a good set of backups. Test your backups regularly too.
  2. The clear choice for preserving all data of UNIX file systems is dump, which is only tool that guaranties recovery under all conditions. (see Torture-testing Backup and Archive Programs paper).
  3. Never use rsync with single backup directory. Create a snapshots using rsync or rsnapshots.
  4. Use CVS/git to store configuration files.
  5. Wait and read command line twice before hitting the dam [Enter] key.
  6. Use your well tested perl / shell scripts and open source configuration management software such as puppet, Ansible, Cfengine or Chef to configure all servers. This also applies to day today jobs such as creating the users and more.

Mistakes are the inevitable, so have you made any mistakes that have caused some sort of downtime? Please add them into the comments section below.

I didn’t know about rsnapshots, so I need to put some research in it, hence the links below.

Note that the rsnapshots documentation is a bit behind the source code, so if you look for the HOWTO, then you’ll get a 404. The old HOWTO is in a link below.

–jeroen

Via: [WayBack] Joe C. Hecht – Google+: Here are a few mistakes that I made while working at UNIX/Linux prompt.

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

ScanSnap ix100 info you don’t find in the Getting Started guide easily

Posted by jpluimers on 2019/01/28

Always fun when Getting Started guide makes it hard to find essential information, but the installation mentions it after installing:

ScanSnap is initially set to turn off automatically after a certain time of non-activity.
The power-off interval can be changed from the [ScanSnap Manager – Preferences] window.

To turn the ScanSnap back on, perform one of the following:

  • Press the [Scan] button
  • Close the ADF paper chute (cover) and open it again

The installer then continues to ask to connect it over USB, though the Getting Started guide mentions you can connect over WiFi.

There the “monkey gets out of the sleeve” as the WiFi installer mentions this:

ScanSnap Wireless Network Setup

To start up the Wireless Setup Tool, perform the following:

  • Turn on ScanSnap
  • Turn on the Wi-Fi switch on the ScanSnap
  • Connect ScanSnap to the computer via the USB cable

(i) If you start up the Wireless Setup Tool via Wi-Fi, some functions are not available.

Too bad it doesn’t explain which functions are not available, not even a web-search or the [WayBack] manuals:

Read the rest of this entry »

Posted in Fujitsu ScanSnap, Hardware, ix100, Power User, Scanners | Leave a Comment »

Philips Brilliance 240B max resolution: 1920 x 1200 pixels at 24 bit

Posted by jpluimers on 2019/01/25

Since the Display on the frontside is labeled as “Philips Brilliance 240B”, finding the actual supported maximum resolution took an additional step resulting in these specs: [WayBack] Specifications of the LCD monitor with Ergo base, USB, Audio 240B1CB/75 | Philips

This is what I needed from it:

Philips Brilliance 240B max resolution: 1920 x 1200 pixels at 24 bit via either of the inputs

  • VGA (Analog )
  • DVI-D (digital, HDCP)

–jeroen

Posted in Displays, Hardware, Power User | Leave a Comment »

ScanSnap ix100 open ports

Posted by jpluimers on 2019/01/25

For my archive: the open ports on the ix100 WiFi connection:

# sudo nmap -O -v -A -p- -Pn 192.168.0.1
Password:

Starting Nmap 7.50 ( https://nmap.org ) at 2017-08-01 17:40 CEST
NSE: Loaded 144 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 17:40
Completed NSE at 17:40, 0.00s elapsed
Initiating NSE at 17:40
Completed NSE at 17:40, 0.00s elapsed
Initiating ARP Ping Scan at 17:40
Scanning 192.168.0.1 [1 port]
Completed ARP Ping Scan at 17:40, 0.01s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 17:40
Completed Parallel DNS resolution of 1 host. at 17:40, 0.03s elapsed
Initiating SYN Stealth Scan at 17:40
Scanning 192.168.0.1 [65535 ports]
Discovered open port 53218/tcp on 192.168.0.1
Discovered open port 53219/tcp on 192.168.0.1
Completed SYN Stealth Scan at 17:40, 51.05s elapsed (65535 total ports)
Initiating Service scan at 17:40
Scanning 2 services on 192.168.0.1
Service scan Timing: About 50.00% done; ETC: 17:41 (0:00:32 remaining)
Completed Service scan at 17:41, 31.85s elapsed (2 services on 1 host)
Initiating OS detection (try #1) against 192.168.0.1
NSE: Script scanning 192.168.0.1.
Initiating NSE at 17:41
Completed NSE at 17:41, 0.04s elapsed
Initiating NSE at 17:41
Completed NSE at 17:41, 0.02s elapsed
Nmap scan report for 192.168.0.1
Host is up (0.0037s latency).
Not shown: 65533 closed ports
PORT      STATE SERVICE VERSION
53218/tcp open  unknown
| fingerprint-strings: 
|   DNSStatusRequest, DNSVersionBindReq, GenericLines, LPDString, NULL, WMSRequest, afp, oracle-tns: 
|_    VENS
53219/tcp open  unknown
| fingerprint-strings: 
|   DNSStatusRequest, DNSVersionBindReq, GenericLines, LPDString, NULL, WMSRequest, afp, oracle-tns: 
|_    VENS
2 services unrecognized despite returning data. If you know the service/version, please submit the following fingerprints at https://nmap.org/cgi-bin/submit.cgi?new-service :
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port53218-TCP:V=7.50%I=7%D=8/1%Time=5980A106%P=x86_64-apple-darwin16.6.
SF:0%r(NULL,10,"\0\0\0\x10VENS\0\0\0\0\0\0\0\0")%r(GenericLines,10,"\0\0\0
SF:\x10VENS\0\0\0\0\0\0\0\0")%r(DNSVersionBindReq,10,"\0\0\0\x10VENS\0\0\0
SF:\0\0\0\0\0")%r(DNSStatusRequest,10,"\0\0\0\x10VENS\0\0\0\0\0\0\0\0")%r(
SF:LPDString,10,"\0\0\0\x10VENS\0\0\0\0\0\0\0\0")%r(WMSRequest,10,"\0\0\0\
SF:x10VENS\0\0\0\0\0\0\0\0")%r(oracle-tns,10,"\0\0\0\x10VENS\0\0\0\0\0\0\0
SF:\0")%r(afp,10,"\0\0\0\x10VENS\0\0\0\0\0\0\0\0");
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port53219-TCP:V=7.50%I=7%D=8/1%Time=5980A106%P=x86_64-apple-darwin16.6.
SF:0%r(NULL,10,"\0\0\0\x10VENS\0\0\0\0\0\0\0\0")%r(GenericLines,10,"\0\0\0
SF:\x10VENS\0\0\0\0\0\0\0\0")%r(DNSVersionBindReq,10,"\0\0\0\x10VENS\0\0\0
SF:\0\0\0\0\0")%r(DNSStatusRequest,10,"\0\0\0\x10VENS\0\0\0\0\0\0\0\0")%r(
SF:LPDString,10,"\0\0\0\x10VENS\0\0\0\0\0\0\0\0")%r(WMSRequest,10,"\0\0\0\
SF:x10VENS\0\0\0\0\0\0\0\0")%r(oracle-tns,10,"\0\0\0\x10VENS\0\0\0\0\0\0\0
SF:\0")%r(afp,10,"\0\0\0\x10VENS\0\0\0\0\0\0\0\0");
MAC Address: 84:25:3F:25:7F:21 (silex technology)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.17 - 2.6.36
Uptime guess: 248.550 days (since Sat Nov 26 03:30:04 2016)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=199 (Good luck!)
IP ID Sequence Generation: All zeros

TRACEROUTE
HOP RTT     ADDRESS
1   3.66 ms 192.168.0.1

NSE: Script Post-scanning.
Initiating NSE at 17:41
Completed NSE at 17:41, 0.00s elapsed
Initiating NSE at 17:41
Completed NSE at 17:41, 0.00s elapsed
Read data files from: /usr/local/bin/../share/nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 85.09 seconds
           Raw packets sent: 65856 (2.898MB) | Rcvd: 65608 (2.625MB)

The nmap is aliased as nmap-fingerprint_host_all-ports-even-if-ping-fails

–jeroen

Posted in *nix, *nix-tools, Fujitsu ScanSnap, ix100, nmap, Power User, Scanners | Leave a Comment »

Google’s Phishing Quiz shows why Google AMP (Accelerated Mobile Pages) is a bad idea

Posted by jpluimers on 2019/01/25

This week, Google introduced the [WayBack] Phishing Quiz, a series of questions to see how good you spot phishing emails.

It is a perfect example on why Google AMP is a bad idea: it makes it easier to write phishing mail targeting Google users.

One of the questions is about a password change email seemingly from Google with a link by Google.

The link is really deceptive, as it:

  1. uses Google AMP (Accelerated Mobile Pages) which are hosted directly through a root path on the Google main domain: the URL starts with https://google.com/amp
  2. Especially on mobile, Google accelerates a lot of things through Google AMP, so a link on mobile that looks like this might be legit

This will deceive a lot of people as they are trained to look at the main domain to assess authenticity: google.com

That combined with an email domain that also looks being from Google (with so many real word top-level domains, many would not be surprised getting email from no-reply@google.support)

Just look at the below screenshot to see how deceptively this trick is.

Solution

Read the rest of this entry »

Posted in Google, LifeHacker, Power User, Security | Leave a Comment »

[RSP-10484] GetIt shouldn’t block the IDE – Embarcadero Technologies

Posted by jpluimers on 2019/01/24

I was amazed that this was marked as “Closed; won’t fix” as every respectable IDE I use but Delphi has a package manager that by now can download and update packages in the background without blocking the IDE [RSP-10484] GetIt shouldn’t block the IDE – Embarcadero Technologies.

–jeroen

Read the rest of this entry »

Posted in Delphi, Development, Software Development | 1 Comment »

Fast inverse square root – Wikipedia

Posted by jpluimers on 2019/01/24

Cult code via [WayBack] Fast inverse square root – Wikipedia part of [WayBack] Quake-III-Arena/blob/master/code/game/q_math.c:

float Q_rsqrt( float number )
{
    long i;
    float x2, y;
    const float threehalfs = 1.5F;

    x2 = number * 0.5F;
    y  = number;
    i  = * ( long * ) &y;                       // evil floating point bit level hacking
    i  = 0x5f3759df - ( i >> 1 );               // what the fuck? 
    y  = * ( float * ) &i;
    y  = y * ( threehalfs - ( x2 * y * y ) );   // 1st iteration
// y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed

    return y;
}

It is a really fast way to approximate the square root for 32-bit IEEE754 calculations having origins around 1986:

  • [WayBackSymplectic Spacewar » Cleve’s Corner: Cleve Moler on Mathematics and Computing:

    Cleve Moler replied on June 27th, 2012 9:35 pm UTC :

    Jotaf — Thanks very much for your comment, and for reminding me about the fast inverse square root hack. I didn’t realize that the trick had attained a kind of cult status in the graphics community. The trick uses bit-fiddling integer operations on a floating point number to get a good starting approximation for Newton’s iteration. The Wikipedia article that you link to describes the trick in great detail, and also links to an article by Rys Sommefeldt about its origins. Sommefeldt goes back to the late ’80s and to me and my colleague Greg Walsh at Ardent Computer. I actually learned about trick from code written by Velvel Kahan and K.C. Ng at Berkeley around 1986. Here is a link to their description, in comments at the end of the fdlibm code for sqrt. http://www.netlib.org/fdlibm/e_sqrt.c . — Cleve

  • [WayBack] http://www.netlib.org/fdlibm/e_sqrt.c 

By now there is also a constant for 64-bit IEEE754 calculations 0x5fe6ec85e7de30da by [WayBack] 2003 research from Chris Lomont who also found a better 32-bit constant 0x5f375a86.

Note you need to be careful with boundary values like zero and infinity. This holds for approximations in general: [WayBackperformance – Why is SSE scalar sqrt(x) slower than rsqrt(x) * x? – Stack Overflow

–jeroen

Posted in Algorithms, C, Development, History, Software Development | Leave a Comment »

Chuck Jazdzewski links (ex co-architect of the Delphi VCL architecture)

Posted by jpluimers on 2019/01/24

While doing some research, I bumped into Chuck Jazdzewski on Twitter: “Doing some historical posts to resurrect my blog. http://t.co/kSXy3ARUhR” so I decided to archive a few more links about Chuck because few of the early Delphi R&D team on-line history is slowly fading away into bit-heaven.

Back in the Delphi days, together with Anders Hejlsberg, Chuck Jazdzweski he has co-architected the the Delphi VCL component architecture and the foundations of the Delphi IDE.

Nowadays he’s working at Google and even speaking on conferences, grown far beyond his “be at conferences, but just chat with people” in the Delphi days: [WayBackChuck Jazdzewski – NG-Conf April 18–20th 2018 – The World’s Original Angular Conference

Chuck is a Software Engineer on the Angular team at Google. He is a programming language geek, UI framework and component library veteran, and has a passion for simplifying the task of programming. Before Google, he worked at Microsoft and Borland.

–jeroen

Posted in Delphi, Development, Software Development | 2 Comments »

Migrating KPN ISDN MSNs to XS4ALL VoIP: via https://mijn.xs4all.nl

Posted by jpluimers on 2019/01/24

Migrating KPN ISDN MSNs to XS4ALL VoIP: via https://mijn.xs4all.nl:

Reminder to self to finish this when the final ISDN A/D dependency has been resolved.

–jeroen

Read the rest of this entry »

Posted in ISDN, LifeHacker, Power User, Telephony, VoIP | Leave a Comment »