Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 145. Aktuální verze Firefoxu je 148. Od září přejde Chrome na dvoutýdenní cyklus vydávání. V kterém týdnu bude mít Chrome větší číslo verze než Firefox? 😀
Apple představil nové čipy M5 Pro a M5 Max, MacBook Pro s čipy M5 Pro a M5 Max, MacBook Air s čipem M5 a Studio Display a nový Studio Display XDR.
Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13.
Byla vydána (Mastodon, 𝕏) třetí RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.
Apple představil iPhone 17e a iPad Air s čipem M4.
Byla vydána verze 1.0 editoru kódů Gram. Jedná se o fork editoru Zed bez telemetrie a umělé inteligence.
Byla oznámena spolupráce GrapheneOS s Motorolou. Podrobnosti v tiskové zprávě. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.2.1. Přehled novinek v Changelogu.
Volí se dvě místa v Radě openSUSE. Seznamte se se čtyřmi kandidáty. Členové projektu openSUSE mohou hlasovat od 1. do 8. března. Výsledky budou oznámeny 9. března.
Společnost OpenAI uzavřela dohodu s americkým ministerstvem obrany o poskytování technologií umělé inteligence (AI) pro utajované sítě americké armády. Firma to oznámila několik hodin poté, co prezident Donald Trump nařídil vládě, aby přestala využívat služby společnosti Anthropic.
prolízt a naparsovat :O :O
hóóóóóóóódně jednoduchý py spojovadlo *.sh souborů :O :O
#!/usr/bin/env python3
# TODO: nehlídá to dělání 'cd'!!!!!!!!!
# taky neinterpretruje proměný kdyby třeba byly strčený do názvu tý cestičky ke spriptu!!!!! :O :O
def radek_obsahuje_import(radek):
kusy = radek.split(" ")
if len(kusy) < 2:
return None
if kusy[0] == "source" or kusy[0] == ".":
return kusy[1].strip()
return None
# rekurzivně prolezem soubor a natáhnem všecky bashovský importy
def zpracovat_soubor(nazev_souboru):
vystup = []
vstup_radky = []
with open(nazev_souboru, "r") as soubor:
vstup_radky = soubor.readlines()
soubor.close()
for radek in vstup_radky:
imp = radek_obsahuje_import(radek)
if imp is not None:
print(f"importuju soubor: {imp}")
obsah_dalsiho_souboru = zpracovat_soubor(imp)
print(obsah_dalsiho_souboru)
# odstranění shebangu (by asi jako stačilo zahazovat dycky prvni radek jestli je dycky nazacatku :O :O)
# možná bude potřebovat naparsovat další veci různý jako stejný názvy různejch fcí etc :O :O
for r in obsah_dalsiho_souboru:
if "#!" in r:
obsah_dalsiho_souboru.remove(r)
break
vystup += obsah_dalsiho_souboru
else:
print(radek)
vystup.append(radek)
return vystup
if __name__ == "__main__":
vstupni_soubor = "vstup.sh"
vystupni_soubor = "velikatatatatatanskej_vystupni_skript.sh"
with open(vystupni_soubor, "w") as soubor:
vystup = zpracovat_soubor(vstupni_soubor)
if vystup is not None:
soubor.writelines(vystup)
soubor.close()
print("hotovo!!!!!!!!!!!!!!!!!!!!!!!!!!!")
dodělej si sám :D
source v podmínce, která se nevykoná, nebo se bude dělat source $proměnná, která se uvnitř kódu nějak vypočítala. V takových případech neexistuje jiná možnost, než to spustit a sledovat - můžete si zkusit ukázat, že kdyby se to umělo rozhodovat staticky, tak lze takovým programem řešit halting problem
.
nj neni to nic supr :D ale nevíme jak moc složitý ty jeho skripty sou je možný že jestli toje nějaká jednoduchá lepenina by mu to mohlo takle stačit :D
u toho hooknutí source by mu to taky teroreticky nemuselo nějakou podmínku/proměnou minout podle vokolností různejch + tim 'načíst do jednoho souboru' asi jako op myslel sloučit ty skripty do jedno víc věčího než jakoby jenom vypsat dosouboru :O :O
Tiskni
Sdílej: