Sunday, December 29, 2013

Salt and Pepper

Every now and then my propeller beanie comes out.

Here I go again.

Several years ago I shared my short list of requirements of a browser. Subsequently I've switched to Chrome and been quite happy.

But recently as I setup a new PC one of my favorite extensions Google Toolbox (by Google) didn't meet the third item on my short list: Close tabs when I double click them.

I thought it was just something I'd failed to set in the options so I went through them again. it still didn't close tabs when I double clicked them.

So I went to the Google Toolbox page in the Chrome Store. There were a couple of reviews that suggested that something was askew. (The page now gives "An error occurred: Item not found. This item may have been removed by its author."

So I searched the Chrome Store looking for alternatives. Google Toolbox was really much heavier than I really needed anyway and had caused problems with YouTube recently.

I came across "Double Click Closes Tab." It uses a double click ON the web page to close the tab. Not a double click on the tab. That's not what my muscle memory is. But in reading the description I think I've figured out what's going on with Google Toolbox.
To those wanting "double click on tab to close" - Google now made its own extension to do that and more. It uses a plugin mechanism that uses compiled binary code and presents a security risk unless you're sure you can trust the author (of course coming from Google it's likely fine). Without using such mechanism, Chrome extensions cannot receive tab events. Google's extension is called Chrome Toolbox.
The emphasis is mine.

I'm not a developer (unless you consider S/360 assembler development!) but this suggests that Google Toolbox was using NPAPI rather than PPAPI. Put yourself to sleep here with the details. It is so Google to have a technology PPAPI (Pepper Plugin API) that uses Native Client (NaCL). Think about it.

I first ran into the NPAPI vs. PPAPI issue back here with Flash. Chrome's page says "NPAPI is being phased out. Consider using alternatives."

I believe that this is a deliberate effort on Google's part to remove all the NPAPI extensions from Chrome. This goes beyond security though. This is a platform issue. Remember back in 2011 when I tried a Chromebook? One of my observations (whines?) was that the Google Chrome Toolbox extension for the Chromebook didn't support "Double click on a tab to close it." I missed the significance of that.

There's a post in the Google Chrome Extension Development forum calling for a non-NPAPI version. In this era of Google's "Spring Cleaning" that's not likely to happen. And as to my short list item of wanting to close tabs when I double click them that's not going to happen either. Apparently handling a click on Chrome's "chrome" (i.e. the tab proper) isn't supported by PPAPI. And that's probably not a bad thing.

There are threads in the Google Chrome forums here and here that you can follow but don't expect any relief. I just wish that Google was more transparent about things like this. Simply updating the Google Chrome Toolbox page in the Chrome Store would have answered all these questions and put Chrome users into looking forward rather than looking backwards.

Sunday, December 22, 2013


I continue to be amazed by the OBi100. In my transition to VoIP I lost some minor features of my POTS service. One of these was that I had AT&T's Ring Master Service.
RingMaster service enables two or three telephone numbers to share one line. A unique ringing pattern is provided for each of the additional numbers. This allows a customer to determine prior to answering a call, which number the calling party has dialed.
What I had done was to have my business Google Voice number forwarded to one of my Ring Master numbers. This way I could tell whether the incoming call was for my personal number or my business number.

Plan A was to have the business Google Voice number have the new home Google Voice number as a forwarding number but Google Voice won't let you do that.

Plan B was to just take all the calls to the business Google Voice number on my cell phone. That worked but cost me airtime and talking on the cell phone is not as comfortable as on a traditional handset.

Time for Plan C.

A quick Google of "obi100 multiple google voice accounts" turned up this forum post. Better yet "bgt23" answered his own question.

The OBi devices support TWO VoIP services. So I just went back to and connected the second adapter to the business Google Voice account.

2 minutes later it was all working. And by default the ring tones are different.


PS. There's another twist coming in this saga.

Sunday, December 15, 2013

When Metadata Goes Bad

Recently I was expecting a FedEx Ground delivery. It was an exceptionally large package so I wanted to give the FedEx delivery person some guidance on where to leave it.

To do this I had to register as a FedEx Delivery Manager. I gave it all the expected information of name, address, phone number, etc. I thought that was going to be all that was needed.

But then FedEx started asking me all these random multiple choice questions with random incorrect answers. They said it was to "validate your registration." That seemed odd as they could have done that by matching the airbill information with the information I had provided.

At first I thought it was just their scheme to get me to answer "None of the above" to some of the questions but too many of the questions and answers made no sense.

Here's a sample of the questions.

I didn't recognize any of the people listed. Nor had I lived on any of the streets. My birth month was in the list and I got that right but one out of three didn't "validate" me.

Fortunately it didn't kick me out before I got two questions on one page that I could answer. Other than my birth month it asked me what town my daughter (identified by her first name that nobody uses) lived in. That's really a pretty disconnected piece of information.

What was FedEx up to? What metadata were they using? Obviously they had crossed my metadata with someone else's. What if somebody else has crossed my metadata?


In a related vein, NPR had an article recently that described a web site that Acxiom has established that is supposed to give you "a glimpse of the online profile your shopping habits have created for you."

I'd say that glimpse was the operative word. I didn't find that they really showed me much information. Perhaps they didn't have much (unlikely) or they didn't want to show their hand (likely).

Now with this FedEx experience I wonder if Acxiom's data is accurate.

Sunday, December 08, 2013

802.11n - N is for Nice

I'd had an 802.11n-capable router for a long time but as I discovered it wasn't connecting in n-mode. Installing the Asus router and having the ThinkPad T420s connect in n-mode made a believer out of me.

I never got my Actiontec PWR500 Powerline Ethernet adapters on the same phase so the TiVo in the bedroom continued to complain about network speed/connectivity.

I had an electrician in on another project and I asked him to give me a bid to drop Cat 6 Ethernet at each of the TiVos. His estimate sent me looking for alternatives.

I bought a pair (one for each TiVo) of Asus EA-N66R adapters. The installation was incredibly easy. The default configuration is an Ethernet bridge. All I had to do was choose the SSID and enter the pass phrase. While I was at it I reflashed the firmware.

How'd it work?

Here's the speed test using the Actiontec PWR500.

Yeah. Not good.

Here's the speed test using the Asus EA-N66R adapters.

I think that this is actually limited by the Comcast Internet connection and that the 802.11n WLAN connection is faster than 30Mbps.


Sunday, December 01, 2013

Break Me Off A Piece of That KitKat Bar

Everybody expected Android v4.4 to be Key Lime Pie. Google surprised everyone and called it KitKat.

I haven't mentioned my Nexus 7 previously. One of the nicest things about a Nexus device is that they (almost) always get the newest versions of Android early.

KitKat first shipped on the Nexus 5 followed by a promise from Google that both versions of the Nexus 7s would be next.

So I waited.

And waited.

Finally it arrived. The installation was as easy as a CyanogenMod update.

The top status bar is translucent and blends with your wallpaper. The new Google Now search had already been pushed to the Nexus and I had sideloaded the Google Experience Launcher (GEL) from the Nexus 5.

Now I'm watching for CyanogenMod 11 for my Captivate.

Sunday, November 24, 2013

Dropbox LAN Sync

Dropbox is so cool.

I saw this the other day and went to learn about it.

To make sure you have it, click on the Dropbox icon in the system tray. Then click on the gear icon in the top right corner and choose "Preferences."

Make sure that "Enable LAN sync" is checked then stand back.

Sunday, November 17, 2013

On the Way to VoIP - Part 8

The last step in my VoIP journey was porting. As noted in the articles referenced earlier, to get the POTS number to Google Voice required moving it first to a cellular carrier then on to Google Voice.

Several authors suggested that T-Mobile was the least expensive way to do this. But I was hoping that since the POTS line was with AT&T already that moving it to an AT&T wireless service would be easier.


Since there's a $38 fee for setting up a new line on my AT&T Wireless family plan I chose to go with AT&T's GoPhone offering with a $10 monthly plan.

I have an old Captivate that I could use for this so I went to the nearby AT&T corporate store to initiate the transfer.


The first salesperson couldn't remember how to do this and said that I would have to first get a GoPhone number then port the POTS number to it. I excused myself from him and found my usual salesperson. She made the transaction much smoother.


As I stood in the store chatting with the salesperson my cell phone rang. It was the AT&T transfer department  They had an "error." My POTS line had 2 distinctive ring features that couldn't be ported. I said it was fine to drop these. He said he would make that change and put the request right back in the system. He said he expected it to be complete in 3 business days.

3 business days came and went. On the 4th business day I called the transfer department. They said that there had been more "errors." Each time the POTS group would kick it back to GoPhone. Then the GoPhone transfer department would fix the "error" and send it back to POTS. Repeatedly. Apparently the POTS group was only giving them one problem at a time.

The ETA was set at the 6th business day. My salesperson said that that actually meant midnight of the 5th day and that's how it worked out.

At 11:00 PM CDT (12:00 AM EDT) the Captivate got a text message that the port was complete. I immediately forwarded the Captivate to the temporary Google Voice number.

Within an hour Google Voice showed that it was eligible to transfer and I initiated the transfer. There were a few minor hoops to jump through and I paid them $20 using Google Wallet.

Be sure and get the account number for the GoPhone. You'll need to give that to Google Voice. AT&T calls that the BAN.


Exactly 24 hours after I submitted the port request to Google Voice:
We’re writing to let you know that your phone number: xxx-xxx-xxxx has been successfully ported to Google Voice!
Finished! Or just starting?

Sunday, November 10, 2013

On the Way to VoIP - Part 7

You'll recall that I implemented Quality of Service (QoS) in support of my Voice over Internet Protocol (VoIP) migration. And subsequently I moved my Internet connection from AT&T's DSL Extreme to Comcast's Performance Internet.

Here's what Comcast looked like via over the Gigabit Ethernet.

But when I connected over Wi-Fi downloads were much slower.

Hmmm. Why? Was it the router?

Remember that I was running a Cisco E2000 with dd-wrt. I'd had lunch with an old friend and he mentioned that he had moved to a new Asus router and it significantly increased his speed. I bought an Asus RT-N65U.

I installed it and ran the test over Wi-Fi again.

That's more like it.

Here's what Windows thought about the Wi-Fi from the routers.

My speculation is that although the E2000 supported 802.11n it looks like dd-wrt didn't enable it. Or it could have been something that I did or didn't do.

The Asus supports "2.4GHz and 5GHz concurrent dual-band transmissions with dual processor design for stronger signals and faster connection rates up to 750Mbps combined." I think that's the difference.

I haven't enabled any QoS on the Asus.

The Asus easily supports guest networks so I setup the "attwifi" SSID that I mentioned here. I haven't had any visitors come by yet but all my AT&T smartphones see it and put it at the top of their list.

Sunday, November 03, 2013

On the Way to VoIP - Part 6

Going down the road with Comcast I was facing $7.00 per month to rent a modem.


I could buy my own. I came across a good price on a Cisco DPC3008 DOCSIS 3.0 modem and grabbed it.

The Comcast installer didn't blink an eye about it and installed it and activated it with no questions asked.

Interestingly it looks like Comcast downloaded their own firmware onto it.

And it's fast.

Wednesday, October 30, 2013

To Be Fair, Again and Again

To be fair, Google's services (sorry but I couldn't find another source) went down recently as did Microsoft's services, again.

To be fair, this is what Microsoft's Dashboard looked like:

Manual actions to perform Swap Deployment operations on Cloud Services may error, which will then restrict Service Management functions. At this time we advise customers to delay any Swap Deployment operations.
To be fair, this is what I got when I went to Google's Dashboard:

To be fair, Microsoft's lasted 24+ hours (for one function) compared to Google's 20 minutes (for 0.02% of the Gmail user base).

To be fair, both probably had lingering effects.

To be fair, this is what life in the cloud is going to be like for the foreseeable future. But there is a pattern here. The Register called it a "Blue Sky of Death."

Follow-Up: Microsoft talks to The Register.

Sunday, October 27, 2013

On the Way to VoIP - Part 5

If you've been following my path to VoIP you know that one of my next steps was to install Comcast Internet. I did that recently after a fruitless discussion with AT&T about retaining me as a customer after nearly 40 years. They didn't seem interested.

As soon as the Comcast technician left following the install I fired up As expected it was way better than AT&T's DSL Extreme. But I had a nagging feeling that the pages themselves didn't come up as quickly as I expected.

I suspected DNS servers so I went to the router to see what it was given: Off to Google with that IP address and sure enough that is the Comcast DNS servers and the Internet is full of complaints about them.

One of the most thorough discussions was here with this illustration. Now I understand that many servers "rate limit / de-prioritize ICMP packet based ping" so a simple ping test is not sufficient as this comment states.

But I tried it myself anyway.

The server is Google's.

Even understanding the potential throttling of ping responses it seems that the Comcast DNS servers are less responsive than Google's.

I switched the DNS servers in the router to and perceived that it was faster. I realize that this was purely subjective.

In trying to be more objective, I ran Steve Gibson's Domain Name Speed Benchmark.

His test didn't show a significant difference.

What to do? I think I'm going to stick with Google's for the time being to isolate DNS services from my ISP as I switch providers.

Sunday, October 20, 2013


Do you know what winsxs is? Do you want to save gigabytes on your SSD? Read on.

In Vista Microsoft introduced a capability intended to alleviate DLL Hell. I guess it did but it introduced a new problem.

I first observed the winsxs problem on my daughter's Vista ThinkPad. Her husband had tried repeatedly to install an anti-virus. You'll recall that anti-virus vendors had problems early on with Vista. The result of these repeated installs was a hugely bloated winsxs directory. A clean of Windows 7 fixed that.

But the problem didn't go away. When I build my T420s I began tracking the growth in winsxs. It went from 10GB immediately after install to over 16GB after 20 months.

I wasn't the only one noticing this. Here are a collection of articles on this problem.

In the October 2013 patches, Microsoft quietly slipped in an update that helps.
Update is available that enables you to delete outdated Windows updates by using a new option in the Disk Cleanup wizard in Windows 7 SP1
The steps on how to recover the disk space are here. My winsxs went down from 16.1GB to 10.8GB on my 120GB SSD. Even better I saved over 7GB on my X100e's 60GB SSD.

Make sure that your system is stable before you do this. Afterwards you can't uninstall any previous updates.

It takes a reboot to realize the savings.

Sunday, October 13, 2013

On the Way to VoIP - Part 4

While testing the OBi100 during one call I was simultaneously downloading a large file and uploading a similar sized file. While I didn't notice any distortion, the party on the other end said the conversation was "choppy" to them.

I went into my router's Quality of Service (QoS) screen. I added an entry for the MAC address of the OBi100.

When there is an active conversation the WAN bandwidth looks like this.

Sunday, October 06, 2013

How to Lose a Market

Someday (perhaps soon) RIM will be a case study in how to lose a market. Everybody knows the story but this is about one company's journey.

It started in the fall of 2000. The CIO of this Fortune 100 company sent this note to his technology manager.

The notes at the bottom are:
I want to try one of these - Can you please arrange. I want to interface with e-mail. Thx.
Signed by the CIO.

Then a yellow sticky from one of the technologists:
Handle this with great care. This is how a mess starts.
You can guess where this went next. Soon BlackBerrys were everywhere. And a significant investment in BlackBerry Enterprise Server (BES) and the associated licensing.

By 2007 there were approximately 4,000 BlackBerrys deployed. That's over $200,000 per year just for BES licenses.

Then on June 29, 2007 the world changed.

The enterprise guys said the iPhone would never succeed. It was just an iPod with a phone. We all know where that went.

Fast forward to 2013.

Even Gartner is piling on.

The enterprise is facing an expensive upgrade to BlackBerry Enterprise Server 10 in the face of the overwhelming success of not only the iPhone but Android and Windows Phone smartphones.

That was too much. Before the end of 2013 the enterprise will be an iPhone shop.

Sunday, September 29, 2013

On the Way to VoIP - Part 3

One of the things you need to consider when moving to VoIP is what are you going to do about E911.

Obihai has a partnership with Anveo to offer E911 serivces to Obihai customers for $12 per year. The instructions are here.

Alternatively you can use the copper pair of the POTS line you just disconnected! POTS carriers (and cellular carriers) are required by law to handle 911 calls even if there is no subscribed service.

There are 2 ways to do this. The first is to keep a phone plugged into your old house wiring and use that for calling 911. That's my plan.

The second is to use a OBi110 with a line port. Plug your old house wiring into this port and you're done. Here's a review from Amazon where someone has done exactly this.

Sunday, September 22, 2013

On the Way to VoIP - Part 2

As I was testing VoIP with the OBi100 I wanted to test using my smartphones as clients.

Obihai has apps for iOS and Android. These apps traverse the Internet back to your house and use the OBi100 to originate the call.

I installed the iOS app on my iPad and it worked perfectly the first time. Then I installed the Android app. I noticed that it was last updated in October 2011. Unfortunately it didn't work as smoothly. If you want to see the blow by blow read this. As noted it works sometimes but not very often.

There is discussion in that thread about using other SIP clients and I tried that briefly but that was really non-trivial to setup.

Since my goal was not really to network back to my house and use the OBi100 I went looking for just Google Voice clients.

I found GrooVe IP Lite. It did exactly what I wanted and worked the first time. It makes and receives Google Voice calls from your Android device. You have to enable Google Chat in your Google Voice account but that should be done already for the OBi100. The Lite version only works over Wi-Fi but that is fine for now. There's a good guide for installation and use here.

Why didn't Google just do this with their Google Voice app?

Sunday, September 15, 2013

Jelly Bean Easter Egg

Jelly Bean is so cool. I'm probably the last person to discover this but Jelly Bean has an Easter egg.

If you go to "Settings" / "About phone" and tap "Android verion" several times a jelly bean will pop up. Long press it and it confirms that you're running "Jelly Bean" and then gives you a screen with floating jelly beans. The only objective is to flick the jelly beans off the screen. I guess it's a good time killer.

Similarly if you're running CyanogenMod tapping on "CyanogenMod version" will get you their Easter egg.

Engadget had a post on the Easter egg with a video of it in action.

Sunday, September 08, 2013

Jelly Bean Notifications

I'm still finding new stuff in Android's Jelly Bean. I recently moved to Pocket Casts and noticed that Pocket Casts takes advantage of a new Notification feature in Jelly Bean.

Applications can put additional information and even action buttons in the Notification area.

Here's the normal notification from Pocket Casts.

To expand the Pocket Casts notification, drag it down with 2 fingers.

You can resume playing the podcast directly from the Notification screen.


Sunday, September 01, 2013

2013 Pathfinder Setup

Remember my recent post about my Honda Accord's iMID system? Now my wife has gotten a new car, a 2013 Nissan Pathfinder. It has an in-dash screen but it is not as comprehensive as the Accord's. Subsequently some of the setup is a bit more obtuse.

Procedure for storing the outside mirror positions for best visibility when backing up

An outside mirror position for backing up can be stored for each memory switch (1 and 2):
  1. Set the parking brake.
  2. Place the ignition in the ON position. (Do not start the engine.)
  3. Push the memory switch 1 or 2 fully for at least one second to operate the automatic drive positioner.
  4. Turn the outside mirror control switch to L (Left).
  5. Depress the brake pedal.
  6. Move the shift selector to R (Reverse).
  7. Adjust the mirror to the desired viewing position for backing up by operating the outside mirror control switch.
  8. Push the SET switch and, within five seconds, push the memory switch 1 or 2 selected in step 3.
    • The indicator light for the pushed memory switch will come on and stay on for approximately five seconds after pushing the switch. After the indicator light goes off, the selected mirror position is stored in the selected memory (1 or 2).
  9. Turn the outside mirror control switch to R (Right). Repeat the above procedure to adjust the right mirror position and store in the selected memory.
    • When the driver’s seat and outside mirrors are not in the memorized position, the outside mirror will move with the initial tilt-down angle.
I love the "repeat" in step 9.

Sunday, August 25, 2013

Jelly Bean 4.3

It seems like I just finished upgrading everything to Jelly Bean. Now here comes Android 4.3. Another flavor of Jelly Bean.

As usual CyanogenMod is awesome. They started releasing CM 10.2 nightlies for a small set of devices and my Samsung Captivate was among them.

All I thought I had to do was to go to "Settings" / "About phone" and look in the "CyanogenMod updates".

From there I changed the "Update types" setting to "New versions (incl. Nightlies)" and I was shown the nightlies.

I chose cm-10.2-20130817-NIGHTLY-captivatemtd and let it download and install.

I was doing good until that point.

What I didn't realize was that they had to repartition the NAND storage. When the CM Updater tried to flash the ROM I got the following screen.


At that point I backed out and went to RTFM.

As usual there's a thorough thread on Obviously I should have started there.

I had missed 2 things that I should have done in preparation for this update. First, I needed to have a nandroid backup of /data before I started. Second, I needed new gapps (Google apps).

Fortunately I had just taken a nandroid backup and written it to my external SD card so I was ready with that.

The second post in the above thread had a link to the new gapps. I downloaded those and Bluetoothed them over to the Captivate.

So back to the CM Updater. This time I was expecting the prompt for repartitioning. What I didn't expect was to have to go searching for the "" referred to above.

It's not called It's /storage/sdcard0/cmupdater/ At least now I know. So do you.

So the repartition and flash worked. Before I left recovery I restored /data using these instructions and rebooted.

Then I went back into recovery and installed the gapps.

Here's the result.

I thought I was finished.

I kept having various problems with a couple of apps. The first post in the above thread said to "WIPE (wipe data/factory reset + wipe cache partition)". CM Updater didn't do that.

I uninstalled and reinstalled YouTube, Voice, Drive and Chrome and everything has been quiet.

There's a new camera app called focal but as of the 20130817 nightly it is not complete.

I'm looking forward to TRIM running.

Subsequently I've upgraded to the 20130824 nightly and now focal works (so far).

Sunday, August 18, 2013

To Be Fair, Again

To be fair, Google's services went down recently as did Microsoft's services, again.

To be fair, this is what Microsoft's Dashboard looked like:

To be fair, this is what I got when I went to Google's Dashboard:

To be fair, Microsoft's lasted 40+ hours compared to Google's 2 minutes.

To be fair, both probably had lingering effects.

To be fair, this is what life in the cloud is going to be like for the foreseeable future. But there is a pattern here.

Sunday, August 11, 2013

On the Way to VoIP - Part 1

In some ways I'm still old fashioned. I still have POTS. And I have DSL. I've had my challenges with DSL but I'm living with it. I just go to my daughter's house to upload my videos and I've come up with an alternative to cloud backup. But I'm just making excuses.

And the cost.

$52.11 for voice service. And $42.95 for Internet.

Yeah, there are places where I can make minor savings. I can get the POTS down some and drop long distance. Then we could use our cells for long distance. But that requires re-training. I went and sat down with AT&T and they couldn't come up with any savings. I did learn something that I'll raise later.

In my news feeds I'd come across several articles on VoIP.
These inspired me. I've been using Goole Voice for my business line and was very satisfied with it.

The Obihai devices keep coming up in these discussions. There are several models including OBi100 and OBi110.

Where I'm headed is to:
  1. Move my Internet connection to Comcast (from AT&T DSL)
  2. Cancel my AT&T DSL
  3. Port my POTS number to Google Voice (not quite that simple)
  4. Use OBi100 to deliver the Google Voice number to home phones
Years ago when Google was more liberal with their Gmail account names I got a Gmail account that is [myhomenumber] That was fortunate. Don't use your normal Gmail/Google Apps account for the Google Voice number. I added a Google Voice number to that Gmail account. I just let it assign a random (temporary) number for now. I'll fix that later.

Then I bought an OBi100.

That's a quarter sitting on top of the device.

Following the instructions here I setup the Google Voice account on the OBi100 in less than 5 minutes.

I plugged a spare phone into it and played with it. It worked fine.

My normal house phones are cordless Uniden CLX485s that only use one RJ11 connection. To give the OBi100 a real life test, I plugged the Uniden CLX485 base into the OBi100 and plugged the spare phone into the house RJ11. Remember that I can't unplug the house from the POTS due to the DSL services.

Then I forwarded my POTS number to the temporary Google Voice number.

Works like a charm.

There are even some unexpected benefits. When a call comes in to my POTS number, the spare phone will ding one time as it forwards to the temporary Google Voice number. Sometimes we would hear that ding and the temporary Google Voice number wouldn't ring.

I logged into the associated Google Voice account and there was nothing in the inbox. But there were entries in the spam folder. Google Voice was sending those calls directly to spam. Since I made this switch I have received NO telemarketer calls.

My plan is to continue with this configuration for a month to make sure I understand it completely.

The next steps are to install Comcast Internet and cancel AT&T DSL. Then port the POTS number to Google Voice.

Sunday, August 04, 2013


Every now and then my propeller beanie comes out.

This is one of those times.

This time the recent announcement of Android 4.3 triggered it. AnandTech discovered that buried deep in the code was TRIM. And that the lack of TRIM was the cause of various Android devices getting slower as they get older.

Stop and think about that. How many Android devices have you had that you felt like got slower as they got older? And you thought you were just crazy?


They really were getting slower as they got older.

Here's the story in a nutshell.

Remember that Android smartphones use the same technology as SSD devices for internal memory. SSD devices read fast. They write to an empty block fast. Writing to a used block is slow. Really slow.

So when all the unused blocks in an SSD device get written to subsequent writes get really slow and the device slows down.

Why don't SSD drives in PCs and laptops exhibit this phenomenon?

One word: TRIM

Do you have an SSD in your PC? Try this.

Run Command Prompt (cmd) as an administrator and type: "fsutil behavior query DisableDeleteNotify".

I'll bet you got a "0." I did. That means your device and operating system support TRIM.

So what does TRIM do? Watch out for the spinning propeller.

SSDs are smart enough to know that they are slow writing to a used block. So the SSD will write to all the unused blocks first. Eventually it will have written to all the blocks. From that point forward, all writes will be slow.

But wait you say. My SSD isn't full. I've deleted lots of files. But when an operating system deletes a file, it doesn't really erase the data. It just nullifies the pointer to the file. So the blocks on the disk (SSD in this case) retain the data. Remember DOS Undelete programs?

So deleting files doesn't fix the write problem.

What to do?

TRIM enabled disks and operating systems have a protocol where periodically the operating system passes a list of blocks that were contained in deleted files to the SSD. Then in the background the SSD goes and clears those blocks.

Problem solved.

Crucial has a deeper discussion here.

Remember the ThinkPad X40 that I put an SSD in? It was so fast. At first.

Then it slowed to a crawl. My thread on the ThinkPad forums is here.

Now think about your Android tablet having that problem.

The solution? Get to Android 4.3 as fast as you can.

Sunday, July 28, 2013

Windows 8 is Dead for the Enterprise

A recent Forrester report was entitled “IT Will Skip Windows 8 As The Enterprise Standard.” It said that most IT shops are still too focused on deploying Windows 7 to tackle Windows 8.

There are a couple of clarifications to be made here. First this statement is most likely true for the enterprise-class shops but the Small and Medium Business (SMB) shops don’t have much choice. The enterprise-class shops have Microsoft Enterprise Agreements (EAs) or Software Assurance (SA) that give them downgrade rights from Windows 8 to Windows 7. And their PC hardware vendors offer this downgrade service before the new PCs are delivered to the enterprise so the enterprise likely has not seen Windows 8. SMBs on the other hand have to buy through the Value Added Reseller (VAR) or even the retail market. The entry Windows 8 edition does not have downgrade rights.

Secondly, enterprise-class shops should be well on the way to replacing Windows XP systems with the looming end of support of April 8, 2014. With a 5 year replacement cycle they would have just 20% of PCs left on Windows XP. Even that is probably an acceptable risk and there’s still a year to go.

But back to the topic. What will be Windows 8’s role in the enterprise down the road?

Clearly Microsoft has hit some resistance in the forced march of Windows 8 to use the Modern UI (formerly known as Metro).

During a recent earnings call Microsoft's outgoing CFO Peter Klein said that Windows 8.1 (“Blue”) will address customer feedback that Microsoft has been collecting about Windows 8 and Windows RT. Subsequently Microsoft has stated that they will restore the Start button and provide a boot to desktop option.

This seems to address the biggest training issue that Windows 8 is facing in the enterprise but unfortunately it’s a day late and a dollar short. Enterprises are hunkered down doing their Windows XP to 7 migration and don’t want or need to look up.

Windows 7 end of Extended Support is January 14, 2020 so looking at a 5 year refresh cycle, enterprises don’t have to commit to a replacement until early 2015.

The Register reports "most businesses are upgrading to Windows 7, finally coming off of Windows XP, and not even remotely considering Windows 8. Overall, Windows 8 has sold so badly that analysts reckon it was responsible for the industry's worst PC sales since records began."

Microsoft seems to be on a much more rapid upgrade strategy with Windows 8 so this will give enterprises several opportunities to see where Windows 8 will be delivering business value before committing to an upgrade choice.

Microsoft has an advantage over Apple in that Microsoft’s strategy seems to be to converge the kernel and UI for Windows across PCs, tablets, and phones. Apple still has no extant strategy to converge Mac OS and iOS. Clearly Microsoft’s strategy will lower their development and maintenance costs but it is not yet obvious that that will give them a competitive advantage given the diminutive market share of Windows Phone 8 and Windows RT.

Sunday, July 21, 2013

When Clouds Go Bump Revisited

Remember last year when I discussed the various service failures of several cloud services?

A recent Dilbert cartoon hit the nail on the head.

Sunday, July 14, 2013

When Everyone Is Out To Get You

When everyone is out to get you, paranoia is just good thinking. - Dr. Johnny Fever

It seems like lately everybody is trying to stick their noses into your business. Here's a couple of the stories and how to slam the door on their noses!

The first was the NSA leak by Edward Snowden about a process known as PRISM. Here's the article from the Washington Post.

Next was that USPS is photographing the front of ALL snail mail. Here's the article from the New York Times.

Then AT&T announced that they were issuing a new privacy policy to "provide our customers with ... personalized service." That means they're going to start selling your your location data to marketers. Here's the article from the Business Insider. Here's how to turn it off.
  1. Start by clicking the following link, which leads to AT&T’s opt-out page:
  2. Log in with your phone number and password.
  3. You will now find yourself on AT&T’s privacy settings page, which includes the following blurb: “Our External Marketing and Analytics Reports contain anonymous information about groups of our customers. You may choose to exclude the anonymous information from your accounts from these reports. Please log in to each one of your accounts to opt-out.”
  4. Check the box next to each wireless phone line you wish to opt-out with.
  5. Click the “Submit” button.
Finally Twitter announced they were going to "make ... Twitter more useful to our users." Here's the article from Lifehacker. To turn off Twitter's new tracking:
  1. Log in to Twitter and visit your account settings page.
  2. Uncheck the box that says "Tailor Twitter based on my recent website visits."
  3. Uncheck the box that says "Tailor ads based on information shared by ad partners."
  4. Scroll down and click "Save Changes."
In 1999 Sun's Scott McNealy said "You have zero privacy anyway ...Get over it."

Sunday, June 30, 2013

Nothing But Jelly Bean

Last summer I installed Android 4.0 (Ice Cream Sandwich - ICS) on my Nook Color. I used a technique described on the XDS Developers forum that let the Nook boot from a microSD card. The developer (verygreen) of this technique has apparently moved on to new challenges.

In the meanwhile, Android 4.2.2 (Jelly Bean) has dropped and there are CyanogenMod ROMs for the Nook Color using the microSD card technique.

The thread above has continued to get comments and questions and leapinlar has been very helpful in fielding these.

So here's how to install CyanogenMod 10 (CM10) Jelly Bean on a microSD for a Nook Color.

Use a Sandisk Class 4 8GB microSD card as recommended here. Use a microSD USB adapter and insert the microSD and USB adapter into your computer.

leapinlar has updated verygreen's microSD image to support ICS and Jelly Bean. Download the latest generic-sdcard-v1.3-CM7-9-10-larger-Rev[?].zip from here. Unzip and extract generic-sdcard-v1.3-CM7-9-10-larger-Rev[?].img.

If you're running Windows, download from here. Unzip and extract the folder win32diskimager-RELEASE-0.3-r27-binary. Run Win32DiskImager.exe and write leapinlar's image (generic-sdcard-v1.3-ICS-large-Rev[?].img) to the microSD card.

After Win32DiskImager is done with writing, eject the microSD and USB adapter and re-insert it into your computer.

Download a CM10 Release Candidate build from here. Pick the newest from the top of the page. If you're brave download a CM10 nightly build from here.

Download the Google apps for Jelly Bean (currently gapps/ from here.

With the newly imaged microSD and USB adapter back in your computer, copy the CM10 ROM zip and Google apps zip into the root partition (the only one you can see) of the microSD card. Don't unzip these files.

Eject the microSD and USB adapter from your computer.

Make sure that the Nook Color is powered down and insert the new microSD card into the Nook. Power it up.

If the Nook doesn't boot at this point, revisit the microSD and USB adapter and the downloaded .img file. Explore alternatives perhaps using a different microSD and/or USB adapter and redownloading the .img file.

Sit back and watch. It will take a few minutes and lots of messages will scroll by. Then the screen will go black. Power up the Nook.

Jelly Bean!

I still had to use the Google Play Store to install Gmail and youtube.

It's probably still worth reading my Ice Cream Sandwich errata.

The staying power of the Nook Color is incredible. It will soon be 3 years old and is running the absolute latest Android operating system.

Sunday, June 23, 2013

Google Plus Photos NOT

Google is clearly pushing everybody to Google+ for everything and making things "pretty" in the move. The photo feature in Google+ was pretty awful at first. A recent change got the presentation much "prettier" but still there's a tremendous amount of function and information that is simply missing.

Start rant...

When you browse to be certain that you don't end up here.

Notice that little yellow banner. "Click here to go back to Picasa Web Albums." I thought that that's where I told it to go.


Here's my Picasaweb landing page.

Three rows of data. Each album has its name, the date of the album and the number of photos in it. The right column is pretty well wasted. I have to click 'Show All Albums" to see the rest.

Here's my Google+ Photos landing page.

Sorry. No albums here. "Highlights" Not your highlights. Google's. Go figure. The first photo in my "Highlights" capture above is more than 6 years old. These "Highlights" change with your activity. After working on this blog post the first highlighted photo is from my blog. Almost 5 years old.

Click on "Albums."

There! But wait. Where are the album dates? And the loss of that information doesn't even give me another row of albums. There are more albums in each row without the wasted right column.

So let's go look at an album. Here's a Picasaweb album.

15 pictures on the page. 123 pixels of header. Lots of white space. You can see that I geotag my photos. Picasaweb collects this and gives me a nice map of the entire album.

Click on "View map" and ...

By the way, that URL is shareable. Nice.

Here's the Google+ album page.

12 full pictures and most of 4 more. 234 pixels of header; 100 pixels more than Picasaweb. No album map. I can't find one at all. And you can see that I requested to "Show location data" but there's none on this page. But it is pretty. The presentation of the panorama (automatically created by Google+) is much nicer than Picasaweb.

Why didn't they make the page of all the albums look like this and overlay the text on the album cover photos?

Now here's a photo in Picasaweb.

Wow! There's a map over there. The ">>" near the right column just collapses the right column and doesn't enlarge the photo.

Same photo in Google+.

Hmm. Wonder where that was taken? The photo is much bigger than in Picasaweb though. They put the caption over on the right to gain that space. But they sure left a lot of dead space below the caption. Maybe they needed the room for the +1 button.

Maybe if I click on "Photo details."

Finally. There's the geotag data. The map has a much more appropriate level of zoom than Picasaweb. And there is the exif data. But wait. That doesn't seem like all the exif data.

Back to Picasaweb and click on "full details page."

That's more like it.

I could go on but you get the picture.

I'm looking forward to Google fixing these and the rest before they "Spring Clean" Picasaweb.

I don't have the patience to even start on the topic of sharing these albums. Maybe next time.