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

Archive for 2018

New IP addresses for Bitbucket Cloud | Bitbucket Blog

Posted by jpluimers on 2018/07/25

If you are using bitbucket from behind a firewall, these might be important to you:

What are we doing? We’ll start a gradual rollout of changing our A records in DNS starting at 22:00 UTC on Sunday, July 29 2018 to point to new IP addresses. The rollout is expected to be completed for all our customers two weeks later, i.e by the 15th of August.

How will this affect you?

Most users will not have to do anything special for this migration. Your DNS servers should pick up the new IPs within a few minutes of the migration, and your systems should start using the new IPs right away. We’ll keep the old IPs running for a few weeks afterwards just in case, though.

Firewall considerations

If you control inbound or outbound access with a firewall, then you may need to update your configuration. Please whitelist these new IPs now; you should be able to remove the old IPs after the migration is complete. New destination IP addresses for bitbucket.org, bitbucket.com, api.bitbucket.org, bitbucket.io, bytebucket.org, altssh.bitbucket.org will be: IPv4: 18.205.93.0/25 and 13.52.5.0/25 IPv6: 2406:da00:ff00::0/96

SSH considerations

Our server’s SSH key is not changing, so most SSH clients will continue to work without interruption. However, a small number of users may see a warning similar to this when they push or pull over SSH: Warning: the RSA host key for ‘bitbucket.org’ differs from the key for the IP address ‘18.205.93.1’ The warning message will also tell you which lines in your ~/.ssh/known_hosts need to change. Open that file in your favorite editor, remove or comment out those lines, then retry your push or pull.

Additional resources Atlassian Public IP ranges JSON: https://ip-ranges.atlassian.com/ (will be updated with the new addresses as part of the new IPs rollout) https://confluence.atlassian.com/bitbucket/what-are-the-bitbucket-cloud-ip-addresses-i-should-use-to-configure-my-corporate-firewall-343343385.html (will be updated with the new addresses as part of the new IPs rollout)

From:

–jeroen

Posted in BitBucket, Development, Source Code Management | Leave a Comment »

When learning a new VCS drives you crazy: Plastic SCM indicating it cannot undo changes, but not providing an alternative

Posted by jpluimers on 2018/07/25

User experiences like this drives me crazy, this time in Plastic SCM, when you try to get the most recent files on a branch/label/changeset after you made some changes:

So you go to the pending changes, see it involves additions and you see a big “Undo changes” button that fails to work:

  • 8 of 8 items selected
  • plastic insisting there are none

The undocumented “secret” is at the end of the messages “added and private items” cannot be undone. You have to manually “delete” them, which the message does not tell you.

Of course there is no “Delete” entry in the toolbar. There is no “Delete” entry in the local menu either.

You have to know that you

  • can do “Delete” by using the keyboard,
  • after first manually selecting all the entries in the treeview (so they get blue, which is different than having checkmarks).

How is that for a lack of user-experience?

Versions

This is on a version 6 client with a version 6 server.

Later I found out this bit on versioning, which I totally did not expect, as it does not match semantic versioning:

Version numbering

Starting in Plastic SCM 4.0 the version numbering schema has been modified:

  • major.minor.compatibility.buildnumber
  • Sample: 5.0.44.511 means:
    • 5 -> major release number
    • 0 -> minor release number
    • 44 -> compatibility -> all clients and servers with “44” in the compat number are compatible, even if the build number changes
    • 511 -> internal build number

So I have tried to to switch from

using the download at https://www.plasticscm.com/download/ to

with no difference.

–jeroen

Posted in Development, PlasticSCM, Source Code Management | Leave a Comment »

Some notes on the MT940 format used by various banks to export transactions

Posted by jpluimers on 2018/07/25

I needed the below links to get a feel on how much effort it would be to convert ABNAMRO transactions from MT940 into CSV or XLS extracting as many useful fields as possible.

Maybe it useful for other people as well.

I know there is CAMT.053 as well, but that puts every transaction into a separate XML file but still spreads the description over a multi-line structured field (like :86: below).

Read the rest of this entry »

Posted in Development, Software Development | Leave a Comment »

Getting the Firebird server version from a client using SQL

Posted by jpluimers on 2018/07/25

Since Firebird 2.1, you can get the first 3 numbers of the version with this SQL statement:

SELECT rdb$get_context('SYSTEM', 'ENGINE_VERSION')
from rdb$database;

You get it in this format:

RDB$GET_CONTEXT                                                                                                                                                                                                                                                
---------------
2.5.7                                                                                                                                                                                                                                                          

Which means you will not get the build number, which for most purposes is still quite OK.

–jeroen

