Byla vydána nová verze 3.0.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Microsoft poskytl FBI uživatelské šifrovací klíče svého nástroje BitLocker, nutné pro odemčení dat uložených na discích třech počítačů zabavených v rámci federálního vyšetřování. Tento krok je prvním známým případem, kdy Microsoft poskytl klíče BitLockeru orgánům činným v trestním řízení. BitLocker je nástroj pro šifrování celého disku, který je ve Windows defaultně zapnutý. Tato technologie by správně měla bránit komukoli kromě
… více »Spotify prostřednictvím svého FOSS fondu rozdělilo 70 000 eur mezi tři open source projekty: FFmpeg obdržel 30 000 eur, Mock Service Worker (MSW) obdržel 15 000 eur a Xiph.Org Foundation obdržela 25 000 eur.
Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.
Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.
Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční
… více »Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.
Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.
Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Demence lidstva v kostce. Zvláštní věci mezi nebem a zemí se občas stávají. A to včetně situací mezi programátory, čili developery, jak se jim dnes říká. Vlastně má dnešní událost na svědomí nejspíše nějaký senior solution architect. Připravte si křupínky, zázvorové pivo a nechte se kolébat na vlnách stupidity.
Většina z vás, milé čtenářstvo, jistě zná The Daily WTF, kde zoufalí lidé od počítačů hledají uklidnění, a kde se baví na učet jiných. Dnes, respektive včera v noci jsem objevil podobnou věc.
Varování: podobnost kódu s tím, jaký jsi napsal právě ty, Karlíku (nebo Toníku), je čistě náhodná a v případě jakýchkoli problému vše zapřu, anebo budu tvrdit, že jsem si vše vymyslel. Klidně na počkání.
Jména objektů, proměnných jsem změnil, formátování a komentáře zanechal. A nyní – náš dramatický příběh začíná…
Za mlhou, která by se dala krájet, a ještě mnohem dále, než je rybníček Brčálník, leží království, nad nímž nekolik staletí slunce nezapadalo. Jedno z posledních království Evropské Unie. V něm jedna firma píše velice enterprise informační systémy za velice enterprice ceny.
Shodou pekelných okolností se mi do rukou dostal kód, který napsal jeden ze zaměstnanců oné společnosti, a který teď musí udržovat jeden kamarád, jak už to tak ve smutných příbězích bývá. Tento kód dokazuje, že i mezi Oracle databázovými specialisty jsou polodementní individua, jaká známe ze zapovězených a temných oblastí tečka síť a káva.
desc a_very_huge_one; Name Null Type --------- -------- ------------ TRANID NOT NULL NUMBER DTIME DATE VAL01 VARCHAR2(30) VAL02 VARCHAR2(30) VAL03 VARCHAR2(30) VAL04 VARCHAR2(30) VAL05 VARCHAR2(30) ... vypuštěno dalších 62 sloupců. Hádejte jak s jmenují. 69 rows selected
Ponechme stranou zprasené pojmenování sloupců, to dnes není důležité, perla teprve přichází ve fragmentu PACKAGE:
...
-- type for table A_VERY_HUGE_ONE row
TABTYPE IS RECORD(
TRANID NUMBER,
DTIME DATE,
VAL01 VARCHAR2(30),
VAL02 VARCHAR2(30),
VAL03 VARCHAR2(30),
VAL04 VARCHAR2(30),
... opět vyhozené nějaké řádky ...
VAL67 VARCHAR2(30));
...
FUNCTION A_VERY_STRANGE_ONE(DATEFROM DATE) RETURN VARCHAR2 AS
TABROW TABTYPE;
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
-- perform select from table
SELECT *
INTO TABROW
FROM A_VERY_HUGE_ONE
WHERE DTIME=DATEFROM AND
ROWNUM=1
ORDER BY TRANID DESC;
-- return val02 value
RETURN TABROW.VAL02;
-- rollback the transaction
ROLLBACK;
EXCEPTION
WHEN OTHERS THEN
-- return an empty string
ROLLBACK;
RETURN '';
END;
...
I teď, přestože na tanto hnůj koukám na šestistý pokus, nevím, jestli mám plakat, smát se anebo blít, drahý Ivánku. Také nevím, co je v té arcimrdce nejsmutnější. Jestli to, že původní autor zřejmě znal pár věcí, uměl třeba nadefinovat RECORD a uměl napsat pragmu, ale zřejmě vůbec netušil, co to dělá. Nebo jestli to, že je ten selekt naprosto na hovno, protože zjevně nedělá to, co má. Nebo jestli ty pochybné ROLLBACKY. Anebo ignorace ROWTYPE – třeba byl placen za počet znaků které napsal. Nebo jak krásně okomentoval kód, což zřejmě kdesi zaslechl, že se to má dělat… Nemluvme o tom, že ta tabulka má asi 600MB a na sloupci DTIME není index, ani žádne partyšny – na druhou strani je pak výstup z explainu velmi prostý a přečte jej i retardované vemeno. Neříkám ale, že pochopí.
Kontrolní otázka za 2 body: co se asi stane, když se daná tabulka musí rozšířit o jeden sloupec? Aneb ukázka kouzla "select * into" v celé své hrdé kráse.
Odhoďme filozofické otázky "proč tu jsme? Jaký je účel našeho života?" Jsou zbytečné. Účelem života takových lidí je pouze zbůhdarma promrhat kyslík ostatním a sežrat tuny pizzy, kterou si musí nechat vozit do openspace, kde sedí do devíti večer, protože si hodiny ošoupávají prsty psaním RECORDů. Vý-teč-ně, už se mi znovu vaří krev a oči se podlévají krví. Vraždil bych. K smrti rád.
Tiskni
Sdílej:
No ta sranda s ROWNUM a ORDER BY ... existuje někdo kdo se na tomhle aspoň jendou nespálil?
Ale to jde použít samozřejmě jen když má ROWNUM sloužit k omezení počtu řádků výsledku...
ale neptejte se proč, to si teda vážně nepamatuju).
(Zdá se mi to, nebo jsou oraclisti podobně nepříjemná sekta, jako javisti?
)