Studio711.com – Ben Martens

Geek

18-Month Drone Timelapse

Ever since we moved here about 12 years ago, there has been a big open field behind our neighborhood. It provided a nice buffer as we looked out our back windows. As expected, the person who owned that eventually passed away and it was sold to a land developer. Over the course of about a year and a half, they tore out everything on the property, dug an enormous hole for a water retention box, and then put six house on top. The houses are selling for $1.8-2 million. Real estate around here is nuts.

I had gotten my drone earlier that year so I started capturing some photos and videos of the project. Then it occurred to me that if I could somehow fly the same pattern repeatedly, I could build a video drone timelapse! Thankfully there are plenty of apps like this already available and with very little effort, I had Dronelink up and running. I was a bit limited in the paths that I could run smoothly due to the speed of my old phone, but I got a basic one programmed in and started flying it every weekend. Over the course of the project, I added a couple more routes into the mix.

After 18 months of flying most weekends and then many hours of editing trying to align all the images and video, here’s the result:

Once you start a project like this, there really aren’t a lot of adjustments that can be made. You need to keep doing the same thing to get the timelapse and a lot of the learnings aren’t visible until you do all the editing at the end. If I had it to do over again, here are some things I’d do differently:

  1. Always fly in exactly the same lighting conditions. The cloudy days were the easiest to edit. Direct sunshine make it really difficult, but theoretically if ALL the shots were direct sunshine around the same time of day then it might be ok.
  2. Take the time to calibrate the gimbal and wait for extensive GPS lock before starting. Some of the shots were way out of the norm and it took a lot of time to try and twist the results into something that matched the shots around it.
  3. When editing, pick a clip in the middle and then work out toward both ends to align all the photos. Otherwise the error increases over the whole span of the video and by the end you have a huge area of black. I had to redo a couple sections because of this mistake and because I didn’t learn my lesson the first time.
  4. Pick paths that are far away from the action. Ideally they would have the full project in view for the whole flight. I wish I had just done a big circle around the project or something like that.
  5. As cool as the video idea is, I think the photo part of the timelapse worked the best. Doing a mix of the two is probably good because I still think the video could be done well, but it’s a higher degree of difficulty.

Hopefully I’ll never be in a situation where I’m think close to a major building project again so I’m glad I took advantage of the opportunity. That being said, I’m glad it’s over because it did get a bit boring as time went on.

Google Photos Replacement

We really enjoy Google Photos. All of our photos from our phone, our dSLR, screenshots, text messages, etc. all get sent to Google Photos. Proper backup of all those things is done with our 3-2-1 backup strategy, but Google Photos is our way to easily find photos. Their search engine makes it every easy to search for something like “Tyla Ben motorcycle 2018.” Their facial recognition is creepily good, even identifying baby photos of people who are much older now.

This was a free service for many years, but over the past year or two, they’ve started charging for it. That hasn’t impacted us becase we both use the Google Pixel 4a. Those phones have unlimited photo and video storage forever. That deal is for compressed versions of the photos and videos, but since we’re only using this to find photos, not for permanent backup, that’s not a problem.

But what happens when we eventually upgrade to a new phone? Hang on tight. We’re going to nerd out about all the options and the pros/cons of each one

1) Some people go the route of keeping their old Pixel 4a’s around and just using them to sync their pictures to Google Photos. A picture gets taken on the new phone, gets synced to the old phone, and then gets uploaded to Google Photos. That might work, but it gets a little more complex since we’ll probably end up giving Elijah one of our old phones. (Whether he gets a SIM card with it is a separate discussion.) Android does support multiple users on one phone, but I’ve never messed with that before and I imagine that I’d have to periodically switch back and forth between the two users to force them to sync so it gets pretty complicated and it’s not automatic.

2) We could pay for Google Photos. To estimate how much this would cost, I used Google Takeout to create an archive of all of my photos. Our compressed photos average 1.7MB per photo and we take about 15,000 photos per year. We took about 2000 videos last year at an average 100MB/video. That adds up to a little over 200GB/year. Looking at the plans, if we did photos only, we could get by with the $20/year plan but otherwise we’d very quickly need the $100/year plan. That’s not cheap but maybe it’s worth it once I consider the hassle of the other options.

3) We have an Amazon Prime account, and we probably always will. That comes with free unlimited, full resolution photo storage in Amazon Photos. I didn’t even realize that Amazon offered this service, but in many ways, it’s comparable to Google Photos. It differs from our current setup in that it doesn’t include video storage, and their sharing isn’t quite as nice either. Google Photos lets Tyla and I set up photo sharing and then anytime either of us take photos of anyone in the family, it automatically gets added to the other person’s account. If we want to see ALL the photos, we have to go into a separate folder. It works really well at automatically sharing the photos we generally care about the most. Switching to Amazon Photos would be a pain as I’d have to reupload everything which would hit my “unlimited” bandwidth limits at home. Then I’d also have to recreate albums and favorites. But even with all that work, it’s not impossible, and “free” is a nice price as long as we’re ok with not having videos uploaded there.

4) If I already have all the photos collected on a server at home, why do I need to reupload them anywhere? What I’m really looking for is a way to automatically tag and search our photos. It turns out that there are a ton of projects aiming to let you self-host this technology. I won’t try to compare them all, but this post does a good job of explaining many of them. Note that many of the projects have been improved since that was written, so you have to actually go look at each one to see its current feature list. Some of them look nice, but the drawback here is the extra time/pain of self-hosting. It all generally works fine, but when it doesn’t, then I’m tech support and I need to make it work. I also have to spend a lot more time trying to figure out how to safely expose this for us to access from outside the house. Additionally, most/all of these solutions end up making their own copies of all the photos, so I end up storing everything twice. Our entire photo collection is over three terabytes, and it’s duplicated across two physical drives so doubling that again means I’m going to have to add space.

When I look at all the work involved in switching, the cost of paying for Google Photos doesn’t seem so bad, but I’m a nerdy cheapskate at heart so this is still up for debate. Do you have any other solutions that I should consider? And yes, I realize we could give up on the idea of having all our photos be easily searchable, but once you’ve experienced that, it’s hard to give it up. We use it a lot!

ChatGPT

I’m going to assume by now that you’ve heard about ChatGPT, but as a quick intro in case you haven’t, it’s a conversational artificial intelligence. Where you might ask a regular search engine to find facts for you, ChatGPT can answer a lot more why/how questions or even create things from scratch. I recommend that you log into it and play with it a for a while to get your own glimpse of what it is capable of. The responses it gives are incredible. Here are some examples:

  • “I like Mexican food. Make a meal plan for this week.” It replied with a nicely formatted list of breakfast, lunch, and dinner ideas, including side dishes. I followed that up with “Give me a shopping list for that meal plan” and it provided that too.
  • “Write a sermon on Matthew 11.” I did that after coming home from listening to Pastor Erich give a sermon on the same verses. While Pastor Erich’s was better, ChatGPT did an incredible job of summarizing the text and then giving three Biblical takeaways to apply to your own life.
  • “Write a rap about brussel sprouts in the style of Flava Flav.” The result probably won’t win any Grammy’s but my favorite line was “They’re the ultimate in healthy snacks and they’ll put a pep in your step, no need for caffeine or crack.”
  • “Explain orbital mechanics to me like I’m 5.” I’m pretty confident that I could have read this to a five year old and they would get the basics.
  • “I want to destabilize western culture without anyone knowing what I’m doing.” I heard this one on a podcast and ChatGPT replied with an 8-point plan about starting social media campaigns to question authority, create alternative narratives, etc (basically everything that people are doing today.)
  • “Design a spacecraft that can carry humans to other planets.” This was an idea from a coworker who then proceeded to keep giving it more requirements and asking detailed design questions which it happily answered.
  • I asked it one of my favorite questions that I use in interviews. It explained the approach in English, rewrote that as a list of steps, and then generated a solution in Python. It was a better answer than I get from 90% of job applicants.

