# alber.me > Personal website of Alexander and Franziska Alber, researchers based in Germany. Besides profile pages it hosts a collection of free interactive browser tools (React, client-side only): every tool runs entirely in the browser, nothing is uploaded, no accounts, no tracking. Most tools are bilingual English/German (switch with `?lang=en` / `?lang=de`); the parenting tools are German-first. Content is licensed CC BY-NC 4.0. ## People - [Alexander Alber](https://alber.me/alexander/): Diagnostic engineer at Hitachi Energy (power transformer and tap changer diagnostics), previously DLR; publications, patents, CV. Also published as Alexander Pollok. - [Franziska Alber](https://alber.me/franziska/): PhD candidate in theoretical computer science, University of Regensburg; automata over infinite alphabets, formal verification. ## Tools - [E-Book Converter](https://alber.me/miscellaneous/tools/ebook-converter.html): Convert EPUB, MOBI, AZW3, Markdown, HTML and plain text to EPUB, MOBI, Markdown, HTML, a self-contained HTML reader, LaTeX, DOCX, Pandoc bundle or plain text, without uploading the file. Converts whole batches to a zip and lets you pull the book's images out. - [Terrain Erosion Simulator](https://alber.me/miscellaneous/tools/erosion-simulator.html): Simulate hydraulic erosion on a grayscale heightmap with live 3D before/after preview and 16 bit PNG export. - [Heightmap to STL](https://alber.me/miscellaneous/tools/heightmap-to-stl.html): Turn a grayscale heightmap into watertight STL terrain tiles for 3D printing. - [Image Editor](https://alber.me/miscellaneous/tools/image-editor.html): Non-destructive photo editing (crop, scale, rotate, draw, text, perspective warp) with a reorderable history stack. - [Painting Simulator](https://alber.me/miscellaneous/tools/painting-simulator.html): Paint with pigments instead of pixels; colors mix by two-constant Kubelka-Munk optics (blue and yellow make green), pressure comes from cursor speed, the brush runs out of paint, paper has tooth, wet paint smears, and every realism layer has its own off switch. - [Pixel Forensics](https://alber.me/miscellaneous/tools/pixel-forensics.html): Lays maps over a photograph that show what the eye does not, and refuses to draw a conclusion from any of them. The block grid map finds the 8x8 JPEG lattice and its origin, so a crop after compression is visible as a shifted grid and an inserted region as a differently coloured patch. The quantisation table is read from the JPEG header and inverted exactly to an integer IJG quality, or reported as not a standard table at all, which is the one statement here that needs no interpretation; the same table is also estimated from the decoded pixels without any entropy decoding, and when that estimate contradicts the header the pixels are remembering an earlier compression than the file admits to. A noise map estimates the sensor noise per tile and greys out tiles too textured to measure, with the p98/p2 spread printed next to it so a colourful map cannot pretend to show structure that is not there. A resampling detector finds the periodic correlation that scaling leaves, with the JPEG block harmonics masked out. A line profile averages across a width you choose, fits the background away and reports a faint feature as a multiple of the local noise, matched-filtered and corrected for the number of places a peak was looked for. Ghosts and error level analysis are included last and explicitly as a lesson: ELA is the ghost computation at a single quality without the normalisation, which is why it carries no information. - [Colormap Designer](https://alber.me/miscellaneous/tools/colormap-designer.html): Builds a colormap for the constrained case the published maps do not cover: colours partly given, a background that is not negotiable, or a quantity that is an angle. Give it colours and it returns a dozen finished candidates per run for sequential, diverging or cyclic, each optimised in OKLab onto those colours and reparametrised by arc length so equal steps in the data are equal perceptual steps. Next to the chosen one stands the damage report: the lightness profile, the local perceptual rate, a dichromat simulation, the contrast against your own background, and the five energy terms separately rather than only their sum. The lightness is read back out of the emitted 8-bit values rather than off the ideal curve, and the count of candidates says when the colours genuinely do not allow a dozen different ones instead of padding the list with near duplicates. - [Color Extractor](https://alber.me/miscellaneous/tools/color-extractor.html): Find which colors an image is made of and copy them as hex codes, CSS variables or JSON; eight palettes from two to nine colors side by side with each color's share, the image redrawn in any palette (with optional dithering), and a slider setting how much colorfulness counts against lightness when deciding what is the same color. k-means clustering in OKLab. - [Color Grading](https://alber.me/miscellaneous/tools/color-grading.html): Grade a photo in the browser: lift/gamma/gain color wheels, curves, the six HSL secondary curves (hue/sat/lum against each other, in polar OKLab), split toning on three bands, temperature, contrast with pivot, saturation and vibrance, with a live RGB histogram, luma waveform and vectorscope. Hue targets replace one color with another where the secondary curves are too short a reach. Loads a palette from the Color Extractor and pulls the image toward it softly in one of four ways (global statistics, per color, optimal transport or recoloring, with a strength slider and an OKLab distance readout). A separate raw intake tab reads a Sony ARW, develops it in the browser (black and white point, camera matrix, white balance with a pipette, exposure, and a choice between the plain sRGB transfer function and a film curve), and hands the result over at full resolution. Exports PNG, JPEG or a .cube 3D LUT. - [Background Remover](https://alber.me/miscellaneous/tools/background-remover.html): Remove a white, near-white or single-colored background from a photo or scan entirely in the browser: flood fill from the edges leaves enclosed white areas intact, correction for unevenly lit scans, soft edges without a white fringe, PNG export with transparency. - [Patch Similarity Explorer](https://alber.me/miscellaneous/tools/patch-similarity.html): Upload an image, click any spot, and see a heatmap of how similar every other region is, from DINOv3 vision transformer patch features computed entirely in the browser. A second view colors the features by PCA and segments them with k-means. - [Pixel to Vector](https://alber.me/miscellaneous/tools/pixel2vector.html): Convert a PNG, JPEG or WebP into a clean SVG entirely in the browser: black-and-white tracing with subpixel accuracy on anti-aliased edges, or a color mode that quantizes to a small OKLab palette and stacks one layer per color so no seams show. One slider from exact to simple, per-layer control. - [Book Recommender](https://alber.me/miscellaneous/tools/book-recommender.html): Fantasy and sci-fi recommendations with calibrated uncertainty; rate books, get honest probabilities. - [LLM Detector](https://alber.me/miscellaneous/tools/llm-detector.html): Calibrated probability that an English or German text was written by a language model, with typical AI phrases highlighted and open methodology. - [Language Zipper](https://alber.me/miscellaneous/tools/language-zipper.html): Identify a language by compression - an order-3 byte model with Witten-Bell interpolation trained on 87 natural languages (Tatoeba) and 28 programming languages, plus a UPGMA family tree and an MDS map built from the same cross-entropy measurements. - [Token & Character Counter](https://alber.me/miscellaneous/tools/token-counter.html): Count tokens (o200k_base and cl100k_base tokenizers), characters, words, sentences, lines and bytes live. - [Local LLM Frontier](https://alber.me/miscellaneous/tools/local-llm-frontier.html): Which open-weight language model fits your GPU, how good it is, and which closed frontier model that roughly matches. - [Claude Code settings.json Generator](https://alber.me/miscellaneous/tools/claude-code-settings.html): Click together a Claude Code settings.json (permission rules, Read and Edit path rules with resolved anchors, model, environment variables). - [System Prompt Builder](https://alber.me/miscellaneous/tools/system-prompt-builder.html): Click together a personal system prompt for your chatbot - one variant per aspect (tone, pushback, expertise, code, ambiguity handling and more), every block editable, output in English or German. - [Text Corruptor](https://alber.me/miscellaneous/tools/text-corruptor.html): Zalgo with a gradient and in islands - a spline of how corrupted the text should be from first character to last, a segmentation of the text into clauses, and a lottery per clause whose odds are the corruption squared. Fourteen effects (zero-width breaks, combining marks above, through and below, Cyrillic lookalikes, overlining, small caps, fraktur, bold script, upside-down text, shouting, interjections, punctuation decay, collapsing spaces), two at a time near the end and only in compatible pairs, plus a tab with the classic Unicode conversions. - [Quap Lab](https://alber.me/miscellaneous/tools/bayes-rethinking.html): Fits Bayesian models written as a formula list by quadratic approximation of the posterior, in the browser, on your own CSV. Posterior summaries, predictive simulation, WAIC and PSIS-LOO, plus a grid cross-check that reports where the approximation breaks down. - [Lambda Diagrams](https://alber.me/miscellaneous/tools/lambda-diagram.html): Lambda calculus terms as Tromp diagrams with smoothly animated normal-order beta reduction. - [Ruler Title Finder](https://alber.me/miscellaneous/tools/title-finder.html): A deadpan consultation for the newly enthroned: seven questions score 44 historical ruler titles (emperor, caliph, shogun, tsar, doge) with etymology, notable holders and honest statistics. - [Leverage & Ruin](https://alber.me/miscellaneous/tools/leverage-ruin.html): How much leverage is too much? Monte Carlo simulation of a leveraged ETF over long horizons: volatility drag, the Kelly optimum, break-even leverage and wipe-out probability, plus uncertainty about the expected return, fat-tailed innovations and a Merton jump diffusion mode in which one crash day ends a leveraged position outright. The ensemble average rises with leverage while the typical path peaks and turns back down. - [Reaction Diffusion](https://alber.me/miscellaneous/tools/reaction-diffusion.html): A Gray-Scott reaction-diffusion system running full screen on the GPU. The feed and kill rates are navigated on a map of catalogued pattern regimes (solitons, worms, mazes, coral, gliders, mitosis), so dragging a cursor walks the field from one class of pattern into another while it runs; seeds can be painted with the pointer, and the field is drawn as a lit height map with an edge glow. Also shows the saddle-node line k = sqrt(F)/2 - F, which the self-replicating regimes sit above rather than below. - [Sun over Regensburg](https://alber.me/miscellaneous/tools/regensburg-sun.html): Does the sun still reach a given spot in Regensburg at a given minute. Clicking the map answers for that exact point by marching a ray across the official Bavarian surface model at one metre resolution, buildings and trees included, combined with a terrain horizon profile from a 40 km ring; a time slider recomputes the shadow of the whole visible area, and the picked spot also reports its hours of sun for the day. Solar position by the NOAA method with refraction and daylight saving. German and English. - [Ripple Tank](https://alber.me/miscellaneous/tools/ripple-tank.html): A 2D wave equation simulated live on the GPU, full screen. A plane or point source drives the field, slits, lenses and prisms can be dropped in and dragged around or painted freehand as walls and glass, and reflection, diffraction and refraction follow from the equation; wavelength, refractive index, palette and relief lighting are adjustable. - [Input Shaping Calculator](https://alber.me/miscellaneous/tools/input-shaper.html): ZV, MZV, ZVD, ZVDD, EI and multi-hump EI shapers on a damped spring-mass system, with Klipper configuration output. - [Race Time Predictor](https://alber.me/miscellaneous/tools/laufzeiten-rechner.html): Predict race times for 1 km to 50 km from personal bests, Riegel formula with personally fitted exponent. - [Choir Part Trainer](https://alber.me/miscellaneous/tools/choir-part-trainer.html): Practise one part of a choral score in the browser. MusicXML, compressed MXL or Standard MIDI in, per-voice mix (your part alone, your part loud, everyone but you), slower tempo, transposition, count-in, metronome and a loop over any range of bars; scrolling notation via OpenSheetMusicDisplay, a piano roll of all voices, and live pitch feedback from the microphone that names the voice you actually landed on. - [Sheet to MIDI](https://alber.me/miscellaneous/tools/sheet-to-midi.html): Upload a PDF of cleanly engraved choir music, get practice MIDI back. Optical music recognition entirely in the browser, per-voice playback (solo, all, or one voice loud and the rest quiet), suspect measures flagged for proofreading, MusicXML export for MuseScore. - [Sing Trainer](https://alber.me/miscellaneous/tools/sing-trainer.html): Practise hitting notes with live microphone pitch detection; scales, triads and generated melodies per voice range. - [Vowel Map](https://alber.me/miscellaneous/tools/vowel-map.html): Live formant tracking from the microphone; LPC estimates F1 and F2, the voice moves as a point through the vowel chart, with calibration on your own corner vowels, snapshots and a target vowel for choir vowel blending. - [Drug Concentration Visualiser](https://alber.me/miscellaneous/tools/medikamenten-spiegel.html): Time course of drug blood levels (one-compartment pharmacokinetic model), drag intake times, see steady-state accumulation. - [A Model of Psychohistory](https://alber.me/miscellaneous/tools/psychohistory.html): Posterior predictive futures of a galactic civilization; Bayesian ensemble simulation as an interactive art piece. - [Grabby Aliens Simulator](https://alber.me/miscellaneous/tools/grabby-aliens.html): Interactive 3D simulation of the Hanson grabby aliens model: expanding civilizations fill a periodic box and suppress later origins, with statistics on human earliness, first contact times, and a light-delayed sky view. - [Flow Field Defense](https://alber.me/miscellaneous/tools/flow-field-defense.html): Maze tower defense in which the pathfinding is the visible object. The cost-to-go field, the threat coverage and the occupancy distribution are drawn under the board, a tower is a cell with a finite traversal cost rather than a wall, and the five enemy types are five parameter sets of one cost function. - [Cobra 6DOF](https://alber.me/miscellaneous/tools/spaceship-6dof.html): A six-degree-of-freedom spacecraft flown with a 3Dconnexion SpaceNavigator over WebHID, which makes it Chromium-only and pointless without the hardware. The hull is an honest rigid body rather than a kinematic toy: its inertia tensor is integrated over the actual mesh by tetrahedral decomposition and diagonalized onto principal axes, Euler's equations run in the body frame so the intermediate axis is genuinely unstable, and wall contacts are resolved with accumulated sequential impulses, so a grazed corner imparts torque and leaves the ship tumbling. Rendering is wireframe with backface hidden-line removal in the manner of Elite 1984, inside a box gridded on all six walls because free flight has no floor. Thrust, torque, hull geometry, cap deadzone and curve, per-function axis assignment and a second-order Butterworth camera tracker on SO(3) are all adjustable, with the resulting traverse and turnaround times reported in seconds rather than in newtons. - [Asteroid Corridor](https://alber.me/miscellaneous/tools/asteroid-corridor.html): A six-degree-of-freedom sandbox flown with a 3Dconnexion SpaceNavigator over WebHID, Chromium-only and pointless without the hardware. A long box, transparent apart from a wall grid, holds asteroids that stand still and turn; there is no clock and no score. Flight is the rigid body of Cobra 6DOF, with the dynamics now a shared module. The rocks are collided against their drawn geometry rather than against a bounding sphere: noise and craters displace every vertex along its own radius, which leaves the body star-shaped about its centre, so whether a point is inside it is one lookup of the surface radius in that direction, read off the very triangles that are rendered. A turning rock is treated as a moving wall, so its surface velocity enters the contact and it shoves the ship along instead of holding it. - [Subway Sauce Guide](https://alber.me/miscellaneous/tools/subway-sauces.html): Heatmap rating every Subway sauce and sandwich combination, German and US menus. - [When to Close the Windows](https://alber.me/miscellaneous/tools/optimal-venting.html): When should you shut the windows on a hot summer morning? A single-zone thermal building simulation driven by nothing but the day's minimum and maximum temperature: the outdoor temperature curve is reconstructed with the Parton-Logan model, the walls are resolved as a multi-layer conduction chain so yesterday's stored heat still matters today, and window airflow follows de Gids and Phaff for single-sided ventilation and a buoyancy plus wind model for cross ventilation. Every combination of morning closing time and evening reopening time is simulated to periodic steady state and the resulting daily indoor peak drawn as a field over both, with the optimum, the region around it that is just as good and the cost of the usual rule of thumb (close as soon as it is warmer outside, reopen as soon as it is cooler) all marked. Presets for German building typologies from uninsulated pre-1950 brick to a low-energy house, a top-floor toggle, and a detailed mode for orientation, shading and internal gains. German and English. - [Meal-Prep-Planer](https://alber.me/miscellaneous/tools/meal-prep-planer.html): German-language batch-cooking planner that turns a week of planned meals into one Sunday cooking timeline, a merged shopping list and a printable note per dish. - [QR Code Generator](https://alber.me/miscellaneous/tools/qr-code-generator.html): QR code generator with a Reed-Solomon encoder written into the page, so nothing is uploaded and no redirect service sits between the code and its destination. Free foreground and background colours with transparency as the default, PNG and SVG export and clipboard copy, presets for WiFi credentials, vCard contacts, email, SMS, geo coordinates and phone numbers. The error-correction level is explained rather than merely offered: an anatomy view colours every module by whether it carries data, redundancy or a fixed pattern and by which interleaving block it belongs to, and an occlusion control counts damaged codewords against the actual per-block correction budget, reporting the largest centred square a logo could occupy instead of quoting the usual whole-symbol percentage. Eight module shapes, from plain squares through a random tangle of connections to one that joins only the spots where the modules happen to spell a Korean letter, each carrying its measured cost in resolution. The eighth is a genuinely animated QR code rather than the usual still code in front of a moving background: small snakes crawl along the dark modules and every frame remains the same valid symbol, because a connection is drawn inside the two modules it joins and never changes a module's polarity, exported as a looping GIF or a CSS-animated SVG. - [PCB Art Designer](https://alber.me/miscellaneous/tools/pcb-designer.html): Design decorative light-up PCB art in the browser: vectorize an image template, paint with a material palette (bare FR4 as light windows, soldermask, exposed gold-plated copper, silkscreen), automatic back-copper clearance behind every light window, and export as order-ready Gerber and Excellon files, entirely client-side. - [Self-Guided Walking Tour](https://alber.me/miscellaneous/tools/walking-tour.html): A self-guided walking tour that runs entirely in the browser, with no app, no account and no network once saved. The map is a site plan drawn from OpenStreetMap geometry and rendered as SVG, the route is computed over the actual pedestrian network rather than drawn as straight lines between sights, and each numbered stop carries one commentary written to be read while standing in front of the thing, plus two or three concrete details to look for and a confidence flag where the dating or attribution is contested. A service worker scoped to this one page saves the tour for offline use on request, and the browser geolocation API highlights the nearest stop without the position ever leaving the device. One tour so far: the Buda Castle District in Budapest, fifteen stops over about 3.5 km, including the Ottoman-era bastion towers along the western wall that most guides skip, and throughout it distinguishes genuinely medieval fabric from the nineteenth- and twentieth-century reconstruction that makes up most of the district. ## Parenting tools (German-first) - [Baby-Basics](https://alber.me/miscellaneous/tools/baby-basics.html): Distribution curves for sleep, feeding and crying in a baby's first year, with percentile bands. - [Pregnancy Timeline](https://alber.me/miscellaneous/tools/pregnancy-timeline.html): When common pregnancy symptoms typically start, peak and fade. - [Child Development Timeline](https://alber.me/miscellaneous/tools/child-dev-timeline.html): Milestones from 0 to 48 months plus WHO growth curves. - [Due Date Distribution](https://alber.me/miscellaneous/tools/geburtstermin-verteilung.html): Probability distribution of the actual birth date around the estimated due date. - [Name Finder](https://alber.me/miscellaneous/tools/namenfinder.html): German baby name finder; filter by origin, sound, meaning and popularity trend. - [Birth Decisions Explorer](https://alber.me/miscellaneous/tools/geburtsentscheidungen.html): Decisions around giving birth with quantified effects and evidence grading. - [Parental Leave Planner for Germany (Elterngeld)](https://alber.me/miscellaneous/tools/elterngeld-planer.html): Optimise Elterngeld, the German statutory parental allowance under the BEEG, together with German income tax and the split of months between parents. - [Daycare Infections](https://alber.me/miscellaneous/tools/kita-infekte.html): How many daycare infections per year are normal, with percentile bands. ## Optional - [Tools overview](https://alber.me/miscellaneous/): Landing page listing all tools with descriptions. - [Tool map](https://alber.me/miscellaneous/tool-map.html): A node-link map of how the tools connect: data handoffs through browser storage, shared engines, plain links. - [Cats](https://alber.me/cats/): Pictures of three cats. Loki, Mango and Kimchi. - [Design conventions](https://alber.me/design-conventions.html): How the tools on this site are built: the no-build single-file stack (Pico CSS, React, htm), the three-skin colour ladder, the shared components, the htm traps and the equivalence checker that caught them. - [Privacy](https://alber.me/datenschutz.html): Privacy notes (German).