For my link archive: [WayBack] GitHub – pierrejean-coudert/delphi-libraries-list: List of Delphi Libraries and Frameworks
–jeroen
Posted by jpluimers on 2021/01/14
For my link archive: [WayBack] GitHub – pierrejean-coudert/delphi-libraries-list: List of Delphi Libraries and Frameworks
–jeroen
Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | Leave a Comment »
Posted by jpluimers on 2021/01/13
Just in case I need a nice example about the difference: [WayBack] The difference between thread-safety and re-entrancy – The Old New Thing.
It has both that and the definition:
An operation is “thread-safe” if it can be performed from multiple threads safely, even if the calls happen simultaneously on multiple threads.
An operation is re-entrant if it can be performed while the operation is already in progress (perhaps in another context). This is a stronger concept than thread-safety, because the second attempt to perform the operation can even come from within the same thread.
–jeroen
Posted in Conference Topics, Conferences, Development, Event, Software Development | Leave a Comment »
Posted by jpluimers on 2021/01/13
[WayBack] Programming Wisdom auf Twitter: ““Good code is its own best documentation. As you’re about to add a comment, ask yourself, “How can I improve the code so that this comment isn’t needed?” Improve the code and then document it to make it even clearer.” – Steve McConnell”
Code the why in a clean and understandable way.
Then document the how, and clear up any implementation/usage details that are hard to understand.
–jeroen
Posted in Development, Software Development | Leave a Comment »
Posted by jpluimers on 2021/01/13
I think TVirtualMethodInterceptor is a really nice things added to Delphi XE: it allows you to overwrite virtual methods of a class.
Since the documentation from that era cannot be saved in the WayBack machine, here is some more recent documentation:
Over the years, the underlying RTTI has been improved, so it can now do more than in the past, but is still cumbersome to use, see for instance [WayBack] tutorial script delphi Changing component class at run-time on demand – CODE Q&A Solved and [WayBack] TVirtualMethodInterceptor (Delphi) – RAD Studio Code Examples and [WayBack] Entropy Overload: Virtual method interception and [WayBack] Playing around with TVirtualMethodInterceptor | Delphi Haven with TVirtualMethodLogger.
Luckily there are more powerful alternatives based on the same ideas and/or underlying implementationIn fact, it can do so much for instance on the Spring4D and DSharp frameworks.
A demo is at [WayBack] Delphi sorcery: Pimp your unit tests using mock objects or [WayBack] Delphi sorcery: AOP and duck typing in Delphi.
The demo of the mocking framework was at code.google.com/archive/p/delphisorcery, but now is part of bitbucket.org/sglienke/dsharp at bitbucket.org/sglienke/dsharp/src/master/Source/Testing.
Some relevant directories:
Basically it is a playground for the more often updated and stable Spring4D where these directories and files are relevant:
–jeroen
Posted in Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2021/01/12
[WayBack] Why don’t I get properly translated program output after installing the corresponding language pack? – The Old New Thing.
It means you cannot fully cover all translations when writing software.
More on translating your software at [WayBack] Where can I get the glossary of Microsoft’s standard translations for computer terms? – The Old New Thing « The Wiert Corner – irregular stream of stuff.
–jeroen
Posted in Development, Software Development, The Old New Thing, Windows Development | Leave a Comment »
Posted by jpluimers on 2021/01/12
I’ve this page for my brother: https://martijn.pluimers.com/agenda-month-weather.html.
It serves his agenda plus a few weather widgets.
The weerslag widget fails to load as it’s in an iframe pointing to http but the page is https. That’s not allowed as shown in this nice table at [WayBack] ssl – Insecure content in iframe on secure page – Stack Overflow by amol-ghotankar and richard:
page - iframe - status ----- - ----- - ----------- http - http - allowed http - https - allowed https - http - not allowed https - https - allowed
So I put it behind a simple Apache reverse proxy: https://www.pluimers.com/maps.weerslag.nl/GratisRadar/1201/864/verwacht?zoom=10:
| <Location /maps.weerslag.nl> | |
| ProxyPass http://maps.weerslag.nl | |
| ProxyPassReverse http://maps.weerslag.nl | |
| Require all granted | |
| </Location> |
If they still haven’t fixed their https access, I need to dig deeper into this.
When writing this [Arhive.is] https://maps.weerslag.nl/GratisRadar/1201/864/verwacht?zoom=10 gave a 404 and http://maps.weerslag.nl/GratisRadar/1201/864/verwacht?zoom=10 misbehaved behind the proxy:
–jeroen
Posted in *nix, Apache2, Development, Power User, Web Development | Leave a Comment »
Posted by jpluimers on 2021/01/12
A long time ago (Delphi XE2 era), David Dubois and I helped out Doug find either the cause or a workaround of a memory overwrite in a 32-bit application.
The problem was that a call to Format for a pointe or hex value would give corrupt results, but with a regular integer value it would succeed.
Doug created an example [WayBack] overwriting some memory to simulate the problem.
I provided some steps [WayBack] to help trace such cases down.
In the and a rebuild – first withut madExcept, later with madExcept turned on again – solved the problem.
Likely this was the Delphi IDE becoming corrupt, something which I have seen intermittently over the last two decades.
Be sure to read both answers at [WayBack] delphi – Format and Pointers/Hex Values (Memory Overwrite) – Stack Overflow
–jeroen
Posted in Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2021/01/11
Apparently, during my 15 month rectum cancer fight, I missed the one month window of migrating my opensuse account (because of the sale of opensuse from Microfocus to a German investment company named EQT Partners).
I got the email on may 1st (right before my first surgery) and since I only just am recovering from the last surgery, discovered [Wayback] Community Account Migration:
The Community Accounts (aka. Bugzilla Accounts) will migration to the SUSE datacenter in Nuremberg
SUSE is the largest independent open source company.
We are finalizing this independence also on the technical level.
The Community Accounts (a.k.a. Bugzilla Accounts) were moved back to SUSE to a new system in our Nuremberg data center.All accounts have been migrated. Except for the password.
To access your migrated account a migration tool was offered until June 18th
The migration is no longer possible.
To regain access to your account you have to request a password reset.
This requires that the account has your correct email address registered.
If this is not the case you will have to create a new account.
It looks like the account migration uses Okta (identity management) – Wikipedia as authentication service (quite odd for a German company to use a USA based company for authentication: hellp GDPR!), using mail servers having hostnames not ending in opensuse.org, but like o#.mailrelay.okta.com.
Hopefully identify emails do get through: they are now trying to get past my grey-list filters.
Edit:
The okta mail servers didn’t get through the grey-list, so I forced them to the secondary mail servers where they did get through.
It indicated migration is not possible any more and I should seek help:
At this time your password can only be reset by an administrator. To send them a request, go to your Sign-in Help page. Then click the Request help link.
So I did:
Hi,
Due to my 15 months fight with rectumcancer and the “SUSE Account Changes – Coming soon!” last May not indicating any deadline for the migration, I missed the one month account migration window (2020-05-18 to 2020-06-18) mentioned at https://idp-portal-info.suse.com/
Can you please re-activate the account jeroen.suffix@example.com and re-bind the forums.opensuse.org username accountname for me and send me a password reset email on that above email address?
Thanks,
–jeroen
Edit 20210112:
I got an account activation email, added password/question/mobile-phone-number, then got redirected to https://myaccount.suse.com/app/UserHome, then the “Forums” link allowed me to enter a forums alias the same as my old alias. So it looks it sort of works now: my old
jpluimersposts have not been linked to my new account.
Some reading for when I have more energy:
I just checked and the email about migration did not indicate any deadline apart from that password reset links were valid for 90 days, a lot longer than one month window.
–jeroen
Posted in *nix, Linux, openSuSE, Power User, SuSE Linux | Leave a Comment »
Posted by jpluimers on 2021/01/11
Works on my systems too (I think it works from Windows XP on) to hide users from the home screen: [WayBack] How to Hide User Accounts on the Windows 10 Login Screen – Make Tech Easier.
Run the below .reg file on your machine, or manually add this key (does not need any value): HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\DomainStyleLogon
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\DomainStyleLogon]
Note the empty line at the end of the .reg file: that is by intention.
This will show the last logged-on user on the home screen, but still allows users to perform a switch to other users.
Related: [WayBack] ALWAYS display the last / default user Windows 7 welcome screen
Disable the users on the logon screen from interactive logon
Warning: do NOT disable your administrator user this way!
For why not, see the various users that lost access: [WayBack] Hide User Accounts on Windows 7 Logon – Windows 7 IT Pro > Windows 7 User Interface
net user on the command prompt to list the usernames and note the username you want to hide from the login screenregedit to edit the registryHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonSpecialAccountsSpecialAccounts key, create a new key UserListUserList key, create a new DWORD (32-bit) value with the Value name equal to the username and the Value data to zero (0, which is the default)Example:
SpecialAccountsIf you would like to unhide the hidden
Administratoraccount on Windows 7:
- Boot a Windows 7 Installation DVD or ISO
- go to command prompt and type
regedit -it- click on
HKLMhive and- next navigate
File>>Load hive- navigate to
C:\Windows\System32\configfolder and choose `SOFTWARE` file load it and assign this hive any name for exampleREM_SOFTWARE- open key
HKEY_LOCAL_MACHINE\REM_SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList- remove the
Administratoraccount
- or better way remove the whole key
HKEY_LOCAL_MACHINE\REM_SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts
–jeroen
Posted in Power User, Windows, Windows 10, Windows 7, Windows 8, Windows 8.1 | Leave a Comment »
Posted by jpluimers on 2021/01/11
Cool: [WayBack] Test for modern Internet Standards like IPv6, DNSSEC, HTTPS, DMARC, STARTTLS and DANE.
Their motivation and background: [WayBack] About Internet.nl
–jeroen
Posted in Encryption, HTTPS/TLS security, Power User, Security | Leave a Comment »