New Year 2024

Sala we ya nû pîroz be! — Srechno novo leto! — السنة الجديدة المبتهجة — Un an nou fericit! — Bun di bun an! — Happy New Year! — Gott nytt år! — Среќна нова година! — Sugeng warsa enggal! — ¡Próspero año nuevo! — Весёлого нового года! — Bonne année! — Щасливого нового року! — Καλή Χρονια! — Een gelukkig nieuwjaar! — Feliĉan novan jaron! — Sretna nova godina! — Cung chúc tân xuân! — Gelukkig nieuwjaar! — Boldog új évet! — Naya barsa ko hardik shuvakamana! — 새해 복 많이 받으세요 — Ath bhliain faoi mhaise! — Laimīgu Jauno gadu! — Nav varsh ki subhkamna! — うれしい新しい年 — Onnellista uutta vuotta! — Lokkich nijjier! — FELIX SIT ANNUS NOVUS! — Akemashite omedetô! — Frohes neues Jahr! — Felice Anno Nuovo! — Feliz año nuevo! — Shnorhavor nor tari! — Hääd uut aastat! — Срећна нова година! — Laimīgu jauno gadu! — عام سعيد — สวัสดีปีใหม่ — Godt Nyttår! — Gott nýggjár! — سال نو مبارک — Feliz ano novo! — Yeni yılınız kutlu olsun! — Šťastný nový rok! — Subho nababarsho! — Próspero ano novo! — Selamat tahun baru! — 新年好 — Честита нова година! — Szczęśliwego nowego roku! — Gleðilegt nýtt ár! — Godt nytår! — Laimingų naujųjų metų!

Share Button

Christmas 2023

Bon nadal — Bella Festas daz Nadal — Fröhliche Weihnachten — Prettige Kerstdagen — کريسمس مبارک — Mutlu Noeller — 즐거운 성탄, 성탄 축하 — Sretan božić — Kellemes Karácsonyi Ünnepeket — God Jul! — Nollaig Shona Dhuit! — Vesele Vianoce — Buon Natale — Häid jõule — Priecîgus Ziemassvçtkus — Vesele bozicne praznike — Su Šventom Kalėdom — Veselé Vánoce — God Jul — Natale hilare — καλά Χριστούγεννα — Merry Christmas — Hyvää Joulua — クリスマスおめでとう ; メリークリスマス — Crăciun fericit — Joyeux Noël — Срећан Божић — Gëzuar Krishtlindjet — Feliĉan Kristnaskon — ميلاد مجيد — Zalig Kerstfeest — Selamat Hari Natal — 圣诞快乐 — Gleðileg jól — क्रिसमस मंगलमय हो — Feliz Navidad — Wesołych Świąt Bożego Narodzenia — Gledhilig jól — Glædelig Jul — Честита Коледа — Feliz Natal — З Рiздвом Христовим

Generated by the following Kotin program:

Element.kt
package net.itsky.xmas

data class Element(val key: Long, val text: String) {
    override fun hashCode(): Int {
        return key.hashCode();
    }

    override fun equals(other: Any?): Boolean {
        if (other is Element) {
            return this.key == other.key;
        } else {
            return false;
        }
    }

    override fun toString(): String {
        return text
    }
}

Main.kt
package net.itsky.xmas

import java.security.SecureRandom

fun main() {
    val texts: List = listOf(
        "Bella Festas daz Nadal", "Bon nadal", "Buon Natale", "Crăciun fericit",
        "Feliz Natal", "Feliz Navidad", "Feliĉan Kristnaskon", "Fröhliche Weihnachten", "Gledhilig jól",
        "Gleðileg jól", "Glædelig Jul", "God Jul!", "God Jul", "Gëzuar Krishtlindjet", "Hyvää Joulua", "Häid jõule",
        "Joyeux Noël", "Kellemes Karácsonyi Ünnepeket", "Merry Christmas", "Mutlu Noeller", "Natale hilare",
        "Nollaig Shona Dhuit!", "Prettige Kerstdagen", "Priecîgus Ziemassvçtkus", "Selamat Hari Natal", "Sretan božić",
        "Su Šventom Kalėdom", "Vesele Vianoce", "Vesele bozicne praznike", "Veselé Vánoce",
        "Wesołych Świąt Bożego Narodzenia", "Zalig Kerstfeest", "καλά Χριστούγεννα", "З Рiздвом Христовим",
        "Срећан Божић", "Честита Коледа", "ميلاد مجيد", "کريسمس مبارک", "क्रिसमस मंगलमय हो",
        "クリスマスおめでとう ; メリークリスマス", "圣诞快乐", "즐거운 성탄, 성탄 축하"
    );
    val random: SecureRandom = SecureRandom();
    val elementsList: List = texts.map { Element(random.nextLong(), it) }
    val elements: Set = HashSet(elementsList);

    var first = true
    for (e in elements) {
        if (first) {
            first = false
        } else {
            print(" — ")
        }
        print(e)

    }
    println();
}

Share Button

Russia introduces new character encoding to replace Unicode

Russian computer scientists have created a new character encoding that will replace Unicode.

