The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • 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

Archive for the ‘Software Development’ Category

Lightweight Markup: Markdown, reStructuredText, MediaWiki, AsciiDoc, Org-mode – Hyperpolyglot

Posted by jpluimers on 2017/05/03

A great table with comparison of various constructs in Lightweight Markup: Markdown, reStructuredText, MediaWiki, AsciiDoc, Org-mode – Hyperpolyglot

It works much better than the examples in Lightweight markup language – Wikipedia, the free encyclopedia (which does include more languages).

As I’ve switched to “all source – including docs – should be in text format” years ago, I’m a heavy markdown user, but also use reStructuredText, so this table is of great help.

Reminder to self: reStructuredText does not support strikethrough out of the box.

–jeroen

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

Windows 10 Creators update and Delphi debugging don’t go well…

Posted by jpluimers on 2017/05/02

Not sure what the cause and effect are, but various people are having issues running Delphi versions on Windows 10 Creators update. Debugging takes an exceptional long time to load the debuggee.

According to Marco Cantu, it is not limited to Delphi:

“It looks like a change in libraries code relocation, and it affects all debuggers — not just ours.”

A roll-back does make them work again but … there is only a very limited time frame to roll back from Windows 10 Creators update (think days, not weeks).

So for now: if you use Delphi do not install the Windows 10 Creators update unless you:

  • can revert back to a full system backup
  • can roll back in time

Examples:

The the last link cannot be archived, not is publicly accessible, I’ve quoted some parts:

The debugger goes haywire for everyone in our organization with Creators and Tokyo/Berlin. Reverting to Windows Anniversary brings back the sanity.

Debugger problems with Tokyo/Berlin and Creators:

  • App takes a long time to load with modules loading and unloading and re-loading many times
  • IDE freezes
  • Memory consumption of bds.exe explodes, sometimes (> 3GB)

I will attached before and after screenshots showing how modules load and unload and re-load with Windows 10 Creators.

I presume these problems have the same root cause(s) than those in https://forums.embarcadero.com/thread.jspa?messageID=884382

Note that Microsoft is still fledging out issues in Windows 10 Creators Upgrade despite pushing it to more and more Windows 10 machines: [WayBackWindows 10 Creators Update rollout: First phase update – Windows Experience BlogWindows Experience Blog

–jeroen

Read the rest of this entry »

Posted in Delphi, Development, Software Development | 12 Comments »

instead of x86, msbuild is creating an x64 solution configuration via sln.metaproj – Stack Overflow

Posted by jpluimers on 2017/05/02

Sometimes msbuild will throw an error like this  for an x86 project:

"C:\Users\Developer\Versioned\libssh2\build\libssh2.sln" (default target) (1) ->
(ValidateSolutionConfiguration target) ->
C:\Users\Developer\Versioned\libssh2\build\libssh2.sln.metaproj : error MSB4126: The specified solution configuration "Debug|X64" is invalid. Please specify a valid solution configuration using the Configuration and Platform properties
form="Any CPU") or leave those properties blank to use the default solution configuration. [C:\Users\Developer\Versioned\libssh2\build\libssh2.sln]

Cause:

vsvars64.bat will set the environment variable Platform=x64 but vsvars32.bat will not empty this environment variable.

Easiest is to run set Platform= then run vsvars32.bat.

Adopted from MSBuild creating an x64 solution configuration via sln.metaproj – Stack Overflow [WayBack]:

If you are running this in the Visual Studio x64 command window it will set an environment variable Platform=x64 that will be used by msbuild. You can verify this by running echo in the command prompt you are using.

echo %platform%

So you will need to override the default when using x64 cmd, or run from the x86 cmd.

malexander

–jeroen

Posted in .NET, C++, Development, Software Development, Visual Studio 2015, Visual Studio and tools, Visual Studio C++ | Leave a Comment »

Comparing commits across time – via github User Documentation

Posted by jpluimers on 2017/05/02

To get to the compare view, append /compare to your repository’s path.

This brings you the basic comparison interface which is very flexible: just enter a branch, tag or history marker in the dropdowns for base and compare.

Examples from the user docs:

–jeroen

Source: Comparing commits across time – User Documentation

Posted in Development, DVCS - Distributed Version Control, git, GitHub, Software Development, Source Code Management | Leave a Comment »

The SSH Port 22 story

Posted by jpluimers on 2017/04/28

The story isn’t a catch-22, but it is still fun to read:

SSH port is 22. The history of how I (Tatu Ylonen) got it. How to configure it through firewalls and iptables.

It also shows how agile the Internet was back then.

Source: [Archive.isSSH Port

Via: [WayBack] “The SSH (Secure Shell) port is 22. It is not a co-incidence. This is a story I (Tatu Ylonen) haven’t told before.” https://www.ssh.com/ssh/port – This is why I Code – Google+

–jeroen

Posted in Development, History, Internet protocol suite, Software Development, SSH, TCP | Leave a Comment »

FMX.Dialogs basically blocks mixing VCL with FMX…

Posted by jpluimers on 2017/04/27

Nice find:

Stefan Glienke+4

Look into the initialization block of FMX.Dialogs. The call to ActivateClassGroup(TFmxObject); turns off all the TRegGroups that don’t contain at least one type that inherits from TFmxObject which also happens to be the group that you register your form class to. GetClass then ignores such groups.

I don’t have the slightest idea what the intention behind all that code is but it certainly is one of the reasons why you cannot mix FMX and VCL officially.

In response to:

I have an VCL application. I need to register some form classes at run time. This is done in the form’s unit implementation section :

Initialization

If GetClass(‘TfmConnectiondialog’) = Nil Then
Classes.RegisterClass(TfmConnectiondialog);

Suddenly my class wasn’t registered anymore. GetClass(‘TfmConnectiondialog’) was always nil and Classes.RegisterClass had no effects.

After some long search, I’ve found that I’ve inadvertently added an FMX.Forms in one of my unit. This was the culprit. Replacing FMX.Forms with VCL.Forms solved my problem.

Behaviour is really strange, why Classes.RegisterClass didn’t throw any exception ? Is this a “Bug” or is this “as expected” ?

–jeroen

Source: Hello, I have an VCL application. I need to register some form classes at ru… [WayBack]

Posted in Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi XE7, Delphi XE8, Development, Software Development | 1 Comment »

Programmer Interrupted

Posted by jpluimers on 2017/04/27

Brilliant cartoon by Jason Heeris. Don’t interrupt anyone processing a high cognitive load.

Source: Twitpic – Share photos and videos on Twitter (there is also a [WayBack2-column PDF – of course A4 sized).

I know it’s been around the interwebz dozens of times. It should rinse, repeat dozens of times more.

via:

–jeroen

Read the rest of this entry »

Posted in Development, Software Development | Leave a Comment »

Easily print GitHub markdown as beautiful PDFs that – in Chrome – immediately download

Posted by jpluimers on 2017/04/26

Printing Markdown with GitPrint

Simply view any Markdown file on GitHub, then in your URL bar replace the github.com part of the URL with gitprint.com — your markdown file will be rendered to a beautiful, printable PDF.

Try an example https://gitprint.com/jquery/jquery/blob/master/README.md

Every once in a while I feel like I’ve been living under a stone for years. Today is such a day as gitprint has been around since 2014 and I only noticed it until now.

It’s cool as it prints any github page (including Markdown, RestructuredText, etc) as a PDF file.

Notes:

Read the rest of this entry »

Posted in Bookmarklet, Development, DVCS - Distributed Version Control, git, GitHub, jQuery, Software Development, Source Code Management, Web Browsers | Leave a Comment »

pestudio – great tool for doing PE executable analysis

Posted by jpluimers on 2017/04/25

pestudio

The standard version of pestudio is free to download as a ZIP file (md5: D62BDE0319015C7CD5ABA8D03A36FFBF).
Once decompressed, pestudio does not require any installation nor does it change the system it is running on.
It is fully portable and runs on any Windows platform. Details about the features of this standard version are available at here [WayBack].

Download pestudio 8.54 [WayBack]

pestudio+

The professional version of pestudio must be purchased and provides the full set of features of the tool. Details about the professional version as well as the licence conditons are available here [WayBack].

Source: pestudio [WayBack]

A great guide is at PeStudio Standard [WayBack] which despite the name does an in-depth explanation on how to use this great tool.

–jeroen

Via: Guide / tutorial, nice tool to examine executables, find virus etc – David Berneda – Google+ [WayBack]

Posted in Development, Software Development, Windows Development | Leave a Comment »

Warning: C64 geek pr0n! A Mind Is Born

Posted by jpluimers on 2017/04/20

Geek pr0n on the C64:

Making a demo in just 256 bytes would be a formidable challenge regardless of platform. A Mind Is Born is my attempt to do it on the Commodore 64. In the absence of an actual 256-byte compo, it was submitted to the Oldskool 4K Intro compo at [WayBackRevision 2017, where it ended up on 1st place.

Source: [WayBackA Mind Is Born

Via:

–jeroen

Read the rest of this entry »

Posted in 6502, C64, Commodore, Development, History, Software Development | Leave a Comment »