Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
typedef struct FilesPanelEntry{ Glib::ustring name; Glib::ustring ext; Glib::ustring size; Glib::ustring date; Glib::ustring rwx; Glib::ustring owner; Glib::ustring group; };Pak mám objekt s TreeViewem. Objekt má kromě jiných i tyto metody metody:
virtual void addEntry( const FilesPanelEntry& entry ); virtual void clear(); virtual off64_t count(); virtual bool getEntry( off64_t n, FilesPanelEntry& entry ); virtual bool setEntry( off64_t n, FilesPanelEntry& entry );Metody získávají/nastavují jednotlivé položky TreeViewu. Ve FilesPanelEntry::size můžou být tyto hodnoty:
<DIR> = adresář <BLKD> = blokové zařízení <CHRD> = znakové zařízení <FIFO> = fifo Velikost = souborProtože mi to už nemyslí, potřebuju si dát pauzu. Jenže zas nechci zbytečně ztrácet čas, a proto bych od někoho potřeboval dopsat fci na seřazení těch souborů. První by měly být adresáře seřazené dle abecedy, poté soubory dle abecedy, poté bloková zařízení, znaková zařízení a nakonec FIFO. Potřeboval bych to doplnit sem:
void JXPCommander::sortFiles( bool left ) { FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight); bool orderChanged = true; FilesPanelEntry e1,e2; while(orderChanged){ orderChanged = false; for( off64_t i = 0; i < fp->count()-1; ++i ) { fp->getEntry( i, e1 ); fp->getEntry( i+1, e2 ); /* * Tu proveďte nějaké ty porovnání, v případě * že mají být položky prohozeno tak proveďte: * * fp->setEntry( i,e2 ); * fp->setEntry( i+1,e1 ); * * a nezapomeňte nastavit orderChanged na true. * * Stringy se nebojte porovnávat znaménky < a > * o utf8 se již stará sama třída Glib::ustring */ } } }
Tiskni Sdílej:
void JXPCommander::sortFiles( bool left ) { FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight);bych neudělal snad ani já, trochu více obecnosti bych do toho vrazil
void JXPCommander::sortFiles( bool left ) { FilesPanel *fp = (left ? &filesPanelLeft : &filesPanelRight); bool orderChanged = true; FilesPanelEntry e1,e2; int max = fp->count()-1; while(orderChanged){ orderChanged = false; for( off64_t i = 0; i < max; ++i ) { fp->getEntry( i, e1 ); fp->getEntry( i+1, e2 ); if(e1.name > e2.name) { // pro razeni vzestupne podle jmena fp->setEntry(i, e2); fp->setEntry(i+1, e1); orderChanged = true; } } max--; } }- ale doporucoval bych trochu zagooglovat a nastudovat quick-sort...
vector
, ale také deque
a list
, když už jsme u kontejnerů tohoto typu. Nelze samozřejmě také opomenout set
, multiset
, map
a multimap
(a další více či méně užitečné věci). Kdo se toho dobrovolně vzdává, o hodně přichází.