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

Archive for 2021

How do I pretty-print JSON in Delphi? – Stack Overflow

Posted by jpluimers on 2021/02/09

For my archive: the [WayBack] How do I pretty-print JSON in Delphi? – Stack Overflow answer by [WayBack] Bob:

If you do not want to use any external library, and you’re using a Delphi XE5 or newer, there is a very handy TJson.Format() function in the REST.Json unit.

uses json, REST.Json;

{ ... }    

function FormatJSON(json: String): String;
var
  tmpJson: TJsonObject;
begin
  tmpJson := TJSONObject.ParseJSONValue(json);
  Result := TJson.Format(tmpJson);

  FreeAndNil(tmpJson);
end;

–jeroen

Posted in Delphi, Development, JavaScript/ECMAScript, JSON, Scripting, Software Development | 2 Comments »

Everything force rescan all volumes – via voidtools forum

Posted by jpluimers on 2021/02/08

Sometimes the Everything search tool gets out of sync with the actual contents on disk, so this tip from [WayBack] Everything 1.3.1.636b does not “refresh” – voidtools forum will rescan all volumes and update the database:

To rebuild the Everything database:

  • In Everything, from the Tools menu, click Options.
  • Click the Indexes tab.
  • Click Force Rebuild.

If that fails, you can always remove/add the volumes:

–jeroen

Posted in Everything by VoidTools, Power User, Windows | Leave a Comment »

Nikon D700 Firmware A:Ver.1.04/B:Ver.1.03 2013/05/21

Posted by jpluimers on 2021/02/08

Links for Nikon D700 Firmware A:Ver.1.04/B:Ver.1.03 2013/05/21

Via:  [Cache/Archive.is] Approved Memory Cards – D700

–jeroen

Posted in Nikon, Photography, Power User | Leave a Comment »

🔎Julia Evans🔍 on Twitter: “ethtool… “

Posted by jpluimers on 2021/02/08

[WayBack] 🔎Julia Evans🔍 on Twitter: “ethtool… “

With a lot of responses, including:

–jeroen

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

Is there a way to increase the rate at which Gmail fetches mail from another account? – Web Applications Stack Exchange

Posted by jpluimers on 2021/02/05

[WayBack] Is there a way to increase the rate at which Gmail fetches mail from another account? – Web Applications Stack Exchange got a nice follow-up on Twitter:

This is way better than suggestions from the past: increase the frequency in which email arrives at the POP3 account.

Related: [WayBack] mobile – Can I control how often Gmail polls POP3 accounts for incoming mail? – Web Applications Stack Exchange

–jeroen

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

bash – How to get the primary IP address of the local machine on Linux and OS X? – Stack Overflow

Posted by jpluimers on 2021/02/05

[WayBack] bash – How to get the primary IP address of the local machine on Linux and OS X? – Stack Overflow (thanks [WayBackCollin Anderson!):

I tried on OS X 10.13.6 (macOS High Sierra) and these two work fine:

ip route get 1 | awk '{print $NF;exit}'

and

ip route get 8.8.8.8 | head -1 | cut -d' ' -f8

The first one needs the $ back-slash escaped as bash alias; the second does not need that.

Related:

–jeroen

Posted in *nix, *nix-tools, Apple, bash, Mac OS X / OS X / MacOS, macOS 10.13 High Sierra, Power User | Leave a Comment »

Thread by @b0rk: “nmap i haven’t used nmap much except to scan my home network for fun so if i missed something really important i’d love to know! […]”

Posted by jpluimers on 2021/02/05

[WayBack] Thread by @b0rk: “nmap i haven’t used nmap much except to scan my home network for fun so if i missed something really important i’d love to know! […]”


i haven’t used nmap much except to scan my home network for fun so if i missed something really important i’d love to know!

also i need to find space in there somewhere for “if you don’t run nmap as root it can’t send icmp (ping) packets, it’s better to run nmap as root”

also be careful when nmapping in a network you don’t administer! it’s a popular hacking tool so using nmap is often discouraged / banned. i made all of the examples in this comic “nmap scanme.nmap.org” and “nmap your home network” for a reason :)

