Virtualizační softwary VMware Workstation Pro a VMware Fusion Pro jsou nově pro osobní použití zdarma. Softwary VMware Workstation Player a VMware Fusion Player končí.
Linuxová distribuce Endless OS (Wikipedie) byla vydána ve verzi 6.0.0. Přehled novinek i s náhledy v příspěvku na blogu, poznámkách k vydání a také na YouTube.
Byl vydán Mozilla Firefox 126.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vylepšena byla funkce "Zkopírovat odkaz bez sledovacích prvků". Přidána byla podpora zstd (Zstandard). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 126 je již k dispozici také na Flathubu a Snapcraftu.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 11.0. Přehled novinek v aktualizované dokumentaci.
Byla vydána nová verze 24.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Wynsdey. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.
Byla představena oficiální rozšiřující deska Raspberry Pi M.2 HAT+ pro připojování M.2 periferii jako jsou NVMe disky a AI akcelerátory k Raspberry Pi 5. Cena je 12 dolarů.
V Praze o víkendu proběhla bastlířská událost roku - výstava Maker Fair v Praze. I strahovští bastlíři nelenili a bastly ostatních prozkoumali. Přijďte si proto i vy na Virtuální Bastlírnu popovídat, co Vás nejvíce zaujalo a jaké projekty jste si přinesli! Samozřejmě, nejen českou bastlířskou scénou je člověk živ - takže co se stalo ve světě a o čem mohou strahováci něco říct? Smutnou zprávou může být to, že provozovatel Sigfoxu jde do
… více »Kam asi vede IllllIllIIl.llIlI.lI? Zkracovač URL llIlI.lI.
Společnost OpenAI představila svůj nejnovější AI model GPT-4o (o jako omni, tj. vše). Nově také "vidí" a "slyší". Videoukázky na 𝕏 nebo YouTube.
Ondřej Filip publikoval reportáž z ceremonie podpisu kořenové zóny DNS. Zhlédnout lze také jeho nedávnou přednášku Jak se podepisuje kořenová zóna Internetu v rámci cyklu Fyzikální čtvrtky FEL ČVUT.
def berlekamp_massey_algorithm(seq): n = len(seq) b, c = [0]*n, [0]*n b[0], c[0] = 1, 1 L, m, i = 0, -1, 0 for j in range(n): d = seq[j] for k in range(1, L+1): d ^= c[k] & seq[j-k] if d == 1: t = c.copy() p = [0]*n for k in range(n-j+m): p[k] = b[k+j-m] ^ t[k] if L <= j//2: L = j + 1 - L m = j b, c = t, p else: for k in range(n-j+m): c[k] = b[k+j-m] ^ p[k] return L, b[:L+1], c[:L+1] def generate_lfsr_output(poly, seq_len): n = len(poly) state = [0]*(n-1) + [1] output = [] for i in range(seq_len): out = state[-1] for j in range(n-1): if poly[j+1]: out ^= state[j] state = [out] + state[:-1] output.append(out) return output def main(): seq = [0, 1, 1, 0, 1, 0, 0, 1] L, b, c = berlekamp_massey_algorithm(seq) print(f"Shortest LFSR length: {L}") print("LFSR polynomial coefficients (backward):") print(b[::-1]) generated_seq = generate_lfsr_output(b[::-1], len(seq)) print("Generated sequence:") print(generated_seq) print("Verification result:") print(seq == generated_seq) if __name__ == '__main__': main()Výstup vypadá takto
Shortest LFSR length: 4 Polynomial: x^4 + x^3 + x^1 LFSR polynomial coefficients (backward): [1, 1, 0, 1, 0] original sequence: [0, 1, 1, 0, 1, 0, 0, 1] Generated sequence: [1, 1, 0, 0, 1, 0, 0, 0] Verification result: False
def berlekamp_massey(sequence): n = len(sequence) s = list(map(int, sequence)) k = 0 for k in range(n): if s[k] == 1: break f = {k + 1, 0} l = k + 1 g = {0} a = k b = 0 for n in range(k + 1, n): d = 0 for item in f: d ^= s[item + n - l] if d == 0: b += 1 else: if 2 * l > n: f ^= set([a - b + item for item in g]) b += 1 else: temp = f.copy() f = set([b - a + item for item in f]) ^ g l = n + 1 - l g = temp a = b b = n - l + 1 degree = max(f) c = [0] * (degree + 1) for exp in f: c[degree - exp] = 1 return f, c, l def get_polynomial_string(f): result = '' lis = sorted(f, reverse=True) for i in lis: if i == 0: result += '1' else: result += 'x^%s' % str(i) if i != lis[-1]: result += ' + ' return result def generate_lfsr_output(poly, seq_len, seq): n = len(poly) state = seq[:n-1][::-1] output = [] for i in range(seq_len): out = state[0] for j in range(1, n): if poly[j]: out ^= state[j-1] state = [out] + state[:-1] output.append(out) return output[::-1] def main(): seq = [0, 1, 1, 0, 1, 0, 0, 1] seq2 = [1, 1, 1, 1, 1, 1, 1, 1] f, c, L = berlekamp_massey(seq) print("Shortest LFSR length: {}".format(L)) print("Polynomial: {}".format(get_polynomial_string(f))) print("LFSR polynomial coefficients (backward): {}".format(c)) generated_seq = generate_lfsr_output(c[::-1], len(seq), seq2) print("original sequence:") print(seq) print("Generated sequence:") print(generated_seq) print("Verification result:") print(seq == generated_seq) if __name__ == '__main__': main()berlekamp_massey je pravděpodobně dobře, myslím, že je problém v generování LFSR, počátečním stavu, nebo tvaru polynomu.
Tiskni Sdílej: