Posted by jpluimers on 2021/02/11
[WayBack] One second code: Do YOU know how much your computer can do in a second? is a quiz version of the [WayBack] Numbers Every Programmer Should Know By Year.
[WayBack] About this game revealed it was made by 3 people curious in the speed of their hardware which – not surprisingly – has been relatively stable over the last decade or so.
Source code is at [WayBack] GitHub – kamalmarhubi/one-second: Fun performance game!
I bumped into it via these tweets:
I like games like this (ever played the The Deadlock Empire multi-threading game?), so I played the computers-are-fast.github.io tests, and learned a lot:
Read the rest of this entry »
Posted in Conference Topics, Conferences, Development, Event, Hardware, Power User, Software Development | Leave a Comment »
Posted by jpluimers on 2021/02/11
I tried searching for F2084 Internal Error: MA1263 – Google Search which happened on a complete up to date Delphi 10.1 Berlin installation.
It came from a large unit testing application using truckloads of generic language constructs, and large unit uses cycles.
Could not find anything useful. The error disappeared after recompiling the same application:

–jeroen
Posted in Delphi, Delphi 10.1 Berlin (BigBen), Development, Software Development | Leave a Comment »
Posted by jpluimers on 2021/02/10
A few years back, coincidentally and funnily shortly after Matt Haig compared confidence in Brexit with science confidence, Kristian Köhntopp explained about theories, in response to this (translated from German) question:
Why is the theory of relativity and evolution theory actually still called ‘theory‘?
The essence of this question is that in everyday speak, people have different idea on theory (thinking it is not yet proven, or can be disputed with very little evidence, both more like hypothesis), than in formal or scientific usage of the word theory:
Theory:
Scientific theories are the most reliable, rigorous, and comprehensive form of scientific knowledge, in contrast to more common uses of the word “theory” that imply that something is unproven or speculative (which in formal terms is better characterized by the word hypothesis).
Theory: Ancient_uses:
The English word theory derives from a technical term in philosophy in Ancient Greek. As an everyday word, theoria, θεωρία, meant “a looking at, viewing, beholding”, but in more technical contexts it came to refer to contemplative or speculative understandings of natural things, such as those of natural philosophers, as opposed to more practical ways of knowing things, like that of skilled orators or artisans.
Theory: Definitions from scientific organizations
The formal scientific definition of “theory” is quite different from the everyday meaning of the word. It refers to a comprehensive explanation of some aspect of nature that is supported by a vast body of evidence.
So Isotopp explained:
[WayBack] Kristian Köhntopp auf Twitter: “Weil sie das sind. Ein System von Theoremen, die ein Modell der Realität darstellen, das es erlaubt Vorhersagen über die Welt zu machen.”
[WayBack ]Thread 1 by @isotopp:
Via [WayBack] Frank Hartmann auf Twitter: “Wieso nennt man die Relativitätstheorie und Evolutionstheorie eigentlich immer noch ‘Theorie’? #Science”
Related:
Read the rest of this entry »
Posted in LifeHacker, Power User, science | Leave a Comment »
Posted by jpluimers on 2021/02/10
Document locations changed, so here are some links to newer and older documentation on LCID related things:
- Delphi: a few short notes on LoadString and loading shell resource strings for specific LCIDs, for which I need to check which ones have suffered from link rot.
- [WayBack] MAKELCID macro | Microsoft Docs:
Creates a locale identifier from a language identifier and a sort order identifier.
- Setting and restoring the default user language:
- API calls:
- Saving/restoring data between locales:
- [WayBack] Using Persistent Locale Data – Windows applications | Microsoft Docs
Using Persistent Locale Data
A globalized application often persists or transmits data, for example, time and date. When deciding how your application should handle data persistence, remember that data is not guaranteed to be the same from computer to computer or between runs of the application. This is true for both locales that ship with Windows and custom locales.
Design of the application must take into account a variety of locale-related data changes that can occur. For example:
- Currency symbols can change as countries adopt the Euro.
- Regional preferences can change. For example, the format d/m/y might change to the format m/d/y for a particular locale.
- The spelling of day names can change due to spelling reforms. Additionally, casing can change for month or day names.
An application that persists data should use locale-independent formats for storage and data interchange. Examples are hard-coded or standard formats; the invariant locale LOCALE_NAME_INVARIANT; and binary storage formats.
If persistent sorting data is required, the application must use the CompareStringOrdinal function. Remember that an invariant format does not remain invariant for sorting, only for locale and calendar data.
Use the User Default Locale for Data Presentation
To present persistent data, it is best for the application to reformat the data using the user default locale. Use of this locale allows user overrides. For more information, see LOCALE_USER_DEFAULT.
More Delphi related links:
–jeroen
Posted in Development, Internet, link rot, Power User, Software Development, Windows Development, WWW - the World Wide Web of information | Leave a Comment »
Posted by jpluimers on 2021/02/10
A long time ago, I write a question [WayBack] delphi – Should the compiler hint/warn when passing object instances directly as const interface parameters? – Stack Overflow in 2010.
It was marked by (now former) compiler engineer Barry Kelly [WayBack1/WayBack2] as bug:
It’s a bug. The conversion from instance to interface reference in RunLeakCrash should be to a temporary variable, keeping it alive for the duration of RunLeakCrash.
Added to that was a comment that this has happened since at least Delphi 6, so I filed a bug WayBack QualityCentral Report #: 90482 The compiler should keep a hidden reference when passing freshly created object instances directly as const interface parameters.
Just for years later, it was marked with “As Designed” which means it is never going to be fixed, especially since in the mean time Embarcadero got rid of most the senior Delphi R&D team members and went down the path of hiring contractors.
The problem is that I run into the two manifestations every now and then, and it usually takes a long time debugging to zoom into the actual location of the spots.
First manifestation: crash
This is the bug in the first manifestation (by now the root interface is IInterface instead of IUnknown, and you usually have an interface derived from it):
Read the rest of this entry »
Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development, Undocumented Delphi | Leave a Comment »
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 »
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 »
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 »