Už jsem to tu anoncoval ve fázi záměru. Plánovaná sedmá kniha se z fáze “plán” dostala do fáze “editace rukopisu”. Ten odevzdám na konci března.
Původně to vzniklo jako nápad při psaní šesté knihy, kde bylo víc programování a míň konkrétní elektroniky, než v předchozích knihách. Prostě se díváte na všechny ty vývojářské nástroje a knihovny a říkáte si “já si vystačím s Arduinem, až bude nejhůř, tak přejdu na PlatformIO, a možná se někdy kouknu na ESP-IDF”. Anebo vyvíjíte pro Pico pomocí GNU toolchainu a překlad řídíte skriptama, protože “to stačí”.
Ale jsou s tím problémy. Blbě se to ostatním integruje. Nebo máte jiné zvyklosti. Je fajn, že jste svůj SW dali k dispozici jako open-source, ale pak narazíte na to, že onen má jinak knihovny, tamten má jiný OS, a sice tam jsou stejné překladače, ale má to jiné přepínače a jinak cesty, …
Naštěstí je v mikroelektronice, která je pro bastlíře relevantní, nepsaný standard. A právě o tom bude sedmá kniha. Jak vyvíjet software se speciálním zřetelem k vývoji firmware by se to mohlo jmenovat, ale nebude.
Text odpovídá hlavně na otázky Proč? (Proč Linux? Proč Make? Proč CMake? Proč Ninja? Proč Git / Github Actions? Proč Kconfig? Proč OpenOCD a GDB? Proč si nevystačím s Platformiem?) a Jak? A to včetně velmi ožehavého a výbušného tématu, které se týká “soft skills”. (Ano, správa open source, komunikace s uživateli, vyřizování pull requestů, …)
Vlastně by vás kniha měla provést od Arduina k tomu všemu výše napsanému, aniž by vám tvrdila, že něco děláte špatně. Dělat s Arduinem je naprosto OK. Stejně tak dělat ve Windows je taky naprosto OK. Když si děláte svoje věci pro svoje použití, má to 500 řádků, tak to nějak skoulíte. Nemusíte si k tomu stavět celou tu infrastrukturu okolo. Ale chci, abyste věděli, co dělat, když se z toho stane 2000 řádků, dál to poroste a vás napadne “dát to veřejně”. Nejpozději v tu chvíli je načase změnit přístup a připravit to na další růst. A je dobré nevymýšlet kolo a vědět, co pokryje jakou potřebu, proč a jak.
Jasně, pan MultiTricker zvládne spravovat svůj firmware pro Živý obraz v Platformiu, kde má podvozek s abstrakcí Arduino. A chápu, že investice času a úsilí, aby se posunul s firmware z verze 3.0.4 do verze 3.0.4, ale v ESP-IDF, s konfigurací v Kconfig, s novými knihovnami bez závislosti na Arduinu a s překladem přes Cmake je značná a náročná, ale jednou asi bude nutná. To bude přesně chvíle, kdy se mu bude tato kniha hodit.
(Samozřejmě příklad je jen ilustrační.)
Ono vůbec - vzít něco, co pár let vyvíjíte, a celé to přepsat do něčeho, co vám teď hned nic nepřinese, jen spoustu práce, je těžké, náročné a na první pohled samoúčelné. Musíte mít secsakra dobrý důvod, proč to udělat. Proto vám v knize nechci říkat “děláte to špatně”, protože to tak není. Ale spíš “dnes je zvyk dělat to takto. Když to budete dělat taky tak, přiděláte si práci s tímto, ale tady si tuhle práci ušetříte”.
Celé tohle jsem napsal už loni. Pak jsem to nechal ležet, dal jsem si odstup, a teď jsem se k rukopisu vrátil. Kus jsem vyhodil, kus jsem přepsal, ještě budu osekávat a editovat, něco jsem přidal, něco jsem sjednotil, a až si půjdu v půlce března lehnout na chirurgické oddělení, tak budu mít dost času dopilovávat poslední úpravy.
Držte palce. Na jaře by měla být kniha venku.
A pak? Kdoví, možná ta domácí automatizace… ;)

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.