Categories
Development General Tech

Calibre-Web and Audiobooks

I’ve been investing a lot of time into learning python and trying to contribute to the calibre-web project.  The calibre-web project  is another web solution for the ever popular Calibre e-book management software.  It has a very clean, Bootstrap-based interface and comes a ton of features that you can’t find, or isn’t as mature in other offerings.

Here’s a screenshot that is used on the readme.md of the repo:

calibre-web
calibre-web interface

Go to the repo to get a list of all of the features.  I’ve been using the repo for well over a year as my website for my books.  I can’t recommend it enough!

Upcoming feature (hopefully): Audiobooks!

A contributor to the repo, Aaron Labiosa (aka modembug), had added a feature that allows for the hosting of audiobooks.  Modembug’s feature is scheduled to be in the v1.1 release. I help clean up some of the code, so I got to know the code a bit.

Audiobooks has become a one of my latest rabbit holes to run into.  I’ve started listening to audiobooks a little earlier this year again after being away from them for some time.  Due to a recent job change, I may have a long commute again and so I figure, why not look into some audiobooks to kill the time?

The issue I encountered was that it’s really hard to download an audiobook for the average user if they are not using iTunes or Amazon’s Audible.  If you have a collection of audiobooks disk from ripping them from cd or whatever,  you have to figure out how to get the file(s) from your computer to whatever audio device you’re using.  This can be incredibly painful process which may require physical access to your home machine.

Moembug’s feature allows you to store an audiobook that has been converted into a single file on the calibre-web application.  In addition to storage and hosting, the website will allow you to either listen to the audiobook via streaming or download the audiobook to your device.  This was the answer I was looking for!  I don’t have to be physically home to get to one of my audiobooks, nor would I have to preload my audiobooks to a cloud service in anticipation of listening to them.   Or at least I thought it was the complete solution.

The Problem

All of my devices are IOS devices.  Obviously, I would like the ability to download one of my audiobooks on the fly to my iPhone and listen to it with CarPlay.  If I attempt to stream an m4a version of the audiobook – everything will work.  However, it’ll eat away at my data plan.  However, if I attempt to download it, IOS will error out.  I assume it’s because of the sandboxing.

However, I did find a solution.  Basically use an IOS app that has a builtin browser to download the file.  Hopefully one that can play audiobooks, or at least transfer it to a location where you can use it.  Enter Documents by Readdle.  This app has it’s own browser and does play audiobooks!

On top of that, I found really great audiobook player called Bound.  Although Bound isn’t free ($3.99 USD), it’s worth every penny as it allows you to download your audiobook from a number of cloud sources and it’s a great audiobook player.

Now with the two apps and the new feature that is hopefully coming soon to calibre-web, I’ll be able to download and access my audiobooks while I’m away from the house, with only a minimal amount of jumping through hoops!

Hopefully the above will provide you with some thoughts on how to get audiobooks to your device without having to rely on iTunes or Amazon’s Audible.

-JT

Categories
Development Tech Tip

Docker Image Building – Lessons learned

(edited on 3/8/18 – typos/grammar)

My cps-WhatsNew script has a new permanent page on the blog site now. In addition, it has a new Docker image!  Check out the links and let me know what you think.

While the cps-WhatsNew script is relatively simple, I was thinking about how could I make it easier to implement the solution.  Docker was a clear choice.  As I’ve only been a consumer of Docker images, this “short” project was a very interesting foray into building my own image. Embarrassingly enough, it took much longer to complete than I had anticipated.

It took close to 3 full days of off and on effort and research to get everything put together and optimized.  The optimization part was the longest and I’m still not happy with the size of the docker image now that I’ve published everything.

Here are some hard-won lessons:

Categories
Tech Tip

AirPort Express and AT&T U-Verse Pace 5268AC

Very interesting bug I thought I’d document somewhere.  My current home ISP service is AT&T UVerse and I recently Pac 5268AChad it serviced because of some issues.  I ended getting a whole new router – the Pace 5268AC. This was very exciting because all of my other equipment is no faster the N speed — this router gives me wireless AC.  Woot!  Although the router is so much better than what I had, still had some issues with my AirPort Express.

I had setup two v1 AirPort Express devices to some powered speakers. One that I kept outside.  They stop working well over a year ago and I thought it was because of a bad connection to the older router.  Still had the bad connection issue after the new router. So it must be the AirPort Express.  So I figure time for another upgrade.  I jumped on eBay and picked up a used late model AirPort Expess.

It arrived in the mail today and I of course couldn’t wait to set it up.  This is where things get interesting.

If you use the Airport Utility application to configure the Airport Express, you will not be given the option to configure the AirPort Expressdevice as a wireless client on the existing wireless network.  You must first set it up in a new network.  Obviously it is much easier to configure the device if you plug in an Ethernet cable to the Airport Express.  Once the device is back up, you can then configure it to be a wireless client on the existing network.  So I basically named the device, entered my wireless name, etc.

Once the AirPort Express restarted – my computer and most of my network couldn’t not access the Internet.  Somehow, some way, the AirPort was seriously screwing up the routing on the network.  I could access anything that was on the LAN side by using IP addresses.  As I use an external DNS server for DNS, I couldn’t access anything by name.  I also couldn’t access the router’s LAN port to see what issue the router would be reporting.  

In order to get everything back online, I had to unplug theater net cable from the AirPort Express and break the connection between my router and the down stream switch the AirPort was plugged into.  Once I reconnected the switch, we were back online.  

Fortunately, the AirPort Express was still connected. I moved it outside and hooked it up to my speakers and it works like a champ!  It’s going to be a nice relaxing weekend with poolside music.

-JT

Categories
Development General Tech

PowerShell Logging Module

(Edited 11/30/15 – Completely forgot SqlChow’s contributions! Sorry!)

Wow – two blog posts in two days!  A record for me.  So today’s post I wanted to try something new.  I wanted to start sharing some of my code via a download over this WordPress CMS. Well, that’s not the only reason, I do like to share stuff so if this helps someone out, leave a comment, etc.

So the very first download I want to do was a very useful module that I hobbled together that I used in some of my automated PowerShell scripts — a logging module!

Categories
General Mac Tech

Corrupted BIOS on my Hackintosh

The scariest thing happen to me last night after a very long gaming session.  If you read this blog you know my daily driver is a Hackintosh.  I try not to upgrade or tweak it too much considering it’s my daily work machine.  Here’s what happened:

Earlier in the night, I had bounce the machine to reboot it into Windows 7 so that I could play some serious Battlefield 4. After about 6 hours or so (okay, maybe 8), I finally shut down for the night.  I always reboot back into the Mac side so that I don’t have to worry about rebooting in the morning, etc.  This time, when I rebooted, I heard my machine “clunk” twice.   Yes – “clunk” – not a simple click or beep.  Once the machine powered up the display, I got this error (image stolen from internet):

CorruptBios