PSF (Python Software Foundation) po mnoha měsících práce získala grant ve výši 1,5 milionu dolarů od americké vládní NSF (National Science Foundation) v rámci programu "Bezpečnost, ochrana a soukromí open source ekosystémů" na zvýšení bezpečnosti Pythonu a PyPI. PSF ale nesouhlasí s předloženou podmínkou grantu, že během trvání finanční podpory nebude žádným způsobem podporovat diverzitu, rovnost a inkluzi (DEI). PSF má diverzitu přímo ve svém poslání (Mission) a proto grant odmítla.
Balík nástrojů Rust Coreutils / uutils coreutils, tj. nástrojů z GNU Coreutils napsaných v programovacím jazyce Rust, byl vydán ve verzi 0.3.0. Z 634 testů kompatibility Rust Coreutils s GNU Coreutils bylo úspěšných 532, tj. 83,91 %. V Ubuntu 25.10 se již používá Rust Coreutils místo GNU Coreutils, což může přinášet problémy, viz například nefunkční automatická aktualizace.
Od 3. listopadu 2025 budou muset nová rozšíření Firefoxu specifikovat, zda shromažďují nebo sdílejí osobní údaje. Po všech rozšířeních to bude vyžadováno někdy v první polovině roku 2026. Tyto informace se zobrazí uživateli, když začne instalovat rozšíření, spolu s veškerými oprávněními, která rozšíření požaduje.
Jste nuceni pracovat s Linuxem? Chybí vám pohodlí, které vám poskytoval Microsoft, když vás špehoval a sledoval všechno, co děláte? Nebojte se. Recall for Linux vám vrátí všechny skvělé funkce Windows Recall, které vám chyběly.
Společnost Fre(i)e Software oznámila, že má budget na práci na Debianu pro tablety s cílem jeho vyžívání pro vzdělávací účely. Jako uživatelské prostředí bude použito Lomiri.
Proběhla hackerská soutěž Pwn2Own Ireland 2025. Celkově bylo vyplaceno 1 024 750 dolarů za 73 unikátních zranitelností nultého dne (0-day). Vítězný Summoning Team si odnesl 187 500 dolarů. Shrnutí po jednotlivých dnech na blogu Zero Day Initiative (1. den, 2. den a 3. den) a na YouTube.
Byl publikován říjnový přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Pracuje se na podpoře M3. Zanedlouho vyjde Fedora Asahi Remix 43. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.
Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.
Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.
)
Vysrali se na to
Hello World test vůbec nic neřeší a netřeba z něj dělat jakékoliv závěry.
+1
Na druhou stranu, staticky linkované binárky nemám moc rád a nevím, proč by běžné malé programy/binárky měly mít jednotky nebo dokonce desítky mega. Statické linkování má svoje využití, ale nerad bych, aby z toho byl obecný trend a každá aplikace si tahala svoje závislosti zabalené do jednoho velkého blobu.
Něco jiného je ten „magický“ kód, který se přibalí i k dynamicky linkované binárce, aby udělal nějaké inicializace, a nad kterým se autor článku tak podivuje/pohoršuje (mluví o tom jako o „crap“ a „shit“). Tohle většinou nějaké opodstatnění a rozumný důvod má, akorát ho autor nevidí, když píše jen Hello world.
Na druhou stranu, staticky linkované binárky nemám moc rádJá taky ne a toto je jedna z věcí, která se mi na golangu příčí. Na druhou stranu se to pokusili obejít velmi snadnou a rychlou kompilací, kdy přímo součástí kompilačních toolsů je nástroj na automatické potahání všech závislostí. Takže update binárky v případě bezpečnostního update knihovny je velmi snadný. Na druhou stranu chápu, proč se k tomu golang uchýlil.
proč by běžné malé programy/binárky měly mít jednotky nebo dokonce desítky mega.Otázkou je, co to je "běžný malý program". Gitea určitě není běžný malý program. Už jsme na to narazili v diskusi o Clicku, prostě pomocí dvou řádků přidáš programu kompletní CLI + JSON. To nejsou malé komponenty. V Go si naimportuješ balíček http a třeba json nebo xml nebo něco a máš kompletní http server a nepotřebuješ k tomu webserver pro fcgi nebo wscgi iface, ta výsledná 11MB binárka už je kompletní služba, která krom kernelu nic dalšího nepotřebuje. Takže to, co se na první pohled může zdát veliké je ve výsledku vlastně mnohem menší, než stávající řešení. A dívám se na to i jako admin (a to teda zejména), vůbec se mi nelíbí stávájící pojetí kontejnerů jako "schovka na bordel", kdy někteří vývojáři používají typicky docker jako kontejner, kam si schovají všechny svoje závislosti a knihovny a potom nutí docker jako jediné správné řešení na spouštění jejich appek. Trochu se zapomnělo na to, že OS poskytuje oddělení procesů, uživatelů apod a že služba vůbec nemusí běžet jako kontejner, ale může to být klidně lokální proces. A golang se do tohodle docela dobře trefuje. Jedna binárka, stačí spustit jako kterýkoliv jiný proces s potřebnými omezeními a oprávněními a je z toho služba. Kontejner netřeba.
Network connectivity must not be required during build – the build must be possible completely offline. All dependencies must be downloadable and documented including secure hashes or preferably cryptographic signatures.
Pak je ale otázka, jak moc ten překládací systém proti tomuhle bude člověku házet klacky pod nohy, ať už úmyslně nebo jenom nedotažeností oproti automatickému stažení z internetu.Tak jistě. V golangu není rozdíl mezi tím, když si stáhneš ten balíček samostatně (s cílem na něm třeba pracovat nebo si jej zkomplikovat jako samostatných program) a tím, když jej použiješ v importech jako součást tvého projektu. Stáhne se totéž. Stejně jako v pythonu je mnoho modulů současně i samostatný program a lze jej použít jako knihovnu ve vlastním programu.
A druhá - kolik lidí to skutečně bude dělat - tj. ověřovat, že opravdu stáhli to, co chtěli, ať už automaticky nebo neTak tohle nezáleží na konkrétním jazyku ani nástroji. Každý jazyk má nějak bohatou standardní knihovnu a ke každému jazyku si můžeš dotáhnout cizí kód.
což je ale samozřejmě univerzální problém všech těchhle systémů, jak věci udělat co nejjednodušší pro vývojáře, přestože to může být na úkor něčeho jinéhoAno, a to mě jako admina sejří na různých distribučních platformách, snad každý jazyk má nějakou (CPAN, PyPi, PECL, úplně do extrému to dotáhl NPM, kde může každý cokoliv a navíc to může i smazat, takže při dalším update ta site přestane pro jistotu fungovat) a je těžké přesvědčit vývojáře, že by měl dávat přednost standardní knihovně, potom balíčkům ve standardním repositáři distribuce a až potom eventuálně sáhnout do balíčkovače té které platformy. Bohužel v různých tutorial videích "jak za 10minut udělat vlastní youtube" se to náhodným stahováním z githubu jen hemží a někteří lidé jsou přesvědčení, že toto je jediná správná cesta.
And hidden therein is my actual point: complexity. There has long been a trend in computing of endlessly piling on the abstractions, with no regard for the consequences. The web is an ever growing mess of complexity, with larger and larger blobs of inscrutable JavaScript being shoved down pipes with no regard for the pipe’s size or the bridge toll charged by the end-user’s telecom. Electron apps are so far removed from hardware that their jarring non-native UIs can take seconds to respond and eat up the better part of your RAM to merely show a text editor or chat application.
prave kompilator (pripadne linker) ma zaridit to, ze se pouzije a do binarky vlozi jen to co je treba.
V zásadě bych souhlasil, ale jde o to, že když 99 % programů psaných v daném jazyce potřebuje funkcionalitu/vlastnosti X, Y a Z, tak nemá moc smysl optimalizovat pro to 1 % Hello world příkladů, které tyto funkcionality či vlastnosti nepotřebují.
Ono udělat kompilátor/linker tak, aby byl natolik flexibilní, že dokáže vygenerovat optimální binárky pro všechno od Hello world příkladů po rozsáhlé aplikace, je dost obtížné.
Většina jazyků má nějak definovanou svoji cílovou skupinu a typické využití a pro ně se snaží optimalizovat. Nikdo neoptimalizuje pro Hello world příklady.
Optimalne umim prohodit trebas obsah dvou registru aniz bych potreboval treti. Tohle ale kompilator typicky delat nebude.Jsi frajer, ale tohle kompilator delat nebude, protoze to ma opravdu k optimalnimu kodu (na dnesnich procesorech) daleko. Prohozeni obsahu dvou registru bez tretiho vyzaduje tri provazane operace ALU, coz neni uplne levna zalezitost, pricemz by ALU mezi tim mohla jit pouzit na vypocty, ke kterym je urcena. Na druhou stranu, vyuziti tretiho registru v podstate znamena, ze se v ramci registr renaming uvnitr procesoru jen zmeni mapovani logickych registru na fyzicke, tj. nic se nikam nepresouva.
a^=b^=a^=b;Jestli to poničí flagy opravdu netuším.
Pokud soucvet pretece, tak se to cele posere.Ty jo, tak se součtem jsem to snad ještě neviděl. Normálně se na to používá XOR. Ale jinak fakt se to se součtem rozbije i když máš aritmetiku s bezpečnými overflows? (a to nejspíš máš, protože to vyžaduje C)
zavery se z toho prave delat daji pomerne obsahlyNedají. Hello world je tak primitivní příklad, že ve skutečnosti nehovoří nic o ničem. A dá se to říct i opačně, pokud někdo chce programovat cosi na úrovni hello world a použije k tomu třeba Javu a potom nadává, že k "jednomu řádku" musí mít i 200MB JRE, tak je to jen jeho chyba a jeho špatný výběr technologie. K Hello World navíc ani nepotřebuje počítač a může to generovat TTL logika nebo rovnou zadrátovaný signál v monitoru.
Ze mozna i nasobne slozitejsi aplikace nebude i nic vetsi znamena totiz proste to, ze tvurci kompilatoru nekde neco hodne posrali, protoze prave kompilator (pripadne linker) ma zaridit to, ze se pouzije a do binarky vlozi jen to co je treba.Co má nebo nemá za úkol kompilátor toho kterého projektu je věcí jeho tvůrců.
o ktery navic autor nemuze mit ani paru, protoze ho ani ve snu nenapadne, ze by tam neco takoveho bylo.To je ovšem jeho chyba, že si neprostuduje specifikaci jazyka, který si vybral. Navíc když je to tak známá věc objevující se ve všech debatách (a každého začátečníka trkne).
Smutny, kdyz si clovek uvedomi, ze se do par kB vpohode vejde cely system.Chápu tě, ale stěžuješ si na nesprávném místě. Inspirativní přednáška. Jinak pokud ti opravdu leží na srdci velikost go binárek (o čemž teda pochybuju) tak se to dá stripnout, vypnout debug apod.
aplikace zabiraj TBFakt jo? Jsem si nevšiml. Moje distribuce na disku se pořád vejde do 2GB stejně jako před 15 lety. (A z toho je 350MB locale, což teda vůbec nevím, proč tady je.) Jediné, co zabírá víc jsou data a tam to dává smysl a je to vlastně chtěné (ne to, že zabírají místo na disku, ale to, s jakým rozlišením jsme schopni je pořizovat a zobrazovat).
Co hur casto i naopak, tam kde by vyuziti ram smysl davalo prozmenu soudruzi vyvojari vubec neuvazujou nad tim, ze ledackdo v PC muze mit i vic nez (dnes) 4/8GB ram (gamesa zurive chroupajici na disku/ssd, zabirajici 2GB a ani tuk navic, pricemz by si vpohode mohla vzit 60GBAno. Memory management některých programů je ... fascinující.
Hello world je tak primitivní příklad, že ve skutečnosti nehovoří nic o ničem.
Kdyby to bylo jenom o "Hello world", tak by to bylo v pohodě, bohužel stejný princip je ve světě zažraný úplně všude, a to horizontálně i vertikálně. I takové Raspberry PI je hardware s poměrně brutálním výkonem, jenomže pro "moderní" aplikace je to zcela na prd, protože je to zadušené hromadou balastu. Na druhou stranu na každé úrovni od "Hello world" až po browser určitě existuje nějaká přednáška, článek nebo aspoň mailová diskuse, kde se vysvětluje, že ten "bulky" přístup je vlastně pro danou věc nejvíc nejoptimálnější a jakékoli zlepšení není možné, protože by to bylo vlastně už jenom horší.
Mezitím je na trhu 64core / 128thrd CPU.
Takže posuzovat jazyk z hlediska velikosti binárky je totálně mimo mísu, když současně s tím poskytuje velmi snadno použitelný multithreading, pomocí gorutin a kanálů lze mít tisíce interních procesů, stejně jako ten erlang někdy v roce 86. Erlangu se to nějak nepodařilo, Go (a Rust), zdá se má našlápnuto lépe. Takže třeba za pár let opravdu bude platit, koupil jsem si 512jádro a všechno je opravdu rychlejší.
Ale pochopitelně je to svobodný svět, pokud se toto někomu nelíbí, tak může všechny ostatní převálcovat tím, že hry budou mít 600B.
Jinak já mám RPI like destičku taky a nezdá se mi, že by byla zcela na prd. Provozuju na tom co chci k plné spokojenosti. Ale konverze RAWů to není, nejsem padlej na hlavu.
Tohle by stálo za článek nebo zápisek do blogu :-)
)
Pro Intel je tohle a to je boží.Jestli je toto bozi, tak nevim, co je pak Agner Fog. ;-]
pro go toto je anglicky nebo česky?
Holt kdysi k tomu měli programátoři jiný přístup: http://www.folklore.org/StoryView.py?story=Puzzle.txt
... Since the number puzzle was written in Pascal, it had to link with the Pascal run-time, which dragged in lots of extra code that wasn't used. This made the Puzzle over 6K bytes long, even though most of it was just the run-time. ... It only took a few hours on Saturday to recode it in assembly language, and get it down to the required 600 bytes, since it no longer had to link with the bulky Pascal code. ...
Pozor, ten článek je dost mizerný, viz komentáře na lobste.rs.
Tiskni
Sdílej: