On radios and knowledge graphs

I haven't really computered much in the pandemic age; I've mostly been focused on bees, mead, and a few other life things.

On radios

I picked up a hackRF from a friend of mine; now I have to figure out how to use it. I've got a copy of Explore Software Defined Radio so maybe I'll go through that. I've got gnuradio and gqrx installed; at first, I couldn't get APRS decoding working, though I was able to pick up a local FM station (KQED). After fixing my antenna (all radio problems are basically antenna problems), I was able to do some decoding.

gqrx decoding APRS packets.

I also made a short recording of the packets in LSB mode.

There's also a mysterious Hughes 500 that flies around my house that's masked by FlightAware and the like; I'd like to figure out what it is and what it's doing. I think the answer to that is to write an ADS-B scanner and be able to go back and find out where and what it is. I'm writing an ADS-B parser to shovel packets into Postgres.

On knowledge graphs

I have this idea to build a notebook that incorporates location; sometimes I remember where I was but not what I was doing and I kind of want to explore that dimensionality. I kind of have some code in CL sketched out like

 (defclass nodemeta ()
   ((id :col-type string :initform (gen-uuid-v4))
    (timestamp :col-type integer
             :initform (timestamp-now)
             :initarg :timestamp)
    (location  :col-type geo
             :initform (current-location)
             :initarg :location)
    ;;; TODO: have to figure out how to handle `vars`!
    (vars (make-hash-table :test #'equal))))

(defclass node ()
   ((id       :col-type string :initform (gen-uuid-v4))
    (contents :col-type blob   :initarg  :contents)
    (mimetype :col-type text   :initarg  :mimetype)))

There's some big questions to figure out, but most relevant are techniques for associating some data with a time and location so they can be indexed / searched by both, and also figuring out a relevant data store (I'd love an object store with full-text search and indexed by geotemporal keys) - I'm leaning towards PostGIS, but I also kind of want to investigate Neo4J as an option. This is something to dig into.


Tags: ,