SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační
… více »PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují
… více »GIMP 3.2 byl oficiálně vydán (Mastodon, 𝕏). Přehled novinek v poznámkách k vydání.
FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.
Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.
Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.
Agent umělé inteligence Claude Opus ignoroval uživatelovu odpověď 'ne' na dotaz, zda má implementovat změny kódu, a přesto se pokusil změny provést. Agent si odpověď 'ne' vysvětlil následovně: Uživatel na mou otázku 'Mám to implementovat?' odpověděl 'ne' - ale když se podívám na kontext, myslím, že tím 'ne' odpovídá na to, abych žádal o svolení, tedy myslí 'prostě to udělej, přestaň se ptát'.
Po 8. květnu 2026 už na Instagramu nebudou podporované zprávy opatřené koncovým šifrováním. V chatech, kterých se bude změna týkat, se objeví pokyny o tom, jak si média nebo zprávy z nich stáhnout, pokud si je chcete ponechat.
V lednu byla ve veřejné betě obnovena sociální síť Digg (Wikipedie). Dnes bylo oznámeno její ukončení (Hard Reset). Společnost Digg propouští velkou část týmu a přiznává, že se nepodařilo najít správné místo na trhu. Důvody jsou masivní problém s boty a silná konkurence. Společnost Digg nekončí, malý tým pokračuje v práci na zcela novém přístupu. Cílem je vybudovat platformu, kde lze důvěřovat obsahu i lidem za ním. Od dubna se do Diggu na plný úvazek vrací Kevin Rose, zakladatel Diggu z roku 2004.
Nazdar. Střípky znalostí, jak už název napovídá, jsou určeny k sbírání různých útržků, které bych si jinam asi nezapsal. Tady je na ně vhodné místo. Ale píšu sem jenom občas. Jinak, další zajímavé informace najdete na mých stránkách.
Vyrobil jsem si jednoduchý PHP skriptík na zálohování databáze na svých stánkách. Na požádání vyexportuje databázi (mysql) do souboru, volitelně ho zkomprimuje a vypíše URL zálohy. Nic složitého, ale někomu by se to mohlo hodit. (Třeba mě, až na něj zapomenu. ;)
Při spuštění se to zeptá na typ komprese (bzip2, gzip, bez komprese). Jakmile to ví typ komprese, databázi vyexportuje, zkompimuje a uloží do souboru a zobrazí odkaz na něj. Např. databaze-2005_05_18-21_30.sql.bz2.
Co si s tím dál uživatel udělá je na jeho fantazii. Někomu stačí si ten soubor jednoduše stáhnout a uložit někam do archivu. Lepší by ale bylo si napsat shellový skriptík (nejlépe volaný pravidelně z cronu), který tuhle stránku zavolá, soubor stáhne a uloží. Případně by se ten soubor dal ještě automaticky nahrát do lokalního mysql serveru pro vývoj doma. Fantazii se meze nekladou.
<?php
/* Skript na jednoduche zalohovani mysql databaze.
* Autor: Bohumir Zamecnik - zamecnik.org
* Licence: GNU LGPL
*/
$host = "pocitac";
$user = "uzivatel";
$pass = "heslo";
$db = "databaze";
$path = getcwd();
$file="$path/$db-".date('Y_m_d-H_i').'.sql';
$self = basename($_SERVER["SCRIPT_NAME"]);
switch($_GET["c"]){
case "gz"; case "gzip":
$compress = "|gzip -c"; $file .= ".gz"; break;
case "bz2"; case "bzip2":
$compress = "|bzip2 -c"; $file .= ".bz2"; break;
case "none":
$compress = "";break;
default:
$ask = true;
?>
<p>Typ komprese:</p>
<ul>
<li><a href="./<?=$self?>?c=bz2">bzip2</a></li>
<li><a href="./<?=$self?>?c=gz">gzip</a></li>
<li><a href="./<?=$self?>?c=none">žádná</a></li>
</ul>
<?
}
if(!$ask){
echo "<a href='./".basename($file)."'>".basename($file)."</a>";
exec("/usr/bin/mysqldump -u $user -p$pass -h $host --opt $db $compress > $file");
}
?>
Ještě může být vhodné si do adresáře na serveru, kde je onen zálohovací skript, pokud tam teda běží Apache, dát vhodně nastavené soubory .htacces a .htpasswd:
$cat .htaccess
Options +Indexes
AuthUserFile /cesta/k/adresari/kde/lezi/.htpasswd
AuthName "Backup"
AuthType Basic
Require user uzivatel
$htpasswd -c .htpasswd uzivatel
$cat .htpasswd
uzivatel:ja_jsem_sifovane_heslo_bla_bla_bla
První řádek v htaccessu nám povolí ukazovat obsah adresáře, pokud tam není výchozí soubor (většinou index.html nebo index.php). To je proto, abychom mohli vidět i staré zálohy. Zbylé řádky se starají o zaheslování pomocí HTTP autorizace. Přece nenecháme naše zálohy ani přístup ke skriptu otevřený veřejnosti. Nakonec si vytvoříme soubor se šifrovaným heslem. K tomu slouží program htpasswd (přibalený k Apachovi), který se nás zeptá na heslo a celé to zašifrovaně uloží do souboru.
Ani to nebolelo, co? No snad tam někde nejsou překlepy v tom kódu. Jinak, asi existuje dost sofistikovanějších skriptů a programů, ale já jsem potřeboval něco úplně jednoduchého. A pokud se to někomu hodí (byť jako inspirace), budu rád.
Tiskni
Sdílej:
. MySQL jako takové transakce neimplementuje, vždy záleží na storage engine, který se používá.
InnoDB does locking on the row level and also provides an Oracle-style consistent non-locking read in SELECT statements.
Podivej se na zdrojaky phpmyadmina jak to tam resi, je tam presne to co delas ty, akorat je to klikaci.hm, na phpMyAdmin jsem taky pomyslel, a když jsem četl:
Někomu stačí si ten soubor jednoduše stáhnout a uložit někam do archivu.tak jsem pak chvíli dumal, na co vlastní skript ...?
mysqldump nemusí být o moc lepší…
mysqldump volám proto s parametrem --opt, což je zkratka pro mysqldump --quick --add-drop-table --add-locks --extended-insert --lock-tables. Právě pomocí --lock-tables se před vlastním dumpem zamknou tabulky, aby se v nich nic nemohlo měnit. Dále je tam volba --add-locks, která do dumpu přidá příkazy pro opětovné zamknutí tabulek, při nahrávání do databáze. Tak jsem to alespoň pochopil z manuálu.
Kdyby se jednalo o web s třeba tisíci a více přístupů za den, kde to opravdu žije, databáze a konzistence dat by mě asi trochu zajímala více. Ale tohle jsou zatím obyčejné osobní stránky se skromným trafficem. Takže mě to zatím nějak moc netrápí. A nouzi nejhorší můžu použít nějakou starší zálohu a zkusit to mergnout s tou nejnovější, která by byla poškozená tak, aby se ztratilo, co nejméně informací.