Evropská komise zahájila tři vyšetřování týkající se cloudových platforem Amazon Web Services (AWS) a Microsoft Azure. Evropská exekutiva, která plní také funkci unijního antimonopolního orgánu, chce mimo jiné určit, zda jsou americké společnosti Microsoft a Amazon v cloudových službách takzvanými gatekeepery, tedy hráči, kteří významně ovlivňují provoz internetu a musí dle nařízení o digitálních trzích (DMA) na společném trhu
… více »Společnost Meta Platforms vyhrála ostře sledovaný spor o akvizici sítě pro sdílení fotografií Instagram a komunikační aplikace WhatsApp. Podle amerického soudu firma jejich převzetím neporušila antimonopolní zákon, protože si tak nemonopolizovala trh sociálních sítí. Žalobu na Metu podala před pěti lety americká Federální obchodní komise (FTC). FTC argumentovala, že Meta, tehdy známá jako Facebook, koupila tyto dvě společnosti v letech 2012 a 2014 proto, aby s nimi nemusela soutěžit.
Home Assistant včera představil svůj nejnovější oficiální hardware: Home Assistant Connect ZBT-2 pro připojení zařízení na sítích Zigbee nebo Thread.
Byla vydána verze 9.1 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,809 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější superpočítač v Evropě JUPITER Booster s výkonem 1,000 exaFLOPS je na čtvrtém místě. Nejvýkonnější český superpočítač C24 klesl na 192. místo. Karolina, GPU partition klesla na 224. místo a Karolina, CPU partition na 450. místo. Další přehledy a statistiky na stránkách projektu.
Microsoft představil Azure Cobalt 200, tj. svůj vlastní SoC (System-on-Chip) postavený na ARM a optimalizovaný pro cloud.
Co způsobilo včerejší nejhorší výpadek Cloudflare od roku 2019? Nebyl to kybernetický útok. Vše začalo změnou oprávnění v jednom z databázových systémů a pokračovalo vygenerováním problém způsobujícího konfiguračního souboru a jeho distribucí na všechny počítače Cloudflare. Podrobně v příspěvku na blogu Cloudflare.
Byla vydána (Mastodon, 𝕏) první RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.
Eugen Rochko, zakladatel Mastodonu, tj. sociální sítě, která není na prodej, oznámil, že po téměř 10 letech odstupuje z pozice CEO a převádí vlastnictví ochranné známky a dalších aktiv na neziskovou organizaci Mastodon.
Byla vydána nová major verze 5.0 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v obsáhlých poznámkách k vydání. Videopředstavení na YouTube.
jj, toto som už videl viackrát... nakoniec sa vždy ukázalo, že sa niekde do kódu vlúdili znaky, ktoré tam byť nemali 
Podobné hlášení se vyskytuje docela často, tedy pokud svátečně neprogramujete, pak to pro Vás může být nové a zajímavé.
PHP rozparsuje zdrojový kód do proudu tokenů, které jsou nazvány výčtovým typem, jehož jedné hodnotě v chybovém výpisu se právě divíte. Kdybyste byl zběhlý v PHP víte, že tento parser je dokonce dostupný i programátorovi v PHP, takže hodnoty můžete najít přímo v oficiálním manuálu PHP.
Jestli se budete divit každé podobné hlášce (nejen v PHP), tak to budete mít asi plný život údivů a překvapení. Hláška je ok, je srozumitelná a jasná.
Což bych viděl jako nutnou podmínku k tomu, aby typ tokenu T_PAAMAYIM_NEKUDOTAYIM byl srozumitelný a jasný. Ale máte pravdu, divit se tomu je scestné, je to přece PHP.
Mě ani nenapadlo, že je to hebrejsky, stejně tak to může být zkratka z mnoha slov. Nicméně každý, komu něco říká slovo výčtový typ, by asi pochopil o co jde. Identifikátor až tak podstatný není.
Pokud někdy něco více naprogramujete v setkání s více programátory, tak se často setkáte s identifikátory, kterým ně vždy budete rozumět. Ale budete chápat smysl a to se v případě této chybové hlášky dá velice snadno.
Jinak názvy všech konstant výčtového typu tokenů najdete zde:
http://cz.php.net/tokens
Schválně, představte se, že nevíte nic o unixu, ani Linuxu (třeba jste se nesetkal s UNixem/Linuxem a třeba znáte dokonale anglicky) a řekněte mi, jaký je význam těchto programů: awk, bash? Asi je to stejně pochopitelné jako ta hebrejština. To prostě nevymyslíte. A pak někdo narazí na nesrozumitelný identifikátor a dělá z toho osmý div světa. Jako vývojář a nejen vývojář narazíte na tisíce nesrozumitelných identifikátorů, jejichž přesný význam není hned jasný, to je celé.
To je sice hezké, ale
Ono by mělo být věcí 
Identifikátor chyby nemusí mít návodné jméno. Když se budu bavit o identifikátorech chyby, která jsou vidět ven: Schválně, co znamená chyba kompilátoru C4013? (MS Visual C/C++), nebo chyba číslo 1001 (MySQL)? Co znamená SQL error: HY001? (standardizovaná identifikace chyb v SQL databázích).
Jinak třeba OpenOffice má problémy shánět vývojáře také proto (kromě nutné byrokracie se Sunem), že řada kódu, názvu funkcí apod.. je v němčině.
Problém je, že někdy také nemusíte tušit, že Váš projekt bude mezinárodní, a druhak také to, že nemusíte tušít, že Váš identifikátor proleze ven (třeba později).
Zkrátka až najdete něco dokonalého, dejte vědět. Já neznám jediný sw projekt, na kterém by nebylo co kritizovat, a který by měl dokonale čistý kód.
Identifikátor chyby nemusí mít návodné jméno.Jistě nemusí, alespoň v tom smyslu, že když nemá, nenastane konec světa ani spor v teorii množin. Ovšem identifikovat chyby neintuitivními identifikátory má svůj smysl leda tehdy, když zařízení umí hlásit chybu dvoumístným displejem nebo blikáním jedinou LEDkou, v ostatních případech je to prasečina, za kterou by se mělo věšet za uši do průvanu.
Ano ano, souhlasím.
Nicméně žádný program není dokonale proveden. Až se tak stane, bude to někdy v době, kdy lidstvo už dávno bude mít kolonizovanou celou galaxii a několik přilehlých.
Jinak když už jsme u toho, tohle je právě obrovská nevýhoda programování v jazyce C a jedna z věcí, proč nechci programovat v jazyce C.
Všechny identifikátory v C jsou veřejné a v jenom globálním prostoru jmen. Neexistují tam ani třídy, ani prostory jmen, takže musíte vždy řešit konflikty jmen s jinými části projektu. Z toho důvodu občas řada C programátorů rezignuje a hledá vhodné, nekonfliktní jméno identifikátoru, a velmi často se z tohoto důvodu v C použije mateřština programátora. Je jasné, že hebrejský název má minimální pravdděpodobnost, že bude kolidovat s jakýmkoli anglickým identifikátorem v projektu.
Chcete-li si podobné problémy ušetřit, používejte schopné programovací jazyky, které mají základní prostředky pro spolupráci více lidí. Jedním z nich je podpora prostorů jmen, a necpání všeho do jednoho globálního prostoru.
Zdaleka nevidím poprvé, že programátoři v C v týmovém projektu použili svůj národní jazyk, protože řešili právě konflikty identifikátorů. Jazyk C je velmi nevhodný pro větší projekt a občas donutí i trpělivé lidi prasit.
Nevidim nejmensi duvod, proc me, jako uzivatele by mel program otravovat se svoji vnitrni reprezentaci sveho stavu. Me je jedno, ze rozseka text na nejake kousky a k nim ma nejakej vyctovej typ, s kterym ty kousky prevadi na cisla... Pro me, jako uzivatele php je dulezity, ze tam mam navic ctyrtecku.Všechny identifikátory v C jsou veřejné a v jenom globálním prostoru jmen. Neexistují tam ani třídy, ani prostory jmen, takže musíte vždy řešit konflikty jmen s jinými části projektu. Z toho důvodu občas řada C programátorů rezignuje a hledá vhodné, nekonfliktní jméno identifikátoru, a velmi často se z tohoto důvodu v C použije mateřština programátora. Je jasné, že hebrejský název má minimální pravdděpodobnost, že bude kolidovat s jakýmkoli anglickým identifikátorem v projektu.
„Nevidim nejmensi duvod, proc me, jako uzivatele by mel program otravovat se svoji vnitrni reprezentaci sveho stavu.“
Pokud nebudete mít chybu v syntaxi ani v programu, tak to program nebude dělat.
„Me je jedno, ze rozseka text na nejake kousky a k nim ma nejakej vyctovej typ, s kterym ty kousky prevadi na cisla... Pro me, jako uzivatele php je dulezity, ze tam mam navic ctyrtecku.“
Uživatel PHP se zove programátor a jako takový nemůže být odstíněn od vnitřní reprezentace svého nástroje. Zvláště, když dělá chyby. 
Uživatel PHP se zove programátor a jako takový nemůže být odstíněn od vnitřní reprezentace svého nástroje. Zvláště, když dělá chyby.
Nesouhlasim. Abych mohl programovat v c++ nepotrebuju vedet jak presne ktery kompilator uchovava a zpracovava ctyrtecku. Dulezity pro me je co to znamena, kdyz ji do kodu napisu.
Myslim, ze se shodnem, ze nejaka trida je taky programatoruv nastroj. jeji instance, ma nejake metody, pomoci nichz ovlivnuje stav objektu aniz by potreboval vedet, jak a cim je ten stav toho objektu reprezentovat uvnitr. Myslim, ze se tomu rika zapouzdreni...
Všechny identifikátory v C jsou veřejné a v jenom globálním prostoru jmen.Namespacy jsou příjemná věc, ale nijak hluboká. Není žádný zásadní rozdíl mezi tím, když identifikátor nadeklarujete v namespacu XYZ, a tím, že mu přidáte prefix "XYZ_". Namespacy vám pouze ušetří trochu psaní. Daleko zásadnější záležitost je viditelnost symbolů (například ven z dynamických knihoven), tu bohužel rozumně neřeší žádný mně známý jazyk.
Žádný vyšší programovací jazyk není nic jiného, než syntaktický cukt na strojákem, když to vezmete do důsledků.
Za žádnými syntaktickými věcmi nestojí žádná hluboká myšlenka a jistě vše jde obejít.
Zásadní rozdíl v prefixu sice není, ale v praxi dost podstatný. Jednak zdroják s namespaces bude čitelnější a udržovatelnější. Jednak nemůžete v praxi zavést konvenci, že identifikátory XYZ_ budete používat jen Vy, protože nemáte dohodu se všemi autory knihoven a kódu. A také délka identifikátoru je v C omezena – na 32 znaků. Takže se moc nerozšoupnete, když budete ve větším týmu. Některé kompilátory C mají toto omezení dokonce na 6 znaků, proto jsou také názvy knihovních funkcí a Unix API tak krátké. Třeba strlen, mmap, atd..
Pravděpodobnost konfliktů je naprosto minimální, pokud trochu přemýšlíte. Já viděl tisíce konfliktů jmen v C, ale ani jeden v C++ s namespace.
Někteří programátoři používají jako namespace webovou adresu svých stránek (obvyklé třeba v Javě).
A co mi tu vlastně chcete dokázat? Že věc, která řeší 99,999% problémů, které C neřeší vůbec a dlabe na to, a ta věc se jmenuje namespace, je špatná, protože neřeší 100% problémů?
Realita je taková, že jak ve slušně udržovaných Céčkových i C++kových programech konflikty nastávají s poměrně nízkou, leč nenulovou pravděpodobností. Naproti tomu v mizerně udržovaných programech nastává téméř cokoliv. Jinými slovy namespacy jsou drobná užitečná featurka, ale nic úžasného.
Žádný vyšší programovací jazyk není nic jiného, než syntaktický cukt na strojákem, když to vezmete do důsledků.To je hluboce zažitý omyl, omluvitelný snad jedině malým rozhledem po tom, jak může vyšší programovací jazyk vypadat. U C/C++ většina featur opravdu je pouhý syntaktický cukr, ale existují i jazyky, které mají daleko bohatší sémantiku: v mnoha funkcionálních jazycích například najdete funkce vyšších řádů nebo líné vyhodnocování. To už není jen cukřík.
$ cat test.c
static void my_identifier_static(void) {}
void my_identifier_nonstatic(void) {}
$ gcc -fPIC -DPIC -shared -o test.so test.c
$ nm -D test.so
w _Jv_RegisterClasses
00002010 A __bss_start
w __cxa_finalize
w __gmon_start__
00002010 A _edata
00002014 A _end
00000464 T _fini
00000300 T _init
00000421 T my_identifier_nonstatic
Ja madarstinu:) Zrovna nedavno jsem to taky videl, chyba byla v tom, ze jsem nemel do PHPcka nainstalovanej modul memcache a ono se to asi snazilo volat neexistujici metodu nebo vytvaret objekt neexisujici tridy.
Tiskni
Sdílej: