Czech Christmas 2023, Compassion and Klánovice Fireworks

The year 2023 was a strange Christmas season in the Czech Republic, which was marked by a state mourning on 23 December. That's why I decided to write this blog and collect little snippets of what happened after the tragedy at this Christmas time. Pieces that caught my attention and which show that at Christmas time we must not lose hope.

Klánovice is a municipality near Prague formally part of the Prague agglomeration. It is bordered by a large forest, the Klánovice Forest. There have been murders in this forest in the past, but what happened here in December 2023 was particularly cruel and the whole country was left in shock by the act. On Friday, 15 December, a double murder with a firearm took place there, in which a two-month-old baby in a pram and her father died, see 1, 2. The police failed to catch the murderer until 21 December 2023, when the same criminal shot 14 people at the Faculty of Arts of Charles University and then turned the gun on himself. It turned out that he had killed his father earlier that day. The total number of dead was thus 18, see 3.

Czechs are used to hearing similar news about school shooters from the USA, but it was a long way off. We did not think that something similar could happen here, or we did not want to admit it. A former high school classmate of mine owns a shotgun and several other weapons. In front of his own young daughter, he showed me how to load this weapon with practice rounds. When we get together, he often talks about how he passed his gun license test. From his narrative, I got the impression that it was something about as time and money consuming as getting a driver's license. Lots of paperwork, fees, a bit of learning, but anyone who goes through this gets a firearms license almost automatically. One of our fairly high profile politicians, who served as a European Commissioner for several years, told me how he himself was surprised that his neighbour owned a gun and boasted about this fact. We turned a blind eye as the possession of a gun licence became more and more common in our country. In the past, gun ownership was something exotic and unusual, but the more people have guns, the more gun ownership is becoming part of everyday life and the subject of normal discussion. Many people take the view that in such an environment it is better to own a gun and not be disadvantaged as a non-owner against the growing number of gun owners. Unfortunately, as the number of guns among the population grows, so does the number of misuse of guns and we are setting ourselves up for more problems.

I personally commend the act of compassion that was performed by Archbishop of Prague, Jan Graubner. He had 18 roses, the number of those who died, including the shooter, brought to the altar in St. Vitus Cathedral on 23 December on the occasion of the national mourning and mass for the victims of the shooting. He spoke these words on the occasion: "In the sacrificial procession, we will bring to the altar one rose for each victim. And we will add one for the one who allowed himself to be so manipulated by evil that he became the instrument of a horrible death. We want to express our belief that love must always triumph in the end. Amen.", see 5, 6. In this eighteenth rose I see hope, hope that the agenda of the Catholic Church, which for perhaps three decades has been anti-communism, is over. An acquaintance told me that a Czech cardinal, when asked why God allows terrible atrocities to be committed, said to him: "God permits but does not forgive". Perhaps my friend twisted that somehow, but I want to believe that with Pope Francis and this rose, the age of unforgiveness in our society is ending. Perhaps the killer of the infant from the Klanovice Forest should have written on December 11, "Everyone simply hated me, hated me and will continue to hate me. I don't give a s**t because it's mutual.", see 7, 8, 9. But we Czechs, in our cathedral, the symbol of our statehood, did not behave that way. There's one among the roses for him too, what he did was totally unnecessary.

I was also interested in the reaction of our Minister of the Interior. Anyone who thought he would call for more gun regulation would be mistaken. Instead, he has begun, quite successfully, to push an agenda of banning New Year's fireworks, the sound of which might remind some people of gun shots, see 4. But Christmas is Christmas and New Year is New Year. You don't stop or postpone their arrival even when tragedy strikes. Municipalities had purchased their fireworks long in advance, and perhaps it would not even be right to forbid people from enjoying the New Year because of the act of a madman. And so it is an interesting tidbit that several villages near Prague, including Klánovice, will not cancel their fireworks. They say it's something the locals have been looking forward to for years. So I wish for Klánovice and all Czechs that the sound of fireworks is the only shooting that will take place in our towns and villages. Perhaps our Minister of the Interior could do more in this regard than to ban fireworks.

Finally, I add an invitation to the New Year's fireworks in Klánovice. It was already created before the tragedy and for obvious reasons it is not particularly publicized. Life goes on, in Klánovice in the Czech Republic and in the world.

Fireworks in Klánovice

GPT partitioning for UEFI in Debian 12

Selecting partition table GPT or MSDOS

In this post I will describe manual disk partitioning for the instalation of Debian 12. Debian Linux is in my opinion great OS. I like it also due to the fact, that it release cycle of two years is somehow convenient for me compared to something as Ubuntu with releases each 6 months. On 10.6.2023 the Debian 12 Bookworm was released and I was about to install it on the disk. The situation somehow shifted in the recent years. Virtually every BIOS is using UEFI as a first option.

For me personally, MSDOS partition table with MBR is the best option when the BIOS has an option to use it. It is total disaster when you install Windows with its UEFI on the machine as it is almost impossible to install something else. I am not an expert, but in my opinion UEFI is something such as locking bootloader in your mobile phone. Noone really wants it, it causes problems but the non free software vendors love it. So the first option is to disable UEFI in bios and turn on legacy boot, create MSDOS table with one or more primary partitions and you are done.

When you can not install anything

Typically with Windows on your machine it is very tricky to even initiate Linux instalation even from UEFI USB disks because of this UEFI "protections" that Windows is installing. If that is your situation, try to clen CMOS and disconnect hard drive, which contains Windows. That might e.g. on some Windows preinstalled NUCs or cheap HP/Dell laptops be the only option to install Linux. Try also to prepare UEFI USB with linux using Rufus. When everything fails, you are probably not able to install Linux to your machine at all.

So let me now assume, that you at least have USB disk with https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/ on it and it is able to boot.

When MSDOS partition table does not work

Unfortunatelly some bioses now do not support MSDOS tables with MBR at all. And for example my BIOS on high end motherboard had legacy support but was not able to detect and boot from M.2 SSD formatted as MBR with MSDOS partition.

Forcing my BIOS to accept my decision using MSDOS table

But what if you managed to install Linux but it is not booting? There is one option when you want to boot something like this and nothing is working.

If there is no other option than using UEFI disks, you still have a chance to boot your system from it. You just have to have some live USB stick with grub. On the grub screen press e, then issue ls and then issue boot (my partition), where (my partition) is the partition with the MBR bootable system.

When you'd like to boot UEFI enabled disk, then it is trickier but try to Google it.

When you have to GPT

Do manual partitioning, in Debian 12 better from Live system than from graphical installer and select GPT instead of MSDOS.

First partition needs to be FAT32, have boot flag and be mounted to /boot/efi.

Lasagna cheaper than ready made product from the store?

In virtually any supermarket in Hamburg you can buy ready-made lasagne, 1 kg pack. Put them in the oven, wait an hour and you have a ready-made dinner for two people. At ALDI, they sell them for 3.99 euros, and for the quantity, it's one of the cheapest almost ready made meals. I have them from time to time, they taste good. But several times I have come across these lasagne, from various stores, that were too sour. It's hard to tell then if it could have been the spoiled meat, or just the abundance of tomato puree and lemon juice in the béchamel.

When I went grocery shopping yesterday, I put two packs of these lasagnas in my cart so we'd have food for the weekend. Then I thought, what if I made the actual lasagna myself? Could they be better? And can I actually save money if I make them myself? Luckilly I have found dehydrated lasagna noodles in the shop so I could slid the semi-finished products back into the shelf.

In this post I describe how I prepared these with my son and if it was possible to make this gourmet delicacy cheaper than the ready made product.

The ingredients and their prices

Ingredients and their prices, circa 6 dishes
  • For main dish
    • dehydred lasagne noodles, 12 pcs. = 250g, one ALDI pack contains 24 pcs 9x17 cm and costs 1.29 EUR, that gives cost 0.645EUR
    • one mozarella on the top 0.99 EUR
    • two gouda cheese slices on the top 0.6EUR
  • For bolonese sauce
    • 500g of the mixture of minced pork and beef for the price of 3.39 EUR
    • one large can of tomatoes 1.6EUR
    • 2x onion 0.48 EUR
    • two cloves of garlic 0.2 EUR
    • 2x carrot 0.2 EUR
    • sunflower oil
    • a piece of leek, I didn't have celery so I put in the rest of the vegetables I had, 0EUR
    • buillon cube
    • thyme, oregano, pepper
    • salt
  • For béchamel sauce
    • 0.5l of milk, 1.15 EUR per liter = 0.575 EUR
    • 50g of butter, 1.59 EUR per 250g = 0.318 EUR
    • 50g of flour, 0.79 EUR per kg = 0.039EUR
    • nutmeg
    • citron concentrat

My total is 9.03 EUR. I do not count in the price of spices and salt, but still it can be used as pretty good estimate given current price levels in Hamburg. max-width: 100%

Lasagna ingredients

From the amount of ingredients you can guess this is actually fairly complicated dish to prepare. It took me almost 3 hours to make them into the actual dish.

Recipe

How many lasagna plates do I need?

In one pack of dryed lasagna noodles there is 24 pieces. It would be too much to use at once, so you want to use just the half. That was actually the first step I have made, counted 12 pieces to be used. Dimensions of lasagna noodle in my pack are 17 x 9 cm.

Lasagna dimensions

0. How big pan and how many layers?

Three layers of noodles are optimal. Tahat layering makes you doing in total nine layers from the bottom B-N-B-W-N-B-W-N-T, where bolonese souce=B, noodles=N, white souce = W, top cheese layer = T. Note that you want go for sufficiently deep pan to fit them in.

Another consideration is that when you have three noodle layers, optimally you want 4 noodles per layer. I have measured mine So optimal would be to use pan of the dimensions for 1x4 noodles that is 17x36cm with some tolerance maybe 18 x 38cm. That was not the case of our equipment, so we have to cut and break our noodles. Circa 4.5 noodle per layer. So I have mady two full layers and the last layer contained less noodles. Actually the layers inside are more important than the layer on the top, which might get dry so there is no problem to use less noodles for it.

Lasagna fitting

1. Prepare bolonese sauce

First put chopped onion into the frying pan. Let it get brown color. Add salt, garlic and stear. Put chopped carrot, leak and celery into the pan. Put tomatoes from the can and herbs. Cook for 15 minutes.

Make buillon from one cube and add it into the sauce in case its too dense. In general, you need a sauce contain as much water as possible to be able to boil lasagne in the oven. For doing so, prepare for one hour cooking at 180 degrees. When you feel lucky, you can heat up your oven just after 15 minutes of bolonese sauce cooking.

2. Prepare béchamel sauce

Melt the butter in a pan and when it is liquid, stir in the flour. The sauce may brown but must not burn. When you add the milk, lumps will form. Stir them thoroughly, but the trick is to add acid, like in this case lemon juice from concentrate. That will dissolve the lumps! With the milk, you can cook on the lowest setting, or turn it down completely. Note that there is less béchamel than bolognese sauce. That's okay, the layers of béchamel are much thinner than the layers of bolognese sauce.

3. Put it together and make layers

As I mentioned we create nine layers in total, namely B-N-B-W-N-B-W-N-T,

Grease a baking tray with butter or lard. The first layer of bolognese sauce serves to cook the first layer of noodles. Therefore, there is no harm in adding water or bouillon stock to this layer if there is any left over. This will prevent hard or burnt lasagna in the bottom layer.

The next layer of lasagne will cover the entire surface of the baking dish. With most casseroles, you'll be playing a little tetris with the lasagna.

The next layer of béchamel shall consist circa of half of your white sauce amount since there are just two layers of it.

There is no problem if you won't fill last layer of noodles fully, you can use few layers of gouda cheese instead.

The top layer is tricky. You shall put sliced mozarella cheese on top of the last noodle. There is a risk that the noodle or cheese will burn. So I put cheese layer actually in after 40 minutes of baking. At that time, my top noodle was dry and I flipped it before putting in cheese.

Baking

I have baked the whole pan for circa one hour at 180 degrees Celsius. This temerature is somehow optimal. When you have dryer sauces than I had, you might need less time. For inspiration there is a picture of finished product. If its too brown on the top, it is time to get it out of oven.

Final product

Serving and final price per kg

Final weight of my product was 2.277Kg that means 3.97EUR per Kg. So I got lasagne for practically the same price as the ready made product. I have to say however, they taste better than those ready made. Good appetite!

Good appetite

The cheep food policy is right

You might have noticed, this is not one of those fancy food blogs. In order to get close to a price of 4 euros per kilo, it is not possible to buy expensive ingredients not present in the original product. I have to forgive myself for olive oil or even a mountain of parmesan on top, as some foodies recommend on their blogs. I would like to convince you however, that especially in an environment of high inflation, when the prices of basic ingredients are rocketing, the challenge of having affordable food is even more actual.

After the Second World War, the promotion of agriculture and local production in both western and eastern Europe became an important political tool to provide the population with enough food. More recently, we were used to EU agricultural policy and an abundance of subsidised produce that was available to all consumers at very cheap prices. For me personally, this represents one of the fundamental values of the European Union, that even poorest EU citizens are not hungry because of the products such as 4 euro lasagne bolonese. Now, however, the situation is reversing and the certainty of cheap food is slowly disappearing from the EU. It will be interesting to see how the price of 1kg of ALDI lasagne develops over the next few years, because in some ways this is more important than how the price per Big Mac is evolving. I hope having a good food doesn't become an exclusive commodity for the rich.

Why use Chrome and why not? Case insensitive CTRL-F

Google Chrome started to dominate web browsers usage stats as of 2012 and as of 2023 its market share is over 60%. Its engine even made it into Windows default browser Edge. Regardless of whether you like it or not, Google Chrome is now the dominant web browser and one that's hard to avoid.

I'm basically a conservative user, so even though many people around me have switched to Google Chrome in recent years, I've resisted as much as I can and stuck with Mozilla Firefox. I don't know exactly when it was, whether it was when some streaming service's DRM didn't work in Mozilla or when my favorite Linux distribution started using Chromium as its default browser, but Chrome-based browsers have found their way onto my computer.

Actually, the defining moment was probably how perfectly Chrome-based browsers integrate Google translate so that a page written in any language can be translated into English with a single click. Still, I tend to prefer Chromium over Chrome for its intention to be open source despite it used to have problems with downloading binary blobs.

Case sensitive search in Google Chrome/Chromium

It was a Chrome-based browser, which I had open just as I discovered a misspelled identifier error in my C++ source code. I had substituted a capital letter for a lower case one. So I quickly opened github and browsed through the commit historry to find out when the error was introduced. I pressed CTRL-F and... And this was a time I made a big discovery. Google chrome lacks support for case sensitive search by design! Unbeliveable is true! Major browser, wchich cares about every possibility to track down user behavior to Google servers lacks the feature, that has been available in Internet explorer in 1995!

Actually, there are some hacks how we can get the feature of case sensitive search back into the Chromium:

Workaround is to use so called bookmarklets and populate them with the content here.

There is also plugin using regular expressions.

Pros and cons using Chrome and chromium

  • Pros
    • Google translator integration without additional plugins to translate pages,
    • most of the DRM based services will work there,
  • Cons
    • By default, Google chrome signs user "into the browser" whatever it means, whenever user logs in to any of the Google services,
    • Google Chrome downloads files into one single directory Downloads and makes very messy to organize downloaded files,
    • very hard to clean History as you are also removing all that tracking cookies Google likes you to have,
    • strange QUIC protocol, that makes all Google transfers running on UDP and not TCP,
    • plethora of "improvements" that integrate the browser and the operating system and make any browser sandboxing very difficult,
    • and without any chance to change it, Google chrome does not have capability of case sensitive find when pressing CTRL-F. Requests for this feature gets closed. Chromium developers are discussing this feature for years.

For the time being, translating capabilities of Chromium are deciding factor for me. If the Firefox is able to integrate decent translator engine into it, that would be deciding factor to quit using Chrome based browsers. Deepl plugin seems as potentially promissing plugin based solution for Firefox..