Studentská dílna Macgyver zve na další Virtuální Bastlírnu - pravidelné online setkání všech, kdo mají blízko k bastlení, elektronice, IT, vědě a technice. Letní prázdniny jsou za námi a je čas probrat novinky, které se přes srpen nahromadily. Tentokrát jich je více než 50! Těšit se můžete mimo jiné na:
Hardware – Bus Pirate na ESP32, reverse engineering Raspberry Pi, pseudo-ZX-80 na RISC-V, PicoCalc, organizéry na nářadí z pěny nebo … více »Google Chrome 140 byl prohlášen za stabilní. Nejnovější stabilní verze 140.0.7339.80 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 6 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
LeoCAD (Wikipedie) je svobodná multiplatformní aplikace umožňující také na Linuxu vytvářet virtuální 3D modely z kostek lega. Vydána byla verze 25.09. Zdrojové kódy a AppImage jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.
RubyMine, tj. IDE pro Ruby a Rails od společnosti JetBrains, je nově zdarma pro nekomerční použití.
Český LibreOffice tým vydává překlad příručky LibreOffice Calc 25.2. Calc je tabulkový procesor kancelářského balíku LibreOffice. Příručka je ke stažení na stránce dokumentace.
Byla vydána (Mastodon, 𝕏) vývojová verze 3.1.4 příští stabilní verze 3.2 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání.
Zakladatel ChimeraOS představil další linuxovou distribuci zaměřenou na hráče počítačových her. Kazeta je linuxová distribuce inspirována herními konzolemi z 90. let. Pro hraní hry je potřeba vložit paměťové médium s danou hrou. Doporučeny jsou SD karty.
Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.4 a Linux From Scratch 12.4 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.42, Binutils 2.45 a Linuxem 6.15.1. Současně bylo oznámeno vydání verze 12.4 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.
Organizátoři konference LinuxDays ukončili veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata, která na letošní konferenci zaznějí. Hlasovat můžete do neděle 7. září. Poté podle výsledků hlasování organizátoři sestaví program pro letošní ročník. Konference proběhne 4. a 5. října v Praze.
Byla vydána verze 11.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.
Čistě pro zábavu jsem si udělal benchmark tří počítačů, které mám momentálně v dosahu. Jedná se v zásadě o tři generace procesorů Intel. Benchmarků je sice plný internet, ale málokdy člověk narazí na přímé srovnání starého a nového hardwaru. Zříkám se vědeckých ambicí: testované počítače mají různé pevné disky, různé verze OS a různé verze programů použitých pro měření (Python, GCC). Ovšem stáří HW v mém případě koresponduje se stářím SW, takže měřím vlastně obecný pokrok v IT. (Zároveň ale platí Wirthův zákon: “Software is getting slower more rapidly than hardware becomes faster." )
Python jakožto virtuální mašina není deterministický. Obvyklým zdrojem nahodilosti je plánování vláken, v Pythonu ale můžete mít korektní jednovláknový program, který vám dá pro jeden vstup pokaždé jiné výsledky. Může za to hashování, hash objektu může být odvozen od jeho adresy v paměti, což je (stejně jako rozvrhování vláken) neuchopitelná záležitost o kterou se stará operační systém.
Mám zde jeden tip pro všechny, co při programování používají jako IDE konzoli a shell.
Své výlety po jiných operačním systémem jsem zakončil u OpenSolarisu.
Po svých experimentech s LFS mi jemně stouplo sebevědomí, tak jsem si řekl, že zkusím opravdový Unix a tedy FreeBSD. Zde je pár poznámek.
...a dva dny jsem díky tomu udělal do práce i do školy kulové .
Jeden můj známý v jakési internetové konferenci kdysi popisoval sen, že byl že byl kus kódu v assembleru a kopíroval řetězec. Z nějakého důvodu skončil v nekonečném cyklu. Nejděsivější ale bylo, že procesor měl zakázána přerušení, takže nebylo nic, co by jeho trápení ukončilo.
Co se týče programovacích jazyků, snažím se udržet si přehled. Z takových těch běžně používaných věcí toho znám dost, ale nejedná se o žádné velké hrdinství, kdo zná 5 imperativních programovacích jazyků, naučit se šestý je velmi snadné, trvá to od jedné hodiny do jednoho týdne. Kdo zná C++, naučí se Javu snadno a rovnou umí C# do verze 2. Kdo zná Python a viděl z vlaku Smalltalk a Perl, zná i Ruby .
Vývoj platformy .Net a jazyka C# sleduji od naprostých prvopočátků. Dílo Anderse Hejlsberga je se mnou v podstatě celý můj programátorský život (od Turbo Pascalu přes Delphi až po C#).
Když se tady tak rojí zápisky o Pythonu a C++, musím přispěchat se svou troškou do mlýna - totiž s postem, který je o obojím.
Občas zde prudím se svojí Žirafou, což je indexátor souborového systému, prostě parodie na locate
. Používám ji převážně jako "media library" k XMMS.
Taková grafická aplikace, to je soft-realtime záležitost. Na čase odpovědi totiž záleží, pokud se to zasekne, uživatel (tedy já) sice počká, ale je naštvaný. Žirafa navíc zobrazuje výsledky vyhledávání hned během psaní dotazu - takže na výkonu záleží, protože mezi dvěma stisky kláves je tak desetina sekundy.
Žirafa je celá v Pythonu (+GTK). Ze snahy napsat rychlou aplikaci v "pomalém" Pythonu jsem získal některá ponaučení, o která se teď hodlám podělit.
Tak jsem zase zapracoval na svém quick'n'dirty vyhledávači Žirafa, přitom bych měl dělat hromadu jiných věcí.
Novinky jsou tak neuvěřitelně zásadní, že jsem zvedl minor verzi, z 0.0.4 jsem šel rovnou na 0.1.0, tedy "skoro hotovo". Ne, vážně, teď už umí asi všechno, co jsem potřeboval.
Když jsem bydlel na koleji, napsal jsem vyhledávač, který běžel na kolejním serveru a indexoval obsah FTP serverů okolo (rozumněj, semestrálky a tak . Byla to Java+Tomcat+Lucene a s oblibou jsem ho používal na vyhledávání svých vlastních mptrojek.
fork()
modulu _stackless
. Co tahle funkce dělá? Inu přesně to, co její jmenovkyně z pravého Unixu, jen nevytvoří nový proces, ale korutinu (takové lehkotonážní vlákno, které nemá preempci a musí se přepínat explicitně).
Minule jsem tu psal o Pypy, implementaci Pythonu v jazyce samém, a o neuvěřitelné flexibilitě, kterou tato hračka nabízí.
Též jsem psal, že Pypy umí variaci na Stackless Python, tedy oprostění se od limitů systémového zásobníku. Rekurze omezená jen velikostí paměti je jen začátek. Program může explicitně manipulovat se svým zásobníkem. Je možné rozličným způsobem přepínat zásobníkové rámce funkcí atd. Následující kód mi hlava dost dlouho nebrala :
V programování a programovacích jazycích se vrtám roky rokoucí a proto se málokdy stane, že mě něco překvapí. Ale přesně to se před pár týdny stalo. Narazil jsem totiž na pypy a připomněl si, co znamená hackerství ve svém nejlepším významu.
Co je vlastně pypy? Pypy je implementace jazyka Python v Pythonu samotném. Na první pohled je to pěkná divočina, vlastně až nesmysl. Standardní interpreter Pythonu je napsán v jazyce C (říkejme mu CPython), pypy je do jisté míry prostá reimplementace CPythonu, akorát napsaná v Pythonu.
Do diplomky potřebuji trošku grafického uživatelského rozhraní. Budu tam mít taky nějaký legacy (češtináři prominou) kód v plain C. Své rozšíření budu psát v C++. Chci si to vyvíjet v Linuxu, ale musí to běžet i na Windows, protože s tím budou pracovat studenti a nemůžu nikoho diskriminovat.
Vyzkoušel jsem live CD Zeta OS, opět na doporučení OS News.
Zeta je potomek operačního systému BeOS. Otcem BeOS je Jean-Louis Gassée, bývalý zaměstnanec Apple, který jej vyvinul za použití peněz Seymoura Craye, slavného tvůrce superpočítačů. Tedy samý vizionář . Současná situace je taková, že Zetu vyvíjí německá společnost yellowTab, která sice má práva na původní zdrojové kódy, ale nevlastní značku BeOS. Taky existuje snaha o opensource reimplementaci - Haiku.
Tuhle jsem při googlení narazil na starý článek o GNOME 1.0. Byl tam i screenshot, ze kterého se mi udělalo zle.
Dopředu říkám, že Q-toolkit firmy Trolltech mi nikdy moc sympatický nebyl. Ještě před rokem jsem na svém desktopu používal primárně Windows a pro ty bylo Qt jen omezeně. Teď už je licence lepší - GPL, ovšem Gtk je na tom pořád lépe - je LGPL.
Mám pocit, že pro Gtk bylo vždy víc a lepších bindingů než pro Qt, každopádně má oblíbená Ada měla binding jen na Gtk. To má za následek, že pro Qt se většinou programuje jenom v (pro Qt "nativním") C++ a ještě k tomu s použitím jakéhosi preprocesoru. Standardní C++ bych ještě přežil (i když z divočiny C++ jsem už vyrostl), ale ten preprocesor ne. C# s Gtk# mi sedí víc.
Na jednom ilblogu se objevil jeden ill spot. Je o tom, jak je Linux 2.6 prokletý a jak jde jeho vývoj do háje. Protože to považuji za FUD, kterého by se mohli nějací dobrodějové chytnout, neodpustím si tento celkem zbytečný reakční anti-spot.
Na root.cz vyšel článek, recenze na nějaký komerční Linux. Recenzent to prostě nainstaloval, něco mu fungovalo, něco ne. Okamžitě se rozpoutala vášnivá diskuse o tom, co může člověk od takové distribuce očekávat a co ne. A jestli uživatel, co odmítá vymýšlet mode-line do konfiguráku Xek je odsouzen k používání Windows.