As a software engineer, I love this. It’s a great example of what technology is capable of today, and a reminder that technology is improving exponentially quickly at a faster rate than we can comprehend.

What I don’t like is that this plays into what people think of when they hear “artificial intelligence.” People think of AI being robots in movies, but artificial intelligence is an enormous field with many different applications. While ChatGPT may give you the willies, how do you feel about your doctor using a model to figure out the best course of treatment for you, a cloud provider deciding which hard drives are going to fail in the next 24 hours, or a system telling third world farmers when to plant their crops. Most people would agree that those are great scenarios but how many would recognize those as “artificial intelligence”? We need a different word for AI when it applies to creepy things you can converse with. (And yes, I know there ARE different words for that category of AI, but they aren’t used in the general population.)

Or maybe I should have just let ChatGPT write that last paragraph:

There are many reasons why people may be afraid of artificial intelligence (AI). Some people may fear that AI will become too advanced and surpass human intelligence, potentially leading to loss of control over the technology. Others may be concerned about the potential for AI to be used for nefarious purposes, such as surveillance or manipulation. Additionally, some people may be concerned about the potential for AI to take over jobs and lead to widespread unemployment. Overall, the fear of AI likely stems from a fear of the unknown and a lack of understanding about the technology and its capabilities.

There are many potential uses for AI that do not scare people. For example, AI can be used to improve healthcare by analyzing medical data and providing personalized treatment recommendations. AI can also be used to improve transportation by helping to develop self-driving cars and other advanced transportation systems. Additionally, AI can be used in education to provide personalized learning experiences and to assist with grading and other administrative tasks. Overall, the key is to use AI in a way that is transparent, accountable, and beneficial to society.

https://chat.openai.com/chat when asked “Why are people afraid of AI?” and “What are some uses of AI that don’t scare people?”

Patent Approved!

Years ago, I wrote up a patent application at work. It had to get approved by my management chain, and then a team of lawyers at the company interviewed me. They wrote up a 50-page version of my 2-page explanation and then sent it off to the US Patent Office. Years later, the patent office replied saying that they agreed that my invention was unique and patentable. The Microsoft lawyers contacted me for an update to decide if it was still worth patenting, and they decided to go for it. After more waiting, there’s now an official patent recorded with my name on it: US 11,475,017 B2 “Asynchronous data enrichment for an append-only data store.” If you go to their search tool and search for “((US-11475017-B2).did. AND USPT.dbnm.)”, it should return our patent as the only result.

This isn’t going to change my life or make the company a ton of money, but there’s something very satisfying about having my name enshrined in the USPTO as the inventor of a brand-new idea!

Easy Data Backup

One recurring theme on this blog has been encouraging you to back up your data. Imagine going home and one of the devices in your house is completely and irrecoverably dead. How much do you lose? Are those family photos gone forever? The strategy I recommend is a 3-2-1 strategy: keep three copies of the data stored in at least two places with one of them being offsite.

If you don’t have this today, you can remedy that very easily by going to backblaze.com and paying them to keep an encrypted copy of all your data. They aren’t sponsoring this post, but I’ve used them for ~4 years now both here and at church and I’ve been satisfied. The key features for me are that it runs automatically in the background and there are no limits on how much data you can store which is good because I currently have 5TB stored on their servers.

Since I recently updated my setup at home, I thought I’d give another overview of my setup. We have a central server in the house that runs Blue Iris (security cameras), TeslaMate (Tesla data capture), and Plex (video streaming). It also serves as our file storage. All our computers use that server for file storage. Backblaze is running on that server to keep everything backed up to the cloud. Our phones also have everything backed up to the cloud through services like Google Photos and OneDrive, but periodically I take the photos off the phones and put them on the file server so the full resolution copies are backed up too.

