Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Ken Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.
Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.
Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].
Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.
Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 2. snapshot Ubuntu 25.10 (Questing Quokka).
Město Lyon posiluje svou digitální suverenitu a postupně nahrazuje software od společnosti Microsoft bezplatnými alternativami, zejména OnlyOffice pro kancelářské aplikace a Linux a PostgreSQL pro systémy a databáze.
Evropská občanská iniciativa Stop Destroying Videogames se snaží o to, aby vydavatelé, kteří spotřebitelům v Evropské unii prodávají videohry nebo na ně udělují licence, měli povinnost tyto hry ponechat ve funkčním (hratelném) stavu i po ukončení podpory ze své strany. Podpořit podpisem tuto iniciativu můžete v Systému pro online sběr podpisů.
Mozilla oficiálně ukončila svůj již několik let mrtvý projekt DeepSpeech pro převod řeči na text.
Na rozdiel od bash-u si zsh výsledky vyhľadávania po sebe pekne „uprace“ a po pustení príkazu nebude doplňovanie nikde v histórii.
Nevšiml jsem si, že by mi bash při použití autocompletion ukládal do historie něco jiného než příkaz, který jsem nakonec opravdu odeslal.
time (i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done)
atd.
$ time (i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done) real 0m3.343s user 0m3.200s sys 0m0.080s $ time (i=0; while [[ $i -lt 100000 ]]; do i=$((i+1)); done) real 0m1.847s user 0m1.780s sys 0m0.060s $ time (i=0; while [[ $i -lt 100000 ]]; do ((i++)); done) real 0m1.566s user 0m1.490s sys 0m0.070sTo posledne len pre zaujimavost, ze rozne sposoby zapisu nie su uplne rovnake, ale maju vplyv na rychlost. Samozrejme vacsinou to vyznam nema, ako som sa naucil v praci - co sa vykonava konstantny pocet krat je rychle a co sa alokuje na konstantnu velkost je male. Pri realnych obrovskych casoch a obrovskych datach je nejaka rychlost inicializacie a velkost konstatnych struktur doslova zanedbatelna. Ale uz som programoval v bashi vascie veci, kde mi tento suborovo-textovy nastroj tak ulahcoval zivot, ze sa mi to prepisovat do C nechcelo. A tam ma vyznam pouzit o o znak viac alebo menej a opvlyvnit rychlost o citelu dobu. A uvazovat, ze spustanie noveho procesu je az posledna moznost ako nieco vyriesit.
Ale uz som programoval v bashi vascie veci, kde mi tento suborovo-textovy nastroj tak ulahcoval zivot, ze sa mi to prepisovat do C nechcelo.
Na tieto prípady skôr používam python / perl. Malý benchmark tu:
time perl test.pl real 0m0.014s user 0m0.010s sys 0m0.003s time python test.py real 0m0.049s user 0m0.040s sys 0m0.007s time (i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done) #bash real 0m1.940s user 0m1.850s sys 0m0.057s time (i=0; while [[ $i -lt 100000 ]]; do i=$((i+1)); done) #bash real 0m1.004s user 0m0.953s sys 0m0.043s
$ time (i=0; while [[ $i -lt 100000 ]]; do i=$((i+1)); done) real 0m0.889s user 0m0.830s sys 0m0.040sJeste rychlejsi varianta:
$ time (i=0; while (( i < 100000 )); do ((i++)); done) real 0m0.811s user 0m0.760s sys 0m0.040s
time for((i=0; i < 100000;)); do ((i++)); donetrva cca polovicu z toho, co
time (i=0; while [ $i -lt 100000 ]; do i=$((i+1)); done)ale slo mi o porovnanie co najpodobnejsieho prikazu, aby z toho sla vyvodit rychlost shellu a nie optimalizacia programatora. Pretoze fakt optimalizacia je
i=100000
${?/#0/}
, takze nerusi, ak bolo vsekto OK. A je to bez spustania noveho procesu. Niekde tu by mala byt v historii diskusia, kde som bol tymto osvieteny, ale uz ju neviem dohladat.
Takze moj prompt riesi hodne veci:
PS1='\[\033[01;32m\]\u@\h \[\033[01;36m\]\W \[\033[01;31m\]${?/#0/}\[\033[01;36m\]\$ \[\033[00m\]'a samotna idea bez farbiciek:
PS1='\u@\h \W ${?/#0/}\$ '
PS1='%n@%m %~ %0(?..%?)$ ' PS1='%B%F{green}%n@%m %F{cyan}%~ %F{red}%0(?..%?)%F{cyan}$ %f%b'
ls **/foo*.cpp # ** matchuje rekurzivne do libovolne hloubky adresaru; btw ** je podporovan i ve vim-u ls **/foo*(.) # (.) na konci globu znaci jenom regulerni soubory ls **/foo*(/) # (/) na konci globu znaci jenom adresare ls (#i)*foo* # (#i) je case-insensitive match ls foo*~foo*bar # ~ je vyjimka - vsechny foo*, ale ne ty, ktere matchuji foo*barzmv je prejmenovavaci utilita s zsh globbingem a capture groups (do ~/.zshrc pridat na zapnuti 'autoload zmv'):
zmv 'DSCN([0-9]).jpg' 'Tajny_plan_na_dobyti_mesice_$1.jpg' # veci v zavorkach se substituuji za $1, $2, ... zmv '(*)' '${(L)1}' # vyraz ${(L)} lowercasuje operand - vhodne pri mixu souboru pochazejicich z ruznych OSPerlicka - automaticke parsovani optionu z ./configure i se zobrazenim napovedy k optionum. Napr. kdyz si nepamatuji --with or --enable:
./configure --with<TAB>
shopt -s globstar
a 4. chce shopt -s nocaseglob
<pre class="brush: ...">
s jazykem, který ten udělátor nezná. Asi si napíšu GreaseMonkey skript, který všechny ty "brush: ...
" nahradí starým dobrým "kod
", stejně mi to přijde přehlednější než ty barvičky.
Tiskni
Sdílej: