Microsoft poskytl FBI uživatelské šifrovací klíče svého nástroje BitLocker, nutné pro odemčení dat uložených na discích třech počítačů zabavených v rámci federálního vyšetřování. Tento krok je prvním známým případem, kdy Microsoft poskytl klíče BitLockeru orgánům činným v trestním řízení. BitLocker je nástroj pro šifrování celého disku, který je ve Windows defaultně zapnutý. Tato technologie by správně měla bránit komukoli kromě
… více »Spotify prostřednictvím svého FOSS fondu rozdělilo 70 000 eur mezi tři open source projekty: FFmpeg obdržel 30 000 eur, Mock Service Worker (MSW) obdržel 15 000 eur a Xiph.Org Foundation obdržela 25 000 eur.
Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.
Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.
Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční
… více »Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.
Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.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.
Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.
Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.
fallocate -o 4096 -l 4096 -i souborAle funguje to jenom na některých FS (ale třeba na ext4 jo) a asi jenom pro násobky celých bloků.
Robím si úložisko objektov a rozmýšľam ako takéto situácie riešiť čo najefektívnejšie.Nevím, co to má přesně umět, ale tohle prostě nechceš dělat. Použij nějakou vlastní datovou strukturu (strom s pointery?) nebo SQLite As An Application File Format.
Ještě koukni na LMDB.
Ako niečo podobné riešia napr. databázy?Obecně je to tak, že fs umí soubory pouze přepisovat a nebo appendovat na jejich konec. To, co psal Jenda v prvním komentáři, je trochu nestandardní a je to podporované pouze dvěma fs a to ještě za dalších podmínek, jako že to musí být zarovnané na hranice bloků; v diskusi se tam někdo ptal, jak je to s mmap (bez odpovědi) apod. Tj. fungovalo by to pouze na konkrétním konkrétně nastaveném fs a k tomu přizpůsobeném programu. Databáze to mají různě. Některé pouze appendují na konec a ke každému záznamu si přidávají číslo zápisu. Tedy pouze rostou a jednou za čas je potřeba udělat kopii posledních verzí záznamů do nového souboru. Tohle je současně i nejjednodušší řešení. Čistej append pro zápis a čtení po záznamech. Obecně se tohle řeší tak, že db má ve svém souboru data ukládaná do stránek (typicky třeba 8KB), o každé stránce ví, jestli je plná nebo prázdná. Takže nová data jdou na konec souboru a nebo na volnou stránku a při potřebě něco smazat se upraví jen daná stránka. Docela dobře se to řeší přes mmap. Výhodou je, že používaný soubor (insert, delete, update), už dál neroste (prostě má nějakou svou velikost danou jeho použitím). Pro jeho zmenšení na minimální velikost je stále potřeba zkopírovat pouze živé záznamy (vacuum - tohle musejí dělat všechny velké db, nějakou formou). Pokud pracuješ se záznamy o jasné dané a neměnné velikosti, tak k nim zkus přidat flag, jestli je ten záznam živý nebo smazaný (nebo rovnou číslo transakce) a zkus updatovat binární soubor takto.
- Pridej druhy soubor "zurnal" kam budes zapisovat vzdy na konec zmeny.
nejake zaznamy position, data
- Nebo udelej hlavni soubor strukturovany
Kazdopadne pri cteni se ti to trochu zkomplikuje a nebo se ti to zkomplikuje pri zapisu (posun vseho).
Tiskni
Sdílej: