Byla vydána Java 20 / JDK 20. Nových vlastností (JEP - JDK Enhancement Proposal) je 7. Nová Java / JDK vychází každých 6 měsíců. LTS verze je 17.
Google spustil konverzační AI Bard. Vyzkoušet lze zatím pouze ve Spojených státech a Spojeném království. Více v Bard FAQ.
David Buchanan na svém blogu rozebírá zranitelnost acropalypse (CVE-2023-21036) telefonů Google Pixel. Z výřezu (crop) snímku obrazovky vytvořeného integrovanou aplikací Markup může být možné částečné obnovení původního snímku obrazovky. Viz tweet Simona Aaronse. Vyzkoušet lze webovou aplikaci acropalypse.app. Opraveno v březnové aktualizaci.
V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) byla vydána v nové verzi 1.19.0. Přehled novinek i s náhledy v příspěvku na blogu. Kvůli "převzetí Gitei" společností Gitea Limited byl v prosinci loňského roku představen fork Gitei s názvem Forgejo (Codeberg).
Byla vydána nová verze 5.11 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Nově je používán zram. Tor Browser byl aktualizován na verzi 12.0.4. Thunderbird na verzi 102.9.0.
Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Lorelai (ProtonDB).
Curl, řádkový nástroj a knihovna pro přenos dat po různých protokolech, slaví 25 let. Vydána byla nová verze 8.0.0. Mimo jiné řeší 6 zranitelností.
V sobotu 25. března proběhne Arduino Day 2023. Od 14:00 lze sledovat oficiální stream. Zúčastnit se lze i lokálních akcí. V Česku jsou aktuálně registrovány dvě: v Praze na Matfyzu a v Poličce v městské knihovně.
Fabrice Bellard, tvůrce FFmpeg nebo QEMU, představil TextSynth Server. Jedná se o webový server nabízející REST API k velkým AI jazykovým modelům. CPU verze je k dispozici zdarma jako binárka pod licencí MIT. GPU verze je komerční. Vyzkoušet lze na stránkách TextSynth.
Na konferenci LibrePlanet 2023 byly vyhlášeny ceny Free Software Foundation. Oceněni byli Eli Zaretskii za dlouhodobé příspěvky (správce Emacsu), Tad „SkewedZeppelin“ za nové příspěvky (správce DivestOS, distribuce Androidu) a projekt GNU Jami za společenský přínos.
CREATE TRIGGER tr_usernameSync AFTER UPDATE ON mailbox_base FOR EACH ROW BEGIN IF (NEW.username != CONCAT(NEW.local_part, '@', NEW.domain)) THEN BEGIN UPDATE `mailbox_base` SET `username` = CONCAT(NEW.local_part, '@', NEW.domain); END; END IF; END;Ale mysql mi při pokusu o update tabulky zahlásí "#1442 - Can't update table 'mailbox_base' in stored function/trigger because it is already used by statement which invoked this stored function/trigger." Zkoušel jsem to obejít tak, že jsem v triggeru volal proceduru na ten update, ale stejně to nefungovalo. Zkouším to rozchodit už nějakou tu hodinku. Mohl by mi někdo poradit co s tím?
CREATE TRIGGER tr_usernameSync AFTER UPDATE ON mailbox_base FOR EACH ROW BEGIN IF (NEW.username != CONCAT(NEW.local_part, '@', NEW.domain)) THEN BEGIN NEW.username = CONCAT(NEW.local_part, '@', NEW.domain); END; END IF; END;
CREATE TRIGGER tr_usernameSync BEFORE UPDATE ON mailbox_base FOR EACH ROW BEGIN IF (NEW.username != CONCAT(NEW.local_part, '@', NEW.domain)) THEN BEGIN SET NEW.username = CONCAT(NEW.local_part, '@', NEW.domain); END; END IF; END;Tohle funguje. Proč ale nefunguje tamto?
CREATE TRIGGER tr_usernameSync BEFORE UPDATE ON mailbox_case FOR EACH ROW
Tiskni
Sdílej: