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

Archive for September, 2020

Mike Versteeg tried getting Hi-DPI to work in Delphi 10.2

Posted by jpluimers on 2020/09/03

Wondering how far Mike Versteeg has gotten in the mean time with the newer versions of Delphi that have come up: [WayBack] I’m having a go at multi monitor high DPI support for my styled 64 bit VCL app, which is still not supported in 10.2. Using Scaled and ScaleBy I can com… – Mike Versteeg – Google+

–jeroen

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

undo – Can I delete a git commit but keep the changes – Stack Overflow

Posted by jpluimers on 2020/09/02

I wanted to undo a commit, but forgot how to do that.

[WayBack] undo – Can I delete a git commit but keep the changes – Stack Overflow mentions to use

git reset HEAD^

However, on Windows, the ^ caret is an escape character, so there you have to use a ~ tilde instead:

git reset HEAD~

The last one is used in [WayBack] Git – Reset Demystified, and shorthand for

git reset --mixed HEAD~

The differences between --soft, --mixed and --hard is even better explained in [WayBack] The difference between git reset –mixed, –soft and –hard. From http://stackoverflow.com/questions/3528245/whats-the-difference-between-git-reset-mixed-soft-and-hard · GitHub.

In short:

  • --soft keeps the changes of the undone commit in the index (or staging area)
  • --mixed (default) keeps the changes of the undone commit in the working directory
  • --hard deletes the changes

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management | Leave a Comment »

Cynefin framework – Wikipedia

Posted by jpluimers on 2020/09/02

A long while ago, Kristian Köhntopp explained most of the categories in [WayBackCynefin framework – Wikipedia using very simple terms, which I have translated like below.

  • Specifications work if you are operating in in “Obvious”. Then all constraints are discoverable and known.
  • In “Disorder” (the middle, or “Explorative”) that is not possible and you have to iterate to .
  • In “Complicated” the constraints are, after all, static.
  • In “Complex”, the active constraints depend on past decisions made.
  • In “Chaotic”, there is no plan and you have to try around wild and see what’s going on. This is the world of venture capital to finance start-ups.

I like the bigger picture below a lot better, as it at least names the “Disorder” middle section which is not in the summary diagram on the right. “Disorder” is exactly the place you want to get and stay out of.

All pictures from WikiMedia.

Via: [WayBack] “Kitzel mich!” “Kitzel mich, aber nur bis ich Stop rufe!” “Kitzel mich, aber nur bis ich Stop rufe! Und unter der Bettdecke bin ich sicher!” “Kitzel m… – Kristian Köhntopp – Google+

(“Tickle Me!” “Tickle me, but only until I stop calling!” “Tickle me, but only until I call Stop! And under the blanket, I’m safe!” “Tickle me, but only until I call Stop! And under the blanket, I’m safe! And pulling away the blanket is forbidden!” The son is bound to become a software developer.)

“Obvious” is what a lot of (government) organisations think you and they are in when applying regulations. In reality, “Complex” likely applies best.

–jeroen

Read the rest of this entry »

Posted in Development, Software Development | Leave a Comment »

Delphi consensus: interface implementing classes expose methods at private or protected level.

Posted by jpluimers on 2020/09/02

Interesting consensus at which is very similar to my experience: [WayBack] I’ve inherited a project and the developer uses lots of interfaces (All good here!). Then when they develop the interfaced classes, the methods from th… – John Kouraklis – Google+

Some go even further and even declare the classes in implementation sections, but for me that gives too much RTTI hassle:

Private types (types in the implementation section of units) do not get qualified names.

via: Delphi: TRttiContext.GetType versus TRttiContext.GetTypes is not about singular versus plural…

–jeroen

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

Some banking apps are not so privacy friendly

Posted by jpluimers on 2020/09/01

Some baking apps want a lot of permissions, including privacy sensitive ones.

Maybe they should split themselves in a small, non-intrusive app that allows payment confirmation, and fatter (hopefully less intrusive than now) app for account management.

For now, I try to avoid these apps as they are single points of failures.

ING had a great TAN code system on paper. It hardly had any side-channel attack vectors, and by putting some copies in geographically distinct locations, you had good and safe back-ups too.

It looks like the successor is a single point of failure: only one scanner device per account holder is possible.

Let’s see what the future will bring.

Related:

 

–jeroen

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

hash – Why is Git not considered a “block chain”? – Stack Overflow

Posted by jpluimers on 2020/09/01

Still an interesting question: [WayBackhash – Why is Git not considered a “block chain”? – Stack Overflow.

With my limited knowledge of both, I think git is a Merkle tree without both a proof of work and consensus system. That would make it the chain part of block chain, and the without bits the block.

How wrong am I?

 

It seems I still have a lot to learn about Merkle tree related stuff, so on my research list:

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, LifeHacker, Power User, Software Development, Source Code Management | Leave a Comment »

The iron triangle of planning | Atlassian

Posted by jpluimers on 2020/09/01

The traditional iron triangle of planning is turned up-side down when being agile: [WayBack] The iron triangle of planning | Atlassian.

On the left, the traditional triangle, on the right the agile one.

Via: [WayBack] The iron triangle of planning The Agile Coach – Marjan Venema – Google+

–jeroen

https://www.youtube.com/watch?v=cA41Cf8UOKo

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