Navigace se soukromím CoMaps postavena nad OpenStreetMap je nově k dispozici v Google Play, App Store i F-Droid. Jedná se o komunitní fork aplikace Organic Maps.
Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.49.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.
Masivní výpadek elektrického proudu zasáhl velkou část České republiky. Hasiči vyjížděli k většímu počtu lidí uvězněných ve výtazích. Výpadek se týkal zejména severozápadu republiky, dotkl se také Prahy, Středočeského nebo Královéhradeckého kraje. Ochromen byl provoz pražské MHD, linky metra se už podařilo obnovit. Výpadek proudu postihl osm rozvoden přenosové soustavy, pět z nich je nyní opět v provozu. Příčina problémů je však stále neznámá. Po 16. hodině zasedne Ústřední krizový štáb.
Po více než roce vývoje od vydání verze 5.40 byla vydána nová stabilní verze 5.42 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 64 vývojářů. Změněno bylo přibližně 280 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Byla vydána nová stabilní verze 7.5 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 138. Přehled novinek i s náhledy v příspěvku na blogu.
Sniffnet je multiplatformní aplikace pro sledování internetového provozu. Ke stažení pro Windows, macOS i Linux. Jedná se o open source software. Zdrojové kódy v programovacím jazyce Rust jsou k dispozici na GitHubu. Vývoj je finančně podporován NLnet Foundation.
Byl vydán Debian Installer Trixie RC 2, tj. druhá RC verze instalátoru Debianu 13 s kódovým názvem Trixie.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červen (YouTube).
Libreboot (Wikipedie) – svobodný firmware nahrazující proprietární BIOSy, distribuce Corebootu s pravidly pro proprietární bloby – byl vydán ve verzi 25.06 "Luminous Lemon". Přidána byla podpora desek Acer Q45T-AM a Dell Precision T1700 SFF a MT. Současně byl ve verzi 25.06 "Onerous Olive" vydán také Canoeboot, tj. fork Librebootu s ještě přísnějšími pravidly.
Licence GNU GPLv3 o víkendu oslavila 18 let. Oficiálně vyšla 29. června 2007. Při té příležitosti Richard E. Fontana a Bradley M. Kuhn restartovali, oživili a znovu spustili projekt Copyleft-Next s cílem prodiskutovat a navrhnout novou licenci.
Under Linux, fork() is implemented using copy-on-write pages, so the only penalty that it incurs is the time and memory required to duplicate the parent's page tables, and to create a unique task structure for the child.
Samozrejme se vtira otazka, odkud prichazi ten pozadavek vytvaret kopie, ktere pak nejsou potreba.Tuhle otázku jsem níže naťuknul taky.
Při realizaci této metody se třídy, které mají mít tuto vlastnost, vybaví počítadlem, které se inkrementuje při vytvoření kopieTuhle část snad chápu, takže tuším, že tím máš namysli asi spíš že se inkrementuje místo vytvoření fyzické kopie, tudíž to „při vytváření kopie“ by rozhodně zasloužilo reformulovat. Ale to už jsem řešil v jiné diskuzi, že mnozí mají stále ještě náhled na OOP pokažený implementačními detaily C++. Obecný popis toho, co chceme dělat, by neměl vyžadovat přepnutí mozku na C++ mód :D. Takhle, já tě nechci nijak prudit, ale celý ten článek vypadá jako když jsi ho psal pro sebe, tedy pro člověka, který do toho vidí. Já jsem z něj byl schopný pochytit co obecně obnáší copy-on-write (což už jsem znal), nějaké ty statistiky jak to pomohlo. Ale že bych bez zkoumání samotného kódu chápal, co se vlastně děje, jestli se to nějak uplatí i u nových objektů, a hlavně, proč je pro daný projekt relevantní zrovna kopírování existujících objektů. A když už popisuješ konkrétní metody jak toho dosáhnout, tak bych chtěl nejdřív vědět, co daná metoda obnáší, a pak teprve pracovat se specifickými pojmy jako šablonová funkce apod. Něco ve stylu (a teď kecám, protože jsem to zdaleka všechno nepochopil)... Nové instance tříd se vytvářejí běžným způsobem. Ale protože canal dělá … a k tomu potřebuje často udržovat kopie již existujících instancí, které z důvodu, že …, často zůstávají nezměněné, a protože bychom neradi měnili celý datový model, rozhodli jsme se použít metodu copy-on-write. Umožnuje nám to ušetřit paměť, protože nemusíme alokovat … až do chvíle, kdy se do nového objektu zapisuje. A teď bych očekával technické vysvětlení toho, jak je možné se vyhnout té alokaci… Místo stovek bajtů pro celý objekt tak můžeme alokovat proxy objekt, který obsahuje informaci, že je zatím nezměněný a odkaz na datový objekt, který využíváme pouze pro čtení. První zápis pomocí proxy objektu způsobí zkopírování datového objektu a zrušení příznaku pouze pro čtení. Od této chvíle se prostřednictvím proxy objektu čte a zapisuje nový datový objekt. Když se nový proxy objekt klonuje, znovu se označí jako read-only. Ve skutečnosti je tam potřeba ten reference counting kvůli dealokaci, ale nechtěl jsem ty ukázky příliš komplikovat. Minimálně takhle nějak bych si představoval text, který mi má předat něco nového.
na dva způsoby řešení (pro třídu a pro místo)Subjektivně vnímám, že tento účel nesplnilo.
že to může mít opravdu velký přínosTento účel splnila ta tabulka časů a nebyl by k tomu potřeba zbytek článku.
šlo mi především o to ukázat, že když už se rozhodnete ho využít, abyste měli nějakou inspiraci jak.Opět subjektivně vnímám jako nesplněné.
Pro mne z toho plyne důležitá zkušenost, že jsem to měl napsat před dvěma měsíci, když jsme to implementovali, a ne až nyní - v ten moment bych nejspíš napsal dvakrát tak dlouhý zápisek, který by to rozebíral víc ze široka (a tedy by i nejspíš pokryl věci, které ti tam chybí).To je dost možné. Ono taky záleží na tom, jak moc má člověk na to psaní chuť a čas.
Tento článek už upravovat nebudu, neboť by to nejspíš vyžadovalo kompletní přepsání, a to se mi z různých důvodů nechce.Není zapotřebí vypilovávat tenhle jeden článek, spíš se opravdu těším na zlepšení u těch příštích :).
Tento článek už upravovat nebudu, neboť by to nejspíš vyžadovalo kompletní přepsání, a to se mi z různých důvodů nechce.Já být tebou, tak to moc nehrotím. V čechách je problém najít texty o programování, které jsou určeny lidem, jenž už o programování něco vědí. Takové to běžné meziprogramátorské povídání, které se dá najít třeba na redditu. Co ovšem není problém, je sehnat tu tisíc úvodů do něčeho, zas a stále znova. Nechápu proč, imho nemusí být každý blogpost srozumitelný pro všechny kdo náhodou půjdou kolem.
Očekávané nadávky na C++ pod článkem týkající se C++.Zřejme jsi si spletl vlákno.
nicméně tím, že druhý odstavec ho „jakoby“ vysvětluje spoustu lidí zmátl a očekávali, že se tedy dozví co to ten COW je.Což mimochodem není můj případ, jak se gogloid mylně domníval.
Přesto bych byl rád, aby takovéto články vznikaly.To už jsem psal výše. Kdyby se vytáhly obsah i forma do srozumitelné úrovně, rád bych to viděl mezi vydanými články.
Pochopil jsem, že žádný jazyk, který existoval, existuje a bude existovat podle zastánců čistého OOP neobsahuje to správné a dokonale čisté OOP.Smalltalk.
Pochopil jsem už dávno, že mainstreamově prezentovaná touha po správném OOP je chiméra, něco jako sektářská víra.To je samotná touha po čistě OOP jazyce. V praxi velmi rychle zjistíte, že jsou běžné situace, které s OOP jazykem řešíte půl hodiny při odtržení jednorázové definice od jejího použití, zatímco s dobrou podporou funkcionálních jazyků to máte za pět minut a přehledně (třeba řazení podle řetězce xorovaného nějakou hodnotou — funktor vs. lambda).
Mě hlavně fascinuje, jak všichni hledají to správné OOP.Mě spíš facinuje, že jsi můj příspěvek sice nepochopil, zato ti to nijak nebrání dělat chytrého.
Tiskni
Sdílej: