Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do
… více »Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.
Společnost Valve publikovala na svém GitLabu nákresy a schémata zapojení headsetu Steam Frame. Pro nekomerční účely.
Soutěž Pwn2Own Ireland 2026 skončila 9. října. Bezpečnostní výzkumníci získali celkem 1 262 000 dolarů na odměnách. Během soutěže bylo předvedeno zneužití 98 zero-day zranitelností. Testování zahrnovalo různé kategorie zařízení a software. Výzkumníci předváděli prakticky fungující útoky podle pravidel soutěže. Výsledky následně slouží výrobcům při přípravě oprav. Mezi pokořenými jsou: Samsung Galaxy S26, OpenAI Codex, Oracle Autonomous AI Database, Google Pixel 10, u iPhone 17 neuspěli.
Programovací jazyk Python byl vydán v nové verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.
BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.
V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."
Vláda Spojených států se rozhodla vyřadit americkou softwarovou společnost Microsoft a několik dalších velkých technologických podniků z programu, který umožňuje kvalifikovaným zahraničním pracovníkům získat povolení k trvalému pobytu. Oznámila to včera administrativa amerického prezidenta Donalda Trumpa. Opatření zdůvodnila rozsáhlým zneužíváním programu, který je dlouhodobě terčem kritiky ze strany Trumpových příznivců, neboť prý znevýhodňuje americké pracovníky.
Datové centrum největší ruské technologické společnosti Jandex v Rjazaňské oblasti se stalo cílem dronového útoku a zastavilo provoz. Jandexu se někdy přezdívá „ruský Google“. Provozuje nejoblíbenější internetový vyhledávač v Rusku nebo aplikace pro objednávky jídla a taxi. Využívají jej desítky milionů lidí v rusky mluvících zemích.
Francouzská společnost Mistral AI představila Mistral Large 4 (interně přezdívaný 'le Chonk', volně přeloženo 'pořádný macek'), 'open-weight multimodální hybridní instruct-and-reasoning model s architekturou granulárního MoE, nativně podporující více jak 160 jazyků'. Model má přes jeden bilión parametrů, z nichž při práci využívá 49 miliard, kontextové okno o délce milion tokenů a obrazový enkodér o 1,6 miliardách parametrů.
… více »python-gammu-0.8.tar.bz2, tak ne… Jsem zvědav, jak dlouho by ten člověk hledal zdrojáky na stránkách Mozilly…
Package the distribution of `Foo version 69.96' up in a gzipped tar
file with the name `foo-69.96.tar.gz'. It should unpack into a
subdirectory named `foo-69.96'.
(GNU coding standards)
.tar.bz2 se přitom dnes už víceméně bere za rovnoprávnou alternativu.
For the body of the function, our recommended style looks like this:
if (x < foo (y, z))
haha = bar[4] + 5;
else
{
while (z)
{
haha += foo (z, z);
z--;
}
return ++x + bar ();
}
Tak ty bych moc vážně nebral&hellip
remove-home a udělá rm -rf ~, dokonce to můžeš popsat v README, ale stejně tě lidi nebudou mít rádi...
if (x < foo (y, z)) {
haha = bar[4] + 5;
} else {
while (z) {
haha += foo (z, z);
z--;
}
return ++x + bar ();
}
Hned je to přehlednější a hezčí
Na druhou stranu musím uznat, že mají pěkně udělané detaily, jako mezeru mezi jménem funkce a závorkama s parametry a další drobnosti se kterými v zásadě souhlasím.
Jo, a odsazení je přes tabulátor, aby bylo jasno
. Čáry v tabulce? Mě to takhle připadá lepší než bez nich, ale nejsem grafik, no teď tam jsou CSS na obojí, tak to můžete posoudit.
. Ale kdybych to psal já, tak se ještě zbavím toho ++x v returnu, protože to si prostě říká o to v tom udělat chybu
.
return ++x + bar ();Je klasická ukázka, jak mezery před
( rozbíjejí kód, takže musíš hledat, co vlastně patří k čemu.
else chci pořádně vidět, takže na začátek řádku. Jinak by to šlo.
if (x < foo(y, z)) {
haha = bar[4] + 5;
}
else {
while (z) {
haha += foo(z, z);
z--;
}
return ++x + bar();
}
return ++x + (bar ());tedy s přehnaným závorkováním, ke kterému GNU styl mezerování bohužel vede, má-li se udržet srozumitelnost.
return bar () + (++x);Že to vypadá hnusně není tou závorkou ale zbytečným ++
Ale řekněme, že tohle je případ, kdy se dá závorka obětovat
Tak to ani náhodou.A tohle je lépe vidět? Nemyslím. Kdyby tam byl jediný řádek sreturn ++x + bar ();Je klasická ukázka, jak mezery před(rozbíjejí kód, takže musíš hledat, co vlastně patří k čemu.elsechci pořádně vidět, takže na začátek řádku. Jinak by to šlo.
} else {, tak to bude vyčnívat a nepůjde to přehlédnout (protože jak kód nad tím tak pod tím bude odsazený). Takhle se to utopí.
return ++x + bar(); se mi nelíbí ať už s mezerou nebo bez. ++ nebo -- bych tady vůbec nepoužil. Nicméně tohle je účelový příklad aby vynikly drobné nedostatky té mezery
Naopak na příkladu kde by v těch závorkách bylo dalších pět zanořených a navrch ještě nějaké přetypování by se to krásně ukázalo
return ++x + (int) bar (y) + * (int *) (b + 3) + (int) (bb * 3);a to už vůbec netuším, co je vlastně
bar zač, co se sčítá tím +, a kde se tam vzala ta hvězdička...
(int) bar (y) + ((int *)(b + 3) + (int)(bb * 3));
Nějak přehledněji? (mezi dvě závorky bych mezery asi nepsal, stejně jako třeba mezi [5] [4], [5][4] je IMHO lepší)
(int)bar(y) + ((int*)(b+3) + (int)(bb*3));nebo
(int)bar(y) + ((int*)(b + 3) + (int)(bb * 3));ale jinak pokud možno hlavně
(int*)(b + 3) + (int)(bb * 3) + (int)bar(y);protože psát pointerovou aritmetiku s pointerem zahrabaným kdesi vprostřed výrazu je cesta do pekel. Kromě toho je hned vidět, že se sčítají tři věci a jaké. Mezery se píší za kvůli přehlednosti, takže nemám problém s tím, že
2*3 + 1se napíše bez mezer kolem *, kdežto
foo->bar(x) * (int)x[3]s mezerou kolem *, pokud v jednom výrazu nedostanou operátory s vyšší prioritou mezery, když operátory s nižší mezery nemají.
. Ale mám obavy, že tomuhle člověku nepomůže vůbec nic.
Tiskni
Sdílej: