Man Yue Mo z GitHub Security Lab se podrobně rozepsal o již opravené zranitelnosti CVE-2023-6241 v Arm Mali GPU umožňující získání roota na telefonu Pixel 8 s povoleným MTE (Memory Tagging Extension).
V San José probíhá vývojářská konference NVIDIA GTC 2024. CEO společnosti NVIDIA Jensen Huang měl dvouhodinovou keynote, ve které představil celou řadu novinek: NVIDIA Blackwell platform, NVIDIA NIM microservices, NVIDIA Omniverse Cloud APIs, Project GR00T, …
Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.
Od 21. do 23. března proběhnou Arduino Days 2024. Sledovat bude možné oficiální streamy. 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ě.
Letošní ročník konference LinuxDays se uskuteční o víkendu 12. a 13. října, opět se potkáme v pražských Dejvicích na FIT ČVUT. Také během letošního ročníku nás budou čekat desítky přednášek, workshopy, stánky a spousta doprovodného programu. Aktuální dění můžete sledovat na Twitteru, Facebooku nebo na Mastodonu, přidat se můžete také do telegramové diskusní skupiny.
Byla vydána nová major verze 2.0.0 a krátce na to opravné verze 2.0.1 open source online editoru Etherpad (Wikipedie) umožňujícího společné úpravy v reálném čase.
Matematický software GNU Octave byl vydán ve verzi 9.1.0. Podrobnosti v poznámkách k vydání. Nově je preferovaný grafický backend Qt a preferovaná verze Qt 6. V tomto vydání byly přepracovány funkce pro převod čísel z desítkové soustavy. Jako obvykle jsou zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu březnový souhrn novinek. Vypíchnout lze, že pracují na virtuálním asistentu PineVox a zatím bezejmenných sluchátkách na lícní kosti (bone conduction).
Hyprland, kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, je již dva roky starý. Při té příležitosti byla vydána verze 0.37.0 (a záhy opravná 0.37.1 řešící chybu ve vykreslování oken). Nově závisí na knihovně hyprcursor, která poskytuje škálovatelné kurzory myši.
Dnes si zopakujeme základy z blogu Wordcloud z dat z Facebooku, tentokráte se ale podíváme na právě probíhající olympiádu a stáhneme si z Twitteru nějaká ta data o hashtagu #zoh2014! A aby toho nebylo málo, použijeme na vykreslení místo tradičního Rka Tagul.
Jestli někdo tvrdí, že Facebook je evil, pravděpodobně nic neví o Twitteru. Sociální síť, která je podle mnohých spíše protokol, vznikla na otevřenosti a podpoře stovek neoficiálních klientů. A copak se nestalo po tom co měla dostatečný market share? Ano děti, hádáte správně - s příchodem API v 1.1 byl konec s jakoukoliv otevřeností, místo toho přišlo strašlivé přihlašování přes OAUth a konec většiny neoficiálních klientů a Twitter tím podle mého překonal i tak "evil" společnost jakou je Facebook.
K přístupu do Twitter API je nyní tedy potřeba vytvořit si aplikaci s pokud možno co nejvyšším oprávněním. Tu vytvoříme na adrese apps.twitter.com, pod tlačítkem Create New App. Vyplňte jen povinné pole, rozhodně nevyplňujte Callback adresu. Occess level doporučuji "Read, write, and direct messages" < při slabším mi většina dotazů házela Not Authorized, ale je možné, že sem měl chybu i někde jinde. S tím jak se Twitter API mění je takřka nemožné najít na internetu na 100 % funkční návod.
Po vytvoření aplikace nás zajímá především záložka API keys a hodnoty API key a API secret, které použijeme v Rku pro generování přístupového tokenu.
Potřebné balíčky nejprve nainstalujeme a následně načteme:
install.packages("ROAuth") install.packages("twitteR") install.packages("wordcloud") install.packages("tm") library("ROAuth") library("twitteR") library("wordcloud") library("tm")
Pro ty z vás, kteří nedejbože používají Rko na Windows je nezbytné stáhnout certifikát, a jelikož mi CUrl házel nějaké neurčité chyby ohledně přístupu k /etc/ssl/certs, tak jsem byl tento postup nucen také použít:
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")
Teď jedna z nejdůležitějších částí, vytvoření OAuthFactory a její nastavení. Zde byl problém především v tom, že ve většině návodů byly cesty bez https, pouze jako http, což nyní nefunguje, ale vrací po handshaku neurčitou chybu "Unauthorized". Nezapomeňte nahradit API_key a API_secret za vaše hodnoty:
cred <- OAuthFactory$new(consumerKey='API_key', consumerSecret='API_secret', requestURL='https://api.twitter.com/oauth/request_token', accessURL='https://api.twitter.com/oauth/access_token', authURL='https://api.twitter.com/oauth/authorize')
A teď to příjde, handshake:
cred$handshake(cainfo="cacert.pem")
Tento příkaz vygeneruje url s access_tokenem, která vám vrátí PIN, který musíte napsat do Rka. Jakmile přihlášení projde, uložte si token na horší časy:
save(cred, file="twitter_auth.Rdata")
Poté stačí už jen zaregistrovat OAuth, což vypíše něco jako TRUE:
registerTwitterOAuth(cred)
A můžeme se směle vrhnout na tahání dat, což je to jediné co nás zajímá, že. Budeme chtít stáhnout všechny twíty například z 8. 2. obsahující hashtag #zoh2014. Bude tedy třeba vyplnit parametry od, do - ty se vyplňují jako since a until, since nastaveníme na 8. 2., until pak na 9. 2. (který tam pak nebude):
r_stats <- searchTwitter("#zoh2014", n=3000, cainfo="cacert.pem", since='2014-02-08', until='2014-02-09')
A teď už jen převod na corpus, čištění a spočtení frekvence:
r_stats_text <- sapply(r_stats, function(x) x$getText()) r_stats_text_corpus <- Corpus(VectorSource(r_stats_text)) r_stats_text_corpus <- tm_map(r_stats_text_corpus, tolower) r_stats_text_corpus <- tm_map(r_stats_text_corpus, removePunctuation) r_stats_text_corpus <- tm_map(r_stats_text_corpus, function(x)removeWords(x,stopwords())) ap.tdm <- TermDocumentMatrix(r_stats_text_corpus) ap.m <- as.matrix(ap.tdm) ap.v <- sort(rowSums(ap.m), decreasing=TRUE) ap.d <- data.frame(word = names(ap.v), freq=ap.v) write.table(ap.d, file="zoh2014.csv", append=FALSE, sep= "\t")
V tomto bodě opustíme R a vydáme se do Tagulu.
Tagul je jendoduchý nástroj na wordcloudy, který má jednu zajímavou vlastnost: dokáže vyplnit wordcloudem obrázek, který mu připravíte. Zvládá od jednoduchých tvarů přes jakkoliv složité obrysy a má tu vlastnost, že používá barvu pozadí obrázku, který mu předhodíte. Z vygenerovaného CSV z posledního kroku v Rku si tedy zkopírujeme třeba posledních 150 slov a vložíme je do Tagulu. Dále si seženeme nějakou fotku, u kterou si podle potřeby upravíme. V našem případě to byly Olympijské kruhy, které jsem zvektorizoval a nastavil jednolitou barvu všech kruhů. Po vykreslení tedy dostaneme toto:
Měření bylo úspěšné a nikdo při něm nebyl zraněn. O kostičku se hlašte v komentářích!
Tiskni Sdílej: