Turris OS má aktuálně problém s aktualizací související s ukončením podpory protokolu OCSP u certifikační autority Let's Encrypt.
Nevidomý uživatel Linuxu v blogu upozornil na tristní stav přístupnosti na linuxovém desktopu (část první, druhá, závěr), přičemž stížnosti jsou podobné jako v roce 2022. Vyvolal bouřlivou odezvu. Následně např. Georges Stavracas shrnul situaci v GNOME. Debata o jiném aspektu přístupnosti, emulaci vstupu pod Waylandem, také proběhla na Redditu.
DevConf.CZ 2025, tj. open source komunitní konference sponzorovaná společností Red Hat, proběhne od 12. do 14. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.
Byla vydána nová major verze 28.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.
Český telekomunikační úřad zveřejnil Výroční zprávu za rok 2024 (pdf), kde shrnuje své aktivity v loňském roce a přináší i základní popis situace na trhu. Celkový objem přenesených mobilních dat za rok 2024 dosáhl dle odhadu hodnoty přibližně 1,73 tis. PB a jeho meziroční nárůst činí zhruba 30 %. Průměrná měsíční spotřeba dat na datovou SIM kartu odhadem dosáhla 12,5 GB – v předchozím roce šlo o 9,8 GB.
Z novinek představených na Google I/O 2025: Přehledy od AI (AI Overviews) se rozšiřují do dalších zemí. Užitečné, syntetizované přehledy od generativní AI jsou nově k dispozici i českým uživatelům Vyhledávače.
Šestice firem označovaných jako „MAMAAN“ – tedy Meta (Facebook, Instagram), Alphabet (Google), Microsoft, Apple, Amazon a Netflix – je zodpovědná za více než padesát procent světového internetového provozu. Dalšími velkými hráči jsou TikTok a Disney+. Společně tak zásadně určují podobu digitálního prostředí, spotřebitelského chování i budoucích trendů v oblasti technologií. I přesto, že se podíl těchto gigantů od roku 2023 o něco snížil, jejich dominantní postavení zvyšuje volání po regulaci.
Evropská komise (EK) navrhuje zavést plošný poplatek ve výši dvou eur (zhruba 50 Kč) za každý malý balík vstupující do Evropské unie. Poplatek se má týkat balíků v hodnotě do 150 eur (zhruba 3700 Kč), které v EU nepodléhají clu. V loňském roce bylo do EU doručeno kolem 4,6 miliardy takovýchto balíků. Poplatek má krýt náklady na kontroly rostoucího počtu zásilek levného zboží, které pochází především z Číny.
Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Je to už asi 8 let a kousek co se hrabu ve webech. Můj první web byl časopis a měl jsem ambice ho poslat do Levelu kde se tyhle časopisy rozmáhali. Nedošlo k tomu a dneska jsem za to i rád:) Co chci říct je, že za těch 8 let jsem se vypracoval, i když si myslim že většinu toho co umím umím díky poslednímu roku s Linuxem.
Po zmateném úvodu zkusím v novém zmateném odstavci naznačit pointu. Ve třinácti jsem dělal statické weby, ve 14 dynamické pomocí PHP. V 15 se do toho namíchali databáze, v 16 jsem se objevoval a poznával divy C/C++, které mě nakonec moc nechytlo i když bych v tom aplikaci napsal. Byla to taky doba kdy jsem poprvé instaloval Linux a poprvé ho odmít. V 17 jsem parazitoval na svých znalostech a pokusil se něco vytvořitl. V 18 jsem podruhé poznal Linux a tentokrát ho neodmít, běžel jako druhý a rozchodil jsem v něm všechen HW, byl to Slackware. V 19 jsem poznal Python a přešel na Linux jako na hlavní systém. Na disku zůstala partition s nefunkčními Win. Během měsíce win šli do kopru a já prohluboval znalosti unixových systémů, různých knihoven a hlavně jsem se naučil pracovat s qt3/qt4. Před 20. narozeninami jsem udělal svoje poslední 4 velké projekty v PHP. Vyvíjel jsem u toho svůj php framework Form. Už se dostávám k cíly tak to dám do dalšího odstavce.
Začátky generování
Form byl bezvadný pomocník, práci na 3 hodiny mi zkrátil na 10 minut. Vývoj ale nešel najednou a každým projektem jsem přidal novou vrstvu. Nakonec jsem napsal 20 řádků kde jsem popsal co chci a vygenerovalo mi to formulář pro úpravu a list. Generovalo to jenom administraci, ale s webem mi to hodně pomáhalo. Nebylo to ono, a tak jsem se rozhodl přidat poslední vrstvu. Vrstvu která bude generovat úplně celou administraci. Narazil jsem na problém. Člověk pro kterého jsem tenkrát dělal z tohohle nebyl nadšený. Vývoj webu jsem zkrátil na pár dní. Jenže si to vybralo daň u prvních testů kde když odešlo něco ve frameworku tak nešla celá administace. Chvilku to dalo než se to odladilo, každej projekt přinášel nové vrstvy (celkově byli 3) a ladit to bylo čím dál horší. Vrstvování je pěkné, ale tak maximálně na postupný vývoj na novou aplikaci se to nehodí. Kdyby tenkrát tenhle člověk měl trochu trpělivosti a nevadilo mu, že tam občas něco drhne asi to dělám do teď, ale díky tomuhle jsem přestal na Form pracovat a chvilku zevloval.
pyweb?
Na konci minulého roku mě napadla myšlenka. Vybodnout se na vrstvování a začít s úplně novým návrhem a napsat to v jazyce, který dokáže líp pracovat s objekty. Výsledek je pyweb. O co jde. Rozdělil jsem web na elementární části, které se skládají do sebe. Výsledkem je modulární toolkit, který jde krásně využít k poskládání dynamického webu nezávislého na grafice aniž by člověk napsal jedinou řádku (X)HTML. Zrušil jsem tedy neosvědčené vrstvení a tentokrát skládám kousky, které se o sebe starají sami. Výhodou je, že se to dá skládat růčo přímo v Pythonu (jazyk co jsem nakonec vybral) a nebo použít konfigurační yaml soubůrky a napsat tam co vlastně chci. Stejně tak pěkně se to dá i generovat pomocí nějakého WYSIWYG nástroje, ale o tom dále.
Nová cesta k webu?
Popisuju tady hrušku, ale zatím jsem se nezmínil co z ní vyleze za červa. Největším problémem mojí práce bylo nesmyslné opakování kódu. Pyweb je navržen tak že generuje celé weby. Napíšeme form("konfigurak") a vyflushne nám to formulář, vytvoří tabulku v databázi a udělá list uložených dat. Tohle odebere asi 80% práce, ale umí to mnohem víc. Pyweb nevygeneruje jen celou administraci, ale dokáže vygenerovat celý web včetně detailu položek v DB, různých statistik, menu, layoutu, atd. Jak to přibližně funguje nastíním dále.
Yaml vítězem
Pokud něco můžu zneužít tak to zneužiju a ve světě OSS to platí dvojnásob. Jelikož pyweb nakonec OSS bude, tak se nemusím bát po něm přejímat kód nebo vužívat různé cool nástroje. Yaml je jedním z nich. Yaml soubor je soubor, který se dá přečíst dobře jak člověkem tak strojem a je implementován v každém druhém jazyku. Založil jsem tedy pyweb na něm. Musím podotknout, že mě k tomu nakop Botanicus. O Yamlu se dá dočíst třeba tady.
Základem je formulář
Ač se to nezdá, dnešní webový svět je založen na formuláři, je to to co dá nejvíce práce. Proto je to hlavní nosná síla pywebu. Funguje to asi tak, že se napíše jeden yaml soubor s určitými daty se kterým pracuje pár dalších objektů. Jeden vygeneruje formulář pro zadávání a stará se o zadávání. Druhý vygeneruje tabulku s daty a tlačítky pro úpravu atp. Další vygeneruje statisitku (fajn pro ankety třeba). Další zase vypíše detail jedné položky případně k ní zobrazí i nějaké ty uploadované fotky a další kravinky. S tímhle si už člověk v pohodě vystačí a poskládá s tim web, který vyhovuje většině zadání. Díky tomuto totiž jde udělat yaml soubor, který definuje formulář pro článek, novinky, zprávy z čehokoli, prostě cokli kde je potřeba něco zadat.
Na webu je i text
Text je takovym velkym trnem v mém oku. Já sice vyvíjím pyweb, ale kolega Botanicus pracuje na WYSIWYG nástroji pro konfigurační yamly. Jazyk pro text je něco co musíme odsouhlasit oba a i když pyweb podporuje teď 2 jazyky a jeden je připraven pro implementaci, tak defaultně buden nastaven jeden. Botanicus je TeXař a já jsem spíš user, tak se nemůžeme shodnout na jedné základní věci. Nový řádek chci mít jako :n a on jako ---. Tabulku chci mít jako :table:XXX a on jako ---table:XXX---. Obrázek to samý v bledě modrym. Udělali jsme nakonec kompromis, který není nejlepší a myslím že to bude dělat problémy :(
Layouty
Moderní web jede na CSS layoutech. Rychleji se to kreslí, hůř se to dělá. V pywebu znamená layout něco trochu jiného než sada divů. Je to rozložení prvků na stránce. Jsou to takové boxíky, které dum8d0g nazval cubes do kterých se dají vkládat jednotlivě objekty (formy, listy, články, anekty, ...). Pyweb tak má nástroje, které přečtou layout a nahází do toho objekty, které obsahuje a web je hotov.
2CSS stačí
Pyweb na celý web potřebuje 2 CSSka, jedno nastavuje jak má vypadat layout a druhé barvičky. Jelikož je pyweb složen z elementárních objektů tak můžu jednoduše nastavit barvy pro celý web a vím že to bude vypadat stejně a žádnej kód nebude duplicitní. CSSko pro layout se nestará o barvy ale o rozměry jednotlivých cubes případně jejich pozadí.
Pouze balíček
Inspiroval jsem se unixovým světem a navrhnul tar.bz2 archiv, který obsahuje všechno co je potřeba pro grafickou podobu webu. Výsledek je takový, že udělám jenom seznam objektů, které potřebuji na webu, vyberu balíček a mám web hotový. Balíček tedy obsahuje zmíněná 2CSSka, jeden layout a obrázky, které jsou nutné pro design webu. Když je tedy potřeba změnit grafika tak se změní jen balíček a všechno ostatní zůstává. Easy... :)
DOCS
S takhle velkým projektem přišli i problémy s dokumentací. Potřeboval jsem aspoň něco jednoduchého a nejlíp možnost získat další potřebná data. Začal jsem tedy s vývojem pydocs. Je to malý skriptík co prolítne py soubor, vyseká z něj třídy, metody a funkce, dá je do souvislosti a přiřadí k nim komentáře začínající na #?(popisek metody,fce nebo třídy) a ##?(popisek na úvodu). Výstup je do normálních textových souborů a je to bez práce a pohodlný :)
Konec
Už píšu hodinu a nic moc mě nenapadá tak když tak pokračování příště, protože tohle rozhodně neni konec. Komplet pyweb bude OSS a bude k dispozici do pár týdnů. Jestli bude i WYSIWYG generátor yamlíků OSS nevím, ale Botanicus se určitě ozve v diskusi. Zatím se loučím a doufám, že to nebylo moc dlouhý :)
Tiskni
Sdílej:
cx@desktop:~/python/pyweb$ ./count.sh 218 dataForm.py 238 dataTable.py 36 div.py 215 files.py 306 form.py 26 io.py 119 imgs.py 50 listing.py 15 pywebgen.py 118 pyweb.py 365 sql.py 120 table.py 200 webgen.py 69 xhtml.py 75 menu.py 61 pysys.py 120 text.py 154 docs.py 2505 celkem
Ty myslíš na úrovni toho generátoru? No těch pár značek je namíchanejch v metodách gen() v každym objektu co něco vyflushává. Ono jich zas tolik neni, takže nemá smysl to oddělovat.
Teď nevím jestli si mě pochopil. Generátor negeneruje celý web, ale jenom část, která je zrovna vyžadovaná. Tedy vrací pouze jednu XHTML stránku. Ke zpracování dat z apache používám handler.
(define hello-template (lambda (jmeno) `(html (body (h1 "Hello world") (p ,jmeno)))) (define (hello-controler (request template) (let ((jmeno (get-name request))) ....... some other logic ....... (template jmeno)) (hello-controler request hello-template)