SmartThings Home & Away

27 November 2023

I have Samsung SmartThings automatically setting the thermostat and turning things on and off for me based on the location of my phone (and me).

Of course, it stopped working, so I needed to debug. All the other things connected to the hub were working fine.

Things That Didn’t Fix It

  • Restart my phone

  • Wipe the SmartThings app data on my phone and login again

  • Restart the SmartThings Hub

  • Check app permissions on the phone: no optimization, fine location access always on.

The Fix

  1. Open SmartThings app on the phone

  2. Menu

  3. Settings Cog

  4. Get your location from this phone

  5. Turn it off, then back on

  6. Visit my 2 location-based triggers and re-add myself as a member.

  7. Fixed!


Digital Archeology

04 February 2023

Floppies

Nostalgia for Old Code

I’ve been coding for a very long time, so I’ve had lots of projects in various languages, on various platforms, and stored very differently.

I got nostalgic on and off over the past couple years and went digging around to recover the source for some of those old projects. I uploaded the more notable projects to my GitHub account.

Old Floppies

I spent money to buy a 3.5-inch USB floppy drive and an old 386 PC with a 5.25-inch and 3.5-inch floppy drive, so I could ultimately copy files from really old 5.25-inch floppies that I used in the late 1980s and early 1990s to my live storage of today. Among those old files were binaries and source in GWBASIC and QuickBasic.

QuickBasic

I found one of the first games I wrote and sort of distributed, Gravity Blocks. I could play the compiled binary with DOSBox and read the main source file, but some of the source code for my common libraries is still locked up in a compressed format from QuickBasic 4.5. I may need to dig deeper into QB64, a clone of QuickBasic 4.5 that seems to be able to read, run, and compile those old compressed files.

GWBASIC

I also found source code for the first software I wrote for the local fire company to help track statistics on calls and print reports to submit to the local municipalities we served.

It was written in GWBASIC, so I was able to decode the compressed source where needed to read it. I published my CALL-REP source, so I could go back and have a look at the simple, but useful, things I used to write as a kid.

Copies of Old Servers and Subversion

I continued to build stuff through college (and obviously beyond). Some of it was in C, PERL, and Java.

I recovered these bits of source code laying around in backups and copies of old Linux servers I’ve run over the years. This source was in old Subversion repositories that used old versions of Berkeley DB. Initially, This BDB version mismatch kept svn checkout from working, but the current Subversion tools have an svnadmin recover command that could fix the repository for normal reading today. I’m sure some of those old SVN repositories had previously been migrated from CVS.

Java

I found the source code from my final project in the Java class in my last year of college in 2000.

Pop-a-Prof is a clone of my favorite puzzle game, Bust-a-Move. It’s a Java Applet that ran in Netscape allowing any number of players, and it coordinated everyone’s play with a shared public server, Each round lasted 5 minutes, and any time you topped-out, you’d lose some points, and start over, so no one needed to sit around watching the last people battle it out.

After school, I started on Pop-a-Prof 2. This one ran as a plain Java application, and implemented rebounding balls in the game. It was more of a proof-of-concept for the new game mechanics, and it never got network play.

Java ME

I liked running little bits of code, like applets did, so I continued into writing Java ME (J2ME) for my feature phones around 2005.

I did a gas-logging app that stored fuel-ups and drew graphs to show fuel economy.

I also wrote a quick little game called Ben’s Backhoe to give the kids a little something to do on my phone. By the time I was building this sort of thing, though, I’m a decent Java programmer, so it’s not the fun mess that we see in the other old project.

Still More

I spent most the day poking around at various old BASIC files and trying to tweak them a bit to run in PCBasic or QB64. I used lots of weird graphics modes from the Tandy 1000 and didn’t think much about portability. I may post more projects over time.


Podcast List for November 2022

03 November 2022

I have 73 feeds I currently follow. I have a whole system of prioritization, so I can listen to important things first. I’ve listed them alphabetically here:


Podcast Addict

24 August 2022

I’ve used BeyondPod for over 10 years, since my first Android phone, to download, organize, and play podcasts. For at least the past 4 years, maintenance and updates to the application have slowed to a crawl. I had paid a one-time fee for the application, so I guess I couldn’t think they owed me updates forever.

I would try to find a replacement every once in a while, but the other podcatchers always lacked some feature upon which I relied. Even Podcast Addict fell short the last time I tried it about 4 years ago, but it’s been getting lots of updates.

BeyondPod: The Good Parts That Kept Me Coming Back

  • SmartPlay allowed me to organize my 74 podcast feeds into 3 or 4 tiers. This allowed me to ensure the quick, timely podcasts were played first before the longer podcasts that could wait for days or weeks. I even managed to create one tier that played chronologically, which is opposite of all my other podcasts.

  • For each podcast, I could boost the volume, adjust speed, and have it only keep the latest so many episodes.

  • It had a button to skip the rest of a podcast to quickly get to the next one.

Downsides of BeyondPod

  • It liked to just stop playing and crash occasionally.

  • It was increasingly abandoned and unmaintained, so I didn’t trust it would continue to work when Android 13 hit my phone.

  • I could export my OPML file, but it went to a private filesystem that can no longer be accessed by file managers in newer versions of Android.

  • BeyondPod never updated to use the standard media controls and kept its old notification-based player.

  • There was a race-condition bug when skipping forward through the end of an episode: it would skip way into the next episode.

  • The catalog of podcasts has stopped working, so I could only add podcasts by URL, which is fine, but less convenient.

Enter Podcast Addict

  • Podcast Addict can play at even faster speeds, though I’ve not taken advantage of these speeds: I’m still listening at 2-3x speeds.

  • For each podcast feed, I can set custom volume boost, speed, and auto cleanup by age or count of episodes.

  • When an episode is finished, it automatically moves it to a Recycle Bin or 24 hours, so I can go find it again if I want to refer to it again, or completed it by accident. In BeyondPod, I had to "delete played" occasionally for myself to give myself time to review and recover what’s been played.

  • I can assign a numeric priority to the podcasts and sort by it, so I can easily ensure my favorite podcasts play before others when they’re available just like BeyondPod’s SmartPlay, but even more conveniently.

  • "Smart Priorities" automatically increments a podcasts priority when I manually click an episode to play before others. In practice, this moved things around more than I wanted, so I disabled it and fine-tuned the priorities by hand as I saw them slightly out of order.

  • I can see artwork for each episode. I didn’t even know there was per-episode artwork.

  • I also never knew chapters were a thing in podcasts. Now I can see chapters for the couple podcasts that provide them.

  • Skip silence works well, but it’s super-weird for story podcasts, since it eliminates all hints of punctation.

  • These latest features are working really well, so I’m excited everytime I get to see the software in action. I expect to see even more features showing up in the frequent releases of Podcast Addict.

  • There’s a Getting Started guide which intuitively walked me through the things I’d likely want to configure, and I immediately recognized all the features I wanted. I was confident Podcast Addict would work for me, so I set it up completely, and signed up to pay the annual subscription fee to help make sure they keep updating it.

I made the transition, and I love Podcast Addict. Listening to podcasts is easily my #1 pastime, so it’s important that I found the perfect software.

Updates

  • 2022-09-23: Player→Settings→Controls→Skip Outro=95% let’s me hit the forward skip button in the last 5% of a podcast and finishes the whole episode instead of skipping only 20 seconds as it usually would. This saves a couple taps to get past the last bit of credits or closing music.


All the Posts

November 2023

February 2023

November 2022

August 2022

January 2022

October 2020

August 2020

April 2020

March 2020

September 2019

June 2016