Free Streaming and Downloads of Movies, TV, and Books

No, I haven’t been hacked. I found two nice services to download stuff for free, both powered by your library card. OK, technically you are “borrowing” stuff.

Hoopla let’s you borrow movies, TV shows, audio books, ebooks, etc. all for free. You get 15 borrows per month. If you’ve resorted to watching the dregs of Netflix, you need to check this out.

Kanopy is focused on movies. It gives you 9 borrows per month from their catalog. When you arrive on the site, you’ll notice that all the recommendations appear to come from undergrads plugging their friends’ films. However, I see a lot of gems. 50 films from the Criterion Collection alone, plus modern greats like Ex Machina and Lady Bird. Tons of world cinema. Like Hoopla, all free.

Shipt: An In-Depth Review

UPDATE 10/5/2020:

TL;DR – 3rd party grocery delivery services cost 50% more than delivery directly from the supermarket.

I ordered directly from the supermarket (Vons, $100 total) and compared it to the same order from Shipt. The store had:

  • Same number of delivery slots.
  • Much bigger selection.
  • Fewer items sold out, even though the order was double my usual.
    • Assume supermarket employees store filled the order from the stock room, not the shelves.
    • Store doesn’t sell you items it knows are sold out or that it doesn’t carry at that location.
    • This means way fewer substitutions, and the couple I got were good.
  • Fewer items missing/forgotten.
    • Personal shoppers are rushing to maximize hourly rate and it shows.
  • Big savings. Even with a $10 delivery fee, I saved over $50 vs Shipt and got rewards points on my card. Food markup plus a 15% tip (not required, but expected) adds 50% to your total price.


In most cases, doesn’t make sense to use Shipt/Instacart even with the flat yearly fee.


I recently solicited opinions on the shopping service Shipt but didn’t get much in response, so I thought I’d try them out. I was running out a few essentials (coffee is an essential) and since I don’t have a trustworthy face mask, I figured I’d try Shipt. It didn’t hurt that I walk to the grocery store and it’s raining.

Basic facts:

  • $99/year or $14/month
  • adds about 15% to most grocery store prices
  • a minimum order size of $35 (or a surcharge)
  • multiple addresses allowed
    • nationwide
    • save Mom a trip
  • you shop through their app or web site (except Target)
  • doesn’t use your rewards card/account (except Petco and Target)
    • no points, gas discount, etc.
    • no digital coupons
    • no mix and match, “$5 for 5,” etc.
  • Target is special
    • integrated into site, including search and checkout
    • charges you a $6 delivery fee on top of Shipt, so considerably more than the 5% surcharge until you hit $120
    • does credit you for the purchase (rewards work)
  • Many big chains supported. Enter ZIP code to learn which, since someplace you consider close, Shipt considers too far. List includes:
    • Costco
    • CVS
    • HEB
    • Kroger
    • Meijer
    • Office Depot/OfficeMax
    • Petco
    • Publix
    • Ralphs
    • Sur la Table
    • Target
    • Vons/Pavilions
    • Winn Dixie

Here’s the result of my experience.


  • I am still safe and healthy and now have coffee.
  • Cheaper than store delivery, even if you just use it monthly.
  • Saved ~45 minutes on a one-bag trip.
  • If it’s not available, shopper will send you a photo of a substitution for your approval.
  • Items dropped right at my door.
  • Friendly shopper.
  • I have not heard of Shipt shoppers walking off the job in protest.


  • Time slots are currently all taken.
    • You can only choose for today or tomorrow.
    • No booking a week out.
    • No notification when a slot opens up.
    • Yes, you literally have to keep hitting refresh to see if a slot was added/freed.
  • Got a 7-8PM delivery window for the next day, shopping didn’t start until 8:30PM.
    • I opted for possible early delivery, which gave me a 8AM-8PM window. Consider that a pro, even though it didn’t happen.
  • Many items are missing from their website, but you know the store carries it. Some stores have a lot more missing than others.
    • I now see that Ralphs seems to have integrated their inventory system, but not Von/Pavilions. I made the mistake of choosing Pavilions. Test things out yourself.
  • If it’s missing, you can make a special request. However, when I got my bill they charged me list price plus an extra dollar, when I know it was on sale. So an extra $3.50 for two items.
    • Adding insult to injury, one of the two was the wrong variety.
  • Substitutions were sometimes way off.
    • She could think of no substitution for sesame seed sandwich rolls (really?), so they were just not included.
    • Suggested buying a bottle of olive oil 3x larger. Luckily I corrected.
    • I approved an 8 oz bag of mozzarella of a different brand. Then she bought a huge 32 oz. bag of a different type. Why not the one she suggested?
    • Conspiracy theory: they are trying to make me fat(ter).
  • Online help/FAQ practically nonexistent.
  • Chat agents take literally 3 hours to respond.
    • They admit they are taking a week to respond to support emails.

Let’s be clear: in the scheme of things, it’s not a big deal. You send a family member out to get your groceries, probably just as bad. Especially if you send them out at the end of a long day in the middle of the apocalypse. I gave her a good rating and a big tip. But yeah, when this madness is over I expect them to do a lot better.

Would I do this again? Over doing it myself? In the middle of a pandemic? Of course! I will just make sure I start earlier and get a morning slot.

If you think this is worth it for you, you’ll save $10 (and I’ll get $10 credit) if you use my sign up link:

Stay safe!

What is the Mautic Plugin Published setting?

If you’ve installed Mautic and head over to plugins, you notice there is a setting called “Published” with choices Yes or No. Inexplicably, there is absolutely no documentation on this.

Published means enabled. Apparently, they thought it was obvious since the tab is called Enabled/Auth. But given that some of these plugins might publish something it’s a poorly chosen name since a new user might not be clear about it.

Java’s New Pricing

Java’s New Pricing

I recently attended a talk by Georges Saab, Java head honcho at Oracle. The following is an executive summary, simply explained so you can understand the changes and plan accordingly. If you use Java commercially, the odds of you reading this and saying, “We’re fine, don’t need to change anything,” without doing any checking, is very low.

I’ll add the same “safe harbor” statement Georges added: any planning/spending you do should not rely solely on this article – things can change, I might have misheard something, etc. Do your own research.


  • The JDK, or Java Development Kit, is a versioned specification. JDK 5, 6, … 11. There are also editions, such as Java SE, Java EE, etc.
  • For 5 through 9, major versions were released every 2-5 years. Updates (e.g. 8u20) came out about every 6 months. “Updating” means back-porting security, bug fixes, and possibly other improvements that are guaranteed to have no breaking changes.
  • The JDK specification has implementations, which are downloadable binaries. They come from various providers (companies, organizations, or individuals) and may be
    • under various open source or commercial licenses
    • free or paid
  • The most common one is Oracle JDK.
  • OpenJDK is a community project which provides the reference implementation of the JDK. 
  • It is a collaboration between several companies, but >90% of the contributions come from Oracle. 
  • Anyone can create their own build/distribution of OpenJDK and many do – including Oracle.
  • These builds can have code changes. For a while, Linux vendors replaced code that wasn’t GNU-compatible so it could legally be distributed with Linux, but is/was still called “OpenJDK.”

Today and the Future

  • Starting with JDK 10, a major version of Java will be released every 6 months. Far fewer changes, but still major versions, so not guaranteed to be backward-compatible. 
  • JDK 11 introduces the concept of long-term support (LTS) versions. These are the ones that are going to get updates after the next version is released. Example:
    • JDK 12 is released and bug security fixes are back-ported to 11.
    • JDK 13 is released and bug security fixes are back-ported to 11, but not 12.
  • The big news is that Oracle is going to stop updating Oracle JDK 8 for commercial use in January 2019 and personal (desktop) use in December 2020 unless you pay for support.
  • Oracle will only provide updates to the free version of Oracle JDK, and OpenJDK, while it is current (versions released in the last 6 months). Meaning as soon as JDK 12 is released – 6 months later – they will stop providing updates to Oracle JDK 11 unless you pay.

Let me clarify that with an example that shows you your options:

  • JDK (Java) 11 is released and you adopt the Oracle JDK in a commercial setting. You’re paying nothing as usual.
  • Six months later, JDK 12 is released, with fixes and new features.
  • Your options:
    1. Do nothing. Continue to use Oracle JDK 11 for free forever, legally. The license does not expire, it will just never be updated by Oracle.
      • Maybe you’re running on a closed/air-gapped system and there is nothing else you need.
    2. Upgrade to Oracle JDK 12. Still free and likely can run everything you built under 11 without issues.
    3. Switch to OpenJDK 11 from a provider other than Oracle, who is updating it.
    4. Switch to another commercial JDK.
    5. Pay Oracle for updates of 11. I was told the current price for this is $25/processor/month, with volume discounts, run on the honor system. I understand this is a significant discount from earlier pricing models.

It will be interesting to see how this plays out. I totally get that Oracle has a big staff of developers making Java better and they need to pay them. Giving the product away for free makes that more difficult.

On the other hand, many people have gotten used to paying nothing. A number of companies are already planning to provide updates for older versions, but we’ll see what kind of toll this puts on other contributors and who does what for free. Some have extensive Java experience and their own (often commercial) distributions: Red Hat, Azul Systems, IBM, etc. Those may be more cost effective for you. Maybe you’re already using one.

For the record, I have no problem with companies charging money for software development. Mine does and I’m very fond of the rent and coffee it pays for.

CIO/CTO Action Items

  1. Identify every system that is running Java in a commercial environment. This includes desktops.
    • Remove Java from systems that don’t need it.
  2. Identify where those distributions came from: Oracle, Red Hat, GNU, etc.
  3. Determine their update schedule. Be aware of when your Java versions will be out of date. Put it on your maintenance schedule or potentially get pwned. 
  4. Switch to JDKs that will be updated or plan for regular upgrades.
  5. Budget accordingly.

For further reading, Java Champions have created a document summarizing the changes in a bit more depth.

Hope you found that useful! Please comment with any corrections. 

Thanks to Marco Villalobos for pointing out some issues in the first version.

Using Your Phone Outside the US

A friend of mine was asking about using his phone outside the US while on a vacation. I’ve done this, but while on long stays abroad (several months). Still, I’d probably do this for short-term stays.

Google Voice
Before my first stay abroad in 2013, I ported my cell number to Google Voice. If you’re not familiar, it allows you to send/receive text messages, receive voicemails, with just an internet connection. When you get a call, it will ring all US numbers you specify and route it to whichever picks up first. So after I ported my cell number, I just got a new one and told GV to call it. And, it does all this for free!

This allowed me to send and receive text messages, and receive voicemail, anywhere in the world where I had internet/wifi. So someone could call and leave a message, then you just text them back that you’re on vacation. That covers most situations, but GV also allows you to make phone calls internationally for a fee, if you configure it with credit. I can’t speak to this as you’ll read in a minute.

However, Google Voice also rings all the phone numbers you control. One option is to have it call a friend, family, or answering service. But instead, I set it up to call a…

Skype Number
Skype allows you to purchase a regular phone number. You call that number and it will route to your Skype. As long as you have internet/wifi, you can talk to anyone who calls you. There is a fee for the number, but not a fee to receive calls.

Of course, you can load your Skype account with credit so you can to text or call phones. Right now, it’s 2.3 cents/minute or $3/month. I pay per minute since I use it so infrequently. GV saves me from Skype texting fees (a ridiculous 11.2 cents/text!), but I have called people from Skype before. I’ll add that if you need to call a business with a toll-free number (credit card company, insurance, etc.) then there is no charge to call from Skype. I’ve done this many times while abroad.

Of course, you can make free Skype-to-Skype calls and I have many friends and family in Skype, and if not, I can text them my Skype ID via GV or email them for free. There is one more option or twelve:

Facebook Messenger

You think of these as messaging (texting) apps, but did you know you can call people like it’s a phone? Even video calls, or just sending voicemails. All you need is the internet and it’s free.

Getting Internet

That’s how you talk to your friends, but how do you get internet abroad? Or even phone service?

Pocket WiFi
This is basically a wifi hotspot about half the size of your cell phone and it gets mobile data – typically LTE – from a local cell phone company. It’s rechargeable but should have enough juice to last you on your day trip. Many Airbnb places I rented offered one to guests. But if not, many places will rent them to you, possibly in the airport.

NOTE: If you are going to Japan, this is the only to get mobile data because they make it very hard to get SIM cards. They are trying to eliminate burner phones as too many senior citizens were getting scammed by people calling on burners claiming to be grandchildren requiring money.

SIM Card
I don’t go anywhere for less than a month, but honestly, I think this is a good way to go for shorter trips, too. For one, it eliminates the chance that roaming will kick in, although you should be able to go through your phone’s settings and turn that off. Also, prepaid mobile plans abroad are way cheaper than in the US. This will be about $20-25/month.

Before my trip, I ask on expat forums which mobile company has the fastest data for the city I’ll be living in. If you’ll be traveling around the country, ask who has the best service nationwide, because they are frequently different. One company will serve fast internet in the cities, another will be slower but have towers throughout the countryside (AKA the provinces, the villages, etc.).

If they have a shop or kiosk in the airport, I’ll buy a SIM card before I leave for my apartment/hotel and get a good data plan with basic voice. Otherwise, I ask a local for the main office in the city and travel there. It will have the most techs to deal with your phone issues and more people who speak English well.

Don’t forget your passport – it’s required for a SIM card.

VERY IMPORTANT! DO NOT LOSE YOUR ORIGINAL SIM CARD! Bring something like a waterproof key holder to keep it in. Yes, that’s way too big and bulky, and you’ll thank me when you don’t lose it. I’ve lost mine and it’s a pain to get a new one and port your number back.

Remeber, for a short trip, you might want to just bring your tablet or an old phone and put a SIM card in that. Then you don’t worry about losing your original SIM card. It’s now a bigger, bulkier pocket wifi.

I always buy a factory-unlocked phone and then use a prepaid plan, as this saves me money in the long run and avoids lock-in. Very important if you’re prone to leaving the country for months at a time.

In general, I’m looking for a phone with the most bands so it can be used anywhere. In 2012, before my big trip, that was a Samsung Galaxy Note 2 International Edition, which had the most bands but no LTE support. It’s also very big, which is great when you use it like a map while exploring the city.

Eventually, no LTE was a big disadvantage. On a Christmas sale in 2015, I purchased my current phone, a Nexus 6P. This gets me LTE in every country an has, I understand, every possible band there is. It’s like a Star Trek communicator. Again, factory unlocked, which really makes things go smoothly in the phone shop. The tech is used to people coming in with locked phones, so “factory unlocked direct from Google” is like “open sesame” for carrier tech support. It doesn’t hurt that it had the top rated low light camera at the time.

Given that good experience, I will probably upgrade to a Pixel XL when my 6P becomes unusable or there is a killer feature introduced. Right now, the only thing that amazes me about the Pixel 2 XL is how much they are asking for it – $750 vs. the $450 I paid for the 6P.  If you have a phone that works awesome globally, please comment!