Wine bylo po roce vývoje od vydání verze 9.0 vydáno v nové stabilní verzi 10.0. Přehled novinek na GitLabu. Vypíchnuta je nová architektura ARM64EC a podpora High DPI škálování.
Edvard Rejthar na blogu zaměstnanců CZ.NIC představil nástroj deduplidog pro odstranění duplicitních souborů.
Společnost DeepSeek představila (𝕏) AI model DeepSeek-R1 (Hugging Face) srovnatelný s OpenAI o1 a uvolnila jej pod open source licencí MIT, tj. zdarma i pro komerční použití.
GKrellM (GNU Krell Monitors, Wikipedie), tj. grafická aplikace pro sledování systémů a různých událostí, byla po pěti a půl letech vydána v nové verzi 2.4.0. Přehled novinek na Gitea.
Americká první dáma Melania Trumpová vydala v předvečer manželovy inaugurace vlastní kryptoměnu. Jmenuje se $Melania. Donald Trump vydal vlastní kryptoměnu $Trump den před manželkou.
GNU Project Debugger aneb GDB byl vydán ve verzi 16.1. Podrobný přehled novinek v souboru NEWS.
Po 9 týdnech vývoje od vydání Linuxu 6.12 oznámil Linus Torvalds vydání Linuxu 6.13. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Odstraněn byl souborový systém ReiserFS.
19. ledna 2038 přeteče hodnota time_t na 32bitových systémech, na vyřešení problému roku 2038 (Y2K38) tedy zbývá 13 let. Např. Debian v uplynulém roce přešel na 64bitový čas. Bernhard Wiedemann z openSUSE sdílí chyby v sestavení rozšířeného softwaru.
Byla vydána druhá opravná verze 21.2 v dubnu loňského roku vydané verze 21 multimediálního centra Kodi (dříve XBMC, Wikipedie) s kódovým označením Omega.
TikTok ve Spojených státech v sobotu večer místního času přerušil činnost. Uživatelé čínskou firmou vlastněné sociální sítě dostali zprávu, že aplikaci kvůli zákazu nelze používat. TikTok je momentálně nedostupný v obchodech s aplikacemi Google Play a App Store. Podle zákona přijatého loni a potvrzeného v pátek soudem měla platforma do dneška přerušit spojení se svou mateřskou společností ByteDance, která sídlí v Číně, nebo činnost v
… více »Během posledních několika let jsem zkusil různé webové kalendáře, ale většinou jsem u nich moc dlouho nezůstal. Velké množství webových kalendářů používá vlastní formát pro uchovávání dat a případná změna aplikace znamená ztrátu všech údajů. Při poslední změně programu jsem se naštval a rozhodl se pro definitivní řešení - přechod na program s přenositelným formátem dat.
Zadal jsem si následující podmínky pro výběr vhodného kalendáře.
Nakonec jsem si vybral následující řešení:
Formát dat iCalendar je standard (RFC 2445) pro výměnu kalendářových dat. iCalendar je podporován většinou běžně používaných programů jako jsou Mozilla Calendar (Mozilla Sunbird), Microsoft Outlook, KOrganizer, Apple iCal, Ximian Evolution nebo třeba Lotus Notes.
WebDAV protokol nám umožní ukládat kalendář na web přímo z aplikace Sunbird. Nelíbí se mi představa, že by se heslo ke kalendáři a vlastně celý můj kalendář potuloval po internetu v čistém textu, proto používám WebDAV přes HTTPS. WebDAV mám spuštěný na vlastním serveru. Pokud vlastní server nemáte a váš webhosting WebDAV nepodporuje, můžete využít například služby icalx, která slouží ke sdílení kalendářů.
Pro práci s kalendářem na desktopu si můžete vybrat z více aplikací, já jsem si zvolil program Mozilla Sunbird případně Mozilla Calendar. Samozřejmě můžete použít KOrganizer, Evolution nebo třeba Outlook.
Pro webový přístup ke kalendáři použijeme program PHP iCalendar; je relativně jednoduchý na nastavení a rychle se v něm zorientujete.
Nebudu zde popisovat kompletní nastavení Apache webserveru, od toho je oficiální dokumentace na httpd.apache.org. Ukázka konfigurace (jde o umístění a názvy souborů), kterou uvedu, je z distribuce Debian a platí pro webserver Apache 2.
Podpora WebDAV je standardní součástí Apache. Aktivujeme ji přidáním modulu do konfigurace webserveru, to samé provedeme pro modul mod_userdir. Modul userdir nám umožní jednoduše nastavit pro každého uživatele adresář pro web, v našem případě pro kalendář.
cd /etc/apache2 ln -s mods-available/dav.load mods-enabled/ ln -s mods-available/dav_fs.load mods-enabled/ ln -s mods-available/dav_fs.conf mods-enabled/ ln -s mods-available/userdir.load mods-enabled/ ln -s mods-available/userdir.conf mods-enabled/
Nyní povolíme pro uživatelské adresáře WebDAV. Soubor
/etc/apache2/mods-enabled/userdir.conf
upravíme takto:
<IfModule mod_userdir.c> UserDir public_html UserDir disabled root <Directory /home/*/public_html> <IfModule mod_dav.c> Dav On </IfModule> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec </Directory> </IfModule>
A na závěr restartujeme webserver:
/etc/init.d/apache2 restart
Pokud vyrobíte v domácím adresáři uživatele (v mém případě uživatel
tsunami) adresář public_html/
a nastavíte mu práva
tak, aby do něj mohl webserver přistupovat a číst, budete mít jeho obsah
dostupný na http://server/~tsunami/
.
Pro umístění kalendářů a povolení zápisu přes WebDAV si jako uživatel
vyrobíme adresář ~tsunami/public_html/kalendar
a nastavíme mu
práva na 777. Pokud se vám nechce práva takhle hloupě nastavovat, tak je
nastavte na 770 a změňte skupinu toho adresáře na www-data (nebo pod čím
vám běží Apache). Zápis přes webdav totiž probíhá pod uživatelem, pod
kterým běží webserver.
Aby nám nemohl každý kolemjdoucí lézt do kalendáře, je vhodné ho schovat za heslo.
order allow,deny allow from all AuthName "Kalendar" AuthType Basic AuthUserFile ~tsunami/public_html/kalendar/.htpasswd AuthGroupFile /dev/null require valid-user
Soubor s heslem pro uživatele tsunami vyvoříme utilitou htpasswd:
htpasswd -c ~tsunami/public_html/kalendar/.htpasswd tsunami New password: Re-type new password: Adding password for user tsunami
Nastavení webserveru, které jsem zde ukázal jako příklad, je to
nejjednodušší, které může být - uživatelé mají plná práva. Pokudchcete
uživatele omezit, tak se zaměřte na volby <Limit> případně
<LimitExcept>. Samozřejmě nemusíte mít nastavení v soubrou
.htaccess
, ale můžete vše napsat přímo do konfiguračních
souborů Apache.
Když už vám bude vše fungovat přes HTTP protokol, tak zkuste i HTTPS. Přece nechcete, aby vaše kalendáře poletovaly po síti v plaintextu :-).
Pro vyzkoušení přístupu na webdav použijeme program litmus.
litmus https://server/~tsunami/kalendar/ login heslo -> running `basic': 0. init.................. pass 1. begin................. pass 2. options............... pass . . . 38. finish................ pass <- summary for `locks': of 39 tests run: 36 passed, 3 failed. 92.3% -> 1 warning was issued. See debug.log for network/debug traces.
Test proběhl, ale nahlásil 3 chyby. Vzhledem k tomu, že to jsou chyby, které nevadí, prohlásím webdav za správně nastavený :-). Pro přístup na webdav je možné použít řádkového klienta cadaver nebo namountovat vzdálený webdav jako filesystem. Pro přimountování je třeba nainstalovat davfs.
vodik:~# mount -t davfs https://server/~/tsunami/kalendar/ /mnt Please enter the username for authentication with server https://server/~tsunami/kalendar/ or hit enter for none. Username: tsunami Please enter the password to authenticate tsunami with server https://server/~tsunami/kalendar/ or hit enter for none. Password: Server cerifticate could not be verified. presented for `server': Issuer: server, Zdenek Burda, Prag, Czech Republic, CZ Subject: server, Zdenek Burda, Prag, Czech Republic, CZ Fingerprint: 8c:98:55:32:84:f1:5b:74:b2:cf:7f:d0:26:b8:23:6f:e7:d5:9e:f4 If you can't verify the fingerprint the server may be faked or there may be a man-in-the-middle-attack! I am not a coward and accept the certificate anyway [y,N]? y
Program Mozilla Calendar je dostupný jako rozšíření pro Mozilla Suite, případně Firefox a Thunderbird. Pokud raději chcete úplně samostatnou aplikaci, můžete zkusit Mozilla Sunbird. Další nastavení bude odpovídat Sunbirdu, ale na Mozilla Calendar půjde určitě taky aplikovat.
Vzdálený kalendář se vytvoří pomocí "průvodce". Začněte v menu File->New Calendar File, otevře se dialog, kde zvolíme vzdálený kalendář (Remote).
Po potvrzení můžeme vybrat způsob, jakým budeme ke kalendáři přistupovat, a kde bude uložen. Zvolíme protokol WebDAV a jako místo, kde bude kalendář, napíšeme kompletní adresu https://server/~tsunami/kalendar/kalendar.ics. Kalendářů si samozřejmě můžete vyrobit víc, takže je vhodné zvolit dobré jméno.
Poslední dialog umožní pojmenovat kalendář a zvolit barvu, jakou se bude zobrazovat.
Po potvrzení se vás kalendář pravděpodobně zeptá na to, zda se vám líbí SSL certifikát serveru, na kterém je webdav, a poté na login a heslo.
Po odklepnutí se mi ukázalo varování, že je kalendář pouze pro čtení (Read-only).
Náprava je jednoduchá, prostě zrušíme Read-only ve vlastnostech daného kalendáře. Pravým tlačítkem myši klikněte v seznamu kalendářů na náš kalendář, zvolte Edit Calendar a v dialogu, který se otevře, zrušte zatržení u Read-only.
Nyní můžete začít ládovat do kalendáře data. Pokud se rozhlédnete po internetu, najdete zajímavé kalendáře. Jeden z nich (seznam státních svátků) najdete na stránce Filipa Molčana.
Pokud vám něco nefunguje, zeptejte se ve fóru věnovaném kalendáři.
Přístup přes web se hodí, pokud nejste zrovna u svého počítače a nechcete/nemůžete nastavit Sunbird tak, aby zobrazoval vaše kalendáře. Pro zobrazení kalendáře na webu použijeme zmiňovaný PHP iCalendar (aktuálně ve verzi 2.1).
PHP iCalendar rozbalte například do adresáře
/public_html/kalendar/web/
. Přesuňte se do adresáře s
kalendářem, smažte adresář calendars
a místo něj si vytvořte
symlink na adresář /public_html/kalendar/
.
$ cd ~tsunami/public_html/kalendar/web rm -rf calendars ln -s ../ calendars
Tím dosáhneme zveřejnění všech kalendářů, které si vyrobíme, na webu.
Pokud potřebujete zveřejňovat pouze nějaké kalendáře, nemusíte mazat
adresář calendars
, ale můžete si do něj požadované kalendáře
nalinkovat. Konfiguraci webového kalendáře můžete ovlivnit v souboru
config.inc.php
.
Popsané řešení zřejmě nebude pro spoustu lidí dostačující, ale mně vyhovuje. Zlepšení vidím ve vhodnějším nastavení práv pro WebDAV přístup ke kalendářům tak, aby se daly sdílet jednotlivé kalendáře s různým oprávněním pro různé uživatele. Možná by se hodila i editace kalendáře přes web, třeba existuje vhodná webová aplikace. Pokud o ní někdo víte, napište do diskuze.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
select '<?xml version="1.0"?>'; -------- select '<data>'; -------- select '<kapacita cas_od=' || cas_od || ' cas_do=' || \ cas_do || ' name=' || jmeno || '/> ' FROM table order \ by cas_do DESC; -------- select '</data>';nebo to rovnou prohnat jako dotaz pres konsoli a oriznout pres cut a sed a prohnat pres prikaz xsltproc nebo:
-------- SELECT 'BEGIN:VCALENDAR\n VERSION:0.9' ----- SELECT 'BEGIN:VEVENT\n SUMMARY: ' || event_name || '\n DTSTART: ' || event_datum || '\n DURATION: ' || event_duration || '\n END:VEVENT' FROM tabulka ORDER BY event_datum DESC; ----- SELECT 'END:VCALENDAR';psql -d db -f event_generate.sql | grep neco | grep neco > soubor.ics 1c) doplnte si odradkovani sami 2) vygenerovat soubor kalendare - primo v kodu ci pres xslt 3) naimportovat dany vystup do organiozeru 4) divat se, co vlastne mame v databasi a jak nas slavny podnik vyuziva prostredky k danemu casu. 3a) dejte si pozor, at dogenerujete poradne slozku do souboru kalendare. Jinak si zadelate daty cely organizer. 4a) bacha, chce to silnejsi masinu nebo optimalizovanou versi organizeru. Viz. evolution jde ve starsich versich na krovky co se tyce vykonu i na P4. Pointa je v tom, ze nemusite zbytecne psat aplikaci na zpracovani kapacit, ale jiz vyuzivate. A je to prace na par hodin, ne dni. Idealne webova sluzba. Chce to tedy nastavit prislusne MIME-typy do webserveru. Rekl bych, ze nic noveho na zahranicni pomery. Specifikace existuji roky. Neresil jsem zatim specifika MS sveta. Pripadne prilohy v kalendari. Nebo xml format pro kalendare. Tipy v tomto vitany. Tridy, WSDL a skripty si napiste sami. Me to taky zabralo nejaky cas behem par let a zatim to nepotrebuji publikovat. diky gf
/** pouze priklad a z voleje,doimplementujte si sami a bez chyb, co jsem udelal v rychlosti. a */ /** set syntax=java */ public class ICS_Generator { /** class property definition */ /** constructor */ public ICS_Generator() { } /** xml generate */ public StrinBuffer Generate XML() {} /** swing component */ public JComponent GenerateSwingGUI() {} /** send by mail */ public boolean GenerateMail() {} /** print generated query */ public boolean PrintSQLQuery() {} /** ICS format */ public StringBuffer GenetateICS() {} /** VCS format */ public StringBuffer GenetateVCS() {} /** register parameter for SQL table and output */ public boolean RegisterParameter() {} /* process query */ public boolean Process() {} /** class property set */ public SetWebDAVURL() {} public SetSQLColumnDateFrom() {} public SetSQLColumnDateTo() {} public SetSQLColumnOrder() {} public SetSQLTable() {} /** predpokladam, ze knihovnu na zpracovani parametru z comandline asi pouzivate */ public SetConsoleOutput() {} ....... } #console$ java ICS_Generator [param] nebo v aplikaci ICQ_Generator igt = new ICS_Generator() igt.Set(......) igt.Process() StringBuffer data_output = igt.GenerateICS(); // nebo JPanel jp = new JPanel("aplikace desktop"); jp.add(igt.GenerateSwingGUI()); } // a delejte si s tim, co chcete.... // bye gf // a je tu mala konsolova aplikacka unix-like typu, trida // a prace tak na den. komponenta.