Jack Dorsey představil (𝕏, Nostr) svůj nový projekt bitchat. Jedná se o bezpečnou decentralizovanou peer-to-peer aplikaci pro zasílání zpráv bez potřeby internetu, serverů a telefonních čísel. Využívá se Bluetooth Mesh Network. Detaily v technické dokumentaci. Zdrojové kódy jsou k dispozici pod licencí Unlicense.
Hudební přehrávač Amarok byl vydán v nové verzi 3.3 "Far Above the Clouds". Nově je postaven na Qt6/KF6 a využívá GStreamer místo Phononu.
Společnost IBM představila novou generaci svých serverů: IBM Power11.
Multiplatformní digitální pracovní stanice pro práci s audiem Ardour byla postavena na GTK2. Vývojáři neplánovali její portaci na GTK3 nebo GTK4. Naopak, v lednu loňského roku si vytvořili vlastní fork GTK2 s názvem YTK. Ten v únoru letošního roku přestal být volitelným a nově byla zcela odstraněna podpora GTK2.
Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.
… více »Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.
Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.
Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.
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
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.