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.
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.