Google Chrome 156 byl prohlášen za stabilní. Přehled novinek v poznámkách k vydání. Opraveno bylo 353 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Indická společnost eMudhra po bezpečnostním incidentu, tj. kompromitaci soukromých klíčů osmi mezilehlých certifikátů své certifikační autority, opouští globální byznys s SSL/TLS certifikáty.
Dle Phoronixu zveřejnila společnost Trend Micro prostřednictvím programu Zero Day Initiative (ZDI) několik hlášení bezpečnostních zranitelností přímo na veřejném mailing listu LKML, přestože některé chyby dosud nemají opravu začleněnou do hlavní větve jádra. Mezi hlášenými problémy jsou dvě zranitelnosti s hodnocením CVSS 9.0, týkající se SMB Direct a KSMBD, které mohou umožnit vzdálené spuštění kódu. Další hlášení se týkají … více »
Správce hesel KeePassXC byl vydán ve verzi 2.8.0. Přechází na Qt 6, podporuje vkládání hesel s Waylandem, rychlé odemykání pomocí Polkitu nebo možnost nastavení klávesových zkratek (seznam změn).
Databáze DuckDB (Wikipedie) byla vydána ve verzi 2.0.0 LTS. S kódovým názvem Cinnamon Teal (čírka skořicová). S vyladěným protokolem Quack.
V implementaci Broadcom 802.11 byla zjištěna chyba ve zpracování WPS/EAP, týká se to SDK od roku 2010. Broadcom podle výzkumníka Quentina Kaisera odmítl CVE přidělit. Modemy Huawei a Technicolor jsou používány i v ČR, v LTE routerech, běžných domácích routerech a firemních přístupových bodech, jejich současný počet a zranitelnost konkrétních verzí však zatím neznáme. Více detailů a demo. GitHub / Broadcom 802.11 SDK Detection Toolkit.
Byla vydána nová verze 10.8 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyl balíček DietPi WireGuard.
Oslavte vydání openSUSE Leap 16.1 s námi v Praze! Ve středu 4. listopadu 2026 (den po vydání Leapu 16.1) vás zveme na malou oslavu vydání openSUSE Leap 16.1 do pražské kanceláře SUSE. Připravili jsme pro vás dvě krátké přednášky: … více »
Dle plánu bylo PHP vydáno v nových verzích 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Opraveny jsou kritické zranitelnosti CVE-2026-109618 a CVE-2026-109619 aneb PHP2Shell.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.1 a 24.04-1.5. S opravou kritických zranitelností.
V září Sun uvolnil pod BSD-like licencí již téměř zapomenutý a prakticky neudržovaný projekt Strongtalk, o čemž se objevila zmínka i zde na Abíčku. Tento krok byl přívítán velice kladně a vyvolal spoustu očekávání, protože Strongtalk si vybudoval pověst nejrychlejší existující implementace Smalltalku.
Jeho VM je napsaná v C++ a vzhledem k tomu, že tento projekt má na svých bedrech už jeden křížek, nebylo jej možné hned zpočátku přeložit v současných nástrojích a vyžadoval velice starou verzi Visual C++ a assembleru od Borlandu. Tušíte správně, jedná se o program pro Windows.
Naštěstí se v tomto ohledu od jeho uvolnění situace značně zlepšila. Sice si jej pod Linuxem můžeme pustit zatím jen pod Wine, ale alespoň již jde přeložit pod nejnovějším volně dostupným VisualStudiem Express a přeložit by měl jít i pod MinGW. GUI Strongtalku je vytvořeno pomocí přímých volání API přes dynamické knihovny Windows, ale se i tak snad dočkáme nativního portu.
Na Strongtalk jsem se podíval poměrně důkladně a rád bych se zde podělil o svoje dojmy z toho zajímavého Smalltalku. Ač jeho praktické využití je zatím spíše utopie, má celou řadu zajímavých vlastností, které rozhodně stojí za zmínku
Jak už samotný název napovídá, Strongtalk je Smalltalk se silnou statickou typovou kontrolou. Myšlenka zavést statickou typovou kontrolu do Smalltalku je hodně kacířská, ale kupodivu celkem funkční a prakticky použitelná. Strongtalk kvůli tomu musel zavést několik rozšíření jazyka, ovšem udělal to velice citlivě. Důležité je, že tato typvá kontrola je volitelná. To znamená, že ve Strongtalku je možné psát naprosto běžný Smalltalkovský kód bez deklarování typů proměnných, argumentů a návratových hodnot. Navíc tento kód není o nic pomalejší než typovaný. Programátor tak může velice rychle vytvořit dynamicky typovaný prototyp aplikace, u níž případně později doladí informace o typech a opraví související chyby.
Kromě rozšíření, která přímo souvisí s typovou kontrolou (protokoly apod.), Strongtalk narozdíl od Smalltalku-80 podporuje tzv. mixins. Strongtalk většinou vytváří třídy slepování mixinů dohromady. Celý jeho přístup k práci s třídami se dost liší a například nepodporuje instanční proměnné metatříd, které je nutno nahrazovat globálními proměnnými. Díky tomu je i jeho standardní hierarchie tříd dost odlišná od běžné Smalltalkovské a je díky mixinům kvalitnější.
Dost zásadní rozdíl oproti klasickým Smalltalkům je v práci s image. Strongtalk totiž ukládá pouze deklarativní informace o programu, tedy program samotný. Oproti běžným Smalltalkům neukládá do image jiné existující objekty. Strongtalk má díky tomu opravdový vstupní bod do programu, nemá inicializační seznamy tříd a samotné ukládání a nahrávání image si řeší převážně na úrovni image samotné.
Tento přístup je poměrně kontroverzní a rozhodně zde nebudu soudit, jestli se jedná o vylepšení či degeneraci Smalltalku. Má totiž svá negativa i pozitiva, která se projeví až při práci na konkrétním projektu. Obecně lze říci, že je bližší mainstreamovému chápání programů a tak asi může leckomu vyhovovat více.
Oproti výše uvedeným rozdílům oproti Smalltalku-80, která lze většinou chápat spíše pozitivně, má současný Strongtalk některá nepříjemná omezení. Na nich je vidět, že Strongtalk se od chvíle, kdy se od něj Sun macešsky odvrátil ve prospěch Javy, příliš nevyvíjel a ujel mu vlak.
Strongtalk používá zastaralý způsob inicializace instancí, které se konstruktorem new automaticky neinicializují a překonvertovat image mi dalo hodně práce.
Zásadní omezení se týká práce s aktivním kontextem a zásobníkem, k nimž nemá Strongtalk přímý přístup. Strongtalk používá nativní vlákna a k informacím zásobníku se lze dostat jen v okamžiku suspendování vlákna. V zásobníku se nelze pohybovat a informace, které se dají o jednotlivých úrovních zanoření získat, jsou značně limitované. Díky tomu je prakticky nemožné vytvořit kvalitní debugger.
Problém, který s tím úzce souvisí, jsou výjimky. Strongtalk běžné výjimky bouhužel nepodporuje. Jediná možnost, kterou má, je vyvolání nelokálního návratu, který vede k ukončení postiženého vlákna. Při tom má jedinou možnost vykonání opravného kódu a to pomocí zprávy ensure:, která však nemá možnost lokální návrat zastavit.
Pomocí speciálního procesu, který umožní získat informace o zásobníku a drobné opravy virtuálního stroje se mi sice podařilo výjimky částečně implementovat, ale k dokonalosti to má ještě hodně daleko.
Díky velice omezené práci se zásobníkem je také v současnosti nemožné portovat do Strongtalku Seaside. Tuto podstatnou část interpretu je nutné celou přepsat a celkově ji vytvořit méně optimalizovanou (nejdůležitější operace jsou napsány přímo v assembleru), což se ale jistě negativně projeví na jeho rychlosti.
Ne zcela dopracovaná je také například práce s velkými čísly, kde některé základní operace nejsou zatím implementovány (bez nich například nebylo možné ukládat image s metodami, které obsahovaly velká čísla, protože k nim selhávalo vytvoření hashe).
Nyní také není možné provést rekompilaci celé image a celkově není Strongtalk zatím příliš stabilní.
Vývojové prostředí nezastírá svojí inspiraci v jiném Sunovském projektu - Selfu. Místo smalltalkovských browserů se tak zde pracuje s outlinery. Těm sice celá řada důležitých operací s kódem chybí, ale i tak práce s nimi je celkem pohodlná.
Strongtalk nahrazuje absenci plnohodnotné image pomocí uživatelské stránky projektu, do které si člověk může snadno vložit vlastní kód, odkazy na outlinery apod.
Strongtalk je velice zajímavý projekt. Vážně pochybuji, že by se do konce roku podařilo někomu získat prémii Dana Ingallse na portování Squeaku na Strongtalkovskou VM, ale i tak by se časem mohla ze Strongtalku vyklubat zajímavá platforma - pokud jej ovšem Sun uvolněním Javy pod GPL nepohřbí podruhé.
Strongtalk lze chápat jako pokus o hodně prakticky orientovaný Smalltalk, který úspěšně potlačuje některé vlastnosti Smalltalku, které mnozí vývojáři chápou spíše negativně, a mohl se tak pro tyto vývojáře postavit jako vice než plnohodnotná alternativa Javy. Každopádně především vývojáři zajímající se o dynamickou kompilaci a virtuální stroje by mu měli věnovat nemalou pozornost.
Tiskni
Sdílej:
.
(Sice tam teď byla jedna přednáška Javy věnovaná Smalltalku, ale ten den jsem nemohl a bohužel nikoho nenapadlo takovou věc nahrávat...)