More camera woes

One of the things I’ve struggled with over the years is that a typical waterproof action camera has a battery life of around 80 minutes, and most of my races and training paddles are longer than that, especially if you want to start the camera when you leave the shore for your warm up and not have to faff around on the start line trying to get it started when you really should be concentrating on the race. I’ve experimented with various ways of providing power from a USB battery pack to various cameras with varying success but they either haven’t worked or they’ve succumbed to water damage.

My newest camera is a GoPro Hero Black 5, which is waterproof without an extra case. It has two openings with waterproof covers, one for the battery and memory card, and one with a USB port and an HDMI port. The USB port can be used for charging or for downloading video. I was assured by people on the GoPro forum that it would be perfectly safe to remove the cover over the ports, plug in a USB cable, and seal around it with one of those silicon putty earplugs they sell to swimmers. I’ve been using it like that all year and it’s been great. With a small USB battery also sealed with silicon putty I’ve had record times over 3 hours with no problems.

However last Thursday was the first time I actually let the camera get fully immersed, rather than just splashed – I was landing in a big surf and the boat flipped over after I jumped out. I didn’t think much of it – the camera seemed fine, although the touch screen was acting a little wonky. I didn’t think much of it – I just figured it didn’t like the water on it and I’d have to remember to disable it next time. I took it home and plugged it into my computer to charge and download the pictures, and then forgot about it.

Until the middle of the night last night, three nights later, when I heard the distinctive sounds a GoPro makes when it’s powering off. That’s odd, I thought, maybe it took this long to fully charge and now it’s shutting off. And then some time later, it happened again. Shit! I got up and stumbled into my office, and discovered it was powered up again. Not wanting to be kept awake all night by this stupid beeping, I took it into another room and removed the battery. That’s when I saw green corrosion on the battery terminals. A very bad sign – that means that water had gotten into the case and into the electrical parts. I’m afraid to power it back in this morning and see if it’s still working. I’ll have to see if it’s too late to properly dry it out and hope it survives.

Give it a REST

As you might know, I’m currently looking for a job. And one thing you see in job ads is a requirement for experience with “REST APIs” or “RESTful services”. And as far as I can tell, it’s nothing more than a naming convention for your basic CRUD (Create, Read, Update, Delete) web services. If you write four URL handlers for the URLs “/item/create”, “/item/{item id}/read”, “/item/{item id}/update” and “/item/{item id}/delete” then you’re a filthy normie and unemployable, but if instead you make one URL handler for “/item/{item id}” and check the request type and do the read, update and delete based on the request type being “GET”, “PUT”, or “DELETE” respectively, (creation being done with a POST to the URL “/items”) then you’re a “RESTful” guru and will be showered in money.

Can we just agree that being a naming convention, it takes approximately 5 minutes to train somebody how to do this? And if my former employer would give me back my login for an hour or so I could go back and change all my AJAX calls to fit this naming convention and join the ranks of the REST API experienced.