Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.
#!/usr/bin/env python import sys,os def getlines(filename): lines = {} for num, line in enumerate(file(filename)): lines[line.rstrip()] = num + 1 return lines def compare(linesx, linesy): for line in linesx.keys(): if linesy.has_key(line): continue print linesx[line], line lines1 = getlines(sys.argv[1]) lines2 = getlines(sys.argv[2]) compare(lines1, lines2) print '-'*80 compare(lines2, lines1)A když to otestuju třeba na těchto souborech
$ cat soubor1 prvni spolecny treti tohle neni v tom druhem druhy $ cat soubor2 prvni druhy treti spolecny a tohle zase neni v tom prvnimTak to vypíše
$./difflines.py soubor1 soubor2 4 tohle neni v tom druhem --------------------------------------------- 5 a tohle zase neni v tom prvnimUkazuje to i čísla řádků.
import sys a = file(sys.argv[1]).readlines() b = file(sys.argv[2]).readlines() sys.stdout.writelines([x for x in a if not x in b]) sys.stdout.writelines([x for x in b if not x in a])... ale to je jen taková hříčka.
a, b=ARGV[0..1].map{|x| File.open(x).readlines } puts a-b; puts b-a?
$ cat soubor1 soubor2 | sort | uniq --unique a tohle zase neni v tom prvnim tohle neni v tom druhem
uniq --unique
, tak by toto bylo nejjednodušší řešení a bylo by to super, jen jsem to zkoušel takhle fláknout do linuxu a nic. (Takhle nechorchoj:22:56:12 ~$ cat soubor1 prvni spolecny treti tohle neni v tom druhem druhy chorchoj:22:56:16 ~$ cat soubor2 prvni druhy treti spolecny a tohle zase neni v tom prvnim chorchoj:22:56:18 ~$ sort soubor1 soubor2 | uniq --unique a tohle zase neni v tom prvnim tohle neni v tom druhem
sed -n "/$searchstr/=" $i >out.s
, kde $searchstr je vlastně regulární výraz a v $i je uložen název souboru dá se tedy nějak zjisti jestli něco našel a zapsal do souboru nebo to musím obejít nějak jinak. díky
man test ... -s soubor Pravda, když soubor existuje a má délku větší než nula. ...
1. soubor 1 2 3 4 2. soubor 1 2 4 5 Smíchaný soubor (jestli to dobře chápu) 1 1 2 2 3 4 4 5Pokud ho budu porovnávat po dvojicích, tak bude, podle mne, vyhazovat nesmysli typu 3 není v pravo a 4 není vlevo a to samé pro 4 a 5 ne? Pak jsi něco psal o nějakém velice jednoduchém sedu, ale to nějak nechápu.
3c3 < 3 --- > 4 4c4 < 4 --- > 5Ohledně toho jednoduchého sedu -- tento prokládaný soubor nemusíš read-ovat po jednom řádku (pokud má hodně řádků, tak si kernel užije naplno fork() a exec()
exec 3<soubor1
exec 4<soubor2
IFS=''
read -u 3 line1
read -u 4 line2
Napsat plně funkční diff nebude trivální. Začal bych tím, že bych nadefinoval zjednodušené zadání. Omezení by bylo takové, že je povolen maximální rozdíl 1 řádek v oblasti začínající a končící úplnou shodou.
Tiskni
Sdílej: