Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.
Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Kent Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.
Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.
Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].
Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.
Byla vydána verze 1.88.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.
Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 2. snapshot Ubuntu 25.10 (Questing Quokka).
Město Lyon posiluje svou digitální suverenitu a postupně nahrazuje software od společnosti Microsoft bezplatnými alternativami, zejména OnlyOffice pro kancelářské aplikace a Linux a PostgreSQL pro systémy a databáze.
Evropská občanská iniciativa Stop Destroying Videogames se snaží o to, aby vydavatelé, kteří spotřebitelům v Evropské unii prodávají videohry nebo na ně udělují licence, měli povinnost tyto hry ponechat ve funkčním (hratelném) stavu i po ukončení podpory ze své strany. Podpořit podpisem tuto iniciativu můžete v Systému pro online sběr podpisů.
#!/usr/bin/python import sys data = sys.argv[1] key = sys.argv[2] buckets = [] keyLen = len(key) seq = [ None ] * keyLen read = 0 chidx = 0 totalLen = 0 for chpos in range(0, 26): found = True while found: found = True ch = chr(ord('a')+chpos) if ch not in key: found = False break idx=key.index(ch) k=list(key) k[idx]='#' key="".join(k) seq[idx] = chidx+1 chidx +=1 totalLen += chidx print("totalLen: "+str(totalLen)) print("dataLen: "+str(len(data))) if totalLen < len(data): repeats = len(data) / totalLen seqLen = len(seq) for j in range(0, int(repeats)-1): for i in range(0, seqLen): seq.append(seq[i]) bucket = 0 bucket_pos = 0 for c in data: if bucket >= len(buckets): buckets.append([ c ]) else: buckets[bucket].append(c) bucket_pos += 1 if bucket_pos >= seq[bucket]: bucket += 1 bucket_pos = 0 if bucket >= len(seq): bucket = 0 bucket_pos = 0 i = 0 c=1 for j in range(0, 100): found = False for i in range(0, len(seq)): if j < len(buckets[i]): if c % 2 == 0: endch=" " else: endch="" print(buckets[i][j], end=endch) c+=1 else: continue print()A wrapper roche.sh:
#!/bin/bash data=`cat colonel_roche.encrypted` keys=("monday" "monday" "monday" "monday" "monday" "monday" "monday" "monday") offset=0 chunkSize=0 dataSize=`echo -n "$data"|wc -c` keyIdx=0 while [ $offset -lt $dataSize ]; do key=${keys[$keyIdx]} chunkSize=0 for i in $(seq 1 $(echo -n $key|wc -c)); do let chunkSize=$chunkSize+$i done #echo "chunkSize: $chunkSize" workChunk=$(echo "$data"|tail -c +$(expr $offset + 1)|head -c $chunkSize) echo "workChunk: $workChunk" echo "key: $key" if [ -z "$key" ]; then break fi ANS="$ANS $(./roche.py $workChunk $key|grep -v Len)" echo let offset=$offset+$chunkSize let keyIdx=$keyIdx+1 done echo $ANS|xxd -r -ps
#!/usr/bin/python import matplotlib.image as img import numpy as np import scipy.misc from PIL import Image mimg = Image.open("m.png") cimg = Image.open("c.png") m = np.array(mimg) c = np.array(cimg) mcsq = c * c * m scipy.misc.imsave("mcsq.png", mcsq)Tady byla trochu zrada, kdyz clovek pouzil matplotlib.image.imread, tak to normalizovalo data v obrazku na 0...1 (misto 0..255), takze to pak nevychazelo).
Tiskni
Sdílej: