Sonntag, 7. Mai 2023

Install AviDemux in Ubuntu

Because AviDemux is not included in the official distributian, the repo must be added manually:

sudo add-apt-repository ppa:ubuntuhandbook1/avidemux
sudo apt update
sudo apt install avidemux-qt 

Montag, 24. Mai 2021

Usage of SVG diagrams in Azure DevOps Wiki

Yes, there is support for Mermaid diagrams in Azure DevOps Wiki. But unfortunately it is only possible to use 3 of the types. And still, if all of them were supported, this would still be far away from flexible diagrams like the ones that can be created in Visio or Inkscape. 

I used to love Draw.io in Confluence. It is browser based and allows inline editing of the diagrams in the Confluence page. So I was looking for something similar to this. And I found my solution. 

Just use Draw.io in Azure DevOps!

Though there is no inline editor available, it is still possible to clone the whole Wiki to a local Git repo. And VSCode has Draw.io support. These are the steps needed to use Draw.io in your DevOps Wiki:


  • Install VSCode (https://code.visualstudio.com/)
  • Add the "Draw.io  Integration" plugin by Henning Dietrichs to VSCode
  • Clone the wiki to your local machine, Wiki (three dots) -> clone wiki
  • Open with VSCode, create new Draw.io  file or edit existing one
  • Use the .drawio.svg file extension, this file can be viewed in Wiki and edited in VSCode
  • After the changes have been done, commit the changes to the wiki



DevOps Wiki usually stores all images in the .attachments folder. But actually images can be placed everywhere in folders. So to add your new image to markdown source, add something like

![image.svg](/project1/folder/subfolder/step-processing.drawio.svg )

or if you prefer the standard way

![image.svg](/.attachments/step-processing.drawio.svg )

Donnerstag, 2. April 2020

Use nginx to analyze SSL/TLS traffic

How is it possible to see in detail, what is going over the line if you have a TLS 1.2 encrypted connection?

Basically we are talking here about what an MITM-attack (man in the middle) is doing. I knew about it but this was the first time I did it by myself. And of course it wasn't an attack. I was just trying to understand why a specific application using SOAP and WS-RM wasn't working. I also found out the hard way, that logging all traffic in nginx is a tough one to achieve (and maybe not possible at all).

The idea was, because HTTPS was mandatory on both ends, server and client, to have a short HTTP (without the S) path in between. Then start up Wireshark and sniff it all until all the information needed is collected.

Because nginx has a server using TLS we need a self signed SSL certificate for localhost. Then we can configure nginx.

server {
    listen 443 ssl;
    server_name  localhost;

    ssl_protocols TLSv1.2;
    ssl_certificate localhost.cer;
    ssl_certificate_key localhost.key;

    location / {
        proxy_pass         http://localhost:80;
    
        #Making the Proxy transparent
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   Host      $http_host;
    }
}

server {
    listen       80;
    server_name  localhost;

    location / {
        proxy_pass         https://the.server.side.com;
    
        #Making the Proxy transparent
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   Host      $http_host;
    }
}

Now I start up Wireshark, tell it to capture on the local loopback adapter and also set a capture filter for port 80. Finally I configure the client to use https://localhost:443 and make a request. Voila, Wireshark is reporting some action!

Freitag, 29. November 2019

Disable Bluetooth on system startup

I have issues with Bluetooth, waking up my notebook a short time after going into sleep mode. Finally I found out is was related to Bluetooth. Turning off Bluetooth solved the problem.
But how to automatically disable it, in case I have to reboot the device?

Open the start programs and add a new one. Give it a name like

Disable Bluetooth

and put in the command field

rfkill block bluetooth


Dienstag, 5. November 2019

Install a minimal Eclipse for ABAP that uses Java 13 on Ubuntu

Java

AdoptOpenJDK 13



Download Java 13 from https://adoptopenjdk.net/ and unpack the archive to /usr/lib/jvm/jdk-13.0.1+9.

JavaFX 13

Eclipse needs JavaFX and Java 13 does not come with JavaFX any more. So download it from https://openjfx.io/ and anpack to the same folder where Java has been installed.

Eclipse

Eclipse minimal 4.13

Eclipse has a numbering system that might confuse you - version 2019-09 is the same as 4.13, got it?
Get the Eclipse Platform Runtime Binary to install just the minimum requirements for the ABAP IDE from https://download.eclipse.org/eclipse/downloads/ and unpack it to any folder in your home directory.

ABAP Tools

Add the software site and install ABAP tools by going to
Help → install new Software → Add
Then enter ABAP Tools as name and add https://tools.hana.ondemand.com/2019-09 to the location field. Save and then install all packages from that repository.

eclipse.ini

Edit the eclipse.ini file and add the following lines at the beginning:
-vm/usr/lib/jvm/jdk-13.0.1+9/bin/java

Desktop Icon

For Linux Gnome or Unity desktop a eclipse.desktop file must be created:
Linux Desktop[Desktop Entry]Encoding=UTF-8Version=1.0Type=ApplicationTerminal=falseExec=~/Eclipse/eclipse-2019-09-abap/eclipseName=Eclipse ABAP 2019-09Comment=Eclipse ABAP IDEIcon=~/Eclipse/eclipse-2019-09-abap/icon.xpmName[de_AT]=Eclipse ABAP 2019-09StartupWMClass=Eclipse
Save that file in ~/.local/share/applications or /usr/share/applications. Then search for "eclipse" using the <Super> button, start the application and add it to the favorites if you want to do so.


Freitag, 6. September 2019

Serving static pages with Node.js


There is a simple HTTP server for Node.js that does not require any programming or even configuration. Simply install it, move to the directory containing the static pages and run it.

npm install http-server -g
cd .\dist\
http-server

Donnerstag, 16. Mai 2019

Eclipse - globally change font size

There are a lot of settings for the fonts in Eclipse in the menu Window -> Preferences -> General -> Appearance -> Colors and Fonts. But this is very detailed and it is hard to find out which settings effects which text.

But if you want to make a global change to all fonts sizes in Eclipse, got to the folder plugins/org.eclipse.ui.themes_ ... /css/dark and edit the css file corresponding to your theme. In my case I am using theme dark, I had to change e4-dark.css. Add the following lines at the end:

* {
    font-size: 14;
}

for larger text. To get smaller text use

* {
    font-size: 8;
}