Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).
Konference LinuxDays 2026 proběhne o víkendu 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Čekají vás desítky přednášek, workshopy, stánky a setkání se spoustou chytrých lidí.
Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 145. Aktuální verze Firefoxu je 148. Od září přejde Chrome na dvoutýdenní cyklus vydávání. V kterém týdnu bude mít Chrome větší číslo verze než Firefox? 😀
Apple představil nové čipy M5 Pro a M5 Max, MacBook Pro s čipy M5 Pro a M5 Max, MacBook Air s čipem M5 a Studio Display a nový Studio Display XDR.
Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13.
Byla vydána (Mastodon, 𝕏) třetí RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.
Apple představil iPhone 17e a iPad Air s čipem M4.
Byla vydána verze 1.0 editoru kódů Gram. Jedná se o fork editoru Zed bez telemetrie a umělé inteligence.
Byla oznámena spolupráce GrapheneOS s Motorolou. Podrobnosti v tiskové zprávě. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.
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 26.2.1. Přehled novinek v Changelogu.
Protože se mi často stává, že si při mazání více souborů omylem vymažu celý obsah adresáře, protože se mi do zápisu připlete *, rozhodnul jsem se, že si napíšu takový malý wrapper pro rm -fr v C.
Už ho mám skoro hotový, ale mám jeden problém. Když jsem ho spustil, tak jsem zjistil, že Bash do toho příkazu předává už přímo expandovanou *
#include <stdio.h>
#include <strings.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int i, opt;
for(i=1;i<argc;i++) {
if (strcasecmp(argv[i],"*")==0) {
printf("Opravdu chcete vymazat vsechny soubory v tomto adresari? (A/N)");
opt=getchar();
if (opt=='N') {
exit(1);
} else if (opt=='A') {
break;
}
}
}
argv[0]="rm";
execvp("rm", argv);
exit(0);
}
A proto mi nefunguje zvýrazněný řádek strcasecmp. Jde to nějak obejít?
Tiskni
Sdílej:
Zrovna jsem chtěl napsat, že v zsh stačí nenastavit RM_STAR_SILENT.
int i, opt;
moc nechápu, opt je integer (A/N má nějaké číslo?, nějak to nesedí)?
... jsou v C taky typu int.A jinde mají typ třeba char, ale lze je v pohodě "převést na čísla".
char je taky číslo, co jiného by to bylo.
int a na běžných platformách má také typicky jinou velikost.
#include <stdio.h>
int main()
{
printf("sizeof('a') je %d\n", sizeof('a'));
if (__builtin_types_compatible_p(typeof('a'), int))
printf("'a' je typu int\n");
if (__builtin_types_compatible_p(typeof('a'), char))
printf("'a' je typu char\n");
return 0;
}
Výsledek:
sizeof('a') je 4
'a' je typu int
Ale napadlo mě ještě jiné "řešení". alias myrm="touch neco; srm", kde neco bude nějaká nejlépe exotická věc - např. jeden znak, který by nikoho nenapadlo dát do názvu souboru, ale být v něm může. srm se pak podívá, jestli má na vstupu neco, když jo, tak jeden z parametrů byl *, ?*, *? (což je obojí to samé jako *), ?, nic jiného mě teď nenapadá. neco samozřejmě vždycky smaže.
ten touch by se musel pustit samostatně před mazáním