Č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).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Nevím jestli si toho všimnul i někdo jiný, ale s masovým rozšířením gitu začala éra totálního úpadku štábní kultury při uvolňování aktualizovaných verzí software, což sebou nejspíš stáhne do sraček i linuxové distribuce, které za sebou nemají týmy placených specialistů co mají hrabání se v software jako svou pracovní náplň. V čem tkví podstata problému.
Díky moderním verzovacím systémům, jako je git se stalo verzování velice pohodlným. Dříve, než byla nějaká verze uvolněná, předcházel jejímu vydání testovací proces, který měl za cíl ověřit, že je vše skutečně funkční. Dnes na to nikdo nemá čas. Změny se totiž v repozitářích objevují tak rychle, že co platilo včera již platit nemusí. A každý zásah do kódu může znamenat jak zavlečení nové chyby, tak změnu chování aplikace, která se za určitých okolností může ukázat jako fatální.
Není sporu o tom, že původní systém založený na tarballech byl pro vývojáře poněkud nepohodlný - kdo by se chtěl zpětně babrat v kódu a hledat opravu, když se kód připravovaný pro další vydání změnil natolik, že v něm už oznámená chyba ani nemusí existovat.
Verzovací systémy to značně ulehčují. Není nic snazšího, než kód, který má být považován za stabilní, umístit do nové věteve. Každý ať si pak z repozitáře klonuje co chce. Opravy nalezených chyb jsou v takovém případě mnohem snazší. Jenže to má háček.
Pro vývojáře, který se ve svém repozitáři hrabe dnes a denně je jasné jak facka, kterou větev lze považovat za stabilní a která je vývojová. Jenže co lidé, kteří sestavují distribuční balíky?
Dříve to bylo zcela jasné. Vydaný balíček měl své číslo verze a z čísla subverze bylo ihned jasné, který kód je novější. Jenže dnes? Opravy se mastí rovnou do příslušné větve a kód se čas od času otaguje více či méně smysluplným číslem subverze. Potud ok.
Jenže pokud je aplikace sestavena z aktuálního kódu, nic takového nemá. V lepším případě sebou nese hash aktuálního commitu. Jenže z toho lze jen stěží poznat ze které větve pochází.
V případě komplexních softwarových balíků, které se skládají s více komponent tak postupně vzniká větší a větší bordel, neboť pozvolna přestává být jasné z jakých verzí byly vlastně sestaveny a jaké podmínky musí být splněny aby vše fungovalo jak má. A pokud se objeví chyba tak vyvstávají zcela zásadní otázky:
Většina lidí v současné době má problém skutečnou příčinu chyby vůbec odhalit. Vývoj díky verzovacím systémům je tak prudký, že věci rozbíjejí na jiných místech dřív, než se stačí opravovat chyby předchozí. Není divu, že pak nastávají situace jakou popisuje aktuální zprávička o dění kolem XscreenSaveru v Debianu. Není v silách maintainerů aby sledovali každý prd. A v případě komponent, které závisí na hromadě dalšího software to zkrátka nejsou schopni zvládat.
Já mám svůj vlastní příklad takového problematického distribučního balíku, kterému se principiálně vyhýbám - Pacemaker. Ne proto, že by ten distribuční balík nebyl funkční, ale nemohu si zkrátka dovolit riskovat rozbití funkčního clusteru kvůli obyčejné aktualizace. Cluster není desktop. Když se rozběhá, tak musí běžet a to i řadu let - pak již není prostor na hledání příčiny toho proč něco nefunguje.
Pacemaker netvoří jen jedna komponenta. Jeho funkcionalita je závislá na celé řadě komponent, které mají své vlastní vývojové repozitáře. A stačí jen drobná změna v chování některé z nich k tomu, aby vaše skvělá konfigurace přestala pro aktualizaci fungovat tak jak má. Jenže Pacemaker je komplexní software, jehož testování není jednoduché - ne každý má k dispozici stroje, na kterých by si mohl vyzkoušet všechny možné i nemožné situace ke kterým může dojít. Uživatelská základna není tak široká, abyste měli s kým váš problém konzultovat a hledání příčiny proč něco najednou přestalo fungovat žere čas, který vám nikdo nezaplatí.
Řeším tedy situaci tím, že používám vlastní binární balíček u kterého mám 100% jistotu že funguje jak má. To jsem se takhle před dvěma lety strefil do šťastného období, kdy zrovna všechno fungovalo jak má. Distribuční balík je v podstatě také funkční, i verze sestavená z aktuálních zdrojových kódů, ale bohužel se nechovají korektně a já nemám čas zjišťovat, zda-li je problém v tom, že chybí něco v konfiguraci, nebo je někde nějaký bug.
Tiskni
Sdílej:
Přijde mi zavádějící tohle připisovat gitu a jeho rozšíření. To, jakým způsobem projekt (ne)označuje, (ne)testuje a (ne)vydává nové verze, je IMHO dáno především náturou a způsobem uvažování jeho vývojářů. Podle mých zkušeností projekty, které buď přešly na git buď z CVS/SVN nebo které předtím ani veřejně přístupný VCS repozitář, svou release policy obvykle nijak zásadně nezměnily.
Git může řadu postupů usnadnit, ale pokud vývojář např. míchá nesouvisející změny dohromady nebo nepíše smysluplné commit message, git ho k tomu sám o sobě nedonutí. A s polikou pro vydávání a označování verzí je to IMHO úplně stejné. Z hlavy mne napadá třeba mplayer, který měl dlouhou dobu jen jeden prastarý (pre-)release a denní snapshoty, a to ještě předtím, než byl k dispozici veřejný VCS repozitář.
vývojář např. míchá nesouvisející změnyto on existuje nejaky system, ktery nesouvisejici zmeny rozezna? Jak?
Jediný takový systém, který znám, je přísný a důsledný maintainer. :-)
Ale to byla podstata mého příspěvku: git může workflow usnadnit a dobře vedenému projektu pomoci. Ale pokud vývojáři nemají disciplínu a na "štábní kulturu" kašlou, nepomůže takovému projektu sebelepší VCS.
Spousta let k plné spokojenosti (teda krom toho že po pár letech v tom začne být obrovský bordel a nejvíc místa na disku sežere adresář /usr/src).A právě o tom to je. Pokud si někdo šmudlá dva tři víceméně podobné stroje, tak je to ještě únosné, ale pokud je těch strojů více, každý pes jiná ves. Každý s jiným účelem, v různých lokalitách, s různou konfigurací - pak se stává situace neúnosnou a bez nástrojů jako Puppet, Chief apod. totálně nezvladatelnou. Po pravdě řečeno - kdybych nezvolil již před lety strategii jakou mám (kritické balíky vlastní provenience, základní konfigurace udržované přes Puppet a sledované přes git) tak už bych byl v pytli.
Pokud si někdo šmudlá dva tři víceméně podobné stroje, tak je to ještě únosné,No moc ne. Hele a dělá si někdo vlastní balíčky nebo dokonce provozuje vlastí repositář?
Hele a dělá si někdo vlastní balíčky nebo dokonce provozuje vlastí repositář?
Třeba já. Dokonce několik.
openSUSE Build Service - výhodou je, že pokud u projektu povolím publikování, výsledné balíčky jsou k dispozici přes URL, které můžu přímo předat "zypper addrepo
" a funguje pak stejně jako kterýkoli jiný repozitář.
Až na výjimky (např. snapshoty Firefoxu, u kterých chci, aby nekolidovaly s distribučním balíčkem) se snažím držet FHS a dalších distribučních zvyklostí.
Buď si lze udělat kompletní repo, jako máme třeba pro vlastní buildy cross-kompilátorů. Něco o použití a instalaci těch kompilátorů zde https://rtime.felk.cvut.cz/hw/index.php/Cross_compilers. O použití vání Debian repa na našem serveru https://rtime.felk.cvut.cz/wiki/index.php/Debian_packages_repository a obecně, podle čeho to bylo postavené http://blog.jonliv.es/blog/2011/04/26/creating-your-own-signed-apt-repository-and-debian-packages/
Pokud se jedná o použití jen o použití na jednotlivém počítači nebo o nutnost instalace vybuildovaných balíčků závislostí během kompilace než je odzkoušené, že má smysl balíčky poslat do repa, tak je nejjednodušší provést
mkdir -p /usr/local/debs echo "deb file:/usr/local/debs unstable main" >/etc/apt/sources.list.d/local-debs.list cd /usr/local/debs mkdir -p pool mkdir -p dists/unstable/main/binary-amd64 mkdir -p dists/unstable/main/binary-i386 touch override
Pak si vybuildovat balíky, s tím, že ve vastních mám control třeba nastavené unstable, ale není nutností. Balík, pokud je vybuildovaný třeba před dpkg-buildpackage
dám například do /usr/local/debs/pool/fpc
, nakopíruji všechny vygenerované *.deb
a často si tam schovám i zdrojáky v TARu, abych to měl u sebe a pak provedu
umask 022
ARCHS="amd64 i386"
OVERRIDE=override
DISTRIBUTION=unstable
cd /usr/local/debs || exit 1
for ARCH in $ARCHS ; do
dpkg-scanpackages -a${ARCH} pool ${OVERRIDE} \
>dists/${DISTRIBUTION}/main/binary-${ARCH}/Packages
gzip -c dists/${DISTRIBUTION}/main/binary-${ARCH}/Packages \
>dists/${DISTRIBUTION}/main/binary-${ARCH}/Packages.gz
done
apt-ftparchive -c conf/apt-${DISTRIBUTION}-rtime-release.conf \
release dists/${DISTRIBUTION} >dists/${DISTRIBUTION}/Release
A pak již klasicky
aptitude update aptitude install jmeno-baliku
Většinou tedy jdu spíš přes interaktivní režim a přes "l" vyberu balík a pak vidím, jakou verzi nabízí distribuce (její verze bude podle nastavení distribuce default) a jaké alternativní verzi mám k dispozici včetně té mé a tu si vyberu a nainstaluji. Pokud později distribuce přejde na novější verzi, než mám lokálně přidanou, tak se mi i v updatech automaticky objeví, ale updaty distribuce, které jsou mezi staršími verzemi než je ta moje se automaticky nenabízí. V aptitude si ale kdykoliv mohu verzi vybrat a přeinstalovat mezi nabídkou různých repozitářů, jsou vidět jen aktuální verze z repositářů, vracet se ke starším bez jejich uložení v local nejde a mít v jednom local více verzí pod stejným jménem balíku také povede k tomu, že bude nabízený jen ten nejnovější. Alespoň takto to umím já, možná je nějaká alternativa.
S gitem se to má jako s PHP.Asi tak jako se to s autem má jako s nohou. :)
Neni to spise tim, ze mas obavy, ze lide, jako jsi ty sam, by v ciste kapitalismu posli hlady?To tedy rozhodně nemám. Lidé jako jsem já jsou totiž pro čisté kapitalisty jako ty slepice co jim nesou zlaté vejce. Sice se jim moc nechce sypat zobání, jenže bez něj nejsou ta vejce na kterých stojí jejich byznys. Nedělám si iluze, ale kolik je v téhle zemi lidí co se hrabou v technologiích co já? 50? A to jsem možná přehnal. Ale co tam počítače. Je tolik jiných činností co člověk může dělat a mít z nich potěšení i obživu. Takže opravdu ne. Ale mezi uživit se a parazitovat na práci jiných je nebetyčný rozdíl.
Já mám svůj vlastní příklad takového problematického distribučního balíku, kterému se principiálně vyhýbám - Pacemaker. Ne proto, že by ten distribuční balík nebyl funkční, ale nemohu si zkrátka dovolit riskovat rozbití funkčního clusteru kvůli obyčejné aktualizace. Cluster není desktop. Když se rozběhá, tak musí běžet a to i řadu let - pak již není prostor na hledání příčiny toho proč něco nefunguje.Jen tak mimochodem - Pacemaker už je taky v jessie-backports. Ale automatický upgrade z wheezy na jessie prý fungovat nebude, takže už se těším, že budu mít co na práci
třeba gnunet si snaží vynucovat štábní kulturu používáním svn a ne gitu.Nikoliv. Tedy alespoň podle toho, co tam píšou.
First, we want to be open to new developes and make the learning curve as simple as possible.A proto se člověk musí učit mnohem složitější nástroj namísto nástroje, který může během několika minut používat i pro vlastní projekty.
Sure, git does not prevent this, but it makes it too easy to keep code "private".Tomu subversion nijak nezabrání a nejlepším důkazem je právě dále zmíněný git-svn. Já chápu, že Git není svatý grál, je to jenom nástroj se svými výhodami i omezeními. Chápu i to, že lidé dají vědomě přednost jiným nástrojům. Ale obávám se, že subversion existuje pouze z historických důvodů a udržuje se pouze díky stávající user base.
Nikoliv. Tedy alespoň podle toho, co tam píšou.Vyplývalo mi to právě z toho
Second, as a maintainer I want developers to commit ('push' in Git terminology) often, so we have an integrated version and run automated regression tests, portability analysis, static analysis tools, etc. on the code all the time. Sure, git does not prevent this, but it makes it too easy to keep code "private".ale může být, že jde spíš hlavně o zvyk na svn.
Pacemaker netvoří jen jedna komponenta. Jeho funkcionalita je závislá na celé řadě komponent, které mají své vlastní vývojové repozitáře. A stačí jen drobná změna v chování některé z nich k tomu, aby vaše skvělá konfigurace přestala pro aktualizaci fungovat tak jak máAle souhlasim s tim, ze bude hur. Ale ne kvuli GITu, ale kvuli rezignaci na princip KISS u lidi, kteri se venuji infrastrukture, a snaham budovat obrovske molochy, kde neni jasne, co se deje uvnitr a co souvisi s cim.
"Záporná" role verzovacích systémů je především v tom, že díky svým vlastnostem oddalují okamžik katarzeVerzovaci systemy verzuji, nic vic, nic min. Ze si nekdo zvoli proces vydavani verzi podle svych potreb, je bud jeho nebo tvuj problem, ne verzovaciho systemu. FYI: Podstata meho sdeleni byla uplne jina. Tvuj problem je uz v samotnem Pacemakeru a v jeho (molochovite) architekture a implementaci a za to GIT opravdu nemuze. Pokud mas problem, ze dilci aktualizace neco rozbije, zvazoval bych poohlednuti se po jinem reseni.