Posts

Pinned Post

Who picks the tool

Bild
The previous post ended with an agent that writes a missing tool into a running node. Generate, sanitize, persist, compile, load, execute, about 25 milliseconds after the model answers. I was happy with that for roughly a week. Then I looked at the demo page again and counted the text fields. Tool name. What it should do. Parameters as JSON. I had filled in all three. The gap-finding was real. The deciding was mine. MetaPlannerAgent.run("Publish the article", [ %{tool: "classic_plan", params: %{goal: "Write draft, review, publish"}}, %{tool: "slugify_text", description: "Turns a title into a URL slug", params: %{text: "Hello World"}} ]) Everything interesting in that call sits in the second argument, and I typed it. The agent resolved slugify_text , noticed it wasn't in the catalog and had it written. It never asked whether the task needed a slug at all. So this post is about the agent in front of that, the on...

Bitcoin und Steuern: die Ein-Jahres-Regel, die dein Sparen verändert

Bild
  Es gibt eine Regel im deutschen Steuerrecht, die viele beim Bitcoin-Kauf nicht auf dem Schirm haben, obwohl sie über mehrere Tausend Euro entscheiden kann: Wer seine Bitcoin länger als ein Jahr hält und dann verkauft, zahlt auf den Gewinn keine Steuer. Null. Wer vorher verkauft, zahlt unter Umständen den vollen persönlichen Einkommensteuersatz. Das ist kein Schlupfloch und kein Trick. Es steht so im Gesetz, in Paragraf 23 des Einkommensteuergesetzes, und gilt für Bitcoin genauso wie für andere private Wirtschaftsgüter. Trotzdem stolpern viele hinein oder verschenken Geld, weil sie ein paar Wochen zu früh verkaufen. Dieser Artikel erklärt die Regel, die zwei wichtigsten Zahlen drumherum, und wie du den Überblick behältst. Vorweg: Ich bin kein Steuerberater, und das hier ist keine Steuerberatung. Es ist eine Erklärung der Grundprinzipien. Für deinen konkreten Fall gilt, was dein Finanzamt oder dein Steuerberater sagt. Die Grundregel: ein Jahr halten, steuerfrei verkaufen Bitc...

Warum dein Erspartes jedes Jahr weniger wert ist

Bild
Auf deinem Konto steht eine Zahl, und die fühlt sich sicher an. 10.000 Euro bleiben 10.000 Euro, da verschwindet nichts. Das stimmt für die Zahl. Für das, was du dir dafür kaufen kannst, stimmt es nicht. Wer vor fünf Jahren 10.000 Euro zur Seite gelegt hat, kann sich heute spürbar weniger davon leisten, obwohl auf dem Auszug noch dieselbe Zahl steht. Das ist kein Pech und kein Versehen. Es ist eingebaut. Dieser Artikel erklärt, warum Geld auf dem Konto schleichend an Wert verliert, warum das so gewollt ist, und warum manche Menschen genau deshalb einen Teil ihres Ersparten in Bitcoin halten. Was Inflation wirklich bedeutet Inflation ist nicht, dass Dinge teurer werden. Das ist nur die Seite, die du im Supermarkt siehst. Die andere Seite ist, dass dein Geld weniger wert wird. Beides ist dasselbe, von zwei Seiten betrachtet. Wenn die Preise um zwei Prozent steigen, ist dein Euro am Jahresende zwei Prozent weniger wert als am Anfang. Die Europäische Zentralbank strebt eine Inflation...

Dein erster Bitcoin: in 10 Minuten, sicher

Bild
Der häufigste Irrtum vorweg: Du musst keinen ganzen Bitcoin kaufen. Niemand tut das. Ein Bitcoin lässt sich in 100 Millionen kleine Einheiten teilen, die Satoshis heißen, kurz Sats. Du kaufst nicht “einen Bitcoin”, du kaufst für 25 Euro, oder für 50, und bekommst eben den passenden Bruchteil. Der hohe Preis pro Bitcoin ist kein Hindernis, er ist nur eine große Zahl. Wenn diese Hürde weg ist, bleibt der Rest erstaunlich überschaubar. Es gibt im Grunde drei Entscheidungen, nicht hundert. Wo kaufst du, wie viel und wie oft, und wo liegt der Bitcoin danach. Dieser Artikel geht sie der Reihe nach durch, und am Ende weißt du genug, um den ersten Kauf ruhig und ohne Anfängerfehler hinter dich zu bringen. Das ist keine Anlageberatung. Es ist eine Anleitung, wie der Einstieg technisch und sicher abläuft. Entscheidung 1: Wo du kaufst Bitcoin kaufst du über eine Plattform oder App, die Euro entgegennimmt und dir dafür Bitcoin gutschreibt. Achte auf zwei Dinge. Erstens, der Anbieter sollte r...
Bild

Wallet-Sync ohne fremde API: ein Electrum-Client in Elixir

Bild
Bei Fiatbitcoin muss das Portfolio wissen, was auf den Bitcoin-Adressen der Nutzer passiert. Welche Zahlung ist eingegangen, was ist noch unbestätigt, wie sieht die Historie aus. Der bequeme Weg dorthin ist ein Block-Explorer: mempool.space, blockchain.info, ein REST-Aufruf, fertig. Nur lernt dieser Explorer damit, welche Adressen zu welchem Nutzer gehören. Für eine App, deren ganzer Anspruch Souveränität ist, ist das die falsche Abwägung. Also reden wir direkt mit unserem eigenen Electrum-Server, der auf unserem eigenen Bitcoin-Node sitzt. Kein Dritter in der Schleife. Der Haken: Electrum spricht kein HTTP. Es spricht JSON-RPC über einen dauerhaft offenen TCP/SSL-Socket, mit Benachrichtigungen, die der Server von sich aus schickt. Genau an dieser Stelle hilft Req , unser sonstiger HTTP-Client, nicht weiter. Dieser Artikel handelt vom Kern des kleinen Clients, den ich dafür gebaut habe: wie man viele offene Anfragen über einen Socket auseinanderhält, Antworten von Server-Pushes unte...

Quant in Elixir: ein Portfolio-Risiko-Score ohne NumPy

Bild
Bei Fiatbitcoin zeigt das Risk-Dashboard ein paar Zahlen an, die nach Finanzabteilung klingen: annualisierte Volatilität, Value-at-Risk, Maximum Drawdown, ein Konzentrationsindex und obendrauf ein Health-Score von 0 bis 100. Solche Kennzahlen sind das Handwerk eines Quants, kurz für quantitative analyst , also jemand, der Märkte mit Statistik und Code analysiert und daraus Risiko- und Handelsmodelle baut. Der Reflex, sobald jemand “Finanzmathematik” sagt, ist Python: NumPy, pandas, ein eigener Service, eine Datenpipeline dorthin und wieder zurück. Ich wollte keine zweite Runtime nur dafür, eine Standardabweichung zu rechnen. Die Frage war, wie weit man mit purem Elixir kommt, mit Enum und dem :math -Modul aus der Erlang-Standardbibliothek. Die Antwort: erstaunlich weit. Das ganze Risk-Modul sind ein paar hundert Zeilen, kein Nx, keine numerische Library. Dieser Artikel zeigt, was die Mathematik eigentlich ist, wie sie als Enum-Pipeline aussieht, und wo die ehrlichen Grenzen liegen,...

From xpub to a living wallet: HD derivation and UTXO tracking in Elixir

Bild
At Fiatbitcoin a user can paste in an xpub, the extended public key from their hardware wallet, and then sees every address, every incoming payment, and their full balance, in real time. Without the app ever laying eyes on a private key. A watch-only wallet, in other words. Three problems sit behind that. First, you have to derive the addresses from the xpub, and that is pure cryptography. Second, those addresses have to stay in sync, the moment something moves on-chain, not at the next poll. Third, as a bonus, the system should recognize when the user merely shuffled coins between their own addresses, so the tax module does not mistake it for a sale. This article goes through the three in order. What an xpub gives you An extended public key is a public key plus a chain code. That combination allows something that looks paradoxical at first: from it you can derive arbitrarily many child addresses, without the private key at all. This is the basis of BIP32 and the reason watch-only...

Beliebte Posts aus diesem Blog

Splitting an ML model and a web app across two BEAM nodes — the technical blueprint

Jido in Practice: Agents in Elixir as Composable Actions

A Foundation Model in the BEAM: On-Chain Anomalies with Google TimesFM in Elixir