Die wunderbare Welt von Isotopp
AMD und 128 cores
Wir sprachen in Software Defined Silicon darüber, wie die CPU-Bedürfnisse von Hyperscalern und normalen Kunden divergieren.
Hyperscaler haben Interesse an immer größeren CPUs mit immer mehr Kernen, und immer höherer Dichte in ihren Rechenzentren. […]
Normale Kunden sehen das nicht so: man kann in einer 64C/128T-Core-Single-Socket-Konfiguration mit 2-4 TB RAM unter Umständen den gesamten Serverbedarf einer kleineren Firma in einer einzelnen physikalischen Maschine in VMs unterbringen. Das Problem dabei: Explosionsradius, wenn mal etwas ausfällt.
MySQL: Parallel Replication
At work, replication is a central feature in our MySQL Standard Architecture.
But until MySQL 5.6, replication was strictly sequential: Even if transactions happened in parallel on a primary, they would be downloaded to the replica by the IO_THREAD into the relay log. From there, a single SQL_THREAD would apply them, one after the other in strict binlog order. That can lead to Replication Delay.
We had a monitor for that, courtesy of Dennis Kaarsemaker . That code looked at the time consumption in the SQL_THREAD, and counted the percentage of idle time over time, visualizing it in Graphite or Grafana.
This Blog is now Hugo powered
I started blogging almost 20 years ago, because a piece of software I was using to manage calendars and discussion boards to organize the “Dienstag” also offered blogging functionality. That software was very buggy and full of HTML injections. My patches to fix things touched almost all files, and were rejected, because they… touched too many files.
So I was looking around for something better, and the good people on ircnet:#php.de recommended Serendipity
.
I have been using this for many years, contributed a few improvements and sponsored a few others.
Unfortunately, when Mobile became a thing, I had no theme that went well with that.
I also needed 2FA for obvious reasons.
Relational, and an Algebra
What is “relational” and “algebra” about “Relational Algebra” and SQL?
It is likely that you know all this.
There is nothing new in this text, if you had Databases 101 in school or university, so you do not have to read any of this. In case you had not, or you forgot because it was a long time ago, here it is, again.
*This is the english version of a much older german writeup .
MySQL: Python and WHERE ... IN ()
As a developer using Python, I want to be able to hand a
listto an SQL statement with aWHERE id IN (…)clause, and it should do the right thing.
Well, that is not how it started, because it was asked on the internal no-work-channel, so it kind of escalated more.
A question
The original question was:
Dev> Why is it 2021, and SQL prepared statements still can’t deal with IN? Or have I missed some exciting development?
Metaverse (en)
I wrote on Twitter something about the term “Metaverse”. That led to a contact with Michael Carl , who wanted to make an episode for his Podcast with me. My german notes and talk prep are now also available here:
Metaverse
The term “Metaverse” was initially coined by Neal Stephenson in 1992, but in the context of the current discussion it was defined as in The Metaverse: What It Is, Where to Find it, Who Will Build It, and Fortnite by Matthew Ball. Ball later wrote a lot more about the same , and that led to the current Valley Hype around it.
Metaverse
Ich schrieb auf Twitter was zum aktuellen Begriff “Metaverse”. Das hat zu einem Kontakt mit Michael Carl geführt, der mich in seinem Podcast haben wollte. Meine Gesprächsnotizen und Vorbereitung habe ich nun auch hier:
Metaverse
Der Begriff “Metaverse” stammt ursprünglich von Neal Stephenson, aus dem Jahre 1992, aber er ist im aktuellen Kontext von Matthew Ball in The Metaverse: What It Is, Where to Find it, Who Will Build It, and Fortnite mit Sinn gefüllt worden. Ball hat dann später mehr zum Thema geschrieben, und so den aktuellen Silicon Valley Hype erzeugt.
Understanding git
It occurred to me that I do not know nearly enough how git works, internally. The contents of the .git directory seem to be accessible enough, so I am going on a Safari in the git repository of this blog. You can follow along if you check out the blog .
Refs
All things git live in .git.
The thing we are working with seem to live in .git/refs:
$ find .git/refs -type f
.git/refs/heads/main
.git/refs/remotes/github/main
.git/refs/remotes/origin/HEAD
.git/refs/remotes/origin/main
.git/refs/remotes/origin/master
.git/refs/stash
Let’s have a look at .git/refs/heads/main and the .git/refs/remotes here.
Empty commits and other wrong tools for the job
This is how you can make an empty commit:
$ git commit --allow-empty -m "Kick it"
This has the disadvantage of also generating a commit message. Another way to achieve this seems to be
$ git commit --amend --no-edit && git push -f
but that will make people hate you in other ways.
So lets stop and ask: Why would you want to make an empty commit?
Most people want this because they attached a server-side action to a commit, a CI/CD activity.
99% secure
Linus Neumann zitiert Prof. Norbert Pohlmann :
Ich glaube, das ist so. Diese 100%ige Sicherheit wird es nicht geben, und wenn der Chaos Computer Bild was findet, dann findet er das, und dann sagen wir, das ist gut. Und dann überlegen wir uns, wie wir das wieder schließen können und dann ist es wieder besser. Und dann können sie auch weiter suchen.
Also, ich glaube, wir brauchen auch eine andere Grundhaltung und es geht nicht immer um 100 %, sondern die 99 %, die reichen und wir müssen mit den Restrisiken umgehen. Neben ganz schnell reagieren auch natürlich auch Versicherungen oder wer übernimmt die Verantwortung, wenn was passiert. Das kennen wir ja alles.