Byla vydána verze 1.79.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.
Byly zveřejněny výsledky průzkumu (infografika) mezi uživateli FreeBSD.
Na konferenci DevConf.CZ 2024 je na stánku Furi Labs prezentován linuxový telefon FuriPhone FLX1. Jeho cena 499 dolarů.
Bylo vydáno Eclipse IDE 2024-06 aneb Eclipse 4.32. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-2 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.
Po roce od vydání verze 15.5 bylo vydáno openSUSE Leap 15.6. Přehled novinek v nejnovější verzi této linuxové distribuce v oznámení o vydání a v poznámkách k vydání.
Byla vydána nová verze 256 správce systému a služeb systemd (GitHub). Nově mimo jiné s run0 jako alternativou k sudo.
Společnost Oracle oznámila spolupráci s Google Cloudem, OpenAI a Microsoftem.
Zítra začne v Brně na FIT VUT třídenní open source komunitní konference DevConf.CZ 2024. Vstup je zdarma, nutná je ale registrace. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Google Chrome 126 byl prohlášen za stabilní. Nejnovější stabilní verze 126.0.6478.55 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
#!/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: