The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Archive for the ‘Software Development’ Category

To bypass a Chrome certificate/HSTS error, you can type ‘badidea’ (previously ‘thisisunsafe’) without quotes (this might change in the future)

Posted by jpluimers on 2021/11/11

For expired or self-signed certificates with an untrusted chain, you might want to by base the Chrome certificate/HSTS error message.

Instead of clicking a few times, you can also type ‘badidea’ (this used to be ‘thisisunsafe’ and might change again someday).

Based on: [WayBack] security – Does using ‘badidea’ or ‘thisisunsafe’ to bypass a Chrome certificate/HSTS error only apply for the current site? – Stack Overflow

Found via [WayBack] KPN-klanten kunnen Experiabox V10A niet benaderen door verlopen certificaat – Computer – Nieuws – Tweakers

Source code that handles this: [WayBack] components/security_interstitials/core/browser/resources/interstitial_v2.js – chromium/src – Git at Google

/**
 * This allows errors to be skippped by typing a secret phrase into the page.
 * @param {string} e The key that was just pressed.
 */
function handleKeypress(e) {
  var BYPASS_SEQUENCE = 'badidea';
  if (BYPASS_SEQUENCE.charCodeAt(keyPressState) == e.keyCode) {
    keyPressState++;
    if (keyPressState == BYPASS_SEQUENCE.length) {
      sendCommand(SecurityInterstitialCommandId.CMD_PROCEED);
      keyPressState = 0;
    }
  } else {
    keyPressState = 0;
  }
}

–jeroen

Posted in Chrome, Development, Encryption, https, HTTPS/TLS security, Power User, Security, Web Browsers, Web Development | Leave a Comment »

[MS-ERREF]: NTSTATUS Values | Microsoft Docs

Posted by jpluimers on 2021/11/11

Searching for Windows error codes (like the ones in blue screens) often leads to web-sites with an incomplete list.

This is very complete: [WayBack] [MS-ERREF]: NTSTATUS Values | Microsoft Docs

–jeroen

Posted in Development, Software Development, Windows Development | Leave a Comment »

Drawing with nice handwriting

Posted by jpluimers on 2021/11/10

Did you also wonder about the nice handwriting in the diagrams of yesterday’s post @adamsand0r drew up a few sketches of design decisions needed to be taken when building a #gitops-based CD pipeline « The Wiert Corner – irregular stream of stuff?

I did too.

They are from [Archive.is] Excalidraw | Hand-drawn look & feel • Collaborative • Secure, with source code at [Archive.is] GitHub – excalidraw/excalidraw: Virtual whiteboard for sketching hand-drawn like diagrams.

Via:

–jeroen

Posted in Development, Documentation Development, LifeHacker, Power User, Software Development | Leave a Comment »

🔎Julia Evans🔍 on Twitter: “ten questions about UDP”

Posted by jpluimers on 2021/11/10

From a while back, but still relevant when you learn all your life:

[Archive.is] 🔎Julia Evans🔍 on Twitter: “ten questions about UDP: “

[WayBack] UDP questions

Hello! Here are some questions & answers. The goal isn’t to get all the questions “right”. Instead, the goal is to learn something! If you find a topic you’re interested in learning more about, I’d encourage you to look it up and learn more

–jeroen

Read the rest of this entry »

Posted in Communications Development, Development, Internet protocol suite, Software Development, UDP | Leave a Comment »

/me is a 1x.engineer

Posted by jpluimers on 2021/11/09

It is totally OK to be an 1x engineer instead of a 10x engineer.

The link below shows why, what 1x engineers actually do and how much value they add.

[WayBack/Archive.is] 1x Engineer

The official website of 1x Engineers around the world.

If you have more to add to that list, feel free to add a pull request to the underlying repository: [WayBack/Archive.is] GitHub – cutenode/1x.engineer: The official website of 1x Engineers around the world

–jeroen

Posted in Development, Software Development | Leave a Comment »

Infusion pump and PCA (patient-controlled analgesia) calculation

Posted by jpluimers on 2021/11/09

This is a great PCA calculator: [Archive.is] CADD calculator 0.5BETA END USER Google Docs – Google Sheets

Via:

Related:

–jeroen

Read the rest of this entry »

Posted in Development, Excel, Google, GoogleDocs, GoogleSheets, Office, Office Automation, Office VBA, Power User, Scripting, Software Development | Leave a Comment »

Some links on Delphi compiler potential speed improvements…

Posted by jpluimers on 2021/11/04

A long time ago, there was an interesting blog post referenced from [WayBack] See how you can use Delphi’s upcoming new language feature to improve performance of your code. – Erik van Bilsen – Google+ referred to [WayBack] Inline Variables can increase performance – grijjy blog which made me comment [WayBack] “given the potential performance improvements the compiler already could do, and how long they could have been done, I would not bet on these new improvements becoming reality anytime soon.” that I later backed up with these links:

One of the observations there is that since Delphi 2005, no major compiler speed improvements have been done, and that even between Delphi 5 and 2005 mot much has been done either.

From my point of view, the – not so big – Delphi compiler team is very busy keeping balls up in the air supporting the many compiler targets and architecture changes that have been introduced over the past decade or so, that they do not have resources to improve code generation other than rely on the LLVM tool chain (which is not used for Windows x86 and x64 development that covers like 90+% of the Delphi users).

In my book, when you need an “inline var”, you usually want to refactor that bit of code into a separate method anyway.

Refactoring out parts of code that have implicit try/finally blocks for managed variables or records is a strategy that can improve execution speed in many Delphi applications anyway, especially if that piece of code is outside of the happy flow: it moves unneeded overhead out of that flow.

This is actually a strategy used for instance in the Spring4D library: Stefan Glienke has a very good insight in how the compiler works and did magic to some performance critical code paths there.

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »

Windows 10: remove applications from the uninstall list

Posted by jpluimers on 2021/11/04

After doing Windows upgrades to Windows 10, every now and then I bump into applications that do not fully uninstall themselves and get stuck on the uninstall list (that you get when running appwiz.cpl or browse to the Control Pannel installed programs list).

[WayBack] How to Manually Remove Programs from the Add/Remove Programs List mentions to inspect registry key HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall, but that didn’t include some of the applications.

Then I found [WayBack] Remove entry from Windows 10 Apps & Features – Super User, where the answers mentions two other keys (thanks users [WayBack] Kreiggott and [WayBack] NutCracker):

  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall

Neat!

So I made the below PowerShell script to dump installed programs.

It grabs the list of registry keys containing installed software and their registry values, then empirically filters out most values that are also now shown in AppWiz.cpl.

Like database work, the values can have properties having a value or being null. So it’s SQL like expression galore to do the filtering.

This post is slightly related to Still unsolved since 2015 NetBeans: Bug 251538 – Your Installer is Creating Invalid Data for the NoModify DWORD Key which crashes enumeration of the Uninstall Key in at least PowerShell, where I already did (without documenting) some Uninstall spelunking.

## The collection of registry keys gives Name and Property of each registry key; where Property is compound containing all registry values of that key.
## Get-ItemProperty will get you all the values on which you can filter, including a few special PS* values that allow you to browse back to the registry key.

# x86 installs on x64 hardware: http://stackoverflow.com/questions/12199372/get-itemproperty-not-returning-all-properties/12200100#12200100
$nonUninstallableSoftwareRegistryKeys = (@
(Get-Item HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*)) + 
(Get-Item HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*) + 
(Get-Item HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*)
    
#$nonUninstallableSoftwareRegistryKeys.GetType().FullName
#$nonUninstallableSoftwareRegistryKeys | Get-Member
#$nonUninstallableSoftwareRegistryKeys | Out-GridView
#$nonUninstallableSoftwareRegistryKeys | Get-ItemProperty | Get-Member
#$nonUninstallableSoftwareRegistryKeys | Get-ItemProperty | Out-GridView
#Return
    
$nonUninstallableSoftwareRegistryNameValues = $nonUninstallableSoftwareRegistryKeys | 
    Get-ItemProperty |
    Where-Object {
        $_.SystemComponent -ne 1 -and $_.NoRemove -ne 1 -and
        $_.UninstallString -ne "" -and $_.UninstallString -ne $null
    }
# Filters out most things that AppWiz.cpl will leave out as well.
# Might need more fine tuning, but is good enough for now.

# PSPath shows the path to the underlying registry key of each value
$nonUninstallableSoftwareRegistryNameValues |
    Select-Object SystemComponent, NoRemove, DisplayName, DisplayVersion, UninstallString, PSChildName <#, PSPath #> |
    Sort-Object DisplayName |
    Out-GridView
# Need to find a good way to output this in a really wide Format-Table text format.

–jeroen

Posted in CommandLine, Development, Power User, PowerShell, PowerShell, Scripting, Software Development, Windows, Windows 10 | Leave a Comment »

I love the way it shows “Duden Offline”

Posted by jpluimers on 2021/11/04

This does not happen often, and I found the way that [WayBack] Duden Offline is indicated hilarious!

It’s just a “basic” HTML page showing the meaning of “Wartung” (German word for Maintenance).

Duden is het German equivalent of the Oxford English Dictionary.

Not all of the huge site was gone. Part of the “Rechtschreibung” was still there, including the Wikipedia entry (:

I wonder what that one shows during maintenance (:

Links:

–jeroen

Read the rest of this entry »

Posted in CSS, Development, Fun, HTML, HTML5, Power User, Software Development, Web Development | Leave a Comment »

Some links on embedding browsers on Linux using .NET

Posted by jpluimers on 2021/11/03

For my research list. Links thanks to Matthijs ter Woord.

–jeroen

Posted in .NET, Development, Power User, Software Development, Web Browsers | Leave a Comment »