Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.
Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).
Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.
Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).
Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.
Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.
Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.
Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

#!/usr/bin/env python
import os, sys
try:
rename_flag = sys.argv[1] == '--rename'
except IndexError:
rename_flag = False
def suggest_new_name(name):
try:
newname = name.decode('utf-8').encode('iso-8859-2')
#newname = name.decode('iso-8859-2').encode('utf-8')
except UnicodeDecodeError:
return False
except UnicodeEncodeError:
return False
if newname == name:
return False #No renaming necesarry
return newname
def rename_path(oldpath, newpath):
print oldpath, '->', newpath
if rename_flag:
os.rename(oldpath, newpath)
def process_names(root, names):
for name in names:
newname = suggest_new_name(name)
if not newname: continue
fullpath_old = os.path.join(root, name)
fullpath_new = os.path.join(root, newname)
rename_path(fullpath_old, fullpath_new)
for root, dirs, files in os.walk('.', topdown=False):
process_names(root, files)
process_names(root, dirs)
Program projde vše rekurzivně v aktuálním adresáři a přejmenuje názvy z utf-8 do latin2, pokud takovou konverzi lze provést. Bez parametru '--rename' běží nanečisto - pouze vypíše, co by udělal.
Tiskni
Sdílej: