Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.
Google občas takhle vypustí do divočiny nějaký ten open source software. Za jeden z nejzdařilejších považuju ajaxslt, což je kompletní (téměř -- kromě local-name()
a namespace-uri()
) implementace XPath 1.0 a XSLT 1.0 v čistém JavaScriptu. Šílenost a onanie, řeknete si. Jenže ono ve světě JavaScriptu / client-side DOMu není moc technologií, které by dokázaly nabídnout větší efektivitu při dolování informací z markupu.
Samozřejmě jsem si hned napsal funkci, nazval ji _
, podobně jako chlapci z jQuery tu svoji pro zjednodušení častého používání nazvali $
. Pak ale nastal problém s typem obsahu odesílaného dokumentu. Když byl dokument odesílán se správným content type, tedy jako application/xhtml+xml
, všechno fungovalo jako po másle. Jak by ne, XHTML je dialekt XML, prohlížeč dokument načte jako XML a jedeme dál... No, nejedeme. Pánové z Microsoftu se totiž rozhodli, že tento typ nebudou podporovat a když pošlete validní XHTML dokument jako text/html
(aby se nám chudáček explorereček nezakuckal), evaluace XPath výrazů selhává (celkem logicky -- prohlížeč v tu chvíli neví, že má v rukou validní XML).
Nadhodil jsem svůj problém v google-ajax-discuss (Perform XPath on a document sent as 'text/html'?) a když už jsem se smiřoval s tím, že na XPath můžu zapomenout, objevila se dnes ráno v listu zpráva o tom, že XPath funguje i s text/html, jen je potřeba psát názvy elementů velkými písmeny. Divné, ale je to tak. I když zas ne tak úplně, teď se pro změnu trošku cuká Opera. Chce velkými písmeny i názvy atributů, kdežto IE a Firefox zas v takovém případě odmítají spolupracovat. Ale tenhle problém se dá celkem úspěšně řešit nějakými regulárními výrazy, případně psaním trošku složitějších XPath výrazů (místo @*[name() = 'ahoj']
-- já vím, blbý příklad -- budete muset psát @*[name() = 'ahoj' or name() = 'AHOJ']
a nebo i na tenhle případ vymyslet regulární výraz, který to v případě Opery pořeší, do toho se mi už nechtělo ;)
Asi je vidět, že to není žádné super pevné řešení. Nicméně někdy umí XPath tak efektivně vytáhnout informace z DOMu, že se to IMHO vyplatí i přes takovéto překážky použít.
Nakonec bych poprosil někoho s Konquerorem, připadně dalšími méně rozšířenými prohlížeči, aby navštívili http://tester.danielkvasnicka.net/ajaxslt/ a podělili se tu s námi o výsledek. Já jsem otestoval funkčnost ve Firefoxu 2.0.0.6, Opeře 9.20, IE 6 a Safari 2.0.4
Tiskni Sdílej:
Bug in line: if (array[i] === value || (opt_notype && array[i] == value)) {
Missing ';' at the end of statement in: // that were removed from array
Missing ';' at the end of statement in: // function applied to every element of the input array
A tak dále. Asi nemá rád komentáře nebo nevím.