Track of the week is Detached Motion by Worakls, remixed by Patrice Bäumel
I had some free time yesterday and saw a new game on the free Stadia Pro section, so I gave it a try. And boy was I surprised. The game is called Figment and takes place in the mind of a person, where you stroll trough different areas of the brain. The protagonist is a clumsy little something who would rather enjoy a cold drink than being controlled by you. Together with an overly optimistic bird, the duo has to chase down a sinister enemy, solving riddles on the way.
This post is the first in a short series of articles about essential concepts in IT security to explain common security flaws in simple, everyday-life terms. This idea developed during an online presentation about IT security in the medical sector.
A man in the middle (MITM) scenario happens, when an unexpected party becomes part of an exchange between to individuals or entities. Let us imagine two friends somewhere in the world are good friends and are writing each other letters from time to time. To make things easier, we will name the two people Alice and Bob, which is a very common choice in information security. When Alice sends a letter to Bob, Bob can read this letter and respond to it by writing his own letter back to Alice. At some point, a malicious third party becomes interested in the communication between Alice and Bob. Let’s stick to common naming and call that malicious party „Eve“ (from eavesdropping). Eve is interested in the communication between Alice and Bob because she hopes to find information that she can use either to gain a personal advantage or to inflict harm on Alice or Bob. Eve decides to wait in front of the house of Bob every morning until the postman arrives and steal the letters from Bob’s mailbox. To stay undetected, she opens the letters (probably using hot steam), reads them, reseals the envelope and puts the letter back into Bob’s mailbox. This scenario works well for letters Bob receives from Alice, but is quite hard for letters Bob sends to Alice. In order to have all information on the exchange, Eve would also need access to the mail Bob sends out to Alice.
Reading and writing image data is a recurring task, and I was wondering, why reading and writing image sequences that are saved in one single
*.tiff file are not a standard function in the imaging libraries I regularly use (such as OpenCV, libtiff, Pillow etc.).
Reading 3D tiff files is easy, e.g. with OpenCV
import cv2 res_tuple = cv2.imreadmulti(path_to_file, flags = cv2.IMREAD_UNCHANGED)
will do the job. However, when trying to save the resulting array back to a file, it will fail. A working filesave for 3D tiff stacks could e.g. look like this:
from skimage.external import tifffile as tif import numpy as np image = np.ones((100,10,10), dtype=np.uint16) tif.imsave('test.tif', image)
Of course the
tifffile library will do that as well, however, I find it more convenient to have only
scikit-image installed and let it call the
tifffile as external library.
In the last few years I have done quite some programming work with Python and started to love both the Anaconda distribution (I might do another blog-post on that topic) and the Spyder IDE. If you are very new to Python and programming, this might be a little overkill, but it will be a very clean basis to start with and no drama, once there is the need to update or upgrade. So follow these steps if you want to get a first quick-start into Python with using the Spyder IDE and Anaconda.
So, I recently stumbled upon the problem of having to include an external DLL into a python package, which should also work when turned into a windows executable by
pyinstaller. This post, is meant to be a help if you run into the same problems I was having (and of course as my personal prosthetic knowledge).
The structure of this post will be:
- Finding dependencies
- Testing the DLL inside python
- Make the loaded DLL work inside a python package
- Bundling the DLL with pyinstaller
A lot has happened in the last view years and it is time to rework this homepage from the ground up. Besides a change of hosting provider, server etc. the underlying framework has been updated to something more modern and speed optimised. Furthermore, the blog topics of this page are gonna be a lot more diverse, ranging from the good old collection of my favorite tracks, over hints for good parties in and around Munich to random dumps of programming knowledge, cool things I stumble upon on the internet and so on.
Yes, and I decided to keep things in english, to make it more accessible to a wider range of people.