Operationsverstärker Einführung (de)
October 14, 2023
OP-Amp
Heute möchte ich über Operationsverstärker sprechen. Diese wunderbaren, aber geheimnisvollen Komponenten tauchen sehr häufig in Schaltplänen von analogen oder analog/digitalen Hybridschaltungen auf. Wir wollen diese Komponenten entmystifizieren.
Es gibt zwei grundlegende Faustregeln für den Umgang mit idealen Operationsverstärkerschaltungen. (Reale Operationsverstärkerschaltungen sind etwas komplizierter, aber darauf kommen wir später zu sprechen).
Die erste Faustregel besagt, dass Vout im Wesentlichen die Differenz der Spannungswerte an den beiden Eingängen ist, multipliziert mit einem beliebigen, aber hohen Verstärkungsfaktor A. \[ V_{out} = A (V_{in+} - V_{in-}) = \] kurz gesagt, dies führt zu
Analoge Rechner Grundlagen (de)
September 24, 2023
Analogrechner
Heute möchte ich über Analogrechner sprechen. In der heutigen Zeit führen analoge Computer ein Schattendasein, verglichen mit ihren digitalen Gegenstücken. Aber sie sind wunderbare kleine Maschinen. Und diese Maschinen meine ich wortlich, denn es gibt analoge mechanische Computer, die Modelle aus der Welt sind und verwendet werden zur Berechnung und Vorhersage von Gezeiten in bestimmten Gebieten der Welt. Auch das Gehirn ist ein riesiger analoger Computer mit einem vergleichsweise sehr kleinen Energiebudget. Es braucht nur 12 Watt. 12 Watt, das ist nicht einmal ein Viertel des Stromverbrauchs eines Laptops von 65 Watt. Und man kann mit dem Gehirn sehr viel anstellen, aber zurück zum Thema. Ich möchte hauptsächlich über analoge elektronische Computer sprechen, die während des Zweiten Weltkriegs zur Berechnung von ballistischen Kurven verwendet wurden. Analogrechner können also summieren, multiplizieren, dividieren, integrieren und differenzieren wie ihre digitalen Gegenstücke.
Zwischenspeicher und Zwischenspeichern (Caching)
June 10, 2023
Wenn Sie Ihren Browser starten, um eine Website zu besuchen, haben Sie höchstwahrscheinlich einen sehr wichtigen Mechanismus nicht bemerkt, der dem Browser zugrunde liegt und im Hintergrund arbeitet. Caching. Caches werden überall eingesetzt, um Zugriffszeiten und damit die Gesamtleistung (einer Website) zu optimieren und zu verbessern. Caching im Browser bedeutet beispielsweise, dass im Idealfall nur die Teile der Website, die geändert wurden, aus dem Internet geladen werden. Alles andere wurde bereits zuvor geladen und hat sich nicht geändert, sodass kein erneutes Laden erforderlich ist. Nicht mehr aktuelle Teile werden ungültig (auch als Cache-Ungültigmachung bezeichnet) und erneut von der Quelle geladen. Es gibt zwei Arten von sehr unterschiedlichen Caches im Computer.
Topics to write about - Wunschliste
May 21, 2023
Dies ist eine kleine, unvollständige Liste von Themen, über die ich in der mittleren bis fernen Zukunft schreiben möchte.
Caches
Interrupts
Out-of-Order execution
RAW-, WAR- und WAW-Konflikte
Filter (analog und digital)
Analogrechner
neuronale Netze
das Makrobiom
Religion vs. Spiritualität – warum ich Letztere bevorzuge
May 18, 2023
Was ich in den letzten Jahren und Jahrzehnten über Religionen und Spiritualität gelernt habe, lässt sich auf eine einfache Aussage reduzieren: Bei Religion geht es um richtig und falsch und alte, überholte Dogmen, während Spiritualität einfach sagt: „Es ist, wie es ist“. Für Spiritualität gibt es kein richtig oder falsch, sondern nur den einen Moment in der Gegenwart, in dem wir verweilen. Ich finde diese Sichtweise ziemlich erstaunlich. Meiner Erfahrung nach führt sie zu einem wacheren Zustand.
Warum gibt es überall serielle Schnittstellen – statt paralleler?
May 18, 2023
USB, SPI, I²C, Sata – all diese Schnittstellen haben gemeinsam, dass es sich um serielle Schnittstellen handelt. Serielle Schnittstellen sind heutzutage weit verbreitet. Aber warum ist das so, insbesondere bei der Hochgeschwindigkeits- kommunikation? Es klingt einfach unlogisch: Parallele Drähte können theoretisch mehr Bits pro Zeit senden als ein einzelner Draht. Die Antwort auf diese Frage ist komplex und vielschichtig. Es gibt mehrere verschiedene Gründe, warum serielle Schnittstellen gegenüber parallelen Schnittstellen bevorzugt werden. Beginnen wir mit den offensichtlichen Gründen: Die Verdrahtung von Bussen mit einer Breite von 8, 16, 32 oder sogar 64 Bit auf Leiterplatten wird immer komplexer . Das zweite damit zusammenhängende Problem besteht darin, dass die Signalflanke gleichzeitig für alle parallelen Leitungen (Drähte) übertragen werden muss, was zu einer komplexeren Verlegung führt, da die Kanten in der Streifenleitung ausgeglichen werden müssen. Einfach ausgedrückt ist die zusätzliche Logik, die in Chips implementiert ist, um das serielle Signal wieder in ein paralleles umzuwandeln (Deserializer) und umgekehrt (Serializer), viel billiger als die Kosten für komplexe Verlegungen.
Odoo hacks: Entfernr Sperr-Button aus Odoo v12
April 22, 2023
Heute möchte ich eine Lösung für ein Usability-Problem vorstellen, das ich kürzlich in Odoo hatte. In Odoo 12 gibt es neben der Schaltfläche „Bearbeiten/Speichern“ eine Schaltfläche zum Sperren, und Sie müssen auf beide klicken, um (1) die Seite zu entsperren und (2) sie bearbeitbar zu machen. Dies sollte in einem Schritt erfolgen, wodurch der Sperrmechanismus, der in den Lieferaufträgen (Klasse StockPicking) und Fertigungsaufträge (Klasse MrpProduction) verwendet wird. Die Lösung erfordert eine XML- und eine JavaScript-Datei sowie einen dedizierten Web-Controller. Die Lösung wird unten vorgestellt.
Separiere Blog und Inhalt (de)
February 4, 2023
Als der Blog immer größer wurde und nach dem Umzug zu Hugo, bemerkte ich eine Lücke im Workflow, da ein Blog und sein Inhalt selbst unterschiedliche Einheiten sind. Ich wollte sie als solche behandeln, was mich zu einer Bereinigung des ursprünglichen Quellcodes für den Blog führte, bei der ich den Inhaltsordner in ein anderes Repo namens hugo_content verschob, das frühere Repo nannte ich hugo_blog. ---
In meinem Fall bedeutet dies, dass Sie zuerst das Repo hugo_blog klonen müssen, in das neue Verzeichnis wechseln (cd hugo), seinen Zweig „hugo“ auschecken und dann einen Klon des Repos hugo_content erstellen.
Umziehen zu Hugo (de)
April 15, 2022
Seit einer Woche basiert mein Blog auf dem Static-Site-Generator Hugo. Ich wollte schon viel früher zu Hugo wechseln, da es eine große Auswahl an Themes gibt. Dies erforderte jedoch den Wechsel von Asciidoc zu Asciidoctor, und ich hatte einige Probleme mit der Integration von Asciidoctor in meinen bestehenden Arbeitsablauf. Da der Ansatz, die Latex-Gleichungen in den Asciidoc-Dokumenten darzustellen, nicht mehr funktionierte, entschied ich mich, auf die clientbasierte Darstellung von Formeln umzusteigen, wie sie in KaTex und Mathjax verwendet wird.
Über Mathematik schreiben mit Asciidoc (de)
December 12, 2020
Beim Verfassen eines Blog-Beitrags, der Teil einer Reihe von Beiträgen ist, die in Zukunft veröffentlicht werden sollen, stellte ich fest, dass mir in Nikola einige Tools fehlten. Beim Hinzufügen mathematischer Formeln wurde mir klar, dass es keine Standardmethode gibt, um Bilder aus diesen mathematischen Formeln zu rendern und sie als Bild-Tags in den HTML-Code einzufügen. Stattdessen werden mathematische Formeln über JS verarbeitet, das ich auf meiner Website auf ein absolutes Minimum zu reduzieren versuche. Also begann ich, ein eher „quick-and-dirty“-Plugin zu implementieren, um genau diese Umwandlung durchzuführen, und zwar mit latex und dvipng oder dvisvgm. Dann stieß ich auf diesen Blogbeitrag , wo ich über asciidoc, geschrieben in Python, und seinen Nachfolger asciidoctor, geschrieben in Ruby, las, die verschiedene Anzeigeformate unterstützen. Ideal für den Inhalt, den ich im Sinn hatte. Also installierte ich das Nikola-Plugin asciidoc (das hauptsächlich ein Wrapper für die asciidoc-Binärdatei ist, die als Unterprozess aufgerufen wird) über