Low Latency Baby Monitor

I wasn’t happy with the lag in most baby monitor apps out there in the Google Play store. I wanted something with less lag, so when my son moves around or wakes up, I can react more quickly.

Gamers know all about lag, and who better to turn to than to them. I settled on a Mumble server, which has since fallen out of favor due to the popularity of Discord.

Here’s a great guide I used to set up a Mumble server on my Raspberry Pi. I also set one up on Entware, but those packages are outdated.

Mumble is very secure and using the Opus audio codec provides ultra low latency communication.

The best Android mumble client I could find is called Mumla, and available via the 3rd party app store F-Droid. Clients also exist for multiple platforms including Windows, Linux, iOS and Android, and Web.

I set the “transmitter” (baby side) to “Continuous” mode and set the “receiver” (parent side) as “push to talk”, in case I want to talk back to the “transmitter”.

This system also makes a great ip based home intercom system.

To add further automation to this I also set it to auto reconnect, if it loses connection, and I schedule the WiFi to turn off and on at night to minimize EMF exposure at night and maximize battery life.

I also added a video streaming app in the form of an app called IPWebcam Pro (which you can password protect).

I still run both apps on a low end phone as the transmitter, and disable the audio portion of IPWebcam. I cannot achieve the same level of low latency audio that I can with a mumble server/client solution, even with Opus selected.

IPWebcam does have the lowest latency available for video that I’ve seen. Using flash tends to offer (I know, I know… I hate flash too) the absolute lowest latency on the video side.

How To Create A L2TP VPN Server

There are lots of guides on how to do this with OpenVPN, but I wanted to use the built in client in Android to achieve a stable L2TP connection. Works well on my Chromebook as well!

Here’s a great guide I found, specifically for the Raspberry PI, but should work on Debian based distros as well, if you omit the first part…

https://www.stewright.me/2018/07/create-a-raspberry-pi-vpn-server-using-l2tpipsec/

Learn Anything (Even Faster) With Variable Speed Playback And Text-To-Speech

I am a big fan of variable speed playback and fast text-to-speech and I use it everywhere.

I recommend using more than one sense when you need to retain new information, for example, reading and listening. Scientists believe that there are 3 main types of learning styles: auditory, visual, and kinesthetic. When you combine these different types, you can achieve better results.

After years of experimentation, I’ve found that you shouldn’t push it too far beyond 2.6x without losing comprehension unless you have a very slow talker. Foreign accents, unfamiliar subjects, and other variables also make a difference with comprehension at high speeds. I like to move in increments of 0.2x.

For Chrome or Firefox I recommend this extension to speed thing up…

For podcasts I use Pocket Casts, check out the options below…

Image result for pocket casts variable speed
Be Sure To Trim Silence As Well For Better Results


For Audiobooks, I use Listen Audiobook Player

For Text To Speech (Reading EPUBs aloud) I use an app called Reedy. Optionally you can invest in some good quality TTS voices in the Google Play Store and play with the playback speeds.

On my Chromebook I use this extension. It’s the best one I could find for TTS playback.

How To Record Audiobooks From For Free On Android (How To Hack Amazon Fire Tablets To Rip Audiobooks)

I listen to a lot of podcasts and audiobooks, and my local library is a great source of audiobooks, however I try to avoid having to rip CDs like it was 1999.

Here in the Broward Library system there’s a few apps through which you can listen to audiobooks (and other content): CloudLibrary (via Nova) Hoopla, Libby, and RBDigital.

I rip them via Syncios Audio Recorder which requires root and an older Android OS. Be sure to start the Audio Recorder app before you open then other apps otherwise recording will not work.

I then upload them to Google Drive, and sync them to another device I listen on. I can then listen (at my convenience) via Listen Audiobook Player. This is the best Audiobook app, as it supports equalizers and variable speed playback.

You will need a rooted device, and it has to support an older Android (4/5) for this method to work. I use a 2015 Fire Tablet from Amazon. You could probably use a newer version as well, as Fire OS is pretty outdated. Sometimes you can pick them up for as low as $30 new. XDA has good information on how to root these devices.

There are also some high quality TTS voices on the Fire 2015 from Ivona, a company Amazon bought a few years back that I couldn’t get to run on any other modern devices, another reason to use Fire tablets. If you pair this with a good TTS reader such as my favorite Reedy you can get some awesome results. Reedy is no longer available in the play store, but if you look around you can find it.

Reedy also supports RSVP, think about RVSP as technologically assisted speed reading. I prefer to read normally and use variable speed playback to enhance retention.

Before trying this method I tried a legacy Android emulator made by American Megatrends called Amiduos. This for some reason does not support Syncios Audio Recorder properly. Also, development stopped on this emulator, but if you need an Android emulator, it’s the best and fastest one, if you can find it.

How To Host A Static WordPress Site On GCP (Google Cloud)

I am using Google Cloud at work, so I wanted to start a website on there as well. Turns out it’s dirt cheap to host your website in a GCP bucket.

I looked at various static site generators to help me like Hugo, Pelican, and others. The reason being, so as to not have to worry about all the security aspects of hosting a WordPress site, with all the constant updates it requires. I was inspired by a chapter from Josh Kaufman’s The First 20 Hours: How to Learn Anything . . . Fast!. He writes about Jekyll, and Hugo is the logical one to choose should you go down that route.

I played around with quite a few of them and Hugo (Go) and Pelican (Python) are my favorites. Hugo is uber fast and efficient. They all support Markdown and I might end up going back to experiment some more with Hugo later on.

They were all interesting little experiments, but didn’t really meet my needs. I was already familiar with the concept on a self-hosted WordPress instance, however using WP2Static, I could accomplish the same thing, but with less effort to maintain, and it ticks the box of “one less thing to do”.

Using WordPress plugins to generate static web sites has some limitations. Here’s a great guide.

https://www.brianshim.com/webtricks/wordpress-static-site-generator/

Here’s my workflow:

I create an Ubuntu VM with WordOPs scripts. I then install gsutil to connect to my gcp bucket after I generate the site’s contents.

I then follow this guide to set up my GCP bucket so it matches the DNS for my domain…

Finally, I want to have CloudFlare manage my SSL and act as a CDN to add extra security and limit the traffic to my bucket further.

Now if I want to make a post, I have multiple levels of security. I would have to VPN into my network to connect to my WordPress VM. I can do this on my phone with the WordPress App. This isolates the wordpress portion.

I can then generate the static site from my vm and push it to my bucket, making it effectively a staging site, separating it from production. I can do the whole process securely from my phone with a SSH client.


Review: Using A LG G5 On Sprint BYOD Unlimited Free Plan

So last March I saw this great post on Slickdeals about the Sprint BYOD unlimited free plan. It’s not free, but close to it (only taxes need to be paid which works out to be under $4 a month per line). I signed up for it and grabbed a used LG G5 from eBay for around fifty bucks.

The reason I chose this phone is that it has decent specs being a former flagship phone, and great cameras. I also don’t need the marketing hype of the latest and greatest.

The upsides of this phone…

It’s dirt cheap
Great cameras
Support for GCAM (i.e. Google Camera)
Removable battery
Supports powerbear cases
Supports NFC and Google Pay

The downsides of this phone…

Stuck on Sprint
Tons of Sprint bloatware (easily disabled)
Crappy OEM battery (2800 mAh)
No new OEM batteries available
It’s not rootable
It’s used
No Android updates anymore (Android 7)

But hey for fifty bucks, what do you expect?

So what did I do to make this phone better?

  • For starters I disabled all that bloatware.
  • I don’t install too many apps.
  • I use Blokada to block ads (no need to root it)
  • I use the Google camera app. (I am super grateful to the developers who hacked it to work on this device)
  • I use the twilight app for blue light filtering.
  • I disable features that I don’t use, even Google ones, such as Google Assistant and replace them with Google Go.
  • Paired it with a power bear battery (and power bear case) and that solves the crappy battery issue. The downside being that it is a brick now.

That’s pretty much it. Oh there is one Sprint app where you might want to add is the My Sprint Rewards app. Occasionally you get some pretty good stuff from there, like free gifts cards.