Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.6. Přehled novinek s náhledy v oznámení na blogu.
V Edici CZ.NIC, knižní řady správce české národní domény, vychází nová kniha Martina Malého Kódy, buildy, firmwary. Autor po půl roce od vydání předchozího titulu přichází se svou již sedmou knihou, tentokrát zaměřenou na vývoj programového vybavení pro embedded zařízení. Publikace s podtitulem Základy vývojářského řemesla pro tvůrce hobby elektroniky nabízí praktického průvodce pro všechny, kdo své projekty vytvořené s Arduinem
… více »V Brně na FIT VUT probíhá dvoudenní open source komunitní konference DevConf.CZ 2026. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Byla vydána nová verze 15.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.
Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.
Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.
V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.
Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být
… více »find -name *.txt
tyto soubory chci premistit nebo zkopirovat do adresare zaloha
zkousel jsem
find -name *.txt|cp "sem nevim co napsat" zaloha
dale jsem zkousel find -name *.txt > f1 a pak cp < f1 zaloha
diky
cp `find . -name \*.txt` zaloha/
find . -name \*.txt -exec cp {} zaloha/ \;
find . -name \*.txt | xargs -ixxx cp xxx zaloha/ \;
Každý má své výhody a nevýhody. Samozřejmě je potřeba ještě ošetřit problémové znaky v názvech souborů.
find -name '*.txt' -exec ls {} \;
To s hvezdickou musi byt v uvozovkach/apostrofech, jinak to expanduje shell. Vice viz 'man find'.
#!/usr/bin/env python
import os, sys, stat, time, re, pwd
dir = '/tmpsamba'
file_age = 10 * 24 * 3600 #Delete files older than this number of seconds
epochsec = time.time() #Current time
def is_file_old_enough(path, anewer):
if not os.path.isfile(path):
print "Error, " + path + " is not a file"
return False
time_threshold = epochsec - anewer
if time_threshold < os.stat(path).st_atime:
# print 'File ' + fullpath + ' was recently accessed'
return False
else:
return True
def is_path_old_enough(path, anewer):
if os.path.islink(path): return True # We can always consider links to be old
# enough to be deleted
if not os.path.isdir(path): #If the tested path is not a directory, ...
return is_file_old_enough(path, anewer)
for root, dirs, files in os.walk(path, topdown=False):
for name in files:
fullpath = os.path.join(root, name)
if os.path.islink(fullpath): continue #This should skip links
if not is_file_old_enough(fullpath, anewer):
return False
return True
def rm_rf_path(path_to_rm):
if not re.search('^/tmpsamba/', path_to_rm): # Just to make sure we are not
# deteting something valuable
print "Refused to delete " + path_to_rm
return
stat_result = os.lstat(path_to_rm) #do not follow symbolic links
uid = stat_result[stat.ST_UID]
name = pwd.getpwuid(uid).pw_name
print "Deleting " + path_to_rm, '('+name+')'
os.system("rm -rf '" + path_to_rm + "'")
return
items = os.listdir(dir)
for i in items:
fullpath = os.path.join(dir, i)
if is_path_old_enough(fullpath, file_age):
rm_rf_path(fullpath)
find -type d -o -type f -ctime -10 -printf '%h\n'Tudíž ostatní smažeme, doplníme zbytek roury (uniq bohužel nemá volbu -z):
sort -z <(find -type d -o -type f -ctime -10 -printf '%h\000') <(find -type d -print0) \
| tr '\000' '\n' | uniq -u | xargs rm -r
Zbudou ke smazání ještě prázdné adresáře:
find -depth -mindepth 1 -type -d -empty -exec rmdir {} \;
Teď ještě vypsat, komu to patřilo, což bohužel doposud pěkné roury znepřehlední, a tak to nechám na čtenáři...
Tiskni
Sdílej: