Monday, July 14, 2025

BeyondPod Migration despite BeyondPod being gone.

Some of you - like me - have probably relied on BeyondPod for years to get your daily dose of podcasts. It was, and arguably still is, one of the best podcast managers out there -  or I’m just too used to it to change my podcast player.

However, it has need not updated or maintained for quite a while. And when I just finished setting up my new device (OnePlus 13), I was quite surprised not to find it installed after all (almost all) other apps went through.

Quick check to verify: Indeed, no longer available in the play store


So, side loading from the old phone it is then.


I'm going to walk you through a simple, effective method to clone your existing BeyondPod installation from one Android device to another, ensuring you don't lose your meticulously curated podcast library and settings. We'll be leveraging the power of Google Files (or a similar file manager) to make this happen.


What you'll need:

  • Your old Android device with BeyondPod installed.
  • Your new Android device - duh.
  • Google Files installed on both of them.


But first:

Backup BeyondPod's Settings and Subscriptions using BeyondPod itself on the old device (not going to walk you through). And then move the backup file to a location that you can access from the new phone (or quick-share it over).


Find the APK files:

Open Google Files (or your preferred file manager, but I absolutely recommend Google Files here).

There go to the Apps category



There, find BeyondPod and BeyondPod Unlock Key entries.

Best sort the list by app name, before you scroll through the whole list... so both will be next to each other and rather at the begin of the list, them starting with "B".


Now lets transfer the Files to Your New Device:

Open Google Files on your old device. Navigate to where you saved:

  • The "BeyondPod.bak" backup file.
  • The "BeyondPod.apk" file.
  • The "BeyondPod Unlock Key.apk" file (if applicable).

You can select these files and use the "Share" option within Google Files. The easiest way to transfer them to your new device is often via "Share Nearby" or QuickShare (if both devices are close and have it enabled), or by uploading them to a cloud service like Google Drive, Dropbox, or even emailing them to yourself.


Once transferred, download these three files to your new device, preferably into your "Downloads" folder for easy access.


Prepare Your New Device for Installation:

On your new device, before installing anything, you'll need to allow installations from unknown sources. This setting's exact location can vary slightly between Android versions, but it's usually found under "Settings" > "Apps & notifications" > "Special app access" > "Install unknown apps" (or similar).  Or just open "Settings" and search for “Installation Sources”

You'll need to grant permission to the file manager app (like Google Files) that you'll use to open the APKs.

If you omit this step, Android might ask you during installation later. But if installation does not work then, go back to this step and make sure app installation is allowed from your file manager.


Install BeyondPod on Your New Device:

Using Google Files on your new device, navigate to the "Downloads" folder (or wherever you saved the transferred files).

  • First, tap on the “BeyondPod.apk” file and select "Install." You might get a warning about installing from an unknown source; confirm that you want to proceed.
  • Next, if you have a separate "BeyondPod Unlock Key.apk”, install that one as well.


And finally restore BeyondPod’ settings:

Open BeyondPod on your new device. It might start with no feeds, and that's perfectly fine. Now, go to "Settings" > "Backup and Restore" > "Restore". Browse to the location where you saved the BeyondPod ".bak" file (e.g., your "Downloads" folder) and select the latest backup. BeyondPod will import your subscriptions and settings.


And that’s it.


Sunday, May 25, 2025

Pocket is Dead - Long live Instapaper

 Another of my favorite tools / apps is going... now it hit Pocket.

I've written about it on this blog a bit. And quite a while ago.
Well, it was a work-horse for me for years... And now I was forced to look for an alternative.

Well, that didn't take a lot of time... Just picked Instapaper which I was eyeing back in the days already 
Data export from Pocket and import into Instapaper (via .zip file on the PC) was straightforward and easy.
Apps for Android & iOS are here and quite similar, and there are browser extensions for one-click adding/saving articles.
Looking good so far.
 
And it got integration into IFTTT, which i was using a lot with pocket, just to autosave some articles into my reading queue... Seems to work equally well now.






Sunday, May 11, 2025

Set fixed IP on LibreElec on RaspBerry

Well, go to settings ... duuuh.

Yeah, alright, but what if I have to run headless, i.e. not have a monitor or TV attached.

So as long as you can ssh into it (i.e. you know the current IP address) you can do

connmanctl config "$(connmanctl services | awk '/^\*/ {print $3}')" --ipv4 manual 10.0.0.22 255.0.0.0 10.0.0.1

The "inner" connmanctl finds the service name for the active IP connection, the "outer" one changes it to the new IP

Sunday, June 09, 2024

Select URLs in PuTTY

It annoyed me for ages that you cannot just double-click on an URL in Putty to open that URL in your browser. Even selecting an URL for copy/paste is cumbersome.

Yesterday I found the next best thing: Select URLs in PuTTY

In essence you tell putty which characters form "words" and which are stop-characters. More here.

So on the "Window > Selection > Copy" tab, if you add :?= and some other URL characters to class 2, can at least can double click on an URL to select the full URL.


Don't forget to save those settings to your configuration(s).


Friday, December 29, 2023

Jackson vs. Android package optimization

 For some weird reason (including a 20MB text file to be precise) I wanted to turn on 

shrinkResources true
minifyEnabled true

in my Android app.
I did the compression alright, but the app stopped working.
I got weird Exceptions like 
Cannot construct instance of `g1.k` (no Creators, like default ...)

Well that pointed me to obfuscation, because I definitely don't have classes and members like that.

Jackson relies on reflection to find your class properties and getter/setter functions, so you should not obfuscate them. Duuuh.

They way to turn that off is in the proguard-rules.pro file.

-keepattributes *Annotation*,EnclosingMethod,Signature
-keepnames class com.fasterxml.jackson.** { *; }
-dontwarn com.fasterxml.jackson.databind.**
-keep public class at.roman.traininfo.data.** {
*;
}

The last part keeps the whole package where all my entity classes are.


Sunday, April 16, 2023

NULL values again

Today I learned that you essentially cannot concatenate (concat, ||) nullable columns properly in DB2/SQL.

To be honest, I should have know this of course.

I have a table that records money spent, with a date, text, account and a physical location, e.g. a town, district, ... indicating where the money was spent.

It is nullable because not all transactions need to have a place recorded.

For some statistical analysis I wanted to create one column with text and account and the location simply concatenated into one, like account||' '||text||' '||location.

Turns out, then the location is NULL the whole string will turn NULL

Which reminded me - painfully, after about 30min - that NULL is not a value. You cannot do anything with NULL.

So you have to cast it away to a default value, e.g. with coalesce(location,'dummylocation').


Sigh.

Wednesday, December 28, 2022

OxygenOS 13 missing per-app language

A couple of weeks ago I got the Android 13 / OxygenOS 13 update for my OnePlus 9, looking forward to the per-app language feature from Android 13.

Reason for that is, that I just like to run my devixes in English, but some local (i.e. Austrian or German) apps just have terrible translations, or I am just not in an "English context", i.e. when Banking or doing my taxes.

Some apps of course can set the language within the app, but some just take the system settings.

Android 13 allows to override this (with a tiny little help of the app, it only has to declare in the manifest which languages it actually has translations for).

But it appears OxygenOS13 failed to implement exactly that feature.


Bummer.