AIOC If you’re not familiar with the All in one Cable (AIOC), it’s a great project that uses a microcontroller, a Kenwood type connector, and a USB-C port to interface with an HT. The device presents itself on the USB bus as separate audio, serial, and HID devices. This means that with this one cable, you can: program the radio (CHIRP, etc.) send/receive audio from the radio control the PTT
TL;DR Use this dimmer with a Raspberry Pi via the GPIO pins with this software I wrote. Theory Let’s say you’ve got some swinging AC current driving a string of 100 LED diodes slapped on the side of your house to attract a certain portly gift giver. Now you want to dim these beautiful bulbs in time with some festive holiday music. You could do this the usual way, walk down to the hardware store,…
Overview Rob Robinett, AI6VN, recently reached out to me to let me know that he was seeing Doppler spreads of zero for some signals using the wsprd.c patch I wrote. I’d never seen that before, so Rob sent me a WAV file with some very, very clean signals that yielded a Doppler spread of zero. After taking a look at how they were processed, I learned a little bit more about why you have to pay…
Purpose After examining the Doppler spread (w50) algorithm from FST4 and trying to understand how wpsrd works I decided to take the plunge and see if I could calculate Doppler spread from WSPR data. My initial idea was to use the c2 files created by wsprd as a data source. Thanks to the wsjtx-devel list, I soon discovered c2 files didn’t have the data I thought they did. So what I ended up…
Purpose The goal of this article is to pick apart exactly how wsprd works. There seems to be plenty of things written about the WSPR encoding process, less things written about the decoding process, and frankly not a whole lot about how the tool bundled with WSJT-X actually does it. So in the UTSL spirit, I present a dissection of wsprd. I will point out that this is going to be a lengthy article,…
Purpose My boat needs some new rope bags. The old Ronstad ones have held up incredibly well, but they just werent sticking to the back of the cockpit anymore. Lured in by the appeal of trying SNAD fasteners and having some leftover Sunbrella material from a sail cover I made, I decided to see if I could make them myself. It should be noted that Sailrite does have a howto on making sheet bags but I…
At HamSCI 2023 this past weekend I was lucky enough to be able to attend Gwyn Griffiths' (G3ZIL) Identifying 14 MHz Propagation Modes Using FST4W SNR and Spectral Spread and Rob Robinett’s (AI6VN) Low Cost, High Accuracy and Stability FST4W Transmissions Using the QDX Transceiver presentations. After the presentation I was able to talk to Rob at his demo. He brought up the idea that if WSPR could…
A textbook that I wrote, Computer Systems Security: Planning for Success, is going to be featured during OEWeek! This scope, sequence, and need for this textbook came about through an NJIT Open and Affordable Textbook (OAT) grant. It was completed and piloted through an Open Textbook Collaborative (OTC) grant. The OTC is funded through the US Department of Education’s Fund for the Improvement of…
As far as text processors go, I’m a big fan of Asciidoctor. This blog is rendered from it, presentations for my classes are created with it, heck I even wrote a textbook in it. So it should come as no suprise that when I wanted to keep track of things for a Pathfinder roleplaying campaign I turned to Asciidoctor. Unfortunately I couldn’t really figure out an easy way to get all the stats for an…
I remember talking to a friend about AWS a few years after we had both finished our undergrad degrees. He described it to me like this: Imagine you could take a Linux distro, install it, and set someone up with an SSH shell as soon as their credit card cleared. That’s AWS. — Mike At this point, mid 2000s, we had both had plenty of experience with SSH and I used to jokingly say that it didn’t…
I decided to begin developing a web app to keep track of groups in some of my classes. Ultimately I’d like to be able to automate project milestone check-ins for these groups (is your git repo up, can I clone it and run docker-compose, etc.) but the first part of that is just getting the groups and members in a database. Looking through the long list of things I would like to play with, I decided…
Purpose As part of my continued efforts to automate the deployment of my home network, I ran into an interesting situation. Because I was using both Ubiquiti and TP-Link devices I needed to run two controllers to achieve my deployment goals. Running just one controller, the fabled UniFi controller, turned out to be enough of a pain ( here is a script based on that article BTW) and enough of a…
Purpose My original homelab consisted of a Dell R710 which was a ton of fun to play with, but ultimately the turbojet noises and utility bill led me to bring it in to work and purchase a couple of broken Dell R610s. Between the two of them, I made one working one which has served (pun intended) me well. In an effort to further lower my utility bill, move the level of ambient noise from annoying to…
Motivation I’ve started spending more time family camping than solo backpacking and this has necessitated a change in the way I do things. A cat-food container alcohol stove and ziplock bag of dehydrated BBQ spaghetti weren’t going to cut it anymore. Also, starting a fire, burning it down to coals, heating a pan, and cooking dinner turned out to be a little too time consuming for my…
Goal With the basics of the jr network established (see Introducing jr: A Peer-to-Peer Social Network), I wanted to simulate the growth of the extended network and find a mathematical model that describes this growth. core/extended-network-test builds a test network of 100 nodes each following 10 random nodes. It then performs 1000 random syncs (two nodes chosen at random sync with each other) and…
Intro A friend of mine, John R., has been extolling the virtues of Clojure for years now. At one point, I bought Clojure for the Brave and True, read it, and implemented a few toy programs. It’s an excellent book. Recently I found myself looking for a language to implement a project to measure analyze a Secure Scuttlebutt style social network. While trying to decide between Guile, Chicken…
Intro In high school, I was given a Sun 3/60 workstation and given instructions to set everything up and learn how to use vi. “You’ll never find a better editor” my boss told me. In retrospect, I think you’ll never find a better editing concept, and that’s modal editing. Developers spend far more time reading than they do typing. Breaking reading and writing (or…
I am a father of two, living in New Jersey and working as a university lecturer. I’ve been fortunate enough to work in several technological fields throughout my life with a significant amount of experience in the education realm. This site is meant to serve as a space to post information about what I’m currently working on with the hope being that other people can benefit from my…
If you have a consulting opportunity that you think I may be interested in, please reach out to the email at the bottom of the page. I have significant experience in: Systems integration: Designing and maintaining frameworks for syncing services (Schoology, EducationCity, StudyIsland, Atlas Curriculum Management, NWEA MAP, etc.) with student information systems (Genesis). District Software…