I started to learn about radios a few years ago, and slowly picking up enough DSP knowledge to write 1-2 decoders (mostly for satellite signals).
This project of mine is an ADS-B receiver that works with an SDR dongle connected to your Pc. It receives nearby aircraft signals, short data sequences sent on 1090MHz. These packets tells us about the aricraft’s identifier, position, speed etc.
I focused on the signal decoding part, mostly to get bits out of the raw IQ stream provided by the SDR. That is the most useful part for me.
I used a stock python library to parse the data and ported (AI) the mapSCII library from JavaScript so that I can show the aircrafts in a nice map in the terminal.
The mapSCII port is available in pypi as a separate package. I think that’s the most valuable part of this experiment for others.
Otherwise, I enjoy looking at the planes moving around in the console. I use a mac and know that Windows is more picky when it comes to ANSI stuff and unicode, but it might work as well.
A joke landing page, demonstrating modem speeds and showing off my twitter (for how long...) and github activity. Send me a pgp message, I'd love to try it out :D
One interesting way to extend this is to implement ‘call with current continuation’ or call/cc from Scheme.
It’s a great challenge. I’ve done it in the past with rewriting the interpreter to continuation passing style.
This also make it easy to implement breakpoints and a whole debugger for the interpreter.
I still have it running here:
https://csokavar.hu/projects/mini-scheme/