Už jsem starej

Nejsem sice až tak starej, abych tenhle blog zahodil, nebo abych se snažil tvářit, že jsem některé věci, které se při čtení budou zdáti dost infantilně, jakože nenapsal a tak je preventivně promazal.

Ony stejně už jednou na internetu jsou, tak nejde udělat aby nebyly.

Někde tady mezi těma stočtyřiceti postama co jsem naimportoval je i příspěvěk, jak jsem celej ten blog obnovil z historie Google nebo co 😀 (už si to popravdě nepamatuju jak to tehdy bylo, ale asi divočina).

Ono obecně příspěvky “vítejte zpět, blog byl obnoven” by si v tomto zápisníku zasloužili vlastní katergorii, pár by jich tam bylo. Včetně tohoto.

No jo, říkám jsem starej a pak melu úplně vo něčem jiným…

Jsem starej a pozná se to tak, že jsem nainstaloval WordPress.

Totiž přestal jsem si hrát na to, že při upgrade PHP vždycky stačí otevřít ten můj starej CMS ve vimu a zakomentovat tam pár řádek a ono to pojede dál 😀

Článek o zastavení vývoje jsem tu psal “před pár lety” – https://www.arteal.name/novinky/clanek/279-zastaven-vyvoj-kwick-sysu/ a při upgradu na PHP8.1 už fakt pár řádek zakomentovat nestačilo 😀 Tak jsem udělal něco pro bezpečnost mé VPS a “taky jsem si kdysi napsal vlastní CMS v PHP, ostatně jako každej” mi už budete muset pouze věřit 😀

Závěrem přidám, že si poslední pár let hraju s HomeAssistantem a už jsem párkrát měl náměty na články, ale “mrtvost” mého stařičkého CMS (admin část už nefungovala delší dobu, psaní článku by byl “INSERT dotaz” :D) mě od toho několikrát odradila. Tak snad zas někdy, jako stařík, něco pisnu ve WordPressu

Websocket, PHP a real-time komunikace

Po delší době jsem se rozhodl publikovat krátký článek, který se bude možná hodit těm, kdo vyvíjíte weby v PHP a chtěli byste na nich využít obousměrnou komunikaci přes websocket, což na běžných hostingových programech pro PHP projekty není úplně jednoduché.

Pokud programujete dlouhé roky v PHP, asi se vám nechce přecházet na jiné populární jazyky jen pro to, abyste nasadili do projektu novou funkcionalitu, jakou je real-time komunikace přes websocket. A ani to není potřeba, protože jsou řešení, která dokáží nedostatky PHP vyřešit.

Websocket jako služba (IaaS)

Řešením, jak nasadit websocket komunikaci na web v PHP, aniž byste se učili nové programovací jazyky nebo si instalovali vlastní virtuální server s podporou websocketů, je využití infrastruktury jako služby (insfrastructure as a service).

IaaS vám poskytne vše potřebné pro navázání a udržování otevřených websocket spojení s klienty, kteří mají aktuálně zobrazený váš web, nebo spuštěnou aplikaci. Můžete s nimi tedy komunikovat v reálném čase a odesílat klientům data do jejich zařízení, aniž by si o ně požádali, na rozdíl od klasického HTTP nebo AJAX požadavku.

Dost řečí, více činů, jdeme na to

Nemá smysl popisovat věci, které už někdo popsal. Pokud chcete víc informací, je dobré se podívat přímo na služby, a to hned od několika poskytovatelů. Hlavní parametry pro porovnání služeb jsou počet konkurenčních spojení (aktuálně připojených klientů) a počet i velikost zpráv odesílaných před websocket.

Služby pro real-time komunikaci přes websocket

  • WebSocket.cz – český projekt mého kamaráda, doporučuju zkusit
  • Mercure.rocks – Mercure real-time API and websocket communication
  • – Powering realtime experiences for mobile and web
  • – AWS WebSocket APIs in API Gateway
  • – Pie Socket WebSocket Servers

Poskytovatelů websocket IaaS je samozřejmě víc, včetně cloudů jako Google, Azure a další. Stačí pohledat na google výrazy jako “websocket IaaS”, “rest API to websocket” a pod. Snad vám podobné služby usnadní integraci websocketů do projektů v PHP, které se vám nechce přepisovat, protože jinak fungují pěkně.

O trávě o slunci

Bylo, nebylo. Ono to spíš nebylo, leč slunce tam svítilo.

Mezi mihavými stíny posledních dosahujících listů z protilehlého stromoví, na krásně punkové lavičce, sedělo při stole, který měl tu čest, že se již neopíral o futra, ale byl opěrkou pro loktě svírající zrzavé české chleby, stáčené v přistavené osvěžovně punkových rozměrů. Na nohou z cykloceli, dvě lavice mu pomáhali.

Na straně jedné, hospodská stěna se střechou příkrou, pravděpodobně věžatou. Bez obsluhy, přesně jak živá punkovost káže. Konec bloku, po pravici ukazujíc krásy pavlače, čtyři patra prosuleněných výběhů pro šťasné pavlačisty.

Na straně druhé trasa jasná, vyrovnaná, betonovaná a plná nadšenců produkujících nejvyšší rychlost, kterou mohou nebo chtějí dosáhnout. Dle opakujících se radostných tváří se dalo usoudit, že stejně jako nedojdeš na konec placky zvané země a nespadneš, stejnou oválovitostí oplíval tento kruh. Za touto, při teplém slunečním teplém objetí, velmi oblíbenou trasou se nejasně rýsovala velmi strmá, kři řezaná stezka. Ta prý vede až k sedlanému majestátu tyčímu se nad všemi krásnými, vežičkami osetými obytnými skvosty.

Zde, sedělo, vyjma stínů mlčelo.

/// A já se mám už tři roky skvěle, ano, to vám řeknu, směle!

Ateista a Ajťák

Poslední týden byl velmi zajímavý.

Setkal jsem se totiž se starým známým. Bydlel kousek ode mě a docela často jsme se potkávali, ikdyž jsem to ze začátku ještě nevěděl. Jeho galerie “pod mostem” byla dlouho a chtěl bych, i nepřál bych, aby dlouho ještě byla, místem mnoha otazníků a vykřičníků.

Člověk by se na to chtěl dívat s nějakým nadhledem, ale když si uvědomím, že jsem to nejspíš zapřel, tak přichází ta surovost, se kterou jsem toto chtěl napsat. A přitom nezlobit.

Setkání anonymní a přitom tak osobní.


Příběh stejný, cesta jiná.


Každý chce být jako já, přitom by nikdo nechtěl.

Cesta zapření mě dovedla až k tomu, že s chutí píšu něco, co nikomu nedává smysl, ale přitom to dáváš, protože chceš aby dávalo a k tomu máš máš strach, že ti to někdo zhejtuje, někdo, kdo tomu rozumí a ty mu musíš říct : “jo, je to napiču, to je mi jasný”.


Ale “překvap játra vodou”.


Pokud by jste tedy chtěli nějaké poslání, nebo tak, tak jsem se rozhodl že nebudu zlobit, sebe, ne ostatní.

Uvědomit si, že tohle někoho zajímá bylo jako blesk z nebes. To, že se nezavděčíš všem je hromosvod. To dobrý na tom je, že to zase časem zapadne mezi další články, to blbý je, že je to tu asi technickej tip.


Jo a ještě něco 🙂

Creepy One

I wish I was special

Tak moc emyšlenek mě dovedlo až sem. Ano nebo ne, proč ano, pokud ne.

Tak krásně jsem se měl, když jsem si neuvědomoval, jak to nejde do kopce. Chtěl jsem vyjímečný rok, mám ho, se vším všudy. Dnes v noci tá otázka dává větší význam něž kdy předtím, ale už jsem blízko odpovědi, bez které nelze jít dál. Ať tak, či tak, těším se, až budu znovu šťastný a začnu zase pilovat a posouvat na co se podívám, vlastní pilou, vlastní silou.



Rok 2014 se mi zapíše do hlavy jako rok, kdy jsem se neposral, kdy jsem se o to postaral.



Trvalo mi to krásný a dobrý rok, kdy jsem se nedotkl Piggyho, ale ukázal mi, že stagnace, je dobrá a dobré je kurevsky málo pro život.



Je to jiný, je to jiný, protože mě to umí užírat moderním způsobem, který mě živí (oh, so social) a je to jiný, protože cítím lásku, tam kde jsem dřív mohl jen snít. Vím co musím a vím, co umím. Vím, že tu není žádné místo pro nevím.



Potřebuju jen sesbírat sílu jít a říct. Maybe pathetic, but totally true.



Jsi nejlepší bytost, co jsem potkal a chci abys to věděla a potřetí si to už nenechám pro sebe, zvlášť když mám toho tolik pro tebe.



Můžu vše, jen ne, trápit se a užírat tím všechny ty úžasný lidi, který mi poslední roky dávají sílu smát se a vstávat



Thank you for lovin’ you, birdie

I’m not hurt, because it was best I can.

NFSv4 client Arch Linux

Instalace NFSv4 klienta na Arch Linuxu

Instalace potřebného sw :

# pacman -S nfs-utils

ID mapping

Edituju soubor /etc/idmapd.conf, aby direktiva Domain byla stejná jako na serveru

modul nfs

Načtu si modul nfs:

# modprobe nfs

Služby

zapnu tyto dvě služby :

# /etc/rc.d/rpcbind start # /etc/rc.d/nfs-common start

/etc/hosts záznamy pro připojení

Napíšu si něco jako :

baketa:/pacman /var/cache/pacman nfs4 async,user 0 1

Přidat rpcbind a netfs do DAEMONS

Upravit soubor /etc/conf.d/nfs-common.conf

# Do you want to start the statd daemon? It is not needed for NFSv4. NEED_STATD="no" # Do you want to start the idmapd daemon? It is only needed for NFSv4. NEED_IDMAPD="yes"
mount -a

Nový layout

Vím, němělo by se to zakřiknout. Nicméně se musím pochlubit s tím, že se již brzy plánuje úplně nový layout pro můj log.
A tento miničlánek má poukazovat ne něco jiného, interního. Jasně, je to alegorie jak vyšitá 🙂

Takže zatím děkuji Aničce a Zdenkovy a těšme se 🙂

Pacman 4 a yaourt 1

Do mé oblíbené a “domovské” distribuce Arch Linux dorazila zbrusu nová verze balíčkovacího systému pacman a to ve verzi 4. Tato verze přináší několik novinek(nade vše podepisování gpg klíči), proto se ji bude věnovat celá část článku. Další část se bude věnovat nové verzi aplikace yaourt, která slouží pro využívání jedné z, dle mého názoru, nejlepších počinů komunity okolo Arch Linuxu a to AUR.

Pacman 4

Pokud budu přepodkládat, že již máte nainstalovaný yaourt a jeho závislost package-query, tak je nejdříve třeba je odinstalovat:

$ sudo pacman -Rds yaourt package-query

Dále nainstalujeme novou verzi pacman-a :

$ sudo pacman -Syu pacman

Pacman 4 přichází s trochu pozměněným konfiguračním souborem, je tedy třeba zrevidovat soubor /etc/pacman.conf.

Příklad mého konfiguračního souboru je zde : pacman.conf.

Používám rozšířené možnosti, které ukazují velikost balíčku, ukazují velikost všech stažených balíků, nepoužívám testing repozitáře a používám multilib repositář(který nepoužijete pokud používáte i686, neboli 32bit verzi systému).

Pacman-key

Aneb avizované podepisování gpg-klíči je nová fíčura pacman-a, která jednoduše řečeno zajišťuj, že je daný balíček opravdu od vývojáře, který ho “zabalil”. Zajistí se to tak, že si importujeme (pomocí pacman-key) GPG klíče vývojářů a pak kontrolujeme jejich fingerprinty. Tuto novou vychytávku ovšem nemusíme vůbec používat, máme tedy dvě možnosti :

Zakázat pacman-key

Pokud jste neupravovali soubor (před upgradem – při používání verze 3.x) /etc/pacman.conf, tak se vám automaticky nainstaloval nový konfigurační soubor, který v základním nastavení má pacman-key vypnuté.

Pokud použijete můj příklad, tak v konfigurační souboru zakomentujeme SigLevel = Optional TrustAll a odkomentujeme #SigLevel = Never.

Nastavit pacman-key

Zinicializujeme si databázi klíčů:

# pacman-key --init

Dále musíme importovat do naší klíčenky klíče vývojářů, na to nám poslouží jednoduchý skript z Arch wiki, který spoustíme jako root:

for key in FFF979E7 CDFD6BB0 4C7EA887 6AC6A4C2 824B18E8; do pacman-key --recv-keys $key pacman-key --lsign-key $key printf 'trust\n3\nquit\n' | gpg --homedir /etc/pacman.d/gnupg/ \ --no-permission-warning --command-fd 0 --edit-key $key done

Nyní můžeme upgradovat systém s oveřením podpisů:

# pacman -Syu

Instalace yaourt 1:

Yaourt máme nyní odistalovaný, takže jeho novou verzi nainstalujeme z nových balíčků, na které vede odkaz z AURu :

$ mkdir -p temp/yaourt $ cd temp/yaourt $ wget https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz $ tar zxvf package-query.tar.gz $ cd package-query/ $ makepkg -si $ cd .. $ wget https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz $ tar zxvf yaourt.tar.gz $ cd yaourt $ makepkg -si $ cd ..

Hlavním zdrojem byl wiki článek : wiki.archlinux.org/index.php/Pacman-key a AUR

Skinování openboxu

Dnes bych se chtěl věnovat tomu jak oskinovat, česky obléci, nebo nastavit vzhled mému oblíbenému správci oken(WM) jménem Openbox.
Openbox se v základu nestará o vzhled aplikací(což de facto ani nemůže), ani pozadí plochy, ale pouze o dekoraci oken.Postupně si tedy proberem metody jak tyto tři prvky ovlivnit :

Pozadí plochy

Začneme tím nejjednodušším, což paradoxně OpenBox sám o sobě neumí. Pro nastavení pozadí plochy tedy použijeme prográmek feh, který lze v Arch Linuxu jednoduše instalovat z oficiálního repositáře, tedy příkazem :

# pacman -S feh

Dále musíme feh umístit do soubor ~/.config/openbox/autostart, aby se nám pozadí načetlo po přihlášení do systému :

source ~/.fehbg

Dále si v domovském adresáři vytvoříme soubor .fehbg, do kterého uložíme příkaz potřebný k nastavení pozadí. Tento způsob jsem vybral, protože pokud budeme chtít v budoucnosti nastavit pozadí přes samotný feh, tak on si zapíše nastavení zrovna do tohoto souboru a naše prostředí bude tedy schopno tyto změny reflektovat. Soubor ~/.fehb bude tedy vypadat přibližně takto :

feh --bg-scale '/home/user/images/wallpapers/great_wp.jpg'

Dekorace oken

Jelikož je OpenBox primárně správce oken(WM), takže nastavení dekorace oken pro něj není nic cizího. Za základní postup pro změnu dekorací by se dala považovat úprava souboru ~/.config/openbox/rc.xml, konkrétně sekce , ale mi budeme líní a budeme chtít vědět z čeho můžeme vybírat a také si tento výběr rozšíříme, v Arch Linuxu toho docílíme následující instalací :

# pacman -S obconf openbox-themes

Nyní si spustíme program obconf, který také najdem v menu Openboxu jako položku System->Openbox Configuration Manager.
Hned první záložka je Themes, kde si můžeme vybrat vzhled dekorace oken a menu. Dále nás může zajíma záložka Appearance, kde se dá nastavit rozložení položek na titlebaru oken a fonty pro různé popisy(title bar,menu).
Dobrým zdrojem vzhledů pro Openbox je stránka box-look.org a její (odkazovaná) kategorie Openbox

Vzhled aplikací

Jelikož je OpenBox pouze správce oken, tak neposkytuje žádný způsob jak spravovat vzhled aplikací, ten si musíme upravit samy a to je závislé na grafické knihovně, na které je aplikace napsaná.
Za upředňostňovanou knihovnu ve “světě openboxu” by se s klidem dala označit knihovna GTK, je na ní napsaný obconf, který jsme použili pro konfiguraci dekorace oken OpenBoxu.
Pro knihovnu GTK je také napsáno mnoho “minimalistického” softwaru, po kterém dost možná toužíme, už proto, že jsme si vybrali minimalistické prostředí jako je OpenBox a ne celý DE. Nemůžeme říct, že by aplikace psané pro “konkurenční” knihovnu Qt byli vždy “přerostlé”, nebo ani “zbytečně velké”, ale už tendence(v positivním slova smyslu) psát aplikace integrované do KDE pro nás nejsou přílišnou výhodou. Ač tedy knihovnu Qt nijak nezavrhuji, budu se věnovat nastavení skinu pro knihovnu GTK2.

Z několika aplikací pro změnu vzhledu GTK aplikací jsem si nakonec vybral lxappearence. Lxappearence jsem si vybral hlavně pro to, že nabízí kompletní změnu vzhledu : tudíž samotný skin, ikonky i kurzor. Lxappearence instalujeme v Archu z repositáře community :

# pacman -S lxappearence

Mnoho zajímavých vzhledů můžeme získat z webu www.gnome-look.org, nás budou zajímat kategorie GTK 2.x a Icons