donderdag 30 juni 2022

Na je vijftigste op zoek naar een nieuwe baan: zo verging het Erik en Jan

Nederland telt een recordaantal openstaande vacatures, maar toch ervaren veel oudere werkzoekenden problemen bij het zoeken naar een nieuwe baan. Erik Kuiper en Jan Elzen moesten beiden opnieuw solliciteren na hun vijftigste. Dit zijn hun ervaringen.

New article matched your Blogger! rule

Testing Wide Production 2020

maandag 27 juni 2022

[UPDATE] SideSlide v5.33

scr7rjKgi.jpg

SideSlide is a desktop extension that docks to any screen edge. It allows you to store your favorite RSS feeds, shortcuts to files/folders/URLs, notes, reminders etc. in "containers" that you can arrange, shrink and fold in the workspace. You can also drag-and-drop text/images from your web browser to the workspace to create web snippets.

pfc?d=UT3xtbGYFzA pfc?i=mD1jsWLs1aE:KKziD1q0j94:V_sGLiPBpW pfc?d=qj6IDK7rITs pfc?i=mD1jsWLs1aE:KKziD1q0j94:gIN9vFwOqv pfc?i=mD1jsWLs1aE:KKziD1q0j94:F7zB   nMyn0L

New article matched your Blogger! rule

Testing Wide Production 2020

woensdag 15 juni 2022

Red Hat Ansible Automation Platform on Microsoft Azure - Network Access - blog #2

via Ansible Blog by Scott Harwell

Thank you to Hicham Mourad and Scott Harwell for co-authoring this blog.

Introduction

In this blog series, we will continue discussing the deployment of Red Hat Ansible Automation Platform on Microsoft Azure.

The first blog covered the deployment process as well as how to access a Red Hat Ansible Automation Platform on Azure deployment that was deployed using the "Public" access option.

This blog we'll cover how to access the managed application when it's deployed using the "Private" access option.

 

Connecting to Red Hat Ansible Automation Platform on Microsoft Azure

There are three ways you can access Red Hat Ansible Automation Platform on Azure if you selected "Private" access.

  • An Azure hosted virtual machine (VM)
  • Azure VPN or Direct Connect
  • SSH Tunnel

Let's assume that you have already configured network peering between the Red Hat Ansible Automation Platform on Azure deployment, on the Azure network and your existing Azure Virtual Networks.  Network peering is an Azure action for connecting two or more networks on Azure that route traffic to resources across those networks.  See Microsoft Azure documentation for more information on network peering types.

 

Access Details

Regardless of whether you selected public or private during the deployment, a set of DNS records are always created.  The URLs for Red Hat Ansible Automation Platform on Azure are available in the Azure Marketplace managed application listing for your deployment under the "Parameters and Outputs" section.

43nZr3DVAyq5n8Pp_HYvIx3VpIESVhaEP7E2lFWh

This DNS record is created so that Red Hat Ansible Automation Platform on Azure can be issued a valid TLS certificate for your deployment and to simplify access.

 

Public Deployments

As noted in the first blog of this series, if "Public" access was selected when Red Hat Ansible Automation Platform on Azure was deployed, then you will be able to directly access the web UIs over the public internet by navigating to the URL with your browser, easy peasy.

 

Private Deployments

If "Private" access was selected when Red Hat Ansible Automation Platform on Azure was deployed, then you will likely need to take action after creating network peering.  The DNS record issued to the public application will point to a private Class C network address 192.168.0.68.  Additional configuration is required for the URL and IP address to be accessible from your web browser.

The access method and configuration that your organization chooses to connect to Red Hat Ansible Automation Platform on Azure will likely depend on how your organization manages the Azure infrastructure.  Your Azure administrator(s) will need to determine the proper access method for your organization and perform the necessary setup.  

Earlier, we noted some available access options.  Let's get into some additional details around each of the three options we listed.

 

Azure Hosted Virtual Machine

