Tuesday, May 17, 2016

Yosemite, Fusion 7, Windows 10, Office 365: experience

I am a bit freaked out about how painless this was. The experience was surreal to someone of my vintage.

My primary machine is a 10 month old MacBook Air with 8GB of RAM, 1.6GHz i5 and a 256GB internal SSD running Yosemite. A Thunderbolt 2 Hub connects an USB 3 external 1TB SSD and an old Firewire 800 3TB external drive and separate 3TB backup cradle. All pretty generic stuff.

For work reasons I bought Office 365 Mac. I thought I might be able to avoid Windows entirely, but a new contract meant I couldn’t escape.

So I installed my Fusion VM 7.x and an old XP image with Office 2007. The image is stored on my external SSD. That went disturbingly well, so I downloaded the Windows 10 ISO (64 bit) and asked Fusion to create a new image from the ISO. That also went disturbingly well. The only glitch was it hung during VMWare Tools installation. I had to restart the VM and I reinstalled the tools.

Then, hey, what the hell, I installed Office 365 too. The usual 365 license covers several machines, both Windows and Mac. Yeah, same thing. No problem.

The image on the external SSD took 12.6GB with just Windows 10 Pro, 14.45 after Office 365 installed. Heck, I’ll probably move it back to my primary SSD.

The performance of my very generic low end MacBook Air is excellent. Modern SSDs are a miracle.

Very. Strange.

Monday, May 16, 2016

Android restriction (parental control) solutions: Screen Time and MMGuardian advance to next step

For my book project I searched my moto E test phone (Android 5.1) user guide for “child” and “restriction” and “parental”.  I found “products are not toys and may be hazardous to small children”.

Ooookaaay. That’s not too encouraging. My iPhone User Guide has an extensive discussion of restriction options.

Next I tried “restricted profiles” (Android 4.3 and later). Oops. They’re only for tablets, not phones. So it was time to look for 3rd party options [1].

Google found me some lousy references and two useful ones: Five parental control apps for Android devices - Pocket-lint and 10 Android Parental Control Apps - Yoursphere for Parents [2].

From these I picked up MMGuardian, Funamo, AppLock, Kids Place, Screen Time, Net Nanny, Norton Family and a few others. Between the set of these Android, for a technically sophisticated user, can have advantages over built-in iOS restrictions (iOS security models limit the value vendors can add). 

I’m most interested in products that work for teens and/or adults with atypical minds, so that eliminated a few options. Next I looked for good quality companion web sites with clear pricing — that criterial took out both Norton Family and the (not-really-free) AppLock.

I ended up with four options:

  • MMGuardian: app usage, time use, texts including driving. $35/year. iOS solution from same vendor.
  • Screen Time: $48/year
  • Net Nanny: browser restrictions, remote access. $60/year - primary focus on browser control.
  • Funamo: $20 one time purchase.

Funamo is the value option, with a more limited and geekier web site than the competition. For my target users I think more support is needed. Net Nanny has the highest pricing, which may reflect longer tenure. MMGuardian and ScreenTime seem (hey, information is limited!) to have a good balance of price and value.

ScreenTime and MMGuardian both have well done blogs with working RSS feeds. ScreenTime is Android only, MMGuardian has an iOS product too. Both have a 14 day free trial. ScreenTime has 7,600 Play Store reviews, MMGuardian has 1,200. Both have well documented uninstall procedures[3]. They are well balanced competitors.

I’m going to have to test both of them — since MMGuardian also has an iOS product I’ll start there.

- fn -

[1] Android reminds me so much of Windows; only geeks can truly use it. Why hasn’t Google bundled even minimal functionality into their OS? The sort-of-free AppLock has 3.3 million reviews. There is a need.

[2] There’s something broken in the info-sphere. Exactly two useful reviews?!

See also:

Thursday, May 05, 2016

Brother HL6180DW laser printer: manufacturing defect in foam roller in @ 2003 printers?

This post is based on my two star Amazon review of our 3yo paper-jamming Brother HL6180DW:

We've had this printer for 3 years.

Early on this printer had sleep/wake issues with our Mac. Sometime in the first year or so of use software updates fixed those.

After almost 3 years of regular home printing use it began jamming. The Drum was also due to be replaced. We replaced both the drum and the toner cartridge, but the jamming worsened until it became unusable.

Since this happened I’ve been in contact with Brother support. They requested photos of a key foam roller and they wanted the printer serial number. Even though the printer is 3 years out of warranty they said they'd mail me a refurb. Problem is -- they don't have any refurb devices, they've all been shipped out.

I think my year of this product had a manufacturing problem with a foam roller. It's visible when you open the rear port and flip out a plastic guide. It should be crinkled at the margins and smooth in the center. Ours has linear striations. There are blog posts about this problem. I think Brother offered the out-of-warranty refurb because they know printers in my model year are failing. They're unwilling to announce this however. This probably also explains the lack of refurb machines.

I'm actually ordering a new one. If they send me a refurb in the next 30 days I'll return it (so Brother will have another refurb to distribute!). If they send me a refurb 4 months from now I guess I'll have two. I'm ordering a new one because I have toner and drum components already.

If you have an older HL6180DW do these things before you order a new Drum for an old printer.

1. Check the foam roller and make sure it looks like it should (When you get a new one, photograph the roller.)
2. Check the Fuser lifespan remaining. After 3y we had 71% left. (it's in the manual).

I’ll add photos of the current foam roller condition and the new one once it arrives.

The last really good printer I owned was an Apple LaserWriter Select 360. Printers have not really improved since the early 90s, scanners stopped improving around 2000, dSLRs stopped around 2014, smartphones around 2016.

Update 5/6/2016: Very much to my surprise Brother phoned to say they were unlikely to get any more 6180DW, but they’d overnight ship me a HLL6200DW along with a toner cartridge. That’s the 6180 replacement.

Update 5/10/2016: I received my replacement HL-L6200DW. I can’t tell if it’s new or a refurb. The test print is vastly better than my aged 6180DW, there was more wrong than the paper jams. Installation was straightforward, save that one Mac gave me an annoying “unable to communicate with the printer art this time” over the WiFi interface. I reset the OS X print system then restarted the Mac and the printer and it worked.

I didn’t bother with the directions, I used the USB cable and OS X printer page to get  it on the WiFi network.

Some of the things I’ve learned:

  1. Think very carefully about replacing the Drum Unit on a 3yo printer. The Drum Unit was half the price of a new (toner-free) printer. If I hadn’t bought the Drum Unit I wouldn’t have bothered contacting Brother on an out-of-warranty device, I’d have just bought a new printer. Faster and less trouble.
  2. Brother is pretty serious about service. It took a few days of back and forth tech questions, but their responses were never unreasonable. Probably best to say you use paper they recommend when asked (in fact I did, but only by chance).
  3. I was a bit annoyed when Brother said to wait for a refurb — I pointed out I’d have to buy a printer while I waited. So that wasn’t stellar, but they then phoned and said they would send a newer model. So there’s that.
  4. It’s really dumb to think that a Drum Unit will help with paper jams if the paper isn’t jamming in the Drum Unit. Duh. I wasn’t thinking very clearly there. In my defense the Drum Unit was end-of-life, so I figured it was problem. It wasn’t.

Friday, April 22, 2016

Apple Touch ID is dangerous.

Many iOS apps, including Apple secure Notes and banking apps and 1Password.app and Apple Pay provide an option to use Touch ID for authentication. Apple makes much of the security advantages of Touch ID.

Sometimes Touch ID fails to recognize your finger. That’s no problem, you can repeat that finger recording, or you can add another one. All you need to know is your iPhone’s unlock code.

All anyone needs to know is your iPhone’s unlock code. With it can add their own finger, and unlock anything that was Touch ID enabled. In my testing on Apple’s secure Notes a fingerprint added after a Note was created opens the Note.

So Touch ID is only as secure as your iPhone’s unlock code. Which, even with Touch ID enabled, you have to enter too often. So you probably make it short and tappable so you can do that.

Yeah, once you enable Touch ID on your bank account, you’ve basically changed its password to your iPhone’s conveniently short and tappable unlock code.

Touch ID is dangerous.

Monday, April 18, 2016

Force Mac Chrome to open for a specific user profile - as of April 2016

I’ve been trying to get Chrome to open in one of my 15 user profiles since at least 2012. I have visited an open SuperUser question on this topic for four years. Today I added a method that work — for this moment:

As of April 2016 on Yosemite I was able to locate Google Apps for all of my 15 Google Profiles (yes, 15). Some were in ~/Applications/Chrome Apps, though we have been told these are going away [1].

To find all of them however I had to do this:

Go to ~/Library/Application Support/Google/Chrome.
In Spotlight search on kind:app
Find 300kb "Applications" with names like Gmail (username).
Copy the ones you want and rename them, then put in your Applications folder of choice.

All victory is transient, but Sisyphus is ahead most of the time.

Scrivener - the book compiler. Review.

I'm using Scrivener to write Smartphones for All - Using iPhone and Android to build independence for atypical minds.

It’s brilliant software. On my Mac it uses the same text editing engine as TextEdit, including the same RTF format. So, like the Nisus Writer I once used, my writing is indexable by Spotlight and almost as future-proof as plaintext. (I thought RTF was dead. Guess not.)

Apple’s text engine has its share of bugs and limitations, but for basic text work it’s good enough. The primary weakness is table layout, but so far I’ve worked around that.  Scrivener manages the tasks TextEdit can’t do, like page references, footnotes, internal links, document structure and the like.

The real brilliance though is how Scrivener merges concepts of software code management with the traditional word processor. It treats text blocks as though they were blocks of code, including simple version management and “compiling” to multiple output formats (PDF, EPUB, etc). Rather than use some horrid database store, Scrivener leverages native Mac file structures to manage its data. Extra brilliance points for that.

On this compile framework Scrivener layers a rich set of power user features. The latter, I admit, can be overwhelming. I recommend learning the basics from the initial tutorial, then start writing and learn additional features over time.

All software dies. One day Scrivener will die too. But with the ability to complete to multiple formats, and the use of native file system semantics and RTF data, Scrivener is as future proof as any power tool can be [1].

[1] Scrivener’s design is a guide to how photo management software should be built. Please, someone do this.

Thursday, April 14, 2016

The new and old and obsolete and confusing ways Mac OS X starts code running.

Windows added uninstallers at least 15 years ago. MacClassic OS didn’t need them, but Mac OS X sadly does. Indeed, it needs them more as MacOS gets more complex and less well documented:

… The difference between an agent and a daemon is that an agent can display GUI if it wants to, while a daemon can’t. The difference between an agent and a regular application is that an agent typically displays no GUI (or a very limited GUI).

… Agents run in a user context; daemons are userless and purely background, without any access to a window server or other user state. That’s why the daemon vs agent distinction in the Library folder names …

… once comprehensive daemon/agent doc was last updated in 10.5 after initial authoring for 10.4

Without an uninstaller we end up doing a hunting expedition when weird things happen. Code that starts automatically is particularly hard to track down. I wrote this post as a reference for me, drawing from a few Super User and other posts:

 This list of places to look comes from the above, some of these are extremely obscure and some may not longer be used.

  • User Login Items (~/Library/Preferences/com.apple.loginitems.plist)
  • ~/Library/LaunchDaemons
  • ~/Library/LaunchAgents
  • ~/.bash_profile
  • /Library/LaunchDaemons
  • /Library/LaunchAgents
  • /Library/StartupItems
  • /System/Library/LaunchDaemons/
  • /System/Library/LaunchAgents
  • /System/Library/StartupItems
  • /Library/Preferences/loginwindow.plist can have Login Items that apply to all users
  • /etc/profile
  • /etc/mach_init.d/
  • /etc/rc/ and /etc/rc.local - totally unsupported, and not created by default (but probably still work)
  • Network/Library/LaunchDaemons, but I don’t know)?
  • /etc/mach_init_per_login_session.d/ and /etc/mach_init_per_user.d/
  • cron launched @reboot items (yes, cron is still there), this might even work for everyone’s crontabs
  • /Library/Security/SecurityAgentPlugins that have been loaded by being listed in the proper spots in /etc/authorization
  • /private/var/root/Library/Preferences/com.apple.loginwindow.plist, in the LoginHook key (runs as root, passed the username)MCX (WorkgroupManager) login hooks (runs as root, but passed the username) note: below this network home directories are more reliably available, as is a connection to the WindowsServer
  • MenuBar items from ~/Library/Preferences/com.apple.systemuiserver.plist and /Library/Preferences/com.apple.systemuiserver.plist (+MXC added items)
  • /Library/Preferences/loginwindow.plist, in the key (array of paths) AutoLaunchedApplicationDictionary (everyone gets this launched at login, runs as user) (+MXC added items)
  • LoginItems (generally GUI items) ~/Library/Preferences/com.apple.loginitems.plist and possibly /Library/Preferences/com.apple.loginitems.plist (have not tried) (+MXC added items)

Some terminal commands can help figure out what’s running:

launchctl list

2BUA8C4S2C.com.agilebits.onepassword4-helper
ch.tripmode.TripMode.169864
com.bombich.cccuseragent.132660
com.google.Chrome.44620
com.google.GoogleDrive.49732
com.google.keystone.system.agent
com.red-sweater.crashreporter.63648
com.red-sweater.marsedit.6280
com.synology.CloudStation
com.synology.CloudStationDrive
org.openbsd.ssh-agent
ws.agile.1PasswordAgent

When I edited my ~/Library/Preferences/com.apple.loginitems.plist I found references to 4 3 apps and a server, including one I removed 7-8 years and 3 machines ago:

  • LaunchBar.app
  • /Volumes/Molly_Internal
  • /Applications/Dropbox.app
  • MagicPrefs.app

I doubt they did anything, but I edited them out anyway.

Software ages like people, with increasing mutations and unhelpful complexity. OS X is late middle age, it’s been through many handoffs, each taking its toll …

See also