Studio711.com – Ben Martens

Geek

Winning The DuoLingo Diamond League

For the last seven months, I’ve been taking Spanish lessons every single day via the DuoLingo app. I feel like I’d struggle to communicate at a 2-year-old level, but progress is progress and it’s a better way to spend time on my phone than playing games or reading the news. This isn’t an ad, but if you are interested in trying it out, the app is free or you can pay to get rid of ads and support their cause.

The app is, obviously, centered around progressing through lessons, but along the way, you collect points and achievements. There’s one achievement for getting first place in the diamond league which is the highest league in the app. Other than getting the achievement, there’s literally no value in doing this. But I have a completionist itch that needed to be scratched so here’s how I did it…

I hung around in the league for weeks until I finally saw a week where it didn’t look like anyone was running away with the game. Then I pounced and did about 600 points in one day. A normal day for me is 100 which is enough to stay comfortably in the diamond league so it’s more than most people do but far from enough to win the league. Two other people had the same idea so I continued to put in 800-1000 points per day until finally they both gave up and my final day was pretty slow. The league finishes around UTC midnight on Sunday and I won with about 4200 points.

Here’s what I learned along the way:

  • I think I probably could have done it with fewer points if I had gone hard straight from the beginning. Go in with guns blazing looking like you have a few screws loose and people are less likely to want to play with you.
  • I timed myself on various parts of the app to figure out where I could make the most points per minute.
  • In general, the stories are great ways to make points quickly. The highest value story I had unlocked was 28 points, and while the first run through took a while, after that I could do it while watching TV and not really paying attention. I could generate 17 points per minute with this approach.
  • Using the app, you can choose between regular practice and hard practice. Every day I would do the hard practice on all the easy lessons. That’s 20 points plus 5 for a perfect run through the lesson.
  • Missed words go into a separate challenge bucket and are worth two points per word. I would purposely miss all 20 questions on the easy lesson, get the 25 points for doing the lesson correctly and then get an extra 40 points for doing the words in the missed queue. None of that is more productive than doing the 28 point story over and over again but it was close and it was less mind-numbing. I could generate 15 points per minute with this approach.
  • The DuoLingo Fandom wiki explains the leagues in details, but basically each room of the league is filled up with 30 participants based on when they record their first points after the start of the week. You could try to game that a little by waiting a while until less avid users are logging points, but I didn’t. In some games, leagues like this look different for everyone so you’re not actually competing head to head. That doesn’t seem to be the case with DuoLingo. Everyone else in the league sees the same participant list that you do.

The week finally ended and I won. I learned almost nothing about Spanish during the week and the whole thing was ridiculous, except now my achievements list is closer to being all gold. And that’s probably only marginally better than ridiculous.

It was an interesting experience and now I can stop thinking about when I might try it, but I’m glad it’s over so I can get back to actually attempting to learn Spanish. All week long, I kept hearing Drew Carey saying: “Welcome to ‘Whose Line Is It Anyway?’ the show where everything’s made up and the points don’t matter.”

Switching To GoDaddy Hosting

Way back in 2002, I started hosting this website from my apartment officially as studio711.com (though it has existed in previous incarnations since 1996.) It worked fine but eventually I got tired of dealing with running a local server and moved to GoDaddy. That worked ok until I switched jobs and had free access to an Azure subscription for learning purposes. This website was the perfect opportunity to learn and explore Azure. I not only had this site running but a bunch of other small projects.

I wasn’t paying attention and things changed and my free Azure subscription ran out abruptly. Running just a WordPress account on Azure isn’t the cheapest way to go so I made the decision to move back to GoDaddy. Thankfully I had a script running locally that backed up my MySQL database and WordPress files every night so sending that all the to the new host was pretty straightforward. I even stepped things up a bit by adding an SSL certificate to my new site so now you’ll see “https” before all of my URLs. It’s a bit painful being confined to the GoDaddy environment compared to the freedom of Azure, but for my dinky little site, it makes more budget sense.

What does this mean for you? Other than the ~day of downtime over the weekend, you hopefully won’t notice any changes. The same boring content will be here for you to randomly peruse. In the unlikely event that you were using one of my other sites like my Stand Up desk monitoring website and the air quality tracker, those URLs are dead for now.

I don’t necessarily recommend GoDaddy but I was familiar with them and the price was right. I seriously considered BlueHost, but they don’t offer Windows hosting plans and I do want to be able to run some ASP.NET projects. GoDaddy had easy WordPress setup plus they will host an MSSQL database for some of my data collection projects. The price was good enough and I kind of new what I was getting into so I went for it. We’ll see if I switch when my contract is up.

I actually toyed with the idea of just shutting this all down. Sometimes I do these projects and they just continue to leave because they’ve always been a thing. But I realized that I really do enjoy having the searchable history of events in my life that I can easily reference and it’s nice to be able to share some things every once in a while. So for now, the site continues. Next year it will be 20 years old!

Online Church Services

For the last 65 weeks, I’ve been working with Pastor and our organists to put together online services for YouTube and Facebook. This past week, I finished up editing my final one, at least for now. Our pastor has taken a call to Colorado and while we call for a new pastor, we’ll have a vacancy pastor from Beautiful Savior in Everett. They already have an online worship option via Zoom so that means no more video editing for me! (Members, watch your email and our Facebook page for more info.)

There are so many things that went right with these online services.

  • On March 4, 2020, I had just finished a new PC build specifically intended to be a more powerful video editor. Less than THREE WEEKS LATER, we had our first online service. The timing of that was truly a blessing because not only was I doing all that video editing every week, but this became my main machine for working from home. The new PC, dual 4k monitors and standing desk were all March purchases and I’m so glad that I dove in and did them all.
  • As the lockdown started, I was just starting to learn Davinci Resolve. My first full service edited with Resolve was March 29 and it seemed to take forever. I had taken an online course via lynda.com which helped a lot, but I still spent a lot of time looking for very basic commands in a foreign interface. It was trial by fire and that first service took me 8-10 hours to complete. But producing a video every week was a great way to learn and by the end, I had it down to 3-4 hours.
  • Early on, I’d watch the video on Sunday morning with trepidation wondering if I had left any big mistakes in there, but as the videos started coming earlier in the week and I got better at editing, my family was able to watch the services on Saturday morning. I watched with a notebook handy to mark down anything that needed to be changed. My Saturday night sleep improved dramatically!
  • I had set up Backblaze for cloud backup of the church computers years ago, but we really got our value from that service. When we started these recordings, Pastor was trying to upload gigabytes of video to me from his home connection. Since that was mostly wifi based on laptops that would power down automatically, etc, it was unreliable. Then we hit on the idea of just putting the files onto the main church computer and letting Backblaze transfer them to the cloud for us. Our internet at church is very slow (about 1GB/hour upload) but it was reliable and that was the most important thing. Once it was uploaded, I could log onto Backblaze from home and download the specific files that I needed.

The final tally was ~150 videos! In addition to the main service videos, I also posted the children’s sermon and sermon separately. All three videos got uploaded to both Facebook and YouTube so I guess that’s more like 300 videos. In addition to the Sunday content, We had some midweek services and special videos as well like the group hymn. If you’re looking back through the list, I’ve unlisted some of the full services on our YouTube channel because I’m tired of fighting bad copyright claims on public domain music, but all of the sermons are still there and I’ll leave a few of the services as well.

I’m looking forward to having a bit of extra time in my schedule and being a participant in the online services, but I’m thankful for all of the skills I picked up along the way. Learning new things is fun but learning new things to enable others to worship during lockdown was even better!

Utility History

I like to collect data. It’s rarely interesting at a single point in time, but over the years, it can provide insights or show trends that I didn’t know existed.

For example, my irrigation controller is based on a Raspberry Pi. There’s a webpage for it and it has an API so I can download the actual runtime of each zone. I’ve measured the amount of water used for a minute in each zone (by watching my water meter) so I can get a rough estimate of how much water I’m using through the system overall. Some of the variability is due to the weather, but I’ve also been tweaking the algorithm to automatically adjust the watering schedules based on the forecast.

I have a similar logging system for my HVAC. I haven’t been successful in reducing these costs much as I think I had it pretty optimized to begin with.

So yes, this is geeky, but it’s also frugal. Two things that are super attractive, right?

Custom Address Bar Shortcuts

This one is a little geeky but stick with me. Have you noticed how sometimes when you type in the address bar, it changes the UI a little bit and then performs a search on whatever you typed? For example, if you start with “amazon” and a space, it says “Search amazon.com”. Did you know that you can customize this? This post assumes you’re using the new Microsoft Edge browser (it’s fantastic, highly recommended) or Chrome. Let’s use my website as an example.

  1. Search for the word “test” using the search box on the right side of this page. Notice how the resulting URL in the address bar is “https://www.studio711.com/?s=test”. Copy that URL.
  2. Click the three ellipses in the top right of the browser window and click Settings. In Edge, search for the “address bar and search” setting and then click “Manage search engines”. Chrome is similar but I think you can search directly for “Manage search engines”.
  3. On that page you can define your own search shortcut. So add a new one and call it studio711 and use that as the keyword too. For the URL, give it the URL that you copied from step 1 but replace “test” with “%s”. So you end up with “https://www.studio711.com/?s=%s”.
  4. Close out of the settings, click the address bar and type “studio711 hot dogs”. Press enter. Now you’ve just searched my website for posts about hot dogs.

You can do this for any website that has your search string in the URL. I use it for all kinds of stuff at work like looking up bug numbers or live site incidents. At home I use it for quickly looking up Bible verses. I have defined a search engine called “ehv” (for Evangelical Heritage Version) with a URL like this “https://www.biblegateway.com/passage/?version=EHV&search=%s”. I have another one for the NIV translation.

Once I learned about this, it took me a little while to grasp it’s power and also to remember to use it, but now I’m hooked!

Excess Deaths

On Monday I mentioned that I couldn’t find a good graph showing the increased number of deaths in 2020 (from any cause) in the US. This post is a quick update to say that I’ve found better data. This ourworldindata website shows the number of deaths per week and compares it to previous years. You can also choose other countries and read about where they get their data sources. Note that their data isn’t fresh enough to show a lot of impact from the current spike that we’re going through.

Reddit user sjaquemate took a few countries and made radial line graphs for various countries.

Yard Watering

My sprinkler controller is an Open Sprinkler model and I wrote a program which periodically pulls the logs off it and stores them in a database. I was checking out my yearly irrigation water usage and noticed that I’m generally getting better every year about keeping the yard alive with less water. Obviously this is heavily weather dependent, but generally our summers are exceedingly dry so the main variation is in the start and stop of the watering season.

The y-axis roughly equates to the number of gallons used but this is far from accurate. The year to year comparisons are completely valid though.

I have similar data showing my HVAC (furnace, AC and fan) usage over the years but I’ll save that for another time. I don’t want to pack too much excitement into a single post.

Azure Data Explorer Overview Talk

I’ve written about Azure Data Explorer (aka Kusto) before, and I realize that many of you aren’t geeks, but for those who have geek-ish tendencies, I want to share a great talk from our Israel team. (These are people that I met on my trip last February.) It’s a couple hours long, but if you watch the first 45 minutes, it will give you a great overview of the product and maybe help you understand why I’ve been so excited to work with it for the past years.

My job revolves around petabyte datasets and analyzing new data within minutes of it getting created at the source. This product was a game changer in what we were able to achieve and promise to our users. I realize that 45 minutes is a non-trivial chunk of time, but if you’re in the data space, I think you’ll find it valuable or at least intriguing.

Dronelink

One reason DJI sells the Mavic Mini for less than its other drones is that it doesn’t have as many autonomous features. However, they recently published an SDK do a number of 3rd party companies have added the Mavic Mini to the list of drones that can be controlled by their existing software. I ended up paying $20 for a hobbyist license to Dronelink. The price was low enough that it seemed like it was worth a try.

The main customer of the software seems to be companies who need to get aerial photos of buildings, bridges, etc but they don’t have a stable full of expert drone pilots who can quickly get the shot perfectly every time. With the software, the route planning can be done completely from a website and then executed via a phone app connected to the controller. You can also create simpler programs out in the field directly from the phone.

My old S7 was woefully underpowered and while it would run the software, the drone had barely taken off before it complained about the lag and refused to continue. My new Pixel 4a does a much better job but for a complex curving route where the gimble is constantly adjusting to keep pointed at a specific object, there are noticeable glitches. For simple routes, it seems to do a good job.

Here’s an example of a “trucking shot”. Imagine someone driving along in a truck with a camera pointed out the side. I didn’t make a perfectly straight path so you can see some points where it turns but overall, there isn’t stuttering to the movement.

Now here’s an image of a more complicated route followed by the video that resulted.

You can see the stuttering as my phone tries to chug through all the commands in real-time. I suspect that if I had one of the flagship phones, that stuttering would go away.

For $20, I’m still happy with this purchase. I want to try to plan out a route that is simple enough to capture smoothly and then run it every week or so and try to stitch it together into a timelapse after the construction is complete. I’m guessing I won’t be successful but I suspect I’ll learn a lot in the process.

Saving Money Is Cool

I’m very thankful that we added air conditioning to this house. This last Sunday it was in the mid-90s and we burned that sucker all day long. But I’m also a cheapskate at heart. I haven’t yet figured out exactly how much energy it consumes, but it’s far from free to run so I try to use it as little as possible. Here’s our basic strategy if it’s going to be warm:

  • Leave windows open the night before to cool the house down as much as possible.
  • In the morning, leave the windows open until it’s the same temperature inside as it is outside. Then close every window and close all of the blinds on the south side of the house. Turn on the AC.
  • In the evening, once the outside temp is the same as the inside temp, turn off the AC and open everything up to get free cooling from outside.
  • Run the house fan to keep the air circulating. Our vents pump more air downstairs than upstairs (they were designed for heating) so even just running the fan can cool it off upstairs.

We are PacNW wimps so we run the AC if it’s 80 or higher and we have it set to keep upstairs at 76 degrees. Our EcoBee thermostat supports multiple thermostats which is really handy in situations like this. It also has an API so I can connect to it and pull data off. I have logs of the indoor temp from each sensor along with the outdoor temp so I wrote a quick program that helps us remember when we should close the windows or open them back up. Now we get a text reminder when we need to make changes to the windows/blinds.

Here’s an example of what it looks like on a day that got up to 84 degrees. The night before, it got down to 59 degrees outside and inside it got down to 69. Around 10:30, the outside temperature got up to the same as the inside temp so we shut the windows, closed the blinds and turned on the AC. The house coasted until 5pm before the AC finally kicked on a few times until 8:30 when we shut it off and opened the windows.

Here’s a comparison to show how much of a difference this strategy can make: On Sunday, it got up to 96. By cooling the house down a lot the night before, the AC didn’t kick on until 2:35.

That night it stayed very warm so I never opened the windows until 6:30am when I got up. The house barely cooled off at all before I had to shut things up again. Monday only got up to 87 but the AC ran almost exactly the same* amount of time as the day before!

This works really well around here because even on hot days, we get a “marine push” that brings cool winds in the evenings. Another key is that we have low humidity so I only remember one or two days where we ran the AC more than normal because of high humidity.

* On Monday, I shut the AC off at 8:40pm. So to compare the two days, I took all of the AC usage up until 8:40pm on both days. Sunday’s usage was only 20 minutes less than Monday’s usage even though it was 10 degrees warmer.