Francouzská veřejná správa má v rámci vládní iniciativy LaSuite Numérique ('Digitální sada') v plánu od roku 2027 přestat používat Microsoft Teams a Zoom a přejít na videokonferenční platformu Visio, hostovanou na vlastním hardwaru. Konkrétně se jedná o instance iniciativou vyvíjeného open-source nástroje LaSuite Meet, jehož centrální komponentou je LiveKit. Visio nebude dostupné pro veřejnost, nicméně LaSuite Meet je k dispozici pod licencí MIT.
Eben Upton oznámil další zdražení počítačů Raspberry Pi: 2GB verze o 10 dolarů, 4GB verze o 15 dolarů, 8GB verze o 30 dolarů a 16GB verze o 60 dolarů. Kvůli růstu cen pamětí. Po dvou měsících od předchozího zdražení.
Shellbeats je terminálový hudební přehrávač pro Linux a macOS, který umožňuje vyhledávat a streamovat hudbu z YouTube, stahovat odtud skladby a spravovat lokální playlisty. Pro stahování dat z YouTube využívá yt-dlp, pro práci s audiostreamy mpv. Je napsán v jazyce C a distribuován pod licencí GPL-3.0, rezpozitář projektu je na GitHubu.
Byla vydána nová verze 26.1.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. S podporou hardwarového dekódování videa. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), byl po deseti měsících od vydání verze 1.3 vydán ve verzi 2.0.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Zdrojové kódy LibrePCB jsou k dispozici na GitHubu pod licencí GPLv3.
Guido van Rossum, tvůrce programovacího jazyka Python, oslavil 70. narozeniny. Narodil se 31. ledna 1956 v nizozemském Haarlemu.
OpenClaw je open-source AI asistent pro vykonávaní různých úkolů, ovládaný uživatelem prostřednictvím běžných chatovacích aplikací jako jsou například WhatsApp, Telegram nebo Discord. Asistent podporuje jak různé cloudové modely, tak i lokální, nicméně doporučován je pouze proprietární model Claude Opus 4.5 od firmy Anthropic v placené variantě. GitHubová stránka projektu OpenClaw.
Projekt VideoLAN a multimediální přehrávač VLC (Wikipedie) dnes slaví 25 let. Vlastní, tenkrát ještě studentský projekt, začal již v roce 1996 na vysoké škole École Centrale Paris. V první únorový den roku 2001 ale škola oficiálně povolila přelicencování zdrojových kódů na GPL a tím pádem umožnila používání VLC mimo akademickou půdu.
Moltbook je sociální síť podobná Redditu, ovšem pouze pro agenty umělé inteligence - lidé se mohou účastnit pouze jako pozorovatelé. Agenti tam například rozebírají podivné chování lidí, hledají chyby své vlastní sociální sítě, případně spolu filozofují o existenciálních otázkách 🤖.
scx_horoscope je „vědecky pochybný, kosmicky vtipný“ plně funkční plánovač CPU založený na sched_ext. Počítá s polohami Slunce a planet, fázemi měsíce a znameními zvěrokruhu. Upozornil na něj PC Gamer.
download=["pacman","-S","--noconfirm","program"]
process = subprocess.Popen(download, stdin = subprocess.PIPE, stdout = subprocess.PIPE)
while 1<2:
print process.stdout.readline()
Jak jsem se dočetl, readline() čeká na výstup z programu. Program vypíše první řádky vpořádku, ale když by měl zobrazovat progressbar, tak ze stdout nic neleze. Je to asi tím, že výstup se jakoby neustále překresluje. Je nějaký způsob jak zachytit veškerý výstup?
Je potřeba si uvědomit, že progressbar není "standartní" výstup. Pro vykreslování se používá knihovna ncurses a je to asi jako kdyby jsi chtěl přesměrovat do souboru výstup mc, schválně si to zkus:
$ mc &> /tmp/mc.out
$ less /tmp/mc.out
Pro "práci s písmenky" (mazání, vykreslování na dané pozici, obarvení) se používají speciální řídící sekvence, které terminál musí podporovat. Navíc některé programy jsou chytré a když zjistí, že terminál tyto sekvence nepodporuje, tak změní typ výstupu. Mezi ně patří např. wget.
$ wget http://www.abclinuxu.cz &> /tmp/wget.out
$ cat /tmp/wget.out
#!/usr/bin/python
import time, sys
for i in range(40):
sys.stdout.write("#" * i + '\r')
sys.stdout.flush()
time.sleep(0.2)
print
A výstup chci zachytávat jiným programem:
#!/usr/bin/python
import subprocess, sys
process = subprocess.Popen(['./druha.py',], stdout = subprocess.PIPE)
while True:
znak = process.stdout.read(1)
if not znak:
break
sys.stdout.write(znak)
sys.stdout.flush()
Tak to funguje, ale musí se číst po znacích. Ale jak psal Fuky, není jisté, jestli to Pacman dělá taky tak.
--noprogressbar
Do not show a progress bar when downloading files. This can be
useful for scripts that call pacman and capture the output.
Není tento výstup lepší?
Ano lze
Podívej se do zdrojáků frontendu napsaného v Pythonu gtkpacman. Jestli se nepletu, tak po letmém pohledu to vypadá, že to zařizuje modul vte.
$ aptitude show python-vte
The VTE library inserts terminal capability strings into a trie, and then uses it to determine if data received
from a pseudo-terminal is a control sequence or just random data. The sample program "interpret" illustrates more
or less what the widget sees after it filters incoming data.
This package contains the Python bindings for the VTE library.
Jak to myslíš? Tak, že děláš frontend v Qt? V tom případě se mrkni do zdrojáků pakman tj. frontend napsaný v Qt
Tiskni
Sdílej: