NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Minule jsem zmiňoval Termux, který je k dispozici jak na Google Play tak na F-droidu. Kromě toho existují aplikace Termux api a Termux styling, u Googlu placené, na F-droidu zdarma (resp. s dobrovolným příspěvkem). Termux API otevírá možnost komunikace s "telefonem" - něco jako "phone-control" v Maemu na N900. Momentálně ještě nemám v Gemini SIMku, takže věci jako vytáčení čísla z příkazové řádky zatím nemám ošahané, ale mělo by jít ledacos, jenom bacha, musí se nainstalovat jak balíček v Termuxu, tak Androidí aplikace ! Pod Termuxem lze v chrootu provozovat i "normální" Linux, i když bez Xek - například tady je oficiální návod, jak nainstalovat Debian
Až na vyznavače EMACSu všichni víme, že nejlepší textový editor je vim.
Ve výchozím nastavení je ve vimu problém s českými znaky - na netu se podobné problémy řeší, ale celkem neúspěšně. Tak jsem místo strýčka googla použil vlastní mozek a zadal na stackexchange dotaz jak změnit výchozí kódou stránku ve vimu na UTF-8, ověřil si, že do .vimrc musím napsat set encoding=utf-8, otestoval a ono to pomohlo. Takže teď tento zápisek píšu ve vimu na Gemini. Hurá.
Zejména při kopírování a přesouvání souborů v mc jsem zjistil, že klávesnice Gemini postrádá insert. Google na první dobrou nic nevydal a tak jsem se vydal kupředu cestou pokus/omyl. Již Nokia N900 postrádající tabulátor mne naučila, že CTRL+I=TAB, Gemini dnes vděčím za poznatek, že CTRL+T=INSERT.
Ve Vimu se píše tradičně dobře, jediné, co bych mu vytkl je dotyková obrazovka, kde se omylem někde dotknu a skočí tam kurzor - ovšem řešením je set mouse=c a myš vesele ignoruje.
Takže máme termux a vim, celkem to spolu běhá - ale kam a jak uložit soubor tak, aby se dal jednoduše nahrát třeba na ábíčko ? Na úložiště má přístup jen root. Tedy až do okamžiku, kdy vlezeme do nastavení Androida-aplikace-termux-oprávnění a udělíme mu oprávnění hrabat se na disku. Od tohoto okamžiku i prostý uživatel může s "diskem" i případnou SD kartou libovolně manipulovat.
Jak ale vložit fotku ? Původně jsem plánoval užít Termux-api, ale musím přiznat, že využití foťáku je nespolehlivé a hlavně to rovnou práskne fotku bez možnosti náhledu. Tedy, náhled se dá udělat pomocí xdg-open (pustí Androidí nativní aplikaci), ale tohle je relativně pomalé.
Možná jsem to dostatečně nezdůraznil, ale Gemini má speciální klávesu "Gemini", která vyvolá menu ve stylu MacOSX. To se dá z převážné většiny upravovat, takže si tam můžeme dát Termux a aplikaci foťáku. Když chci vložit fotku, zmáčku Planet, vyberu foťák, odfotím, a fotka se mi uloží do tradiční Androidí cesty ~/storage/DCIM/Camera (udělal jsem si ln -s /storage/emulated/0/ ~/storage). No, a odtamtud si ho můžu "vyzvednout", jak jinak než VimScriptem definovaným ve .vimrc - funkce se jmenuje GetLastPhoto() - pokud je řádek prázdný, vloží __ptkn:název souboru (photo taken, pro další zpracování textového souboru ) a odřádkuje, jinak odřádkuje před vložením. A to vše v insert módu přes Alt-Photo. Elegantní, prosté, pouze to není WYSIWYG
HP 200 LX měl také hezkou funkci na vložení data a času - pro vim existuje návod na VimWiki ,kterým jsem se lehce inspiroval, takže alt-Time, alt-Date, alt-timesstamp ...
Minule popisovaný problém s PgUp/Dn se Vimem řeší, protože máme Ctrl-U a Ctrl-D . Každopádně ale patch byl již do termuxu odeslán - zde je commit
Pro správu netermínovaných úkolů se mi osvědčilo TODO.txt, které jsem si trochu rozšířil, tekže s oficiální Androidí aplikací bohužel není úplně kompatibilní - ale o tom v některém z dalších postů. Ale aby mi fungoval příslušný syntax highlighting, mám něco přidáno i do vimrc.
Pro ty, co vi(m) pozapomněli, připomínám nejčastější vimové zkratky či Cheat sheet pro vimskript, LearnVimScriptTheHardWay, návod jak namapovat divné kláveové zkratky. A můj starý návod na kontrolu pravopisu tady na abc.
No, a pokud by to někomu k něčemu bylo, tutaj je můj .vimrc:
"Commented .vimrc for Gemini by jirka.gemini
"Default encoding - needed for Gemini
set encoding=utf-8
"Mouse off, to enable set mouse=a
set mouse=c
"from old config, do not write to (SSD) disk too often
set updatetime=600000
set updatecount=1000
"Spell check - aspell/ispell needed
:command -nargs=1 Spl :call SpellFunc("<args>")
" SpellFunc by se dala napsat lépe, ale t.č. nemám čas --16.2.2014
:function SpellFunc(par)
: let p=a:par
: echo p
: if a:par=="off"
: set nospell
: endif
: if p=="cz"
: setlocal spell spelllang=cz
: set spell
: endif
: if p=="us"
: setlocal spell spelllang=us
: set spell
: endif
": setlocal spell spelllang=p
": else
": echo "Neznámý jazyk ("p")"
:endfunction
" HPLX compatibility - meta- date , meta. time
" ,d - normal date (not in INSERT mode, obviously)
" WIP !
" Timestamp - DoW D.M.Y H:M
execute "set <A-T>=\et"
execute "set <A-D>=\ed"
execute "set <A-S>=\es"
execute "set <A-P>=\ep"
nnoremap <A-T> "=strftime("%X")<CR>P
inoremap <A-T> <C-R>=strftime("%X")<CR>
" Date v1
nnoremap <A-D> "=strftime("%e.%m.%Y")<CR>P
"Date for todo ,D - Y-M-D date (not INSERT mode)
inoremap <A-D> <C-R>=strftime("%e.%m.%Y")<CR>
"s is timeStamp
inoremap <A-S> <C-R>=strftime("%Y-%m-%e")<CR>
nnoremap <A-S> "=strftime("%Y-%m-%e")<CR>P
"" end of WIP
" Alt-P, last photo taken
inoremap <A-P> <Esc>:call GetLastPhoto()<CR>i
"TODO.txt functions
autocmd BufRead,BufNewFile .*TODO set filetype=todo
" functions
function! GetLastPhoto()
let r=system('ls ~/storage/DCIM/Camera -t|head -n1') "execute first
if (col("$")!=1) "If current line is not empty, put newline
normal! o
endif
call setline(line('.'),getline('.').'__ptkn:'.r)
"erase last rubbish byte and make a new line
normal! $x
normal! o
endfunction
Takže člověk píše text, pořizuje "jakožefotografie" a teď to nějak sesynchronizovat. Skoro před pěti lety jsem ve svém mikroseriálu popisoval, jak odcházím od Googlu - nejdřív pošta, kalendář a kontakty s druhou částí (mimochodem, v současné době je na to nejlepší DavSync !). Na data jsem začal používat owncloud, kam jsem posléze přesunul i kontakty a kalendář. Nyní mám i instanci NextCloudu, ale N900 má obstarožní synchronizační knihovnu, která se s NextCloudem nekamarádí. Takžejak synchronizovat data se zdá jasné - prostě oficiální aplikace Own/Next cloudu, ne ?
Ne.To, že nextcloud automaticky nenahrává nové soubory z androidu se ví a zdá se, že se to nikomu nechce řešit. O zmiňované alternativě SyncThing o něco níže.
Jako správný vyznavač Tuxe jsem si říkal, jestli by nestálo zato zbastlit nějaký webdav synchronizovátko v pythonu v Termuxu. Nakonec k tomu nedošlo, ale kdybyste někdo měli podobné choutky, tak doporučím WebDav-sync, easy WebDav (to je jen knihovna), Webdav-sync a hlavně projekt Webdavclient. Tam jsem se dočetl docela zajímavou informaci, že řada severů "komerčních společností" nabízí WebDav:
Na synchronizaci WebDavu/*cloudu existuje foldersync a onesource Android-davsync, nicméně ty trpí stejnými neduhy. Vzhledem k tomu, že jsem ještě nepřestal používat Dropbox, zjistil jsem, že od MetaCtl exituje aplikace Dropsync a obdobná pro google drive. Ano, Dropbox je proprietární, nesvobodný a vůbec fuj ... no, aplikace je pro jednu složku/adresář a soubory do 10 MB zadarmo, vyzkoušel jsem a "just works". Soubory se obousměrně synchronizují ... prostě paráda, doporučuji. Uvažoval jsem, že bych u metactrl poptal obecné webdav řešení, ale mít proprietární aplikaci pro synchronizaci s Owncloudem ...
Takže nakonec jsem se rozhodl, že ten SyncThing vyzkouším. I když na Debianu 8 není SyncThing v základním repozitáři (v 9ce už je !), existuje návod pro blbce včetně toho, jak to pustit jako službu. Já jsem se rozhodl to provozovat pod jedním uživatelem, pro začáteční testování jsem to prostě pustil v screenu. Autostart pod běžným i neběžným uživatelem řeší tutaj v návodu SyncThing GUI tradičně poslouchá na 127.0.0.1:8384. Standardně nenastavuje uživatele ani heslo. Proto je dobré vlézt do nastavení http://127.0.0.1:8384 na tam to nastavit. Diskuze o tom, že by to mělo být výchozí nastavení je tady
Po dvou týdnech používání musím říct, že úplně dokonalé to není, narozdíl od Dropboxí aplikace od MetaCtl se tomu občas nechce synchronizovat, ale když aplikaci na Androidu pustím, nebo nechám restartovat démona, tak se to chytne. Nicméně se zatím zdá, že je to docela snesitelné a použitelné, Přes centrální servery jdou jenom informace o adresách, synchronizuje se to i přes lokální ipv6 :-o a pro úplné paranoiky se dá vynutit i vlastní server, který předává IPadresy a řeší NATy atd.
No a příště už snad doopravdy k jednotlivým PIM aplikacím a/nebo office suite .
Tiskni Sdílej:
ale bezpečně vím, že emacs
Jak by se dosáhlo toho přepínání složek/projektů?aliasy, alebo goto?