FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.
Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.
Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.
První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní
… více »3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.
SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.
Byla vydána nová verze 11.9 webového prohlížeče Midori (Wikipedie, GitHub). S novým centrem ovládání, pokročilejším blokováním reklam, optimalizací výkonu…
Na Crowd Supply běží kampaň na podporu open source čtečky elektronických knih Open Book Touch. Postavena je na ESP32-S3. Má 4,26palcový dotykový e-papírový displej s rozlišením 480×800 pixelů, podsvícení, slot na microSD kartu. Cena je 149 dolarů a poštovné 12 dolarů. Dodání je plánováno na duben 2027.
Na Humble Bundle běží akce Linux: All the Things by O'Reilly a Picos, HATs, and More by Raspberry Pi Press. Elektronické knihy lze koupit se slevou a současně podpořit organizace Code for America a Raspberry Pi Foundation.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, má nový vtipný a současně užitečný doplněk Banana For Scale (GitHub). Aktuálně umožňuje do výkresu vložit banán nebo plechovku pro porovnání a určení měřítka.
Zdravim dobri lide,
potreboval bych poradit s jednim skriptikem.
Jde mi o neustale zjistovani dostupnosti hosta. Pokud je host online, skript by se mel pripojit telnetem na port 21 a vystup ukladat do souboru. Pokud se klient odpoji, spojeni by se melo zavrit a opet pokracovat v overeni dostupnosti a tak dokola. Pokusil jsem se na to neco napsat, ale neni to 100% funkcni. Nekdy to skonci na cyklu while u read - skript si mysli, ze je klient online, ale neni a ceka na data, ktera nejdou.
#!/bin/bash
ADRESA=$1
while [ 1 ]
do
PING=$(ping -W 1 -c 1 $ADRESA | grep "from" | awk '{print $(NF-1)}')
if [[ $PING == *time* ]]; then
# Je online
# Otevreme spojeni
#echo "Online, oteviram socket"
exec 3</dev/tcp/$ADRESA/21
# Zacneme cist data
while read <&3
do
set -- ${REPLY//$'\r'/}
TODAY=$(/bin/date +'%Y%m%d')
TIME=$(/bin/date +'%H:%M:%S')
#echo "ctu ..."
echo -e "$TIME\n$REPLY\n" >> /scripts/kas/logs/$TODAY-$ADRESA.log
PING=$(ping -W 1 -c 1 $ADRESA | grep "from" | awk '{print $(NF-1)}')
# Jestlize neni odezva, prerusime cyklus a zavreme socket
if [[ $PING != *time* ]]; then
#echo "Disconnected"
exec 3<&-
break;
fi
done
#else
# Neni online
#echo "Timed out"
fi
sleep 1
done
Nemel by z Vas nekdo lepsi napad, jak by se to dalo vylepsit a osetrit tuhle chybu?
Mockrat diky!
Kaja
Řešení dotazu:
V příloze máš ukázkový skriptík v Pythonu. Řešit takového klient v Bashi nemá smysl.
Když ho spustíš, tak se pokusí připojit na:
$ nc -l -p 5000 127.0.0.1
Pokud se nepodaří připojit k serveru, uloží tuto informaci do logu a za 3s to zkusí znovu, pokud se to znovu nepodaří, tak neprovádí logování stejné chyby, pouze pokud by se vyskytla za dobu delší než 60s. Používat ping je zbytečné. Log sype do:
$ tail -f /tmp/client.log
2010-03-10 11:40:10,674 - INFO - starting client 0.1.0
2010-03-10 11:40:10,675 - INFO - create connection to 127.0.0.1:5000
2010-03-10 11:40:17,377 - INFO - receive data: 'Hello'
2010-03-10 11:40:18,969 - INFO - receive data: 'Bye'
2010-03-10 11:40:19,898 - INFO - close connection to 127.0.0.1:5000
2010-03-10 11:40:22,896 - ERROR - TCP client exception
Traceback (most recent call last):
File "./client.py", line 43, in main_thread
self.socket.connect((self.address, self.port))
File "<string>", line 1, in connect
error: (111, 'Connection refused')
2010-03-10 11:45:04,681 - INFO - received signal 2
2010-03-10 11:45:04,682 - INFO - exit
Tiskni
Sdílej: