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 2,915 other followers

Archive for August 1st, 2019

Some git versus PlasticSCM comparisons

Posted by jpluimers on 2019/08/01

Via a co-worker:

In my own experience, PlasticSCM needs a lot of work, especially on the usability side:

  1. PlasticSCM call themselves a DVCS, but in order to have a local full repository like all other DVCS systems, you have to run a local server (and a license for it, I still need to sort out if that is free or paid). For the DVCS definition, see Distributed version control – Wikipedia. This means you run a client, a local PlasticSCM server and a remote PlasticSCM server.
  2. Despite there being a CLI version (more on that in a future post), the GUI does not show the exact CLI syntax for commands (unlike most git tools that do). This means you need to think thrice when translating them from GUI to CLI, made even harder by most UI access paths having different ways to copy their information to the clipboard.
  3. When you run the Plastic SCM GUI client long enough, even on a small repository, you will get errors about not enough quota being available (the dreaded 0x718): [WayBack] System Error Codes (1700-3999) | Microsoft Docs ERROR_NOT_ENOUGH_QUOTA 1816 (0x718): Not enough quota is available to process this command.
  4. Often after scanning for changes, you see a lot of changed files. If you click each file, you see  “Files are identical”

    • As a result you have to perform “Undo Unchanged”:
    • I never have this when using git.
  5. Online PlasticSCM hosting parties, especially integrated with bug tracking, are far and few between: besides [WayBackPlasticSCM cloud, I have not found any. Take the git world, or even the Mercurial world and there are far more choices (yes I know about the manual labour involved setting it up described at [WayBack] Plastic SCM version control · Task and issue tracking systems guide and [] Plastic SCM blog: Integrating Plastic SCM with Trac Issue Tracking).

One thing that baffled me is that you can edit commit messages. Changing them does not result in another commit. This means that these are not set in stone which is very odd when you see all changes in the commit history.

[] Are check-in comment editable?


The commit message textbox is editable, start typing and then push save. :)

I realized that in the Branch Explorer one can edit them using the procedure you’ve described, but if you open a changset from “Changesets” or somewhere else, the comment on the top is readonly. Maybe it would be nice to be have a way to edit it there, though I guess, it would be a rarely used feature.

At the changesets view you are also able to do it by cliking in the “Show extended information” button.

I’m afraid that this are the only spots to do it.


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

Cable salad is of all times: 1964 analog computers; Moog syntesizers

Posted by jpluimers on 2019/08/01

This picture on Flickr of Engineer Karen Leadlay in an analog computer lab at General Dynamics, January 1964 shows that cable salad is of all times.

Atlas Collection Image


The above threads have really nice comments, including pointers to for instance the [WayBack] Moog synthesizer – Wikipedia  (lots of you remember the songs by Keith Emerson).


Read the rest of this entry »

Posted in Development, Fun, Hardware Development | Leave a Comment »

.NET and PowerShell: Getting proper version info from a PE file like EXE, DLL, assembly

Posted by jpluimers on 2019/08/01

I’ve learned the hard way that both .NET and PowerShell version information isn’t always accurate or usable for two reasons which I later found in various other blog and forum posts:

The easiest is to use these numbers to create a [WayBack] Version Class (System) instance using the [WayBack] Version Constructor (Int32, Int32, Int32, Int32) constructor. This has the added benefit that you directly compare versions with each other.

Sometimes it makes even sense to take the highest version from Product and File.

In PowerShell, this is the way to do that, assuming $imagePath points to a [WayBack] Portable Executable:

try {
  $VersionInfo = (Get-Item $imagePath).VersionInfo
  $FileVersion = [version]("{0}.{1}.{2}.{3}" -f $VersionInfo.FileMajorPart, $VersionInfo.FileMinorPart, $VersionInfo.FileBuildPart, $VersionInfo.FilePrivatePart)
  $ProductVersion = [version]("{0}.{1}.{2}.{3}" -f $VersionInfo.ProductMajorPart, $VersionInfo.ProductMinorPart, $VersionInfo.ProductBuildPart, $VersionInfo.ProductPrivatePart)
  $ActualVersion = $(if ($ProductVersion -gt $FileVersion) { $ProductVersion } else { $FileVersion })
catch {
  $ActualVersion = [version]("")

Background information:


Posted in CommandLine, Development, PowerShell, PowerShell, Scripting, Software Development | Leave a Comment »

%d bloggers like this: