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 2020

Tools I use for audio/video downloading, media conversion and audio editing

Posted by jpluimers on 2020/07/03

A friend asked me what tools I use for downloading media, converting it to various formats (including audio extraction) and audio editing.

It is a surprisingly short list:

Most of it runs out of the box on Mac OS X/MacOS/OS X, as I’ve moved there form Windows for most of my day to day access to systems (there is a great set of Microsoft Remote Desktop in the app store: [Archive.isMicrosoft Remote Desktop 8.0 on the Mac App Store and [Archive.isMicrosoft Remote Desktop 10 on the Mac App Store; I like the first one better).

Audacity shortcuts

Read the rest of this entry »

Posted in Apple, Audacity, Audio, ffmpeg, iMac, Mac, Mac OS X / OS X / MacOS, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, MacMini, Media, Power User, Remote Desktop Protocol/MSTSC/Terminal Services, SocialMedia, Windows, YouTube, youtube-dl | Leave a Comment »

delphi – How do I build an array of const? – Stack Overflow

Posted by jpluimers on 2020/07/02

As I one day likely need to pas a dynamically created array of const from scratch (which behind the scenes actually is an array of TVarRec, where each element is, TVarRec which is a variant record that can have both values and pointers to values. So the result will be kind of a mess :)

Further reading:

Edit 20251105: also relevant is this excellent article [Wayback/Archive] Rudy’s Delphi Corner – Open array parameters and array of const which was pointed to me [W/A] at Delphi Developers

--jeroen

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

What is pragmatism? Why do I care? How do I practice it? | Agile Uprising

Posted by jpluimers on 2020/07/02

Pragmatism is possibly one of those words you’ve heard 1000 times and feel confident you know what it means. I did. On the surface, it seems like a straightforward concept. The definition is simple: Pragmatism /’praɡmətɪz(ə)m/ (noun) : an approach that evaluates theories or beliefs in terms of the success of their practical application. The philosophy lies at the heart of many aspects of agile. Think about it, empiricism is deeply tied to pragmatism.

Source: [WayBack] What is pragmatism? Why do I care? How do I practice it? | Agile Uprising

Via: [WayBack] Pragmatism debunked – Marjan Venema – Google+

–jeroen

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

Specifying the msbuild configuration for a Delphi project on the commandline – twm’s blog

Posted by jpluimers on 2020/07/02

Reminder to self: check my own build configurations as there is a difference for Delphi 2007 and Delphi >= 2009: [WayBackSpecifying the msbuild configuration for a Delphi project on the commandline – twm’s blog.

Thomas indicate that:

  • Delphi 2007 uses /p:Config=Debug (or Release)
  • Delphi 2009+ uses /p:Configugration=Debug (or Release)

From my own notes, I think Delphi >= 2009 also understands the Delphi 2007 way.

Via: [WayBack] Starting with Delphi 2007 EmBorCodera switched to msbuild for the build system. The newly introduced .dproj file used since then is a valid build script… – Thomas Mueller (dummzeuch) – Google+

References:

–jeroen

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

The ever so lovely Bézier curve – Freya Holmér – Medium

Posted by jpluimers on 2020/07/01

[WayBackThe ever so lovely Bézier curve – Freya Holmér – Medium:

Bézier curves are, to me, one of the best examples of mathematical beauty

Based on:

Via: [WayBack] Bezier curves, how do they even work – Kristian Köhntopp – Google+

–jeroen

Read the rest of this entry »

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

Programming Wisdom on Twitter: `”The strength of JavaScript is that you can do anything. The weakness is that you will.” – Reg Braithwaite`

Posted by jpluimers on 2020/07/01

[WayBackProgramming Wisdom on Twitter: "The strength of JavaScript is that you can do anything. The weakness is that you will." - Reg Braithwaite

It got commented at by [WayBack] Henrik Hain on Twitter: “My personal highlight :) … “ pointing to [WayBack] is-thirteen/README.md at master · jezen/is-thirteen · GitHub: is-thirteen – Check if a number is equal to 13.

That is an npm I don’t even want to know the dependencies it pulls in (:

I recognised it as Kristian Köhntopp pointed me to it a while ago: FizzBuzz as interview question – video by Tom Scott

–jeroen

 

Posted in Development, History, JavaScript/ECMAScript, Scripting, Software Development | Leave a Comment »

The Piet programming language.

Posted by jpluimers on 2020/07/01

From a while back, an even older (2002, maybe even earlier) graphical programming language named after Piet Mondriaan: [WayBack] The Piet programming language. – Thomas Mueller (dummzeuch) – Google+:

–jeroen

 

Read the rest of this entry »

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

binaryfiles – How to convert PDF binary parts into ASCII/ANSI so I can look at it in a text editor? – Stack Overflow

Posted by jpluimers on 2020/06/30

The first hit of pdf binary to text – Google Search was [WayBack] binaryfiles – How to convert PDF binary parts into ASCII/ANSI so I can look at it in a text editor? – Stack Overflow has many options including:

Since I have qpdf installed on most systems:

Another useful tool to transform a PDF into an internal format that enables text editor access is qpdf. It is a “command-line program that does structural, content-preserving transformations on PDF files”.

Example usage:

 qpdf                                  \
   --qdf                               \
   --object-streams=disable            \
     input-with-compressed-objects.pdf \
     output-with-expanded-objects.pdf
  1. The output of the QDF-mode enforced by the --qdf switch organizes and re-orders the objects neatly. It adds comments to track the original object IDs and page content streams. All object dictionaries are written into a “normalized” standard format for easier parsing.
  2. The --object-streams=disable causes the extraction of (otherwise not recognizable) individual objects that are compressed into another object’s stream data.

The recompress is easy as per [WayBackQPDF Manual:

qpdf /tmp/uncompressed.pdf /tmp/compressed.pdf

The answer is by [WayBack] User Kurt Pfeifle – Stack Overflow who has many other interesting PDF related answers at:

Stackoverflow.com:

Superuser.com:

Serverfault.com:

–jeroen

Posted in Development, EPS/PostScript, PDF, Power User | Leave a Comment »

Just as “curl | sudo sh is not advised”, do not impose running http based scripts in your customers IDE

Posted by jpluimers on 2020/06/30

For a long time, it is advised against to curl | sudo sh or equivalent:

  • [WayBackwhy using curl | sudo sh is not advised? – Stack Overflow

    Because you are giving root access to whatever script you are executing. It can do a wide variety of nasty things.

  • [WayBack] The Security Spectrum of curl | sh

    By far the most irresponsible use of curl | sh is to use it with plain, unauthenticated, insecure HTTP instead of HTTPS. This is because it’s not only possible, but also increasingly likely, that the connection over which the shell script is delivered could have its contents silently modified by anyone in network position between the vendor and the installer—especially if you’re using public Wi-Fi. (If you don’t believe this is a real risk, consider that some companies’ business models revolve around modifying JavaScript delivered over HTTP in-transit—and anyone can hijack Wi-Fi with inexpensive, easy-to-obtain devices.)

So I’m surprised that companies still run content – include JavaScript – over an insecure http transport channel in their customers IDE instances.

Many developers run their IDE as Administrator, but even as regular user this is a large security risk: the transport layer is the easiest to hack and will eventually be hacked.

One such occasion was [WayBack] Delphi 10.2.3: Tools > Options Click OK = Script Error I have another weird situation with Delphi 10.2.3. Anytime I open up the options and click OK I … – Michael Riley – Google+ .

That one actually showed the script executed, but normally you do not see it happening at all.

So my advice:

Run the web-traffic from your development machines over a web-proxy like HTTP Fiddler, then disable all http based scripts.

–jeroen

Line 73: https://gist.github.com/jpluimers/40a60ca1e07bb91fa337ecfebe314d64#file-cf-common-js-L73

Read the rest of this entry »

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

Watch Kevlin Henney’s “Enterprise Programming Tricks for Clean Code” and drink The Singleton Single Malt Scotch Whisky

Posted by jpluimers on 2020/06/30

Watch Enterprise Programming Tricks for Clean Code by Kevin Henney and Agile is Dead by Pragmatic Dave Thomas.

Then (or at the same time) drink [WayBack] The Singleton Single Malt Scotch Whisky | The Singleton.

A few titbits:

I should watch more of his videos; luckily he has a playlist on YouTube.

There is also a Vimeo channel, and an InfoQ channel. These alle are not in sync, because, well, internet.

–jeroen

Read the rest of this entry »

Posted in Design Patterns, Development, Software Development | Leave a Comment »