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

The Delphi Pipe – twm’s blog

Posted by jpluimers on 2017/05/09

The Delphi Pipe got revived:

The Delphi Pipe is an RSS feed that combines other RSS feeds from various Delphi blogs.

Source: [WayBackThe Delphi Pipe – twm’s blog

Of course there are also [WayBack] DelphiFeeds (which seems unmaintained, but a truckload of people have it in their RSS reader) and [WayBack] BeginEnd.net (slowly but steadily growing).

I wish there was an RSS reader that could filter out duplicate posts so I can just follow all three without reading duplicates.

Related:

–jeroen

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

Building `libssh2` for Windows (Win32/Win64) is a lot harder than I hoped for

Posted by jpluimers on 2017/05/09

Building libssh2 for Windows (Win32/Win64) is a lot harder than I hoped for.

There were no instructions on their website, there was the occasional “use CMake” at and that was about it.

Of course running just CMake doesn’t work and getting it working involves a lot of non-descriptive error messages, cursing and fruitless searches for them just bumping into “me too” threads not really providing the solution.

I tried building OpenSSL but after building, no `lib` directory appears so I cannot satisfy the dependencies. Not sure what OpenSSL would bring as I could not find any documentation about it either, so I’ll leave it at that.

Might be that `make test` for OpenSSL doesn’t succeed because some vague non-explained error which is odd when doing this on an almost prestine VS 2015 Community Edition VM.

But I’ll take that up with the OpenSSL people one day.

Oh the joy of Open Source…

Below are the steps (below the –more– mark a gist with the most recent version).

The core are these:

  • you need git, Visual Studio and CMake
  • use CMake to generate project files, msbuild to build (CBuild cannot build any more)
  • After a Win64 build you have to reset the platform to create a Win32 build

These links helped a lot some in the positive, others in the negative sense:

  1. Install Visual Studio 2015 community edition from https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx (as of writing:http://download.microsoft.com/download/D/2/3/D23F4D0F-BA2D-4600-8725-6CCECEA05196/vs_community_ENU.exe or http://download.microsoft.com/download/b/e/d/bedddfc4-55f4-4748-90a8-ffe38a40e89f/vs2015.3.com_enu.iso )
  2. Download CMake via https://cmake.org/download/ back then https://cmake.org/files/v3.6/cmake-3.6.2-win64-x64.msi
  3. Install and ensure to add CMake to the PATH for all users:

https://www.dropbox.com/s/ss5xke97iy4yyka/Screenshot%202016-09-13%2009.36.54.png?raw=1

  1. Run this script on a new command-line:
    git clone https://github.com/libssh2/libssh2.git
    pushd libssh2
    mkdir buildWin64
    pushd buildWin64
    :: Generate build for MSVS 2015
    cmake .. -G"Visual Studio 14 Win64" -D"BUILD_SHARED_LIBS=1"
    
    :: this fails bitching about v100 not being there:
    :: cmake --build . --config "Visual Studio 14 Win64"
    :: this just works:
    set Platform=
    call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"
    call msbuild libssh2.sln
    dumpbin /headers example\Debug\libssh2.dll | find "machine"
    popd
    mkdir buildWin32
    pushd buildWin32
    :: Generate build for MSVS 2015
    cmake .. -G"Visual Studio 14" -D"BUILD_SHARED_LIBS=1"
    
    set Platform=
    call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"
    call msbuild libssh2.sln
    dumpbin /headers example\Debug\libssh2.dll | find "machine"
    popd
    popd

Source: Building libssh2 for Windows (Win32/Win64) is a lot harder than I hoped for

–jeroen

Read the rest of this entry »

Posted in Communications Development, Development, Internet protocol suite, OpenSSL, Power User, Security, SSH, TCP | Leave a Comment »

Mikrotik – Choosing your SFP/SFP+ modules and direct access cables

Posted by jpluimers on 2017/05/09

For hooking up SFP and SFP+ ports on Mikrotik devices you basically have two options:

  • Direct Access Cable (passive and affordable for 1 and 2 meters; active and more expensive for more than 3 meters)
  • SFP/SFP+ modules with LC-LC optic fiber cable in between them (pairs of modules are more expensive than passive DAC, but the fiber is a lot cheaper)

Choosing the SFP/SFP+ modules is a bit intimidating as the MikroTik SFP module compatibility table – MikroTik Wiki has very few details.

Then I found sfp_all-150601132341.pdf (archived) which lists many of the SFP and SFP+ modules including their specifications.

Since neither the matrix nor the PDF contains links to the products, here is a small list of what I could source last year and is compatible with both the CCR1009 routeres and CRS226 switches:

–jeroen

via: Connect CCR1009 with CSR226 over a longer distance than 3 meter – MikroTik RouterOS

Posted in Internet, MikroTik, Power User, routers | Leave a Comment »

ext3 – How to tell the language encoding of a filename on Linux? – Server Fault

Posted by jpluimers on 2017/05/08

From ext3 – How to tell the language encoding of a filename on Linux? – Server Fault  [WayBack] I learned a few things:

  • filename encoding on Linux is undetermined – the file system just assumes a byte array of characters
  • FTP and SFTP suffer from this as well (SFTP is based on SSH which now prefers UTF-8 [WayBack])

A good default is UTF-8, but it’s never guaranteed.

Two tools can help to determine the encoding of a filename:

  • convmv [WayBack] converts filenames from one encoding to another
  • chardet (Python) The Universal Character Encoding Detector

–jeroen

Posted in *nix, *nix-tools, Development, Encoding, Power User, Software Development, UTF-8, UTF8 | Leave a Comment »

How to install apps which require iOS 6 on a 1st gen iPad – via: Ask Different

Posted by jpluimers on 2017/05/08

I knew there was a way, but just not exactly how until I read the below trick by Chad.

Unlike the first commenter who thinks the trick only works when you purchased the app when it still supported older iOS versions, the trick also works when you haven’t purchased an app before. I donated an old iPad 1 after wiping it clean. The above method allowed the new user to install for instance Google Drive and other apps (but not Google+: that one refused).

  1. On your iPad 1, go to: “Settings” ==> “Store” ==> under “Apps” make sure it says ‘OFF’.
  2. Go onto your computer (it doesn’t matter if you’re using PC or Mac) and open iTunes software.
  3. Then go to the iTunes store and download all the apps you want to be on your iPad.
  4. Ensure iTunes on the computer and your iPad are both signed into the same Apple ID, and the iPad is connected to internet.
  5. On your iPad go to App Store ==> Purchased ==> click on an individual app you want to install.
  6. Once you select install you’ll get a message pop up that says:”The current version requires iOS 6.1 or later, but you can download the last compatible version.”, choose “Download”

–jeroen

via: How to install apps which require iOS 6 on a 1st gen. iPad? – Ask Different

Posted in iOS, iPad, Power User | Leave a Comment »

BEVRIJDINGSCONCERT OP DE OUDE HAVEN | Oranjevereniging Sassenheim

Posted by jpluimers on 2017/05/05

Ik ben benieuwd wat mijn broer er van vindt: [WayBackAankomende Evenementen | BEVRIJDINGSCONCERT OP DE OUDE HAVEN | Oranjevereniging Sassenheim

Zelf ben ik vanavond hier met de een voorproefje van de WMC 2017 show van Adest Musica:  [WayBackZeister Taptoe keert terug op Slot Zeist | Korpsmuziek.nl:

De Stichting wilde met de viering van haar 5-harig bestaan en de organisatie van het 5e evenement een kwalitatief hoogstaand programma op een bijzondere locatie. Daarin is het bestuur geslaagd. Op de komende Bevrijdingsdag keert de Taptoe Zeist na bijna 25 jaar eenmalig terug op de historische locatie Slot Zeist. Hier vonden tussen 1984 en 1993 tien eerdere succesvolle taptoes plaats.

–jeroen

 

Posted in About, Adest Musica, Personal | Leave a Comment »

reStructuredText Markup Specification – sections (that translate to HTML headings)

Posted by jpluimers on 2017/05/05

So I won’t forget; source: reStructuredText Markup Specification – Sections

[2]

The following are all valid section title adornment characters:

! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

Some characters are more suitable than others. The following are recommended:

= - ` : . ' " ~ ^ _ * + #

Rather than imposing a fixed number and order of section title adornment styles, the order enforced will be the order as encountered. The first style encountered will be an outermost title (like HTML H1), the second style will be a subtitle, the third will be a subsubtitle, and so on.

Below are examples of section title styles:

===============
 Section Title
===============

---------------
 Section Title
---------------

Section Title
=============

Section Title
-------------

Section Title
`````````````

Section Title
'''''''''''''

Section Title
.............

Section Title
~~~~~~~~~~~~~

Section Title
*************

Section Title
+++++++++++++

Section Title
^^^^^^^^^^^^^

When a title has both an underline and an overline, the title text may be inset, as in the first two examples above. This is merely aesthetic and not significant. Underline-only title text may not be inset.

A blank line after a title is optional. All text blocks up to the next title of the same or higher level are included in a section (or subsection, etc.).

All section title styles need not be used, nor need any specific section title style be used. However, a document must be consistent in its use of section titles: once a hierarchy of title styles is established, sections must use that hierarchy.

Each section title automatically generates a hyperlink target pointing to the section. The text of the hyperlink target (the “reference name”) is the same as that of the section title.

I prefer this order because of decreasing “greyness”:

# * = + ^ ~ - : . _ ` ' "

–jeroen

Posted in Development, Lightweight markup language, Power User, reStructuredText, Software Development | Leave a Comment »

Completely Uninstall Skype For Business (aka Lync) – Skype Community

Posted by jpluimers on 2017/05/05

I don’t need Skype (aka Lync) on all my VMs, for enough reasons (obnoxiously getting in the way even when not configured, downloading updates even though not used, taking up space, etc).

Removing it through appwiz.cpl is more than just a single step. The reason is that Skype can be part of Office and – despite the updates being called Skype – can be listed as the Lync component in Office.

So the removal is as follows:

  1. Run appwiz.cpl
  2. Select the Microsoft Office version you have installed
  3. Right click, then choose Change
  4. Choose “Add or Remove features” then “Continue”
  5. Choose the dropdown left of “Microsoft Lync” or “Microsoft Office”, then click “Not Available” and click “Continue”
  6. Wait for the removal to proceed, then click “Close”

–jeroen

via: Solved: Completely Uninstall Skype For Business – Skype Community

Posted in Office, Office 2010, Office 2013, Office 2016, Power User | Leave a Comment »

So how does a guy like myself get involved in contributing to GExperts?

Posted by jpluimers on 2017/05/04

Interesting question with some nice hints in the comments there:

[WayBack] So how does a guy like myself get involved in contributing to GExperts?I don’t have a lot a lot of time (or money), but I do have a desire to help. – Joe C. Hecht – Google+

–jeroen

Posted in Delphi, Development, GExperts, Software Development | Leave a Comment »

Use dumpbin to check if a PE file (dll/exe/…) is x64 or x86

Posted by jpluimers on 2017/05/04

Boy I wish I had known this long ago:

You can use DUMPBIN too. Use the /headers or /all flag and its the first file header listed.

dumpbin /headers cv210.dll

‘find’ can make life slightly easier:

dumpbin /headers cv210.dll |find "machine"
        8664 machine (x64)

Mark McDonald

–jeroen

via: c# – How to find if a native DLL file is compiled as x64 or x86? – Stack Overflow [WayBack]

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