The encoding looks like this:

.0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F
0.NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI
1.DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSDEL
2.SPC! «»%ZV()*+-,./
3.0123456789:;=?@
4.АБВГДЕЁЈЖЗИӢКЛМН
5.ОПРСТУФХЦЧШЩЪЫЬЭ
6.ЮЯӒЂӤЉЊӦӰӞҦЋѢӘѪЏ
7.абвгдеёјжзиӣклмн
8.опрстуфхцчшщъыьэ
9.юяӓђӥљњӧӱӟҧћѣәѫџ
A.&{|}~-З́з́ѲѳѺѻ
B.ҀҁѹѸѠѡѾѿѢѣ
C.ѤѥѦѧѨѩѪѫѬѭѮѯѰѱ
D.ѴѴѶѷΑαΒβΓγΔδΕεΖζ
E.Η,ηΘθΙ,ιΚκΛ,λΜμΝνΞξ
F.ΟοΠπΡρΣσΤΥ,ΥυΦφPREFIX-CNPREFIX-OTHER

For Chinese letter, a three-byte-sequence starting with PREFIX-CN can be used. For all other letters, that are not in the base set, an eight byte long sequence starting with PREFIX-OTHER can be used.

This encoding will be mandatory in Russia and all areas annexed by Russia after a transition period.

Programming langauges, internet protocols, databases, operating systems,… everything will be replaced or adapted to work with this new revolutionary encoding.

Share Button

2023

Щасливого нового року! — Frohes neues Jahr! — Happy new year!

Share Button

Christmas 2022

З Рiздвом Христовим − Merry Christmas − Frohe Weihnachten

Weihnachtsbaum in New York 1981
(C) Karl Brodowsky 1981-2022
Share Button

Available for new Projects in 2023

I am available for new projects starting April 2023.

I can support you for SW-architecture, SW-development, Linux, databases and security.

See IT Sky Consulting to see for more details on what I can offer.

Share Button

April

Just a reminder:
Articles that are published on April 1st in this blog are always April-jokes.

Share Button

Goodware: Russian BOT-Networks

The FSB in Russia has an increasing demand for computing power and storage. On the other hand it is getting more difficult to import computers or parts into Russia due to the sanctions.

So now an innovative Russian IT work group has developed a software stack, that allows reliable storage and computing on bot nets.

Some challenges:

  • It is possible that a whole bot net is taken down and all the data is lost
  • Since the confidential data is distributed across millions or billions of nodes all over the world, good encryption is needed all the way
  • Transfer of data needs to be obfuscated

The work group came up with solutions. They develop malware, which is actually called „goodware“, because it serves a good purpose, that installs the software on millions of computers all over the world. This malware is constantly changed and updated, in order to create multiple independent botnets.

The crucial data is encrypted. Advanced Russian technology allows to perform the calculations on encrypted data, so the real content is never revealed on the node.

The FSB-IT-team creates virtual networks, again based on botnets of goodware, with many hops that change rapidly to transfer data and goodware to and from the nodes and to control them.

Data is stored and processed redundantly. Since there is a huge surplus of computing power and storage volume, it is possible to store data with such high multiplicity that recovery is possible even if multiple complete goodware-botnets are taken down.

A positive side effect is that the FSB learns what is going on on the devices where they have positioned their goodware.

So let’s buy more and better computers and help the FSB to get more computing power.

Share Button

Ukraine

To all my readers:
I am way to upset about the invasion of Ukraine by Russian fascists and the atrocities they are committing there. I am at the moment not able to write useful articles about IT topics.

This is something from mainstream Russian TV by a super star who gets medals of honor from Putin:

I hope that this nightmare can be finished soon and we can invest some of our energy into building positive things. I will come back…

Share Button

Test systems

Typical software development environments have several systems running the software. While usually each developer runs it on his machine, there is a continuous integration server running and versions of the software that succeed there go to an artifactory and are immediately, during the night or manually installed on a system that is called „staging“, „development“, „dev“, „dev-test“ or something like that. Then it goes to a system called „test“, where the test team can work with it. They only get versions that are actually of interest to them, so it makes sense to separate it from „dev“. When successful, it might go to production, but usually there is just another system, with whatever name, that is supposed to be identical to production and is used for final release tests, before the software actually goes to production.

This kind of works, as long as the software is done by one team. Now we observe cases, where many teams work on the software. They develop their part of the software and kind of need a stable version of everything else. This is especially true for external remote teams.

Now we live in a time where virtual servers are the normal way to work. So getting a new set of servers is no longer an issue of buying hardware, but it is just a matter of running a few scripts. Good organizations can set up whole systems automatically in a matter of minutes. So it should be possible, to just provide within reason a few test systems more when needed and discard them again when done. Abusing an existing system for different purposes rarely works out smoothly.

So it is a good idea to select a technology that allows to setup a system or a whole landscape automatically. This can be virtual servers, docker containers or even physical hardware. It is a lot of work to set this up, but then it becomes easier to add just one more test system to run special tests or to have a stable release to develop against for other teams.

Share Button