Skip to main content

Posts

Showing posts from October, 2025

AI Help Enabled Ham Radio Extra Class Practice Test| FCC Element 4 Question Pool 2024–2028

  Extra Class Practice Exam Get ready for the FCC Extra Class license exam with this free online ham radio practice test. Our interactive exam tool uses the official FCC Element 4 Question Pool (valid July 2024–2028) and automatically tracks your performance. See your score history, review stacked bar charts of correct vs wrong answers by subelement, and drill down into specific group stats with a single click. This version of the exam is identical to the first release with a single exception. This version has an AI help facility. To see a demo of how to us it, please see this post and associated video. To use the AI features, you'll need to have your own OpenAI API key. You'll input that in a dialog that is not visible to anyone but your browser. One of the points of these exam practice pages was to demonstrate that they could be deployed without needing server-side code, and they don't. This is the first practice run of the free online ham radio practice exams. I fully e...

How I Cut GPT Input Costs 10× by Turning Off the Vector Store on the Ham Radio Practice Exams

I finally found out why my Extra Class AI Tutor was spending nearly ten times more on input than output tokens. It wasn’t the math, the cache, or the prompt—it was the vector store. Turning it off cut token usage from 17021 to 1743 in a single move.

Lab Notebook: GPT-5 Help Agent for Ham Radio Exams Debug

 Debug notes from getting the AI help feature of the free ham radio exams to work today. Grabbing a text answer from OpenAI still works: That's from this method async function retrieveTextWithFileSearch ({ system , user }) {   const vsId = localStorage . getItem ( 'vector_store_id' );   if (! vsId ) throw new Error ( 'No vector_store_id found.' );   answText = answText + " " + user ;   const resp = await openai ( '/responses' , {     body : {       model : 'gpt-4.1-mini' ,       input : [         { role : 'system' , content : system },         { role : 'user' ,   content : answText }       ],       tools : [{ type : 'file_search' , vector_store_ids : [ vsId ] }]     }   }); With the agent  flow, it doesn't work async function retrieveTextWithAgent ({ system , user }) {   // 0) Make sure we have ...

🛰️ GPT-5 RF Field Mapping: When Things Get Weird, Go Back to Basics

  This weekend I had a little extra time, so I ran a quick sanity check on the CesiumJS RF field mapping project. I pulled all the buildings out of the Python model to see if the results matched what a bare quarter-wave vertical antenna should look like on its own. It wasn’t that anything seemed wrong — I just wanted to make sure the simplest case still looked the way physics says it should. At first, he results were surprising — most of the points vanished. I fixed it. Then the field strength was highest at ground level instead of rolling off. After some debugging (and a few questions for GPT-5), the ground reflection model was corrected, and the field now looks just like the math says it should: deep null at the base, smooth roll-off to vertical, and a uniform pattern throughout. Sometimes, the most productive way forward is backward — strip the system down and see if the simplest case still holds true. All the details can be found in the video below.