Likely, the easiest way to configure access for a small set of users is to create a jump box virtual machine in a DMZ virtual network (VNET) where users can remote into the VM from the public internet to gain access to private network resources on Azure networks.  The VM would need to have workstation features (a GUI and web browser installed in the case of Linux), since users will leverage the web browser on this machine in order to navigate to Red Hat Ansible Automation Platform on Azure web UIs.  

The DMZ would be connected to other Azure VNETs through network peering with routing rules established to send network traffic for 192.168.0.0/24 to the Red Hat Ansible Automation Platform on Azure VNET.  

PCs from office locations can remote into the publicly accessible virtual machine through VNC, RDP, or other screen-sharing protocols (whichever you configure on the VM).  Then, using a web browser on the virtual machine, you may enter the Red Hat Ansible Automation Platform on Azure UI URLs to access the platform on the private network.  Here's a high level overview diagram of what this looks like.

aavWFwaPW-0lN-HBTmaj9E_F90lNaLBKyMbCrvZR

 

Azure VPN or Direct Connect

If your organization requires that many users connect to Red Hat Ansible Automation Platform on Azure over a private connection, or if your organization already has established VPNs or direct connections with Azure cloud, then this approach is likely suitable for your requirements.

In this case, your on-premises infrastructure is connected to Azure through a network application gateway and has routing rules that can enable access to Red Hat Ansible Automation Platform on Azure to any connected computer on the local network.  The VNET connected to the virtual network gateway would be connected to other Azure VNETs through network peering with routing rules established to send network traffic for 192.168.0.0/24 to the Red Hat Ansible Automation Platform on Azure VNET.

With this configuration, users would not need to perform any extra configuration; they would be able to access Red Hat Ansible Automation Platform on Azure through the application URLs as if they were using the public access approach.  Here's a high level overview diagram of what this looks like.

NIv05wJkWKsrd-kAx5C5Ho8qGJ8xbdZZIcznYwJT

SSH Tunnel

When VPN isn't an option, and your users are more technically inclined, the SSH tunnel approach can offer a secure alternative that allows users to use their local browser to access Red Hat Ansible Automation Platform on Azure.  This approach is usually easiest on Linux and macOS host machines, but can also be accomplished on Windows.

In this access model, a lightweight Linux SSH server can be placed into a DMZ network similar to the Azure Hosted Virtual Machine method.  However, no workstation features are required for the server.  This server will simply act as a proxy between a user's local machine and Red Hat Ansible Automation Platform on Azure.

Each user needs to be configured as an SSH user on the server.  Once completed, the users can establish an SSH tunnel from their local machine to the SSH server to route traffic for Red Hat Ansible Automation Platform on Azure.

The first step is to update your local hosts file so that the Red Hat Ansible Automation Platform on Azure URL(s) route traffic to your local host (your PC) instead of the private IP that DNS records are configured with.

 ##   # Host Database   #   # localhost is used to configure the loopback interface   # when the system is booting.  Do not change this entry.   ##   127.0.0.1	      localhost   255.255.255.255    broadcasthost   ::1                localhost      127.0.0.1      controller.<yourAAPonAzureInstance>.az.ansiblecloud.com   

Note: The last line in the image above is what you would add to your hosts file.

Next, you can establish the SSH tunnel.  In the example below, the IP address is the address of the SSH server in your DMZ.  The -L flag will tell your local system to route traffic for the automation controller URL over port 443 (HTTPs).

sudo ssh azureuser@20.231.60.123 -i ~/.ssh/id_ssh_key -N -f -L 443:controller.<yourAAPonAzureInstance>.az.ansiblecloud.com:443   

Note: At this time, port 443 must be used on both sides of the routing path.  Using a different port on the local machine will cause some Red Hat Ansible Automation Platform on Azure features to not function properly.  This procedure does require root level access on the local machine.

If the SSH tunnel has been established and your Azure routing is configured properly, then you should be able to access the automation controller URL in your local browser at:

