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

Archive for 2019

… compare two JSON structures and pin-point … the differences – – Nicholas Ring – Google+

Posted by jpluimers on 2019/08/20

I’ve added a few WayBack/Archive.is links to the interesting comments by Zoë Peterson from Scooter Software (of Beyond Compare fame) at [WayBack] … compare two JSON structures and pin-point … the differences – – Nicholas Ring – Google+:

Beyond Compare 4 has an optional “JSON sorted” file format that uses jq to pretty print and sort JSON data before comparing it. It’s not included out of the box yet, but you can get a copy here:

If you’re interested in an actual algorithm and not just an app, I don’t have a suggestion handy, but could dig one up. Tree alignment is more complicated than sequence alignment and we did do research into it, but it was quite a few years ago and didn’t get incorporated into BC. XML alignment algorithms were being actively researched back in the aughts and they should trivially transfer to JSON.

It looks like our research mostly ended around 2002, and I wasn’t personally involved in it, so I don’t know how helpful this will be, but here’s what I have:

The general idea in the thread is that JSON – though not as formalised as XML – does have structure, so if you can normalise it, then XML ways of differencing should work.

Normalisation also means that you need to normalise any floating point, date time, escaping, quoting, etc. Maybe not for the faint of heart.

–jeroen

Posted in *nix, *nix-tools, Beyond Compare, Development, diff, JavaScript/ECMAScript, jq, JSON, Power User, Scripting, Software Development, XML, XML/XSD | Leave a Comment »

Enable/Disable Windows 10 “tray” notification area icons

Posted by jpluimers on 2019/08/19

It looks like they reorganised the way you can enable/disable the Windows Notification Area icons (often called “Icon Tray”) in Windows 10.

Up until Windows 8.1, you could run this:

%SystemRoot%\System32\rundll32.exe shell32.dll,Options_RunDLL 5

There you would end up editing the application specific icons.

As of Windows 10, you need to:

  1. Run %SystemRoot%\System32\rundll32.exe shell32.dll,Options_RunDLL 6
  2. Click on “Select which icons appear on the task bar” (or Dutch “Selecteren welke pictogrammen op de taakbalk worden weergegeven”)

So both the index changed, and you need an extra click to get at the application specific icons.

Further more, you can now only turn them on or off, where up until Windows 8.1, you could also choose only show notifications. I think on means only show notifications as for instance the Java Updater with a setting on on Windows 10 disappears after a Java Update has been installed, whereas on Windows 8.1 it would stay unless you switched from on to only show notifications.

The above commands are based on [WayBack] Create Direct Shortcut for “Notification Area Icons” in Windows Vista and Later – AskVG and

–jeroen

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

THE PRINT VERSION

Posted by jpluimers on 2019/08/19

Conference Call Bingo, the viral meme created by E Gilliam. Designed to bring hilarity to your daily drudgery.

