For my link archive: [WayBack] Forced routing of selective emails to ISP SMTP via Mikrotik Routing | Syed Jahanzaib Personal Blog to Share Knowledge !
–jeroen
Posted by jpluimers on 2021/01/14
For my link archive: [WayBack] Forced routing of selective emails to ISP SMTP via Mikrotik Routing | Syed Jahanzaib Personal Blog to Share Knowledge !
–jeroen
Posted in Development, MikroTik, Power User, RouterOS, routers, Scripting, Software Development | Leave a Comment »
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/08
[WayBack] Roderick Gadellaa on Twitter: “In case anyone who owns an Android TV is interested: I’ve built a (very, very) simple app that (re)sets the volume of the TV to 8% of the max volume every time you turn it on. #androidtv #tools…”
[WayBack] Roderick Gadellaa on Twitter: “Some instructions: – You have to sideload it (google is your friend: “how to sideload app on android tv”) – You have to start the app once. It won’t show up on Home, so go to Settings > Apps > TvVolsetr > Open – Android TV 7.0 Nougat or higher required”
[WayBack] Roderick Gadellaa auf Twitter: “Some instructions: – You have to sideload it https://t.co/8aK0bmXXFl – You have to start the app once. It won’t show up on Home, so go to Settings > Apps > TvVolsetr > Open – Android TV 7.0 Nougat or higher required”
Follow only the images links from [Archive.is] “how to sideload app on android tv” – Google Search, as the others point to phishing sites.
This image link for instance is useful: [WayBack] How to Sideload Apps on Android TV: Android TV is an excellent product for anyone who wants to expand their current living room setup—it makes easy work of streaming most content, has a slew of games (that are actually worth playing), and is relatively inexpensive. But what happens when an app you want on your TV isn’t available for your device?
Download: [WayBack] tvVolsetr.apk
–jeroen
Posted in Android, Android Devices, Mobile Development, Power User, Software Development | Leave a Comment »
Posted by jpluimers on 2021/01/07
[Archive.is] Waarom een onderzoek met maar 7 respondenten toch goed kan zijn | De Volkskrant: Denkfouten in het hedendaags ontwerp gefileerd door innovatie-expert (en cabaretier) Jasper van Kuijk. Deze week: gebruikstest.
Quantitative studies often require large numbers of respondents, but quantitative studies can be done with a very small group.
While quantitative studies often will get you just one result (I rate this application a 7 out of 10, or with this A/B change, click through increases by 5%), qualitative studies will get you much more specific comments like “the main menu is cluttered”, or “the design is slick” (translated from the Image in the article).
Extensive research was done for a 2003 published paper [Archive.is] Beyond the five-user assumption: Benefits of increased sample sizes in usability testing which you can read as PDF [WayBack].
[WayBack] Jasper van Kuijk on Twitter: “Mijn ‘Hoe moeilijk kan het zijn?’ van vandaag. Waarom voor gebruiksgemak een gebruikstest met 7 participanten nuttiger is dan een enquête met 1500 respondenten. #HMKHZ via de @volkskrant”
[WayBack] Ionica Smeets on Twitter: “Hear, hear! Aldus een wiskundige die heel wat jaren nodig had om waarde van kwalitatief onderzoek in te zien…”
and
and
–jeroen
Posted in Development, Software Development, Testing, Usability, User Experience (ux) | Leave a Comment »