https://controller.<yourAAPonAzureInstance>.az.ansiblecloud.com   

Here's a high level overview diagram of what this looks like.

1Ga-tL40piPzjLdfyNhWrCsfQwzuEeDDoWAmO-_V

Happy automating!

 

What can I do next?

Here are a few resources to get started: 

  • To learn more about Red Hat Ansible Automation Platform on Azure, visit the following site
  • Try a hands-on self-paced lab of Red Hat Ansible Automation Platform on Azure.
  • Visit other hands-on self-paced lab(s) on Red Hat Ansible Automation Platform.
  • Check out the Red Hat Ansible Automation Platform on Azure documentation.
  • Would you like to receive updates on Red Hat Ansible Automation Platform on Azure? Sign up here.

New article matched your Blogger! rule

Testing Wide Production 2020

zaterdag 11 juni 2022

đŸŽ„ | Johan Derksen ziet gĂȘnante persconferentie Van Gaal: ‘Pfff’

via Voetbal – Sportnieuws by Sportnieuws.nl

Louis van Gaal kroop vrijdag achter de microfoon voor de persconferentie in aanloop naar het Nations League-duel met Polen. Naast hem schoof Denzel Dumfries aan. En Dumfries kreeg nogal de nodige complimentjes van Van Gaal. Dat zagen de heren van Vandaag Inside ook. Bekijk de beelden hierboven.

Het bericht đŸŽ„ | Johan Derksen ziet gĂȘnante persconferentie Van Gaal: 'Pfff' verscheen eerst op Sportnieuws.

New article matched your Blogger! rule

Testing Wide Production 2020

cary huang: Understand PG’s MVCC Visibility Basic Check Rules

1. Introduction

PostgreSQL's MultiVersion Concurrency Control (MVCC) is an "advanced technique for improving database performance in a multi-user environment" according to Vadim Mikheev. This technique requires multiple "versions" of the same data tuple exist in the system governed by snapshots taken during different time periods. In other words, under such technique, it is PG's responsibility to figure out how many tuples are visible to the user and how many are not, according to multiple parameters such as snapshots taken, current transaction ID…etc. This is also known as visibility check rules in PG and today in this blog, I will talk about the basic principles of visibility check so you get an idea how PG performs this task internally and I hope it would be helpful in your development work.

2. Parameters Involved?

  • The tuple itself, which contains:
    • xmin (the transaction ID that inserts this tuple)
    • xmax (the transaction ID that deletes this tuple if > 0, otherwise it's not deleted)
    • cid (command ID)
    • hintbit
  • Global top transaction ID if available
  • current snapshot, which also contains xmin, xmax and cid
  • Commit Log Data (CLOG)

3. The Process

3.1 Check the Hintbit

The visibility process starts by checking the hintbit. If hintbit has a state of COMMITTED, then we can skip most of the other visibility checking rules for better efficiency. With the tuple committed, PG then take this tuple's xmin value to check with the current snapshot to ensure this tuple is not currently in progress. (See 3.3 below for formula to determine in progress). This check is required because there is a chance that this tuple, though committed, is still being updated by other backend processes at this very moment. If the tuple is not currently in progress by other backends, it will finally check its xmax value to ensure that it is invalid. Invalid means it has not been deleted. When all of the above are true, this tuple is considered visible.

If hintbit indicates ABORTED, then this tuple is considered invisible to user. If hintbit has no value, then PG should continue with the rest of visibility check rules.

3.2 Check If Tuple's xmin Equal to Global Top Transaction ID

The next check involves taking tuple's xmin and compare with global top transaction ID to see if they are equal. This global top transaction ID will only be set when user starts the transaction manually with begin clause. If user does not starts the transaction this way (no begin clause is issued), then this global top transaction ID will not be set and therefore this checking will be skipped.

If tuple xmin equals global top transaction ID, this means the tuple is currently in progress by the current backend, not others. This is where the command ID (cid) will be used to determine the visibility. Within a transaction block, each command issued has an associated command ID to indicate what command comes first and what comes later. For example, if a SELECT comes after an UPDATE, within a transaction, then the SELECT must see the new tuple updated by the previous UPDATE clause and cid plays a part in this determination. This behavior is also governed by the isolation level which is unfortunately out of scope of this blog. The default isolation level is READ COMMITTED, which makes the SELECT sees the data changed by previous UPDATE; but if the isolation is set to REPEATABLE READ then the SELECT will not see the data changed by previous UPDATE. Please keep this in mind.

If tuple's xmin does not equal to global top transaction ID, then PG should continue with the rest of visibility

3.3 Check the Current Snapshot

The next check involves the PG to check if this tuple is currently in progress by other backend processes. This is done by comparing the tuple's xmin value against current snapshot's xmin and xmax values according to this formula.

  • tuple xmin < snapshot xmin = not in progress
  • tuple xmin >= snapshot xmax = in progress

If this tuple is considered in progress by the snapshot, then this tuple must not be visible to the current user because other backends are still working on it. If this tuple is NOT considered in progress, then PG should continue with the rest of visibility check rules.

3.4 Check the Commit Log (CLOG)

This next check involves the PG to take tuple's xmin to check against the CLOG to see if this tuple has been committed or aborted. CLOG is like an array of transaction IDs and each array element stores a commit status. PG has a formula to convert a transaction ID into a CLOG block plus an offset to precisely access the right CLOG element. This CLOG data structure is regularly flushed to disk with checkpoint process and it is located in these 3 directories: pg_xact, pg_multixact and pg_subtrans.

If CLOG says the given tuple is committed, then PG will continue to check the tuple's xmax value to ensure that it is invalid. Invalid means it has not been deleted and therefore it is visible to user. At the same time, PG will also update the hintbit value of this tuple to COMMITTED such that in the next visibility checking, PG will not access CLOG again, which is rather expensive.

If CLOG says the given tuple is aborted or invalid, then this tuple is not visible to the current user. At the same time, it will also update the hintbit value of this tuple to INVALID

Summary

The above processes are the very basic visibility rules within PG according to my understanding. Of course there are other complex checking not mentioned here, such as the involvement of sub transactions and multi transactions, but they do follow somewhat similar pattern to what's mentioned today. I hope this blog would be helpful for you.

Cary is a Senior Software Developer in HighGo Software Canada with 8 years of industrial experience developing innovative software solutions in C/C++ in the field of smart grid & metering prior to joining HighGo. He holds a bachelor degree in Electrical Engineering from University of British Columnbia (UBC) in Vancouver in 2012 and has extensive hands-on experience in technologies such as: Advanced Networking, Network & Data security, Smart Metering Innovations, deployment management with Docker, Software Engineering Lifecycle, scalability, authentication, cryptography, PostgreSQL & non-relational database, web services, firewalls, embedded systems, RTOS, ARM, PKI, Cisco equipment, functional and Architecture Design.

The post Understand PG's MVCC Visibility Basic Check Rules appeared first on Highgo Software Inc..

New article matched your Blogger! rule

Testing Wide Production 2020

zaterdag 4 juni 2022

Dicom - Automatische woordaanvulling

Wanneer je eraan gewend bent, dan is de automatische aanvulfunctie op mobiele apparaten reuze handig. Helaas moeten we dat op de pc missen, maar er is een oplossing in de vorm van Dicom. In principe biedt dit programma standaard alleen een Engelse en Franse woordenlijst, maar dit zijn gewone tekstbestanden, zodat je Nederlands of gespecialiseerde woordenlijsten zelf zou kunnen toevoegen. Dicom monitort je toetsenbordinvoer, en nadat je een instelbaar aantal letters hebt getypt, verschijnt automatisch een pop-up met suggesties waaruit je een keuze kunt maken door middel van een van de functietoetsen.

Dicum kun je van deze pagina downloaden.

New article matched your Blogger! rule

Testing Wide Production 2020