Výzkumník a systémový inženýr

Výzkum, který se dá změřit

Jmenuji se Petr Balvín. Navrhuji procesorová jádra, píšu jazykové nástroje, síťové protokoly a vědecké knihovny; práce to je od křemíku po teorii. Co tvrdím, změřím, a co dodám, má zůstat čitelné i beze mne.

11
veřejných projektů na vlastním serveru
5
linií dlouhodobého výzkumu
4
architektury podporované assemblerem
0
technologií Microsoftu v mé práci

Proč tato práce vypadá, jak vypadá

Čtyři pravidla, ze kterých všechno ostatní na tomto webu vyrůstá: podle nich se píše kód a měří výsledky.

Vědecká metoda jako základ

Rozhoduje materiál, ne dojem. Když se požadavek a to, co materiál dovolí, rozejdou, návrh začíná právě v tom rozporu; to je dialektický materialismus v denní praxi. Co se osvědčilo, platí do dne, kdy se najde lepší.

Standardní knihovna jako disciplína

Cizí kód nemohu brát na slovo, protože jsem ho nečetl a neodpovídám za něj. Co opravdu potřebuji, si proto napíšu sám; standardní knihovna přitom unese většinu projektu.

Měření jako jediný soudce

Výkon, spotřeba i správnost se dokazují měřením, ať jde o křemík, kód nebo protokol. Odhad se zapisuje jako hypotéza, a to včetně postupu, který ho vyvrátí. Co naměřeno není, neříkám.

Celý výstup jako jeden artefakt

Kód, dokumentace, testy i naměřená čísla tvoří jeden celek a odcházejí spolu. Měřítko je prosté: za deset let musí jít projekt přečíst, sestavit a převzít beze mne.

Linie výzkumu

Směry, kterým se věnuji dlouhodobě. Každá veřejná linie směřuje k artefaktu, který si kdokoli může vzít do ruky a spustit: nástroji, službě nebo knihovně.

Systémový kód v Go

Jádrové protokoly, numerika i toolchainy se píší v C tak dlouho, že si to dnes nikdo ani nevybírá. Otázka, kterou testuji, zní, zda čistý Go podá stejnou spolehlivost; NFSv4.2 server i klient bez jediné závislosti už obstály proti linuxovému jádru.

O linii

Deterministické a distribuované výpočty

Stejný vstup, totéž číslo, každý stroj. V numerice to samozřejmost není, ale Tensor to v Go drží, a to bez cgo. Další krok je rozdělit výpočet mezi více strojů tak, aby výsledek zůstal reprodukovatelný.

O linii

Přenositelný Plan 9 assembler

Plan 9 assembler je uvězněný uvnitř Go toolchainu a vlastní nástroje nemá. Vytahuji ho ven: jeden binární soubor, v něm formátovač, debugger i jazykový server pro čtyři architektury, s přesností ověřenou diferenciálním testem proti Go toolchainu.

O linii

Web bez závislostí

Moderní web se píše přes bundler, transpiler a stovky balíků. Testuji, jestli si s ním platforma poradí sama: dokladem je tento web, dvě jazykové verze a nula závislostí, postavený nástrojem JSbox.

O linii

Pátá linie, logika v křemíku, zatím běží jako soukromý výzkum; jakmile z ní bude artefakt, dostane kartu i tady.

Všech pět linií výzkumu

Z publikací

Zprávy z oprav a měření: co selhalo, proč a co z toho vzešlo. Každý text nese postup i data, takže si výsledek můžete ověřit sami.

Všechny publikace

Máte problém, který je potřeba nejdřív pochopit, a teprve pak řešit?

Přineste mi problém ze systémové práce, z výzkumu i z otevřeného kódu. Zprávu čtu a odpovídám sám.

Napsat mi