via: [WayBackHow to detect the server version?

Posted in Database Development, Development, Firebird | Leave a Comment »

RAD Studio 10.2.2 Annoying New Features. Help? – Forum – Embarcadero Community

Posted by jpluimers on 2018/07/24

Does anybody know a shorter, more permanent solution for [WayBackRAD Studio 10.2.2 Annoying New Features. Help? – Forum – Embarcadero Community.

Especially the first one is very important to me.

Ever since Delphi introduced IDE layouts, it would remember the last one selected. With Delphi 10.2.2 Tokyo not so any more: it ALWAYS starts with an imposed “Startup Layout”. If you delete it, it re-appears.

I have a carefully named set of layouts that depends on the monitors I am using.

The workaround – every time I switch monitors, at least a few times a day, especially when moving between places, for instance for meetings – is this:

  1. Start Delphi 10.2.2 Tokyo
  2. Select the layout for that monitor
  3. Save it as “Startup layout”

Then each time I tweak a layout, I have to remember to save it both as “Startup layout” and as the actual named layout.

The really dumb thing is that RSP-20138 Can not define default Startup layout is classified as

“Jira-Quality Sync Service added a comment – 29/May/18 2:50 AM
Issue is reclassified as ‘New Feature'”

Via [WayBack1, WayBack2] So Embarcadero broke the “Default layout” (now always enforces a new “Standard Layout”) upon IDE startup in 10.2 Tokyo, and commented on the bug report … – Jeroen Wiert Pluimers – Google+ which has quite a few nice comments and links, including:

Read the rest of this entry »

Posted in Delphi, Delphi 10.2 Tokyo (Godzilla), Development, Software Development | 3 Comments »

Starting your Delphi VCL app meanwhile your mouse is moving, no accelerators are shown (Menu, button, focus rect missing… etc.) same when clicking a button to open a new form

Posted by jpluimers on 2018/07/24

Problem (D2007 and up)

If you are starting your Delphi VCL app meanwhile your mouse is moving, no accelerators are shown (Menu, button, focus rect missing… etc.)

Something similar happens when you click on a button which opens a new form, somehow UI State becomes a state which is wrong.

Solution

In a detoured Form.DoShow(Or in every OnShow event) :Self.Perform(WM_CHANGEUISTATE, MakeLong(UIS_CLEAR, UISF_HIDEACCEL or UISF_HIDEFOCUS), 0);

  • No repaint penalty
  • no flicker
  • accels
  • focus rect are always shown
  • system is not touched.

Source: [WayBackSo, here is the thing…If you are starting your Delphi VCL app meanwhile your mouse is moving, no accelerators are shown (Menu, button, focus rect mis… – Attila Kovacs – Google+

Related: [WayBackc# – Show Hotkeys at All Times – Stack Overflow

–jeroen

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

Just I in case I need to port CombineApacheConfig.py to OpenSuSE properly

Posted by jpluimers on 2018/07/24

I came across a nice tool that combines httpd.conf files:

python CombineApacheConfig.py /etc/apache2/httpd.conf /tmp/apache2.combined.conf

In case I ever need to fully port it to OpenSuSE, I’ve put it in the gist below.

For now it works fine on OpenSuSE when used with the above command. I might make the default depend on the kind of nx it runs on.

via:

–jeroen

Read the rest of this entry »

Posted in *nix, *nix-tools, Apache2, Development, Linux, openSuSE, Power User, Python, Scripting, Software Development, SuSE Linux | Leave a Comment »

Use TLS 1.2 or higher, as TLS 1.1 is phased out on many sites, after TLS 1.0/SLL has been disabled by most for a while now

Posted by jpluimers on 2018/07/23

If you get an error like this in one of your tools

OpenSSL: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

it means you are using a tool not yet properly supporting TLS 1.2 or higher.

Or in other words: update your tool set.

The reason is that – after turning off TLS 1.0 a while ago – more and more sites do the same for TLS 1.1.

A prime example of a site that warned on this in a clear way very early on is github:

Others have done this too, for instance:

TLS 1.0 is vulnerable to many attacks, and certain configurations of TLS 1.1 as well (see for instance [WayBack] What are the main vulnerabilities of TLS v1.1? – Information Security Stack Exchange), which means that properly configuring the non-vulnerable TLS 1.1 over times gets more and more complex. An important reason to say goodbye to that as well, as TLS 1.2 (from 2008) is readily available for a long time. The much more recent TLS 1.3 (from 2018) will take a while to proliferate.

I ran in the above error because on one of my systems, an old version of wget was luring around, so I dug up the easiest place to download recent Windows binaries for both win32 (x86) and win64 (x86_64):

[WayBack] eternallybored.org: GNU Wget for Windows having a table indicating the OpenSSL version for each wget build.

–jeroen

Reference: Transport Layer Security – Wikipedia: History and development

Posted in *nix, https, HTTPS/TLS security, OpenSSL, Power User, Security, wget | Leave a Comment »

In case I ever need to record calls on my Fritz!Box devices

Posted by jpluimers on 2018/07/23

I need to dig a bit deeper into these links to see how easy it is to record calls made on a Fritz!Box then playing back the captured calls.

Note that in various countries you have to indicate to the calling parties that their calls can be recorded.

Read the rest of this entry »

Posted in Fritz!, Fritz!Box, fritzcap, Internet, Power User | Leave a Comment »

The Illustrated Guide to Kubernetes – The Isoblog.

Posted by jpluimers on 2018/07/23

One day you will do containers.

If you want to know how k8n (Kubernetes) can help you with Docker containers, then read [WayBackThe Illustrated Guide to Kubernetes – The Isoblog. and watch the video below.

Very well explained!

Via: [WayBack] The Illustrated Children’s Guide to Kubernetes http://blog.koehntopp.info/index.php/1450-the-illustrated-guide-to-kubernetes/ You can now stop recommending it to me. – Kristian Köhntopp – Google+

 

–jeroen

Read the rest of this entry »

Posted in Cloud, Containers, Docker, Infrastructure, Kubernetes (k8n), Power User | Leave a Comment »