Byla vydána nová verze 0.17.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 206 vývojářů. Přehled novinek v poznámkách k vydání.
Open-source projekt OpenDLSS-NR je 'bitově přesná reimplementace' neuronové rendrovací sítě DLSS 5 od společnosti NVIDIA, jenže pro grafické API Vulkan (DLSS slouží k vylepšování klasickým způsobem vyrendrovaných snímků pomocí lokálních modelů umělé inteligence, a to v reálném čase). Projekt není nijak spojen se společností NVIDIA, je pouze pro OS Windows a natrénované váhy modelu si uživatelé musí obstarat sami. Zdrojový kód je k dispozici na GitHubu, pod licencí MIT s výjimkou pro komponenty třetích stran.
Společnost Cloudflare představila Clef a Clef-Flash, open-source rozhodovací modely určené pro rychlou a konzistentní klasifikaci vstupů. Na rozdíl od klasických LLM vracejí tyto modely deterministické striktně typované strukturované odpovědi s exaktními pravděpodobnostmi, tedy odpovědi ve stylu přelomového modelu Jev.
… více »Byla vydána beta verze Ubuntu 26.10 s kódovým názvem Stonking Stingray. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.10 mělo vyjít 15. října 2026.
Byla vydána verze 1.99.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.
Od 13. do 15. října proběhne v Praze OpenSSL Conference 2026. Na YouTube lze zhlédnout videozáznamy přednášek z loňského roku.
Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 2 GB varianty o 12,50 dolarů. Nově 2 GB Raspberry Pi 4 stojí 67,50 dolarů a 2 GB Raspberry Pi 5 stojí 77,50 dolarů.
OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 26.09. Vedle Flatpaku také s podporou Snapu.
Edison Design Group po více než 30 letech zveřejnil zdrojový kód svého EDG C/C++ front-endu. Ten proslul širokou podporou standardů C++ a kompatibilitou s dialekty kompilátorů od Microsoftu, GNU, Clangu, Sunu a dokonce i s prehistorickým cfrontem. EDG byl použit například v kompilátoru Intel C++ Classic, kompilátoru NVCC od firmy NVIDIA pro platformu CUDA nebo v našeptávači kódu IntelliSense v produktech společnosti Microsoft. Projekt nyní spravuje organizace The C++ Alliance a kód je dostupný pod licencí Apache 2.0, doplněnou o výjimky projektu LLVM.
Pocket Tank je malé kapesní virtuální akvárium postavené na vývojové desce ESP32-S3-Touch-AMOLED-1.8. Na dvoujádrovém mikrokontroléru ESP32-S3 s 8 MB PSRAM a 16 MB flash paměti běží jak simulace akvária, tak i malý jazykový model určující chování rybiček. Lokální model o velikosti 7,56 MB se 14 miliony parametrů vznikl destilací modelu Gemma 4 26B, tedy učitele s 26 miliardami parametrů. Kromě firmwaru pro skutečný modul s AMOLED
… více »Dobry den, jakym zpusobem mohu prosim v programu v jazyce C vytvorit z retezce MD5 hash?
Muzete mi prosim napsat kostru programu co zahashuje treba retezec "ahoj"? Nejsem v programovani moc zbehly. Dekuji.
Ja som si skusil osviezit znalosti z C a vzniklo to co je v prilohe.
Zkompiluje sa prikazom "gcc -lssl main.c"
#include <openssl/md5.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
char text[] = "ahoj";
unsigned char hash[16];
int i;
MD5((unsigned char *) text, strlen(text), hash);
for(i = 0; i < sizeof(hash); i++)
printf("%02X", (int) hash[i]);
putchar('\n');
return 0;
}
Přeložíš to příkazem gcc -Wall -lssl jmeno_souboru.c
#include <openssl/md5.h>
int main() {
unsigned char * zahashovanyRetezec = MD5 ("ahoj",4,NULL);
return 0;
}
Dekuji obema - toto je prave to, cim jsem si nebyl jisty: Jaky je rozdil kdyz pouziji pouze funkci MD5() nebo kdyz pouziji sekvenci fci MD5_Init, MD5_Update a MD5_Final?
aniž vím z dokumentace, jaký rozdíl je, tak asi tuším - obecně, když se třeba dělá hash pár set MB dat (třeba hash ISO obrazu CD), tak nebudeš mít celý ISO obraz v paměti, ale budeš načítat po kouscích (třeba po 1MB), a připočítáš nějak k hashi předchozích částí hash právě načtené části pomocí MD5_Update (tzn. MD5_Update zavoláš třeba pársetkrát pro ten ISO obraz). Před prvním zavoláním MD5_Update zavoláš MD5_Init, aby si inicializoval výpočet, po posledním zavolání zavoláš MD5_Final, abys výpočet dokončil. Ale když máš málo dat (třeba řetězec, nebo malý soubor), tak bys MD5_Update volal jen jednou, a před tím bys musel zavolat MD5_Init a potom MD5_Final, takže abys tam neměl tolik omáčky, tak je pro tvé pohodlí ještě funkce MD5, která udělá přesně to, co jsem popsal, tedy 3 volání v jednom kroce, takže ty nemusíš tolik psát a je to přehlednější (ale nepoužitelné pro velká data).
vim ~/.emacs
Tiskni
Sdílej: