Byla vydána nová verze 2.54.0 distribuovaného systému správy verzí Git. Přispělo 137 vývojářů, z toho 66 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 13.0. Přehled novinek v aktualizované dokumentaci a na YouTube. Stalo se tak na konferenci GrafanaCON 2026.
Na YouTube proběhl Framework [ Next Gen ] Event 2026. Společnost Framework představila nový Framework Laptop 13 Pro, vylepšení Framework Laptopu 16 a OCuLink Dev Kit pro připojení vysoce výkonných periferií jako jsou eGPU a bezdrátovou klávesnici s integrovaným touchpadem Framework Wireless Touchpad Keyboard.
Byl vydán Mozilla Firefox 150.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 150 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byl představen (reddit, 𝕏) webový prohlížeč Brave Origin. Jedná se webový prohlížeč Brave bez VPN, krypto peněženky a odměn, tj. bez funkcí, ze kterých je vývoj Brave financován. Stojí jednorázově 59,99 dolarů. Verze pro Linux je zdarma.
Tim Cook po 15 letech opustí post generálního ředitele americké technologické společnosti Apple. Od 1. září ho vystřídá John Ternus, který byl dosud odpovědný za hardware. Cook se stane předsedou představenstva. Cook vedl Apple od roku 2011, kdy funkci převzal od zesnulého spoluzakladatele společnosti Stevea Jobse.
Evropská aplikace na ověřování věku uživatelů lze hacknout během dvou minut, navzdory tvrzením předsedkyně Evropské komise Uršuly von der Leyenové, že je tato aplikace 'technicky připravená pro ostré nasazení' a 'splňuje nejvyšší standardy ochrany osobních údajů na světě'. Zdrojové kódy aplikace byly Bruselem zveřejněny v repozitářích na GitHubu.
Po 26 letech od protiprávního policejního zásahu, který byl spuštěn na základě podnětu společnosti Microsoft, Obvodní soud pro Prahu 2 rozsudkem potvrdil, že Mironet prokázal významnou část svého nároku na náhradu škody vůči Ministerstvu spravedlnosti ČR. Soudem nyní přiznaná část nároku znamená rekordní odškodné, jaké kdy české soudy přiznaly za nesprávný postup státu. Spor byl rozdělen na několik škod, u pravomocně uzavřených částí
… více »Lehké desktopové prostředí LXQt bylo vydáno ve verzi 2.4.0. Jde o převážně opravné vydání s drobnými vylepšeními podpory Waylandu.
Počítačová hra Kingdom Come: Deliverance 2 českého studia Warhorse získala cenu BAFTA v kategorii nejlepší příběh. V konkurenci pěti dalších nominovaných děl porazila i úspěšnou francouzskou hru Clair Obscur: Expedition 33, která v letošním ročníku získala cenu za nejlepší hru roku.
Po vzoru Leoše Literáka se přiznám ke své v mém případě spíš neznalosti.
Píšu do školy javový program na kreslení animací kinematických křivek. Celé to je postavené na výpočtu jednotlivých bodů a jejich spojování přímkami. Výpočty jsou celkem triviální, kreslení většiny křivek také. Najdou se však křivky, které mají i 15000 bodů. Vykreslení takové křivky trvá docela dlouho (cca 18 ms). Proto jsem se rozhodl optimalizovat.
Optimalizace se zadařila a čas jsem stáhl na třetinu. Přestala však fungovat jiná věc. Při měnění parametrů za běhu se program začal nepříjemně trhat. Dlouhou dobu jsem nemohl zjistit, kde je problém. Celou optimalizaci jsem párkrát předělal, pohrál jsem si se synchronizací a stále nic.
Po nějakém čase mě napadlo porovnat kód se starším, který fungoval v pořádku. Jediný podstatný rozdíl byl ve volání garbage collectoru při každé změně. Přišlo mi to divné, ale zkusit jsem to musel. K mému překvapení se po zakomentování onoho řádky všechno vrátilo do správných kolejí.
Po podrobnějším měření jsem s hrůzou zjistl, že volání System.gc() zažere cca 70 ms. Jindy by to nevadilo, ale když potřebuju překreslovat jednou za 10 ms, tak je to znát.
Je až k nevíře, jak mě objevení téhle prkotiny potěšilo :) ... Chybami se člověk učí :)
Tiskni
Sdílej:
Kdybych měl pokaždý psát blogspot, když se chytim za nos
, ale dobrý ...
Já vim. Jsou věci v životě, co člověka naučí nadhledu a věci, co rozšíří obzory.
System.gc() by se pokud možno nemělo volat nikdy.
OutOfMemoryError. V první fázi jsem to řešil tou nejhorší možnou cestou - volat explicitně System.gc(). Program se zpomalil naprosto brutálně, takže bylo hned jasné, že tudy cesta nevede
BTW ani jsem netušil (a zjistil jsem to až teď), že existuje věda stringologie
BTW ani jsem netušil (a zjistil jsem to až teď), že existuje věda stringologieKdysi jsem kdesi sehnal 220stránkové PDFko celé věnované algoritmům hledání podřetězce v řetězci. Velmi poučné
Ale 70 ms na mém docela silném stroji mi vyrazilo dech.To buďte rád, že ne 10 minut (sic!).
A kdyz zacinate s Javou, tak kazdy si asi projde spojovani retezcu pomoci String += anebo StringBuffer().Spojování pomocí
String += každý relativně snadno zavrhne, až zjistí, že je to O(n^2). Tedy spíše mu bude divné, že je to najednou nějak strašně pomalé. Ale StringBuffer je z jiného soudku, už proto, že StringBuilder je až záležitost verze 1.5, takže leckdo může StringBuffer používat čistě ze zvyku.
+= neefektivní, je známá věc. Ale jak je to s těma ostatníma, hlavně se StringBuilderem, budu muset nastudovat, nebo otestovat (a nebo mi to někdo osvětlíte?) Vnukli jste mi dobrou myšlenku na studium. Díky+=, maximálně StringBuffer.append() stačilo :)
.