Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek i s náhledy aplikací v Týden v GNOME a Týden v KDE.
Organizace Apache Software Foundation (ASF) vydala verzi 20 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Desktopové prostředí Cinnamon, vyvíjené primárně pro distribuci Linux Mint, dospělo do verze 6.0. Seznam změn obsahuje především menší opravy a v říjnovém přehledu novinek v Mintu avizovanou experimentální podporu Waylandu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzích 2.2.2 a 2.1.14. Přináší důležitou opravu chyby vedoucí k možnému poškození dat.
V ownCloudu byly nalezeny tři kritické zranitelnosti: CVE-2023-49103, CVE-2023-49104 a CVE-2023-49105 s CVSS 10.0, 8.7 a 9.8. Zranitelnost CVE-2023-49103 je právě využívána útočníky. Nextcloudu se zranitelnosti netýkají.
I letos vychází řada ajťáckých adventních kalendářů. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2023. Pro programátory v Perlu je určen Perl Advent Calendar 2023. Zájemci o UX mohou sledovat Lean UXmas 2023. Pro zájemce o kybernetickou bezpečnost je určen Advent of Cyber 2023…
Byla vydána verze 2.12 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 23.11 Topi. Přehled novinek v Changelogu.
Po 4 měsících vývoje byla vydána nová verze 4.2 multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu a na YouTube.
Byla vydána nová stabilní verze 23.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Tapir. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
[david@localhost souborydoaudacity]$ file -k highpass2.ny highpass2.ny: ASCII text, with CRLF, CR line terminators [david@localhost souborydoaudacity]$ file -k OPRAVENYhighpass.ny OPRAVENYhighpass.ny: ASCII English text, with very long lines, with CRLF line terminatorsJsou ve výpisu vidět rozdíly. Může být všechno kvůli tomu? A čím se tato vlastnost ovlivňuje? A kvůli čemu je celá situace, kterou popisuji?
[david@localhost souborydoaudacity]$ diff můjhighpass.ny OPRAVENYhighpass.ny 1,96c1,95 < ;nyquist plug-in < ;version 3 < ;type process < ;categories "http://lv2plug.in/ns/lv2core#HighpassPlugin" < ;name "Můj High Pass Filter..." < ;action "Performing High Pass Filter..." < ;info "by Dominic Mazzoni, modified by David R. Sky\nReleased under terms of the GNU General Public License Version 2\nAttenuates frequencies below your specified cutoff frequency.\nHigher rolloff values give a sharper attenuation of frequencies below\nthe cutoff frequency. If using a rolloff of 6 dB, a [q] value greater than\ndefault 0.7 increases resonance ['ringing'] of the cutoff frequency and\ncould result in clipping." < < ;control rolloff-choice " Rolloff [dB per octave]" choice " 6 dB, 12 dB,24 dB,36 dB,48 dB" 0 < ;control q " Filter quality [q] for 6 dB rolloff" real "" 0.7071 .1 20 < ;control f " Cutoff frequency [Hz]" real "" 1000 1 20000 < < ; note that all Nyquist highpass functions < ; [hp, highpass2, highpass4, highpass6, highpass8] < ; are defined below with -s suffix. < ; This enables highpass functions other than hp < ; to deal with stereo selection, < ; and dummy q arg for all but highpass2 < < ; 6dB/octave < (defun hp-s (s f q) ; dummy q arg < (hp s f)) < < ; 12dB/octave < (defun highpass2-s (s f q) < (if (arrayp s) < (vector (highpass2 (aref s 0) f q) < (highpass2 (aref s 1) f q)) < (highpass2 s f q))) < < ; 24dB/octave < (defun highpass4-s (s f q) ; dummy q arg < (if (arrayp s) < (vector (highpass4 (aref s 0) f) < (highpass4 (aref s 1) f)) < (highpass4 s f))) < < ; 36dB/octave < (defun highpass6-s (s f q) ; dummy q arg < (if (arrayp s) < (vector (highpass6 (aref s 0) f) < (highpass6 (aref s 1) f)) < (highpass6 s f))) < < ; 48dB/octave < (defun highpass8-s (s f q) ; dummy q arg < (if (arrayp s) < (vector (highpass8 (aref s 0) f) < (highpass8 (aref s 1) f)) < (highpass8 s f))) < < ; check function: returns 1 on error < (defun check (arg min max) < (if (and (>= arg min) (<= arg max)) < 0 1)) < < < ; initialize blank error-msg < (setf error-msg "") < < ; check for erroneous q value < (setf error-msg (if < (and (= rolloff-choice 1) < (= (check q 0.1 20) 1)) < (strcat error-msg (format nil < "q value ~a lies outside valid range 0.1 to 20 < for your chosen rolloff of 6 dB per octave. < " q)) < error-msg)) < < ; check for erroneous frequency cutoff value < (setf error-msg (if < (= (check f 1 20000) 0) < error-msg < (strcat error-msg (format nil < "Cutoff frequency ~a Hz lies outside valid range 1 to 20000. < " f)))) < < < (cond < ((> (length error-msg) 0) < (setf error-msg (strcat (format nil < "Error - \n\nYou have entered at least one invalid value: < ") error-msg)) < (format nil "~a" error-msg)) < ; < (t ; perform highpass effect < (funcall (nth rolloff-choice '(hp-s highpass2-s highpass4-s highpass6-s highpass8-s)) < s f q))) < < < < ; from previous commit < ; arch-tag: 49302eba-9945-43d7-aade-f1c7eded27af < < --- > ;nyquist plug-in > ;version 3 > ;type process > ;categories "http://lv2plug.in/ns/lv2core#HighpassPlugin" > ;name "Opraveny High Pass Filter..." > ;action "Performing High Pass Filter..." > ;info "by Dominic Mazzoni, modified by David R. Sky\nReleased under terms of the GNU General Public License Version 2\nAttenuates frequencies below your specified cutoff frequency.\nHigher rolloff values give a sharper attenuation of frequencies below\nthe cutoff frequency. If using a rolloff of 6 dB, a [q] value greater than\ndefault 0.7 increases resonance ['ringing'] of the cutoff frequency and\ncould result in clipping." > > ;control rolloff-choice " Rolloff [dB per octave]" choice " 6 dB, 12 dB,24 dB,36 dB,48 dB" 0 > ;control q " Filter quality [q] for 6 dB rolloff" real "" 0.7071 .1 20 > ;control f " Cutoff frequency [Hz]" real "" 1000 1 20000 > > ; note that all Nyquist highpass functions > ; [hp, highpass2, highpass4, highpass6, highpass8] > ; are defined below with -s suffix. > ; This enables highpass functions other than hp > ; to deal with stereo selection, > ; and dummy q arg for all but highpass2 > > ; 6dB/octave > (defun hp-s (s f q) ; dummy q arg > (hp s f)) > > ; 12dB/octave > (defun highpass2-s (s f q) > (if (arrayp s) > (vector (highpass2 (aref s 0) f q) > (highpass2 (aref s 1) f q)) > (highpass2 s f q))) > > ; 24dB/octave > (defun highpass4-s (s f q) ; dummy q arg > (if (arrayp s) > (vector (highpass4 (aref s 0) f) > (highpass4 (aref s 1) f)) > (highpass4 s f))) > > ; 36dB/octave > (defun highpass6-s (s f q) ; dummy q arg > (if (arrayp s) > (vector (highpass6 (aref s 0) f) > (highpass6 (aref s 1) f)) > (highpass6 s f))) > > ; 48dB/octave > (defun highpass8-s (s f q) ; dummy q arg > (if (arrayp s) > (vector (highpass8 (aref s 0) f) > (highpass8 (aref s 1) f)) > (highpass8 s f))) > > ; check function: returns 1 on error > (defun check (arg min max) > (if (and (>= arg min) (<= arg max)) > 0 1)) > > > ; initialize blank error-msg > (setf error-msg "") > > ; check for erroneous q value > (setf error-msg (if > (and (= rolloff-choice 1) > (= (check q 0.1 20) 1)) > (strcat error-msg (format nil > "q value ~a lies outside valid range 0.1 to 20 > for your chosen rolloff of 6 dB per octave. > " q)) > error-msg)) > > ; check for erroneous frequency cutoff value > (setf error-msg (if > (= (check f 1 20000) 0) > error-msg > (strcat error-msg (format nil > "Cutoff frequency ~a Hz lies outside valid range 1 to 20000. > " f)))) > > > (cond > ((> (length error-msg) 0) > (setf error-msg (strcat (format nil > "Error - \n\nYou have entered at least one invalid value: > ") error-msg)) > (format nil "~a" error-msg)) > ; > (t ; perform highpass effect > (funcall (nth rolloff-choice '(hp-s highpass2-s highpass4-s highpass6-s highpass8-s)) > s f q))) > > > > ; from previous commit > ; arch-tag: 49302eba-9945-43d7-aade-f1c7eded27af > [david@localhost souborydoaudacity]$
Pokud je těch souborů víc tak bych použil sed. Jinak by mělo stačit to otevřít v nějakém editoru a znovu uložit (kwrite by to měl zvládnout). V Linuxu je samozřejmě nejlepší používat Unixové (nebo Linuxové, jestli chceš) konce řádků, tedy LF.
Otevřít a znovu uložit nepomáhá.Hmm, když jsem se nedávno setkal se souborem se smíchanými konci řádek tak to kwrite opravil. Je možný, že je změnil ale až po tom, co jsem v tom souboru dělal nějaké další úpravy.
Jinak, co je sed?man sed
Ale jak ty konce řádků opravím?Existují nástroje
dos2unix
a unix2dos
, které konce řádků převedou.
sed 's/\n//g' můjhighpass.ny > budoucisoubor, zbyl jenom jeden konec řádků na konci souboru, který jsem smazal ručně pomoci klávesy del a stejně ten vzniklý soubor má pořád ty samé divné vlastnosti, jak ten původní.
[david@localhost Novaslozka]$ sed 's/\CR/\LF/g' můjhighpass.ny > moojhigh.ny [david@localhost Novaslozka]$ file -k moojhigh.ny moojhigh.ny: UTF-8 Unicode English text, with very long lines [david@localhost Novaslozka]$a přesto ten vzniklý soubor má stejně divné vlastnosti, jak ten můjhighpass.ny.
sed 's/\r//g' subor
dos2unix -U můjhighpass.ny > můjhighpass2.nya nový soubor má stále stejné vlastnosti. Potom jsem zadal
dos2unix -T můjhighpass2.ny > můjhighpass3.nya i ten třetí má stejné vlastnosti. Dos2unix funguje, konce řádků se opravily, ale zřejmě to nebude všechno, zřejmě v tom textovém souboru budou i některé jiné znaky v nepořádku. Nedá mi to a udělal jsem pokus. Když jsem ručně v textovém editoru celý text vymazal, vlastnosti se opravily. Když jsem do toho textového souboru obsah zpátky nakopíroval, (mám i kopii toho souboru), tak se vlastnosti zase zkazily. Když celý obsah textu vymažu a znovu do něj opíšu celý obsah textu ručně, vlastnosti se nezkazí, jsou dobré. Jestli si chcete můj textový soubor prohlédnout, je v příloze ke stažení.
Tiskni
Sdílej: