i n d e x
<--back
notes on projects by m.d.
categories:
arctic | art | biology | book | compile | crypto | cryptoart | debian | entropy | ffmpeg |
funk | game | ghostradio | hades | informationtheorie | internet | laser | linux | linux ##tools | linuxaudio |
logic | machinelearning | math | movie | neuralnetworks | noise | nonhuman | notes | particlephysics | physics |
radio | radioactive | renameseq | rng | softwaredefinedradio | sound | stockexchange | tools | underinfluence | vlf |
xterm |
search:
imagemagickgifanim:
animate:
convert -delay 15 -loop 0 myimage*.jpg my.gif
optimize:
mogrify -layers 'optimize' -fuzz 7% mygif.gif
##linux ##tools
ffmpegimageseqtov:
ffmpeg -framerate 60 -pattern_type glob -i '*.png' -c:v libx264 anim.mp4
##ffmpeg
##linux
sdr3:
https://github.com/SignalK/signalk-server
schau mal hier, manche muss man erst kalibrieren für dier richtige
frequenzabweichung ppd und empfindlichkeit. ich habe einen neueren im alugehäuse der ist vorgeeicht.
aber die plastikdinger vorher haben für die 15x MHz auch gereicht.
https://pysselilivet.blogspot.com/2020/05/ais-reciever-for-raspberry-pi-2-channel.html
AIS reciever for Raspberry Pi, 2 channel
pysselilivet.blogspot.com
MMSI ist verschlüsselt, also die strings sind nicht so lesbar aussser das sie mit „!AIxxx anfangen und am ende ne prüfsumme
+ausgeben. opencpn oder avnav können dann die positionen auf der karte anzeigen.
danke holger
https://support.nooelec.com/hc/en-us/articles/360005889913-NESDR-Nano-Series
##linux
##softwaredefinedradio
sdr2:
soft:
opencpn
https://github.com/jvde-github/AIS-catcher
sdrangel
Gqrx SDR
antenne:
Berechnung:
Lambda = c / F
( c = Lichtgeschwindigkeit in KM, F = Frequenz in MHz, Lambda in mm
Eine Antenne Lambda/4 von 8,7cm = 87mm entspricht also einer Wellenlänge
von 348mm.
Dann ist die Frequenz
F = c / Lambda = 300000 / 348 = 862,0689MHz
L = c/F; 300000/162(MHZ) = 1851/L4(antenne) = 46cm
cbra mit si einheit: 3*10^8 m/s / (162 * 10^6) 1/s =~ 1.8 m
https://www.entwicklertools.de/tools/technik-tools/antennen-rechner/
Bei dieser Frequenz ist die Antenne in elektrischer Resonanz (der
Resonanzwiderstand ist am Kleinsten --> Serienresonanz) und kann ein
Maximum an hochfrequenter Energie abstrahlen.
Das Stehwellenverhältniss (Verhältniss von hinlaufender zu reflektierter
Welle) ist theoretisch 1. Dies ist beim Betrieb einer Antenne an einem
Sender extrem wichtig.
hw safes:
https://v3.airspy.us/product/upu-fp162s/
for ais
https://www.wimo.com/de/airspy-discovery
Airspy HF+ Discovery SDR Rx
thx 2 cbra
##softwaredefinedradio
##linux
ntp-local-client:
apt install systemd-timesyncd
/etc/systemd/timesyncd.conf
NTP=xxx.xxx.xxx.xxx
systemctl restart systemd-timesyncd
systemctl status systemd-timesyncd
timedatectl status
timedatectl status
Local time: Fri 2023-01-13 10:03:44 CET
Universal time: Fri 2023-01-13 09:03:44 UTC
RTC time: Fri 2023-01-13 09:03:44
Time zone: Europe/Vienna (CET, +0100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
##linux
##debian
compile:
ffmpeg -i %d.jpg -vcodec rawvideo preview.avi
ffmpeg -i %d.jpg video.mp4
##compile
##linux
theme-designer:
https://github.com/themix-project/themix-guieditor
Graphical application for generating different color variations of Oomox (Numix-based)
and Materia (ex-Flat-Plat) themes (GTK2, GTK3, Cinnamon, GNOME, Openbox, Xfwm), Archdroid,
Gnome-Color, Numix, Papirus and Suru++ icon themes. Have a hack for HiDPI in gtk2.
Its Base16 plugin also allowing a lot of app themes support like Alacritty, Emacs, GTK…
##linux
roomeqwizard:
http://www.roomeqwizard.com/
https://th0ma5w.github.io/DIY-Room-Correction/
##linuxaudio
xtermcolors:
.Xresources
!xterm colors
xterm*foreground: #dcdccc
xterm*background: #1f1f1f
xterm*cursorColor: orange
xterm*color0: #151515
xterm*color8: #505450
xterm*color1: #bf7979
xterm*color9: #f4a45f
xterm*color2: #97b26b
xterm*color10: #c5f779
xterm*color3: #cdcda1
xterm*color11: #ffffaf
xterm*color4: #4a5463
xterm*color12: #7d8794
xterm*color5: #9c3885
xterm*color13: #e628ba
xterm*color6: #88aadd
xterm*color14: #99ccff
xterm*color7: #ffffff
xterm*color15: #dedede
!xterm settings
xterm*dynamicColors: true
xterm*utf8: 2
xterm*eightBitInput: true
xterm*scrollTtyKeypress:true
xterm*scrollTtyOutput: false
xterm*scrollBar: false
xterm*loginShell: true
xterm*jumpScroll: true
xterm*multiScroll: true
xterm*toolBar: false
xterm*charClass: 33:48,35-38:48,39:43,42-47:48,58-59:48,61:48,63-64:48,126:48
xterm*geometry: 125x43+0+0
xterm*faceName: Monospace
xterm*faceSize: 12
xterm*saveLines: 1000
##linux
##xterm
xtermcolors2:
/bin/sh -c "exec xterm -fa 'Monospace' -bg '#1f1f1f' -fg '#dcdccc' -fs 12 -sl 512 -u8 -geometry 125x43+0+0"
##linux
##xterm
noiselevel:
#linux #noise
https://www.berrybase.at/raspberry-pi/raspberry-pi-computer/usb-geraete/usb-mini-mikrofon
##linux
##noise
rename.sh:
#/bin/bash
index=0;
for name in *.jpg
do
mv "${name}" "${index}.jpg"
index=$((index+1))
done
##linux
##renameseq
serial_com_arduino_puredata:
nice pd patch, works very well
http://kiilo.org/tiki/tiki-index.php?page=Arduino-PureData-MessageSystem
ArduinoPuredataMessageSystem (->localcopy)
##linuxaudio
##tools
exifdata:
exiftool -all= image.jpg
##linux
##tools
xterm:
mem:
xterm -fn 9x15 -fg yellow -bg black -sl 512 -maximized -u8
fullscreen geht auch
xterm -fullscreen
und fullscr und execute
xterm -fullscreen -e ./xyz.sh // opt. -hold
##linux
##xterm
test_the_key:
http://www.phy.duke.edu/~rgb/General/dieharder.php
##rng
##linux
##entropy
systems_entropy:
watch -n .1 cat /proc/sys/kernel/random/entropy_avail
##rng
##entropy
##linux
sdr:
http://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGR
http://sdr.osmocom.org/trac/wiki/rtl-sdr
http://www.rtlsdr.org/
http://www.oz9aec.net/index.php/gnu-radio/gqrx-sdr
http://www.superkuh.com/rtlsdr.html
----bugs/hacks
http://mono-for-android.1047100.n5.nabble.com/Some-sln-files-opening-as-hex-td5688360.html
--satelite images
http://www.oz9aec.net/index.php/gnu-radio/gnu-radio-blog/451-howto-receive-and-decode-noaa-apt-images-with-funcube-dongle-and-gqrx
--radar
http://www.virtualradarserver.co.uk/Download.aspx
http://www.rtl-sdr.com/adsb-aircraft-radar-with-rtl-sdr/
##linux
##softwaredefinedradio
##funk
python_dsp:
schaut ganz brauchbar aus die pydsp.
lac.linuxaudio.org/2011/papers/40.pdf
##linux
##linuxaudio
##tools
pyo_python_dsp:
first code:
#!/usr/bin/python
from pyo import *
n = 0
s = Server(duplex=1)
s.setInputDevice(2)
s.boot()
inp = Input(chnl=[0], mul=0.5) # chnl=[0,1] for stereo input
b = Thresh(inp, threshold=0.4, dir=0)
ti = Timer(b, b)
def printer():
global n
n = n + 1
print 'trigger', n , 'time', str(ti.get(all)).strip('[]')
tf = TrigFunc(b, printer)
t = LinTable([(0,0), (50,1), (250,.3), (8191,0)])
env = TrigEnv(b, table=t, dur=.5, mul=.3)
sine = Sine(freq=400, mul=env).out()
s.gui(locals())
first printouts with delta t between threshold triggers ( linear from an LFO )
trigger 1 time 0.0017687075305730104
trigger 2 time 0.0017687075305730104
trigger 3 time 0.01598639413714409
trigger 4 time 0.019999999552965164
trigger 5 time 0.0001360544265480712
trigger 6 time 0.0001360544265480712
trigger 7 time 0.014693877659738064
trigger 8 time 0.0056009069085121155
trigger 9 time 0.00018140589236281812
trigger 10 time 0.00018140589236281812
trigger 11 time 0.01984127052128315
trigger 12 time 0.005328798200935125
trigger 13 time 0.00018140589236281812
trigger 14 time 0.00018140589236281812
trigger 15 time 0.01807256229221821
trigger 16 time 0.019977323710918427
trigger 17 time 0.020022675395011902
trigger 18 time 0.019977323710918427
trigger 19 time 0.02013605460524559
trigger 20 time 4.535147309070453e-05
trigger 21 time 4.535147309070453e-05
trigger 22 time 0.014580498449504375
trigger 23 time 0.019977323710918427
trigger 24 time 6.80272132740356e-05
trigger 25 time 6.80272132740356e-05
trigger 26 time 0.019909296184778214
trigger 27 time 0.005351474042981863
trigger 28 time 0.014648525975644588
trigger 29 time 0.005056689493358135
trigger 30 time 0.014920635148882866
trigger 31 time 1.2613831758499146
trigger 32 time 0.004036281257867813
trigger 33 time 0.014943310990929604
trigger 34 time 0.020068027079105377
trigger 35 time 0.005215419456362724
trigger 36 time 0.014716553501784801
trigger 37 time 0.005374149885028601
trigger 38 time 0.01462585013359785
trigger 39 time 0.005374149885028601
trigger 40 time 0.01478458009660244
trigger 41 time 4.535147309070453e-05
trigger 42 time 4.535147309070453e-05
trigger 43 time 0.0052607711404562
trigger 44 time 0.014761905185878277
trigger 45 time 0.019909296184778214
trigger 46 time 0.019977323710918427
trigger 47 time 0.005238095298409462
trigger 48 time 0.014761905185878277
trigger 49 time 0.00528344651684165
trigger 50 time 0.01473922934383154
trigger 51 time 0.005328798200935125
trigger 52 time 0.014671201817691326
trigger 53 time 6.80272132740356e-05
trigger 54 time 6.80272132740356e-05
##linux
##linuxaudio
##tools
graphics_magic:
als lib fuer quantenkino/ghostradio -> laut oliver laeuft die lib effizienter als imagemagick
http://www.graphicsmagick.org/perl.html
##linux
##tools
gnu_20_random_number_distributions:
http://www.gnu.org/software/gsl/manual/html_node/Random-Number-Distributions.html#Random-Number-Distributions
##linux
##crypto
##rng
gpg_revoke:
$ gpg --output revocation-certificate.asc --gen-revoke 86C30530
§ gpg --import revocation-certificate.asc
$ gpg --list-keys 86C30530
optional:
gpg --send-keys 86C30530
##crypto
##linux
##tools
ghostradio_python_script:
maex@:~/ghostradio/code$ more ghostradio.py
import numpy as np
import cv2
import os, sys, struct, shutil, time
print "configuring video dev"
# 1 = composite 0 = tuner usw
os.system("v4l2-ctl -i 1")
cap = cv2.VideoCapture(0)
#resolution
ret = cap.set(3,720)
ret = cap.set(4,576)
timestr = time.strftime("%Y%m%d-%H%M%S")
grname = "gr-random-bin"+timestr
fd = os.open(grname,os.O_RDWR|os.O_CREAT)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
for x in xrange(1, 12): # zeilen anzahl und position 1 = start 2 =laenge (bei 640x480 ist das theoretisch 1, 479)
for y in xrange(1, 18): # scanrange 1 start 2 ende (zb fuer 640x480 ist das dann 1, 640)
output = gray[x, y]
# output = bin(gray[x ,y])[2:].zfill(8)
# print bin(gray[x ,y])[2:].zfill(8)
output = chr(output)
os.write(fd, output)
# change to this to write down numbers:
# output = str(output)
# os.write(fd, output+';')
# Display the resulting frame
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
#checking filesize > 2gb close file open new filename+timestamp
statinfo = os.stat(grname)
b = statinfo.st_size
b = ((b /1024)/1024)
if b > 2000:
os.close(fd)
shutil.move('gr-random-bin'+timestr,'random')
timestr = time.strftime("%Y%m%d-%H%M%S")
grname = "gr-random-bin"+timestr
fd = os.open("gr-random-bin"+timestr,os.O_RDWR|os.O_CREAT)
# When everything done, release the capture
os.close(fd)
cap.release()
cv2.destroyAllWindows()
maex@:~/ghostradio/code$
##ghostradio
##linux
##entropy
##cryptoart
download:
wget https://yt-dl.org/downloads/latest/youtube-dl
##linux
##tools
deep_sweep:
https://criticalengineering.org/projects/deep-sweep/
##art
##linux
##crypto
debian10:
apt remove timidity
loest das soundproblem mit pulsaudio / no cards found
trackpoint beschleunigung
xinput --list --short
xinput --list-props "Elan TrackPoint"
xinput --set-prop 10 301 0.8000
schoen schnell fuer 2.5k displays, 1.0 ist max
##debian
##linux
##tools
code_von_franzi:
code von franzi
imagemagick
#!/usr/bin/perl
use Image::Magick;
$zaehler = 2;
$spalte = 0;
$zeile = 0;
$e = 1;
for ($i = 0; $i <= 255; $i++)
{
my $image = Image::Magick->new;
$image->Set(size=>'256x256');
$image->ReadImage('xc:white');
for ($sp = 0; $sp <= 256*256; $sp++)
{
if ($spalte == 256)
{
$spalte = 0; # AN DEN ANFANG ZURUECK
$zeile = $zeile + 1; # EINE ZEILE RUNTER
# print " Zeile $zeile / 256 \t Nr. $i / 255 \t $farbe \n";
}
# $e1=1/$e;
# $e=1/(1+$e1);
$e=1/$zaehler;
# print "$e\t1/$zaehler\n";
$rot=substr($e,8,2);
$gruen=substr($e,10,2);
$blau=substr($e,12,2);
$farbe = "#".$rot.$gruen.$blau;
$image->Draw(primitive=>'point', fill=>"$farbe", points=>"$zeile,$spalte");
$spalte = $spalte + 1;
$zaehler = $zaehler + 1;
# print ">>>$e>$rot--$gruen--$blau>$farbe>>$spalte,$zeile\n";
}
$zeile = 0;
#$image->display();
$image->Write("image_1n65k$i.jpg");
print "image_65k$i.jpg\n";
}
##ghostradio
##linux
baudline_umm6:
parec --format=s16le --channels=1 --latency-msec=5 | ./baudline -stdin
##linuxaudio
##tools
aircraft_radar_application:
https://github.com/antirez/dump1090
##linux
##funk
##radio
commands:
inxi -b
inxi -pluFxxrm
for file in *.png; do convert $file -rotate 90 rotated-$file; done
for file in *; do convert $file -resize x1440 resized-$file; done
bc:
scale=4
linux
##linux
app1_threshold_recorder_puredata:
app1
linux | linux audio
##linuxaudio
lac_2013_links:
linux audio:
http://kokkinizita.linuxaudio.org/linuxaudio/index.html
ambisonics
http://kokkinizita.linuxaudio.org/ambisonics/index.html
netpd
http://www.netpd.org
zita scope
> 2 be developed
linuxaudio
##linuxaudio