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
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
Development

PowerShell, SharePoint, & MS Access – Oh My!

I’ve been getting into PowerShell scripting a lot at one my clients and I encountered a pretty unique situation that I spent days trying to find the answer to.  I figure I would post a quick note about it and see if I could save someone else some time.

PS-SP-Access

The setup:

One of the tasks I have at this client is to put together a weekly Status Report MS Word document for management.  Although I try to keep the information brief, we are running about 7-8 pages in length (we have a lot of  plates spinning at the same time.)  I have to follow up with a dozen people to get their updates.  Although I’ve tried to get them to submit their information in a standardize format, etc, the information comes in wildly different formats, completeness, or lacks context, etc.  The entire process can take a few hours to pull together – depending on the editing required.  I thought that a better use of time was to come up with a SharePoint solution that would allow everyone to contribute their portion of the status report and have an automated weekly report generated automatically for management.

The Issue:

After setting up my SharePoint site/list, creating the MS Access database, and connecting it to said list, automating MS Access from PowerShell as a scheduled task on a server proved to be quite challenging.  There were a number of error messages and access issues that needed to be addressed before everything worked.

Categories
Development

Latest Challenge: SharePoint, jQuery, and Web Services

Back again!

I don’t write as often as I should and with the new year coming up, I’m hoping to change that (again!)

In keeping with what I’ve been blogging about in the past, I decided to write about my latest challenge/adventure. The last few years I’ve been concentrating on Project Management and not really writing a lot of code.  However, PM’ing at my latest client has given me tons of programming opportunities if I want to pitch in and help.  Lots of PowerShell, Exchange, and Active Directory stuff (with some sprinkling of other types of stuff like SharePoint and faxing, etc.)  My latest challenge is creating a dashboard of the data we’ve collected on the Exchange mailboxes.