Francouzský prezident Emmanuel Macron chce zakázat přístup na sociální sítě pro děti do 15 let. Francie podle něj tento krok udělá sama do několika měsíců, i pokud se na něm neshodnou další státy Evropské unie. Reaguje tak na úterní vraždu vychovatelky, kterou ve východofrancouzském městě Nogent pobodal 14letý mladík. Jednotlivé sociální sítě podle něj mají možnost věk ověřit a vymáhat zákaz pomocí systémů na rozpoznávání tváří.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,742 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 165 místo. Karolina, GPU partition klesla na 195. místo a Karolina, CPU partition na 421. místo. Další přehledy a statistiky na stránkách projektu.
Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.
Byla vydána nová verze 14.3 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
CSIRT.CZ upozorňuje, že na základě rozhodnutí federálního soudu ve Spojených státech budou veškeré konverzace uživatelů s ChatGPT uchovávány. Včetně těch smazaných.
Ač semestr ve škole právě končí, bastlíři ze studentského klubu Silicon Hill neodpočívají a opět se jako každý měsíc hlásí s pravidelným bastlířským setkáním Virtuální Bastlírna, kde si můžete s ostatními techniky popovídat jako u piva o novinkách, o elektronice, softwaru, vědě, technice obecně, ale také o bizarních tématech, která se za poslední měsíc na internetu vyskytla.
Z novinek za zmínku stojí Maker Faire, kde Pájeníčko předvedlo … více »Na WWDC25 byl představen balíček Containerization a nástroj container pro spouštění linuxových kontejnerů na macOS. Jedná se o open source software pod licencí Apache 2.0 napsaný v programovacím jazyce Swift.
Do 16. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2025 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
Apple na své vývojářské konferenci WWDC25 (Worldwide Developers Conference, keynote) představil řadu novinek: designový materiál Liquid Glass, iOS 26, iPadOS 26, macOS Tahoe 26, watchOS 26, visionOS 26, tvOS 26, nové funkce Apple Intelligence, …
Organizátoři konference LinuxDays 2025, jež proběhne o víkendu 4. a 5. října 2025 v Praze na FIT ČVUT, spustili přihlašování přednášek (do 31. srpna) a sběr námětů na zlepšení.
Pokud budete někdy chtít použít toto API, budete pravděpodobně, jako já, unešeni tím, jak je to jednoduché. Nicméně, jako vždy, není vše takové, jak se může zdát na první pohled. Dejte si ale pozor a čtěte pozorně dokumentaci!
První věc, se kterou se setkáte je, že místo vydavatele dostanete nějakou hloupost, nebo vůbec nic. “Tak Google nemá všechny informace”, řeknete si. Ale pokud se podíváte do webového rozhraní této služby, tak je tam vše v naprostém pořádku.
Příklad č.1:
http://books.google.com/books?id=TMkYAAAACAAJ
Vydavatel: Computer Press
https://www.googleapis.com/books/v1/volumes?q=isbn:9788025100233
Vydavatel není vyplněn.
Příklad č.2:
http://books.google.com/books?id=MWllLAAACAAJ
Vydavatel: Atom
https://www.googleapis.com/books/v1/volumes?q=isbn:9781905654284
Vydavatel: Gardners Books
Příklad č.3:
http://books.google.com/books?id=xZpJAAAACAAJ
Vydavatel: Computer Press
https://www.googleapis.com/books/v1/volumes?q=isbn:9788072268528
Vydavatel: Dobré knihy cz
Na tento bug (nebo feature?) je poměrně jednoduché řešení. Ve webovém rozhraní služby si můžete, pokud sescrollujete dolů, všimnout fráze “Export Citation” a tří tlačítek. Můžete si tak stáhnout bibliografické informace o zobrazené knize ve třech formátech. Skvělá věc na tom je ta, že v těchto souborech už je vydavatel uveden správně.
Když získáváte info o knize pomocí GB API, dostanete také ve vráceném JSON poli (je to správná terminologie?) id knihy. A výše zmíněné soubory lze získat právě, pokud znáte toto id.
Konkrétně to můžeme napsat v PHP třeba takto:
$bookId = 'xZpJAAAACAAJ'; // do této proměnné doplníme ID získané z JSON dat získaných požadavkem na Google Books API $publisherName ''; $workaroundData = file('http://books.google.com/books/download/?id='.$bookId.'&output=enw'); foreach ($workaroundData as $line) { if (substr($line, 0, 3) == '%I ') { $publisherName = trim(substr($line, 3)); break; } }
Po položení dotazu dostaneme JSON pole, které obsahuje mimo jiné položku "selfLink", ve které je URL API dotazu na konkrétní svazek (volume).
Pokud použijeme API dotaz pro získání konkrétního svazku, narozdíl od vyhledávacího dotazu dostaneme vydavatele již zcela správně.
Poněkud horší je už tato věc. Po nahrání aplikace na server jsem zjistil, že mi google hází chybu 503. Po chvíli zkoumání jsem přišel na to, že při GB API požadavku si google zjistí pomocí nějakého Geo IP nástroje odkud jste (poté k tomu poskytuje nějaké relevantní data související se zemí, odkud pocházíte). Což není nic zajímavého – tedy v případě, když Vás Google dokáže zařadit. Můžete se také dozvědět toto:
{ "error": { "errors": [ { "domain": "global", "reason": "unknownLocation", "message": "Cannot determine user location." } ], "code": 503, "message": "Cannot determine user location." } }
Jako první mne napadlo, že bude vina na straně poskytovatele.
Nicméně jako odpověď na můj dotaz jsem dostal následující:
“... my bohužel netušíme, jak Google tyto informace zjišťuje. My máme tyto informace korektně zaevidované v databázi RIPE. Víc pro to udělat nemůžeme.”
Zkoušel jsem IP serveru (46.28.108.131) prohnat různými webovými nástroji s různými výsledky – někde našli a někde zase nenašli ... Google asi tedy používá nástroj, který spadá do druhé, jmenované skupiny.
A s tímto problémem si už rady nevím. Teoreticky je možno vytvořit nějakou proxy, ale něco prakticky použitelného mne opravdu nenapadá. Šance, že Google s tím něco udělá (napsal jsem jim tam) je dle mého názoru mizivá.
Napadá nějaké řešení Vás?
Řešení tohoto "problému" lze nalézt na webu dokumentace Google Books API. Prakticky se jedná pouze o nastavení hlavičky X-Forwarded-For.
Děkuji uživateli chrono, že mne navnadil, abych prošel znovu dokumentaci a našel tam řešení problému č.2 a nahodil elegantnější řešení problému č.1
Tiskni
Sdílej: