Společnost Meta na dvoudenní konferenci Meta Connect 2026 představuje své novinky. Vypíchnout lze lehké brýle s funkci VR Meta VR Glasses. Do prodeje půjdou na jaře 2027 za cenu 1299,99 dolarů.
Google Chrome 154 byl prohlášen za stabilní. Nejnovější stabilní verze 154.0.8037.57 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 108 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Vláda sníží v příštím roce výdaje na IT služby státu o 1,4 miliardy korun. Úspory má umožnit lepší koordinace nákupu služeb napříč resorty prostřednictvím nového zmocněnce. Celkové roční výdaje státu na informační technologie a digitalizaci se podle údajů ministerstva průmyslu a obchodu pohybují okolo 20 až 25 miliard korun ročně, pro letošek bylo na 320 projektů vyčleněno 21 miliard.
Irská komise pro ochranu dat (DPC) uložila americké technologické společnosti Google ze skupiny Alphabet pokutu 403 milionů eur (9,8 miliardy Kč) za neoprávněné nakládání s údaji o poloze uživatelů. Firma podle komise porušila evropské nařízení o ochraně osobních údajů (GDPR). DPC uvedla, že při šetření zjistila, že si lidé nemuseli být vědomi skutečnosti, že jejich poloha byla využívána například k ovlivňování prostřednictvím reklam nebo k odvozování jejich zájmů, a mohli tak ztratit kontrolu nad svými osobními údaji.
Byla oznámena beta verze nového video kodeku Pyrowave pro streamování her v Steam Remote Play. S vysokou propustností a nízkou latencí. S podporou HDR a YUV 4:4:4.
Byl vydán Sublime Text 4 Build 4213. Sublime Text (Wikipedie) je proprietární multiplatformní editor textových souborů a zdrojových kódů. Ke stažení a k vyzkoušení je zdarma. Pro další používání je nutná licence v ceně 99 dolarů. Spolu se Sublime Merge je cena 168 dolarů.
Firma Anthropic, tvůrce AI modelu Claude, začala v oblasti Sanfranciského zálivu v tichosti provozovat vlastní biotechnologickou laboratoř. Anthropic prý chce pomocí AI urychlit hledání léků na nemoci, jimž farmaceutický průmysl dle názoru firmy věnuje příliš málo pozornosti. Firma tvrdí, že laboratoř se zatím soustředí především na základní biologii, nikoli přímo na vývoj léčiv. Farmaceutický výzkum je pro generálního ředitele Daria Amodeie velice osobní téma, jeho otec zemřel na hepatitidu C několik málo let před objevením účinné léčby.
Vědci z Googlu dokončili mapu všech neuronových spojení v mozku (tzv. konektom) samečka mušky octomilky obecné (drosophila melanogaster), hlavním cílem je komparativní analýza s již zmapovaným mozkem samičky. S tímto veřejně dostupným modelem, čítajícím přibližně 160 000 neuronů, se začali bavit nadšenci. Mozek mouchy pohání experimentálního kryptoburzovního bota Stonkfly, případně si zahrál počítačové hry Beat Saber, Mario64 a samozřejmě DOOM (gameplay videa). Ani mozek samičky nezůstal stranou, vyzkoušel si Minecraft.
Alibaba Cloud je dalším sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let. Stejná částka jako u DigitalOcean.
Byla vydána nová verze 262 správce systému a služeb systemd (Wikipedie, GitHub).
Odkazy
Už je to okrúhlych 10 rokov od kedy python má podporu asynchrónneho programovania. Tento článok z alternatívneho vesmíru nám ukáže ako mohol vyzerať python ak by sa vydal trocha inou cestou.
Už okolo roku 2010 začalo byť jasné, že budúcnosť webových aplikácií patrí dlho bežiacim socketom. Tradičné formy konkurentného behu ako procesy a vlákna boli pre tento účel príliš ťažké a tak sa oprášil starý koncept kooperatívneho multitaskingu používaný v operačných systémoch v minulom tisícročí.
Do úvahy sa brali rôzne alternatívy ako napríklad zavedenie kľúčových slov async a await, čo je inak povedané farbenie funkcií. V praxi by to znamenalo, že každá knižnica, každý kód, ktorý by mal podporovať súčasné blokujúce API a zároveň asynchrónne API by musel implementovať oba. Znamenalo by to duplikáciu kódu skoro celého python ekosystému a to nikto nechcel.
Väčšina sync / async funkcií sa v praxi líši len farbou a jedným volaním. Ak by sa python vydal touto cestou, určite by vznikli rôzne automatizované nástroje ako tento vtip menom unasync.
Určite by veľké frameworky ako Django mali problémy, ktoré by sa preberali v dlhých diskusiách.
Existovali by problémy s async property, pretože by nebolo možné sprístupniť ORM related model ako book.author ktorý by bol synchrónny alebo asynchrónny keď to, či pristupuje k databáze závisí od toho, či bol dotaz volaný so select_related (žiaden prístup), prefetch_related (prístup pri prvom objekte v iterácii), alebo prístup v každom objekte. Jednoducho s async / await by to bol veľký chaos, ktorý by roky trápil a rozdeľoval komunitu.
Každá blokujúca I/O operácia implementovaná v pythone má svoju sync a async variantu. Tá sa volí podľa kontextu, v ktorom je spustená.
Aby program bežal kooperatívne postačuje, aby kooperatívna časť bola spustená ako CooperativeThread. API zostáva kompatibilné so systémovými vláknami, ale spracovanie udalostí CooperativeThread sa uskutočňuje buď v implicitnom event-loope, alebo vo vlastnom loope explicitne poslanom konštruktoru CooperativeThread.
Toto jednoduché rozšírenie pythonu prinieslo kooperatívny multitasking aj do starého kódu bez akejkoľvek nutnosti upraviť kód. Knižnice sa stali automaticky kooperatívnymi v momente keď sa spustili v správnom kontexte. Netreba nič prepisovať, len doplniť malú časť do pythonu. Všetko ostatné je zadarmo.
Ak sa pýtate, či je to v súlade s python Zen tak nie:
Explicit is better than implicit.
Niekedy si radšej zababrem ruky za lepšie riešenie než by som sa striktne držal pravidiel.
Tiskni
Sdílej:
Myšlienka je nehanebne vykradnutá z Java virtual threads. Nerád to priznávam, ale Java predsalen niečo urobila dobre. Alebo som už starý a väčšina mozgových buniek mi už odumrela a preto tajne obdivujem Javu. Videl som snahu o await anywhere, čo by problém do istej miery riešilo - cpython-await-anywhere. No a nakoniec existuje ešte celá veľká diskusia o virtual threads.
Tie farby sú hlavne v Djagngo problém a nadávam na to od rána do večera. Transakcie s tým nefungujú. Všetky async db funkcie sú implementované tak, že sa spúšťajú synchrónne v jednom vlákne s neskutočnou réžiou jedného async volania okolo 1ms. Nie je to rýchlejšie ani o chlp a všetko okolo je proste nepodarený vtip. Stackless, twisted aj gevent poznám. Geventu som tak trocha držal palce, že nektoré myšlienky by mohli byť zapracované (ale nie ako monkey patch).
Tie farby sú hlavne v Djagngo problém a nadávam na to od rána do večera. Transakcie s tým nefungujú. Všetky async db funkcie sú implementované tak, že sa spúšťajú synchrónne v jednom vlákne s neskutočnou réžiou jedného async volania okolo 1ms. Nie je to rýchlejšie ani o chlp a všetko okolo je proste nepodarený vtip.Jo, já vím. Taky mám jeden sync kód kde tohle musím volat pro každý uživatelský požadavek (flask) na grpc service, protože ten tým co píše tu service zveřejňuje jen async balík a je to fakt oser. U nás jedem všechno sync + mutltithreading / multiprocessing, tak nějak to dělá můj život snažším, i když to má pár nevýhod. Co mě zaráží je kolik lídí v mém okolí často přijde s tím že "pojďme to přepsat na async, bude to lepší" a pak nejsou schopni odpovědět jak. Lehce unrelated; nedávno někdo posílal https://github.com/Dicklesworthstone/asupersync, to vypadá docela cool. Ještě mnohem víc unrelated a cool: Tohle doporučuji Computer System Organization: The B5700/B6700 Series, je to docela krátké a překvapivě relevantní i dneska. Čuměl jsem jak moc z toho používáme a byl překvapen jak moc ne, hlavně co se týče paralelizace a synchronizace procesů.
Dik za linky, pozriem si.
Nemám kolegov, s ktorými by som preberal takéto technické veci, ale keď vidím v internetových diskusiách ako všetci nadšene tlieskajú nápadom prepíšme to všetko do async tak len krútim hlavou. Ľudia nechápu tomu, čo je kooperatívny multitasking a ako málo sa z toho dá vyťažiť ak práve nerobia náhodou multi user chat s tisícmi aktívnych websocket spojení, lenže to je niečo dosť špecifické.
V dobe AI aj súhlasím, že Java je dobrá. V dobe pred AI som silne preferoval jazyky, ktoré umožňujú jednoducho špinavým spôsobom implementovať veľa na málo riadkoch kódu. Ľahšie sa to píše a hlavne ľahšie sa to číta. Návrhové vzory? Meh. Singleton? Meh, bac niečo do modulu. Ochrana? Meh. Sme dospelí. Až sa budem hrať so zápalkami viem čo sa stane. Teraz väčšina ľudí mávne rukou nad riadkami. Keď niekedy prepisujem 50-riadkový AI python kód na 20 riadkový pripadám si ako dinosaurus. Na rozdiel od samotného jazyka Java mám Java VM veľmi rád a myslím, že je celkom lightweight. Taktiež memory overhead nie je tak hrozný keď si človek uvedomí, že typické C po mallocu a free fragmentuje.
Dať to agentovi to neviem, lebo neviem, čo je cieľ. Chcem čitateľný krátky nie overengineered kód, ale agent nerozumie. Agent spraví. Ja nerozumiem. Agent ukecaný. Ja nie. Ja priamy. Hack hack done.
Cieľ je aby to vedel zmeniť / opraviť / prečítať človek. Vidím zložitý algoritmus a myslím, že nemusí byť zložitý. Prepíšem ho. Okrem toho väčšinou píšem v pythone takže málo balastu a väčšinou mi ručný zásah zaberie menej času než vysvetľovať čo presne chcem.
s/Java/Python/gTakhle se právě programuje v Pythonu – výkonný kód je v nativních knihovnách, často nepřenositelný a křehký. A kód v Pythonu je jen vrstva lepidla nad tím. V Javě je naopak běžné implementovat knihovny v čisté Javě. Nativní se používají jen pro takové věci jako OpenGL nebo interakci s hardwarem. Ale i třeba kryptografii nebo síťové protokoly a de/kodéry formátů máš čistě v Javě (tzn. přehlednější a mj. bezpečnější než třeba nativní céčko).
Dělá se mi mdlo při představě v tom něco kódovat. Aplikace, která dotahuje jako závislost JRE je pro mě red flag.
Ten patla matla Žako není žádný linuxák. Jenom pták.
select.poll() rulez - stara skola - ziadne farby ani nic, proste to funguje. mam rad jednoduchy jednosluckovy kod nez sa hrabat v asynchronne beziacich funkciach, casto sa v tom clovek dokaze stratit ,-)
epoll() linux, alebo kqueue() bsd - dalsie triestenie ktore snad nikdy nepochopim. + select.select() - na tak zasadnej veci sa sa nedokazali dohodnut, kazdy kopiruje ale tuto dolezitu vec linux skopirovat nevedel. a najhorsie je to, ze tuto zakladnu vec vobec nereimplementovali priamo do klasickeho poll() ale musim riesit platformu na ktorej kompilujem alebo pouzivat kniznice ako selectors
select.poll má lineární složitost, takže už je desítky let lepší se mu vyhnout (např. použít epoll). Neschopnost místních "programátorů" mě nepřestává udivovat
select.poll() rulez - stara skola - ziadne farby ani nic, proste to funguje. mam rad jednoduchy jednosluckovy kod nez sa hrabat v asynchronne beziacich funkciach, casto sa v tom clovek dokaze stratit ,-)
Ale beze srandy, chápu, že už to pro tebe neni, tak prosím nenavrhuj jak se to má dělat teď, jo?
A taky ses tu svého času kasal, jak vyděláváš na WordPressu
Toto jednoduché rozšírenie pythonu prinieslo kooperatívny multitasking aj do starého kódu bez akejkoľvek nutnosti upraviť kód.Tohle mi přijde jako extrémně optimistické tvrzení. IMHO tenhle přístup obecně povede jen ke zvýšení latencí a bude potřeba celý kód přepsat. Pokud jseš ty, kdo rozhoduje o kontext switchi, tak prostě musíš zajistit, že nesedíš na CPU moc dlouho, jinak brzdíš ostatní. V synchronním kódu to za tebe řeší někdo jiný, ale v async kódu je to na tobě. Proto i když je to otravný, tak dává smysl funkce barvit, protože sémantika je jiná.
Tvrdenie nie je optimistické a reálny rozdiel nemusí byť merateľný. Kontrola na úrovni volania nemusí existovať. V momente keď posielam funkciu CooperativeThread môže python urobiť runtime špecializáciu funkcie (1 volania za celý beh programu), ktorý ju špecializuje na stackless / async so sémantikou kódu bez farbenia.
Ja som tu nebol ten, kto písal o latencii a výkone. Plne chápem, že async je pre mňa dobrý ak musím držať tisíce otvorených spojení a nemá to nič spoločné s výkonom. Toto mi vážne netreba vysvetľovať. Teraz píšem aplikáciu v async frameworku (FastAPI) a mám chuť niekoho nakopať za ten návrh. Všetko musím farbiť aj keď nikde reálne nedržím spojenia. Pretože niekto rozhodol, že async je lepší. Java s virtual threads to dokázala implementovať a čuduj sa svete nie nie je to 100x pomalšie než 1 sériové vlákno. Ak sa bavíme o výkone tak sa musíme baviť o implementácii, lebo výkon závisí od implementácie. Ak to bude implementované dobre, nebude to 100x pomalšie než 1 sériové vlákno. Rozdiel bude odhadom v jednotkách % oproti natívnom async.
Ešte raz beh programu stačí prerušovať na miestach volania IO a to sa dá automaticky. Tak to robí java (samozrejme okrem iných) a evidentne to funguje ak sa IO nemieša s dlho bežiacim spracovaním.