Czkawka a Krokiet, grafické aplikace pro hledání duplicitních a zbytečných souborů, byly vydány ve verzi 11.0. Podrobný přehled novinek v příspěvku na Medium. Od verze 7.0 je vedle frontendu Czkawka postaveného nad frameworkem GTK 4 vyvíjen nový frontend Krokiet postavený nad frameworkem Slint. Frontend Czkawka je už pouze v udržovacím módu. Novinky jsou implementovány ve frontendu Krokiet.
Jiří Eischmann na svém blogu publikoval článek Úvod do MeshCore: "Doteď mě radioamatérské vysílání úplně míjelo. Když jsem se ale dozvěděl, že existují komunity, které svépomocí budují bezdrátové sítě, které jsou nezávislé na Internetu a do značné míry taky elektrické síti a přes které můžete komunikovat s lidmi i na druhé straně republiky, zaujalo mě to. Když o tom přede mnou pořád básnili kolegové v práci, rozhodl jsem se, že to zkusím taky.
… více »Byla vydána verze 0.5.20 open source správce počítačových her na Linuxu Lutris (Wikipedie). Přehled novinek v oznámení na GitHubu. Instalovat lze také z Flathubu.
Peter Steinberger, autor open source AI asistenta OpenClaw, nastupuje do OpenAI. OpenClaw bude převeden pod nadaci a zůstane otevřený a nezávislý.
Společnost Backblaze zveřejnila statistiky spolehlivosti pevných disků používaných ve svých datových centrech za rok 2025. Ke konci roku 2025 vlastnila 349 462 pevných disků. Průměrná AFR (Annualized Failure Rate), tj. pravděpodobnost, že disk během roku selže, byla 1,36 %. V roce 2024 to bylo 1,57 %. V roce 2023 to bylo 1,70 %. V roce 2022 to bylo 1,37 %.
Nástroj sql-tap je proxy mezi aplikací a databází, které zachytává všechny SQL dotazy a zobrazuje je v terminálovém rozhraní. Zde lze téměř v reálném čase zkoumat dotazy, sledovat transakce a spouštět SQL příkaz EXPLAIN. Podporované databázové systémy jsou pouze PostgreSQL a MySQL. Zdrojový kód je dostupný na GitHubu, pod licencí MIT.
Byla vydána nová verze 9.2 textového editoru Vim (Vi IMproved). Přináší vylepšené doplňování, podporu schránky ve Waylandu, podporu XDG Base Directory (konfigurace v $HOME/.config/vim), vylepšené Vim9 skriptování nebo lepší zvýrazňování změn. Vim zůstává charityware. Nadále vybízí k podpoře dětí v Ugandě. Z důvodu úmrtí autora Vimu Brama Moolenaara a ukončení činnosti jím založené charitativní organizace ICCF Holland projekt Vim navázal spolupráci s charitativní organizaci Kuwasha.
Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.
Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.
Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).
(!R)@&{&/x!/:2_!x}'!R
Ray tracer se vejde na 7 řádků: http://www.nsl.com/k/ray/raya.k.
Wow, taky moc pekne, ale popravde na psani webovych aplikaci bych to asi nepouzival, ackoliv na nejake podulohy by se to hodilo.
O tom jak si napsat vlastní obalení okolo C knihovny bude možná, některý z mých dalších zápisků.O tom už jsem trochu napsal na czwiki4d.
to ja se spis rozepisu o tom jak predelat .h do .d
Z linuxové sekce jsem pochopil, že se k D programu linkuje statická knihovna. To není, po čem by příčetný vývojář toužil. Co dynamické knihovny?
A hlavně, co by se mi líbilo, by byl opačný postup, kdy v D napíšu knihovnu a tu pak linkuji k jiné céčkové aplikaci. To je totiž problém všech (snad až na objective C) vysokoúrovňových jazyků, že co v nich napíšete, zůstává zakleto pro daný jazyk. Například java má tohle standardizované (JNI), ale použití je značně kostrbaté a osobně mám pocit, že efektivita přenosu dat a volání mezi oběma systémy je bídná.
no me tusim zde funguje linkovani i dynamickejch a to jak ldc, gdctak dmd
JJ, me slo spis o to ze to jde jak v dmd tak i ldc, gdc sice jde alejen nekdy a nejak to blbne
To je totiž problém všech (snad až na objective C) vysokoúrovňových jazyků, že co v nich napíšete, zůstává zakleto pro daný jazyk.Například v Haskellu to jde.
Nevíte jak se to chová, když výsledek výpočtu v haskelu se nevejde céčkového intu?Nastane přetečení. Zde je zdrojový kód odkazovaného příkladu (k funkcím
fromIntegral jsem doplnil typy):
fibonacci :: Int -> Int
fibonacci n = fibs !! n
where fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
fibonacci_hs :: CInt -> CInt
-- S typy:
-- fibonacci_hs = (fromIntegral :: Int -> CInt) . fibonacci . (fromIntegral :: CInt -> Int)
fibonacci_hs = fromIntegral . fibonacci . fromIntegral
foreign export ccall fibonacci_hs :: CInt -> CInt
V příkladu pravý fromIntegral převede hodnotu typu CInt na Int a v případě, že by rozsah CInt byl větší než rozsah Int (norma Haskellu garantuje minimální rozsah typu Int 30 bitů), tak číslo přeteče. Levý fromIntegral provádí převod opačným směrem, a opět hodnota může přetéct.
CInt je typ Haskellu, jenž umí reprezentovat všechny hodnoty typu int z C.
Ach ta ma cestina, ma tam samozrejme byt tvrde y. jinak tuto vetu jsm nenapal nejstastneji. Chtel jsem proste rict, ze s hlavickovymi soubory je to proste obcas zazitek, protoze narozdil od modulu se jedna o prime vlozeni souboru,kdezto u modulu v jazyce D se jedna jen o exportovani symbolu. Jinak k tomu poradi pokud prvne vlozim soubor kterej ocekava treba nejakej typ a az nasledne soubor kde je danej typ definovan tak se dostanu do potizi.
#ifdef
Ano toto makro samozrejme znam, ale neni to vse spasne a hlavne to resi jen problem ze se nenainkluduje soubor vicekrat a nefunguje to uplne vzdy dobre, uz jsem zazil situace kdy se mi to stejne vlozilo vickrat.
#pragma once!
Vsak co vim tak python je na tom dost podobne co se typovani tyce jako D, pokud promenou pouziji jako int tak uz je stale int ne? Sice se ta typy neuvadeji ale to je tak vse
auto jako specifikátoru typu, při kterém si ho kompilátor sám odvodí datový typ podle použití, což ovšem opět neumožňuje použití jedné proměnné na cokoliv. V phobosu je typ variant, který tak použít jde.
Na druhou stranu, mě statické typování v D vyhovuje do té míry, že ho používám často radši než python :)
Opravdu nemusi, aha tak to jsem to nekde spatne cetl :), ja stejne vzdy i v pythonu, PHP atd zachovaval to ze jedna promena vzdy reprezentuje stale ten stejny typ
JJ, ono kdyz pak clovek prepisuje po nekom kod a promena title na zacatku obsahuje nejaky retezec, uprostred je to pole a nakonec kdyz se dostane az k return title, tak zjisti ze to vraci cislo :D
Kód mimo funkcí v IO monádách je s drobnými omezeními verifikovatelný (např. Zeno). No a pak je tu ještě Agda nebo Coq 
U silně staticky typovaných jazyků jako např. haskell (98 i 2010) je uvedený příklad (řetězec -> pole/seznam -> číslo) neproveditelný.Technicky vzato mohu napsat
coerce = coercea přetypovat cokoliv na cokoliv. Další nepříjemností Haskellu je, že nemá induktivní typy, takže není možné použít matematickou indukci.
coerce = coerce lze "přetypovat" jen jednou a to buď explicitním uvedením signatury nebo typovou inferencí, tzn. v celém programu má jedinečný typ. Tedy AFAIK, stále se haskell teprve učím.
Haskell nemá induktivní typy ? Např. Maybe Int nebo String nejsou ?
coerce :: forall a. a – všimněte si toho kvantifikátoru – za a mohu dosadit cokoliv.
Hodnoty induktivně definovaného typu vzniknou konečnou aplikací "zobecněných nul" (u seznamu Nil) a "zobecněných následníků" (u seznamu Cons). Jenže například repeat 'c' je hodnota typu String resp. [Char], která vznikla nekonečnou aplikací.
inf = S inf):
data Peano = O | S Peano
) trida jazyku, ktera sjednocuje staticke a dynamicke typovani (nebo lepe, vyhody obou). A nejsou to verifikovatelne jazyky, i kdyz ty do te tridy patri take. Teste se na budoucnost, bude zajimava!
Napisete program, provedete experiment (spustite ho na nejakych datech), a prekladac doplni typy na zaklade vysledku experimentu.
Napisete program, provedete experiment (spustite ho na nejakych datech), a prekladac doplni typy na zaklade vysledku experimentu.Jak se ale zajistí, že odvozené typy budou správné i pro jiné běhy? Podobnou věc mohu udělat abstraktní interpretací.
Ono kdyz se podivate na programy v realnem svete, tak tohle by pomohlo opravdu vic nez snazit se vsechno dokazat.
Je to proste klasicky spor logicka dedukce vs. logicka indukce. Co vydedukujete bude 100% spravne, ale zase toho bude mene a slabsi. Indukci dostanete ne 100% spravny vysledek, ale zase se dozvite plno zajimavych veci. Ten muj pristup dedukci nevylucuje, kdezto ciste logicke formalni systemy indukci ano.
Základní výhodou je pro mě syntaxe velmi podobná C/C++Tohle moc nechapu, a nechapal jsem to ani u Javy nebo C#, a vlastne retrospektivne ani u C++ (vuci C). Prijde mi to jako takova vejicka na uzivatele - pojdte sem, mame skoro stejnou syntax! Ale ve skutecnosti se v tech jazycich programuje jinak a maji zcela jine zakladni knihovny. Syntax je jen mala cast toho, co musite znat. A ten rozdil se zvetsuje s tim, jak se jazyky vyviji. Jelikoz D je (doufam) jeste stale ve vyvoji, je to trochu podfuk, ne?
Ano Qt ma i port pro D jmenuje se QtD
Ale popravde jsme to nestestoval jak moc je to funkcni a i vyvoj se zda ze je momentalne pomalej, pokud jsme se dival tak 10 mesicu na to nikdo nechytl, ale duvodem muze byt ze proste nebylo treba :)
JJ vala vypada moc pekne, treba se k ni taky nekdy dostanu, ale zatim jsem jenom u D a V je prece jen jeste daleko :D
Tiskni
Sdílej: