Nový open source router Turris Omnia NG je v prodeji. Aktuálně na Allegro, Alternetivo, Discomp, i4wifi a WiFiShop.
Na YouTube a nově také na VHSky byly zveřejněny sestříhané videozáznamy přednášek z letošního OpenAltu.
Jednou za rok otevírá společnost SUSE dveře svých kanceláří široké veřejnosti. Vítáni jsou všichni, kdo se chtějí dozvědět více o naší práci, prostředí ve kterém pracujeme a o naší firemní kultuře. Letos se dveře otevřou 26. 11. 2025 v 16:00. Můžete se těšit na krátké prezentace, které vám přiblíží, na čem naši inženýři v Praze pracují, jak spolupracujeme se zákazníky, partnery i studenty, proč máme rádi open source a co pro nás skutečně
… více »Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za říjen (YouTube).
Jeff Quast otestoval současné emulátory terminálu. Zaměřil se na podporu Unicode a výkon. Vítězným emulátorem terminálu je Ghostty.
Amazon bude poskytovat cloudové služby OpenAI. Cloudová divize Amazon Web Services (AWS) uzavřela s OpenAI víceletou smlouvu za 38 miliard USD (803,1 miliardy Kč), která poskytne majiteli chatovacího robota s umělou inteligencí (AI) ChatGPT přístup ke stovkám tisíc grafických procesů Nvidia. Ty bude moci využívat k trénování a provozování svých modelů AI. Firmy to oznámily v dnešní tiskové zprávě. Společnost OpenAI také nedávno
… více »Konference Prague PostgreSQL Developer Day 2026 (P2D2) se koná 27. a 28. ledna 2026. Konference je zaměřena na témata zajímavá pro uživatele a vývojáře. Příjem přednášek a workshopů je otevřen do 14. listopadu. Vítáme témata související s PostgreSQL či s databázemi obecně, a mohou být v češtině či angličtině.
Byl vydán Devuan 6 Excalibur. Přehled novinek v poznámkách k vydání. Kódové jméno Excalibur bylo vybráno podle planetky 9499 Excalibur. Devuan (Wikipedie) je fork Debianu bez systemd. Devuan 6 Excalibur vychází z Debianu 13 Trixie. Devuan 7 ponese kódové jméno Freia.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu poprvé překročil 3 %, aktuálně 3,05 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 27,18 %. Procesor AMD používá 67,10 % hráčů na Linuxu.
Joel Severin v diskusním listu LKML představil svůj projekt linuxového jádra ve WebAssembly (Wasm). Linux tak "nativně" běží ve webovém prohlížeči. Potřebné skripty pro převod jsou k dispozici na GitHubu.
, a i do těch vesmírných sond, protože se jeho implementace vejde do několika kilobajtů, takže je takřka blbuvzdorná. Akorát na tu druhou věc jsem měl někde zajímavý odkaz a teď ho nemůžu nají. ;-/
Ale Python mám rád, protože v něm jdou jednoduše a elegantně věci, které jsou ve statických jazycích dost přes ruku. Ale všechno něco stojí.
Ale s tím mastodontem jsem to myslel jinak. Já dělám experimenty, převážně s PyPy, zkouším různé přepínače atd. Pydev bych použil, kdybych soustavně dělal na něčem větším a konvenčním, ráno bych to otevřel a večer zavřel.
Mít objekt - transparentní proxy je taky prasárna?Naprosto. V Javě je to jeden z oblíbených způsobů, jak implementovat AOP, a s klidem bych řekl, že ten nejhorší. Nevím teda, jak v Pythonu, ale v Javě se té transparence pořádně dosáhnout nedá, takže
this není this a vůbec samé pěkné věci.
Původní návrh CLOSu nic podobného neobsahoval, a není to ani součástí oficiální ANSI normy. Aspektové programování vlastně vzniklo jako specializace MOPu - což je rozšiřující API, které umožňuje přeprogramovat chování takřka celého CLOSu (třeba pořadí hledání metod v nadtřídách, to je jedna z těch pro programátoršké smrtelníky srozumitelnějších věcí). Ostatně AOP vymyslel Gregor Kiczales, který toho s Lispem, CLOSem a MOPem má hodně společného. (AOP pak není vlasně víc, než jedna konkrétní aplikace MOPu, který dneska podporují snad všechny implementace Common Lispu, tedy tam je to v podstatě "na úrovni virtuálního stroje" - no, tady spíš "na úrovni modelu jazyka".
)
Nechápu, jak to ti Lispaři dělají. Teda chápu, tak nějak vzdáleně… ale asi nikdy se nad tou neuvěřitelnou přizpůsobivostí a jednoduchostí nepřestanu podivovat. A taky to pěkně ničí moje už tak ubohé programátorské sebevědomí
this a ta není "obalena" tou proxy mrchou?
A mimochodem, dokáží někdy zapšklí C++kaři pochopit, že nemají patent na rozum a že Javisté nejsou untermensch?
class Math(object):
def cosmos_constant(self):
return 1
def pow(self, x):
return x*x*self.cosmos_constant()
class Proxy(object):
def __init__(self, target):
self.target = target
def __getattr__(self, name):
print 'logging this call...'
return getattr(self.target, name)
m = Math()
print m.pow(4)
p = Proxy(m)
print p.pow(5)
A ty bys chtěl, aby se zalogovalo volání té kosmologické konstanty z pow()?
Metoda cosmos_constant() se chová odlišně v závislosti na tom, kdo ji volá, což je v tomhle případě vcelku na dvě věci. Představ si, že bys tou proxy chtěl změnit vesmír (nastavit kosmologickou konstantu na 2). Proto jsem psal, že to je prasárna
Na druhou stranu, v některých případech takový zástupný objekt může dobře postačit (třeba takové hrubé trasování, jako ve tvojí ukázce), to uznávám.
Představ si, že bys tou proxy chtěl změnit vesmír (nastavit kosmologickou konstantu na 2).Něco na tenhle způsob?
kyo@valinor:~> ghci GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help Loading package base ... linking ... done. Prelude> let 2 + 2 = 5 in 2 + 2 5 Prelude>
Metoda cosmos_constant() se chová odlišně v závislosti na tom, kdo ji volá, což je v tomhle případě vcelku na dvě věci.Nechová se odlišně ta metoda, vždyť jsou to dvě různé metody, ne?
p.cosmos_constant() a dostanu 2, očekávám, že volání p.pow(2) vrátí 8. Vy ne?
Math máte napsán tak, že počítá se svou kosmologickou konstantou (proto třeba self). Kdybyste chtěl, aby počítal s jeho (nějakého cizího objektu), musíte mu ten cizí objekt předat jako parametr. cosmos_constant() buď nemáte nadefinovánu tak, že vrací svou kosmologickou konstantu, nebo ji tak nadefinovánu máte, a pak vytvořená proxy porušuje tento dohodnutý kontrakt. Proxy s tím ale nemá nic společného, kdybyste si ten dohodnutý kontrakt porušil už v implementaci třídy Math, dopadnete stejně.
v Javě se té transparence pořádně dosáhnout nedá, takže this není this a vůbec samé pěkné věciJak to že ne?
this je pořád reference na objekt, na kterém je volána aktuální metoda. To že okolo toho objektu je nějaká proxy nemůže ten objekt zajímat. Očekávám, že když v objektu zavolám na this final metodu, provede se úplně to samé, jako bych kód té metody přímo vložil do svého kódu. Pokud tu metodu chci provést na stejném objektu, který referencuje ten, kdo moji metodu vyvolal, musí mi referenci na ten objekt předat. Zkuste si někdy něco napsat v JavaScriptu, abyste viděl, jak to vypadá, když si nikdy nemůžete být jist, co je this.
To že okolo toho objektu je nějaká proxy nemůže ten objekt zajímat.Proto tvrdím, že se nedá dosáhnout plné transparence. Výraz this není this berte proboha trochu s nadsázkou, já přece jenom dobře vím, jak taková proxy funguje
Tiskni
Sdílej: