- a simple url encoder/decoder

 a simple url encoder/decoder


Wirtschaft (134) Österreich (102) Pressefreiheit (78) IT (63) code (37) Staatsschulden (34) EZB (25) Pensionssystem (14) music (3) France (1)


linux: flashing an (iso)image to usb stick

This article contains all main informations to create (rawwrite) a bootable usb stick from an existing iso (loopback) image under linux.

classic way diskdump (dd)

Find correct usb device file 

First we had to find correct linux device file for your plugged/connected usb flash (e.g. lsblk):

  lsblk --list --fs ; lsusb -v ; lshw ; hal-device ; dmesg ; echo "..."

or use that (almost) auto usb devive verifying simple shell script:

get_usb_device() {
    local device_path=$1        # such as /dev/sdc
    for devlink in /dev/disk/by-id/usb*; do
        if [ "$(readlink -f "$devlink")" = "$device_path" ]; then
            # echo "$device_path" is usb device 
			echo Fetching detailed information for usb device "$device_path" by 'hdparm -I "$device_path"'
			echo -en "$(hdparm -I "$device_path") \n\n"
			echo use cache size as base for block size in disk dumnp later 'bs=...'

			return 0
	echo "$device_path" is not an usb device
    return 1

  for _device in /sys/block/*/device; do
      if echo $(readlink -f "$_device")|egrep -q "usb"; then
          _disk=$(echo "$_device" | cut -f4 -d/)
  for _usbdevice in "$REMOVABLE_DRIVES"; do

    if get_usb_device "$_usbdevice"; then
      echo "# use following code to create your bootable usb stick: "
      echo sudo umount -l "$_usbdevice" ; sudo dd if="$HOME"/'path_to_your_image.iso' of="$_usbdevice" bs=4K && sync
      echo "# correct bs (block size) by cache size of usb device! "
      echo failed verifying usb by executing command: get_usb_device "$_usbdevice"

Flash your iso image to usb device file with dd

Finally use linux disk dump (dd) for creating image.

  sudo umount -l  /dev/usb_device_to_flash ; sudo dd if=path_to_your_iso_image of=usb_device_to_flash bs=block_size_based_on_devive_cache && sync ; 
  # default block site always are any factors of 4K

Advanced tools like Usbimager or WoeUSB

Using more advanced graphical tools such as usbimager or WoeUSB to create bootable USB flash stick.


hard fact reality vs narrative story telling (playing) theater from the point of triggers


The meaning of triggers in this article according to information theory.

A trigger is an impulse that causes people or programmed machines to take certain actions after a message has been understood in both semantic and pragmatic context. Strong triggers include furthermore the feeling of high priority and generate a strong tendency to act, well as an awareness of the consequences of not acting now.

Some examples for triggers

  1. Weather is stormy and rainy (semantically and pragmatically understood) ⇒  
      (Trgger  (T)   
    ⇒  I have to open my umbrella

  2. Fire breaks out ⇒ 
      (Trgger  (T)   
    ⇒  Trigger fire alarm and call fire department

  3. FED is lowering prime interest rate from 2,25% to 0,5%. ⇒ 
      (Trgger  (T)   
     Let's get a cheap credut (loan) in US$ and 
    make classical leverage invest in Dow Jones & Nasdaq!

Detect hard fact reality vs story telling theater by observing behavior of trigger

When I was in the army long time ago, we learned several emergency commands / orders. One of that was 'AC-Alarm' (Atomic nuclear, biological or chemical are launched, so troops had to immediately Initiate protective suit and emergency measures)

Nobody was ever maling many funny jokes in that training, similiar to fire breaks out ⇒ fire alarm in the examples above. When observing the trigger behavior. everybody recognizes, that this is no playing game and a real dangerous situation. Same story, when people are infected with HIV (AIDS) Virus or (not so deadly) Malaria.

Well, when looking at the Coronavirus, triggers are too soft, negligently, inconsistent.
Remember all DioxinPlutoniumAnthrax incidents in the last 25 years, remember even Creutzfeldt–Jakob disease. triggers were much more hard and serious, even when there was never danger for many people in all that cases.

According the media Coronavirus has already killed hundreds of thousands of alleged dead, but nobody's reacting or triggering heavy casualties for real. People are still playing that game, but nobody takes / triggers that Coronavirus real serious / grievous.


Snaps, snapd,, Snap Store,

Tonight in the early morn, when I tried to write(1) an open os based solution(2) to transform almost any modern personal computer or laptop(3) to a simple generic wifi router(4).

Then I unexpectedly found a  community platform, that was still unknown to me:

Snaps are there defined as  app packages for desktop, cloud and IoT that are easy to install, secure, cross‐platform and dependency‐free. Snaps are discoverable and installable from the Snap Store, the app store for Linux with an audience of millions, 

I tried first the search functionality of that platform and let's say clearly: 
The layout design looks excellent, the community is well visited, but some functions could be better. Lets look at these 2 examples: 
Searching common phrase file
Searching 1 char only d  
Search results also could be sorted more meaningful & understandable, e.g. 
  1. show all results, where the search phrase  directly corresponds to the package app name /(no matter if sql like (prefix, suffix, substring), sql fulltext match or Levenstein distance.
  2. then show all results, where the search phrase is found in the shown package descripton
  3. at least show all results, that appear like a magical fog or smoke for the user. I know, that your search function is probably not returning total random or bad fuzzy hit results, but I guess the search algorithm searches in fields, which are not shown in search result view.

Snapcraft web site provides at the moment the snap app package search page, a store, tutorials, documentation, developer blog, forum and IOT special bulletin.

Conclusio: Snapcraft has surly more potential, but additional functionality must be added and especially a more clear vision and road-map needs to be specified, followed and permanently filled with life. (Under my point of view, without any additional improvements, vision and road-map the project and the community won't grow up and then after some time, this will remain as small circle of developer project or even become orphaned.)
So far I see this nevertheless as an good opportunity for developers and community to get seen and to receive good jobs offers.

Simply said: Thou must have very soon an idea, where this should go and what exactly you want with  it. If thou don't want to expand and keep this project as a nice and gentle private hobby, then you can keep everything and don't have to change anything. But if you want to expand, become at least a small player for long time, ...


State management in Blazor

There is a sufficient document for state management in Blazor.
Here is a quick & fast work through with all prerequisites, how to get state management in Blazor working.

Example with Blazored.LocalStorage package

Install nuget package for your project

# Find packages providing a "Blazored.LocalStorage" 
Find-Package Blazored.LocalStorage
# install "Blazored.LocalStorage" 
Install-Package Blazored.LocalStorage -Project YourProject# alternatively

Add Blazored.LocalStorage to ConfigureServices at your Startup.cs

using System;/* ... */using Microsoft.AspNetCore.Hosting;using Microsoft.AspNetCore.Http;/* ... */using Blazored.LocalStorage;public class Startup{  /* ... */  public void ConfigureServices(IServiceCollection services)  {     /* ... */    services.AddRazorPages();     services.AddServerSideBlazor();    /* ... */    services.AddBlazoredLocalStorage();    /* ... */  }}

Using LocalStorage inside a razor page / control

@page "/MyPage"
@using Blazored.LocalStorage
@inject ILocalStorageService localStorage
@code {  /* ... */  Dictionary<stringstring> sessionDict;  /* ... */  protected override async Task OnAfterRenderAsync(bool firstRender)  {     if (firstRender)    {      sessionDict =         await localStorage.GetItemAsync<Dictionary<stringstring>>("SessDict");      StateHasChanged();    }    await base.OnAfterRenderAsync(firstRender);  }         protected async Task PersistSessionDict(<Dictionary<stringstring> persistDict) { if (persistDict != sessionDict) { await localStorage.SetItemAsync("SessDict", persistDict); } }}

Using LocalStorage inside an entity class

using System;/* ... */using Blazored.LocalStorage;
public class MyEntity{  [Inject]  public ILocalStorageService LS  {     get => _localStorage;    set => this._localStorage = value;  }  private ILocalStorageService _localStorage; 

  interal async Task<Dictionary<stringstring>> GetSessionDict() =>       await LS.GetItemAsync<Dictionary<stringstring>>("SessDict");  /* ... */}

Example with ProtectedBrowserStorage package

Install nuget package for your project

# Find packages providing a "ProtectedBrowserStorage" 
Find-Package ProtectedBrowserStorage 
# install "Microsoft.AspNetCore.ProtectedBrowserStorage" 
Install-Package Microsoft.AspNetCore.ProtectedBrowserStorage -Project YourProject# alternatively install "ProtectedBrowserStorage.NETStandard" Install-Package ProtectedBrowserStorage.NETStandard -Project YourProject

Add ProtectedBrowserStorage to ConfigureServices at your Startup.cs

using System;/* ... */using Microsoft.AspNetCore.Hosting;using Microsoft.AspNetCore.Http;/* ... */using Microsoft.AspNetCore.ProtectedBrowserStorage;
public class Startup{  /* ... */  public void ConfigureServices(IServiceCollection services)  {     /* ... */    services.AddRazorPages();     services.AddServerSideBlazor();    /* ... */    services.AddProtectedBrowserStorage();    /* ... */  }}

Using ProtectedBrowserStorage inside a razor page / control

@page "/MyPage"
@using Microsoft.AspNetCore.ProtectedBrowserStorage
@inject ProtectedSessionStorage ProtectedSessionStore
@code {  /* ... */  Dictionary<string, string> sessionDict;  /* ... */   protected override async Task OnAfterRenderAsync(bool firstRender)  {     if (firstRender)    {      sessionDict =         await ProtectedSessionStore.GetAsync<Dictionary<string, string>>("SessDict");      StateHasChanged();    }    await base.OnAfterRenderAsync(firstRender);  }         protected async Task PersistSessionDict(<Dictionary<stringstring> persistDict) { if (persistDict != sessionDict) { await ProtectedSessionStore.SetAsync("SessDict", persistDict); } }}

Sources and links:


Semantic Internet: Trends, Facts, Futures, Verification

[Draft] [Concept] [Prototype]

Semantic Internet (former known as Semantic Web, see also RDF) has the possibility to record different semantic trends occurring at different sources with a certain frequency inside the in principle accessible to the public internet.
Day after day, month after month, semantic contexts are published on the Internet. area23 semantic web filters all semantic statements that occur with a certain frequency from different sources. Furthermore, not all trends and semantically significant events are more relevant for most semantic miners.

With area23 semantic web you can filter by region, topic categories, relevance from different sources and subsequent complexity.

A filter for a region can be set similiar to Google Trends, e.g. for United States or for Germany, etc.

Basic main categories are:

  • politics (Brexit, Sinn Féin, Thüringen, ...)
  • sports  (soccer, american football events, ...)
  • entertainement (music, cinema, tv, ...)
  • technology
  • business (stock markets, trading, bonds, central bank news, different economic indictors)
  • health
  • lifestyle (eating, drinking, other events)
  • housing (appartments, flat, hotel, camping / caravan sites, vacation rentals, accommodations, e.g.: Airbnb, Wimdu)
  • infrastructure (traffic reports, flights & airports occupancy, train connections, ships & ferries connections)
  • weather (including unexpected temperatures / weather effects, like ice, heavy rain, storm, dry periods plus enviroment disasters, like hurricanes, floodings, earthquakes, volcanic eruptions)
  • and many more
Once you created your filter enviroment, you can start collecting & recording semantic events.

After some time, collected semantic events will appear, e.g.: 'coronavirus'

In that example, 'coronavirus' the most common and reliable semantic logical statements are shown (extracted from different internet sites / ressources), e.g.: number of infections, behavior to stay healty, flights canceled to / from China, stock market risk for China in the next year.

Every statement extracted from the data pool that directly makes a statement or an assumption regarding matters other than the corona virus is now checked with other data sources as to whether the statement actually has a formal fuzzy truth content. So in that (our) example, the flight connections from and to China will be verified immediately as a result. Chinese economic data and the change behavior of futures in Hang Seng, which changed in the period since the outbreak of the coronavirus, will be checked too.

Warning, formally epistemologically an extracted statement is not necessarily true, even if 15 different articles from different countries in different languages in the web claim: "Corona virus has negative effects on the current Chinese fiscal year 2020." and if the outlook for futures in Hang Seng and the economic data have deteriorated in the same period.

to be continued...

Links about semantic web and similar topics:


EPU Personenbetreuer in Vorarlberg & weiter stark (aber nicht mehr wachsend)

Im Jahr 2014 befasste ich mich rein privater Natur mit dem Wachstum / Entwicklung / Überhitzung der veschiedenen Wirtschaftssektoren, Sparten, Branchen, Fachgruppen, Berufsgruppen und sonstige kurzfristingen Trends und langfristiger Entwicklungen in den Bereichen Arbeit und Wirtschaft anhand des ganz konkreten Beispiels der Berufsgruppe Selbstständige Personenbetreuer.

Ich verfasste folgenden sehr kurzen Artikel auf meinem Blog hier dann dazu. Der Grund für gerade diese Berufsgruppe für jene Fallstudie war nicht etwa ein sozialer Hintergrund (z.B. arme ausgebeutete Scheinselbstständige im untersten Einkommenssegement)  oder ein rassistisches Motiv (es handelt sich bei Mitgliederinnen dieser Berufsgruppe vornehmlich um weibliche der Volksgruppe der Slawen zugehörige osteuropäische EU-Bürgerinnen), sondern ganz simpel und einfach die Tatsache, dass es in Österreich aufgrund der demographischen Entwicklungen in diesem Marktbereich sehr leicht einschätzen lässt, welche Nachfrage es durch immer mehr pflegebedürftige Pensionistinnen gibt und gleichzeitig welcher  Angebotsbedarf an Personenberteuerinnen (Pool an Betreuerinnen) dazu sich korrespondieren entwickelt.

Bis Anfang Jänner 2019 stiegen Angebot und Nachfrage in der Pflegebetreuung relativ konstant an (eine immer größer wachsende Anzahl von Pfelgebedürftigen mit immer exklusiveren Bedürfnissen stand korrelierend ein stetig wachsendes Angebot an Pflegeleistungen und immer mehr Betreuerinnen gegenüber).
Im fortschreitenden Jahr 2019 stagnierte allerdings die Angebotsseite deutlich zum 1. Mal seit Jahren und es gab kein sichtbares signifikantes Wachstum bei der Anzahl der sich anbietenden Personenbetreuerinnen.

Seit Anfang 2020 schrumpfte bereits die Angebotsseite sichbar. (sprich eine signifikante geringere Anzahl an vorhandenen selbstständigen Personenbetreuerinnen offerierte eindeutig nicht mehr derart manngfaltige Liestungsangebote, sondern viel mehr ein günstiges Standard-All-In Paket / Dienstleistung).


Staatsschulden Deutschland

Laut Statistik der Wirtschaftskammer Österreich sind die Staatsschulden von Deutschland die letzten Jahre extrem gesunken (von 82% des BIP 2010 auf 56,8% des BIP 2020 approximiert).

Trading-Economics bestätigt diese Daten:

Auch die EZB Daten bestätigen dieses Bild:

Details für Feinspitze gibt es hier:

Alle unterschiedlichen Quellen bestätigen, dass Deutschland seine Staatsverschuldung in den letzten Jahren im Vergleich zur Wirtschaftsleistung (Brutto-InlandsProdukt) extrem reduzierte.
Ob Deutschland Investitionsbedarf im Bildungs- oder Infrastrukturbereich hat, kann ich nicht beurteilen, ich habe dazu leider keine Quelle.

Auf alle Fälle sitzt die Bundesbank immer noch auf einer beachtlichen Menge an (derzeit ungedeckten) Target Forderungen (Wer weiß schon was die Zukunft bringt)?