Another drone day

It’s way too warm to ski, I’m way too sore to bike, so I went out and droned. One of the things I was curious about was range – I see people complaining that although DJI says you can fly the drone up to 10 kilometers away from the controller (but only 2 kilometers from the controller in the EU) but they only get a kilometer. I wanted to see how far away I could fly the drone and still see it, or how far away before I got a loss of signal and an automatic return to home.

So I searched for a place with a very good long line of sight. I settled on the Great Embankment Park (GEP) on the canal. I was thinking of Durand-Eastman Park, but the wind was blowing out towards the water, and I didn’t want to get into a situation where my drone was heading out towards Canada without a signal.

GEP is a good place to play with a drone because it’s got several sports fields, and then that long stretch of canal. And being Monday, not too many cyclists and walkers on the path, and being February and the canal is still mostly empty and frozen, nobody to worry about there either. Not the most interesting video, but good for practice.

I discovered many things during today’s flight.

First was that it didn’t matter if it was below the horizon (in the canal cut), above the horizon but below the tree line, or above the tree line either up-sun or down-sun, I would lose sight of the thing well before 400 meters. (I did some blind flying where I couldn’t technically see the drone, although I knew exactly where it was and could see through its camera on my controller – that’s technically illegal, but no harm no foul.)

Second was that I completely misunderstood how to activate “Spotlight” mode. There are three special modes that appear at the bottom of the screen after you draw a square on the screen of the controller with your finger. Those are “Active Track”, “Spotlight” and “POI”. I wrote about Active Track in my last blog post, and POI isn’t all that interesting to me because it just circles around the thing you’ve drawn around. Spotlight keeps the camera pointing at the selected point no matter how you fly around it, even if the selected object is moving. But the thing is that when you select the box, and the menu pops up, if you want Active Track or POI you have to select them, and I thought that’s what you’re supposed to do with Spotlight, but when I did that the menu would just go away. It turns out that Spotlight is selected by default and I wasn’t supposed to select it. Oh well, hopefully I’ll remember that for next time.

Third was that a very useful drone move is diagonal flight, where you point the drone and thus its camera off at say a 45 degree angle to the left, and then try to balance the forward and right movement of the right joystick to create straight line motion. I practiced it a lot today but I’m going to need more work on it.

Droning

Went for a bit of a fun practice with my drone (have I mentioned I have a drone? Probably not, I’m a bit sporadic with the blog these days – it’s a DJI Mini 3 Pro, lovely little drone) since it’s been a few weeks, and I was wandering all over this park, trying out the active track on a steep and closed in trail (where it did excellently, by the way). I was walking along and i got the RTH (Return To Home) warning. I was miles away from the Home Point, so I cancelled that, but now I didn’t have a Land icon on the screen – or at least I can’t see it, but it’s on the screen recording so I don’t know . I was on a paved path, so it would have been a perfect place to land if I’d had the opportunity. I decided to do a hand catch. I’ve done a bunch of them before, but like I said it’s been a few weeks since I last flew. Somehow I got my thumb sticking up too much and I got two nice little slices in it, and now I’ve got blood stains all over my drone.

Later on I was flying in this grove of trees, weaving in and out and I lightly tapped a tree and crashed. I examined the drone, and nothing seemed wrong with it, but every time I tried to start it, the props would run for a second and shut down, and give me a warning about a motor being jammed. One of the motors was definitely harder to turn so I gave it a good shaking out and blew it out. It started up and took off, but it was really slow to move. I landed it and took off again, and it was fine.

Can’t see a difference

My Garmin VIRB360 camera has two modes when shooting 360 degree video. In the first, it records 4K video and stitches the front and back lens videos in the camera, so it uploads into VIRB Edit nice and fast. In the second mode, it records the front and back lens videos separately, and VIRB Edit stitches as it uploads the pictures. This results in a supposed 5K video, but the stitching process takes literally hours at a time. I’ve done a few tests and honestly I don’t see the point – the 5K doesn’t look much better.

Here are some screen shots from two days shooting, one at 5K and one at 4K. Can you tell me which is which?

Picture 1
Picture 2

A weird thought

I had a weird thought the other night. There are a couple of programming tasks on my massive “to do” list that I figured I’d power through in the first few months of retirement before I started spending hours and hours alternating between training in my kayak and touring on bikes with my wife.

Well, life doesn’t always work out the way you intended and none of my todo items has been checked off because the pain that last year made it uncomfortable to sit for too long, and which was just on the “barely tolerable” end of things by the end of a normal length kayak race has now progressed to absolutely intolerable for even short stints at a desk chair or kayak. I’ve spent about 15 minutes total all winter in my erg, and haven’t even put my kayaks in the water. Normally by this time of the year I’d have 30 or 40 hours on the erg and about the same on the water. And I limit my sitting at my desk chair to short periods to deal with bills and paying taxes and the like. Even the library easy chairs are uncomfortable verging on painful these days.

But back to my weird thought. I have a new iPad. I can’t afford a new laptop. So I was thinking that for those programming tasks, what I might try is to install “code-server”, which is a hosted version of Visual Studio Code, on my linux server. This gives you the full power of a pretty extensive IDE available through an iPads web browser. I could try coding up one of those projects using that, maybe using the git integration to push the app to a free heroku instance for testing and debugging. I wonder if that’s doable?

Well, in order to find out, first I’d have to install code-server and make it available through my web server. Oh, what’s this, it appears you need to use nginx as your web server rather than Apache to do that. Well, no problem, I’ve been intending to make that switch to make it easier to use LetsEncrypt to put everything behind https like I should have years ago. Oh wait, one of my sites uses Perl fastcgi. Looks like there’s some extra hoops you have to jump through to configure that. And also convert all my .htacess files into clauses in the nginx configuration files.

Sigh, this is going to be a full in yak shaving exercise, isn’t it? I just wish the pain killers I take to be able to sleep at night didn’t leave me dizzy and disoriented all day, or that they actually killed the pain instead of just knocking me out.

Well that aint good

Further to Scraping a third party site:

Woke up this morning to an email from Linode saying my linode server has been running at 200% CPU. Logged in, and sure enough CPU is high, and there are a bazillion “firefox-esr” processes running. Did a kill-all on them, and the CPU immediately dropped to reasonable numbers. There was still a “geckodriver” process running, and when I killed that it went into zombie state instead of going away. I had to do an /etc/init.d/apache2 reload to make that one go away.

Did some tests, both from the nightly “scrape the whole damn site” cron job and the web site’s “scrape one flight plan when the user clicks on that flight plan” and I’m not currently seeing any orphaned firefox-esr or geckodriver processes. So it appears that when I scrape, I correctly close the Webdriver connection which correctly stops the firefox and geckodriver processes.

So I guess I need to keep an eye on this and see if I can figure out what the client is doing to make the website fail to close the Webdriver connection. Or maybe I left some turdlets around on the system when I was doing testing? I don’t know.