Ubuntu 26.04 patrně bude ve výchozím nastavení zobrazovat hvězdičky při zadávání hesla příkazu sudo, změna vychází z nové verze sudo-rs. Ta sice zlepší použitelnost systému pro nové uživatele, na které mohlo 'tiché sudo' působit dojmem, že systém 'zamrzl' a nijak nereaguje na stisky kláves, na druhou stranu se jedná o možnou bezpečnostní slabinu, neboť zobrazování hvězdiček v terminálu odhaluje délku hesla. Původní chování příkazu sudo
… více »Projekt systemd schválil kontroverzní pull request, který do JSON záznamů uživatelů přidává nové pole 'birthDate', datum narození, tedy údaj vyžadovaný zákony o ověřování věku v Kalifornii, Coloradu a Brazílii. Jiný pull request, který tuto změnu napravoval, byl správcem projektu Lennartem Poetteringem zamítnut s následujícím zdůvodněním:
… více »Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 163 (pdf).
Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního
… více »Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.
Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.
KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
class class1():
def __init__(self):
self.val0=0.0
self.val1=1.0
def setVal1(self,val1):
self.val1=val1
def getVal0(self):
return self.val0
def getVal1(self):
return self.val1
class class2(class1):
def __init__(self,inst_class1):
if isinstance(inst_class1,class1):
for i in dir(inst_class1):
atr=getattr(inst_class1,i)
setattr(self,i,atr)
self.val2=2.0
def getVal2(self):
return self.val2
Po vytvoreni konkretnich instanci to sice funguje OK, ale chci pouzit nejake ciste reseni.
In [2]: a=class1() In [3]: a.setVal1(11111.111) In [4]: b=class2(a) In [5]: b.get b.getVal0 b.getVal1 b.getVal2 In [5]: b.getVal1() Out[5]: 11111.111
class class2(class1):
def __init__(self):
super(class1, self).__init__()
self.val2=2.0
BTW když už bys mermomocí chtěl zkopírovat jednu instanci do druhé, tak místo iterování přes dir stačí sáhnout přímo do jmenného prostoru:
self.__dict__.update(otherinstance.__dict__)
def setGlobalEnv(self,vlmProb): attrList=['rho','getRho','pressure','getPressure'] for i in attrList: setattr(self,i, (getattr(vlmProb,i)))
class EnvMixin(object):
rho, pressure = None, None
@classmethod
set(cls, rho, pressure):
cls.rho = rho
cls.pressure = pressure
class vlmProblem(whatever, EnvMixin):
...
class vlmPanel(whateverelse, EnvMixin):
...
class envClass(object): @classmethod def __init__(cls): cls.rho=1.225 cls.pressure=10235.0 @classmethod def setRho(cls, rho): cls.rho = rho @classmethod def setPressure(cls,pressure): cls.pressure = pressure @classmethod def getRho(cls): return cls.rho @classmethod def getPressure(cls): return cls.pressure class vlmProblem(envClass): def __init__(self): .........
class envClass(object):
def __new__(cls, *args, **kargs):
cls.rho = kargs.pop("rho", 1.225)
cls.pressure = kargs.pop("pressure", 10235.0)
return object.__new__(cls, *args, **kargs)
Ale to je spíš takový akademický blbnutí, pro tvůj účel by měl bohatě stačit KISS tvar:
class envClass(object):
rho=1.225
pressure=10235.0
Jednoduché, čitelné, předem inicializované, můžeš to mixovat k jiným objektům (python nemá problém s vícenásobnou dědičností)
Tiskni
Sdílej: