Ubuntu pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).
Zástupci členských států EU se včera shodli na návrhu, který má bojovat proti šíření materiálů na internetu zobrazujících sexuální zneužívání dětí. Nařízení známé pod zkratkou CSAM a přezdívané chat control mělo množství kritiků a dlouho nebyla pro jeho schválení dostatečná podpora. Pro schválení byla potřeba kvalifikovaná většina a dánské předsednictví v Radě EU se snažilo dosáhnout kompromisu. Návrh nakonec po dlouhých týdnech
… více »Britské herní studio Facepunch stojící za počítačovými hrami Garry's Mod a Rust uvolnilo svůj herní engine s&box (Wikipedie) jako open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT. Herní engine s&box je postavený nad proprietárním herním enginem Source 2 od společnosti Valve.
Vývoj programovacího jazyka Zig byl přesunut z GitHubu na Codeberg. Sponzoring na Every.
Stejně jako GNOME i KDE Plasma končí s X11. KDE Plasma 6.8 poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.
Poslanci Evropského parlamentu dnes vyzvali k výraznému zvýšení ochrany nezletilých na internetu, včetně zákazu vstupu na sociální sítě pro osoby mladší 16 let. Legislativně nezávazná zpráva, kterou dnes odsouhlasil Evropský parlament poměrem 493 hlasů pro ku 92 proti, kromě zavedení věkové hranice 16 let pro využívání sociálních sítí, platforem pro sdílení videí či společníků s umělou inteligencí (AI) vyzývá také k zákazu … více »
Doom v KiCadu nebo na osciloskopu? Žádný problém: KiDoom: Running DOOM on PCB Traces a ScopeDoom: DOOM on an Oscilloscope via Sound Card.
Po AlmaLinuxu byl v nové stabilní verzi 10.1 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.
Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.
Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.
Předem tohoto zápisku upozorňuji, že píši částečně pod vlivem emocí. Prostě se mi nelíbí, co se s PHP za poslední čas děje a jak s ním nakládají sami jeho tvůrci.
Spolu s PHP jsme už pěkných pár let. Používal jsem ho často a kupodivu jsem ho často používal také jako shellový jazyk. Napsal jsem v něm poměrně dost. Začínal jsem na PHP verze 3. Když přišlo PHP verze 4, zjistil jsem, že pár věcí je trošku jinak, ale nic tragického a skripty jsem opravil během hodinky. Přechod na PHP 4 byl jednoznačně krokem vpřed. No, ale teď jsem pokouším už pár měsíců používat verzi 5 a prskám. Opravdu prskám jako křeček a ptám se, jaké mindráky autory PHP asi vedly.
Abyste rozumněli, než jsem vyzkoušel PHP 5 mohl jsem se na PHP spolehnout. A to tak, že absolutně. Nikdy mi nepadlo, nikdy mi neudělalo nic neočekávaného, prostě paráda. Možná jsem měl i trochu štěstí, že jsem nepíchl někam, kde by PHP mělo slabé místo.
Ale co s PHP 5? Přišlo a spoustu věcí totálně přeoralo. Sice objekty dostaly nový háv a celkově jsou lepší, výjimky jsem taky přijal s nadšením. (Pravda, objekty ve stylu opsané od Javy jakožto staticky typoveného jazyka mi v PHP, což je dynamicky typovaný jazyk připadají trochu špatný nápad, ale to je jen můj subjektivní dojem). Jenže skoro v každé podverzi PHP 5 jsou některé věci trochu jinak. Autoři PHP jakoby si se mnou hráli dobroudružnou hru typu najdi co se změnilo. Jednou změní závislosti nějaké knihovny, aniž by v dokumentaci popsali, podruhé zakážou nějakou syntaxi, která předtím fungovala, atd..
Poslední rána nastala, když jsem zkoušel nové progresívní rozhraní pro databáze typu PDO. Abyste rozumněli, prostě jsem se potřeboval napojit na MS SQL 2005. Rozhraní pro mssql nefungovalo. Rozhraní pro ODBC fungovalo, ale rozhodl jsem se zkusit PDO, což je teď dost doporučované databázové rozhraní pro PHP, které je psané přímo v C. Nebudu napínat. Zjistil jsem, že když pošlu chybný SQL dotaz, zbuchne Apache a z debugovacích zpráv jde vysledovat, že pointer zapisoval do paměti, kam neměl. Po pár pokusech zbuchnul Apache už i na správném SQL dotazu, k rozkladu celé knihovny asi docházelo poměrně rychle. Zdůrazňuji, že celé rozhraní PDO pro ODBC je označeno jako stable! Jen by mě zajímalo, kdo to testoval, když mě to zbuchlo za prvních pět vteřin testování.
Pak přišel skoro happy end, poslední verze PHP 5.1.2 a v changelogu vidím opravené memory leaky v PDO. Tak nedočkavě stáhnu a PDO opravdu nepadá. Tak jsem se ponořil do manuálu a začal studovat PDO. No nic moc knihovna, návrhem prostě běžný průměr. Ale líbilo se mi, že bylo možné procházet data pomocí foreach. Vzal jsem tedy a napsal něco podobného:
$conn = new PDO('dsn string','login','heslo');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM cosi";
foreach ($conn->query($sql) as $data)
var_dump($data);
A liboval si jak to krásně chodí. Vypsalo to všechny řádky. Ale na konci jsem spatřil něco se tam být nemělo. Hlášení o neodchycené výjimce, která mi sdělovala, že je na konci seznamu řádků. Zaklel jsem a pochopil jsem, že s PDO už nikdy nechci mít nic společného. Proboha, je přeci jasné, že foreach dojede na konec, tak proč autory PDO napadlo vyhazovat výjimku? To jako po mě chtějí, aby kvůli jejich blbosti každý foreach uzavíral do try catch bloku? Navíc jsem si všimnul, že foreach nejel řádky od začátku, ale prostě od současné pozice. PDO je zkrátka nedomyšlená jako prase a naprogramovaná tak, že by se za ní dalo stydět.
A teď přišel skutečný happy end. Napsal jsem si knihovnu obdobnou PDO sám. Bylo to celkem jednoduché a použil jsem tam vše, co se mi z PDO líbilo. Dokonce i s foreach to funguje (aspoň že interface Iterator funguje v PHP jak má). Nevyhazuje foreach na konci výjimku a navíc foreach vždy jede řádky od začátku. Výjimky to vyhazuje skutečně tam, kde má, tedy při chybě. A pořád mám na mysli nevyslovenou otázku. Když já sám, který se za odborníka v PHP nepovažuji jsem schopen napsat dobře fungující knihovnu obdobnou PDO za dvě hodiny, proč autoři PHP vypouštějí a ještě propagují do světa takové nedodělky?
Ale vlastně jsem ani tak o PDO psát nechtěl. PDO byla jen taková poslední kapka neustálého číhání, co zase autory PHP napadlo přeorat, překopat, změnit, nestabilnit, samozřejmě za halasného vysvětlování, jako vedou PHP k lepším zítřkům a zářivé budoucnosti. Někdy mi přijde, že i ten Micosoft se v těch nejhorších chvílích choval přeci jen kapku kamarádštěji. Není vůbec divu, že dnes, kdy PHP verze 5 už je tu s námi pár let stále ještě podle statistik naprostá většina webů jede na PHP verze 4. Nedivím se a plně to chápu. Upřímně řečeno, mám pocit, že nejefektivnější přechod z PHP 4 není na verzi 5, ale na něco ve stylu Java, Pythom, Ruby. Statistiky plně potvrzují, že lidem se na PHP 5 přecházet nechce.
Mám za pár dní napsat pár skriptů v PHP a rozchodit je pod Microsoftím IIS, pod kterým běhají věci pro mnoho zákazníků. Věřte mi, začínám se bát, nevěřím už stabilitě PHP ani co se za nehet vejde a začínám uvažovat, zda by se to přeci jen nedalo napsat v ASP, které snad server neshodí. A pokud tam půjde PHP, tak silně uvažuji o tom, PHP verze 5 to asi nebude. Přestávám PHP věřit.
Tiskni
Sdílej: