I have a desktop computer in my upstairs office. I have a large HDTV in the downstairs living room. All I’ve ever wanted to do is stream video files from the computer to the TV, under two specific conditions: 1) I didn’t want any kind of “app” running on the desktop PC; and 2) I didn’t want to deal with any kind of “library” feature.
After researching for weeks, I decided on the WDTV Live, because it was the only one that met my two conditions. As to the former, the WDTV Live is the only streaming box that supports SMB. Since I’d already shared my video folder to the local network, all I had to do was configure the WDTV Live for my Wi-Fi network, then click Video > Choose Source > Network Shares > Windows Shares > [My Computer] > Video. As for the latter, the WDTV Live has the ability to search for metadata and create a nice library of my videos. But since all I want to do is watch the video once and then delete or archive it, I like that all I have to do is download a video and make sure it’s in the correct folder: no adding it to (or removing it from) a library… in an app that has to run on my desktop PC 24×7.
I’ve had the WDTV Live for several years now, and the local video portion of the device still works as good as ever. I download a video to my “Videos” folder, and it’s available instantly on the WDTV Live. The device plays almost any type of video file, except for WebM, gifv or flv (none of which are really used for TV shows or movies). DivX or XviD in an avi container, mp4, mkv containers… the WDTV Live seems to play them all.
The WDTV Live also has a variety of streaming apps, too, like Netflix, YouTube, Spotify and others. But Western Digital discontinued the WDTV Live last year, having not updated the firmware some time before that. So many of these apps no longer work. So I have a box that can play any type of locally networked file… but can’t do Netflix, Amazon Instant, Hulu, Spotify, TuneIn or Pandora any more.
I asked for (and received) one of the new(ish) Chromecasts for Christmas. And it works OK, but has a strange bug: my Vizio smart TV loses connection to the device randomly. For 2-5 seconds the screen will go black and say “No Signal”. Sometimes it’ll happen three times in five minutes; other times it’ll only happen once every 2-3 hours. Since my Time Warner DVR and the WDTV Live have never had this problem, I thought the issue might be the Chromecast. So I ordered one of the new Roku Streaming Sticks.
I have a client who makes extensive use of virtual machines for a remote office. Back when I set this up (almost a decade ago), I chose Microsoft’s Virtual PC because it was free (and VirtualBox didn’t exist yet). I let Virtual PC put the config files wherever it wanted under AppData, but I kept the VHD files in a folder called C:\VMs (for easy backup purposes).
Well, time passed, and Virtual PC seemed slow and creaky. So I switched the client over to VirtualBox. There was a bit of a learning curve with this: under Virtual PC, for example, I could easily make a copy of a VHD and attach that to a new virtual machine (for a new hire, for instance). You can’t do that in VirtualBox, at least not without getting “UUID already exists” errors. You can reset this from the command-line but… eh.
In VirtualBox, the easiest way to duplicate a virtual machine is to open the management console, right-click on an existing virtual machine and choose “Clone”. You can then choose a name for the new virtual machine, and an exact duplicate will be made. Only problem is, in my case, the new hard drive will be located in c:\users\[user]\Virtualbox VMs\[new VM name] instead of C:\VMs.
Of course, I could easily just edit the backup script to include the new location. But I like having all the virtual hard drives in one location. So how can you move the virtual hard drive?
For starters, make sure the virtual machine in question is powered off. Then click File > Virtual Media Manager. Right-click on the new hard drive you just created and click “Remove”. Click “Close”, then move the VDI\VHD to its new location. Back in the VirtualBox manager, right-click on the virtual machine and choose “Settings”. Choose “Storage”, then, under “Storage Tree”, click the “Add Hard Drive” icon (the one with a tiny hard drive and a + symbol). Then choose the VDI\VHD file you just moved. OK and close out of everything, and you should be good to go!
The NFL released the official 2016-17 schedule today, and for the 14th straight year, I’ve got your Pittsburgh Steelers schedule ready to go!
There are a couple of very minor changes. I dropped “for Outlook” from the “branding”, since the calendar works with Outlook, Yahoo! Mail, Gmail, iOS devices, and more. I also switched from “at” to the more traditional “vs” in the schedule. So instead of “Cleveland Browns at Pittsburgh Steelers”, it now says “Cleveland Browns vs. Pittsburgh Steelers”. I also continued putting asterisks next to (the many!) flex games this season.
The schedule is packaged in a single ZIP file. Please make sure to import the correct version into your calendaring software:
steelers_2016.csv is the Steelers schedule only, for Outlook\Yahoo! steelers_2016.ics is the Steelers schedule only, for Gmail\iOS steelers_nfl_2016.csv is the Steelers schedule and the NFL playoffs, for Outlook\Yahoo! steelers_nfl_2016.ics is the Steelers schedule and the NFL playoffs, for Gmail\iOS
You may have heard of Mega, a cloud storage service started by notorious hacker-turned-entrepreneur\wanted fugitive Kim Dotcom (Dotcom has since left the company).
Mega offers 50GB of storage space for free accounts, and also has a “MEGAsync” app for computers that synchronizes the cloud data to your local computer (like the Dropbox or OneDrive desktop apps). Like those services, Mega also has apps for Android and iOS that let you access your cloud drive anywhere, and also automatically upload photos taken with mobile devices to your cloud account.
One thing the Mega app does that no other mobile app does is… give you the option of keeping your photos’ original filenames. This may sound trivial, but it’s not. Here’s why:
Dropbox renames all the pictures you upload, and (last time I checked) it doesn’t give you the option to disable this. Dropbox’s official reason for doing this is because some devices name your pictures sequentially, as in IMG_01.JPG, IMG_02.JPG, IMG_03.JPG and so on. So if your software were to update, or if you upgraded your SD card, or if you got a replacement phone, the numbering might restart at IMG_01.JPG, causing problems for Dropbox. By renaming the pictures, Dropbox avoids this problem.
Which is great… until you want to manually back up your pictures. You attach your phone to your computer via USB, open the SD card via Explorer, and drag the photos to your Camera Uploads folder… instantly creating a giant mess of duplicates, because your computer doesn’t know that IMG_1234.JPG and 2015-06-25 17.34.10.JPG are the same picture. This is especially annoying if your mobile device already names pictures like Dropbox does, but does it just a bit differently. Because again, your computer doesn’t know that 2015-06-25 17.34.10.JPG (Dropbox) and 2015.06.25.173410.JPG (LG phone) is the same photograph.
Which is what makes Mega’s app so cool. Just open the app, go to Settings and scroll down to the Camera Uploads section:
Problem solved! The next time you want to manually back up your pictures, Windows will warn you about duplicates!
1 paper plate (see below)
1 mesh strainer (see below)
1 large spoon
1 Crock Pot
1) Go through the peas and remove any deformed peas or debris like pebbles or twigs. I pour about a quarter of the bag onto a paper plate, go through them, dump them into a mesh strainer, then repeat with remaining peas until done. But that’s just me.
2) Once you’ve gone through all the peas, rinse them thoroughly in a mesh strainer or colander.
3) Spray the inside of a Crock Pot with non-stick spray, then dump the peas in. Fill with water until the peas are covered by approximately 2 inches of water.
4) Add the three packs of Goya seasoning, then stir well to dissolve.
5) Cook on HIGH for two hours. Every so often check that the water level is OK, and add more if necessary. Give them a stir around once an hour.
6) After two hours, taste them. You may find them a bit too hard for your liking; if so, continue cooking for another hour or so, until done. If they’re close to being done, turn the heat down to LOW and cook for an additional 30 minutes or so.
We usually eat around 6:00 at my house, so I start these around 3:30. By 5:00 they’re nearly done, so I turn the heat down to LOW and let them go for around another 30-40 minutes before eating.
Most LG phones come with a “knock code” lock screen feature. Instead of using a pattern or PIN, you can elect to tap the screen in a certain pattern to unlock your phone.
I like having options, but never actually use this myself. Consider how difficult it is if you need someone else to access your phone. Imagine driving somewhere, and you need a passenger to check your phone. If you use a PIN, you can just say “yeah, the PIN is 1234” and the passenger can quickly figure it out. If they’re unfamiliar with knock codes, you’ll have to explain the entire concept: “OK, imagine the bottom half of the lock screen divided into four equal boxes numbered 1, 2, 3 and 4 starting at the top left. You need to tap 1, 4, 2, 2, 3, 4”.
Yeah, not easy.
Many LG phones also come with a similar feature called KnockON. This turns the screen on (but does not unlock it) if you double-tap it. Thing is, this sometimes causes the screen to come on when you don’t want it to. If you have your phone in a bag – or, in my case, between my fingers with a handful of stuff getting out of the car – the screen can turn on by itself, wasting precious battery life.
LG used to provide the option to turn this off. All one had to do was go to Settings > Lock Screen and tap the LockON option to turn it off or on. But LG has hidden this option in newer versions of Android. So how do you turn it off?
The following procedure is easy, doesn’t require root, and is easily reversible.
3) At the top of the screen, you’ll see a drop-down box allowing you to change the display from “Recent Activities” to “All Activities”. Select “All Activities”. It will likely take a minute or two to load the next screen, and you’ll see a progress bar giving you information about that.
4) Scroll down (waaaayy down) to Settings, and tap on that. If you have more than one “Settings” entry, try the first one.
5) Scroll down (waaaayy down) to KnockON. Tap the first option, the one marked
6) The KnockON settings page will open. Uncheck the box at the top of the screen to disable it (as shown in the screencap below), or check it to enable the option:
Contrary to what the Settings page says, after unchecking the box, you’ll be able to turn your screen off or on via the power button, like a normal person.
7) OPTIONAL: If you like, you can create a home screen shortcut to the KnockON option by long pressing the KnockON option in step 5 and choosing “Create Shortcut” instead of just tapping it.
8) OPTIONAL: If you like, uninstall the Activity Launcher app. You will, however, need to download and install it again if you want to enable\re-enable KnockON. If you’ve made a home screen shortcut (mentioned in the previous step), it will continue to work if you uninstall Activity Launcher.
One of the coolest – if unsexy – features of Android Marshmallow is its ability to use adoptable storage. This means Android can treat an SD card as additional internal storage, rather than an external device, as it has in the past. Under the hood, Android will still see two separate devices, but it will (more or less) treat it as a single storage unit. It’s almost (but not quite like) having a 2TB drive in your desktop computer, then buying a 2TB external drive and, after installing it, Windows giving you the option of treating the drives as a single 4TB unit instead of two 2TB drives. It’s kind of like that, only better, because it’s much more difficult to expand a phone or tablet’s internal storage than to do the same on a desktop computer.
Unfortunately, two of the biggest Android device makers – Samsung and LG – have disabled this feature in their versions of Marshmallow. They claim that customers would be “disappointed” in the performance of their devices, since an SD card is likely to be slower than the internal memory. This is true, but not a dealbreaker if you know that going in. They also claim that SD card failure would cause apps to break… which is also true, but it’s not the end of the world: just buy a new SD card, repeat the procedure below, and reinstall the apps in question. As someone who played around with CyanogenMod a LOT a few years back, this is not a problem at all… especially since SD cards don’t fail that often.
So this post will show you how to enable the feature. There are a few caveats, however.
The first thing – and this should go without saying – is to make sure to back up any important files you may have on your SD card before you do this. This procedure WILL ERASE the card, so data will be lost forever. Also, read the instructions below, in full, and make sure you understand them completely before you even touch your phone or computer. The time to be confused is before you start an IT project, not during the project.
Secondly, I have only tested this – once – on a Virgin Mobile LG G Stylo. It worked for me, but it might not work on your device. It might not even work on the same phone on a different carrier. Google “[your device] adoptive storage” and see what comes up. As always, there’s the possibility of wrecking your phone, so please research this before jumping in feet-first!
Thirdly, this procedure will create an encrypted ext4 partition that will fill your entire SD card. You’ll still be able to attach your device to a computer via USB and copy files that way… but you won’t be able to take the SD card out of your phone, pop it into an SD card adapter, then put it into a laptop or desktop card reader to copy files. If you haven’t already, it’s probably a good idea to look into cloud services that offer online backups of your pictures, like Dropbox, OneDrive or Mega.
Lastly, this isn’t something you can “just try out” with a spare 8GB SD card and upgrade to a 32GB card later. If this is something that interests you, go ahead and spend the $10 on a new 32GB card and be done with it.
NOTE: PLEASE READ THE ‘IMPORTANT UPDATE’ SECTION AT THE END OF THIS POST FOR ANOTHER POSSIBLE ISSUE TO CONSIDER!
That said, here’s how to enable adoptable storage on your Marshmallow device. It’s really simple: I was able to do the entire thing in around 10 minutes… while on hold with Virgin for an unrelated billing issue.
1) On your computer, go to this page on the XDA forum and download the “15 Seconds ADB installer”. I used the current version – 1.4.3 – but it might be updated by the time you read this.
2) Once downloaded, right-click on adb-setup-1.4.3.exe and choose “Run as Administrator”. As the linked page says, press Y to “install ADB and Fastboot”, Y or N to install for all users (Y) or just the current user (N), and Y to install the necessary drivers. After the last question, you should see the standard driver install dialog. Click “Yes” (or “Allow” or “OK”, I forget which) to install the Google device driver.
3) If you haven’t already, enable “Developer Mode” on your device by going to Settings > About Phone > Software Info and tapping “Build Number” seven times. You will know you’re getting close when the phone says something like “only 3 more taps to Developer”.
4) Tap Settings > Developer Options and enable USB Debugging. Click “OK” to the warning message that will appear.
5) Connect your phone to your computer via USB. A window should pop-up on your phone asking to enable USB debugging and showing your computer’s “RSA key”. Tap “Always allow from this computer” (if desired) then tap “OK”. If you don’t see this window, drag down your notification area and look for a similar debugging message and tap that.
6) On your computer, open a command-prompt in the ADB directory (which should be c:\adb).
7) Type adb devices and press ENTER. You may see your device listed, probably with a long name, like “LGLS7709e27dc19 device”. If so, skip to the next step. If you get a message about a “service not running”, the software should say that it’s starting it, but the app won’t poll your devices again. So type adb devices and press ENTER again. You should now see your device listed.
8) Type the following commands exactly as shown, pressing the ENTER key after each one:
adb shell sm list-disks
adb shell sm list-volumes all
adb shell sm set-force-adoptable true
adb shell sm partition disk:179,64 private
adb shell sm set-force-adoptable false
adb shell sm list-volumes all
NOTE: the fourth command partitions your SD card, and may take 2-3 minutes (or longer) to complete, depending on the size of your card.
9) Disconnect your phone from the USB cable and reboot it. The reboot is crucial. Your phone may (or may not) take a bit longer to boot this time. One message board user reported that his phone appeared stuck on the Virgin boot logo for several minutes, but finally booted and has been fine ever since. My phone seemed to boot normally, maybe taking just a few extra seconds at most. Your mileage may vary.
10) Once your phone is fully booted, tap Settings > Developer Options and disable USB Debugging, clicking “OK” to any messages that may appear.
11) Go to Settings > Storage & USB and tap your SD card. Tap the three dots in the upper-right corner and choose “Migrate data”:
12) A wizard will appear, telling you that photos and media files will be moved to the SD card, and that in the future they’ll be saved there, too. Tap “Move”:
13) After the move, you’ll see that although Android reports the size of each device individually, you have a total of x space. In my case, it’s 37.33GB:
14) Go to Settings > Apps and tap on an app. Tap “Storage”. At the top of the resulting window you should see “Storage used: Internal storage”. Tap the “Change” button and choose your SD card, like so:
Not all apps support being run from the SD card. Not surprisingly, most of Google’s own apps can’t be moved. Most can though, and you’ll get a simple, two-step wizard to move the data. If you don’t see a “Storage used: Internal storage” option, the app cannot be moved. Also, if you use Spotify, you will need to tap Storage > Clear Data. This will reset the app, so you’ll need to log in and download all your offline music again. If you don’t do this, the app will open and immediately close (no matter what you do) until you clear data.
15) Repeat as necessary for other apps. Note the overall amount of space used on my phone is the same, but internal storage usage has decreased while SD storage has increased:
If this sounds a bit like my old article on expanding storage on the LG Tribute… it’s almost exactly the same thing… only this time it’s using tools built-in to Android to do so. Also, root is not needed in this case, so apps that complain about root status will stay quiet.
* * *
IMPORTANT UPDATE (03/12/2016): This may (or may not) be related to adding adoptive storage to my phone, but I just wanted to let you know about a possible issue that might happen, and offer a strange workaround if it does.
The issue is this: after adding adoptive storage, you might notice that the “None” and “Swipe” options are disabled in the Lock Screen options, with the message that it has been “disabled by administrator, encryption policy, or credential storage”:
I work from home most days, and almost always leave the lock screen on swipe, since there’s little need for security in my own home. I went out the other night, and since I was running late I quickly set the option to PIN and didn’t notice the two other options greyed out. But then I came home and tried to switch back and found that I could not.
Now, my phone might have been like this for weeks, and I only just now noticed it. My carrier upgraded the phone from Lollipop to Marshmallow early January, and it’s possible that this could have happened then. That’s the point: I just don’t know. I’ve been an IT guy long enough to know that coincidences are rare… but they do happen from time to time.
So… how do you fix it? I don’t know. I haven’t found anything that’s worked yet. One solution offered is to go to Settings > Security > Certificate Management and click “Clear Credentials”. But this has not worked for me.
I have, however, found a strange workaround that won’t let you select swipe, but will enable it anyway:
1) Go to Settings > Lock Screen and choose “Pattern”.
2) Choose a pattern, then choose a PIN if you don’t already have one.
3) Lock the phone, then enter the WRONG pattern five times. You will get a message that says something like “You have incorrectly entered your pattern 5 times. Please try again in 30 seconds”. You will also see a box in the lower right corner of the lock screen that says “Backup PIN”. Tap it, and enter your PIN.
4) Until you change it, your lock screen should now be on swipe, even though it’s not an option you can select (just like my screencap above).
As I said, my phone could have been like this for weeks, and I only just noticed it after adding the adoptive storage. I read several articles and how-tos online on the subject, and not one of them mentioned anything about the lock screen, so I’m inclined to think it’s just a coincidence.
Huge thanks to AndroidForums member stanton renna, who actually typed all this up in a handy post. He (or she) did all the real work – I just wrote it up in my own words and added a bunch of screencaps!