blog.darkstar.work - a simple url encoder/decoder

 a simple url encoder/decoder
 http://blog.darkstar.work

Labels

Wirtschaft (150) Pressefreiheit (125) Österreich (120) IT (95) code (60) Staatsschulden (37) EZB (27) Pensionssystem (16)
Posts mit dem Label Pressefreiheit werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Pressefreiheit werden angezeigt. Alle Posts anzeigen

2023-11-16

Warn signals for liberal democracies?

2005 prolog

Most of you know Georg Lucas and Star Wars.

In star wars episode III - "revenge of the sith" (produced 2005) 
jar jar propose that the senate give emergency power to ...



2020 warn signals for liberal democracies?

There are fewer liberal democracies than there were 10-15 years ago.

Some countries, that were choosed the way to liberal democracy some year ago, returned now to a more authoritarian style.

German public-service television network ARD's 'Tagesschau' titled one year ago:
Tunisia's President Saied
On the way to becoming a dictator?

Tunisia's President Saied is voting on a new constitution that would give him comprehensive rights. Is the president, who has already disempowered the government and parliament, on the way to becoming a dictator?

Reasons for reducement of democratic institutions

1. Democracy costs money, is expensive
If the economic situation is bad and debts and unemployment rise, then savings are often made in some areas of the state sector.
Unfortunately, only a few states process government shutdown procedures. where all except most necessary government spendings are reduced, unless a new budget is democratically decided.
Governments often save money where it affects only a few and the few have a weak lobby or no lobby at all.
  • NGOs regularly have their budgets cuts

    For churches and a small group of state authorized charity you can spend money and pay less tax,
    but for a lot of other NGO's, specifically free churches (like the taxas christ chuch, baptist church, knights templar society or hindu temple), gnu opensource group, ieft, civil right movements, LGBT communities, free artists associations you don't get 1 penny of tax facilitation / reducement, when spendig a lot.

    So most NGO are dependent on crowed founding and small subvenetions from the state, 
    some special state legitimated NGOs have privileges, that spending will cause tax reduction and a minimum of state budget is reserved for them.
    e.g. I spended also only for caritas socialis & Volkshilfe, when earning good, because of tax cuts.
    p.s. I really coulded to reduce my tax bill even more, but I didn't it in case of investation in car, books, membership for liberal party or investments for the children and wrote every income postion on my tax declaration.

    Financal support for free pressed were limited for public TV, you had to pay a special GIS tax, but there is no posibility to spend money to the free press pod neither for companies nor private persons.
  • Invalidity pensions were abolished

    In some areas, state welfare is limited to incapacitated people (without full citizens and human rights). Former finance ministress Maria Theresia Fekter critized in year 2013, that too many healthy people retire at average age of 52-53. https://www.youtube.com/watch?v=omb-jdmy_nw&t=65s
    Now even very sick people stay at 56 fully in labor market,
    but I'm so proud that we all will retire later.

  • Homeless shelters cost €200 - €300 per month.

    (I remember, my Frank pointed out to me in year 2000 that in Asia homeless shelters are not free like here and cost US$5 per night and thought, that such things will never become popular in Europe or legitimated. Well since ~2014 that changed.)
2. Democratic and state processes are sometimes inefficient, slow and bureaucratic

'Many democratic processes, especially court proceedings, legitimation for new rather unknown business licenses and environmental impact assessments, are often bureaucratic, take a lot of time. In order to speed up these processes, things were simplified and appeal options were limited in trys and short time period.
For example the Austrian police 
  1. revoked me my driving license for one year and after obtaining it back, the license is limited to year 2025 and I have to proove a certificate of a psycolical investigation every ¼ year (3 months)

  2. imposed a general weapons ban on me 

3. State must also guarantee international competition, and when cut spending, than it had to reduce taxes for companies and workers

Well in US and other countries both parties (democrats and republicans) often promise big fat tax cuts  (maybe with icecream) for companies and workers and sometimes hope, that the good old blue colar worker jobs will come back to the US. Here in Austria, the state seem to reduce spending for some groups, but didn't promise any big fat tax or social insurence cuts at all.

Well, I was able to achieve a big fat cut from social insurance, when I worked for a community based project where all profits were donated to cancer aid and then only reached a maximum of €2000 before taxes per year for the period of 1-2 years.

I am currently unemployed since September 2023 and receive too much money for doing nothing and that only because a have to pay for two children and my ex-wife has too little income. I feel so ashamed for that, that I have already initiated the reopening of my small company after X-Mas on January 1st, 2024 in new lulz.

2023-10-25

E-Mobilität? China hats schon, die USA baute Tesla und Europa fällt auch hier zurück

Es gibt in Österreich keinen Porsche Cayenne Mangel


Porsche Cayenna auf gebrauchtwagen.at (319 Porsche Cayenne sofort verfügbar)


Porsche Cayenna auf willhaben.at (432Porsche Cayenne sofort verfügbar)





Öl- und Benzin-Preise sind zwar noch billig genug, trotzdem wird inzwischen die E-Mobilität in Europa stiefväterlich behandelt, wahrscheinlich liegt es am SUV Überschuss im Markt.

Auf Alibaba boomt das Elektro-Automobil




Some new chinese electro car models::

Neta X



2023 Byd Seagull Haiou





2023-10-22

Case study of apparently sowiet (U.S.S.R.) tactical advantages during cold war (20th century)

After world war II the so called cold war between USA vs. USSR dominated farly political and geostrategic focus. 
This article focuses on Soviet tactical and strategic advantages.
But I ask you to carefully consider the impact of the US backlashes,
which I intentionally don't emphasized.

Phase I: Division of states

For the Soviets, the division of states was an ideal instrument of direct pressure on allies of the US.
I would call it "far near fear". The far fear of communism and a global conflict became sometimes very near. 
Sovjets forced USA to react to their actions, see Berlin Blockade  
Speach of JKF in West Berlin: Ich bin ein Berliner.

Germany

BRD vs. DDR
    Source: geschichte-abitur.de


Korea


Source: Wikimedia

Sputnik Crisis: Demonstrating technological advantage

Source: https://de.wikipedia.org/wiki/Sputnikschock#/media/Datei:Sputnik-stamp-ussr.jpg
Sputnik crisis was a symbolic act to demonstrate the advantage of USSR in space technology. Many people only remember the creation of NASA as countermeasure, but mostley forget another;Founding of DARPA (Defense Advanced Research Projects Agency) who emerged ARPANET, origin of entire internet today.

Cuba Crisis: Ability to critically hit an unshielded opponent 

The cuba crisis seemed to be first a tatical victory for the Sovjets. Deployment of short and medium ranged missiles on Cuba seemed like a total tactical advantage over the USA. (Counterstriking the enemy critically, even in case of first strike by US.)
Screenshot of Google Maps

An effictive blockade of Cuba and great skills of JFK neutralized  tactical superiority of USSR so far. US agreed to dismantle Jupiter nuclear missiles from Turkey:


Countermeasures against civil protests: Tanks, tanks, tanks

Tanks (Hungarian Revolution 1956), tanks (Prague Spring) and tanks (? guess who and where)?
Source: https://upload.wikimedia.org/wikipedia/commons/thumb/9/9c/J%C3%B3zsef_k%C3%B6r%C3%BAt_a_Corvin_%28Kisfaludy%29_k%C3%B6zn%C3%A9l._Harck%C3%A9ptelenn%C3%A9_tett_ISU-152-es_szovjet_rohaml%C3%B6vegek%2C_a_h%C3%A1tt%C3%A9rben_egy_T-34-85_harckocsi._Fortepan_24854.jpg/330px-J%C3%B3zsef_k%C3%B6r%C3%BAt_a_Corvin_%28Kisfaludy%29_k%C3%B6zn%C3%A9l._Harck%C3%A9ptelenn%C3%A9_tett_ISU-152-es_szovjet_rohaml%C3%B6vegek%2C_a_h%C3%A1tt%C3%A9rben_egy_T-34-85_harckocsi._Fortepan_24854.jpg
 

Tanks in russian capital Moscow for coup d'etat

Last time I remember tanks in capital moscow occured 1991 during Soviet coup d'etat attempt.
Source: Wikimedia

Outlook in 21st century

Danger of Soviet block doesn't exist anymore in the old manner of cold war in 21st century, but I 've an intense feeling that a stable multilateral new world order was not created  out of a fair process within national constituted assemblies. The expectation that liberal democracies and global corporations would have been a possible future seems less possible than it 10-20 years ago.

2023-10-15

ATX and austrian stock market traded companies

#ATX (Austrian Traded Index) never ever reached high of 2008 again. https://www.google.com/finance/quote/ATX:INDEXVIE?window=MAX


#Raiffeisen International [ rbinternational.com ] seems to be a sitting duck, because of sanctions against Russia, but I'm sure that they could swap the Russian risk against something special. 

Some #ATX companies like #Andritz [ andritz.com ], #OMV [ omv.at ], #Verbund [ verbund.com ] seems to be very defiant against that trend.


CA IMMO [ caimmo.com ] was quiet profitable so far.


#Dynatrace [ dynatrace.com ] a newcomer was founded in Austria and is now traded in #NASDAQ
Find all Dynatrace locations in Austria at wko companies directory: 

#VoestAlpine [ voestalpine.com ] steel production and technology company will will likely lose share of world wide steel production, because raw iron supply chains are quiet long and expensive for VOEST location Linz:

Voest Alpine supply chains are A1 & OEBB

[ ALL INFOS WITHOUT WARRANTY AND ONLY OPINION OF AUTHOR ]

2023-07-29

Snow White Spinderula waked up after corona crisis, 7 dwarfs arround her and a lot of things disappeared

There was a girl named "Snow White Spinderula", who awaked from a stunned, cryostatic, petrified, paralyzed state, because she ate the forbidden fruit of knowledge from the apple tree in the garden of paradise and a piece of apple got stuck in her throat. 

Snow White Spinderula spits out the piece of apple, breathes and feels permeated again by the fresh and active spirit of life, recognizing that 7 dwarves standing around her.

Bit by bit she realizes now that many different things in the current world have disappeared or gone for ever and that this had nothing at all to do with the 7 dwarfs keeping an eye on her.

Disintegrated, disappeared, died ot transformed to void


Feminist internet blogs, groups and communities in social media

https://commons.wikimedia.org/wiki/File:Feminist.png


Microsoft Windows Phone

https://en.wikipedia.org/wiki/Windows_Phone


Small left parties, autonomous groups and comunity based projects

Autonomous left groups, community based left groups and projects and small left parties,
for example the Pirate Party, Europe anders, ...

https://en.wikipedia.org/wiki/Antifa_(Germany)

https://en.wikipedia.org/wiki/Pirate_Party


A lot of internet media  blogs in right, conservative and liberal spectrum were gone

Also a lot of conservative, right wing and liberal blogs moved to virtual graveyard also known as /dev/null or Nirvana.
It's sad to see many blogs from reasonable moderate-citizen first disappeared and in result of that disappearance many rescrictions by law were made against "more radical" groups:

It's so sad to realize, that so many groups from the left or middle-class spectrum of society disappeared, shut down their internet presence and blogs and let themselves be pushed out and no longer dared to express their opinion freely in public space or on main stream channels of the internet.

A lot of things concerning software, system and kernel programming

Some epic threats in newsnet (NNTP) newsgroups
Some very passionate discussions in the linux kernel newsgroup between Linus Torvalds and Alan Cox concerning sync before close, fbarrier as alternative to fsync with funny swipes to Alans work at Intel and drinking same kool-aid as other hardware cpu programmers.

Integration of NIS (Network Information Sytem originally called Yellow Pages) in latest apple OS.

Some projects on freshmeat.net sourceforge.net knowledge to use UDP for large - huge amount of data and the intention to develope a symmetric, asymmetric or certificate based standardized encryption for  all services based on UDP.

Realization that everything (file transfer, authentication, authorization including claims and bearer tokens, web services instead of old style Sun RPC or modern gRPC, VPN, ...) over HTTPS  might not be always the ideal solution and best practice and could be realized more service oriented otherwise.

Development of a more reliable driver and toolkit for mounting btrfs, ext2-4, xfs zfs file systems under Microsoft Windows 10-11.

or maybe not?

Full capacity of steel processing industry at voestalpine

Full capacity of stell processing industry at voestalpine Linz
https://www.voestalpine.com/highperformancemetals/international/en/


A Gothic Madonna replaced by a fake (both the original and the fake)

Photo of faked gothic madonna

Many other things will be reported soonly

Many other things will be reported soonly.

2023-06-02

Commercial business livestyle, NPO and the few community based lifestyle, that we ignore

Common images in western societies from social and economic point of view:

Family (classic)

classic family based

At least one or both parents work most of the year and gain income for family. Family might get money from the state for the children to help getting them educated in public or private school and later an education to get a paid job in our economy.

Pair of adults (might be even gay or lesbian)

A pair in a kind of love or sexual relation lives together, because they cannot reproduce or don't want to have children. Normally both work (maybe not fulltime) and earn money.

Single adult (might be divorced father)

A single person lives alone, earns money.

Forgotten community based live styles

When you really open your eyes, you will find a lot of community based live styles, that were mostley not declared as community, but practically have the tendency / bias to live together as a community, were the priority to earn money is quiet low.
Some examples:
  1. extended family (were some of the members receive money in form of social benefits or unemployment insucrance from state, insucrances or relatives, could be clan based)
  2. spiritual or far left community (e.g. new age group, marxists, trotskyists, like-minded community)
  3. [Please enter you own expiriences here]
Unfortunately, the original form of old farmer families or kibbutz is really outdated.

Misunderstandings and conflicts concerning community based live forms

  • It is a mistake to assume that all community based lifestyles are voluntary, often it is economic pressure that leads to such living conditions.
  • But it is also wrong that nobody wants to live like this and people who live like this need education upgrades or training positions to enter jobs. 
  • Since community-based forms of life are mostly sustained by money that is not entirely self-earned, there is often the argument that they take it away from the really old and weak or disabled because it is mostly spent by the state.
  • Community based persons never understand the importance that somebody is stressed and races to an urgent meeting with an important wealth customer.
  • On the other hand, working people with functioning business models do not understand the obligations of community-based individuals, who often donate odd amounts of time to unnecessary inefficient rituals within the community.
  • Community based lifestyles are often viewed as precariously archaic or uncivilized, although the rules or code in such communities are often very complex, but often inhibit individuals from their full economic capacity or individual self-expression.
In my opinion we should sharpen our awareness and not a standard protocol or purely economic imperative when encountering these rare but nonetheless existing lifestyles.

Why I wrote this article:
Tonight my mind was clear and I saw, that some people don't want to be driven from an economic imperative and like more a community based life style. In Austria such people don't receive much money from the state, but often were discrimented or motivated to follow an economic working life model.


2022-11-15

Could too much function pointers (delegates) inside many huge loops have an effect of unoptimizable code?

We have this simple c modified code from stack overflow called funcptrtest.c:

include <stdio.h>
/*   C code for program funcptrtest.c 
  => https://pastebin.com/rUtXfgSG 
*/
const int b = 23;

// A normal function with an int parameter and void return type
void fun(int a)
{
  if (a < b)
    printf("Value of a (%d) is lesser then value of b (%d)\n", a, b);
  else if (a == b)
    printf("Value of a (%d) is equal value of b (%d)\n", a, b);
  else if (a > b)
    printf("Value of a (%d) is greater than value of b (%d)\n", a, b);
}

// main => NO KNR style int main(argc, argv) int argc; char **argv 
int main(int argc, char **argv)
{
    int i = 0;
    /* fun_ptr is a pointer to function fun()
           void (*fun_ptr)(int) = &fun;
         is equivalent of following two
           void (*fun_ptr)(int);
           fun_ptr = &fun;
    */
    void (*fun_ptr)(int) = &fun;

    // call once with static int
    (*fun_ptr)(b);

    // iterate through for loop
    for (i = 1; i < 101; i+=11)  {
        // Invoking fun() using fun_ptr
        (*fun_ptr)(i);
    }

    return 0;
}

We compile it now with gnu c compiler with gcc option -S and generate an assembler file:

gcc -S funcptrtest.c -o funcptrtest.asm

Result will be something like this:

.file   "funcptrtest.c"
        .text
        .globl  b
        .section        .rodata
        .align 4
        .type   b, @object
        .size   b, 4
b:
        .long   23
        .align 8
.LC0:
        .string "Value of a (%d) is lesser then value of b (%d)\n"
        .align 8
.LC1:
        .string "Value of a (%d) is equal value of b (%d)\n"
        .align 8
.LC2:
        .string "Value of a (%d) is greater than value of b (%d)\n"
        .text
        .globl  fun
        .type   fun, @function
fun:
.LFB0:
        .cfi_startproc
        endbr64
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        subq    $16, %rsp
        movl    %edi, -4(%rbp)
        movl    $23, %eax
        cmpl    %eax, -4(%rbp)
        jge     .L2.L2:
        movl    $23, %eax
        cmpl    %eax, -4(%rbp)
        jne     .L4
        movl    $23, %edx
        movl    -4(%rbp), %eax
        movl    %eax, %esi
        leaq    .LC1(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        jmp     .L5
        .L2:
        movl    $23, %eax
        cmpl    %eax, -4(%rbp)
        jne     .L4
        movl    $23, %edx
        movl    -4(%rbp), %eax
        movl    %eax, %esi
        leaq    .LC1(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
.L2:
        movl    $23, %eax
        cmpl    %eax, -4(%rbp)
        jne     .L4
        movl    $23, %edx
        movl    -4(%rbp), %eax
        movl    %eax, %esi
        leaq    .LC1(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
        jmp     .L5
.L4:
        movl    $23, %eax
        cmpl    %eax, -4(%rbp)
        jle     .L5
        movl    $23, %edx
        movl    -4(%rbp), %eax
        movl    %eax, %esi
        leaq    .LC2(%rip), %rax
        movq    %rax, %rdi
        movl    $0, %eax
        call    printf@PLT
.L5:
        nop
        leave
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc     
.LFE0:
        .size   fun, .-fun
        .globl  main
        .type   main, @function
main:
.LFB1:
        .cfi_startproc
        endbr64
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        subq    $32, %rsp
        movl    %edi, -20(%rbp)
        movq    %rsi, -32(%rbp)
        movl    $0, -12(%rbp)
        leaq    fun(%rip), %rax
        movq    %rax, -8(%rbp)
        movl    $23, %edx
        movq    -8(%rbp), %rax
        movl    %edx, %edi
        call    *%rax
        movl    $1, -12(%rbp)
        jmp     .L7
.L8:
        movl    -12(%rbp), %eax
        movq    -8(%rbp), %rdx
        movl    %eax, %edi
        call    *%rdx
        addl    $11, -12(%rbp)
.L7:
        cmpl    $100, -12(%rbp)
        jle     .L8
        movl    $0, %eax
        leave
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE1:
        .size   main, .-main
        .ident  "GCC: (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0"
        .section        .note.GNU-stack,"",@progbits
        .section        .note.gnu.property,"a"
        .align 8
        .long   1f - 0f
        .long   4f - 1f
        .long   5
0:
        .string "GNU"
1:
        .align 8
        .long   0xc0000002
        .long   3f - 2f
2:
        .long   0x3
3:
        .align 8
4:

Lets look, if a simple loop is faster than a function pointer delegate call:

/* program looptest.c */
include <stdio.h>

const int b = 23;

// main
int main(int argc, char **argv)
{
    int i = 0;
    int a = 23;

    /*
    if (a < b)
        printf("Value of a (%d) is lesser then value of b (%d)\n", a, b);
    else if (a == b)
       printf("Value of a (%d) is equal value of b (%d)\n", a, b);
    else if (a > b)
       printf("Value of a (%d) is greater than value of b (%d)\n", a, b);
    */

    // iterate through for loop
    for (i = 1; i < 4194304; i+=11)  {
        a = i;
        if (a < b)
           printf("Value of a (%d) is lesser then value of b (%d)\n", a, b);
        else if (a == b)
           printf("Value of a (%d) is equal value of b (%d)\n", a, b);
        else if (a > b)
           printf("Value of a (%d) is greater than value of b (%d)\n", a, b);
    }

    return 0;
}

/* program funcptrtest.c */
include <stdio.h>

const int b = 23;

// A normal function with an int parameter and void return type
void fun(int a)
{
  if (a < b)
    printf("Value of a (%d) is lesser then value of b (%d)\n", a, b);
  else if (a == b)
    printf("Value of a (%d) is equal value of b (%d)\n", a, b);
  else if (a > b)
    printf("Value of a (%d) is greater than value of b (%d)\n", a, b);
}

// main
int main(int argc, char **argv)
{
    int i = 0;
    /* fun_ptr is a pointer to function fun()

       void (*fun_ptr)(int) = &fun;
       is equivalent of following two
       void (*fun_ptr)(int);
       fun_ptr = &fun;
    */
    void (*fun_ptr)(int) = &fun;

    // call once with static int
    // (*fun_ptr)(b);

    // iterate through for loop
    for (i = 1; i < 4194304; i+=11)  {
        // Invoking fun() using fun_ptr
        (*fun_ptr)(i);
    }

    return 0;
}

Well, that's not so deterministic, of course our simple looptest.asm has a shorter assembler.

compile options

But execution time is not so huge difference, we have to simulate, that in many scenarios.

[To be continued ...]

2022-10-15

About identity & privacy

Most complete Identity of a person is defined / determined by different public, restricted or private accessible spheres.



[ to be continued ... ]


2022-10-11

It's about creating distributed service oriented communications

Attention:
This article isn't about daily standard electronic communications via network protocols (e.g. email services or shared network folders),  neither about user authentication / authorization nor groupware. 

It's about: 
Implementing or consuming customizable reliable distributed services;
by choosing & implementing a programmable extensible scalable, easily portable, standardized inter-compatible fail-safe resilient communication middleware, that's financially essential for most critical business processes.

For what kind of companies is that useful, important or relevant?
It's relevant for all companies, that consume many crtical data from external partners / service providers; 
then process received & own data inside different departments (maybe in different locations) with different areas of responsibility (e.g. fraud detection, critical real-time scaling of dynamic hardware (memory, harddisks and available CPUs, permanent risk adjustment and last but not least anonymized [General Data Protection Regulation] precise reporting for legal reasons);
finally  and ultimately share processed data to maybe different  external organisations with very deviating requirements, like government fraud reporting agency on one side and partners inside a foundation or joint umbrella organization however.

Overview most common distributed service oriented communication technologies in history

What technologies do you use in your company / organisation or as private person for distributed service oriented communication?

    1. antique: [ 1980s ]
    2. old: [ around the millennium ]
    3. Previous generation: [ since 2010 ]


    What local software suites / solutions / products and enterprise cloud services are included in your distributed service oriented communication(s workflows)?

    1. Microsoft BizTalk Server
    2. RabbitMQ [ github.com/rabbitmq ]
    3. Amazon Web Services [ aws ]
    4. Azure RestAPI Reference 

    [ to be continued ... ]






    -


    2022-10-02

    Curch music I like

     I'm left liberal atheist, but I want to show thou, that I like some church music very much.

    My favorirtes (church music)

    Gregorian Chant (gregorianischer Choral)


    Franz Schubert (deutsche Messe) (1)

    Zum Eingang („Wohin soll ich mich wenden“)
    Zum Evangelium und Credo („Noch lag die Schöpfung formlos da“)
    Zum Offertorium („Du gabst, o Herr, mir Sein und Leben“)
    Zum Sanctus („Heilig, heilig, heilig! Heilig ist der Herr!“)
    Nach der Elevation, oder: Nach der Wandlung („Betrachtend Deine Huld und Güte“) (2)
    Zum Agnus Dei („Mein Heiland, Herr und Meister“)
    Schlussgesang („Herr, Du hast mein Fleh’n vernommen“)
    Anhang. Das Gebet des Herrn („Anbetend Deine Macht und Größe“)

    Johann Sebastian Bach (H-Moll-Messe) (3)


    2022-09-25

    Bridge Mini-VM for reading XFS, JFS, ext[234], minix, btrfs, reiserfs ot any other non MS filesystem

    Howto access  XFS, JFS, ext[234], minix, btrfs, reiserfs ot any other non MS filesystem from Windows 7 - 11 without installing a maybe bogus kernel filesystem driver?

    1. Make a Mini-Vm with a totally slack and stripped linux kernel, that is bridged on a VM network adapter. Include all filesystem drivers and needed network adapter & drivers in that kernel and strip / kick out everything other, what's not needed. 
      Make the kernel similiar to a cisco router or PIX firewall kernel.
    2. Give the VM direct access to your harddisk, usb-devices, firewire & bluetooth devices.
    3. Enable the Mini linux VM to reEXport mounted filesystem over smb or nfs.
    4. Calculate the memory size, which is needed, that all filesystem mounts and all fs operatons work fast enough with paging and caching. 
    5. Choose the best scheduler for that mini-VM.
    6. Optimize all ioctl, (f)lush, (f)read, (f)write, (f)seek, (f)open, (f)close and all other filesystem operations.
    7. If you are hungry => oprimize the /proc /sys /dev filesystem.

    2022-08-13

    Risk calculation in IT software projects [simplified]

    LOW:
    Our developers know very good the use case and realized similar use cases very often. It exists a well documented standard library in framework for that use case or an inhouse framework.

    MEDIUM:
    Our developers principally understand the use case and can imagine well to realize it with a standard or inhouse library.

    HIGH:
    Our developers principally understand the use case, but never realized something similar. They need some none standard not well tested (and even maybe scanty documented) library to realize it Mr. X / Mrs. Y heared in a former company, that some of her co-workers already used an git open source library for something very similar to the most critical path in implementation for our use case. But that git repository looked more like freak made (that's is possible), rather than a well made university project concerning all security and performance issues including soft & hard limits.
    (After contacting the author(ess) of git open source project, (s)he means: "I did this 9 years ago, you have to port it to the newest version of the framework and it will work only slacky with over 100.000 main data records! Feel free to implement a caching mechanism and re-deliver it to my git project tree.)

    EPIC:
    Our developers don't or won't understand that special use case.
    They ask: "Are you crazy or on crystal meth?", when receiving the requirements.
    There doesn't exist any library in the company's programming language for that. Maybe some international legends like Fefe or Alan Cox realized something similar in a totally different programming language.

    IMPOSSIBLE:
    Even Fefe, Linus or Alan (Cox) say: "This is science fiction!"

    2022-05-08

    A crazy example of a Lazy singleton as strangest singelton pattern ever

    A crazy example of a Lazy<T> singelton with privat constructor inherited form an protected DoubleLockInstance singelton with private empty and protected parameter constructor inherited form an abstract singelton template with protected constructor.


    Application settings example:


    BaseSets for basic settings as abstract singelton base


    using System;using System.Reflection;
    namespace work.darkstar.blog{    /// <summary>    /// abstract class BaseSets     /// </summary>    [Serializable]    public abstract class BaseSets    {        public string AssemblyName { get => Assembly.GetExecutingAssembly().GetName().ToString(); }        public string Copyright { get => "GNU LIGHT GENERAL PUBLIC LICENSE 2.0 LGPL"; }        public virtual string AssemblyCom { get => "darkstar.work"; }
            public virtual int AppId { get; protected set; }        public virtual string AppName { get; protected set; }        /// <summary>        /// protected empty constructor for inheritable singelton        /// </summary>        protected BaseSets() { }         /// <summary>        /// protected parameterized constructor for inheritable singelton        /// </summary>        protected BaseSets(int appId, string appName)        {            AppId = appId;  AppName = appName;        }    }}

    AppSets for application settings as instancable singelton default app sets (settings):

    using Microsoft.Win32;
    using System;
    using System.Reflection;
    using System.Windows.Forms;

    namespace work.darkstar.blog
    {
        public interface IAppSetsDomain : IAppDomainSetup    {        System.AppDomain AppCurrentDomain { get; }    }    /// <summary>
        /// application settings singelton    /// </summary>
        [Serializable]    public class AppSets : BaseSets, IAppDomainSetup
        {
            
    private static AppSets _appSets;
            private static object  _initLock, _sndLock;
            protected static AppSets DoubleLockInstance {            get {                _sndLock = new System.Object();                lock (_sndLock)  {                    if (_initLock != null) _initLock = null;
                        if (_initLock == null) _initLock = new System.Object();                    lock (_initLock) {                       if (_appSets == null)                            _appSets = new AppSets();                    }                    return _appSets;                }            }        }        public string CodeBase { get => Assembly.GetExecutingAssembly().CodeBase; }
            public string BaseDirectory { get => AppDomain.CurrentDomain.BaseDirectory; }        public string AppDataPath { get => Application.CommonAppDataPath; }        public RegistryKey AppDataRegistry { get => Application.CommonAppDataRegistry; }

            #region implementing interface IAppSetsDomain, IAppDomainSetup        
            public AppDomain AppCurrentDomain { get => AppDomain.CurrentDomain; }
            public string ApplicationBase get set; }
            public string ApplicationNameget set; }
            public string CachePathget set; }
            public string ConfigurationFileget set; }
            public string DynamicBase get set; }
            public string LicenseFile get set; }
            public string PrivateBinPath get set; }
            public string PrivateBinPathProbe get set; }
            public string ShadowCopyDirectories get set; }
            public string [] ShadowCopyDirectoryArray { 
                    get => ShadowCopyDirectories.Split(';'); }
            public bool FilesShadowCopy { get set; }
            public string ShadowCopyFiles { 
                get => FilesShadowCopy.ToString().ToLower();
                set { FilesShadowCopy = Boolean.Parse(value); }
            }
            public bool FilesShadowCopyget set; }
            public string ShadowCopyFilesget => FilesShadowCopy.ToString() set; }
            #endregion implementing interface IAppSetsDomain, IAppDomainSetup        

            /// <summary>        /// static constructor         /// </summary>        static AppSets() {
                
    _initLock = new System.Object();
                
    lock (_initLock) { _appSets = new AppSets(); }
            }
            /// <summary>        /// private empty constructor         /// </summary>        private AppSets() {            AppId = AppDomain.CurrentDomain.Id;            AppName = Assembly.GetExecutingAssembly().FullName;                      }
            /// <summary>        /// protected parameter constructor         /// </summary>        protected AppSets(int appId, string appName) : base(appId, appName) { }
        }}

    Sealed MyAppSets for application specialized appSets as Lazy<T> singelton:

    using System;
    using System.IO; using System.Security;
    /* ... */using Microsoft.Win32;/* ... */using Windows.Forms; namespace work.darkstar.blog { /// <summary> /// my application settings singelton /// </summary> [Serializable] public sealed class MyAppSets : AppSets { /// <summary> /// private static readonly Lazy<T> self containing private real singelton unique instance /// </summary> private static readonly Lazy<MyAppSets> _instance = new Lazy<MyAppSets>(() => new MyAppSets(AppDomain.CurrentDomain.Id, "LazyApp")); /// <summary> /// static instance getter for Singeltion /// </summary> public static MyAppSets Instance { get => _instance.Value; } public string UserAppDataPath { get => Application.UserAppDataPath; } public RegistryKey UserAppDataRegistry { get => Application.UserAppDataRegistry; } /// <summary> /// private constructor with partameters for sealed unique singelton /// </summary> private MyAppSets(int appId, string appName) : base(appId, appName) { } /// <summary> /// Gets name value pair for application registry key saved in registry scope for current user /// </summary> /// <param name="regName">registry name identifier</param> /// <param name="subKey">subKey in scope of current user</param> /// <returns>object value</returns> /// <exception cref="ApplicationException">application exception with detailed inner exception</exception> public object GetUserRegValuey(string regName, string subKey = null) { object o = null; RegistryKey key = null; Exception ex = null; try { key = (subKey == null) ? UserAppDataRegistry : UserAppDataRegistry.OpenSubKey(subKey, false); o = key.GetValue(regName); } catch (SecurityException sex) { ex = sex; } catch (ObjectDisposedException odEx) { ex = odEx; } catch (UnauthorizedAccessException uaEx) { ex = uaEx; } catch (IOException ioeEx) { ex = ioeEx; } finally { if (key != null && subKey != null) key.Close(); if (ex != null) throw (new ApplicationException("Error accessing registy key: " + $"{UserAppDataRegistry}\t name: {regName}\t subkey: {subKey}", ex)); } return o; } /// <summary> /// Set Value for UserAppDataRegistry /// </summary> /// <param name="regName">registry name </param> /// <param name="value"value to set></param> /// <param name="subKey">subKey</param> /// <returns>void means nothing</returns> /// <exception cref="ApplicationException">application exception with detailed inner exception</exception> public void SetUserReg(string regName, object value, string subKey = null) { RegistryKey key = null; Exception ex = null; try { key = (subKey == null) ? UserAppDataRegistry : UserAppDataRegistry.OpenSubKey(subKey, true); key.SetValue(regName, value); } catch (Exception anyEx) { ex = new ApplicationException($"Error setting value=" + $"{value} for name={regName} inside registry key: {key.Name}", anyEx); } finally { if (key != null && subKey != null) key.Close(); if (ex != null) throw ex; } } } }

    Accessing MyAppSets singelton inside any entity, framework,  helper, [...] class

    
    using System; /*  ... */
    using work.darkstar.blog;

    public class MyEntity : IAppSetsDomain {
      /* [ ... ] */
      /* [Inject] */
      /* [ ... ] */

      public AppDomain AppCurrentDomain {
        get => MyAppSets.Instance.AppCurrentDomain;     set => MyAppSets.Instance.AppCurrentDomain = value;   }   /* ... */ }