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

Two reasons I love Visual Studio Code over Atom.io: built-in markdown support and vscode-markdown; just watch the CHANGELOG.md at master · neilsustc/vscode-markdown · GitHub

Posted by jpluimers on 2018/07/03

Boy, I love this so much: [WayBack] vscode-markdown/CHANGELOG.md at master · neilsustc/vscode-markdown · GitHub

Just a few of the screen videos:

  • Formula support
  • Table of Contents (ToC) support including leaving out individual headings:
  • On the fly list renumbering:
  • Image reference completion including image preview:

–jeroen

Posted in Development, Lightweight markup language, MarkDown, Software Development | Leave a Comment »

Delphi – ModelMaker Code Explorer history lists in the registry

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 »

Delphi – directives are not conditionals

Posted by jpluimers on 2018/07/03

Directives are commands to the compiler such as {$D+} or {$WARN xxxx OFF}. Compiler defined conditionals are not “directives”, rather they’re used for conditional directives {$IF Defined(xxxx)} or {$IFDEF xxxx}, where xxxx can be NEXTGEN – Allen Bauer

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: [WayBackdelphi – 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 »

Apple Extends Free Repairs of Anti-Reflective Coating on Select MacBook and MacBook Pro Models – Mac Rumors

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. [WayBackApple 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 »

Just in case I move away from Mikrotik

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 »

Acer B326HK – not finding a signal when the linux host wakes up out of sleep

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: [WayBackThis could have been an April fool’s joke: telepathic monitor controls… – Grant Grundler – Google+

–jeroen

Posted in *nix, Power User | Leave a Comment »

Delphi: formatting uses lists to each unit is on a separate line

Posted by jpluimers on 2018/06/29

Delphi formatter setting, so I can manually arrange uses lists:

–jeroen

Uwe Raabe commented on G+:

Also available in MMX Code Explorer in the settings dialog: Pascal -Sorting – Format unit uses clauses – “Each unit on a new line”.
If you prefer the standard setting and spare the other for special purpose, there is “Format Uses – Alternate” in the context menu. Perhaps give it a decent shortcut for quick access.

Bernd Ott in the same thread:

Important because scm. Less merge trouble. Only the last semicolon in last row is always stupid.

https://plus.google.com/+JeroenPluimers/posts/RfrCkDAd95G

Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | 4 Comments »

VM disk sizes

Posted by jpluimers on 2018/06/29

I forgot to schedule the post below. It is still relevant if you create a machine with lots of Delphi versions on it.

Read the rest of this entry »

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, Database Development, Delphi, Delphi 2007, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Firebird, InterBase, Power User, Software Development, Windows, Windows 8 | 2 Comments »

When you cannot RDP to a target because of “CredSSP-encryption Oracle remediation”: apply your target security patches.

Posted by jpluimers on 2018/06/29

If you get the below error, then your RDP target server needs to be patched.

You can choose to stay vulnerable and modify your policy or registry settings as explained in the first linked article below: that is a temporary “workaround” which I do not recommend. Please update your RDP target servers in stead.

English:

[Window Title]
Remote Desktop Connection

[Content]
An authentication error has occurred.
The function requested is not supported

Remote computer: rdp.example.org
This could be due to CredSSP-encryption Oracle remediation.
For more information, see https://go.microsoft.com/fwlink/?linkid=866660

[OK]

Read the rest of this entry »

Posted in Power User, Windows, Windows 10, Windows 7, Windows 8, Windows 8.1, Windows 9, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 | Leave a Comment »

Wer kann mir erklären: Warum braucht ein Windows10-Update heute immer noch me…

Posted by jpluimers on 2018/06/29

Some historic perspective (although on Windows since quite a long time, you can rename files before replacing them: that works very well):

[WayBack] Wer kann mir erklären: Warum braucht ein Windows10-Update heute immer noch mehrere Reboots? – Kristian Köhntopp – Google+

Zu MS-DOS Zeiten gab es kein Netz und kein Multiprocessing. Als Netz und Fileshares dann dazu kamen, funktionierten viele Anwendungen nicht korrekt.

Zu dieser Zeit hat Microsoft die Entscheidung getroffen, vom Betriebssystem aus Mandatory File Locking für geöffnete Dateien zu implementieren, es sei denn, ein Prozeß stellt das von sich aus anders ein.

Mandatory File Locking heißt in diesem Fall, daß nix und niemand eine Datei anfassen kann, die offen ist, Ein laufendes Executeable, eine DLL oder ein Logfile sind aber immer offen.

Daher gibt es einen Reboot Hook, mit dem ein Updater Dateiersetzungen für einen System Neustart hinterlegen kann. Beim Reboot werden die Dateien dann schnell ausgetauscht bevor sie geöffnet werden.

–jeroen

Posted in History, Power User, Windows | Leave a Comment »