Cool: [WayBackTHE PRINT VERSION – PDF

Other versions:

–jeroen

Via: [WayBack] This is one game I hate playing. – Steven Vaughan-Nichols – Google+

Read the rest of this entry »

Posted in Fun, LifeHacker, Power User, Quotes, T-Shirt quotes | Leave a Comment »

Windows: running “mklink” as Administrator “You do not have sufficient privilege to perform this operation.”

Posted by jpluimers on 2019/08/19

Via “mklink” “You do not have sufficient privilege to perform this operation.”:

The [WayBackmklink tool can create NTFS links so multiple directory entries point to the same object.

It requires the [WayBackSeCreateSymbolicLinkPrivilege (in English Windows versions [WayBack] “Create symbolic links”) which is by default not granted to users as it can expose security vulnerabilities.

Even if a user in the Windows Administrators group has the privilege, it still cannot be executed from a regular command-prompt:

C:\Users\Develope>mklink "%temp%\Recycler" c:\$RECYCLE.BIN
You do not have sufficient privilege to perform this operation.

If you grant a regular user the privilege you can execute if from a regular command prompt.

However, as member of the Administrators group, you have to run this from an elevated command-prompt:

C:\Windows\system32>mklink "%temp%\Recycler" c:\$RECYCLE.BIN
symbolic link created for C:\Users\Developer\AppData\Local\Temp\Recycler <<===>> c:\$RECYCLE.BIN

The reason is that members of the Administrators group get two security tokens when they logon: an elevated full-access token and a regular filtered access token.

They key here are the words full-access and filtered: the elevated token gets more access permissions than the account is configured for, but the regular token gets less access permissions than the account is configured for.

This means that a standard command prompt will not get all the access you might exec, as the regular token is the access permissions minus the filtered permissions.

By now you probably guessed that – despite the documentation [WayBack] Windows Vista Application Development Requirements for User Account Control Compatibility leaving out SeCreateSymbolicLinkPrivilege – that is actually part of the filter. So the regular command-prompt lacks the SeCreateSymbolicLinkPrivilege permission and gives you an error message when executing mklink.

This is opposite to a regular user: if you grant it the “Create Symbolic Links” any command-prompt will get the SeCreateSymbolicLinkPrivilege permission.

–jeroen

via:

Posted in Power User, Windows | Leave a Comment »

When archiving in the WayBack machine returns error 400: clear your cookies

Posted by jpluimers on 2019/08/16

When archiving pages in the WayBack machine, despite Privacy Badger having set to “save no cookies”, it still managed to set truckloads of cookies.

So I used the Chrome settings in chrome://settings/content/cookies to disable cookies and now everything is fine.

–jeroen

Read the rest of this entry »

Posted in Chrome, Google, Internet, InternetArchive, Power User, Privacy, WayBack machine | Leave a Comment »

Excel on Mac OS X: Insert, move, or delete page breaks in a sheet

Posted by jpluimers on 2019/08/16

Since I always get confused by the differences in Excel versions (not just between Mac OS X  and Windows):

In Excel for Mac, you can adjust where automatic page breaks occur, add your own page breaks manually, and remove manual page breaks.

Source: [WayBackInsert, move, or delete page breaks in a sheet.

–jeroen

Read the rest of this entry »

Posted in Excel, Office, Office 2011 for Mac, Power User | Leave a Comment »

Is This the Life We Really Want? : Roger Waters : Free Download & Streaming : Internet Archive

Posted by jpluimers on 2019/08/16

I forgot it was released, but then found back an old note to check it out:

[WayBackIs This the Life We Really Want? : Roger Waters : Free Download & Streaming : Internet Archive

I quick listen to a few tracks reminds me of The Wall.

jeroen.

Read the rest of this entry »

Posted in LifeHacker, Music, Power User | Leave a Comment »

TestInsight provides a local JSON web-server from the IDE for the test-runner to communicate from

Posted by jpluimers on 2019/08/15

Stefan Glienke shared the TestInsight default JSON web-server location with me through chat; I like it!

Some endpoints:

The mechanism for accessing this JSON server are implemented in the TestInsight.Client.pas

You can find the endpoint base URL in TestInsightSettings.ini which by default looks like this:

[Config]
BaseUrl=http://WIN10-DELPHI:8102

–jeroen

Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | Leave a Comment »

When Powershell function won’t work: you define them with commas and parentheses, but call them with spaces and no parentheses

Posted by jpluimers on 2019/08/15

The function or command was called as if it were a method. 
Parameters should be separated by spaces. For information about 
parameters, see the about_Parameters Help topic.

Every now and then I bump into the above error. The reason is this:

  1. Functions are defined with commas between parameters and parentheses around them
  2. One-parameter functions can be called with one parameter surrounded by parentheses
  3. Multi-parameter functions need to be called with spaces between parameters and no parentheses surrounding them

Confused? #MeToo

The problem: [WayBackabout_Parameters_Default_Values | Microsoft Docs

Based on [WayBack] Powershell function won’t work.

–jeroen

Posted in CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development | Leave a Comment »

Delphi, SHA-3 and streaming

Posted by jpluimers on 2019/08/15

If I ever need to use SHA-3 in Delphi: [WayBack] Does anyone know of any implementations of SHA-3, that can support TStream? – Nicholas Ring – Google+

The comments have a nice list of libraries supporting SHA-3, and how to do streaming hashing.

–jeroen

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