There are are quite a few interesting comments on the thread:

And it taught me about scanme.nmap.org: [WayBack] Go ahead and ScanMe!

Hello, and welcome to Scanme.Nmap.Org, a service provided by the Nmap Security Scanner Project and Insecure.Org.

We set up this machine to help folks learn about Nmap and also to test and make sure that their Nmap installation (or Internet connection) is working properly. You are authorized to scan this machine with Nmap or other port scanners. Try not to hammer on the server too hard. A few scans in a day is fine, but dont scan 100 times a day or use this site to test your ssh brute-force password cracking tool.

Thanks
Fyodor

–jeroen

Read the rest of this entry »

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

Twitter @Nick_Craver: “I’ve talked with so, so many new devs over the years and far too many are afraid to try because they’re afraid to fail. So do me a favor, share your failures […]”

Posted by jpluimers on 2021/02/04

Every now and then it is good to read back this [WayBack] thread by @Nick_Craver: “

I’ve talked with so, so many new devs over the years and far too many are afraid to try because they’re afraid to fafavor, share your failures.

So do me a favor, share your failures. Not just the successes. It’s not just about learning from them. Sometimes it’s just about people knowing they happen.

Reminder: you see the successes people are proud of and want to shout from the rooftops for all to see. Far, far fewer people share all the failures leading up to those successes. Yet those missteps are almost always far more numerous.

Hi, I’m a dev. I’ve caused more production outages that I can count. I’ve deleted a production database by accident. I’ve missed hundreds of bugs in code reviews. I try my best. I try to not repeat mistakes. It still happens sometimes. I still think my impact has been a net good.

[…]”

The thing about mistakes is that they do happen, and we need to learn from them. Almost always, it is useless to blame, but do your best to prevent them from happening again by doing blameless post-mortem.

We do however need to become better engineers, so this thread is relevant as well, because the impact of some is not been a net good:

[Cached] WayBack: thread by @www_ora_tion_ca: “This is wildly disingenuous, I speak as a flight instructor and major IT incident investigator. Modern software authors have the professional discipline of a cute puppy in comparison to aviation practitioners. […]”. quoting [WayBack] Alex Stamos on Twitter: “I agree with Chris. This is the kind of thinking that leads to “Why can’t we just have building codes for software? It worked to protect against earthquakes and fire!” Earthquakes and fire aren’t conscious adversaries. Try writing a standards document on how to win at chess.”

My biggest faults:

Read the rest of this entry »

Posted in Agile, Code Quality, Development, Software Development | Leave a Comment »

delphi – Faster DirectoryExists function? – Stack Overflow

Posted by jpluimers on 2021/02/04

From a while back: [WayBack] delphi – Faster DirectoryExists function? – Stack Overflow:

Q

I use

DirectoryExists (const PathName : String);

to check if a directory is reachable from a computer or not. But if the directory does not exist and the path name is a network path, i.e.

\\computer1\Data

the method takes a very long time to return.

There must be a faster way to determine that a network folder is not reachable. Or can I configure some timeout parameter that DirectoryExists uses internally (I looked at the source code but it just delegates to GetFileAttributes which is defined in kernel32)?

Any ideas?

A

There is no faster way:

any function accessing anything on a remote share will timeout when that share is not available.

If the cause of your timeouts is automatic disconnecting of shares, then these link may help you:

If the application can continue without the completion of the check, then you can put the check in a separate thread, and upon completion of the check, you can update your status in the UI.

Be aware that when you try a multi-threading way, that you have to disprove your code is free of race-conditions and memory leaks. Time-outs in combination with exceptions usually make that a hard task.

Related:

–jeroen

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

Chris Foster: Windows Development in a KVM Virtual Machine

Posted by jpluimers on 2021/02/04

For my link archive: [WayBack] Chris Foster: Windows Development in a KVM Virtual Machine covering among others much (mostly based [WayBack] libvirt: The virtualization API) stuff:

Similar posts:

–jeroen

Posted in Development, KVM Kernel-based Virtual Machine, Power User, Proxmox, Software Development, Virtualization, Windows | Leave a Comment »