Saturday, January 30, 2016

The computer monitor to buy

Recently I need to buy a large monitor, I did some research on current monitors and narrowed down my choice to Acer R240HY for:
  • IPS for accurate color and wide view angle.
  • Matte, no reflection.
  • Super thin bezel, < 6mm (1/4"), really cutting edge technology.
  • Not PWM, virtually flick-free.
  • Super low cost, $130 on Amazon and $99 refurbished by Acer on ebay
  • For gamers: 4ms response time and overclockable to 75Hz.

I ordered a refurbished one from Acer on ebay for $99, it arrived after about a week via FedEx ground. Looks like brand new to me, no dead pix. Vivid color, sharp, contrasty and bright (I adjusted brightness all way down to 0%). These photos are against a Thinkpad X220 that also has a matte IPS screen. As you can see, they look very close.


Two alternatives:
  • Dell U2414H. The UltraSharp series are calibrated in factory for the most accurate sRGB color reproduction. Its anti-reflection coating is less matte than usual for better photography. It is often on sale for $150 on Dell Outlet. U2415 is almost identical with a 16:10 ratio @1920x1200, much better than 16:9.
  • ASUS VN248H-P. It is often on sale for $109, with built-in (poor) speakers. It is PWM and its seat wobbles.

Saturday, January 23, 2016

Fighting Nexus 6 for battery life

Ever since I got this phone, I've been struggling with its inconsistent battery drain. The phone may stay cool for a while but then suddenly become hot with a sharp battery drop. This happened while it was left on a steady table or in my pocket while browsing in a local store.

No surprise, the top battery drain was Google Services, they kept the phone awake all the time:


So I installed Wakelock Detector (don't install it as a system app!) to see what was going on and it obviously had something to do with Checkin, SystemUpdateService and Eventlog:


I cannot simply disable Google Services because I rely on GCM for GMail and GoogleVoice sync, so I had to do the following things to deal with it.

(Re)move some built-in apps

The /system folder has 0 space left out of box. So first thing first is to remove or move out some stuff from this folder to free up some space for system-level hacks. Other than removing, I moved these apps to /data/local, then I can move them back just in case the phone won't start up (in TWRP with its file manager):

/system/app: Books, Chrome, CloudPrint2, Drive, EditorsDocs, EditorsSheets, EditorsSlides, FitnessPrebuilt, GoogleContactsSyncAdapter, GoogleEars, Hangouts, Music2, Newsstand, PlayGames, PlusOne, PrebuiltKeep, PrebuiltNewsWeather, talkback, Videos

/system/priv-app: CallLogBackup, GCS, GoogleBackupTransport, GoogleFeedback, GoogleOneTimeInitializer, MusicFX, SetupWizard

Don't move those that you do need, for example, Drive or GCS, if you do need Google Drive for cloud storage or Project Fi for voice/data service.

Needless to say, without these garbage, the phone becomes more responsive and cooler with less battery drain.

Autostarts

I installed this app from F-Droid, search for Checkin, Eventlog and SystemUpdateService, respectively, and disabled all the occurrences:


Right after done this, Google Services no longer appear in the top battery drain list! With such a great success, I went further and disabled unnecessary intents and receivers for other apps such as YouTube etc. For example, players like Tunein and TV Plus do not need to be started automatically after a reboot nor react to network changes, but do need to react to headphone buttons and widget clicks:


Greenify

Now these apps no longer starts by themselves, but after we, say, watched TV, we still want them to be closed. This is what Greenify comes handy.


Xposed

In Wakelock Detector, I noticed that WeChat generated too much wakelocks. There are several apps can block wakelock request from an app, such as No Wakelock and Advanced Permission Manager. They are very straightforward to use. However, they cannot block some wakelocks by unknown system processes. I need to deal with such system wakelocks, so I installed Xposed. The ones for Nexus 6 6.0.1 are "XposedInstaller_3.0_alpha4.apk" and "xposed-v79-sdk23-arm.zip".

Per App Hacking

I use it to block wakelocks from WeChat and other apps. Yes, WeChat still works fine without delaying outbound and inbound messages. I also prevented YouTube from service.


Amplify

In Wakelock Detector, I also noticed some horrible wakelocks from unknown system processes, such as *net_scheduler*. This crap may show up anytime, even at midnight. Yes, I already greenified YouTube but Google Play Service will still launch it at anytime it wants:


While listen to music, online or offline, AudioMix and AudioOffload keep my phone staying awake:


I use Amplify to block them all (except *net_scheduler*), plus ConnectivityService that runs my phone hot whenever network status changes (e.g. between 3G and 4G), by allowing them every 9999999 seconds:


Now the phone runs totally cool without being awakened and drained by crappy google services while playing my music and keeping voice calls (Sipdroid), GMail, GoogleVoice and WeChat messages pushed in in time. The phone almost never go out of deep sleep (only 2% awake) with only 2% battery drop overnight, which is a phone ought to be in the first place:




In summery: Google added way too much garbage into this Nexus phone that's supposed to be pure and clean without garbage from carriers and manufacturers. The phone can drain battery at a fast rate at anytime even at midnight. Just Greenify alone is not enough, we must use Wakelock Detector to find out those unwanted activities and block them with Autostarts, Per App Hacking and Amplify. Don't simply disable any service, it does nothing but causing unwanted side effects.

As a side note, my phone runs on the latest 6.0.1 (shamu-mmb29s) and the so called doze mode does not help. Because, for doze to kick in the phone much stay steady for an hour and Google Play Service is one of the two apps that are excluded from doze restrictions.

Related articles:
Nexus 6 case mod
This is phone cases ought to be
Tweaks for nexus 6
Free ringplus, what's the catch?

Wednesday, January 20, 2016

Nexus 6 case mod

Before:
After:

Cooler, especially during turbo charging, lighter (0.5 vs. 1.0 oz) and less slippery.

Tuesday, January 12, 2016

This is phone cases ought to be

I never understand why almost all phone cases are so thick, bulky and heavy. Totally unnecessary, and insanely expensive in local stores. I can only take something like this from Dollartree:


Notice that it is called "cell phone bumper", so I searched it on Amazon for my Nexus 6 and found two:

LJSGK Protective Aluminum Alloy Bumper Frame Case

Slim Armor Border Shockproof Bumper Frame Case Cover

I wish I bought one of these. I'm going to drill some more big wholes on the one I bough to make it cooler and lighter:


So sad, cannot find one for LG Volt

Thanking to sam888, ordered two of these on ebay:


[update 01/30/16] Received above cases from China and extremely happy! Super thin, 0.8mm, and light, 0.5 oz, and protects fully the phone. In comparison, the Spigen crap is 1.3mm thick and 1 oz heavy, and still leaves the up and down sides of the phone unprotected.

Use Remote Desktop on the phone?

Only one app is still usable and it is great, Ericom AccessToGo RDP, and it is free.

I tried many, but all do not work. For example:
  • Microsoft Remote Desktop - keyboard does not work in Xming.
  • 2X Client RDP - only 8-bit color.
  • Remote RDP and many others found in Play store- crash after any swipe.
This short video shows how easy it is to configure AccessToGo:

Saturday, January 9, 2016

Tweaks for Dolphin browser

Dolphin is currently the only web browser I can use on my phones. I used to use Boat, but it became worse and worse and, the deal break, it no longer do text reflow (or text wrapping) since KitKat. Dolphin used to be not so good compared to Boat; it uses much more CPU and runs phones hot, but still far less so than other browsers such as Chrome and UC.

Must-have tweaks for Dolphin:
  • Enable Dolphin Jetpack. Otherwise text reflow won't be available.
  • In Gesture and sonar, uncheck Shake to activate. This feature is very troublesome.
  • Change search engine to Google. The default Yahoo sucks.
  • Check Always show address and menu bar.
  • Change User agent to iPad, it works for most sites. If you find a site does not work, try set user agent to Android or Desktop. You can easily swap between them by swiping from the right side and click on the "Desktop" icon.
  • Check open previous tab on startup.
  • Check Auto-fit pages. This is text reflow or wrapping.
  • In Page zoom, uncheck Open pages in overview. This thing starts with the first iPhone and I never understand why anybody want this crap - must double-tap on each and every page you open.
See this short video to go through all the major settings:



Friday, January 8, 2016

Tweaks for Nexus 6

For $200-250, Nexus 6 is currently the best value as a global phone that works on Verizon, Sprint, AT&T, T-Mobile and in virtually all countries including China. Before, I use Verizon phones as global phones, but they do not work on Sprint network.

Root

The first thing is root, because many essential tweaks require it. To root it, the bootloader must be unlocked first. I first took all the OTA updates to update it to the latest 6.0.1, then unlocked it and root it.

Debloat

As always, I disabled everything I could on the phone, then used Debloater to disable these junk, mainly from carriers and google:

Processing changes to:  com.android.calllogbackup  -> Status is now hidden
//Processing changes to:  com.android.carrierconfig  -> Status is now hidden
Processing changes to:  com.google.android.backuptransport  -> Status is now hidden
Processing changes to:  com.google.android.feedback  -> Status is now hidden
Processing changes to:  com.google.android.onetimeinitializer  -> Status is now hidden
Processing changes to:  com.android.sprint.lifetimedata  -> Status is now hidden
Processing changes to:  com.android.managedprovisioning  -> Status is now hidden
Processing changes to:  com.google.android.setupwizard  -> Status is now hidden
Processing changes to:  com.android.sharedstoragebackup  -> Status is now hidden

//Processing changes to:  com.android.sdm.plugins.sprintdm  -> Status is now hidden
Processing changes to:  com.google.android.marvin.talkback  -> Status is now hidden
Processing changes to:  com.vzw.apnservice  -> Status is now hidden   


Don't check the items remarked with "//" if you need to update Sprint PRL and data profile.

Double-tap to wake

Not only convenient, it also saves the power button. Just install this app and enable this fantastic feature. Now, how to put the phone into sleep without pushing the power button? Easy, install the Lock Screen app by WangQi. At this moment, you might want to disable the "Ambient display" crap.

Use a black wallpaper

It saves battery for an AMOLED screen.


Don't use the stock charger

With the charger that comes with this phone, charging is very fast - 15 minutes for 6 hours play. What you pay for that is heat that is always a very bad thing to electronic parts, especially the battery and screen. So, don't charge for more than 15 minutes or use a different charger. No, using a thin cable won't slow it down.

Reduce CPU speed

This phone has a really fast CPU, but it runs phone hot and hurts battery life. I use SetCPU to limit the max frequency to 1190 (other values might not actually work). Another big battery eater is the stupidly high resolution screen, the only thing we can do about it is to use night mode in Dolphin.


Enable notification LED

Simply install Light Flow (paid version) and follow this guide.


There are only stupid thing left is the ugly white Google search bar. I know I can use a 3rd party launcher but I don't want to for the obvious reason - Android is already a mess and I don't want to add even more like all the phone manufacturers do.

[update] Flashed to 5.1.1 (shamu-lmy48y) and got everything working fine. Then flashed to 6.0.1 (shamu-mmb29s). This time I did not use Debloater, only disabled some non-system apps that I don't use such as Chrome, Fit, Docs etc. So far it has been a smooth sailing.

Related articles:

Fighting nexus 6 for battery life
This is phone cases ought to be
Nexus 6 case mod 

Wednesday, January 6, 2016

How to cut a micro SIM card to nano

If you already have a nano card in hand, it is fairly easy to use it as a model to cut a micro card to a nano one. Just follow this short video:


Tuesday, January 5, 2016

Tweaks for LG Volt

LG Volt is currently the best-value phone for RingPlus, for its beautiful 4.7" screen and 3000mAh huge battery for about $50.

Enable Hotspot

By default this function is hidden, but it is fairly easy to enable it and no root required. Install OpenChameleonNode.apk, open it, select Tethered Data, then GET, change 2 to 4 and SET.

Debloate

The procedure is the same as moto e. On the phone, go to settings, Apps, All. Touch on each and every app and touch on Disable, except those you need for sure.

Then use Debloater to check these items:

Processing changes to:  com.sprint.dsa  -> Status is now blocked
Processing changes to:  com.qualcomm.atfwd  -> Status is now blocked
Processing changes to:  com.qualcomm.location  -> Status is now blocked
Processing changes to:  com.lge.drmservice  -> Status is now blocked
Processing changes to:  com.lge.eltest  -> Status is now blocked
Processing changes to:  com.lge.gnss.airtest  -> Status is now blocked
Processing changes to:  com.lge.gnsspostest  -> Status is now blocked
Processing changes to:  com.lge.gnsstest  -> Status is now blocked
Processing changes to:  com.android.htmlviewer  -> Status is now blocked
Processing changes to:  com.itsoninc.android.uid  -> Status is now blocked
Processing changes to:  com.lge.appcleanup  -> Status is now blocked
//Processing changes to:  com.lge.android.atservice  -> Status is now blocked
Processing changes to:  com.lge.bnr  -> Status is now blocked
Processing changes to:  com.lge.appwidget.clock  -> Status is now blocked
Processing changes to:  com.lge.smartshare.conn_wizard  -> Status is now blocked
Processing changes to:  com.lge.defaultaccount  -> Status is now blocked
Processing changes to:  com.lge.divx.permission  -> Status is now blocked
Processing changes to:  com.lge.lgdrm.permission  -> Status is now blocked
Processing changes to:  com.lge.email  -> Status is now blocked
Processing changes to:  com.lge.lgfota.permission  -> Status is now blocked
Processing changes to:  com.lge.lginstallservies  -> Status is now blocked
Processing changes to:  com.lge.app.richnote  -> Status is now blocked
Processing changes to:  com.lge.nlp  -> Status is now blocked
Processing changes to:  com.android.providers.partnerbookmarks  -> Status is now blocked
Processing changes to:  com.lge.sizechangable.photoalbum  -> Status is now blocked
Processing changes to:  com.lge.QuickClip  -> Status is now blocked
Processing changes to:  com.lge.qremote  -> Status is now blocked
Processing changes to:  com.lge.appwidget.lgsearch  -> Status is now blocked
Processing changes to:  com.lge.updatecenter  -> Status is now blocked
Processing changes to:  com.lge.sizechangable.weather  -> Status is now blocked
Processing changes to:  com.lge.sizechangable.weather.theme.optimus  -> Status is now blocked
Processing changes to:  com.maluuba.android.qvoice  -> Status is now blocked
Processing changes to:  com.lge.mlt  -> Status is now blocked
Processing changes to:  com.sprint.w.prefact  -> Status is now blocked
Processing changes to:  com.uei.lg.quicksetsdk.lite  -> Status is now blocked
Processing changes to:  com.lge.smartshare  -> Status is now blocked
Processing changes to:  com.lge.smartshare.provider  -> Status is now blocked
Processing changes to:  com.skyfire.browser.toolbar.service  -> Status is now blocked
Processing changes to:  com.sprint.ce.updater  -> Status is now blocked
Processing changes to:  com.sprint.w.installer  -> Status is now blocked
Processing changes to:  com.qualcomm.timeservice  -> Status is now blocked
Processing changes to:  com.coremobility.app.vnotes  -> Status is now blocked
Processing changes to:  com.qualcomm.wfd.service  -> Status is now blocked
Processing changes to:  com.lge.keepscreenon  -> Status is now blocked
Processing changes to:  com.lge.wv.hidden  -> Status is now blocked
Processing changes to:  com.qualcomm.location.XT  -> Status is now blocked
Processing changes to:  com.sprint.zone  -> Status is now blocked 

Processing changes to:  com.birdstep.android.cm  -> Status is now blocked  

Note that I put "//" on com.lge.android.atservice. If you want your phone to be able to program it by itself OTA (after dialing ##72786#), then don't check this item. To conduct OTA programming, the following items are also needed:

//Processing changes to:  com.lge.lgdmsclient  -> Status is now blocked
//Processing changes to:  com.qualcomm.qcrilmsgtunnel  -> Status is now blocked
//Processing changes to:  com.lge.sprintextension  -> Status is now blocked

Don't check the followings, or the phone will not operate normally:

//Processing changes to:  com.android.incallui  -> Status is now blocked
//Processing changes to:  com.android.keyguard  -> Status is now blocked
//Processing changes to:  com.lge.systemservice  -> Status is now unblocked

Enable FM Radio

Volt does have a FM radio, mono though. To use it, simply install the free NextRadio app.

Monday, January 4, 2016

Free RingPlus, what's the catch?

RingPlus has been promoting like 1750 minutes + 1750 texts + 1750 MB 4G/LTE data per month for free. Sounds too good to be true. So what's the catch?

There is no voicemail

Well, there is, but practically useless. When someone calls your RingPlus # and you are not available at the moment, the caller leaves you a voice message and hang up. Then, no message is actually left. To be able to successfully leave a message, the caller must wait for a prompt, review the message and then press "1" to save the message.

Further more, there won't be any voicemail notification on the phone (except a missed call sign). The only way to get a notification is to set an email address for a voicemail and sync it on the phone.

A workaround is to use your RingPlus # via Google Voice.

You must have a credit card

Except for the Truly Free plan, you must have a credit card on file. The good news is, your credit card is not directly charged, but through a buffer zone which RingPlus calls as "topup". For example, when you activate the 1750/1750/1750 plan, your credit card is charged $20 plus taxes. This $20 is your topup. If you don't go over the 1750/1750/1750 amounts for the month, there is no any charge. If you do go over, your topup is deducted automatically for $0.02 per minute/text/MB. If the topup finally run out, then your credit card is automatically charged to fill up the topup.

A workaround is to use a prepaid credit card. Also setup a data limit (such as 1.5GB) on your phone.

That said, the $0.02 overages are still extremely cheap and you are unlikely to run out your topup again and again, unless you download movies 7/24.

Don't forget about taxes

When I subscribed to the Leonardo 5 plan (1600/1600/1500), the topup is supposed to be $16, but in the end my credit card was charged for about $20, due to taxes.

Sprint 4G/LTE is spotty in buildings

The frequency is very high, 2500 MHz, too high to easily penetrate into buildings. The good news is, the phone will then switch to 3G; so mostly you still get a data connection. Many malls have large transparent windows on the ceiling, no problem to get LTE in there.

What about phones?

You can use virtually any phone that works on Sprint network, which means all the phones from Sprint (postpay or prepaid), Boost, Virgin and etc. You can easily find a great phone for very little money in BestBuy, RadioShack, Amazon and etc. For example, the LG Volt or 2 has a 4.7" or 5" screen and cost only $60 or $80, and often on sale for even much less.

If your 4G phone does not come with a SIM card, such as the Nexus 6, you can get one from a Sprint corp store for free. Some small Sprint dealers won't give, not even sell, one to you though.

You can find more details on which phones that work on RingPlus on its website. You can even check your phone's MEID to see if it can be activated or not. Recent Apple and Nexus phones (5X, 6, 6P, moto x pure) are good to go and they also work on AT&T, T-Mobile, Verizon and in many other countries including China. Nexus 6 is often on sale for $200 - 250.

When buying a used phone, check its MEID on RingPlus' website. Some carriers hold the phone for 12 months; in this case you'll get a financial check failure. The SIM card can be reused too.

What about customer service?

RingPlus has an excellent website, you can do pretty much everything there. For example, you can swap phones ($1.99), change phone # ($1.99), port in a #, enable and disable features ...... You may submit a ticket to resolve an issue. You almost never need to call a representative, which is always a PITA regardless which company.

The bottom line: go get it, it's really free and you have nothing to lose, just don't expect it'll last for years.

As always, feel free to ask any question.

Friday, January 1, 2016

How to watch local TV

This is how I watch local TV channels over the air (OTA) for free:


On the top is an amplified antenna bought from RadioShack several years ago. This corner is the best spot in my house, so I put the antenna there. The output is connected to a USB tuner which is then plugged into a netbook (an old Acer 722).


On the netbook, I installed NextPVR as a TV server, then I can watch TV via Kodi on all my devices - computers, tablets, phones and TV sets (through Fire TV). This way, I can check EPG (program schedules) and record shows manually or automatically, and have closed caption (subtitle) on all my devices.

Digital TV is tolerant on reflection and saturation, therefore an amplified indoor antenna often beats outdoor. All you need is to find the best spot in your house and adjust the angles. For example, my house is 40 miles away from the TV stations, but I can receive all the 5 stations and their 13 channels.

BTW, this netbook is also my home router/server for flexible Internet connections (xfinitiwify, hotspot, etc.), NAS (file storage) and etc.

If you experience stuttering while watching 1080p content, you need to enable PVR buffer in advancedsettings.xml. This is how my this file looks like:

<advancedsettings>
  <network>
    <buffermode>1</buffermode>
  </network>
  <pvr>
    <minvideocachelevel>15</minvideocachelevel>
    <minaudiocachelevel>15</minaudiocachelevel>
  </pvr>
</advancedsettings>

You may adjust "15" to fit your situation.

Related articles:

Watch TV the right way