- a simple url encoder/decoder

 a simple url encoder/decoder


Wirtschaft (150) Pressefreiheit (125) Österreich (120) IT (95) code (60) Staatsschulden (37) EZB (27) Pensionssystem (16)


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
  public ILocalStorageService LS
    get => _localStorage;
    set => 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 TaskOnAfterRenderAsync(boolfirstRender)   {      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)?