V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 14.0 (Mastodon). Forgejo je fork Gitei.
Just the Browser je projekt, 'který vám pomůže v internetovém prohlížeči deaktivovat funkce umělé inteligence, telemetrii, sponzorovaný obsah, integraci produktů a další nepříjemnosti' (repozitář na GitHubu). Využívá k tomu skrytá nastavení ve webových prohlížečích, určená původně pro firmy a organizace ('enterprise policies'). Pod linuxem je skriptem pro automatickou úpravu nastavení prozatím podporován pouze prohlížeč Firefox.
Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.
Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.
Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny
… více »D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.
Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.
CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.
Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.
Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.
Tiskni
Sdílej:
It takes confidence to throw work away. You have to be able to think, there's more where that came from. When people first start drawing, for example, they're often reluctant to redo parts that aren't right; they feel they've been lucky to get that far, and if they try to redo something, it will turn out worse. Instead they convince themselves that the drawing is not that bad, really-- in fact, maybe they meant it to look that way.
-- Paul Graham: Hackers & Painters
sorry, ale pausalni odsuzuvani prepisovani je uplne stejna pitomost, jak prepisovat vsechno od zacatku. vetsinou clovek ma dve moznosti... lepit jednu opravu za druhou podle toho jak zrovna prichazeji pozadavky... vetsinou pak projekt pod tihou takovych uprav zkolabuje a je dal ,,neudrzovatelny'' nebo mas moznost to postupne prepisovat dle aktualnich pozadavku a nejnovejsi zkusenosti a je mnohem pravdepodobnejsi, ze to udelas lip, spravneji a obecneji... protoze uz mas zkusenosti z predchozich projektu.
pausalni odsuzovani novych technologii (v tvem slovniku nabozenstvi) je taky totalni blbost. pral bych ti, aby te tvuj sef posadil pred DBase III+, FoxPro 2.6 nebo treba Visual Basic XY a nutil te opravovat chyby, ktere tam jsou vice nez deset let... a ktere treba ani v prostredi dnesnich OS opravit nejdou. ...ale to nic, ... to jsou jenom dve generace stare technologie, to neni potreba prizpusobit dnesni dobe.
Neodsuzuji prepisovani prepisovani pausalne, tvrdim ze se z toho stal kult.moje zkusenost je takova, ze se prepisovani spis brani za kazdou cenu a to i u veci, ktere by to potrebovaly, protoze moralne zastaraly nebo byly prekonany... s vylozene typickyma oduvodnenima: ,,nejsou na to penize'', ,,neni na to cas'', ,,pockame, az to nejaky zakaznik bude chtit zaplatit''
Bezne delam s Delphi 6. A deset let stare bugy jsou i v Jave: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4152790delphi 6 imho neni zase takova vykopavka... vicemene odpovida pozadavkum soucasne doby... ale doporucuji jit si vyzkouset delat opravy v nejakem skladovem hospodarstvi, ktere napsal nekdo pred patnacti/dvaceti lety ve foxpro 2.6 a ma to 100 000+ radku...
Já zase často vidím opačný problém a degradaci slova „implementovat“. Pod ním si představím, spíš tvorbu něčeho nového, psaní softwaru. Ale ouha, dneska se řekne „implementovali jsme u zákazníka nový systém“ a celé to spočívá v tom, že se koupil krabicový software od nějaké cizí firmy, pár týdnů nad ním dodavatel dumal u sebe v kanclu (protože ho ještě nikdy neviděl, ale to se zákazníkovi neříká) a pak ho jde k zákazníkovi instalovat (to je ta „implementace“) a to trvá taky pár týdnu, protože v těch předchozích týdnech se toho moc neudělalo, hlavně se hrály hry a brousil internet, ale teď je potřeba, aby z toho vylezlo něco, co vypadá, že funguje, takže se nad tím musí prosedět nějaký čas u zákazníka. No a to celé se slušně zaplatí a o tom je ta implementace 
Kdysy jsem mluvil s chlapkem co v Jave vytvari aplikace pro jeden prazsky radiodispecing. A jasne mi vysvetlil ze se kod v podstate jen kopiruje a upravuje pro zadany ucel. Ztn. najde na netu neco podobneho a upravi k obrazu svemu.
Psat od nuly je podle toho asi sebevrazda.
ze se kod v podstate jen kopiruje a upravuje pro zadany ucel.
Nemá cenu si nic nalhávat – takhle to prostě funguje
Člověk buď něco umí, to znamená, že něco podobného už psal – v takovém případě vytáhne staré zdrojáky jiného projektu a opíše to z nich, případně to bylo nedávno a je schopný to napsat z hlavy (ale prakticky taky kopíruje to, co už jednou psal). Nebo to člověk neumí a teprve se tu konkrétní věc nebo postup učí – pak hledá v knihách, na internetu v cizím kódu a inspiruje se tam.
Vymýšlení úplně nového kódu a nových postupů je celkem výjimečná záležitost – s jistou nadsázkou se dá říct, že všechno už bylo naprogramováno (a teď zbývá jen to poskládat dohromady). A když už se něco úplně nového píše, stojí to dost času (a peněz), protože je potřeba být mnohem opatrnější, než když opisujeme něco, co funguje nebo fungovalo jinde.
P.S. tím opisováním nemyslím kopírova&vložit (to ani většinou nejde), ale spíš inspiraci, člověk si přečte starší kód, několik variant a pak napíše ten svůj.
všechno už bylo naprogramovánoTak to je hovadina, protože to, co ostatní skládají, někdo vymyslet musí. A není to zanedbatelné množství.
Psal jsem s nadsázkou … ale něco na tom bude – vezmi si, že většinu skvělých, užitečných aplikací můžeš napsat, aniž bys vymýšlel nějaké nové algoritmy nebo postupy – prostě stačí vhodně poskládat – úspěch té aplikace totiž není až tak v té technice, jako spíš v nápadu. Např. takový Facebook, já ho sice nemám rád, ale musím uznat, že je úspěšný, resp. dokázal nalákat spoustu lidí a získat si uživatele. Jeho autor nepřišel s žándým technicky unikátním řešením, nenaprogramoval nic nového (z programátorského hlediska), ale přišel s nápadem, kterým se trefil do toho, co lidi chtějí (nebo to aspoň udělat tak, aby to chtěli). Prostě se na ten program chytily miliony lidí, aniž by byl po technické stránce nějak objevný.
Některé věci jsou k nahlédnutí na http://developers.facebook.com/opensource.php.
Ja s tim zapiskem ne uplne souhlasim. A to rikam jako clovek, ktery v praci spravuje 30 let stare aplikace v mainframe assembleru.
Podle me ucelem skoly je ucit, ne vyvolavat nejake dojmy. Pokud bych uvazil vyhody/nevyhody ucit programovani novych aplikaci vs. ucit spravu starych, tak u toho prvniho vyhody prevazuji. Algoritmy nejak decka naucit musite, sprava stareho kodu je jenom remeslo (ktere ovsem vyzaduje trosku premysleni). To ze to prvni budi dojem, ze pak takova bude i realita, je mozna nevyhoda, ale podle me nepodstatna.
Prestoze pracuji na aplikacich starych 30 let, obcas pisu novy kod, a tam se znat nejake algoritmy obcas muze hodit. Obcas take potrebuji nejaky pomocny skript, a pak si vypomaham Pythonem. A nebo si doma hraju s Common Lispem. Kdyby me skola ucila jen spravovat stare programy a zadne algoritmy, musel bych se je stejne naucit sam.
Ucelem skoly nema byt to, aby vychovavala lidi schopne pracovat v kterekoli firme bez zacviku. To si musi firmy osefovat samy (a o tom take je volny trh - proc bychom jim meli jejich investice platit z dani?).
Ve výsledku pak školy chrlí čerstvé absolventy kteří sice umí psát, ale číst se nikdy nenaučili.V tom máte svatou pravdu, a bohužel se to týká i těch, kteří třeba mají co napsat, ale kvůli zmíněné atmosféře to píšou tak, že to pak nikdo nepřečte.
Co bych si nerejp: jestli neměl nadpis znít spíše "Programování - aneb co se na mé škole neučí 2".
Vidim 4 námitky a na FAVce (ZČU Plzeň) jsme se s nima nesetkali. Seznam předmětů? To bude horší, něco bylo ve třeťáku. (Pak jsem už nestudoval.)
No na FEL ČVUT se něco takovéh dělalo třeba v předmětu o LISPu (přednášel to doc. Kolář), pak se v nějakém předmětu (něco jako "Architektura počítačů" nebo tak nějak se to jmenovalo) předělával procesor (byla to legrace, každý student měl udělat něco jiného a myslím, že každý rok se mírně měnil i ten procesor, pá nepříliš poctivých kolegů na tom tehdy pohořelo
). Nějakém sítovém předmětu jme pak "hackovali" TCP/IP stack Linuxu, přednášel to nějaký cizinec - na název si už nevzpomenu, je to už pár let. Osobně jsem si zapisovat spíš teoretičtější předměty (hrabat se v kódu a upravovat ho jsem uměl z praxe případně osobního zájmu, kvůli tomu by byl nesmysl chodit na VŠ), ale určitě není pravda, že prakticky zaměřené neexistovali.
siroka problematika, kterou je mozno vyjadrit jednim jedinym slovem: akademismus.
Na wiki ci jinde je dost definici tohoto pojmu. Jiz po staleti se lidstvo trapi s timto fenomenem, ale je to v nas zakodovano a tedy nereformovatelne. Zde v diskuzi najdete radu mladych kolegu, kteri jsou jeste opojeni svymi pocity nadrazenosti, pramenici z prislusnosti k akademicke obci. Je tezke se tomu pocitu nadrazenosti branit, otec soustruznik, matka prodavacka v zelenine, je tezko se pak po prednasce doma bavit o tom, jaka metoda reseni soustavy parc. difer. rovnic je v nejake konkretni situaci nejvhodnejsi.
Bohuzel, tento pocit nadrazenosti zustava na skolach i v osobach ucitestva a mira teto ignorance zavisi na tom, jak je ve spolecnosti prave nastavena jakasi vseobecna hladina pokory. Jak vime, diky jistym osobam, ktere nyni nechci jmenovat je tato hladina v soucasnosti velmi nizka (dekujeme!) a proto se nelze divit, ze pozorujete ony jevy jak ve vasem blogu popsano.
Jedinou moznosti, jak akademismus prekonat je revelucni situace ve spolecnosti. Jak vime (tedy my, kteri jsme meli jeste marxismus na skole), tak revolucni pohyby ve spolecnosti jsou nezavisle na vedomi jednostlivce a proto nelze revoluci jaksi vedome privodit. Musime cekat, az spolecnost bude tolik u zdi, ze nebude jineho vychodiska.
Ach jo, kdyby to tak bylo! Ale ono je to přesně opačně!
Právě se učí jen lepit hotové kusy kódu. Čím dál méně lidí je schopno napsat kvalitní nový kód, ba dokonce kvalitně opravit starý kód.
Čím dál méně lidí ví co je to quicksort.
Jinak já velmi děkuji, že jsem se učil pořádně teorii, akademismus, a psát nový kód. Kdybych se učil tak, jak si to přeje pouze autor článku, byl bych dnes další programátor na pásu ála lepič hotových komponent. Nikdy bych nic neuměl.
Dnes jsou moje kódy ve většině států světa a zrovna teď (protože to vzniklo jako vedlejší efekt díky mé vynikající znalosti teorie) se podílím na vytváření dokonalejší matematické teorie funkce krevního oběhu (jako jedna část vývoje software).
Chcete-li celý život dělat programátory na pásu a nikdy nerozumět programování, dejte na autora článku. Je to dokonalý návod na řadového nijak nevyčuhujícího programátora. Samozřejmě můžete slušně vydělávat, o tom žádná.
Výše zmíněné odstavce nejsou sebechvála, normálně tajím co dělám, ale jako motivace, abyste šli vlastní cestou. Cesta dobré znalosti teorie je zdlouhavější, ale vede daleko dále. Začnete později, ale dojde o několik řádů dál. Rozmyslete si, co budete napodobovat.
Tady vidím trochu rozpor:
Škola neučí programování jako řemeslo, ale jako vědeckou disciplínu
vs.
At the moment, there is very little science in software development.
Tak má to být věda nebo ne?
Podle mého programování i informatika (to není totéž) mají už dnes docela silné teoretické a vědecké základy, bylo o tom napsáno mnoho a mnoho… Druhá věc je, jak tyhle teoretické základy zvládá ta která škola předávat studentům.
Přirovnal bych to k architektuře – na VŠ se člověk učí i ty základy o betonu, maltě, taky si zkusí postavit nějakou zeď… ale v životě bude jeho prací navrhovat stavby, kdežto míchat maltu a skládat cihly bude někdo jiný – tudíž architekt tyhle činnosti nemusí zvládat tak mistrně jako vyučený zedník. I na IT oboru vysoké by se tedy měla učit hlavně ta teorie, plus samozřejmě i další věci, které se už vůbec kódování netýkají (projektové řízení, ekonomika, správa požadavků, motodiky…) a všeobecný rozhled – protože úspěšný SW není až tak o kvalitě kódu, ale spíš o tom, jak se dokážeš trefit do potřeb uživatelů.
V praxi je údržba a opravování chyb 80% práce. 20% je psaní nového kódu.
Tohle otrocké opakování pravidla* 80:20 a snaha napasovat ho úplně na všechno mi už trochu leze krkem. U softwaru to tak většinou není – podívej se třeba na weby, ten jednou někdo namastí (100% psaní nového kódu) a pak už se tam jen přidává nový obsah do databáze. Pak někdo přijde s nápadem udělat redesign webu, všechno se zahodí a znova napíše. Nežíkám, že je to tak správně, ale prostě těch 80:20 neplatí. V případě zakázkového softwaru to tak někdy taky bývá – napíše se, nasadí a pak už do toho nikdo nechce vrtat, aby se to nerozbilo. Za pět až deset let ten software zastará a napíše se znova. Pak jsou zase případy, kdy se software pořád upravuje a rozvíjí – ale i tak stejně jednou dojde do stádia, kdy už to nemá cenu a kompletní přepsání má smysl nebo je dokonce nutné. …prostě mi to přijde jako příliš velká generalizace.
Ale abych jen nekritizoval: bylo by fajn, kdyby se při hodinách programování nejen psalo, ale i četlo – např. by se diskutovaly zajímavé kusy kódu nebo by je studenti měli vysvětlit (dost možná, že se to tak někde dělá). Jenže problém je v tom, že v hodně těch kurzech se studenti s tím jazykem a vůbec programováním teprve seznamují – a jsou rádi, že vůbec dokáží napsat program, který dělá to, co má – kdežto zkoumat cizí kód a hledat v něm chyby by bylo mnohem náročnější, spousta lidí by to nezvládla a i těm, co by to zvládli by to zabralo příliš mnoho času a asi by se to do toho předmětu vůbec nevešlo – muselo by se pracovat s mnohem komplexnějším kódem, než jsou ty semestrální úlohy. Možná by to mohly být zvláštní kurzy pro programátory – ale zase je otázka, jestli takový člověk potřebuje vysokou.
*) původně empirické zjištění, že 80% půdy v Itálii vlastní 20% obyvatel – Vilfredo Pareto