MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.28.0. Z novinek lze vypíchnout novou třídu machine.CAN.
Michael Meeks, CEO společnosti Collabora, na apríla oznámil, nebyl to ale apríl, že nadace The Document Foundation zastřešující vývoj kancelářského balíku LibreOffice vyloučila ze svých řad všechny zaměstnance a partnery společnosti Collabora, tj. více než třicet lidí, kteří po mnoho let přispívali do LibreOffice. Nadace The Document Foundation po několika dnech publikovala oficiální vyjádření. Přiznává pochybení při zakládání
… více »Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že v úterý 14. dubna (změna!!!) od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout
… více »Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.
VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.
Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.
Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).
ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Sám jsem člověkem více než cokoli jiného rozporuplným, a bohužel i mé texty jsou začasté plny rozporů. Když si jich někdy všimnu a snažím se o vysvětlování, čitelnost obvykle povážlivě klesá. Celé to je jen snaha zdokonalovat svoje vyjadřování, snaha vměstnat notně zkurvenou poezii do schémat hovorové řeči. A snad i já mohu věřit, že hledat krásná slova je lepší než zabíjet a vraždit.
čili adrenalin zpoza desky psacího (programovacího) stolu…
Žil byl jeden servřík. Na tom servříku žilo bylo pár kocourů, jmenujme je například tomcat_aaa, tomcat_bbb a tomcat_ccc. No a nakonec, žil byl jeden nebohý programátor ZZZ (občas si přál, aby tomu tak nebylo), který vyvíjel aplikaci AAA běžící na kocourovi aaa. A tady, milé děti, začíná naše polhátka.
Tak si představte, že ZZZ jednoho ne příliš krásného dne dokončil novou fíčuru AAA a k večeru se pustil do aktualizace aplikace. Jenže to drahně zkonil, totiž zeslonil, opomněl commitnout do SVNka jeden konfigurační soubor a chytrá AAA to zjistila. A protože šlo o problém, ze kterého se nedokázala zotavit (zas tak chytrá nebyla), prohlásila ho za fatální selhání a následovalo Shutting down server... System.exit(1).
OK, řekne si ZZZ, máme logy, chybu opravíme, problém napravíme, kocoura znovu polechtáme. Commit, svn up, rebuild a:
$ cd tomcat_aaa/bin/ $ ./startup.sh Already running!!
Cože? Vždyť to padlo, ten kocour nemá co běžet! jps -v, a co myslíte? – Měl ho tam!
$ ./shutdown.sh Connection refused... blablabla... nějaký stacktrace...
Inu, řekne si ZZZ, poněkud zbrocen potem, snadná pomoc:
$ kill 12345 $ jps -v
Chvilka napětí… Ne?? Zatraceně, no tak mu pošleme devítku! OK, tohle nepřežije kocour ani s devíti sty a devětadevadesáti životy, natož hloupý tomcat_aaa!
$ ./startup.sh Already running!!
Tu máš pane adrenalin. Čili čerte kropáč. Následuje martyrium [j]psů (brr, kocoure!) a netstatů, po každé iteraci prohlubující depresi vše- a zároveň nicneříkající hláškou Already running!!
S duší takhle maličkatou a srdcem takhle hluboko v kalhotách zkouším vim startup.sh: ach bože, co to tu je? Ta nebeská kráva (to už je celé ZOO) testuje, jestli neběží proces java, v jehož parametrech se vyskytuje dirname $0. A to je v tuhle chvíli ".", samozřejmě že jich běží mraky, přinejmenším všichni ostatní kocouři!
Trest smrti! Pak pochopitelné ./catalina.sh start a otázka, zda bude stačit pivo, nebo bude potřeba něco tvrdšího. Zatraceně, děti, jakto že ještě nespíte?
Tiskni
Sdílej:
-- Sorry, ale je to moc pěkný zápis
PS: mě spíš štve, že mi nefunguje automatický deployment a aktualizace aplikace za běhu, kdo má furt toho tomcata restartovat ...
Pokud se nepletu, výraz "velmi elegentní řešení" v textu nikde nezazněl… A dovolím si otázku: co děláte vy, když v aplikaci nastane chyba, z níž neexistuje možnost zotavení?
Ne že bych byl autorem toho kódu, ale souhlasím s ním v odpovědi na otázku: co jiného v takové chvíli dělat? Je zřejmé, že to není ideální řešení, ale lepší než v tichosti polknout výjimku a doufat, že "se to nějak samo tento..."
No, vlastně šlo o chybu v konfiguráku, která byla zjištěna až za běhu (jasně, musel jsem si to vyzkoušet), a která znamenala, že žádný další požadavek nemůže být obsloužen. Vlastně by nebylo možné obsloužit žádný požadavek jen pro jednoho konkrétního uživatele, ale to pochopitelně vrstva, která chybu zjistila, nemohla vědět.
Abyste mne špatně nepochopili, já vím že to je krutě nečisté řešení, možná bych i souhlasil, že to je špatné řešení, ale je to nejlepší univerzální řešení. Ale to jsme se dostali pěkně off topic…
System.exit() ani nepovolil…
#!/bin/bash
export JAVA_HOME="/opt/lucerna/ipin/jdk1.5.0_04"
cd /opt/lucerna/tomcat5/bin
./shutdown.sh
cd /opt/lucerna/bin
./javabin pftpi.util.PortToucher checker.killport
./javabin pftpi.util.PortToucher crawler.killport
sleep 5
killall java