Archive for 2018
Posted by jpluimers on 2018/07/05
While updating some old code fiddling with the[WayBack] GetThreadId function, I wanted to have some TThread wrapper around it. I had totally forgotten there has been already a means for this since Delphi 2009 (which initially had a bug, but that was worked around at first and fixed later): [WayBack] CurrentThread.
The latest version of Delphi, Delphi 2009, has a CurrentThread class property on the TThread class.
This will return the proper Delphi thread object if it’s a native thread. If the thread is an “alien” thread, i.e. created using some other mechanism or on a callback from a third party thread, then it will create a wrapper thread around the thread handle.
20081001 at 5:00 – [WayBack] Barry Kelly
Sources
–jeroen
Posted in Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi 10.2 Tokyo (Godzilla), Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, QC, Software Development | Leave a Comment »
Posted by jpluimers on 2018/07/04
Since I forget where they hid the [WayBack] Visual Studio – Add File As Link feature, two images from the linked post:
- The icon in the link is different from the normal file:

- Adding as a link is not a separate menu item, but a modification of the file open dialog overlaying the default
Add button with two more options: Add; Add as Link (note Show Previous Versions is a feature of non-Home version of Windows Vista and up).
Do not double click the file name, as that will add (AND COPY TO THE CURRENT PROJECT DIRECTORY !!!1!!!) that file to your current project.

A step by step instruction is at [WayBack] c# – Add File as a Link on Visual Studio – Debug vs Publish – Stack Overflow.
–jeroen
Posted in .NET, Development, Software Development, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2018/07/04
Very cool video based on these logic gates made from domino bricks:
The 4-bit calculator worked.
The 5-bit was set-up failed in part. That conclusion is at around 19:00.
A post mortem is at around 20:00: the machine was setup sizing it too small so the timing was too tight and didn’t work out.
–jeroen
Read the rest of this entry »
Posted in Development, Hardware Development, History | Leave a Comment »
Posted by jpluimers on 2018/07/04
via [WayBack] Is it possible to range an arrays in Watches view to specific index range? Sometimes I work with arrays that contain 100Ks lines, and Watches limit the view to index 131071… – Mike Torrettinni – Google+
Reminder to check how well this works:
Given FInts: array of integer;
you can declare `TIntArray = array of integer;`
(I’m sure it exists somewhere already but couldn’t find it at the moment) and then watch, for example
TIntArray(@FInts[150000])
–jeroen
PS: Uwe Raabe commented on G+:
Uwe Raabe+1
You can add a watch variable like arr[4711] and set the
repeat count to a sensible value. Unfortunately this will give you a single line display which is not expandable.
https://quality.embarcadero.com/browse/RSP-19468
“Allow expanding watch variable with repeat count > 1”
Posted in Delphi, Development, Software Development | 1 Comment »
Posted by jpluimers on 2018/07/03
ModelMaker Code Explorer does not allow you to edit the “most recently used” items in that you can use in various places, but luckily these history lists are all in the registry as keys under this base key:
HKEY_CURRENT_USER\Software\ModelMaker\MideX\#.0\Histories
There # is the major version number of ModelMaker Code Explorer (internally named MideX).
Under the base key, you can find these keys:
ExternalSpac not figured out yet
InterfaceSupport not figured out yet
Object PascalParameters list limited to 60 individual parameters (“Modifier Name: Type = Default”)
Parameters list limited to 60 parameter lists in the “Edit Method” wizard.
PascalTypeNames list limited to 60 variable types
PascalVarLookup list limited to 60 variables (each of form “Variable: Type”) used in the “Add Explaining Variable” wizard.
PropArray array indexes used in the property editor
PropDefaultSpec default values of properties in the property editor
PropWriteParam write parameters in the property editor
RenameLocal not figured out yet
ResStrExternalFile not figured out yet
Surrounds not figured out yet
UsedUnits list limited to 30 entries of the uses list editor
If you made a typo anywhere, then just edit or delete these entries.
–jeroen
Posted in Delphi, Development, ModelMaker Code Explorer, Software Development | Leave a Comment »
Posted by jpluimers on 2018/07/03
–
It’s important to describe features right so everyone understands what you mean.
And note that you should end all your IFDEF with IFEND to stay compatible with the broadest set of Delphi versions possible.
–jeroen
Source: [WayBack] delphi – What is the use of NEXTGEN compiler conditional? – Stack Overflow
PS: Note the comment below by Remy Lebeau:
Note, in Delphi XE3 and later, you might also need to use {$LEGACYIFEND ON} (http://docwiki.embarcadero.com/RADStudio/en/Legacy_IFEND_(Delphi)) in order to use {$IFEND} correctly, particularly if you have nested {$IF} and {$IF(N)DEF} blocks in your code.
A quick search for “LEGACYIFEND” “Delphi” “XE3” revealed this directive was indeed introduced in Delphi XE3, but not documented until XE4:
Brian Long documents how to get around the limitation that Remy commented about:
{$ifdef CONDITIONALEXPRESSIONS}
{$if CompilerVersion >= 24.0}
{$LEGACYIFEND ON}
{$ifend}
{$endif}
It is in fact at the top of [WayBack] indy/IdCompilerDefines.inc at master · graemeg/indy · GitHub, which reminds me that there is now a git mirror of Indy at GitHub:
[WayBack] GitHub – graemeg/indy: Indy (Internet Direct) framework. This is an unofficial mirror repository which gets synced every 15 minutes. It contains the full history from the official Indy 10 SVN repository.
–jeroen
Posted in Delphi, Development, Software Development | 2 Comments »
Posted by jpluimers on 2018/07/02
I hear stories of people having their replacement screens stain as well, some of them get a renewed free repair. [WayBack] Apple Extends Free Repairs of Anti-Reflective Coating on Select MacBook and MacBook Pro Models – Mac Rumors.
Affected models for an initial repair:
- MacBook Pro (13-inch, Early 2013)
- MacBook Pro (15-inch, Early 2013)
- MacBook Pro (13-inch, Late 2013)
- MacBook Pro (15-inch, Late 2013)
- MacBook Pro (13-inch, Mid 2014)
- MacBook Pro (15-inch, Mid 2014)
- MacBook Pro (13-inch, Early 2015)
- MacBook Pro (15-inch, Mid 2015)
- MacBook Pro (13-inch, 2016)
- MacBook Pro (15-inch, 2016)
- MacBook Pro (13-inch, 2017)
- MacBook Pro (15-inch, 2017)
- MacBook (12-inch, Early 2015)
- MacBook (12-inch, Early 2016)
- MacBook (12-inch, Early 2017)
–jeroen
Read the rest of this entry »
Posted in Apple, Mac, MacBook, MacBook Retina, MacBook-Pro, Power User | Leave a Comment »
Posted by jpluimers on 2018/07/02
Mikrotik has great hardware, great firmware (if you have the right builds), but notoriously bad documentation and a not so great software release and testing process.
So I might consider switching away, so here are some threats that might lead to alternatives:
–jeroen
Vincent Parret commented at https://plus.google.com/+JeroenPluimers/posts/UWZiufmkdK1
I use ubnt edgerouters, great bang for buck. My ER Pro-8 has been up for 8 months (no reboots) and hasn’t missed a beat, rock solid ipsec vpn. I looked at microtik, but found the edgerouters slightly easier to configure.
Posted in Internet, MikroTik, Power User, routers | Leave a Comment »
Posted by jpluimers on 2018/07/02
Problem:
6 unlabeled buttons: I can not force the input to display port and monitor is searching other ports when host is sleeping. Getting no output when I wake up the host. 😞
Btw, this is for an Acer B326HK monitor. Other than issues with the UI, seems like a decent 4k monitor.
Solution:
my mistake was to use Display Port (Choice was DP or DVI) and the workaround is to disable power state changes on Display Port with something like “xset -dpms“
Source: [WayBack] This could have been an April fool’s joke: telepathic monitor controls… – Grant Grundler – Google+
–jeroen
Posted in *nix, Power User | Leave a Comment »