Apple na své vývojářské konferenci WWDC24 (Worldwide Developers Conference, keynote) představil řadu novinek: svou umělou inteligenci pojmenovanou jednoduše Apple Intelligence, iOS 18, visionOS 2, macOS Sequoia, iPadOS 18, watchOS 11, …
Vyšla nová verze XMPP (Jabber) klienta Gajim, která přidává podporu reakcí pomocí emoji (XEP-0444: Message Reactions) a citace zpráv (XEP-0461: Message Replies). Přehled dalších vylepšení je k dispozici na oficiálních stránkách.
Po po téměř roce vývoje od vydání verze 5.38 byla vydána nová stabilní verze 5.40 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 75 vývojářů. Změněno bylo přibližně 160 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.
Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).
Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
Vítám vás u dalšího dílu volného seriálu o ptákovinách v MediaWiki. Tentokrát se zaměřím na zdánlivě banální věc, a to: "Jak zajistit, aby se anonymnímu uživateli nezobrazoval stejný obsah, jako uživateli přihlášenému".
Při řešení tohoto problému se neobejdete bez rozšíření MyVariables a ParserFunctions, pro které musí být navíc povoleny funkce pro zpracování textových řetězců:
$wgPFEnableStringFunctions = true;
O rozšíření ParserFunctions, již padla zmínka v minulém blogpostu. Rozšíření MyVariables, přidává mezi "kouzelná slůvka" další proměnné využitelné v šablonách. Ty ale nemusí být dostupné pokud není uživatel přihlášený - rozuměj, nemá ve svém nastavení příslušnou hodnotu - to byl případ proměnné USERLANGUAGECODE, o které rovněž padla zmínka již minule.
V tomto případě to však využijeme v náš prospěch. Pro anonymního uživatele se totiž místo uživatelského jména v proměnné CURRENTUSER zobrazuje IP adresa. A ta vždy - jak pro IPv4, tak IPv6 - začíná číslem. Korektní uživatelské jméno ne. Proto si nejprve vytáhneme první znak proměnné CURRENTUSER, a ten podrobíme matematické operaci. Ta v případě autentifikovaného uživatele skončí chybou, kterou odchytíme. Viz příklad:
{{#iferror: {{#expr: 1 + {{#sub:{{CURRENTUSER}}|0|1}} }} | error | ok }}
Pro anonymního uživatele se zobrazí řetězec ok, kdežto pro přihlášeného error a na tom lze postavit už prakticky cokoliv.
Ovšem jak zcela správně podotknul anonymní uživatel v diskuzi - co dělat v případě, že uživatelská jména mohou začínat číslem? Pomiňme nyní fakt, že číslem začíná tak leda jméno obyvatele koncetračního tábora.
Je to prosté - nejprve se kopnu do hlavy, a pak použiju proměnnou CURRENTLOGGEDUSER, kterou jsem prve přehlédnul.
{{#if:{{CURRENTLOGGEDUSER}}|ok}}
Aneb, proč dělat věci jednoduše, když to jde i složitě.. 8-P
Tiskni Sdílej: