Einträge über Computer (Ältere Einträge, Seite 18)

I had my first computer with 5 and started C programming when I was 13. Then I made some simple websites using PHP which grew into ever more complex ones. In 2007, I created some Java applications, some of them are still among the portfolio on this page. While I was an intern at the DLR, I started to learn Python and IDL, which introduced me to matrix based languages. For the numerical methods lecture and especially my bachelor’s thesis I used C++. During my master’s thesis I have learned Haskell for fun. Later on for my PhD thesis I also learned R and the Wolfram Language.

See my portfolio of programming projects.

My most popular hobby project is the Vigilant Crypto Snatch, a little program that buys crypto currency whenever the prices fall.

This section of my site is for articles about programming practices and performance tests. Also various stuff about computer hardware and software.

Cookies and Do Not Track

As an internet user, you of course have seen more of these cookie banners than you had liked to. They are on virtually all sites that I browse and they totally annoy me. A decade ago websites had those pesky adversisement pop-ups, now they have those banners that show up seconds after the site has loaded enough to see the content.

There is quite the spectrum. Some sites will just notify that they are using cookies and by using the website you agree. They offer a link to a page where you can learn more. You can ignore the notification at the bottom of the screen and just go on reading the actual content. Other pages have a blocking modal dialog where you have to first take care of the cookies.


US International Keyboard Variants

I have been using the ANSI keyboard layout for many years now and stronly prefer it over the ISO layout. The ANSI layout has the smaller enter button and a longer left shift key. Then I use the US international layout such that I can create German umlaut characters and other fancy things. On top of that I use the Linux compose key to create even more characters.

The issue the sheer variety of US international keyboard layouts. Every time I set up a new computer, I end up having to cycle through all of them to find the one that I actually want. There are two major differences: One is whether there are more accented characters or more symbols. The other is the presence of dead keys. I absolutely hate dead keys, I need those accents on their own for programming. Curiously the one that has no dead keys has “dead keys” in the name.

But there are many other variants, which don't work for me.


Bluetooth Incompatibility

I have a hate-love relationship with Bluetooth. I would like to like it, but it always turns out to be frustrating. The idea of having a short-range wireless standard which allows coupling devices to each other is great. And on humble days I find it amazing that it works to the extent that it does.

Bluetooth has long been what USB is becoming, namely an opaque mess of incompatible devices where a layperson cannot determine whether they will be compatible beforehand. The box will only say “Bluetooth”, perhaps something like “Bluetooth 4.2”, but what does this really mean?

My latest frustrating example is with my bluetooth keyboard and my TV. My TV has already successfully paired with my headphones, and my phone can pair with the headphones and the keyboard. But the TV cannot pair with the keyboard. In order to see whether they had a theoretical chance to work with each other, I looked up the Bluetooth versions:

Device Model Bluetooth
Headphones Sony WH1000-XM3 4.2
Laptop Lenovo ThinkPad X220 3.0
Keyboard Logitech K380 3.0
Phone Xiaomi Mi A1 4.2, A2DP, LE
Tablet Samsung Google Nexus 10 3.0, A2DP
Tower PC Mpow Bluetooth 5.0
TV Samsung GU43TU8079 4.2

From this table I see that the TV and the phone have the same bluetooth version, so why does the keyboard work with the smartphone but doesn't work with TV?


Fragmentation of Stack Exchange

For years I am a user of Stack Overflow and network of sites called Stack Exchange. My network profile has a long list of accounts that I have within the network. The sheer amount of sites became really annoying for me years ago, and today's experience was the straw that broke the camel's back.

As I finished the post about Bluetooth incompatibility, I thought about asking online and postedn on Super User. I chose the Stack Exchange network as I have a question and want an answer. And Super User seemed like the best fit for consumer hardware. My question was closed because it was not within the defined scope. Although Super User is about computer hardware and software, it is not about electronic devices, even if they interface with the computer. I have asked the moderator who closed the question which site would be a better fit for this, and got “no idea” as an answer. Great!

Fortunately somebody has asked on the meta discussion page for Super User where one can ask questions which don't fit on Super User. The top answer is really funny to read while writing this blog post. My question might fit into the “Phones and Tablets” category there, but the device is neither an Android, iOS or Windows based system. So all the specialized sites are off, and there is no Tizen specific site. For electronics equipment one could go to the “Electrical Engineering” site, just not if it is a consumer device. For video games and consoles there is an additional site, but this doesn't fit either.


Height Adjustable Monitors

Decades ago I used to sit like a turtle when using my computer. The monitor used to be very low on the desk, and my back and neck would adjust for that. Over the years I acquired a much better posture, and I eventually bought monitors with adjustable stands. They sound amazing, and I cannot take any monitor without one serious anymore.

There is a catch, though: Their maximum height is severely limted. The Dell P2314H that I have offers only a limited range of adjustment. Neither the manufacturer nor various online resellers state the exact range. At the highest position, the center of the VESA mount is only 33 cm above the desk. As I usually work with command line windows and enter stuff at the bottom of the screen, I like to have the screen center slightly below eye level. Most ergonomics guides recommend having the top of the screen at eye level.

So I started to put books under it. And it really gave it this college student look.

Eventually I looked into monitor arms and saw premium ones for like 250 EUR. I just didn't want to spend more on the arms than the monitor itself, so I passed. Last year I looked into arms again and found some more affordable models and setteled for a dual arm model for 60 EUR. On the product page it said 40 cm which sounded good at first.


Secure Portals instead of Secure E-Mail

E-mail itself is a completely insecure message service. Mails are routed through all participating servers on the world, everyone can send them. And whatever washes up in your inbox could come from anyone. It is not that bad any more, the connection from sender to sender's provider and recipient and recipient's provider is usually transport layer encrypted. The connection between the providers is becoming encrypted as well, but there is no guarantee. Essentially the providers can still read the messages, which is unacceptable for confidential messages.

In order to mitigate this problem and introduce some end-to-end encryption, e-mail protocol extensions like S/MIME and PGP have been invented. Both basically work with key pairs that everyone has to have and some vetting mechanism. In the S/MIME world the key pairs are called certificates and the vetting is done via central authorities (just like with HTTPS-certificates in the browser). PGP uses a “web of trust”, where people have to sign each other's keys to provide trust via trusted parties.

The user experience of both has been catastrophically bad. Some e-mail clients supported S/MIME, I believe that Outlook and Thunderbird did and do so. Obtaining certificates was a big hurdle. When I went to school, I didn't afford to buy one, and none of my peers did either. It was just something which was useless to have unless everyone else also has one. Instead I tried PGP in the form of GPG, but except from select other nerd friends, nobody cared for it. A plugin was needed in Thunderbird, and often enough it did not work. Keys had to be revoked, people encrypted with the wrong key (often their own), and so on. In theory, both are completely secure end-to-end solutions. In practice their are useless as people don't have certificates.


Goodbye Google Photos

Google has this service called Photos where you can just upload photos and have a photo library. They arrange them by date, you can arrange them in albums and also search them. They did not charge anything for the storage and made it very easy to get more pictures online.

So whey didn't they charge for storage? They likely wanted to have all this data for image regonition training, and for neural network training you need huge amounts of data. By just offering free space for photos to all people, you are certain to get a bunch of picture. And so I also used the service to store my images. The Android app can also directly upload all new images, I took that as a nice photo backup especially on vacation. I started to upload more images, and eventually it turned into a great dump of pictures that were sent in chats.

Recently they have changed their policy, and in six month they will start charging for storage space. They likely now have enough images online such that they can do neural network training with it. This policy change has made me question my usage of the service. And I realized that I wasn't really using it. So I stopped the automatic upload of my data to the service and then wanted to go on and delete all images which are not linked associated with an album. In some of the travel posts I had included a Google Photos album to shore more pictures, and I wanted to keep that.

As there was no option for it on the website, I thought that the API would be a good start. It would be a Sunday afternoon Python project. I started to read the API documentation, downloaded an API key and eventually started looking for a Python library. While reading up on that, I found out that one cannot modify existing content via the API. This means that my whole idea was bust. Other people have requested this feature, but Google hasn't replied there.


First hours of Cyberpunk 2077

Years ago I have been playing Witcher 3 (and then Witcher 1, Witcher 2) and really liked the game. I spent like 9 months playing it, there was just so much content to discover, and the main story seemed rather long. So when CD Projekt Red finally released their Cyberpunk 2077 game, I thought that I could just buy it without looking at any reviews, I just trust the game studio. And so I bought the game on GOG.

My computer is from 2016 and was a budget machine back then (AMD FX 8320, AMD R9 380). I can play the game on lowest settings in FullHD with 30 frame/s or more, so it is okay. I'm mostly in for the story anyway, And indeed, the story is well put, the city looks very impressive and has many layers to it. I like it very much!

The whole game feels a bit like Witcher 3: There are tons of side quests, you can just talk to people on the streets, there is quick travel and also a mount (though a car and not a horse). The inventory feels the same, there are multiple skill trees and a crafting system. You can consume food and drinks for certain attributes. There are different weapons, lots of clothing, and various bonuses that one can have with them.


DSL-Wechsel kurz vor Umzug

Für einen DSL-Anschluss mit 50 MBit/s zahlt man bei den meisten Anbietern zwischen 30 und 40 EUR/Monat. Wenn man aber alle zwei Jahre den Anbieter wechselt, so ist man Neukunde und zahlt für DSL dann effektiv 19,82 EUR/Monat. Geht man ins Kabelnetz, so gibt es sogar Lockangebote für durchschnittlich 12,49 EUR/Monat. Der Wechsel bei bestehender Leitung ist ganz schmerzlos, man muss nur die neuen Zugangsdaten in den Router eintragen.

Mein DSL-Vertrag bei der Telekom lief am 30.09.2020 aus. Bis dahin habe ich im Durchschnitt knapp unter 20 EUR/Monat gezahlt. Danach wäre er automatisch um ein Jahr verlängert worden und würde dann 40 EUR/Monat kosten. Das ist natürlich viel teurer, als wenn ich einfach zum nächsten Anbieter gewechselt wäre.

Es gab nur einen Haken: Ich wollte in absehbarer Zeit mit meiner Freundin zusammenziehen. Aber wahrscheinlich erst kurz nach Vertragsende meines alten Vertrags. Und sie hat natürlich auch schon einen eigenen DSL-Vertrag. Ich wusste, dass es ein Sonderkündigungsgrund ist, wenn der alte Anbieter in der neuen Wohnung nicht liefern kann. Also wenn dort zum Beispiel kein VDSL oder Kabelfernsehen verfügbar ist. An der Check-24-Hotline hat man mir gesagt, dass eine Verwendung des Anschlusses durch einen bestehenden Vertrag jedoch kein Sonderkündigungsgrund ist. Also musste ich mir etwas neues einfallen lassen.


USB-C stands for Chaos

When I was young, there was USB 1.1. It came in two different type of connectors, USB-A on the computer side and USB-B on the device side. The USB-A and USB-B look like this:

Figure based on a picture by GeroZ, licensed under CC-BY-SA 3.0.

Eventually there was USB 2.0 coming out, it offered much more speed (480 Mbit/s) and was finally suitable for external hard drives. The power output was still very low, so one could not really power an external hard drive with it.