The file server is a bit complicated though. We have about 7TB of data on it, and I don’t trust having all that data on a single drive because I’ve had a handful of drive failures over the years. Sure, it’s backed up to the cloud, but the goal is to never have to resort to the cloud backup. So our file server uses a feature of Windows called “Storage Spaces.” I shove various drives into the machine and then it is configured to keep each file on two different drives. I previously had four 4TB drives (giving me 8TB of duplicated storage) but we were hitting the limits of that setup so I swapped out two of the drives for 8TB drives. (Pro tip if you’re going to use Storage Spaces: leave one port open so that when you get a new drive, you can plug it in and then decommission the old drive. I’ve also done it where I just pull a drive out and tell Windows that it is dead, forcing it to rebuild on the new drive, but that’s a lot messier and riskier.)

When I upgrade drives in the file server, I take the old ones and put them in external enclosures. The Silverstone tool-less enclosure is the best one that I’ve used. These drives get another copy of all our files and they are protected by BitLocker. When I worked in the office I would keep them in my desk at work. I wouldn’t pay to add this layer of protection, but it gives me something to do with the drives that are retired from the file server.

As I mentioned at the beginning, you don’t have to get this fancy to protect your data, but you do need to make sure you’re protecting your data. When (not if) one of your hard drives fail, you don’t want to be bummed that you’ve lost things you can never get back.

Disclosure: I don’t work on the Windows team, but I do work at Microsoft.

Energy Sources

When power plants churn out electricity, it gets integrated by a “balancing authority”. There are a few dozen groups that handle this in the west.

I recently found a site that shows live stats from the Bonneville Power Authority Balancing Authority. On the map, this is represented by the medium blue that covers much of Washington, Oregon, northern Idaho, and western Montana. Every five minutes, the site is updated to show where the power came from those previous five minutes along with the demand level. (Note that VER stands for Variable Energy Resource which means wind, solar, etc. In this case it’s mostly wind.)

So the last five minutes of power were 75% hydro, 9% fossil fuel, 9% nuclear and 6% wind, but for the last couple days, wind was actually producing more of the power than nuclear.

The power at my house comes through PSE so this isn’t exactly applicable to me, but I still find this fascinating. If anyone knows how to find similar data for PSE I’d love to see it! Thanks to Cliff Mass’s excellent weather blog for setting me off on this side track with his post about why energy production declines during heat waves.

Microsoft 365 Family Email

I’ve owned the studio711.com domain for a long time. For most of the time it has been registered with GoDaddy and with one of their email offers, I was able to send and receive email from any address that ended with “@studio711.com”. I got in the habit of creating a unique email address for every site because I could see who was selling my info and/or easily block any use of my address.

That was handy and worked fine for years, but it turns out that running a mail server like that also creates a popular place for spammers. Other mail providers would end up blocking various GoDaddy mail servers periodically and I would get emails returned to me (sometimes after 8-12 hours.) It was mostly a background annoyance but finally I decided to do something about it.

A lot of people have the Microsoft 365 Family subscription these days. The main thing it provides is a bunch of installs of Microsoft office on various computers and the subscription can be shared with five members of your household. Reading the list of things that come with the subscription, I found out that you can get custom email hosting if your domain is hosted on GoDaddy.

If you’re not attempting to do the same change, then this post probably won’t be super interesting to you, but do know that if you have that subscription, then you could have your own custom email address for the cost of a domain registration at GoDaddy ($20/year.)

The catch for me was that I would only be able to make one email address per account that the subscription was shared with. I spent many evenings going through my LastPass vault looking for random email addresses and converting them to a common account.

Making the change was nerve-wracking because if I had missed any random email addresses, I’d be oblivious to any failed messages sent to them. But after checking and double checking, I pulled the trigger… and immediately hit a failure. While GoDaddy does host my domain, I use CloudFlare for the nameservers because they give me some additional features and make it easier to do SSL on my website. I resolved this by temporarily switching my nameservers back to GoDaddy and doing the Outlook onboarding steps. I looked at what DNS changes Outlook made on GoDaddy and then switched back to CloudFlare and added those DNS entries back in. Thankfully, that worked!

The next hiccup was that I couldn’t create the specific aliases that I wanted. I’d hit the button to verify, and it would just fail silently with no error message. I finally realized that I had previously set up those email addresses as “send from” aliases. Once I removed them, I was able to create the email aliases. I set up a couple new Microsoft accounts, shared my Microsoft 365 subscription with them, and created the remaining email aliases that I need.

So now I should be fully transferred over to having my email hosted on Outlook.com and if I need to switch email providers again in the future, it will be a lot easier because I won’t have ~600 different email addresses to unify first!

Free Kusto Cluster

I’ve written before about the Kusto big data tool (aka Azure Data Explorer or ADX.) If your Azure budget was tightly restricted, you might not have a good way to play around with it and get enough confidence to push for it with your management.

Now you can visit http://aka.ms/kustofree and create a cluster for free very quickly! It’s obviously not a full-blown cluster but you can do plenty of exploration (more info.) I’ve been using one for my own random home projects and it’s great!

The Kusto docs have a good guide for getting started with the language and there’s even a short introductory course available too. If you have access to Pluralsight courses, here are some good ones to check out:

Keep calm and Kusto on!

Disclosure: I work for Microsoft.

Save 13% On Groceries

Maybe I take grocery bills too seriously, but in 2021 I have cut our bill by 13%. That does not include any savings from having a club card, buying store brand items, or catching the right sales. Here’s how I approach it:

  1. Track your spending! You can’t improve what you can’t measure. You can do it with an online tool, your credit card statements, or just by typing receipts into Excel.
  2. Safeway has a program called “Safeway For U”. You can clip coupons to your club card from their website and save extra money. Usually these deals save money directly but sometimes they can also give huge numbers of rewards points.
  3. Be smart about which credit card you use. Our American Express Blue Cash card gives us 5% back on grocery store purchases with no annual fees.
  4. For every $100 we spend at Safeway, we get 1 “reward”. Careful use of those rewards can save a lot of money. At a minimum you should be striving to get $1 back from every reward but with a bit of planning, you can get closer to $2 per reward. (Remember that rewards expire at the end of the next month. You can use the website to see how many you have expiring.)
    1. My first choice is to use the rewards to fill up with gas. 10 rewards means $1 off of gas and I can get 20 gallons in the truck so there’s my $2/reward goal.
    2. The Safeway For U website lets you use rewards to get free stuff in store too. This is a bit like playing the Price is Right because you need to watch for the deals that are close to the $2/reward target.
    3. If I’ve burned through #1 and #2 and my rewards are about to expire, I’ll use the 7 rewards for $10 off coupon.
  5. The final trick that we use is to watch for gift card deals. Especially around holidays, they will sometimes off 4 points per $1 spent on gift cards. So if I buy a $100 Safeway gift card, that translates into 400 points which is 4 rewards which is $8. Plus I’ll get 5% back on my credit card and there’s my 13% back! Honestly I don’t do this one quite as much though because I really dislike having gift cards sitting around. So if I do this, I’ll usually walk into the store, buy the gift card, then do my grocery shopping and immediately use the gift card.

Cheap? Frugal? Thrifty? Miserly? However this strikes you, I think the biggest draw for me is turning a chore into a game. It doesn’t take much extra time and I can calculate my “score” at the end of the year. It’s the same reason why I always try to sort my list into order that I walk through the aisles at the store: it keeps me entertained.

Adjust Web Cam Settings In Any App

Working from home means that I regularly have calls on Zoom, Teams, and GoToMeeting from a variety of web cams. Some apps and cameras are better video settings than others, but thankfully I found some instructions about how to get the camera properties app to show up even when I’m in a call no matter what app I’m using. This is a bit on the geeky side so consider yourself warned.

  1. Install ffmpeg.
  2. Open a command prompt to the folder with ffmpeg and run this to figure out the name of your camera:
    ffmpeg -list_devices true -f dshow -i dummy -hide_banner
  3. Create a desktop shortcut with “Start In” set to the folder where ffmpeg lives and “Target” set to the following but be sure to change the file path as necessary and adjust the name of your video camera.
    “C:\Program Files\ffmpeg\bin\ffmpeg.exe” -f dshow -show_video_device_dialog true -i video=”USB Live camera”

Now when you execute the shortcut, you should get this screen: