Byla oznámena beta verze nového video kodeku Pyrowave pro streamování her v Steam Remote Play. S vysokou propustností a nízkou latencí. S podporou HDR a YUV 4:4:4.
Byl vydán Sublime Text 4 Build 4213. Sublime Text (Wikipedie) je proprietární multiplatformní editor textových souborů a zdrojových kódů. Ke stažení a k vyzkoušení je zdarma. Pro další používání je nutná licence v ceně 99 dolarů. Spolu se Sublime Merge je cena 168 dolarů.
Firma Anthropic, tvůrce AI modelu Claude, začala v oblasti Sanfranciského zálivu v tichosti provozovat vlastní biotechnologickou laboratoř. Anthropic prý chce pomocí AI urychlit hledání léků na nemoci, jimž farmaceutický průmysl dle názoru firmy věnuje příliš málo pozornosti. Firma tvrdí, že laboratoř se zatím soustředí především na základní biologii, nikoli přímo na vývoj léčiv. Farmaceutický výzkum je pro generálního ředitele Daria Amodeie velice osobní téma, jeho otec zemřel na hepatitidu C několik málo let před objevením účinné léčby.
Vědci z Googlu dokončili mapu všech neuronových spojení v mozku (tzv. konektom) samečka mušky octomilky obecné (drosophila melanogaster), hlavním cílem je komparativní analýza s již zmapovaným mozkem samičky. S tímto veřejně dostupným modelem, čítajícím přibližně 160 000 neuronů, se začali bavit nadšenci. Mozek mouchy pohání experimentálního kryptoburzovního bota Stonkfly, případně si zahrál počítačové hry Beat Saber, Mario64 a samozřejmě DOOM (gameplay videa). Ani mozek samičky nezůstal stranou, vyzkoušel si Minecraft.
Alibaba Cloud je dalším sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let. Stejná částka jako u DigitalOcean.
Byla vydána nová verze 262 správce systému a služeb systemd (Wikipedie, GitHub).
Canonical oznámil vydání Zephyr 26.04 LTS. Jedná se o komerční distribuci operačního systému pro mikrokontroléry Zephyr (Wikipedie) s podporou až 15 let.
Gravity Linux je linuxová distribuce určená pro Apple Silicon s čipy M4 a novějšími. Vydána byla alfa verze pro M4 Mac mini. Gravity Linux je fork Asahi Linuxu.
Hister je osobní soukromý vyhledávač, který lze provozovat na vlastním stroji. Umí prohledávat lokální soubory, importovat historii a záložky z webových prohlížečů, procházet vybrané weby a pomocí rozšíření pro Firefox a Chrome indexovat obsah právě navštívených stránek. Nad vytvořeným indexem pak nabízí vyhledávání prostřednictvím webového rozhraní, příkazové řádky a díky podpoře MCP i nástrojům umělé inteligence. Tento
… více »Ministerstvo dopravy uznalo prozatímní schválení asistenčního systému Tesla FSD Supervised vydané nizozemským schvalovacím orgánem RDW. Připojilo se tak k Nizozemsku a dalším pěti evropským státům. Systém je díky tomuto rozhodnutí možné používat za podmínek prozatímního schválení také na území České republiky. Tesla FSD Supervised je asistenčním systémem úrovně 2 podle klasifikace SAE (částečná automatizace řízení). Řidič se
… více »Zdravim potreboval bych prehlednejsi vypis nez da iwlist jenze vse co sem nasel je prot atheros a to mi s bcm43xx nefunguje.
iwlist wlan0 scan | egrep -i 'address|essid|key|quality|frequency'
Cell 01 - Address: 00:4F:62:1F:50:CD
Channel:1
Frequency:2.412 GHz (Channel 1)
Quality=61/70 Signal level=-49 dBm
Encryption key:on
ESSID:"NET"
jak udelat aby vypsal
essid Address key signal Ch Freq
----------------------------------------------------------------
"NET" 00:4F:62:1F:50:CD on 61/70 , -49 dBm 1 2.412 GHz
nerozumim tomu jak udelat script kdyz vypis muze byt ruzne dlouhy protoze pokazde iwlist vypise jinak dlouhej seznam
nemate nekdo neco s awkem nebo sedem ci takneco co by udelalo podobny jednoradkovy vypis vsech siti ?
Dekuju
iwlist wlan0 scan | grep ESSID | cut -d":" -f 2 | sed 's/\"//g'
a
iwlist wlan0 scan | grep Quality | cut -d "=" -f2 | cut -d "/" -f1
a jiné přeci při každém iwlist mi vyjede jinej seznam tak jak vyjmout ty rozsahy ?
nebo awk :
iwlist wlan0 scanning| awk '/Cell/ {print $5}; /ESS/ {print substr($1,7)}; /Freq/ {print substr($1,11)}; /Qual/ {print substr($1,9)}; /Encr/ {print substr($2,5)}'
no ale jak tomu dát formu a aby to jelo při více sítích a byla každá na jiném řádku ?
no prostě se snažim o něco jako http://www.simandl.cz/stranky/linux/wifimon/soubory/wifimon-0.5.5
klidně i s tim výpisem wbaru na konci ...
BEGIN {
cnt=0;
}
END {
print "Address essid key signal Ch Freq";
print "----------------------------------------------------------------";
for (i=0; i<cnt; i++)
print cells[i, "addr"], " ", cells[i, "essid"];
}
/ESSID/ {
x=match($0, "\".*\"");
cells[cnt-1, "essid"]=substr($0, x);
}
/Cell [0-9]+.*Address:.* .*$/ {
cells[cnt, "addr"]=$5;
cnt+=1;
}
a potom iwlist wan0 scan | awk -f file.awk
iwlist ... | while read line; do
if [[ $line == ... ]]; then
.....
fi
done
#!/usr/bin/python
import re, sys
c = re.compile(r'(?ms)'
r'^ Cell (?P<cell>\d+) - Address: (?P<addr>[0-9A-F:]+)\n'
r'(?P<info>(?: [^\n]*\n)*)')
def getgroup(info, name):
m = re.search(r'(?m)^ %s\s*(?P<value>.*)$' % name,
info)
if m:
return m.group('value').rstrip()
return ''
print '''\
-----------------------------------------------------------------------
essid address key signal frequency
-----------------------------------------------------------------------'''
fmt = '%16s %17s %3s %14s %s'
for x in c.finditer(sys.stdin.read()):
addr = x.group('addr')
info = x.group('info')
essid = getgroup(info, 'ESSID:')
encrypted = getgroup(info, 'Encryption key:')
channel = getgroup(info, 'Channel:')
frequency = re.sub(r'\s*\(.*', '', getgroup(info, 'Frequency:'))
signal = getgroup(info, 'Quality=').replace('Signal level=', '')
print fmt % (essid, addr, encrypted, signal, frequency)
A jeste přídám jeden skript pro priznivce sedu :)
iwlist ath0 scanning | sed -n -e '/ESSID/p;/Cell/p;/Frequency/p;/Quality/p;' | \
sed -e '$!N;N;N;s/.*Cell \([0123456789]*\) - Address: \(.*\)\n.*ESSID:"\(.*\)"\n.*Frequency:\([0123456789\.]*\) GHz (Channel \([0123456789]*\)).*\n.*Signal level[=:]\(.*\) .*Noise level[=:]\(.*\)/<tr><td> \1 <td>\3 <td>\2 <td><center>\5<\/center> <td>\4 <td>\6 <td>\7/'
Vysledek je videt zde:
http://78.108.103.11:11080/cgi-bin/aplist.cgi
#!/bin/bash
a=0;b=0;c=0;d=0;e=0;f=0;g=0;h=0;x=0
echo -----------------------------------------------------------------
echo "Ch Essid Bssid Frekvence Kvalita Signal Kodovani Mod"
echo -----------------------------------------------------------------
while read line;do
[ "`echo $line | grep ESSID`" ] && essid[$a]=`echo "$line" | cut -d : -f 2 | grep -o '[a-z,A-Z,0-9]*'`
[ "`echo $line | grep Address`" ] && address[$b]=`echo "$line" | awk '{print $5}'`
[ "`echo $line | grep Channel:`" ] && channel[$c]=`echo "$line" | cut -d : -f 2 `
[ "`echo $line | grep Freq`" ] && freq[$d]=`echo "$line" | awk '{print $1}' | cut -d : -f 2`
[ "`echo $line | grep Quali`" ] && qual[$e]=`echo "$line" | awk '{print substr($1,9)}'`
[ "`echo $line | grep Signal`" ] && signal[$f]=`echo "$line" | awk '{print substr($3,7,3)}' `
[ "`echo $line | grep key`" ] && key[$g]=`echo "$line" | awk '{print substr($2,5,15)}' `
[ "`echo $line | grep Mode`" ] && mode[$h]=`echo "$line" | awk '{print substr($1,6,15)}' `
done < <(iwlist scan 2>/dev/null )
while [ $x -lt ${#essid[@]} ];do
echo ${channel[$x]} , ${essid[$x]} , ${address[$x]} , ${freq[$x]} , ${qual[$x]} , ${signal[$x]} , ${key[$x]} , ${mode[$x]}
(( x++ ))
done
Tak jen nevim jak udelat aby se sloupecky pevne vypisovaly vzdy na stejnem miste bez pouziti tabulatoru (jen s mezerama) kdyz delky nazvu siti mohou byt ruzne a take hodnoty.
user@NB-Pepe:~$ ./script
-----------------------------------------------------------------
Ch Essid Bssid Frekvence Kvalita Signal Kodovani Mod
-----------------------------------------------------------------
1 , NET , 00:4F:62:1F:50:CD , 2.412 , 63/70 , -47 , on , Master
2 , SauronNet Cheb20 , 00:02:72:71:5D:08 , 2.417 , 14/70 , -96 , off , Master
7 , ALLCMPA , 00:4F:62:17:CF:BD , 2.442 , 34/70 , -76 , on , Master
6 , ALLCMP , 00:4F:62:00:4D:81 , 2.437 , 49/70 , -61 , on , Master
7 , APD17P , 00:4F:62:17:E3:39 , 2.442 , 30/70 , -80 , on , Master
user@NB-Pepe:~$
#!/bin/bash
a=0;b=0;c=0;d=0;e=0;f=0;g=0;h=0;x=0
echo -----------------------------------------------------------------
echo "Ch Essid Bssid Frekvence Kvalita Signal Kodovani Mod"
echo -----------------------------------------------------------------
while read line;do
[ "`echo $line | grep ESSID`" ] && essid[$a]=`echo "$line" | cut -d : -f 2 | grep -o '[a-z,A-Z,0-9]*'` && ((a++))
[ "`echo $line | grep Address`" ] && address[$b]=`echo "$line" | awk '{print $5}'` && ((b++))
[ "`echo $line | grep Channel:`" ] && channel[$c]=`echo "$line" | cut -d : -f 2 ` && ((c++))
[ "`echo $line | grep Freq`" ] && freq[$d]=`echo "$line" | awk '{print $1}' | cut -d : -f 2` && ((d++))
[ "`echo $line | grep Quali`" ] && qual[$e]=`echo "$line" | awk '{print substr($1,9)}'` && ((e++))
[ "`echo $line | grep Signal`" ] && signal[$f]=`echo "$line" | awk '{print substr($3,7,3)}' ` && ((f++))
[ "`echo $line | grep key`" ] && key[$g]=`echo "$line" | awk '{print substr($2,5,15)}' ` && ((g++))
[ "`echo $line | grep Mode`" ] && mode[$h]=`echo "$line" | awk '{print substr($1,6,15)}' ` && ((h++))
done < <(iwlist wlan0 sc 2>/dev/null )
while [ $x -lt ${#essid[@]} ];do
echo ${channel[$x]} , ${essid[$x]} , ${address[$x]} , ${freq[$x]} , ${qual[$x]} , ${signal[$x]} , ${key[$x]} , ${mode[$x]}
(( x++ ))
done
grep, a to s velkou nadějí na vítězství. Na každý řádek výstupu se spouští osmkrát grep + několik dalších zbytečných programů, pokud se daná položka náhodou najde.
Používáš tam awk, tak si to napiš celé v awk, když neumíš python (perl, ruby, něco rozumného), ale do jednoho skriptu pro awk. Šlo by to i v sedu, v pythonu jsem to napsal, jak jsem to napsal, aby moc nezáviselo na změnách formátu (např. pořadí položek, řada změn to ošem i tak rozbije), ale to je zjevně házení perel sviním...
. Výpis je dvouřádkový, včetně signáloměru. Upravil jsem to aby to bralo signál z kvality, ne z úrovní. Bere to jakoukoliv wifinu, tak si když tak uprav, pokud jich máš více. Pro zvýšení diversity je to v perlu
#!/usr/bin/perl
#
use strict;
my @scan = `/sbin/iwlist scan`;
push @scan, ' Cell';
my @list = ();
my $cnt = -1;
foreach my $line (@scan)
{
SW: for ($line)
{
/^\s*Cell/ && do {
if ($cnt >= 0)
{
my $bar = '';
for (my $i = 0; $i <= $list[$cnt]{signal}; $i++) {$bar .= '#';}
#for (my $i = abs($list[$cnt]{signal}); $i <= abs($list[$cnt]{noise}); $i++) {$bar .= '#';}
$list[$cnt]{bar} = $bar;
$line =~ s/Cell//;
}
$cnt++;
redo SW
};
/Address:\s+(\S+)/ && do {
$list[$cnt]{addr} = $1;
last SW;
};
/^\s+ESSID:/ && do {
($list[$cnt]{id}) = $line =~ /(".*")/;
last SW;
};
/\(Channel\s+(\d+)\)/ && do {
$list[$cnt]{ch} = $1;
last SW;
};
/^\s+Quality/ && do {
($list[$cnt]{signal}, $list[$cnt]{noise}) = $line =~ /Quality=(\d+)\/(\d+)/;
#($list[$cnt]{signal}, $list[$cnt]{noise}) = $line =~ /Signal level=(-?\d+).*Noise level=(-?\d+).*/;
last SW;
};
/^\s+Encryption key:(.*)/ && do {
$list[$cnt]{key} = $1;
last SW;
}
}
}
foreach my $cell (sort {$a->{ch} <=> $b->{ch}} @list)
{
printf "Address: %17s Channel: %2s key:%3s ESSID: %s\n", $$cell{addr}, $$cell{ch}, $$cell{key}, $$cell{id};
printf "%4s/%4s %s\n", $$cell{signal}, $$cell{noise}, $$cell{bar};
}
Tiskni
Sdílej: