TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.
Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.
Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.
Finálový zápas mistrovství světa v ledním hokeji přinesl nový rekord NIX.CZ (𝕏): "Dosavadní absolutní maximum našeho propojovacího uzlu bylo překonáno v čase 21:10, kdy jsme při přenosu dat dosáhli 3,14 Tbps. Je třeba také doplnit, že po deváté hodině večerní byly na maximu i ostatní datové přenosy nesouvisející s hokejovým šampionátem".
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 12. a 13. října na FIT ČVUT v pražských Dejvicích. CfP poběží do konce prázdnin, pak proběhne veřejné hlasování a výběr přednášek.
Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.
Firma Murena představila /e/OS verze 2.0. Jde o alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).
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: