Thursday, June 16, 2016

You cannot reclaim a personal email address used by a stranger's Facebook account.

I think Facebook knows this very well. They closed a discussion thread on this that’s over a year old, and you can’t start a new thread — Facebook will say the answer already exists. 

Their help documentation is incorrect:

Screen Shot 2016 06 16 at 10 16 21 AM

If you try to do this you’ll be told the email is claimed, there’s no way to reclaim. You can use a password reset to lock the other person’s out of their account (assuming you don’t know the attacker’s password) but you will still be unable to reclaim your email address. (In my wife’s case Facebook messages were being set to her spam folder, so she probably missed the notification that the email address was being used.

We ran into the same problem with Skype, but there it is possible to take the account back.

Update: this is a very old problem - 2012. The abuse page links simply redirects to the email notifications that doesn’t belong to me page where the advice doesn’t work. I’ve tried Facebook’s “report a problem” page but I’m not optimistic:

Fb report

Update 6/17/2016:

I found another Facebook page for this issue that has a different workflow:

https://www.facebook.com/help/contact/255904741169641

It at least does not fail immediately.

Or, you can pretend you don’t already have a Facebook account. Use an incognito window and try this one:

https://www.facebook.com/help/contact/537325953055459

Looks like every Facebook engineer has their own independent process…

Wednesday, June 15, 2016

Skype identity theft feature: anyone can use your email to create an account.

Skype doesn’t validate email addresses. Anyone can use any email address with a new Skype account as long as there’s no Skype account already associated with it.

This is not a new problem. It’s astounding that Microsoft has not fixed this.

Today Emily received notice of a new Skype account using her email address. I verified that the account existed.

To fix this I had to attempt to create a new Skype account with her stolen email address. That gave me a password reset option that went to her email. I reset the password and now she has a Skype account under her control. She doesn’t want that account, but we’ll need to keep it for now.

Obviously scammers are doing this for some kind of criminal activity — and that activity will be associated with your email address.

This is the most astounding example of rank incompetence I’ve seen in years. Microsoft has truly hit bottom. 

Update: Same thing with a Facebook account. Which is curious. Report that one here.

Tuesday, June 14, 2016

Using US National Grid System (USNG) GPS Coordinates on an iPhone - good luck with that

The boys and I are going mountain biking at the Cuyuna Trails near Ironton Minnesota. The map uses USNG - United States National Grid GPS coordinates.

For example: 2339-4834 is one coordinate. If we need emergency services we’re supposed to know where we are on the map and give them these coordinates. Way points on the map reference the coordinates.

I wondered — can I use these in my iPhone?

Unfortunately neither Apple nor Google Maps support USNG coordinate date entry. After some searching I found some suggested apps:

  • Mobile App: a web app with an odd behavior — might be embedded javascript. They’re looking for someone to make it a real app. It seems to work — shows my current USNG coordinates. Might be a way to find where I am on the trail map.
  • Apps | U.S. National Grid Information Center: 3rd party apps including Theodolite (iPad) and Pro Compass — that don’t actually seems to handle UNSG!

I also found “Map Tools”, but it is abandonware and has a nasty pricing scheme. (Incidentally, Apple App Store search is just atrocious.)

In the end the only app I could find that seemed to cover USNG and be well maintained was MilGPS. I bought it, though I’ll also test out “usngapp.org” — it does seem to work.

I wonder if USNG is either a dead end or a false start. (See also: 1-Introducing the United States National Grid.)

Saturday, June 11, 2016

Clean install of windows 10 on VMWare Mac - getting a license ($130)

I needed to use Microsoft Access.

I know what you’re thinking. You’re wrong. Yes, Access is a horrible old patchwork beast, but for some kind of data manipulation it’s still unequaled. It’s particularly good at mixing local data store with ODBC stores. It helps that I know where the bugs are buried — though Access 365 on Windows 10 is particularly buggy.

So about two weeks ago I fired up my old copy of VMWare Fusion 7, downloaded Windows Pro 64bit OEM and used my multi-platform multi-machine Office 365 license to install Microsoft Access. It was all relatively painless. I did find Fusion 7 isn’t happy with Yosemite virtual desktop, so I only use full screen Win 10 in just one display. That works until I do my El Capitan/Fusion 8 update.

The entire package takes up about 23GB on an external SSD. 

I did wonder how I was going to pay for Win 10. It was working without complaint. I figured I’d get some kind of notice. About two weeks after installation it began showing a watermark on the screen requesting activation and personalization features were turned off. That was a polite reminder.

I went hunting for a Win 7 or 8 license  to get the free upgrade — but no-one I knew had one to spare. My own Windows licenses was for XP, that didn’t help. I couldn’t find any good educational deals either. Amazon had lots of Win 7/8/10 licenses at suspiciously low prices, all of which seemed a mixture of counterfeit and genuine product. (Amazon — the crooked pawn shop of the Net.)

In the end I remembered PC Connection and found that while MSFT charges $200 for a Win 10 Pro 64bit license PC Connection had an OEM version for about $145. Once I knew the right price range I found an OEM version on Amazon that shipped from Amazon for about $135. I can’t link to it because Amazon’s fraud-friendly habit of consolidating product listings that ship from multiple sources mixed in their source with $105 versions that seem to include counterfeits.

It came in a legitimate looking Microsoft white envelope holding some kind of disk thing envelope (what’s a DVD?) with a sticker and license number on the front of the inner envelope. The license number was all I needed, it worked.

Sunday, June 05, 2016

Living within iCloud Photo Library's storage budget

If someone walked into my home and torched my old-school photo albums they could go to prison.

The way Apple chose to sunset Aperture had roughly the same effect, albeit in slow motion. Even Apple’s keen supporters remain puzzled by how badly Cook managed this [2]. In a better world Apple would at least be liable to a class action lawsuit. [1]

Despite Apple’s blunders there are some things they did well with Photos.app [4]. I use Photos.app as a staging area for iPhone images I’ll move to Aperture [8]. I like being able to cull images on my iPhone. I think Brian Chen got it wrong; Photos.app’s iCloud Photo Library is the right balance between local image ownership and backup and Cloud services [3].

The problem is that iCloud Photo Library is currently expensive. My Aperture library is about 400 GB and I don’t do much video. People who do video, or who delete fewer images, can easily have 1-2 TB Libraries [5]. I don’t mind paying $60 a year for 50GB for each family member, but $600 is too much.

I’m fine with 50GB because I use iCloud Photo Library as a staging area. I periodically migrate to Aperture and empty out my Photos.app System Photo Library. My daughter has Photos.app as her primary repository though, and she is better at acquisition than deletion. She ran out of storage recently.

My plan for her is to archive her current Photos.app Library and create a new empty System Photo Library. She deleted almost 6GB of images today [6] so I haven’t had to do it, but the plan looks something like this:

  1. Confirm all images in her current full-resolution System Photo Library on my Mac. (Call this SPL1.)
  2. Disable iCloud services for SPL1 and move SPL1 from the current external 1TB SSD to a slow external hard drive (which is backed up by both Synology Time Capsule and Carbon Copy Cloner).
  3. On another Mac (could do via iCloud, but easier on a Mac) open up her System Photo Library there and delete every image and then empty the hard-to-find Photos.app trash. Confirm iCloud Photo Library is empty using web interface. [7]
  4. Create a new System Photo Library (which will be empty).

Then, when she gets up to 45 GB again, repeat the process. She will end up with many Photo Libraries, which is not ideal. Particularly since the only way to merge Photo Libraries is to make each one SPL in turn and gradually build up the aggregate in iCloud. 

Of course Apple could fix this. They could provide us with a way to move images (video and still) out of Photos.app into system storage as Referenced Images — while preserving metadata and relationships. Referenced Images don’t go to iCloud, so this would allow a single Library to support both iCloud and Referenced images. While they are at it they could also provide a way to merge Libraries (3rd party solutions lose a terrible amount of data).

I don’t have much hope though. As best I can tell Apple considers customers to be smelly and unpleasantly demanding.

- fn - 

[1] The modern era has convinced me we need a legal liability framework for consumer software. 

[2] If you rely on Final Cut Pro you should expect great unhappiness in your future.

[3] Assuming, of course, Apple figures out how to run a Cloud service. They’ve been earning a C grade at best. I waited about 6 months before I started using iCloud Photo Library; I know Apple’s “1.0” is Google’s “pre-beta”. Apple has major software development issues.

[4] The image editing tools are quite good but they are tedious to use. Photos.app real issue is image management, including metadata support. It’s abysmal.

[5] Ideally on SSD. Aperture sucks on a hard drive.

[6] Didn’t think she could. I underestimated her ruthlessness. My daughter is dangerous.

[7] If you omit the Delete step this is, reportedly, on the path to merging two Photos.app Libraries.

[8] I’ve revised my Aperture migration plan a bit. If WWDC has substantial Photos.app image management news then I’ll stay on Yosemite/Aperture until August 2017 then switch to Photos.app. and MacOS 12. That may give Apple time to fix bugs — especially the image corruption problems with Aperture import (brushed corrections mishandled). If WWDC disappoints then I’ll switch to El Capitan in August 2016 and stay on Aperture through 2018. Then see what my options are.

Wednesday, June 01, 2016

Aperture crashing on "Write IPTC metadata to Originals" - the change everything fix.

I scanned an old wedding album. When I was done I had over 200 images, some from an Epson scanner but most from running prints through a Fujitsu ScanSnap document scanner. The ScanSnap produces high contrast over-saturated scans, but with some post-processing they’re really not bad — and it’s fast.

All seemed well. I processed them in an Aperture Library, exported version JPEGs and imported those into my main Library.

Then I tried “Write IPTC metadata to Originals” and Aperture crashed hard. Again and again and again — with various timing and screwy error messages. It’s all documented in a long Apple Discussions where “lĂ©onie” (level 10!) and I worked through this.

Something in the IPTC metadata process was causing Aperture to write to random memory and eventually crash itself.  Database repair would find lost _temp files (duplicates created during IPTC process) that seemed to cause their own problems. In particular they triggered spurious error messages about “is locked or you do not have permission to modify it” (Aperture gives this message when a file is kind of half-there). At one point I discovered that processing a shared iCloud photo stream that contained these images would crash Aperture!

There was a fix, but it’s unsatisfying. I had to change every possible metadata setting. Advance time on all images 1 second. Remove all Location data. Use "add metadata from: EXIF and iPhoto" (not sure what that does!) and fill out all the possible fields.

After doing all of this, basically rewriting every metadata field Aperture deals with, I could “Write IPTC metadata to Originals” repeatedly without a problem.

Sunday, May 29, 2016

MacOS: If Chrome is default email handler system share menus will not show email (Preview.app, other)

I’d noticed my Preview.app (Yosemite) share menu had Air Drop and Message, but not email.

I tried Apple’s recommended fix for missing share options: If Share options or Markup is missing after upgrading to OS X Yosemite or El Capitan but it didn’t help. I got my clue looking at System Preference:Extensions:Share Menu; it showed a Chrome icon for Mail.

In Mail.app I changed default mail handler back to Mail.app. That returned the Preview Share Extension for Mail.

PS. It’s a good idea to review Extensions periodically. I did some cleanup there.

Saturday, May 28, 2016

Nursing home personal videoconferencing and iPad photo slideshow - a successful project

My 94yo father lives in a veterans long term care facility located in Ste Anne de Bellevue, a small community at the west end of the island of Montreal. It has been a good home for him despite some difficult organizational transitions. Canada’s last major war ended over 70 years ago, their veterans system is fading away.

It’s a costly 6 hour flight (fly+security+etc) to see him, so I only get out there every 3-4 months. I send a weekly email that staff print for him, and every other week I send him a PhotoCard featuring one of the kids or a family thing. Phone calls really don’t work though — he didn’t do well with them even when his cognition and hearing were better.

The facility was keen for me to try videoconferencing with him using a Skype workstation. I was a bit skeptical, but they were right. He does much better with videoconferencing than with a phone call. The audio quality is much better than a modern phone call, and it’s a lot easier for me to see how he’s doing with the conversation. I can tell, for example, that he’s enjoying just hearing me talk. He really doesn’t need, or want, to say much himself.

The Skype workstation had problems though. Most of the time scheduled calls failed. Technical and organizational issues made it too unreliable. 

I didn’t want to give up on the videoconferencing, so I researched LTE videoconferencing for a longterm care facility resident. I considered WiFi but the costs at his facility are higher than LTE and in my experience institutional WiFi is often unreliable. He was already using an LTE Rogers Wireless device to connect an old school landline phone to a cellular network [1] so I was reasonably sure the LTE solution would work from his room.

At the end of the day we deployed a new LTE iPad Air 2 in a minimally modified “CTA digital” anti-theft stand. Here are some images of the stand the Vets built for him; during this first conference he spoke with a younger brother he’d not seen in over 10 years:

IPadVets  1 

IPadVets  5

IPadVets  3

IPadVets  4

IPadVets  5

The wall stand was build by “Jean-Paul”, a staff and facilities person at the Vets. It’s a work of art and an unexpected key to this successful deployment. He built it around the iPad locking stand and incorporated a simple turntable. My father can do the videoconferences from his wheelchair or he can view the 3,000 image family photo slideshow from his lift chair. 

Dad hasn’t tried to operate the iPad. I think he could learn some things if I were there to work with him, but he’s a passive user at this time. A private aide visits him weekly and I schedule the videoconferences with her. I initiate the call, she taps the green button to answer. We use FaceTime because it’s very reliable, has great sound and video quality, and very efficient compression. A typical 15 minute call uses about 25-40MB of data, he has no trouble staying within his monthly Rogers data cap.

I often do the calls from my iPhone and I usually incorporate some kind of walking video tour. The last tour was of a CrossFit gym I’d just finished working out at. The walking tours are very popular, he reports on them to friends and family.

When the iPad is not being used for videoconferencing it’s displaying images using Picmatic.app. I was irritated when Apple dropped its original iPad slideshow functionality, but I figured there would be many fine replacements. I was wrong. There is exactly one - Picmatic. Miraculously it’s well done. It’s also ridiculously cheap at $2. It’s configured to randomly display full screen images from an iCloud photostream; I put images on there from Aperture and my iPhone. Images display full screen with an integrated clock and cycle every 30 seconds or so. He, or an aide, taps the bottom right icon to start the show. It automatically turns off at night. I wish it were more automatic but Apple is not terribly helpful in this regard. There is only so much developers can do when using iOS.

IPadVets  6 

I’d put some other apps up there I thought might be useful: Notes for memory aide, Mail to show old emails I’d sent him, Podcasts for entertainment, Great Courses.app to play his history audiobooks, Contacts as an address book, Facebook to see our family activity, Weather, FaceTime.app (of course), Messenger.app (for non-Apple videoconferencing) and Calendar.app. Only Picmatic.app and FaceTime are being used. As Dad’s moderate dementia progresses he is less able to follow things like an audiobook history talk. He might do better with a brief Ted Talk video.

I’ll conclude (out of time :-) with some quick notes for anyone considering a similar project:

  • Theft is a problem in longterm care facilities. Lots of visitors and impossible to screen them all, not to mention residents with impaired judgment. When the staff heard he was getting an iPad they expected it to disappear. This device would not be terribly hard to steal — the cable is only attached to a wall screw and the stand could be unscrewed from the turntable. It’s been enough so far though — just awkward enough to take that it hasn’t been stolen so far. There are two keys for the cradle lock; one in a lockbox in his room, the other in the nurse manager’s desk. The iPad stays in the cradle.
  • I like the cradle but with the cable lock installed it’s hard (almost impossible) to rotate orientation. It stays landscape and that works well.
  • For security I set a passcode and assigned Dad and his aide’s prints to the device. If stolen it’s iPad locked so wouldn’t be useable anyway.
  • My brother has power of attorney. He had to send a copy of that to Rogers so he could get added to the Rogers account. Then he could add me to the account. This was the hardest part of the project. When I arrived in Montreal I took the documents to the Rogers wireless office. They had a hard time setting things up because Roger’s standard software couldn’t handle my US address, they did it using old paper forms. Once that was done the SIM worked fine.
  • I bought the device and did all the setup in the US, wasn’t time to do something like that in Canada. I tweaked setup for weeks. I should have put more things in the hidden folder. I wanted everything on one screen to minimize confusing.

See also: 

- fn - 

[1] I wrote about that project in Wanted - a way to make an old style landline work over a cellular connection. Service was a bit flaky at first, but quality improved substantially and it’s fine now. It turned out to be quite economical to pay for a family member’s iPhone on Rogers then add the “wireless home phone” for $10/month and subsequently add the LTE iPad for $10/month, all sharing data. With this device he can change rooms without a service disruption, and his entire monthly service bill is less than the institutional landline charge.

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