Skip to main content

Posts

Showing posts with the label github

My First GitHub Pull Request; Datasette Windows and Spatialite

 I made my first ever pull request on GitHub this morning! The gang and I still mostly develop code on Windows boxes. It has more to do with the machines we have available to us on any given day than anything else. (The just-sit-down-and-type machine in our house is also for playing video games, so... Windows.) This has led to issues when using our Datasette enabled QSO logger and mapping applications .  Datasette on Windows has an issue with finding the SpatiaLite DLL file. The gang and I worked through the issues and documented our really clunky, blunt force, fix . The fix, however, amounted to changing the source code of Datasette itself on a per installation basis. That meant that if I moved to a new Windows machine I had to find the fix and re-implement it. Even worse, that meant that if I wanted to try something that worked only in a newer version of Datasette, I also had to reimplement the fix. That... Was a Lot. So, I was totally psyched when I got a little bit of ti...

Things I Learend: github will display lines of code in issues

 Just a really quick note about documentation and revision control. Github will do this When the link to a line of code is 'just' pasted into an issue! Pretty Snazzy! Update This seems to work with Python, but not just plain old text.

Ham Radio General Question Pool Viewable with Datasette

The twelve year old here is routinely passing practice exams for the United States amateur radio technician class license. Consequently, she and I started to work on updating our practice exam app to the latest general class question pool . We wrapped up the new deployment of the app earlier this afternoon, and I just wrote a python script to dump the question pool into a sqlite3 database. With the question pool all databased up, my next fun project was to study the questions in Simon Willison's datasette app . This allowed me to find out a few interesting things about the question pool right away. As an example, supposing you were to just go in to the test without studying and guess answers? Is there an answer you'd be better off leaning towards? A facet of the question pool based on the correct answer, (A, B, C, or D), indicates that no guessed answer is particularly better than any other: I suppose you'd get a tiny bias guessing either 'B' or 'C', bu...

Things I Learned: Django to Postgresql setup

I'm playing with Django, a really snazzy template based, database backed web app engine, again this week. I originally encountered the tool when I started making Google App Engine applications years ago. One of the last extant apps from that era is my ham radio exam practice app. This week, while ramping up another project, I did something new, I connected Django to a PostgreSQL database . I'd always used MySQL in the past. There were  steps. They weren't particularly difficult, but I couldn't find much in the way of documentation, and when I did, following the steps in order didn't work for me. Here's what did: Install psycopg2 . (You may need to install psycopg instead depending on your version of Django. Django does a good job of telling you what it actually needs later in the process. Of course, make sure PostgresSQL is already up and running. You'll need to be able to access the postgres user who's default password is in fact postgres. Setup up th...

First Release of RBN Spotting Station History Mapper!

 Anyone with a github account can capture their ham radio station reverse beacon network spots and map them over time using kepler.gl . I've been working from Simon Wilison's screen scraping examples to create animated maps of the Rockmite's reverse beacon network spots . I believe, (and hopefully I'm about to find out), that I've created enough documentation that others should be able to fork the project to create their own maps! So, before I show what can be done with the tool, if you're interested, please follow the instructions , and let me know how it goes! Also, if you can't follow the instructions, or something doesn't work, please file an issue on the project, and I'll get to work on addressing it. I'll cover this more in a future post, but here's something interesting I saw in the spotting data from the Rockmite leading into last night's NAQCC sprint .  Utah and Arizona are one of the Rockmite's usual strong spots, and ind...

Today I Learned: Parsing JSON in Python with jq and mapping it with kepler.gl

 I was intrigued by Simon Wilison's posts about screen scraping data using github, so I got right to work on it with respect to tracking the Rockmite's antenna performance, and WOW! The map above was created using data from the new project so far. Screen Scraping via the Network Tab of the Chrome Browser Developer Tools Tab Using Simon's lightning talk , it was pretty easy to find the data I wanted from the RBN site.  Github Actions Again pulling from Simon's talk, I was pretty quickly able to create a github action that runs a few times an hour to collect all the calls spotted from ham radio call signs that fit the pattern "KD0*". It took me a large-ish bit of time to debug whether or not the curl command or the jq command used to process the data were having issue. (It was  the curl command. If  your URL has arguments following a '?' you'll need to enclose it in double quotes.) Now that I was pulling out the call data , the immediate next issue...

Things I Learned: The NAQCC Newsletter and Glue Stick Permeability Tuned Oscillator

 I hadn't realized the NAQCC has a newsletter! Also? Continuing this month's theme of glue and radio, I found out glue sticks are handy for ham radio as well. If you still haven't checked out the North American QRP CW Club, and you're into low power radio and Morse code, here's a little more enticement. They have a monthly, free newsletter ! I found the above glue stick trick there. I'm still leaning towards making an Arduino VFO rather than a purely analog VFO, but wow, choices! Update: Here's a really nice video demonstrating the construction and use of the glue stick PTO CW Practice Nets The club is also looking to add new CW practice nets : Github projects can have web pages!? https://docs.github.com/en/pages/quickstart

Coding, Writing, and Organizing: Connecting Worlds

I’ve been re-reading The Organized Writer by Antony Johnston over the last few months. I love the book and the system it describes for focusing on writing by organizing away all non-writing (and writing for that matter) concerns. Of particular interset to me is the concept of never losing an idea. The author advocates for carrying a small notebook (or a phone or PDA) to jot down ideas as the arise, then reviewing those ideas later in the day. To me, this is genius!  There was a problem, however. Try as I might, I’ve been unable to stick to the rigor required to write down all my ideas as they occur to me. I’ll decide I’ll remember it later, (I won’t); I’ll decide to try extra-hard to review my notes at the end of the day, (I didn’t); and so on. The author of the book says that the reader should use whatever tool for writing and reviewing notes that they find to be the most useful. I loved the idea. I just couldn’t find the tool for me. Then, I saw this presentation that I’ve wr...

So Many Projects!

 I found an awesome presentation by Simon Willison at DjangoConUS yesterday . It talks all about how to manage multiple personal projects using things like code repositories, testing, issue threads, and documentation, all things near and dear to my heart. The first question though? How does one shoehorn a physical antenna into a code repository? There's a way! (I just have to figure it out.) And there is programming to be done for the unit test of the antenna! Using the reverse beacon network , I can count the number of rows corresponding to spots of the Rockmite. If there's one or more, the antenna test passed. If not, it failed. I want to be able to answer questions like the following: I was just operating at 6:00 AM PST on the 20 meter band under rain clouds using 250 mW at 14057 MHz. None of the reverse beacon network spotted me. Is it because the radio couldn't pierce the clouds, or because the ionosphere isn't ready yet, which the following resultls from that time...