Od 1. ledna 2026 jsou všechny publikace ACM (Association for Computing Machinery) a související materiály přístupné v její digitální knihovně. V rámci této změny je nyní digitální knihovna ACM nabízena ve dvou verzích: v základní verzi zdarma, která poskytuje otevřený přístup ke všem publikovaným výzkumům ACM, a v prémiové zpoplatněné verzi, která nabízí další služby a nástroje 'určené pro hlubší analýzu, objevování a organizační využití'.
K 1. lednu 2026 končí 70leté omezení majetkových autorských práv děl autorů zesnulých v roce 1955, viz 2026 in public domain. V americkém prostředí vstupují do public domain díla z roku 1930, viz Public Domain Day.
Všem vše nejlepší do nového roku 2026.
Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.
Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().
Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.
Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.
V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.
$fp = FOpen ($filename, "rb");
$text = FRead ($fp, FileSize ($filename));
FClose ($fp);
$patterns = array(
"/^(.*)\.(.*) /smUe"
);
$replacements = array(
"StrFTime('%d/%m/%Y %H:%M:%S', '\\1')"
);
$text = preg_replace($patterns,$replacements, $text);
cat access.log |
cut -d. -f1 |
while read sec; do
date -d "19700101 00:00:00 $sec sec" "+%d/%m/%Y %H:%M:%S"
done
#!/usr/bin/python
import time
for line in file('access.log'):
splitted = line.split()
firsttwo = ' '.join(splitted[:2])
text = ' '.join(splitted[2:])
time_tuple = time.strptime(firsttwo, '%d/%m/%Y %H:%M:%S')
print time.mktime(time_tuple), text
Zpracovává to asi 10000 řádků za sekundu a paměť by to taky nějak zvlášť žrát nemělo.
10000 řádků za sekundu je málo. Ten php skript zpracuje 50 MB soubor logu za 3 sekunkdy.Tak o takové rychlosti si mohu nechat jen zdát. Odhaduji, že ten tvůj padesátimegový log obsahuje půl miliónu řádků. Už pouhé volání funkce strptime() z pythonu si u mě vezme 70 mikrosekund, což samo o sobě by se natáhlo na více než půl minuty. Rád bych pohlédl kruté pravdě do očí - máme tak strašně odlišné počítače nebo lžou všichni, co údajně svůj web urychlili přepsáním z php do pythonu?
Tak tady je nová verze
#!/usr/bin/env python
import time
for line in file('access.log'):
sec, text = line.split(' ', 1)
ttuple = time.localtime(float(sec))
print time.strftime('%d/%m/%Y %H:%M:%S', ttuple), text,
která zpracovává 40000 řádků za sekundu (změřeno), vypisuje vždy celý řádek logu, jen čas a datum má polidštěný formát. Padesátimegový log se zpracovává 10 sekund a líp to nedokážu.
# time perl -p -e 's/^\d+\.\d+/localtime $&/e;'< access.log > access-lidsky.log real 0m39.863s user 0m30.460s sys 0m3.120s
# cat /var/log/dmesg|grep MIPS Calibrating delay loop... 799.53 BogoMIPS
# ls -l access.log -rw-r----- 1 proxy proxy 49436371 Feb 6 15:23 access.log
Zkusím tedy napodobit ten perlovský kód a předpokládat, že formát data a času vyhovuje tak, jak ho vrací funkce ctime().
#!/usr/bin/env python
import time
for line in file('access.log'):
sec, text = line.split(' ', 1)
print time.ctime(float(sec)), text,
A opravdu se to tím zrychlilo:
$ time ./readfile.py > access-lidsky.log real 0m6.020s user 0m5.415s sys 0m0.527s $ time perl -p -e 's/^\d+\.\d+/localtime $&/e;'< access.log > access-lidsky.log real 0m9.052s user 0m7.245s sys 0m1.725sTakže padesátimegový log se pythonem zpracuje za 6 sekund, v těsném závěsu je perl s devíti sekundami. Ale nad rychlostí toho PHP mi zůstává rozum stát.
Tiskni
Sdílej: