Jack Dorsey představil (𝕏) open source týmovou komunikační platformu Buzz (GitHub) s cílem snížit závislost na Slacku a GitHubu.
Poštovní klient Thunderbird byl vydán v nové verzi 153 s kódovým názvem Meadow. Jedná se o ESR (Extended Support Release) vydání. Přehled novinek v poznámkách k vydání. Vylepšuje OAuth. Thundermail lze používat bez instalace doplňku.
AI tento rok naplno vtrhla do vývoje softwaru a výrazně ovlivňuje také open source projekty. Jiří Eischmann v příspěvku Jak mění AI open source na svém blogu rozebírá několik trendů, které v open source v poslední době v souvislosti s AI pozoruje, a jak tyto trendy svět otevřeného softwaru mění (Inflace projektů, Zahlcení kontroly, Klesající motivace zveřejňovat kód).
Evropská komise (EK) vyměřila americké internetové společnosti Google pokutu 890 milionů eur (21,5 miliardy Kč) za porušení unijního nařízení o digitálních trzích (DMA). Firma se podle unijní exekutivy provinila tím, že ve vyhledávači Google Search upřednostňovala vlastní služby a že podnikům ukládala omezení, která jim bránila nasměrovat spotřebitele k alternativním, často levnějším nákupním kanálům na platformě Google Play.
… více »Samsung na akci Galaxy Unpacked July 2026 (YouTube) představil své nové telefony Galaxy Z Fold8 Ultra, Fold8 a Flip8, hodinky Galaxy Watch Ultra2 a Watch9 a chytré brýle ve spolupráci s Gentle Monster a Warby Parker.
Po pěti letech vývoje vyšla česká počítačová hra Scarlet Deer Inn (ProtonDB). Scarlet Deer Inn je vyšívaná temná středověká pohádka. Zatímco život ve zdánlivě obyčejné vesnici se točí kolem běžných povinností a sousedských drbů, v podzemí se skrývají zlověstná tajemství.
Představen byl Raspberry Pi Touch Display 2 s uhlopříčkou 10 palců a rozlišením 1200 × 1920 pixelů. Cena je 80 dolarů.
RPCS3 (Wikipedie), tj. open source emulátor Sony PlayStation 3, snížil minimální požadavky. Nově jsou podporovány starší grafické karty ATI Radeon řady HD 2000, 3000 a 4000 z let 2007 až 2009. Na PC běží už 75 % všech her pro PlayStation 3. V budoucnu bude RPCS3 fungovat bez firmwaru z PS3. V RPCS3 byl implementován systémový modul cellSysmodule (𝕏).
Vyšel open-source nástroj winetop (MIT) — nativní CLI/TUI pro sledování a ukončování Wine, Proton, Lutris, Heroic a Bottles sezení. Seskupuje procesy podle WINEPREFIX / Steam AppId, umí bezpečně zabít jen hru (včetně Steam reaperu) a nabízí i skriptovatelné příkazy (list, kill, orphans, …). Balíčky jsou mimo jiné na crates.io, Copru (dnf copr enable kovariadam/winetop), PPA ppa:kovariadam/winetop a AUR (winetop-bin).
Ve spolupráci společností OpenAI a Work Louder byla představena (𝕏) hardwarová klávesnice Codex Micro pro práci s AI agenty. Cena klávesnice je 230 dolarů.
Pomalu se propracováváme k využívání souborů v Octave - buď jako úložiště dat nebo programů. Proto nesmí chybět seznámení, jak lze souborový systém v Octave správně uchopit. Začněme příkazy známými z shellu: pwd (Path to Working Directory) a cd (Change Directory):
% Ve Windows >> pwd /octave_files >> cd c:\matlab >> pwd /cygdrive/c/matlab % V Linuxu >> pwd /home/user >> cd /tmp >> pwd /tmp
V Linuxu bývá po spuštění aktuální složkou ta, ve které jsme Octave spustili, a s přístupem do jiných složek není žádný problém. V prostředí Windows běží Octave s pomocí Cygwin, jako kořenový adresář se nastavuje složka, ve které je Octave nainstalováno - přístup do jiných složek nicméně možný je, jednotky diskových oddílů se mapují do virtuálního adresáře cygdrive. Ve Windows je možno jako oddělovač složek použít obou lomítek - těch rozdílů mezi linuxovou a windowsovou verzí Octave lze při práci se soubory zaznamenat více.
Pro výpis souborů v aktuální složce slouží příkazy ls a dir:
>> ls
data funkce.m skript.m
>> dir ('/data/matlab')
data funkce.m skript.m
Seznam souborů ze zadané složky lze uložit do matice pomocí funkce readdir:
>> files=readdir('.')
files =
.
..
data
funkce.m
skript.m
Znak tečka zde označuje aktuální složku.
Octave samozřejmě umí vytvářet a mazat adresáře, přejmenovávat soubory apod. Názvy souborů a adresářů se zadávají jako textové parametry funkcí, které - pokud operace dopadla úspěšně - vrací hodnotu 0:
>> ls
data funkce.m skript.m
>> mkdir('slozka') % Vytvoř novou
složku slozka
ans = 0
>> ls
data funkce.m skript.m slozka
>> rmdir('slozka') % Smaž složku
slozka
ans = 0
>> ls
data funkce.m skript.m
Funkce mkdir vytvořila složku pojmenovanou slozka, kterou následně smazala funkce rmdir. Soubor se maže funkcí unlink a přejmenovává pomocí rename:
>> ls
data funkce.m skript.m
>> unlink('data') % Smaž soubor data
ans = 0
>> rename('skript.m','program.m') % Přejmenuj skript na program
ans = 0
>> ls
funkce.m program.m
Pro pečlivky - uvedené funkce mohou vracet dvouprvkový vektor
[navratova_hodnota, text_chybove_zpravy], tj. pokud je
návratová hodnota nenulová, z textu chybové zprávy můžeme vypátrat, v čem
tkví problém. Případné zájemce o další podrobnosti a „systémové
utility“ opět odkáži na dokumentaci. Zde uvedeme již jen užitečný
příkaz diary - s jeho pomocí lze veškerý výstup v terminálu
kopírovat do zvoleného souboru:
>> diary lekce3.txt >> A=34; B=A/7; >> diary off
Předchozí příkazy zařídí vytvoření souboru lekce3.txt, jehož obsahem budou řádky uvedené dál až po příkaz diary off, který toto logování vypíná. Opětovně lze zapnout s parametrem on.
Již dříve jsme uvedli, že matici je možno naplnit výčtem jejích jednotlivých prvků nebo funkcí, jako jsou například zeros, eye, rand apod. Další možností, jak tohoto dosáhnout, je nahrání dat ze souboru. Mějme například textový soubor mereni.txt s následujícím obsahem:
--[soubor mereni.txt]-- 12 3 5.4 76 1 2 4.3 89 -1 +5 9.999 100 --[konec souboru]--
Vidíme, že se jedná o matici správně zapsaných čísel, a tudíž obsah tohoto souboru můžeme nahrát do proměnné v Octave pomocí příkazu load:
>> load mereni.txt >> whos prot type rows cols name ==== ==== ==== ==== ==== rwd matrix 3 4 mereni >> mereni mereni = 1.0e+02 * 0.12000 0.03000 0.05400 0.76000 0.01000 0.02000 0.04300 0.89000 -0.01000 0.05000 0.09999 1.00000
Z výpisu příkazu whos vidíme, že nám vznikla nová proměnná mereni čítající tři řádky a čtyři sloupce - Octave proměnnou automaticky pojmenovává podle názvu souboru bez přípony. Z výpisu obsahu proměnné mereni pak vidíme, že skutečně obsahuje ta čísla, která jsou uložena v souboru mereni.txt. Tímto způsobem můžeme relativně snadno do Octave dostat kvanta čísel „získaná někde jinde“, například z nějakého tabulkového kalkulátoru, a dále zpracovávat.
Pokud by již existovala proměnná pojmenovaná stejně jako nahrávaný
soubor (což nastane typicky tehdy, když se pokoušíme nahrát jeden soubor
opakovaně), Octave vypíše varování a soubor nenahraje. Přepsání lze donutit
přepínačem -force uvedeným bezprostředně za příkazem
load:
>> load mereni.txt warning: load: local variable name `mereni' exists warning: use `load -force' to overwrite >> load -force mereni.txt
Pro ukládání obsahů proměnných do souborů existuje příkaz save:
>> save mereni
Uvedený příkaz zapříčiní vytvoření souboru mereni v aktuální složce, který ovšem po otevření v nějakém textovém editoru nebude uživatelsky moc čitelný. Octave totiž obsahy proměnných ve výchozím nastavení ukládá do binárních souborů, které oproti čistému textu nabízí následující výhody:
Naproti tomu je čistý text snadno čitelný uživatelem a dá se importovat do jiných programů; volba vhodného formátu se tedy odvíjí od toho, co uživatel s uloženými daty zamýšlí:
-ascii - uloží data jako čistý text-binary - binární formát Octave, hodí se pro zálohu
dat-mat-binary - binární formát Matlabu od verze 5, lze tedy
použít pro přenos dat z a do Matlabu-hdf5 - volně využitelný univerzální binární formát
používaný některými vědeckými aplikacemiVolbu formátu zajistíme prvním parametrem příkazu save, druhý parametr vymezuje jméno souboru a následující pak názvy proměnných, které se mají uložit. Neuvedeme-li žádnou proměnnou, uloží se všechny z aktuálního paměťového prostoru (tj. ty, které vypíše příkaz who). Následující příkaz tedy uloží matici mereni v čistém textu do souboru mereni-cisty_text.txt:
>> save -ascii mereni-cisty_text.txt mereni
Výchozí formát, ve kterém se mají proměnné do souborů ukládat, lze nastavit v zabudované proměnné default_save_format. Podobně proměnná save_precision upřesňuje, kolik desetinných míst se má ukládat, pokud je jako formát zvolen čistý text.
Dodejme ještě, že příkaz load automaticky detekuje formát souboru, z kterého nahrává - nicméně stejnými parametry jako u příkazu save jej můžeme donutit, aby předpokládal zadaný formát u nahrávaného souboru. Podobně lze za název souboru uvést seznam proměnných, které se ze souboru mají nahrát (v případě binárních formátů), bez uvedení se nahrají všechny proměnné.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
>> plot(t,y) >> Timeout: gnuplot is not ready Signal 127 warning: connection to external plotter (pid = 509527) lost -- warning: please try your plot command(s) again
Týká se ukládání a načítání dat ze souboru. Dá se octave nějak donutit, aby uložila jenom samotná data, bez těch prvních asi pěti řádků s popisem, jako to dělá při parametru -text/-ascii příkazu save?
Pak když je chci znova načíst v dalším skriptu, obvykle zapomenu, jak se ta proměnná jmenovala, a načte se mi to trošku podivně. Zkuste sekvenci následujících tří příkazů:
A = rand(4,3)
save -text 'A.txt' A
B = load -text 'A.txt'
Postupně jsem přišel na to, že když z uloženého souboru A.txt umažu těch pár popisných řádků, vše funguje, jak má, ale je to takové divné řešení. Nevíte, jak na to?
load 'promenne.txt'obnoví všechny proměnné z uvedeného souboru a
B = load 'promenne.txt'obnoví všechny proměnné organizované v datové struktuře se jménem B, takže k jednotlivým proměnným lze přistupovat jako B.<název proměnné>, v popisovaném případě tedy jako B.A.
Ta volba -text je poměrně nová. V Octave 2.1.71 už je. Měla by být stejná jako volba -ascii. Tu jsem používal dříve, ale prý se má používat -text:
octave:2> save -ascii 'A.txt' A
warning: the meaning of this option will change in a future
warning: version of Octave to be compatible with Matlab.
warning: To keep the meaning of your code the same across
warning: this change, use the -text option instead.
octave:3> version
ans = 2.1.71
Problém bude asi spíše ve mně, měl bych zkusit používat rozumné názvy proměnných a důsledně podle nich pojmenovávat soubory, do kterých je ukládám. Nebo se naučit používat nějaké ty nízkoúrovnové operace se soubory.
Jinak te seriál je skvělý.