• Weeknotes 13

  • A day in the life of a satellite dish
  • I am ashamed to say, but this silly little gif took a LOT more time and effort than I intended it to.
    It just became one of those rabbit hole time sinks where I just wanted to get it done to see if it was worth the work it was taking.
    Answer.
    No, it wasn’t.

    In short, I tried a few different ways to make the time lapse, and just failed at every turn.
    Gave up in the end and just compressed the time of the video camera recording then used ffmpeg to convert it to a gif.
    Cat at the base of the dish in the morning, cat (different one) along the fence in the evening… They cats like to drink and hunt birds at the fishpond. Don’t get me started.
    I guess the take away from this gif is that the dish really does not move that much, but the tracking is so critical.
    It’s all of a bit of a let down really.

  • Chrome.exe
  • The computer kept crashing – well, to be accurate, Node-RED kept crashing, so we went to the Node-RED forums and they gave me some key words to Google.
    Turns out what I needed in the code was a thing called a ‘try catch’.
    The code tries something, and if it works, fine, if it fails, then the catch catches the fail code and handles it rather than letting wreak havoc on the system.
    Fun and game then with me trying to figure out where to put a try catch in the Puppeteer (headless Chromium), but with a little forum help, we got there.
    So far, Node-RED has been up 3 days straight. Pretty sure that’s a record.
    Can we close the book on this one? Duno. Hope so.
    It would be nice to back to the 3-4 time a month forced Microsoft reboots.

  • NanoVNA
  • I (apparently) am hard to buy Fathers Day presents for.
    So, I bought myself a Vector Network Analyzer. Been wanting one for a while and wish I had pushed the ‘Buy Now’ button a while ago, but eh. Little did I know.
    It arrived on the weekend, so of course, I tested every antenna I have.

    I got the slightly upgraded one with the metal body as it has better shielding and goes to a higher frequency which I needed for my satellite stuff.
    In short, its a sweep transmitter that you can set the upper and lower frequencies for, it sends a very low power continuous carrier over that range and looks for the reflection.
    So you can measure the loss of coax, the length of a cable, the SWR or tuning of an antenna.
    The really cool thing is that its all live… As you touch the antenna, the display is reacting in real time.

    So yeah, I tweaked everything for a better match and sleep much better at night.
    Happy early Fathers Day to me. (Freddy and the kids are thrilled that they don’t have to think of anything to get me… but really, was a NanoVNA that hard to come up with? I mean, come on.. pretty obvious if you ask me).


  • Weeknotes 12

  • Palomar Mountain
  • Freddy and I decided to take some us time and drive up to Palomar Mountain over the weekend.

    We have not been up there for over a year and I was really looking forward to seeing the telescope again.
    We dropped off at the mountain meadow lake and for the first time ever, walked all the way around it. Only took around 20 minutes, but saw a ton of birds and butterflies.
    Hit up the observatory next, or at least wanted to, its closed up tighter than a drum. They have the big iron gates shut into the parking lot, so you cant even get close.
    Did a U-turn and cruised down the mount.
    Still a nice day. Car ran really well. It really is much quieter with the new tires.

  • Node-RED crashes
  • Still having issues with the screenshot node.
    It just hard crashes Node-RED, here is the log:

    6 Jun 14:21:39 - [red] Uncaught Exception:
    6 Jun 14:21:39 - TimeoutError: Navigation Timeout Exceeded: 45000ms exceeded
    at C:\Users\bmorc\.node-red\node_modules\puppeteer\lib\LifecycleWatcher.js:142:21
    -- ASYNC --
    at Frame. (C:\Users\bmorc\.node-red\node_modules\puppeteer\lib\helper.js:111:15)
    at Page.goto (C:\Users\bmorc\.node-red\node_modules\puppeteer\lib\Page.js:674:49)
    at Page. (C:\Users\bmorc\.node-red\node_modules\puppeteer\lib\helper.js:112:23)
    at C:\Users\bmorc\.node-red\node_modules\node-red-contrib-web-page-screenshot\screenshot.js:66:16
    at runMicrotasks ()
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

    Not a lot to go on other than one of the websites I capture clearly has a lot going on and the node gives up at the 45 second mark.
    In desperation, I simply changed the time out from 45 seconds to 75 seconds.
    Node-RED has been up for a record 11 hours thus far…. But it feels like a kuge work around.
    I am thinking of reaching out to the guys and see if they have any thoughts…. they are very busy and hard to get hold of, so yeah, duno.

  • Helix antennas
  • Finally got my butt into gear and finished most of the satellite antennas.

    Just need to test each one and then try and find the guys that asked for them.
    The stainless steel was the biggest pain. I burnt up 3 drills building them. So much swarf and burrs. Major pain in the hands using a hand drill to do them, a small drill press would have made such a massive difference. Not 100% sure it was worth it.

  • Monitor upgrade
  • I finally have the battle station monitor layout about dialed.

    The breakthrough was getting the two vertical monitors on the right sorted.
    I love vertical screen space. Beats scrolling up and down all time, being able to see all the aircraft messages at a glance is a huge speed boost when I am tweaking Node-RED.
    If I can get Freddy’s old broken iPad working it will go on the far right next to the one that’s there since it will be a bit delicate and cant be moved, it will make a perfect dashboard display like the one that’s there now.


  • Weeknotes 11

  • Car Battery Upgrade
  • Well, we have one trip to LA and back in the car.
    In short, it went great.
    We charged to 100% Friday night and headed up and back over the weekend.
    Got to LA (the half way mark) with more than half a charge left, so had a good feeling we would be Ok.
    The traffic on the way up was rather free flowing, good for making time, but 70mph (112 kph) is not the best battery economy. Point is, the trip up was under the worst conditions so I was very happy to see the half and some charge left.
    Left Sunday morning and wouldn’t you know it, unlike pretty much every other time we have driven home in stop and go traffic, it was wide open, so yeah, 70 mph all the way home as well (and just to be clear, the freeway speed limit is 70, the fast lane is doing 80-85 (~135 kph), I was in number 2 lane).
    Here is how the dash looked when I pulled in the drive when we got home.

    1. The guessed max range you could get (downhill with a tail wind).
    2. The worst range (70+mph into a headwind).
    3. Super hard to see, but there is a few pixels of orange under the middle range, Freddy and I call it the worm. It goes down in orange if your current driving trend is getting worse and it goes up in green if your trending to better economy. Its the most useful part of the gauge as you can quickly see if your current driving conditions are more likely to give you the better range or the lower range and by what amount. At 70 mph, it’s pretty much orange all the way down to the bottom range.
    4. How much power you are currently using. Sitting in the drive with the AC on, its 1kw. It goes up in orange when taking off from the lights or down in green if you are slowing down using regen and thus adding some charge back in to the battery.
    5. Trip meter. I reset this when I pulled out of the drive so I know how many actual miles I have done.

  • New Tires
  • Got some new tires put on the car late in the week.
    Went with Pirelli Cinturato P7 All Season Plus II. Same size as whats on the car 215/50R17.
    I don’t have anything against the stock Michelin Energy Savers other than they were total garbage. Almost zero traction in the dry, crazy dangerous in the wet. Pathetic tire life, I got 12,800 miles (20,600 clicks).
    So far, all of a few drives to work and back, I love the new shoes. They are super quiet, seem to actually grip and the car is just feeling a lot more planted.
    I wish I could have gone with 225/50’s but since I have put the lowering springs on, I don’t think BB has the wheel well clearance.
    Now that we have 100% charge back, Freddy and I are talking about doing a few drives now and then like we used to.

  • Chrome.exe
  • I use a screenshot node in Node-RED to, uh, take screenshots of websites.
    Every now and then for some as yet unknown reason, the screenshot node wont close and so leaves a chrome.exe process running that uses both CPU and RAM.
    After a day or so my Windows PC is just about on its knees crying. Windows is too dumb to kill that cruft off and so it just keeps building up and maxing out everything.
    The mouse wont really move and not even task manager will launch.
    I happen to catch it at this point one day this week and found I could use tastklist in a CMD window. I had around 70,000 chrome.exe processes.
    Quickly found that the command taskkill /IM "chrome.exe" /F did the job in a few moments and tada. My computer fan stopped its jet impersonation, the mouse started to move freely and things were back to what ever running Windows on a PC is like.
    So, now my task is to find out why this has just started to happen after 5+ years of using the node with zero issues.
    I did a Node-RED update and a few Windows updates, so its going to be hard to pin down, but for now I have a graph that plots CPU and memory and when it gets a bit high/low, I issue the kill code. Not great, but a work around none the less.

  • Python depends
  • To install most Python libraries or apps you use an installer called pip. pip is a recursive acronym that stands for ‘pip installs packages’ or ‘pip installs python’.
    Google clearly states that we need to use pip3 for python 3 packages and pip for python 2 packages.
    EPIC comes with python2 out of the box and we have instructions for installing python3.
    The problem arises in that the version of python3 in the Opto22 repo is 3.2 and most machine learning packages need python3.7 or better.
    To build python3.7 from source needs some other libraries installed, but thankfully all those are in the Opto repo they can be installed and (after a few failures and many hours work) you can get python3.7 installed on EPIC.
    The problem now is that python3.7 uses a new version of pip3 and to install that, you need to install some new libraries, those new libraries are not included in the current Opto22 repo.
    So, I started building them from source.
    The first package depended on another package that is not included, so I started to build that second package from source, but it depended on a third package that was not in the Opto repo, so I started to build it from source and it depended on a forth and that is when I stopped.
    I have been using Linux (Thanks Dan) for around 30 years now and have a personal rule that when I get three dependent packages deep, it’s time to stop and step back and rethink things.
    So yeah, had a ‘fun’ few hours in the Python dependency rabbit hole this week.


  • Weeknotes 10

  • Website abuse
  • Some guys in Japan wrote a script to scrape the site search page on the Node-RED website.
    It would see that greed is a motivator for some people.
    The problem was, they were hitting the site every 5 seconds and thus kicking anyone else on that page off. And that is not cool. (It’s also stupid as aircraft don’t fly that fast – 5 seconds will not make any difference to the data).
    I have their IP address in the logs, but cant figure out how to turn that into a user or email, so I put a Tweet up and put a notice on the webpage, but after 12 hours they had not stopped, so I blocked the IP address using iptables in my router.
    That was last week, I have unblocked them this week so will just wait and see.
    As a result of this behavior, I reused some code that Terry wrote about 4 years ago to count aircraft messages and it now does some crude user tracking / website metrics.

    Also as a result of the Tweet I sent, a few people have reached out to me and said I should consider shutting public access to the site.
    In other words, put it behind a username/password.
    I have mixed feelings about that. People can pass those creds around super easy, so it really won’t make any difference in the long run. It just would be a pain the butt for me in the short term as a bunch of people abuse me for locking them out.
    Bottom line, I don’t see how putting it behind a user/pass will actually make any difference.

  • Battery update
  • Got the software update done on the car, but have not yet done a full charge trip, so can’t comment about it.

  • Luna Eclipse
  • Missed out on seeing the ellipse due to heavy overcast.

  • Low effort
  • I continue to come into contact with people that just don’t want to put any effort into their question / job / task at hand.
    One encounter this week set a new low bar, they basically asked me to read a webpage of instructions to them…. It seemed that them doing the reading was just too much work.
    (Not sure how they were going to go putting the words into action – but I guess it was a mute point as they did not even want to read the words in the first place).


  • Weeknotes 9

  • Why Google? Why?
  • Oh how you are really really really really really really really really really annoying me with your cute little UI change Google.
    I find it hard to believe that no one working at Google actually uses their search page… Yet here were, with 100% solid iron clad proof that they don’t use their own product… Cause, if they did, this blog would not be written, my niggle would not be niggling, my rage would be re-directed.
    What am I on about this time?
    Googles stupid little gimmick of auto expanding the ‘People also searched for…’ box under every search link you click, but only after you come back to their search page and HERES THE REALLY ANNOYING THING.. they wait about 2.5 seconds after you get back before expanding it.
    As if that was not bad enough, they stretch the length of the whole page to make room for the new drop down.
    So now, if you click the links from the top down (who starts with the worst search result first? Other than Google employees?), when you come back to the page, you cant click on the next result because it will slide out from under your mouse and you will click on some other random junk that someone else searched for that does not match your search term.
    To top it off, there is no option in Google to shut this crappy behavior off.
    Whats thebaldgeek to do?
    I happen to use Ublock Origin Chrome extension to tame the web.
    If you do too (and you really should) add the following to the ‘My filters’ section:
    www.google.*##div[jscontroller]:if(h4:has-text(People also search for))

  • tinyGS
  • Because I really need yet another project / thing to track.
    Its a small ESP32 board with a LoRa receiver on it. I have coupled it with a small 433mHz 3 element yagi antenna pointing straight up (for now).
    So far I have totally failed to catch and decode a single packet.
    But I am having fun, so does it really matter?
    Probably more to say about this project when I get it working better.

  • Bolt Battery Update.
  • I am getting the battery pack firmware update done today.
    It detects any voltage imbalance between the cells and if they get too great, it sounds an alarm and I have to take it to a dealer.
    Just to be clear, it does not stop the car from catching on fire, it just tells me about the chance of a fire before it happens (hopefully).
    Yes, I am being a bit tongue in cheek here.
    Chevy cant program a working cell phone app so I have little hope that they know what they are doing when it comes to battery tech.
    The only difference is that the fine for for getting it wrong is higher.

  • ADSB Raspberry Pi Build.
  • Spent a good whack of this week building a new Pi 4 ADSB tracker for my mate in the UK. (ZeroTeir VPN for the win).
    They have come a very long way in their build scripts. It was mostly harmless.
    Still a bit time consuming getting a few different websites feeds working. If you just feed ADSBExhange it would be up and running in minutes, but my mate is all about sharing his data with a bunch of sites. Not all of them are as well set up and a few of them actually deliberately break other sites feeders on your system, so you have to install them carefully.

  • ACARD VDL2 Raspberry Pi Build
  • Since we had a spare Raspberry Pi in the UK, I bought my mate an SDR and we installed a fresh instance of Raspberry Pi OS and installed dumpvdl2 to feed ACARS data to my Node-RED setup.
    This would have gone very smooth had I read the docs and seen that you put the frequency in Hertz, not mHz.
    Anyway, 5 hours latter, its all working.
    Instructions are on my GitHub page.