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).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
WD Elements Desktop 10TB u zeleného uřvaného chrchla stojí 6500Kč a obsahuje v sobě WD „white“ což je podle lidí, co to zkoumali, z HW i firmware hlediska až na nepodstatnou drobnost identický disk jako WD Red. Co jiného by tam také dali, WD Red je v zásadě nejlowendovější disk který v současnosti WD pro OEM trh vyrábí. WD Green už dlouho není a WD Blue už jen „dojíždí“ v nízkých kapacitách a je nahrazován WD Blue SSD. 10TB WD Red stojí 9000Kč.
V minulém díle jsem rozepsal jak vypadají moje bajtkódy. Jak se k nim ale dostat? Přes moje původní obavy se ukázalo, že neoptimalizující kompilátor je v případě, že existuje abstraktní syntaktický strom krásně jednoduchý.
Lexer rozděluje vstupní text na tokeny, které jsou parserem transformovány na abstraktní syntaktické stromy. Ty by měl vzít kompilátor a udělat z nich bytecode. Předtím je ovšem nutné si důkladně rozmyslet, jak má vlastně výsledný bajtkód vypadat, a tedy hlavně jak má vypadat virtuální stroj, kterým bude interpretován.
Pokud jste někdy viděli nápaditou přednášku Breta Victora The Future of Programming, určitě si pamatujete na pasáž, ve které popisuje procesor jako spoustu udřených tranzistorů, které se mohou přetrhnout, zatímco tranzistory operačních pamětí se většinu doby vyloženě flákají. A pokud chcete z vašeho křemíku dostat maximum, měli byste jít cestou velkého množství malých výpočetních jader, každým opatřeným malou, ale dostatečnou paměťovou kapacitou.
Dalším logickým krokem by mělo být vytvoření virtuálního stroje, který bude programovací jazyk interpretovat, a kompilátoru, který pro tento virtuální stroj zkompiluje zdrojový kód. Před tím, než se do toho můžu pustit je však třeba ujasnit si, nejlépe formou konkrétní implementace, jak bude vypadat reprezentace a rozložení objektů v paměti.
/etc/shadow
, cracks the hashes and sshs back to the attacking machine.
Předchozí díly se věnovaly především jazyku a prostředí jako takovému. V tom dnešním se podíváme na komunitu kolem Selfu, jeho historii, budoucí rozvoj a možné důsledky, které Self přinesl.
Parser parsuje, testy procházejí a svítí zeleně. Co víc si přát. Snad jen .. Ve všemožných článcích psali, že je dobré provádět časté testy, zda jde kód přeložit RPythonem. Během psaní parseru to nemělo smysl, protože parser je obtížně dělitelný kus a moje soustředění mířilo směrem k projití unittesty. Řešit u toho ještě datové typy a všechna omezení RPythonu mi přišlo jako zbytečný masochismus, který by mohl způsobit, že projekt nikdy nedodělám.
Zarazilo vás někdy, že příkaz stat(1)
z GNU Coreutils na Linuxu vypisuje kromě klasické trojice unixových časových značek access, modify a change navíc také jakési birth, u kterého ale hodnota chybí? Co tu vůbec to prázdné birth dělá? Zajímat o tuto málo známou časovou značku jsem se začal až před pár měsíci při debugování jednoho problému, kdy jsem se snažil chytil čeho se dalo. A i když mi to nakonec přímo nepomohlo, postupně jsem se začal nořit do její historie a budoucnosti, takže tento zápisek je někde na pomezí softwarové archeologie a jaderných novinek, a mj. se v něm dozvíte, kde se tato časová značka vzala, jak s ní dnes na GNU Linuxových distribucích pracovat a jak to s ní vypadá do budoucna.
Ve třetím dílu seriálu Jak se píše programovací jazyk se podíváme na způsob, kterým se z jednorozměrného pole Token
objektů udělá syntaktický strom, který pak následně můžeme dále zpracovávat a vyhodnocovat.
Dneska se bude jednat o mezi-díl, kam jsem nacpal věci, jenž se mi moc nevešly nikam jinam. Podíváme se detailněji na debugger a transporter a taky si rozebereme nevýhody Selfu jako jazyka, prostředí, ale i obecně principu používání prototypového programování.
V předchozí části jsem popsal motivaci, jenž mě zavedla na trnitou cestu vývojářů vlastního jazyka. V dnešní části se podíváme na to jak vlastně má můj jazyk vypadat a taky se na první a pravděpodobně nejjednodušší komponentu: lexer.
Minulý díl představil Self jako projekt, ukázal kde ho stáhnout a jak se orientovat v prostředí morphic interface. Dnes se podíváme na jazyk samotný a jeho standardní knihovnu.
Cca před rokem a něco jsem začal tvořit vlastní programovací jazyk a na obrazu paměti založené interaktivní prostředí ve stylu Smalltalku či Selfu. Zpočátku jsem vůbec neměl tušení jak na to, nakonec jsem však začal řešit jeden problém za druhým a tak vznikl tento seriál.
Přináším vám zvěst o jazyku, který stál u zrodu mnoha dalších, leč skoro nikdo ho nezná. Zvěst o grafickém prostředí nabízejícím možnosti jako žádné jiné, leč skoro nikdo ho nepoužívá. Přináším také zvěst o virtuální mašině podporující reflexi téměř do nekonečna, a svého času dosahující v numerických výpočtech výkonu poloviny C, přesto dnes zapomenuté.
Relativně nedávno jsem narazil na to, že je nějaká koncepce výuky programování na středních školách založená na Arduinu. Do té doby jsem tuto hračku neznal, ale velice mne to zaujalo. Kdysi před nějakými 35 lety jsem bastlil podle Amatérského Rádia, co se dalo, a pokud by tehdy existovalo něco takového jako dnes, byl bych nadšen, i když by tomu asi padnul za oběť můj volný čas. Takže možná dobře, že nic takového tehdy nebylo
Světlo světa spatřilo Pharo 7.0, což je nová verze otevřené implementace programovacího jazyka Smalltalk. Příchází s celou řadou systémových změn, které zásadním způsobem zasahují do samotné podstaty tohoto vývojového prostředí.
Historický přehled snah o použití Smalltalku přímo jako operačního systému.
Programovací jazyk Self byl první programovací jazyk, který byl přišel s konceptem prototypů. Self si plně vystačí s objekty složenými ze slotů, delegací mezi nimi a případným kódem, který je k objektům přiřazen. Z těchto ingrediencí dokáže poskládat velice mocný a flexibilní objektový model. O tom, jak to dělá, je tento zápisek.
Před nějakou dobou se mi dostalo do rukou zamyšlení, zdali je vlastně zapotřebí operační systém, či ne. Sám na toto téma provádím jakýsi „průzkum“ už přibližně dva roky. Rozhodl jsem se tedy, že bych mohl sepsat nosné myšlenky spolu s odkazy na některé relevantní zdroje informací.
Na konci července proběhlo médii srovnání 2 satelitních záběrů pořízených se zhruba měsíčním odstupem, na kterých je vidět, jak se za tu dobu projevilo na vegetaci v krajině letošní sucho. To je samo o sobě sice docela poučné, ale chci se tu na to podívat z pohledu odkazování na primární zdroje a používání dat s otevřenou licencí. Což je vzhledem k finišující reformně autorského práva také více méně aktuální.
Skoro před rokem jsem tu představil svůj projekt
Trilium Notes na správu "osobní znalostní báze" v blogpostu
Trilium Notes - představení hobby projektu a pak nějaké nové featury v blogpostu
Trilium Notes jako platforma pro mini-aplikace.
Dnes bych chtěl ukázat další featuru, kterou považuji za docela zajímavou - tou jsou "relační mapy".
Když jsem v jednom ze svých nedávných blogpostů popisoval svoje trable s nastavením bootování PXE přes UEFI, tak jsem ani zdaleka nepopsal vše co jsem musel řešit. Ke spoustě věcí jsem se dostal za pochodu a kdybych měl důkladně zmapovat každou kravinu, tak bych ten blogpost v životě nedopsal. A jednou z nich je UEFI samo o sobě.
The Catch je soutěž v počítačích, programování a problem solvingu. Ve kvalifikačním online kole jsme byli třetí a proto nás pozvali na finále do Dejvic.