Dachau was a model camp. Not a model of humane treatment, but a prototype. An operating manual written in barbed wire, stone, and procedure.
I had stood in the yard between Block 10 and Block 11 days earlier. The pavement was gray. The wall was blank. I had nothing to say to it. I carried that yard with me across the border. By the time I reached Dachau, the sky was light blue.
Its watchtowers, roll-call yards, classification systems, and guard protocols were refined there and then installed across occupied Europe. Over 44,000 sites, ghettos included. Most history books sidestep that number, and I understand why. It isn't a number. It's a map of ordinary towns where ordinary men reported for a shift, clocked in, and went home at the end of the day. It is in the lunch pails. It is in the train schedules.
Over 200,000 people were imprisoned at Dachau. At least 40,000 died there or in its subcamps: of typhus, of starvation, of being worked until they stopped, of a bullet at the range, of a death march in the final weeks when the war was already lost and the machine kept running because nobody told it to stop. Not because they couldn't. Because stopping was never part of the procedure. The true figure is unknown and always will be. Those brought to the camp for execution were never registered.
Today German police recruits are required to walk those grounds. Depending on the state, they go to Sachsenhausen, Neuengamme, or Dachau. Not as a field trip. They stand on the pavement where the SS formed ranks and they look up at the same towers.
The badge is not cheaply earned. Years of conditioning, legal education, psychology, crisis intervention, marksmanship. High failure rates, merciless standards. The state demands extraordinary rigor of these recruits, and then demands the one thing rigor cannot supply: that they understand a badge, a manual, and a chain of command confer no morality whatsoever. The men who ran Dachau passed their physicals. They qualified on the range. They were disciplined professionals executing a protocol, and they were good at it. That is the whole horror, and it has nothing to do with monsters. Monsters are easy. Monsters let us sleep.
At Dachau the Bavarian police train on the former SS grounds, the training complex the guards used, adjoining the prisoner camp. Not the victims' quarters. The perpetrators'. That distinction cuts the wrong way for comfort, which is exactly why it belongs in the curriculum.
What the camps industrialized was not cruelty. Cruelty is old and needs no engineering. What they industrialized was restraint as a procurement problem: standardized, catalogued, requisitioned by the gross, applied by men who had been trained in the application and not in the question. Barbed wire, then zip ties. The form persists. Not the hardware, but the requisition form.
Alongside the memorial visits comes antisemitism training. Curricula on symbols, on coded language, on tropes that outlive the regimes that coined them. I want to be careful here, because the intent is real and the alternative is indefensible. But a seminar is a seminar. Antisemitism gets taught as recognition: learn the symbol, learn the slogan, file the report. That is single-loop learning, refining your performance inside the protocol and never asking what the protocol is for. The double loop is the one that asks what the badge obligates you to when no report is required. It rarely gets taught, because it cannot be graded.
I can only speak to what I saw. Walking through Germany in bright clothing and red shoes, I was noticed by police who were aggressive about it, and one of them mocked me by raising his boot. That gesture has a specific vocabulary and he knew it. Whatever the seminar covers, it did not cover that. Or it covered it and he had passed the module.
I also watched police scanning for anything that might read as Nazi. That is not zeal, it is statute: German law bans the symbols outright, and officers are required to look. Recognition is the codified duty. Which explains the shape of the training, and its limit. The symbol is in the criminal code. The synagogue door is not.
On Yom Kippur 2019, nobody was standing outside the synagogue in Halle. The state police of Saxony-Anhalt had taken no extra precautions there for the holiday. The gunman spent nine minutes on it, firing at the main door and a side gate, setting off improvised explosives, with fifty-one people on the other side. The door held. He killed a woman passing by, then drove to a kebab shop and killed a customer. The door held. Not the state. Every officer in that jurisdiction had been taught the history. The history was not the problem. The congregation had asked, and asked, and was met with a curriculum.
That is my quarrel with commemoration as pedagogy. A day at a memorial is finite, legible, completable, and the men who ran the camps are safely dead. Vigilance is none of those things. It's a Tuesday. It's an unglamorous patrol car parked where a congregation asked for one, for the eleventh year running, on a holiday when nothing happens, because nothing happening is the entire point. Nobody thanks you for the morning the threat never materialized.
And still: the nation that built this machinery makes its own police stand where it was designed and insists they look. Whatever that costs Germany in self-regard, it pays. The rest of us are asked to pay nothing, and mostly we don't. Which leaves the question I couldn't put down in that yard. Not whether I would have been the guard or the prisoner, because everyone flatters themselves on that one. Whether I'd have been the third thing. The clerk. The driver. The man who noticed the trains and decided it wasn't his department. The man who signed the requisition without reading it.
The barbed wire is gone. The blueprint isn't. The ground remembers even when the building does not.
Waning crescent
the death wall was days behind me.
© 2026 Bryan R. Hinton
sha512sum -c SHA512SUMS.CA42 47E8 9A5E FEAB 36DC 6A42 C547 9171 B69A 3CFB 887D B92C 3FB1 480A 2993 57A3.ots file proves that SHA512SUMS existed at or before the Bitcoin block timestamp below.