Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Vyšlo Pharo 5.0 (otevřená implementace Smalltalku). Díky vylepšené správě paměti je o 35% rychlejší, používá nový debugger, usnadňuje propojení s externími nativními knihovnami a přináší další tisíce menších změn a oprav.
Tiskni
Sdílej:
Stačilo sa držať pravidla, že všetko do niečoho patrí a mali by sme vyriešenú správu pamäti.Na tom je založen Rust. Tomu já fandím (to je o mě koneckonců známo
Pharo som skúšal a nieje to tak simple ako propagujú, teda napr. Gambas je dosť v objektoch priamočiarejší, ale zas tá syntax Visual Basicu mi vadí. No ale naimplementovať do toho Python, alebo C++ syntax, tak to by bolo niečo.Tohle nemá s Visual Basicem vůbec nic společného. Nad tím jak by to mohlo vypadat s pythonem jsem uvažoval, dokonce docela dost. Problém je, že python prostě totálně není na něco podobného připravený a celý interpret bys musel kompletně přepsat jen abys získal .. parodii na Smalltalk. Smalltalk je ve skutečnosti dost pokročilý. Sice má triviální syntaxi (podobně jako v lispu je jí fakt minimum), ale co do funkcionality je propracovaný. Jinak gratuluju k prvnímu odrazu :) Já se takhle odrazil asi 5x, než jsem konečně uznal, že je to co k čemu.
Smalltalk je ve skutečnosti dost pokročilý. Sice má triviální syntaxi (podobně jako v lispu je jí fakt minimum), ale co do funkcionality je propracovaný.Nedávno mi konečně došlo, co mi na lispu tak vadí - je to přesně tahle vlastnost (když pominu nadutost některých proponentů). Na začátku je pěkný návrh - jednoduchý, elegantní a konzistentní systém s pěknými vlastnostmi (alespoň z pohledu CS), nicméně jak směrem 'dolů' (tj. k implementaci) tak 'nahoru' (tj. k programátorovi) z něj plyne o to vyšší komplexita. Dole jsou potřeba velmi složité imeplementace, aby vůbec umožnily jakés-takés fungování onoho elegantního systému. Nahoře zase vzniká nad jednoduchým základem složitý a nepřehledný ekosystém, takže pro praktické programování zdaleka nestačí pouze pochopit onen prvotní návrh. Když pak někdo poukáže na to, že implementace mají specializovanou podporu pro různé datové typy a jazykové konstrukty, proponenti čistého designu ho odbydou s tím, že to je pouze optimalizace nějaké konkrétní implementace a na eleganci designu to nic nemění, ten by byl platný i bez nich. (Což je sice pravda, ale byl by také nepoužitelný v praxi). Čili ten jednoduchý, elegantní a konzistentní návrh je v podstatě naprostá iluze.
Dole jsou potřeba velmi složité imeplementace, aby vůbec umožnily jakés-takés fungování onoho elegantního systému. Nahoře zase vzniká nad jednoduchým základem složitý a nepřehledný ekosystém, takže pro praktické programování zdaleka nestačí pouze pochopit onen prvotní návrh.Implementace lispu je naopak velmi jednoduchá (~1000 řádek kódu). Je ale fakt, že jen ta implementace samotná ti většinou nestačí a musíš věnovat podstatnou část naučení se ekosystému lispového kódu, který je nad tím. Ale to platí i v pythonu, který by byl bez standardní knihovny podstatně slabší.
Implementace lispu je naopak velmi jednoduchá (~1000 řádek kódu).Měl jsem pochopitelně na mysli reálně použitelné implementace. Dovolím si odhadovat, výkonnostní parametry 1000-řádkové implementace budou stát za houby. Nejpopulárnější dialekty - tzn. aktuálně afaik Clojure a CL - tak úplně jednoduché implementace nemají.
Dalším jsou verzovací systémy (StX má Mercurial, někde měl náznak i git(uú). Pharo snad možná bude mít git. Jinak je tam Monticello a je pro vývoj ve více lidech nepoužitelné (stačí se podívat na merge kódu.)Pharo už afaik má podporu gitu nějakou dobu.
Jinak jsem také velký přívrženec Rust(u) i když jím zatím nevládnu a doufám, že by právě nějaké VM mohla být napsaná v něm. Bylo by to o dost lepší než dnešní jiné možnosti.Proč by to mělo být lepší než smalltalk VM psaný ve smalltalku?
Proč by to mělo být lepší než smalltalk VM psaný ve smalltalku?Otazka se da polozit i obracene - proc by VM napsana ve Smalltalku mela byt lepsi nez ta napsana v Rustu? A co vubec znamena lapsi? Navic, Squeak VM (tedy VM na ktere bezi i Pharo a Cuis) neni psana ve smalltalku, ale ve slangu, coz je limitovana podovmnozina smalltalku. Neco jako Python a RPython, pokud znate PyPy.
Otazka se da polozit i obracene - proc by VM napsana ve Smalltalku mela byt lepsi nez ta napsana v Rustu? A co vubec znamena lapsi?Protože nepotřebuješ separátní jazyk se separátníma závislostma, komunitou a ekosystémem, který navíc za pár let může být úplně mrtvý. Já teď čtu historický archiv Self konference za posledních 25 let, tak mi to tak nějak změnilo pohled na moderní trendy.
Navic, Squeak VM (tedy VM na ktere bezi i Pharo a Cuis) neni psana ve smalltalku, ale ve slangu, coz je limitovana podovmnozina smalltalku. Neco jako Python a RPython, pokud znate PyPy.Znám.
Právě protože je takový problém psát multithreadové VM, protože je to náročné ty chyby dohledat, chce to jazyk který bude hlídat co nejvíce věcí ohledně možných chyb a zůstane relativně rychlý např. jestli se nezapisuje do paměti, která není jeho atp. To jestli to bude za pár let mrtvé nedokáže předpovědět nikdo, ale ta potřeba kvůli které vznikl Rust (podle tvůrců zoufalí programátoři C++\C), tedy něco co bude relativně rychlé a bude už z návrhu předcházet chybám tu byla a podle mého jen poroste jak složitost systémů bude narůstat. (s nárůstem složitosti bude i složitější chyby dohledat).Otazka se da polozit i obracene - proc by VM napsana ve Smalltalku mela byt lepsi nez ta napsana v Rustu? A co vubec znamena lapsi?Protože nepotřebuješ separátní jazyk se separátníma závislostma, komunitou a ekosystémem, který navíc za pár let může být úplně mrtvý. Já teď čtu historický archiv Self konference za posledních 25 let, tak mi to tak nějak změnilo pohled na moderní trendy.
Právě protože je takový problém psát multithreadové VM, protože je to náročné ty chyby dohledat, chce to jazyk který bude hlídat co nejvíce věcí ohledně možných chyb a zůstane relativně rychlý např. jestli se nezapisuje do paměti, která není jeho atp.S tím souhlasím, ale myslím si, že se to pořád dá psát ve Smalltalku (resp. slangu / whatever).
potřeba kvůli které vznikl Rust (podle tvůrců zoufalí programátoři C++\C), tedy něco co bude relativně rychlé a bude už z návrhu předcházet chybám tu byla a podle mého jen poroste jak složitost systémů bude narůstat. (s nárůstem složitosti bude i složitější chyby dohledat).Potřeba určitě, ale o tohle místo teď soutěží hned několik jazyků a celkem jisté je, že jak už to tak historicky bývá, „vítězem“ bude jeden. Že to bude zrovna Rust se mi nezdá samozřejmé.
Potřeba určitě, ale o tohle místo teď soutěží hned několik jazyků a celkem jisté je, že jak už to tak historicky bývá, „vítězem“ bude jeden. Že to bude zrovna Rust se mi nezdá samozřejmé.Souhlasím, zajímalo by mě ale, jaké jsou ty alternativy s nějakou třeba podobně pěknou podporou pro bezpečný přístup ke sdíleným prostředkům...
Go má výhodu, že tu vlastně bylo dříve a Rust není ještě usídlen.Go má hlavní výhodu v tom, že za ním stojí Google a taky ho protlačuje. Oproti tomu Mozilla je v poslední době skoro zárukou toho, že se z toho časem vyklube fail (nic proti jazyku jako takovému).
To bude hodně záležet na komunitě jejímu přístupu.To je pravda. Komunita lidí s potřebou se mi právě teď zdá rozštěpená a teprve budoucnost ukáže, kam se převáží vážky většiny. Protože v konečném důsledku je to právě komunita, která zajišťuje, že jazyk je co k čemu.
D naopak získává čím dál větší „trakci“. Já nechci vypadat že to nějak tlačím, protože jsem na to asi 4 roky nesáhl a prostě vůbec nemám potřebu to nějak shillovat, jen co vidím v /r/programming, tak není týden, aby o tom nebyl článek / zprávička. Vůbec se to nedá srovnávat s tou situací před pár lety, kdy to byl zapadlý projekt s komunitou o velikosti pár set lidí. Osobně mám momentálně snahu o přesný opak, než o systémové jazyky. Tak nějak čím víc o tom vím, tím míň s tím chci mít společného. Přijde mi žádoucí vypadnout z vertikálního pekla[1] prehistorických hoven postavených na hovnech do nějakého pokročilého VM a dál fungovat jen z něj, včetně rozšiřování zevnitř, nikoliv z venku. Ale je to dlouhodobý cíl s nejistým výsledkem a možná jsem jen naivní.Dost brutální kniha, jako výběr .). Každopádně mám to podobně, proto jsem si vybral Ruby a nakonec skončil u Smalltalku (který jsem úplně zapomněl a znova ho oprašuji.) "nějakého pokročilého VM" No a tady je to právě ten kámen úrazu. Třeba že Smalltalk měl spousty a spousty času nejpokročilejší VM tam určitě není. Dnešní počítače mají vlastně brutální výkon (naprosto dostačující pro většinu věcí co člověk programuje), ale člověk ho vlastně nemůže využít.
Zajímalo by mě co byste zlepšil na současném IDE např. StX nebo Pharo? (Sám mám nějaký názor, ale tím Vás nechci ovlivňovat.)Tak já jsem v tomhle prakticky taky začátečník, navíc jsem na to teď půl roku zase nesáhl (měl jsem zakázku která mi žrala volný čas a teď vstřebávám Self). Určitě bych chtěl lepší podporu pro git, ale jak už padlo v diskuzi na tom už se pracuje. Jinak se mi v tom dělá docela dobře.
S brzkou podporou nativních vláken se alespoň v brzké době nepočítá. Pharo spíše zbaběle půjde cestou více spolupracujících samostatných procesů se specializovanými image a komunikací mezi nimi.To je opravdu velká škoda. Hlavně vzhledem k tomu jaký měl Smalltalk náskok například před například Java(ou). Chápu, že tvorba VM není jednoduchá práce a je plná kompromisů, ale holt rýpnout se do toho bude muset, pokud Smalltalk chce nějakým způsobem přežít a dostat se na výsluní. Jaký se počítá že bude stát (výkonu) ta komunikace mezi těmi image? (zhruba samozřejmě)
Na vylepšení podpory Gitu teď pracuje jeden full-time vývojář, tak by se to mělo pohnout kupředu.Perfektní to rád slyším.
Vícevláknová VM je jen část problému a možná dokonce ta menší. Vyžadovalo by to ještě masivní úpravy na straně image.Otázkou je pak jestli je image opravdu v současné době tak zapotřebí, aby brzdila vývoj (IMHO, pro vývoj ve více lidech asi zapotřebí tolik nebude) VM. Nápady od boku: Podle mě by pak bylo možno image uložit pouze v nějakém stavu (buď, že není spuštěna aplikace či thready doběhly a jsou v klidu.) nebo místo image použít verzovací systém a vždy podle potřeby překompilovat celý systém jak to jde u StX (Honza Vraný to má udělané moc pěkně kontinuálně se mu kompiluje StX a změny má hned začleněné pokud potřebuje.)
Mělo by se jednat o víc obrazů sdílejících jednu vícevláknovou VM a pak by dokonce mohlo být možné přímo sdílet některé objekty. Obávám se ale, že alespoň pro začátek se bude hodně zapojovat pomalá serializace a proxy objekty, viz např. Seamless [1]. [1] http://smalltalkhub.com/#!/~Pharo/SeamlessHmm to je zajímavý nápad, i když mám trochu obavy pokud bude ten program mít těch vláken hodně, že to bude trochu problém uřídit a ty nároky té jedné vícevláknové VM budou drasticky narůstat.
Otázkou je pak jestli je image opravdu v současné době tak zapotřebí, aby brzdila vývoj (IMHO, pro vývoj ve více lidech asi zapotřebí tolik nebude) VM.On to Pavel myslel jinak - tim "image" myslel smalltalkovy kod. To je skutecne mnohem vetsi problem. Staci se podivat na mnozstvi blockInterrupts / unblocInterrupts t typicke smalltaove knihovne. Nebo projit mailing listy aby kolikrat se nekdo pta jestli muze dojit ke context-switch mezi
a := value1.
b := value2.
Obvykle je odpoved ze ne. Tenhle kod se rozpadne jako domecek z karet. Pokud chces multithreadovou VM, musis mit multithreadovou knihovnu a to zadny soucasny smalltalk nema.
Je potreba ji napsat.
On to Pavel myslel jinak - tim "image" myslel smalltalkovy kod. To je skutecne mnohem vetsi problem. Staci se podivat na mnozstvi blockInterrupts / unblocInterrupts t typicke smalltaove knihovne. Nebo projit mailing listy aby kolikrat se nekdo pta jestli muze dojit ke context-switch mezi
a := value1.
b := value2.
Obvykle je odpoved ze ne. Tenhle kod se rozpadne jako domecek z karet. Pokud chces multithreadovou VM, musis mit multithreadovou knihovnu a to zadny soucasny smalltalk nema.
Je potreba ji napsat.
Aha, tak to je průšvih. To bude/by bylo na dlouho.
Nápady od boku: Podle mě by pak bylo možno image uložit pouze v nějakém stavu (buď, že není spuštěna aplikace či thready doběhly a jsou v klidu.) nebo místo image použít verzovací systém a vždy podle potřeby překompilovat celý systém jak to jde u StX (Honza Vraný to má udělané moc pěkně kontinuálně se mu kompiluje StX a změny má hned začleněné pokud potřebuje.)V příští verzi Phara už prakticky jistě bude fungovat bootstrap, tzn. že se image bude generovat nová ze zdrojových kódů z verzovacího systému, což mimo jiné výrazně usnadní případné výrazné změny v systému. Možnost ukládání image samozřejmě stále zůstane. Také se citelně zlepší modularita.
Konečně! To rád slyším i jsem si všimnul, že Pharo 5.0 doplňuje kód, což také oceňuji. Je paráda, že někdo ze Smalltalkové komunity má rozum a začleňují se věci které dnešní vývojář má za standard.Nápady od boku: Podle mě by pak bylo možno image uložit pouze v nějakém stavu (buď, že není spuštěna aplikace či thready doběhly a jsou v klidu.) nebo místo image použít verzovací systém a vždy podle potřeby překompilovat celý systém jak to jde u StX (Honza Vraný to má udělané moc pěkně kontinuálně se mu kompiluje StX a změny má hned začleněné pokud potřebuje.)V příští verzi Phara už prakticky jistě bude fungovat bootstrap, tzn. že se image bude generovat nová ze zdrojových kódů z verzovacího systému, což mimo jiné výrazně usnadní případné výrazné změny v systému. Možnost ukládání image samozřejmě stále zůstane. Také se citelně zlepší modularita.
i jsem si všimnul, že Pharo 5.0 doplňuje kód, což také oceňujiTo už afaik dělalo i Pharo 4.
Přístup, kdy se k problému přistupuje opravdu nekompromisně obecně a pak se hledají cesty, jak to v praxi realizovat efektivně, se z dlouhodobého hlediska vyplatí.Ještě jsem neviděl případ, kdyby se to skutečně vyplatilo. Reálně použitelné jazyky / platformy budou vždy z ideologického hlediska špatné.