Welcome to the Cellar

Don Dohler: Uncontained Imagination « Baltimore Filmmakers

Baltimore Filmmakers posted a nice article about my friend, the late Don Dohler. Here's the link:  Don Dohle r: Uncontained Imagination...

Tuesday, April 15, 2014

I Finally Solved the Battery Drain Problem on My Android Phone

It's no secret that some Android devices have issues with battery life--at least if you actually use them. I have a Galaxy S3, and in the last few months, I've had major drain in battery even when I'm not using the phone. A friend of mine chose to get a higher-capacity battery, but I wasn't too keen on the required larger case. Plus, I really wanted to see if I could find a way to manage the battery life. Below is some background from my quest to resolve this challenge. But you can skip to the good part if you just want the solution.


My phone does last through the day. It's usually at around 60% when I get home from work, and hits 45-50 % by around 10PM. So I have to charge every night. Okay. Fine. But here's the thing: I don't use it most of the day. I may make one or two short calls, a couple of texts, and check Facebook or Twitter a couple of times. That's not much, so I'd expect that the battery would trickle a few points between uses. But my phone drains a lot of battery while it's off.

So my quest began for better battery life. The first step was monitoring. I tried a few apps like Battery Mix, which does a pretty good job of showing usage, and has sister app to clear tasks. I also tried, and still use Auto Memory Manager. These apps help, but there was something else going on.

That's when I discovered the concept of wake locks. "What the hell is that?" you may ask, as I did. Basically, it's a trigger that wakes up your device and keeps it active for a period of time, whether the screen is on or not. Social networks and Google apps do this a lot, as do the apps installed by the phone makers. So I installed Wake Lock Detector. This is a great tool to help determine what's keeping your system awake. And with it I was able to find some key apps that were doing this. And again, this helped, but was not meeting my goal of not draining too much battery while I was not using the phone. Before I get to the final solution, I have one more helper that yet again helped and is another I still use: Greenify.

Greenify has a sort of a gentle brute-force way to close apps. Yeah, that doesn't make sense, but it fits in this case. Greenify closes apps by hacking an automated force close (called hibernating) on those you've selected as candidates. This tries to keep them from running when you don't need them. It's a cool idea, and it does work (it also shows which apps restart themselves, ah-hem, Google Drive and Twitter).  But it still didn't help me reach my goal. The app deserving the crown is Tasker!

The funny thing about Tasker is that while all the other apps propose to help with battery life, Tasker just controls stuff, but it does the best job of protecting your battery. Tasker can start apps, it can change setting, detect if you're plugged into power, are running your GPS, and just about anything else you can imagine.

It did take a while, but I finally found the sweet spot to contain the drain. I now get home from work with battery at about 77-80%, and it's still at about 70% at 10PM. Plus, it doesn't drain much over night.

The Solution: Tasker

My goal, as I said, was to make sure the phone didn't drain too much battery when I wasn't using it. To do that, I found you have to be able to turn off a few things that by default run constantly and set them to only run when you need them. I'm referring to autosync, mobile data, and wi-fi. These appear to be the biggest drain. Autosync, for instance runs constantly by default and can't be set to an interval. But you can do this with tasker. As for the data and wi-fi, you can control when they're on and off so you can use them when you need to, but have them off when you don't--all with Tasker profiles and tasks.

I won't get into how to use tasker here. There are plenty of good sites for that. But I will list out how I set up tasker to handle my battery usage:

Profile - Sync interval: This will turn on data/wifi, and autosync for 5 min (you can make it what you want) and then turn them back off. The interval for this can be set to whatever you want as well. I set for every hour.

The Task:
  • Mobile Data: On
  • Wi-fi: On
  • Autosync: On
  • Wait 5 min
  • If %SCREEN !=on (don't turn off data if screen is on)
    • Mobile Data: Off
    • Wi-fi: Off
  • EndIf
Profile - Screen Unlocked: When you turn on your screen and unlock it, turn on data/wi-fi.

The Task:
  • Mobile Data: On
  • Wi-fi: On

Profile - Screen Off: When the screen goes off, turn off data/wi-fi (sync interval will poll your services at the interval you set, so you don't need data when you're not using your phone).

The Task:
  • If %MYPOWERVAR=0 (not plugged in)
    • Mobile Data: Off
    • Wi-fi: Off
  • EndIf

Profile - Capture event of plugging into power: This allows you to keep data/wi-fi/autosync on when you're plugged in.

The Task: 
  • Set Variable: %MYPOWERVAR=1

Profile - Capture event of unplugging from power: Opposite of above.

The Task: 
  • Set Variable: %MYPOWERVAR=0

Of course, this is one method to address this. There are many other ways, I'm sure. And it can take some time to find what works for you. Good luck.

Saturday, April 5, 2014

Gooseberry and the Blender Cloud

I haven't written about Blender in a while, and this is the perfect time to talk about what's going on with my favorite open-source CG program. In fact, they're currently gearing up for the next open film code-named project Gooseberry. For those who don't know, the Blender foundation pushes development of its software by creating an open project, meaning a project released under the creative commons license, which allows anyone to reuse assets from the film in ways consistent with the specific license. The projects are usually funded in part by the foundation itself, and part by sponsors, but also with donations and pre-orders of the film. But in the words of every action movie cliche' "This time it's personal!" Well, not really, but it is different. The Gooseberry project is intended to be a feature-length animated film done by studios around the world in collaboration. This will require more money, and a place where shared assets, information, and probably a lot of other things will need to be housed.

Enter the Blender Cloud. This is a new service proposed to be a creative hub for not only the Gooseberry project, but future and community projects as well. It has a base infrastructure that contains all the previous open movies, including all assets and extras. It also houses all of the Blender Foundation's training DVDs, made available to members, and according to Ton Rosendaal, the founder and CEO of the foundation, will grow to allow others to house their personal and community projects in the future.

Not only that, but as usual, Blender will undergo major enhancements to it's asset management and VFX pipeline functionality. After all, they're recruiting diverse professional studios from around the world for this project, so Blender should scale to the challenge. I really like that.

All of these reasons led me to sign up for the cloud. And I think others interested in the capabilities I mentioned above should consider it, too. Yes, Blender is free. But for it to grow, it does needs support.

Now, don't think you have to jump right into the cloud, and pay $12 per month. There are other avenues of support as well, many don't require any cash unless they reach their goal. But even $1 donation can help.

For more information head over to the main page of the Gooseberry project, and the FAQ. And don't forget to check out Blender itself. If you haven't seen it for a while, you will be surprised.

New Town, Same Story

I just finished migrating from a self-hosted Wordpress site to Blogger. Apparently Wordpress expects you to pay for a custom domain while Blogger doesn't. I wanted to keep talesfromthecellar.com, but didn't want to self host anymore. Thankfully, this process wasn't too difficult, with the help of a few articles.

First, you have to get your site data out of Wordpress. I found this article, which helped me do this painlessly. From the steps in there, I now had a backup of my site, and had it converted to Blogger format for importing. But the export does not include images. That's not a big deal since you can download them yourself, but the references in the file point to the old site. Fortunately, another article shows how to use Dropbox to host your images, and then globally update the references in the converted file. That worked great as well.

There was still one more thing I had to do to complete the migration: switch the domain. For this, I found yet another article that detailed every step. It was done in about 30 minutes, and the final DNS redirect happened in less than 2 hours. YMMV.

Once the migration was complete, I had customize the appearance (this is easy in the Blogger interface), and then had some cleanup. I still had missing images on my old site due to being hacked a couple of years ago. About 30K other Wordpress users were as well. I still haven't found all my images. But that's another story. Cleanup also may be necessary for any post elements supported by plugins. I found that the video plugin I used didn't transfer, so I had to manually re-add the references to get the embedded videos to look right. And there are other custom plugins that have similar issues.

But other than a few glitches, the process went really well. Thanks to all the help from other online bloggers!