Knihovna FFmpeg byla vydána ve verzi 8.0 „Huffman“. Přibyla mj. podpora hardwarově akcelerovaného kódování s využitím API Vulcan, viz seznam změn.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2024 (pdf). V loňském roce NÚKIB evidoval dosud nejvíce kybernetických bezpečnostních incidentů s celkovým počtem 268. Oproti roku 2023 se však jedná pouze o drobný nárůst a závažnost dopadů evidovaných incidentů klesá již třetím rokem v řadě. V minulém roce NÚKIB evidoval pouze jeden velmi významný incident a významných incidentů bylo zaznamenáno 18, což oproti roku 2023 představuje pokles o více než polovinu.
Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované obrázky APNG a WebP.
Na chytré telefony a počítačové tablety v Rusku bude od začátku příštího měsíce povinné předinstalovávat státem podporovanou komunikační aplikaci MAX, která konkuruje aplikaci WhatsApp americké společnosti Meta Platforms. Oznámila to dnes ruská vláda. Ta by podle kritiků mohla aplikaci MAX používat ke sledování uživatelů. Ruská státní média obvinění ze špehování pomocí aplikace MAX popírají. Tvrdí, že MAX má méně oprávnění k přístupu k údajům o uživatelích než konkurenční aplikace WhatsApp a Telegram.
Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu srpnový souhrn novinek. Kvůli nedostatečnému zájmu byla ukončena výroba telefonů PinePhone Pro.
Po pěti měsících vývoje byla vydána nová verze 0.15.1 programovacího jazyka Zig (GitHub, Wikipedie). Verze 0.15.0 byla přeskočena. Přispělo 162 vývojářů. Přehled novinek v poznámkách k vydání.
Před sedmi lety společnost Valve představila fork projektu Wine s názvem Proton umožňující v Linuxu přímo ze Steamu hrát počítačové hry do té doby běžící pouze ve Windows. Aktuální přehled podporovaných her na stránkách ProtonDB
Společnost DuckDuckGo rozšířila svůj AI chat Duck.ai o GPT-5 mini (𝕏). Duck.ai umožňuje anonymní přístup bez vytváření účtů k několika modelům umělé inteligence. Aktuálně k GPT-4o mini, GPT-5 mini, Llama 4 Scout, Claude Haiku 3.5 a Mistral Small 3.
Marek Tóth v příspěvku DOM-based Extension Clickjacking: Data ve správcích hesel v ohrožení na svém blogu popsal novou clickjacking techniku s několika variantami útoků a otestoval ji proti 11 správcům hesel. Výsledkem bylo nalezení několika 0-day zranitelností, které mohly ovlivnit uložená data desítek milionů uživatelů. Jedno kliknutí kdekoliv na webové stránce kontrolované útočníkem umožňovalo ukrást uživatelská data ze
… více »Na dnešní akci Made by Google 2025 (YouTube) byly představeny telefony Pixel 10 s novým čipem Google Tensor G5 a novými AI funkcemi, hodinky Pixel Watch 4 a sluchátka Pixel Buds 2a.
Tiskni
Sdílej:
Tedy je to pořád lepší než ti, kteří kód píšou tak jak jim to IDECo? Ty si myslíš, že jseš v něčem lepší než já?
A take doporucuji
First off, I'd suggest printing out a copy of the GNU coding standards, and NOT read it. Burn them, it's a great symbolic gesture.
Kernel coding standards trvají na osmi mezerách. Podle mě je to overkillNow, some people will claim that having 8-character indentations makes the code move too far to the right, and makes it hard to read on a 80-character terminal screen. The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.
if you need more than 3 levels of indentation, you're screwed anyway, and should fix your programTři? Pět je málo!
1 public void fce (int i, boolean b) { 2 switch (i) { 3 case 1: { 4 if (b) 5 if () akce(); else jina_akce(); else jeste_jina_akce;
public void fce (int i, boolean b) { switch (i) { case 1: if (b) { if () akce(); else jina_akce(); } else jeste_jina_akce; break; } }take nieco by ti spicoval aj gcc (a to nemyslim nedokoncenie funkcie)
gij
? :)
ja ich tam vidim len 5Metoda třídy se vnořuje o jednu úroveň oproti deklaraci třídy, to je ta šestá.
The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.Zdá se, že to nebude jenom o kernelu, že?
enum AkceEnum { Akce1 { @Override public void doAction(boolean b, boolean c) { if (b) if (c) akce(); else jina_akce(); else jeste_jina_akce(); } }, Akce2 { @Override public void doAction(boolean b, boolean c) { // TODO } }; abstract public void doAction(boolean b, boolean c); } public void fce (AkceEnum akce, boolean b) { boolean c = false; akce.doAction(b, c); }Nebo pokud tam mermomocí potřebujete
switch
:
enum AkceEnum { Akce1, Akce2; } public void fce (AkceEnum akce, boolean b) { boolean c = false; switch(akce) { case Akce1: doAkce1(b); break; case Akce2: break; } } private void doAkce1(boolean b) { if (b) { if (this.c) this.akce(); else this.jina_akce(); } else this.jeste_jina_akce(); }
Na druhou stranu to ale může být i nevýhoda, právě proto, že je to proměnné v závislosti na použitém editoru.Ja to vidim jako vyhodu, kazdy si tu promenou muze nastavit se mu libi... IMHO editor, v kterem nejde nastavit, aby nemenil tabulatory na mezery, neni na programovani moc vhodny :)
Jo a když jsme u toho, délka řádky minimálně 100 znakůMinimálně nebo maximálně?
vetsi_projekt * vetsi_pocet_programatoru + tabulatory => spatna_citelnost_kodu
Makefile
rozlišuje mezery a tabulátory je celá kapitola v UNIX-Haters Handbooku. :)
asmlinkage int compat_sys_select(int n, compat_ulong_t __user *inp,
compat_ulong_t __user *outp, compat_ulong_t __user *exp,
struct compat_timeval __user *tvp);
[ tab ]asmlinkage int compat_sys_select(int n, compat_ulong_t __user *inp,
[ tab ]|||||||||||||||compat_ulong_t __user *outp, compat_ulong_t __user *exp,
[ tab ]|||||||||||||||struct compat_timeval __user *tvp);
Takové odsazení bez kombinace tabu a mezery nenapíšeteStačí používat mezery a napíšete
asmlinkage int compat_sys_select( int n, compat_ulong_t __user *inp, compat_ulong_t __user *outp, compat_ulong_t __user *exp, struct compat_timeval __user *tvp );A vystacim se 4 mezerama (tabulatorem). Nebo
asmlinkage int compat_sys_select( int n, compat_ulong_t __user *inp, compat_ulong_t __user *outp, compat_ulong_t __user *exp, struct compat_timeval __user *tvp );Ale prvni verze mi prijde nejprehlednejsi.
asmlinkage int compat_sys_select(int n,
compat_ulong_t __user *inp,
compat_ulong_t __user *outp,
compat_ulong_t __user *exp,
struct compat_timeval __user *tvp);
int i[,] = {{5, 7, 8, 0},
{7, 8, 9, 4}};
.... ( int n, ... ) { }pole dtto
void main () { } a void main() { }
V jednom nejmenovaném programovacím jazyku je konvence
begin ... end
void main () { }
int main(void)
{
...
}
int main (void) { int i; for (i = 0; i < 10; i++) { fputc(i + '0', stdout); } return 0; }První řádek je odsazen od těla funkce a je to tak přehlednější. Otevírací závorku cyklů a ifů dávám na nový řádek jen když je podmínka moc dlouhá a rozleze se to na více řádků. Mezi funkcema pak nechávám dva řádky prázdné.
Všechny závorky stejné úrovně jsou pak v jednom sloupci a je to přehlednější než když otevírací závorka je na řádku s deklarací někde vzádu vpravo. Ve škole máme prastarý Turbo Pascal a ten tam cpe furt ty pitomé mezery. Když si to pak otevřu třeba v Kate, tak se v tom tak špatně pracuje :-/void main() { }
if (něco) { blabla(); hello(); }
while (a == b) { nejaka_funkce (); }Což se mi tedy také nelíbí, ale pořád je to z optického hlediska milionkrát lepší než když je složená závorka na stejné úrovni jako ostatní blok v kódu. K&R prostě ruluje