Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.
Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).
Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.
Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.
Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.
Noc z 30. června na 1. července byla o tzv. přestupnou sekundu delší. Některé systémy a služby měly s touto změnou vážné problémy. Článek na Wired.com zmiňuje například problémy s Java/Cassandra nebo Java/Hadoop. Také některé linuxové systémy měly problémy.
Tiskni
Sdílej:
23:59:59 23:59:60
nemá nikdy nastat,
spávně je:23:59:58 23:59:59 23:59:59 00:00:00
Napr. hrubost casovych zon vytvari odchylku mistniho casu od presneho solarniho az 30 min na hranici casovych pasem (nehlede na DST, ktere tu odchylku zvetsi o dalsi hodinu).Kdyby jen hodina. Čína má jen jeden čas. China Standard Time (UTC+8)
Kdyby jen hodina. Čína má jen jeden čas. China Standard Time (UTC+8)Epic. Takze pri obedu na jednom konci ciny koukaj na zapad slunce, na druhem na vychod slunce ?
Ony skoro vsechny problemy (a bugy) nejsou spojene s prestupnou sekundou jako takovou, ale s tim, ze se umele vklada v nepravidelnych intervalech (v zavislosti na astronomickych pozorovanich).Opravdu? Který například? Zrovna ten současný v jádře byl způsoben přestupnou sekundou jako takovou, nikoli jejím nepravidelným vkládáním.
BTW, prestupne roky mel i predchozu juliansky kalendar, ale vzdy jednou za 4 roky, bez upravy pro 100 a 400-nasobky.A právě ta úprava pro 100 a 400-násobky dělá taky spoustě programů problémy a byla to součást problému roku 2000. Přesto se zdálo rozumnější opravit chybné programy, ne chybným programům přizpůsobovat celý svět.
Opravdu? Který například? Zrovna ten současný v jádře byl způsoben přestupnou sekundou jako takovou, nikoli jejím nepravidelným vkládáním.Treba ten soucasny. Kdyby prestupna sekunda byla pravidelna, tak by byla implementovana ciste v userspace (v prepoctu z unix time na 'viceslozkovy' (broken-down) time), tykala by se pouze interakce s uzivatelem a interni unix time by bezel plynule. Protoze je ale prestupna sekunda nepravidelna, dava vetsi smysl mit interni unix time ingorujici prestupne sekundy, prepocet na viceslozkovy cas uniformni ignorujici prestupne sekundy, a prestupnou sekundu resit sekundovym skokem v internim unix time. No a v dusledku toho skoku se projevily ty bugy. Nelze proste srovnavat problemy s prestupnou sekundou s problemy se spatne implementovanym prestupnym rokem. Zatimco to druhe jsou trivialne odstranitelne chyby, to prvni jsou fundamentalni problemy, ktery ma kazda casomira ci kalendar zalozeny na astronomickych korekcich namisto na pravidelnych cyklech.
Protoze je ale prestupna sekunda nepravidelna, dava vetsi smysl mit interni unix time ingorujici prestupne sekundy, prepocet na viceslozkovy cas uniformni ignorujici prestupne sekundy, a prestupnou sekundu resit sekundovym skokem v internim unix time. No a v dusledku toho skoku se projevily ty bugy.Mimochodem, takhle to pod UNIXy vždycky nebylo. Staré UNIXy měly interní čas podle TAI a přestupné sekundy se ošetřovaly až při konverzích v userspacu. Po pravdě řečeno, přišlo mi to tak praktičtější.
Vazne? To me prekvapuje, pokud vim, tak jak POSIX tak NTP vicemene predokladaji, ze to bude podle UTC.Však mluvím o UNIXech daleko starších než POSIX a asi i než NTP :)
Mit systemovy cas v TAI je urcite konceptualne elegantnejsi, ale kdyz si zase predstavim problemy se synchronizaci seznamu prestupnych sekund a problemy, ktere by to prineslo napr. embedded systemum s jedinym zapisovatelnym mistem v RTC, ci offline systemum, tak bych hadal, ze by to v praxi fungovalo hure.Offline systémy se tak jako tak nemohou s přestupnými sekundami vypořádat. A jakmile systém používá nějakou formu synchronizace času z externího zdroje, obvykle přitom získává i informace o přestupných sekundách a je jeho věc, jestli si podle nich upraví systémový čas, nebo přepočítávací tabulky mezi systémovým a kalendářním časem. I embedded systémy obvykle mají nějakou nevolatilní paměť, do které si informace o přestupných sekundách mohou uložit.
Abys byl schopen korektne dekodovat starsi timestampy, tak by ti nestacilo znat pouze pocet, ale musel bys znat i to, kdy byla ktera ktera prestupna sekunda. Oproti tomu soucasny system umoznuje korektne dekodovat starsi timestampy bez ohledu na tohle.Ondro to sis mohl dát práci s přečtením poslední věty... ale vlastně je o srovnání všech tří možností celý můj komentář. Zbytek je jasný, offline přístup k čemukoli proměnlivému je problém.
No, myslim, ze ta prvni veta (ktere jsem hlavne oponoval) byla trochu zavadejici - ten rozdil je vyraznejsi na to, aby slo to shrnout jako 'vicemene ekvivalentni'.Vznikala by tam nepřesnost v řádu přestupných sekund, která by ale šla při znalosti seznamu přestupných sekund odstranit. Pro praktické účely mi to přijde velice podobné. Jen se zbavím skoků za cenu určitých malých nepřesností (dokud nedoplním informaci o historii přestupných sekund). Ale to už je věc názoru, ne faktů, takže nevidím důvod o tom polemizovat. Alespoň s tvého současného příspěvku je jasné, co máš namysli.
A protoze dekodovani starsich timestampu je mnohem dulezitejsi funkce nez pocitani delek intervalu (prvni je potreba kazdou chvili a je soucasti standardniho unixoveho rozhrani, to druhe je spis hricka), tak spis jako 'vicemene ekvivalentni' je mozne oznacit 2) a 3).Tady je chyba v předpokladu, že zachování délek intervalů pomáhá pouze jejich výpočtu pro informativní účely, což je značně zpochybněno právě tou chybou, o které je zprávička.
Oproti tomu soucasny system umoznuje korektne dekodovat starsi timestampy bez ohledu na tohle.Ale nedokážeš korektně (jednoznačně) zapsat/dekódovat timestampy kolem půlnoci dne s LS, ne?
Opravdu? Který například?Třeba ten designový, že nevíme, za jak dlouho bude za rok.
Napr. hrubost casovych zon vytvari odchylku mistniho casu od presneho solarniho az 30 min na hranici casovych pasem (nehlede na DST, ktere tu odchylku zvetsi o dalsi hodinu).A to se ještě bavíme o geografických časových pásmech, ne o politických, viz třeba španělsko.
Zruseni prestupnych sekund by vedlo k driftu AFAIK cca 20 min za 500 let ci cca hodinu za tisic let. To by asi lide v klidu tolerovali.Mohlo by se to čas od času korigovat posunutím nultého poledníku :).
Zruseni prestupnych sekund by vedlo k driftu AFAIK cca 20 min za 500 let ci cca hodinu za tisic let. To by asi lide v klidu tolerovali.Nikoli. Jak bylo psano jinde... nejen ze je prestupna sekunda nepravidelni, zpomalovani rotace zeme je nelinearni - za par stovek let muze byt prestupni vterina kazdy mesic.
Nikoli. Jak bylo psano jinde... nejen ze je prestupna sekunda nepravidelni, zpomalovani rotace zeme je nelinearni - za par stovek let muze byt prestupni vterina kazdy mesic.„Nikoli“ znamená, že nemá pravdu. Jenže následující věta nepravdivost jeho tvrzení vůbec neimplikuje.
odchylku mistniho casu od presneho solarnihoPřesný solární čas? Vždyť má dobu trvání 3600*24 s přesahem +-30 sekund během roku. Rozhodně bych podle slunce nic důležitého neřídil. Vlastně ono je docela vtipné, že vůbec chce někdo něco v počítačích řídit podle periody, která ani neznamená jednu otočku Země okolo své osy (viz ten obrázek).
Vlastně ono je docela vtipné, že vůbec chce někdo něco v počítačích řídit podle periody, která ani neznamená jednu otočku Země okolo své osyTo je právě to zásadní nepochopení. Datum a čas tu nejsou kvůli počítačům. Byly tady už dávno před nimi a měly za úkol pro lidi označit oběh Země okolo Slunce a rotaci Země. Když počítače mají údaje o čase prezentovat lidem, mají používat míru, kterou jsou lidé zvyklí používat. Takže se holt počítače budou muset nějak vypořádat s přestupnými roky, přestupnými sekundami a změnami časových pásem. Výkonu na to mají dost.
Datum a čas tu nejsou kvůli počítačům.Ano jsou tu pro lidi a proto by měly být v počítačích použity jen a pouze pro rozhraní sloužícímu komunikaci s lidmi. Rozhodně by neměly způsobovat deadlocky. Nebo chceš snad vyvinout procesor s časovačem v šedesátkové soustavě s přestupnými sekundami?
2012-07-01 00:00:00 - 2012-06-30 23:59:59 = 2Zkoušel jsem i
1997-07-01 00:00:00 - 1997-06-30 23:59:59 = 2
Ano, málo jste hledal:
$ cat time #!/usr/bin/perl use strict; use warnings; use DateTime; my $before = DateTime->new( year => 2012, month => 6, day => 30, hour => 23, minute => 59, second => 59, time_zone => 'UTC' ); my $after = DateTime->new( year => 2012, month => 7, day => 1, hour => 0, minute => 0, second => 0, time_zone => 'UTC' ); print "$after - $before = ", ($after - $before)->seconds, "\n"; $ ./time 2012-07-01T00:00:00 - 2012-06-30T23:59:59 = 2
2012-07-01T00:00:00 - 2012-06-30T23:59:59 = 1 1997-07-01T00:00:00 - 1997-06-30T23:59:59 = 2 aptitude update aptitude dist-upgrade 2012-07-01T00:00:00 - 2012-06-30T23:59:59 = 1 1997-07-01T00:00:00 - 1997-06-30T23:59:59 = 2(ani u 2012 to nesežere hodnotu 60 pro sec.)
Máš používat normální distribuci :) DateTime changelog:
0.71 2012-01-05 - There will be a new leap second on June 30, 2012.
A ví se s dostatečným předstihem, kdy ten výjimečný případ nastane.Asi máme každý jiné vnímání dostatečného předstihu. Zatímco zjistit, kolik dní bude mít únor roku 2132, je triviální, kolik sekund bude mít poslední minuta tohoto roku nikdo neví.
Kvuli podobnym hovadinam pouzivam na vsech serverech UTC (abych nemusel resit letni cas) a voiala, yntelygenty vyrobej prestupnou vterinu ...Tys mě rozesmál. Víš co je UTC ty yntelygente? A proč je přestupná sekunda integrální součástí právě toho UTC, co používáš na svých 'serverech'? Voilà ty vteřino...
voiala, yntelygenty vyrobej prestupnou vterinuJinak přestupná sekunda byla vymyšlena a poprvé zavedena v roce 1972. To je jen taková poznámka pro ty, co mají pocit, jaká je to strašná novinka, a že by se to mělo jejich pécéčku přizpůsobit.
A i kdyby, čemu to prakticky vadí, co se zblázníno dle toho TFA, na linuxu se zblazni kernel, proste bug v kodu
Myslim že v roce 2300 už dnešních GPS satelitů moc fungovat nebude
Krom toho existuje nezname (pravdepodobne dost velke) mnozstvi softwaru v ruznych zarizenich, ktereho programatori pocitali s tim ze 23:44:55 + 3600 = 00:44:55Tam by měl být spíš smutník. Mně přijde tragické, že nevíme, za jak dlouho bude „za rok“.
Mně přijde tragické, že nevíme, za jak dlouho bude „za rok“.Noo... obe vyrazy "v stejnou dobu o rok" a "o 365 dni" maji svuj smysl, a je spis otazka aplikace kdy kterej pouzit. Problem je spis ze spousta programatoru si neuvedomuje ten rozdil, a pouzijou prvni co je napadne.
Nebo zavoláme do Ruska! Když poroučí větru, dešti, proč by nemohli říct Zemi aby se přestala zpomalovat?
[...] pritom by nebyl potiz s navaznosti na kalendar.Ta svá každodenní nepřesná měřidla ovšem čas od času seřizujeme podle nějakých přesnějších: podle časových signálů v rádiu apod. A tahle přesnější měřidla by už problémy s návazností měla. Ale souhlasím, že by mohlo být lepší přesnou synchronizaci kalendáře s přírodou vzdát a místo toho udělat jednou za pár set let velký skok.
Na pár serverech se zbláznila Java a začala žrát 100 % CPU.Ja myslel ze to je jeji normalni stav ( tj zrani 100% CPU )
Normálně žere 100% CPU a dělá že něco dělá, teď žrala 100% a nedělala projistotu vůbec nic
#!/bin/php <? echo mktime(23,59,58,6,30,2012)."\n"; echo mktime(23,59,59,6,30,2012)."\n"; echo mktime(23,59,60,6,30,2012)."\n"; echo mktime(0,0,0,7,1,2012)."\n"; ?>
./xtest.php 1341093598 1341093599 1341093600 1341093600Ja myslim ze timestamp by mel pokracovat nerusene dal bezohledu na prestupne sekundy atd., a menit by se mela az interpretace timestampu, tedy prepocet na dny, minuty, hodiny, sekundy, mesice, roky, atd. U prestupneho roku kdy ma unor 29 dnu take nevracime timestamp o 86400 sekund zpet. Letni zimni cas se take nevraci zpet timestamp, ale meni se interpretace. Pokud je to pocet sekund od 1.1.1970, pak to znamena ze si myslim ze by spravne melo byt
1341093598 = 30.6.2012 23:59:58 1341093599 = 30.6.2012 23:59:59 1341093600 = 30.6.2012 23:59:60 1341093601 = 1.7.2012 0:0:0a nebo klidne treba
1341093598 = 30.6.2012 23:59:58 1341093599 = 30.6.2012 23:59:59 1341093600 = 30.6.2012 23:59:59 1341093601 = 1.7.2012 0:0:0IMHO pokud uz mame prestupnou sekundu, tak dle timestampu, ktery 2x zopakuje tutez vterinu prestupna sekunda vubec nenastala a tudiz odted je timestamp o vterinu mensi nez opravdovy pocet sekund od 1.1.1970 a proto definice ze unix timestamp je pocet sekund od 1.1.1970 odted neni pravdiva. Spravne je pocet sekund od 1.1.1970 a pocinaje 1.7.2012 0:0:0 je to pocet sekund od 1.1.1970 - 1 sekunda, pokud se 1.7.2012 0:0:0 = 1341093600. Pokud se 1.7.2012 0:0:0 = 1341093601 pak zustava pravda ze unixtimestamp je pocet sekund od 1.1.1970. Ale mozna se mylim.
POSIX.1 defines seconds since the Epoch using a formula that approximates the number of seconds between a specified time and the Epoch. ... This value is not the same as the actual number of seconds between the time and the Epoch, because of leap seconds and because system clocks are not required to be synchronized to a standard reference.Tedy UNIX time definovan jako pocet sekund od epochy ale bez zapocitani prestupnych sekund.
Přestupná sekunda způsobí, že rezervační systém Amadeus nefunguje, odbavování cestujících Quantas a Virgin Australia vázne, letový plán jde do kytek. Více než 400 letů je zpožděno o více než dvě hodiny.
Já bych všechny ty sekundy zakázal
Nebylo by pomalu lepší přestupnou sekundu počítat jako další den? Když už to umí 29. února, tak proč nevytvořit 31. června? Sice by ten den existoval jen jednu sekundu, ale to by snad nebyla žádná tragedie
Myslim že to už by software nezvládal tak dobře
Taky pravda...
Zpět.
Myslel jsem to tak, že určitě bude jednodušší jednu sekundu vydávat za den, než vydávat dvě sekundy za jednu. Ostatně do jednoho dne se ta sekunda vejde krásně (a několikrát!), zato zařídit aby 2=1 bude problematičtější, jak jsme se ostatně nedávno přesvědčili.
timeval tv; double start,end; gettimeofday(&tv, NULL); start = tv.tv_sec + ((double)tv.tv_usec)/1000000; //measured code gettimeofday(&tv, NULL); end = tv.tv_sec + ((double)tv.tv_usec)/1000000; printf("\nMeasured time: %f sec\n\n",(end-start));může nejen vrátit špatný údaj, ale dokonce teoreticky záporný čas.
struct timespec tv; double start,end; clock_gettime(CLOCK_MONOTONIC, &tv); start = tv.tv_sec + ((double)tv.tv_nsec)/1000000000; //measured code clock_gettime(CLOCK_MONOTONIC, &tv); end = tv.tv_sec + ((double)tv.tv_nsec)/1000000000; printf("\nMeasured time: %f sec\n\n",(end-start));
ntpdate
a teprve pak se nastartuje ntpd
. Při řešení problémů s ntpd
si něco o volech myslím často, ale vždy je to adresováno autorům tohoto báječného kusu softwaru…
Distribuce to většinou řeší tak, že na začátku init skriptu se zavolá ntpdateDistribuce jsou tedy volové :).
Při řešení problémů s ntpd si něco o volech myslím často, ale vždy je to adresováno autorům tohoto báječného kusu softwaru…Nejsi sám, proto přece máme chronyd :).
Při startu to obvykle nevadíTo si přesně myslím, že to při startu nevadí.
protože se nepředpokládá, že tato změna provede posun dozadu…Zdroj?
Nejsi sám, proto přece máme chronydJenom aby ten projekt zase neumřel, jako všechny předchozí alternativy k
ntpd
...
„Když posunu čas zpět za chodu sytému (včetně Desktopu, o serveru nemluvě), tak si říkám o problémy a můžu si za to sám, protože ‚dopřednost‘ času nemám porušovat.“S tím naprosto souhlasím. Používej jenom pokud víš, co děláš. Nicméně pak je dobré si hodně hlídat správné nastavení času a jeho budoucí synchronizaci. Btw mně minimálně jednou ujel čas ve Fedoře na Lenovu se singlebootem přesně o hodinu a dle všeho to nebyl problém časové zóny. Ale už nejsem schopný to zreprodukovat.
ntpd
nastavit na přesný čas.
Pokud je nějaká aplikace na přesném čase závislá, měla by se spouštět až po úspěšném nastartování služby pro seřizování času. Případně i kontrolovat, zda služba funguje správně, což je zrovna u ntpd
problém...
date
k nastavení času, se musí opatrně a každý administrátor by si měl dávat bacha, jestli nenastavuje čas dozadu. Kdybych musel nastavit čas dozadu o více než nějaké sekundy za chodu serveru, tak bych ten server raději otočil a nastavení nechal provést co nejdříve po restartu, nebo po shození služeb před restartem.
clock();
.