Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).
Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.
Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).
Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.
Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.
Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.
Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.
V pátek 20. února 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 6. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a uživatelský prostor. Akce proběhne od 10:00 do večera. Hackday je určen všem, kteří si chtějí prakticky vyzkoušet práci s linuxovým jádrem i uživatelským prostorem, od posílání patchů například pomocí nástroje b4, přes balíčkování a Flatpak až po drobné úpravy
… více »Evropská rada vydavatelů (EPC) předložila Evropské komisi stížnost na americkou internetovou společnost Google kvůli její službě AI Overviews (AI souhrny), která při vyhledávání na internetu zobrazuje shrnutí informací ze zpravodajských serverů vytvořená pomocí umělé inteligence (AI). Evropská komise již v prosinci oznámila, že v souvislosti s touto službou začala firmu Google vyšetřovat. Google obvinění ze strany vydavatelů
… více »Ubuntu 26.04 (Resolute Raccoon) už nebude v desktopové instalaci obsahovat GUI nástroj 'Software & Updates'. Důvodem jsou obavy z jeho složitosti pro běžné uživatele a z toho plynoucích bezpečnostních rizik. Nástroj lze doinstalovat ručně (sudo apt install software-properties-gtk).
header(). Pokud se už cokoli vypsalo, nepůjde to.
Obvykle je pro PHP k dispozici 32-128 MB RAM. Pokud těch dat nemáš víc, nemusíš to řešit a můžeš to udělat tak, jak ti to zrovna vyhovuje. Tak, aby se ti to dobře udržovalo. Mně víc vyhovuje naskládat data do proměnných a pak je jednou šablonou vypsat.
Zpracování celého webu: ProcessingTime: 0.00155 s. // při použití přímo echa Zpracování celého webu: ProcessingTime: 0.00820 s. // při uložení dat do proměnných s pozdějším vypsáním
Debugování kódu: půl dne // při použití přímo echa Debugování kódu: deset minut // při uložení dat do proměnných s pozdějším vypsánímpráce procesoru je daleko levnější, měl bys psát hlavně takovej kód se kterým se bude dobře pracovat tobě
práce procesoru je daleko levnější, měl bys psát hlavně takovej kód se kterým se bude dobře pracovat toběJenže hezké, krátké, a rychlé algoritmy se vzájemně nevylučují. Je dobré si předem zjistit na předpokládané množině dat, který algoritmus je efektivnější a ten používat. Od chvíle, kdy jsem zjistil, že databáze jsou rychlejší (a hlavně spolehlivější), než vlastní ukládání dat a že XSLT je daleko rychlejší než Smarty, nemám důvod používat jiné technologie.
Od chvíle, kdy jsem zjistil, že databáze jsou rychlejší (a hlavně spolehlivější), než vlastní ukládání datErm… :).
__toString(), OB se moc použít nedá. Na druhou stranu se dá přímo použít v Heredoc, takže to zas tak pomalé není.
Pokud má mít takový overhead, že je echo() dvakrát za sebou znatelně pomalejší než vypsání toho samého najednouSkutečné odeslání dat po TCP nadvakrát má z principu overhead proti odeslání najednou. Dá se to optimalizovat, pokud bufferuješ a zároveň se dá zajistit odezva, pokud bufferuješ s nějakým časovým limitem. Tuším, že se o tom v poslední době docela dost psalo. Ale rozhodně to nemá nic společného s optimalizacemi programovacího jazyka, pokud teda nechceš, aby ti slučoval výstupní operace už na úrovni kódu. Ale to je značně netriviální operace, když si uvědomíš, že se jedná o systémové volání. Režie spojování řetězců by měla být nejmenší, pokud je spojuješ najednou. Proto se třeba v Pythonu občas optimalizuje výstup tak, že se vše ukládá do pole a to se později nechá spojit celé. Ale to samé se používá i na nejnižší úrovni, když chceš hardcore optimalizaci odeslání nesouvislého bloku dat. Stačí si najít například iovec, sendmsg a recvmsg. Ale to jsou všechno optimalizace na úrovni samotného programu a zpracování a nedají se moc dohnat automatickým optimalizérem.
__toString().
echo $a[0],$a[1],$a[2],…

<?php
date_default_timezone_set('Europe/Prague');
function getTime(){
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
define("ITEMS", 10);
define("STRSTEPS", 6);
define("STEPS", 10000);
$hstart='<span style="display: none;">TEXT:';
$hend='</span>';
$a = array();
for($i=0;$i < ITEMS;$i++){
$a[] = str_shuffle(str_repeat('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',STRSTEPS));
}
$start = getTime();
echo $hstart;
for($i=0;$i<STEPS;$i++){
foreach($a as $v){
print $v;
}
}
echo $hend;
$time = getTime() - $start;
echo "\n<br />*TIME foreach : $time<br />\n";
$start = getTime();
echo $hstart;
for($i=0;$i<STEPS;$i++){
for($j=0;$j < ITEMS;$j++){
print $a[$j];
}
}
echo $hend;
$time = getTime() - $start;
echo "\n<br />*TIME for : $time<br />\n";
$start = getTime();
echo $hstart;
for($i=0;$i<STEPS;$i++){
echo implode($a);
}
echo $hend;
$time = getTime() - $start;
echo "\n<br />*TIME implode(): $time<br />\n";
$start = getTime();
echo $hstart;
for($i=0;$i<STEPS;$i++){
$pomstr='';
for($j=0;$j < ITEMS;$j++)
$pomstr.=$a[$j];
echo $pomstr;
}
echo $hend;
$time = getTime() - $start;
echo "\n<br />*TIME pomstr.= : $time<br />\n";
$start = getTime();
echo $hstart;
for($i=0;$i<STEPS;$i++){
echo $a[0].$a[1].$a[2].$a[3].$a[4].$a[5].$a[6].$a[7].$a[8].$a[9];
}
echo $hend;
$time = getTime() - $start;
echo "\n<br />*TIME .[]. : $time<br />\n";
$start = getTime();
echo $hstart;
for($i=0;$i<STEPS;$i++){
echo $a[0],$a[1],$a[2],$a[3],$a[4],$a[5],$a[6],$a[7],$a[8],$a[9];
}
echo $hend;
$time = getTime() - $start;
echo "\n<br />*TIME [] : $time<br />\n";
Spuštěné: php kuk.php > kuk && grep '*' kukto dalo (na slabší mašince):
<br />*TIME foreach : 0.46209192276001<br /> <br />*TIME for : 0.98375391960144<br /> <br />*TIME implode(): 0.20939517021179<br /> <br />*TIME pomstr.= : 2.4737629890442<br /> <br />*TIME .[]. : 2.3295640945435<br /> <br />*TIME [] : 2.6475369930267<br />…jen u posledních dvou jsem to čekal obráceně…
*TIME foreach : 2.6435630321503 *TIME for : 2.9650778770447 *TIME implode(): 1.3122179508209 *TIME pomstr.= : 4.6817560195923 *TIME .[]. : 2.4447479248047 *TIME [] : 2.0510191917419Na obou mašinách však zvítězila funkce
implode(). S využitím output bufferingu však výsledky dopadly trochu jinak:
*TIME foreach : 0.4439480304718 *TIME for : 0.48819804191589 *TIME implode(): 0.56835508346558 *TIME pomstr.= : 1.8790969848633 *TIME .[]. : 1.9683930873871 *TIME [] : 0.52422690391541a zde už zvítězil cyklus.
'AMD Athlon(tm) Processor LE-1640'.
*TIME foreach : 0.50749897956848
*TIME for : 0.50337791442871
*TIME implode(): 0.50320887565613
*TIME pomstr.= : 0.49960994720459
*TIME .[]. : 0.5042028427124
*TIME [] : 0.49123191833496
zatimco pres cli
*TIME foreach : 0.23669791221619
*TIME for : 0.24331903457642
*TIME implode(): 0.13928508758545
*TIME pomstr.= : 0.11431002616882
*TIME .[]. : 0.10860085487366
*TIME [] : 0.23174500465393
jsem teda cekal, ze to dopadne jinak (nehlede na to, ze je to sice serverova masina, ale s dost velkym loadem :) )
*TIME foreach : 0.50749897956848
*TIME for : 0.50337791442871
*TIME implode(): 0.50320887565613
*TIME pomstr.= : 0.49960994720459
*TIME .[]. : 0.5042028427124
*TIME [] : 0.49123191833496
*TIME foreach : 0.23669791221619
*TIME for : 0.24331903457642
*TIME implode(): 0.13928508758545
*TIME pomstr.= : 0.11431002616882
*TIME .[]. : 0.10860085487366
*TIME [] : 0.23174500465393
Tiskni
Sdílej: