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,865 other followers

Archive for July 16th, 2021

Custom Resolution Utility (CRU)

Posted by jpluimers on 2021/07/16

This tool can help resetting monitor/display configurations for when your machines gets out of suspend/sleep/shutdown mode and resets the displays to wrong defaults (especially wrong scaling).

Documentation and download: [WayBack] Custom Resolution Utility (CRU)

Custom Resolution Utility (CRU) allows custom resolutions to be defined for both AMD/ATI and NVIDIA GPUs by creating EDID overrides directly in the registry without dealing with .inf files. Download:

Note the requirements:

Old version at [WayBack] GitHub – radamar/Custom-Resolution-Utility-ToastyX: Custom Resolution Utility for Windows by ToastyX, duplicated so the source won’t be lost..

Short instructions (but be sure to read the long ones above as well) slightly rephrased for readability:

  1. For each monitor
    1. Disable all of the default “Established Resolutions”
    2. Delete all of the default “Detailed Resolutions”
    3. Delete all of the default “Standard Resolutions”
    4. Add a new “Detailed Resolution”
    5. Under new “Detailed Resolution” I left all of the settings the same except for the active horizontal and vertical pixel dimensions, which is obviously where you set your desired screen resolution.
  2. Once all monitors are configured properly, close CRU and run the restart.exe or restart64.exe included with CRU and you should be good to go!

Read the rest of this entry »

Posted in Power User, Windows, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Vista | Leave a Comment »

CloudFlare knows how to do public postmortems on outages

Posted by jpluimers on 2021/07/16

Everyone can learn from an outage. CloudFlare shows how to do it right, for instance on the RegEx-going-wild downtime 2 years ago.

So it’s time to link to that one again: [WayBack] Details of the Cloudflare outage on July 2, 2019

More like these at [WayBack] Post Mortem – The Cloudflare Blog.

More on evaluating regular expressions in linear time:

  • [WayBack] Regular Expression Search Algorithm KEN THOMPSON Bell Telephone Laboratories, Inc., Murray Hill, New Jersey
  • [WayBack] Programming Techniques: Regular expression search algorithm / [WayBack] Programming Techniques: Regular expression search algorithm

    A method for locating specific character strings embedded in character text is described and an implementation of this method in the form of a compiler is discussed. The compiler accepts a regular expression as source language and produces an IBM 7094 program as object language. The object program then accepts the text to be searched as input and produces a signal every time an embedded string in the text matches the given regular expression. Examples, problems, and solutions are also presented.

    Programming Techniques: Regular expression search algorithm

    Full Text: PDFPDF
    Author: Ken Thompson Bell Telphone Labs, Inc., Murray Hill
    Published in:
    Cover Image
    · Magazine
    Communications of the ACM CACM Homepage archive
    Volume 11 Issue 6, June 1968
    Pages 419-422
    ACM New York, NY, USA
    table of contents doi>10.1145/363347.363387
  • Thompson’s construction – Wikipedia

    is a method of transforming a regular expression into an equivalent nondeterministic finite automaton (NFA)

    The algorithm works¬†recursively¬†by splitting an expression into its constituent subexpressions, from which the NFA will be constructed using a set of rules.[3]¬†More precisely, from a regular expression¬†E, the obtained automaton¬†A¬†with the transition function¬†őī¬†respects the following properties:

    • A¬†has exactly one initial state¬†q0, which is not accessible from any other state. That is, for any state¬†q¬†and any letter¬†a,¬†{\displaystyle \delta (q,a)}¬†does not contain¬†q0.
    • A¬†has exactly one final state¬†qf, which is not co-accessible from any other state. That is, for any letter¬†a,¬†{\displaystyle \delta (q_{f},a)=\emptyset }.
    • Let¬†c¬†be the number of concatenation of the regular expression¬†E¬†and let¬†s¬†be the number of symbols apart from parentheses ‚ÄĒ that is,¬†|,¬†*,¬†a¬†and¬†őĶ. Then, the number of states of¬†A¬†is¬†2s¬†‚ąí¬†c¬†(linear in the size of¬†E).
    • The number of transitions leaving any state is at most two.
    • Since an NFA of¬†m¬†states and at most¬†e¬†transitions from each state can match a string of length¬†n¬†in time¬†O(emn), a Thompson NFA can do pattern matching in linear time, assuming a fixed-size alphabet.
  • [WayBack] A Regular Expression Matcher Code by Rob Pike Exegesis by Brian Kernighan

Via [WayBack] Details of the Cloudflare outage on July 2, 2019 | Hacker News

–jeroen

Posted in Algorithms, Development, Power User, RegEx, Software Development | Leave a Comment »

ESXi 6.7 and up: embedded busybox wget understands https (finally!)

Posted by jpluimers on 2021/07/16

At last, somewhere around ESXi 6.7, the built-in BusyBox tool wget started to support the https protocol.

Yay!

Which means that workarounds in these answers are not needed any more:

It was a big BusyBox version bump (from 1.22.x to 1.29.x)  between ESXI 6.5 and 6.7, especially since 1.26.x versions (that introduced wget) have been available way before ESXi 6.5 came out: [WayBack] BusyBox.

From an ESXi 6.5U2 host

[root@ESXi-X10SRH-CF:/tmp] wget https://www.example.org
wget: not an http or ftp url: https://www.example.org
[root@ESXi-X10SRH-CF:/tmp] wget --help
BusyBox v1.22.1 (2018-07-23 19:34:04 PDT) multi-call binary.

Usage: wget [-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT] URL...

Retrieve files via HTTP or FTP

    -s  Spider mode - only check file existence
    -c  Continue retrieval of aborted transfer
    -q  Quiet
    -P DIR  Save to DIR (default .)
    -O FILE Save to FILE ('-' for stdout)
    -U STR  Use STR for User-Agent header
    -Y  Use proxy ('on' or 'off')

[root@ESXi-X10SRH-CF:/tmp] vmware -l
VMware ESXi 6.5.0 Update 2

From an ESXi 6.7U2 host

[root@ESXi-X9SRI-3F:/tmp] wget https://www.example.org
Connecting to www.example.org (93.184.216.34:443)
index.html           100% |******************************************************************************************|  1270  0:00:00 ETA
[root@ESXi-X9SRI-3F:/tmp] wget --help
BusyBox v1.29.3 (2018-11-02 15:37:50 PDT) multi-call binary.

Usage: wget [-c|--continue] [--spider] [-q|--quiet] [-O|--output-document FILE]
    [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]
    [-S|--server-response] [-U|--user-agent AGENT] URL...

Retrieve files via HTTP or FTP

    --spider    Only check URL existence: $? is 0 if exists
    -c      Continue retrieval of aborted transfer
    -q      Quiet
    -P DIR      Save to DIR (default .)
    -S          Show server response
    -O FILE     Save to FILE ('-' for stdout)
    -U STR      Use STR for User-Agent header
    -Y on/off   Use proxy
[root@ESXi-X9SRI-3F:/tmp] vmware -l
VMware ESXi 6.7.0 Update 2

–jeroen

Posted in ESXi6.5, ESXi6.7, Power User, Virtualization, VMware, VMware ESXi | Leave a Comment »

 
%d bloggers like this: