Wednesday, July 03, 2019

I really like my SharePoint list based blog that's not a SharePoint blog

I don’t think anyone is terribly interested in this, so I’m not going to provide a lot of detail, but if you want to know more just email jgordon@kateva.org.

So why am I writing anything? I’m writing because this thing has worked very well for years. Alas, nobody at work appreciates the simple genius of how it works. So here I can vent.

I ignored SharePoint’s clumsy native blog. I built my blog off the SharePoint announcement list which has basically worked the same way for 10-20 years. Like every list in SP it has an RSS feed (deprecated in newest versions of SP alas) and email notifications with user controlled update frequencies. So the subscription side works fine.

I added a couple of fields to the basic list. One is for tags. Tags let me create topical views of the list by creating SP views that filter on tags.

The other field (and this worked better than I imagined) was to create my own PUBLICATION_DATE field and sort the blog (list of announcements) by publication date. The default value is the date created — but I can edit the publication date without changing the post URL!

The last is wonderful. Instead of having to point to an old post and perhaps add some new additions, I just update the old post and revise the publication date to current. SP regenerates email notifications to subscribers, updates the RSS feed, and the view shows the updated post at the top — but the URL is unchanged so links don’t break.

It’s really simple, it’s worked very well for 2-3 years, it should work indefinitely. I wish other blogs worked that way — let me revise publication date, sort by that date, don’t break links.

PS. Why SharePoint? Because where I work that’s what we have. We aren’t getting anything better.

Saturday, June 29, 2019

Chrome: Default pjkljhegncpnkpknbcohdijeoejaedia quit unexpectedly

For years I’ve launched gmail and gcalendar on my Mac using apps in my user/application folder I’d named gCal.app and gMail.app. I loved them. Not only did they let me go directly to gCal and gMail from spotlight they also opened in my preferred user profile rather than the last user profile I’d used.

Today they crash on use.

Intermittently I got this error message:

Default pjkljhegncpnkpknbcohdijeoejaedia quit unexpectedly.

That looks like malware, but apparently pjkljhegncpnkpknbcohdijeoejaedia is an undocumented internal Google Chrome extension. (Very cute Google.)

After a bit of research I believe those apps were known as Chrome apps, and years ago Google supported creating them on the Mac. Google ended support in 2017. I think the apps lived in a Chrome folder that was removed, but on my machine they survived because I’d moved copies into a user folder.

Today my extended use luck ran out. Now they crash [1] under Chrome 75.0.3770.100. I suspect my Mac was updated today or yesterday, this version of Chrome was released June 18.

I REALLY miss the desktop app functionality. “Progressive Web Apps” were supposed to replace it but I don’t think they happened [2]. I might try this 2018 tip to see if I can restore it.

Or maybe the next release of Chrome will fix the crash :-).

- fn -

[1] sample start of log

Process: app_mode_loader [1087]
Path: /Users/USER/*/gCal (jfaughnan).app/Contents/MacOS/app_mode_loader
Identifier: com.google.Chrome.app.Default-ejjicmeblgpmajnghnpcppodonldlgfn-internal
Version: 4.5.6 (2564.97)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: app_mode_loader [1087]
User ID: 502

Date/Time: 2019-06-29 14:33:12.397 -0500
OS Version: Mac OS X 10.14.5 (18F132)
Report Version: 12
Anonymous UUID: C285F89D-D3A8-7245-0199-81B760782A83


Time Awake Since Boot: 2100 seconds

System Integrity Protection: enabled

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Termination Signal: Trace/BPT trap: 5
Termination Reason: Namespace SIGNAL, Code 0x5
Terminating Process: exc handler [1087]

Application Specific Information:
dyld2 mode

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread

[2] No, didn’t happen on Mac. Over a year late now:

Progressive Web Apps on Desktop 
Progressive Web Apps now work on the desktop, including Chrome OS and Windows, with support for Mac and Linux coming soon.

For Google macOS is not a priority platform.

 

Saturday, May 25, 2019

Getting Emily's iCloud photos -- you can multi-select in Photos.web (again)

As recently as 2018, Apple had stopped supporting multi-select in iCloud Photos.web. It was really annoying.

Today it works. I don’t know when this was fixed. It didn’t get a lot of attention in my streams.

It’s a big feature for me.  Now if I want to add photos from my wife or daughter I can browse to their iCloud accounts, select from Photos.web, and download. Much easier than switching to a user account, running Photos.mac, waiting for it to sync, exporting to a shared account, etc, etc.

One odd thing, the file “Modified” date is “Tomorrow at 12:15am”. Presumably a server time zone problem….

Saturday, May 11, 2019

Screen Time old device bug: Dev used device ID as key, forgot Apple ID

There’s a well known old-device bug with Screen Time. Once you’ve setup up Screen Time for a child’s device it will always show up under their Apple ID — even after you wipe the device.

So my daughter’s old iPhone 6 showed up under her Screen Time Apple ID — even after it had been wiped.

Today I changed the Apple ID for that device and enrolled it in Screen Time under a new Apple ID. Then I went to look at her Screen Time device list. Lo and behold — the old device was still there, but now its device name changed to match the device name it had when I reenrolled it with the new Apple ID.

So now one device shows twice in my remote Family Screen Time, once under my daughter’s device list, once under the new Apple ID.

I’ve read that Apple’s Screen Time was a “rush job”. Looks like the dev is doing Screen Time by storing a device identifier — maybe a Serial Number and the device name used at enrollment time. They should have used a combination of Apple ID and device identifier but they used device identifier alone.

Two new discoveries in iOS Screen Time (parental controls): Age 13 and Apple ID incompatible with Screen Time

A reputable Twitter source recently wrote that “Screen Time” was "a rush job".

It feels that way. As part of a book project I’ve spent way too much time experimenting with Screen Time. It needs a top to bottom rewrite. Also needs an API so other vendors can extend what Apple offers. 

Anyway, I’ve learned two new things about Screen Time — two special ages and a hint about why one iPhone could not be enrolled in remote Screen Time.

First the ages. US Screen Time has two special ages: 13 and 18. We know about 18, but the 13 is new to me. 

If a Family Member's Apple ID birthdate means their current age is over 18 then remote screen time blocks are turned off. It’s an 18th birthday gift from Apple! This is a problem for special needs adults — chronologically 18 but very vulnerable. The workaround for a special needs adult is to set their AppleID birthdate so they are 14 (write down the birthdate you used, you may need it).

Note I wrote 14, not, say, 10. That’s because 13 is another special age. If a Family Organizer creates an Apple ID birthdate such that a family member’s age is under 13 they will see, after it’s been created, the message "Children under 13 cannot be removed from Family Sharing.” Not only can they not be removed, their birthdate cannot be changed either. You will need to call Apple Support to have changes made, and you may need to work with a supervisor.  Meanwhile any devices with that Apple ID will count against your sharing cap.

What else did I learn?

I learned that some Apple IDs won’t work with Screen Time. It’s not clear why; I assume it’s a obscure bug somewhere in Apple’s creaky identity management infrastructure. When I set up a test phone for my book project I used an old Apple ID of mine. Without going into the convoluted history, that Apple ID is descended from an old mac.com/MobileMe email account and it’s all way too complex to describe. In any case, even though I'd changed the birthdate so age was 14, remote Screen Time settings didn’t “stick”. I’d enable them, they’d flip back to off. I changed the device Apple ID to a fresh one created from my Family Organizer account (which is how I discovered the 13 yo bit) and now it works.

Since my test iPhone doesn’t have a SIM card I wondered if that was part of my remote Screen Time problem. It wasn’t — my setup worked fine. Interestingly when I set the Apple ID this way both FaceTime and iMessage also worked without a SIM card — no ‘waiting for activation’ issues.

Sunday, April 28, 2019

How to clear Google Voice conditional call forwarding from an AT&T phone including iPhone

Long ago I setup Google Voice as my son’s phone’s voicemail using “conditional call forwarding” on H2O Wireless mobile (very cheap, but also weak IT service). I switched him from H2O Wireless to our family AT&T account and wanted to disable the forwarding. 

Unfortunately I couldn’t get Google Voice legacy site to come up on my iPhone so I didn’t disable Conditional Call Forwarding prior to the port. I tried removing the his number from GV but that doesn’t work — it only messes up Google Voice (below).

After the port I couldn’t set a voice mail code for his account. It seemed like voice mail was setup, but when I called him I was routed to Google Voice. Alas, there’s no useful error message.

I restored his mobile number as a forwarding phone in Google Voice but there was  no option for him in Legacy Google Voice to add or remove conditional call forwarding, no “Activate Google voicemail on this phone”. (Probably because the call forward was already in place.)

I tried a #21# trick I read of, but that didn’t work. I thought I’d have to call AT&T but after several searches I found an obscure site with the answer: Dial #61#. That clears “call forward if not answered”. I also used the other deactivation codes as below (67, 61, 62).

I don’t know if that site will stay around, and I couldn’t find this information anywhere else, so here are the set of deactivate codes for several purposes:

To deactivate “Call forward if busy”, 
Simply dial #67# and tap “Call”

To deactivate “Call forward if not answered”,
Simply dial #61# and tap “Call”

To deactivate “Call forward if not reachable”, 
Simply dial #62# and tap “Call”

Android phones may have more control over Call Forwarding but iOS has only forward or don’t forward.

The site also reviews how to setup call forwarding, for example:

To setup “Call forward if busy”,
simply dial 
*67*{NumberRetrieved}*11# and tap “Call”

After using those codes I could set a PIN for his voicemail and it worked normally.

Saturday, April 27, 2019

How to open a tab delimited file in Apple macOS Numbers.app

How do you open a tab delimited file in Apple macOS Numbers.app?

Change the extension from .tab to .csv.

Old Mac data exchange used tab delimited files. FileMaker saved them with the extension of .tab. Numbers doesn’t recognize .tab. If you change it to .csv all is well.

Thursday, April 04, 2019

Digitizing home video (once again)

I have made (2000) several (2004) tries (2012) at digitizing our family video but my lost best effort only got about 10% done. I figured I’d just hire a local service and then I let it slide.

Apple’s recent codec retirement announcements prompted me to check what was available locally. I found ancient web sites that were internally inconsistent, no noise reduction prior to compression, unclear codec choices … none of it gave me much confidence. (But see [1,2])

So I’m back at it again. This time I might have an accomplice — someone who needs money and would benefit from learning the tech. So maybe we’ll make a better go of it.

The delays may have let to some data loss, but on the other hand the tech is a bit better. My first attempt would have been with a 400MHz Celeron. Yes, that’s an ‘M’. In those days hard drives were measured in tens of GBs. Now the cheapest hard drive I can buy would hold all of our video.

The tech is a bit better, but choice of codec is still an issue. In 2004 I favored H.264/AAC. I ran into an amazing number of headaches with the Apple software I was using.

For the modern era I found three good references:

They give me a feeling of how tricky it is to do analog video capture well. Time Base Corrector?  BNC terminations? Waveform monitors? CRT monitors?! Yikes.

I did like the sounds of the BlackMagic Intensity digitizer ($240 for T3, $200 for USB 3) used at AUL (Amazon reviews are not great however). It can save output as a lossless file. I want to capture the video as “uncompressed 10-bit 4:2:2” then denoise it, then export as ProRes. Since my accomplice is a student I’ll probably buy the Pro Apps Bundle.

Ideally the process would be automated - capture uncompressed, denoise and incorporate metadata, save as ProRes.

What would I do with this material once it’s digitized? The tech isn’t here yet, but eventually I’d like to incorporate brief (silent) video fragments into my screensaver library. So between showing 10,000 images, show a 30sec of video from our family @ 1995. One day?

- fn- 

[1] From my 2000 page I see Walmart and Target were do video to DVD-R conversions for $35 a tape with YesVideo. They are still around! The price is now $26 for one 2hr tape.  

[2] Pogue years ago recommended Southtree (his screenshot of a VHS tape on a modern laptop screen is remarkable — 333x480 pixels). Their site is impressive; at the moment they’re advertising $57 for up to 3 tapes on 1 thumb drive. I contacted Southtree to ask about denoise/ProRes/etc but they kindly responded that they are consumer-only, so just mp4 compressed.

Tuesday, March 26, 2019

1Password Logins Notes field blank? Maybe it's the CR.

When I moved to Mojave I had to give up on my ancient FileMaker Pro database. The modern versions of FileMaker are far too expensive; consumer databases have passed into history.

For lack of a better alternative I moved over to 1Password. I liked them when they worked with a local password store, I’m not keen on their current cloud solution. I just don’t trust their tech.

I exported as CSV as I’d done many times before. This time, though, I ran into a problem that was probably always there. The first time I went to look up my ‘secret question answers’ they were nowhere to be seen. The Login Notes field where I’d imported them was empty on both iOS and mac OS.

Later I realized the data was there — but only in edit mode. If the default read-only view the notes field showed as empty.

It took a bit of playing around to realize what’s wrong.

Text fields in my version of FileMaker, probably from 2014 or earlier, uses the old classic Mac OS line separator - the single “CR” code. It doesn’t use the OS X/macOS/Unix standard LF or the old DOS CR/LF

When I exported as CSV the output used CR as a separator. When the CSV was imported into 1Password the CR separators went along. They work fine in edit mode but not in view mode.

The proof of the problem was to edit in 1Password, deleting the line feeds and adding new ones. After saving the note displayed correctly.

Update: Per 1Password tech support — turning off markdown formatting causes the notes to appear!

Saturday, March 23, 2019

Converting my old video formats to something that might persist

Apple is killing QuickTime 7 (download 22MB Snow Leopard version here)[1]. The announcement has some useful references.

So I’m back to thinking about one of the worst topics in the geek world — video file formats and codecs. Almost all of which are encumbered by walls of vicious patents (AV1 is the great hope).

It’s been about 4 years since I last made stab at this topic. I reinstalled QT Pro then too!

Conversion from old formats is a PITA. In 2015 I converted an old WMV file (I think I used Flip4Mac [2]) to (I think) lossless uncompressed AVI. The original was 23MB, the AVI output was 311MB. Today I used QuickTime Player 10.5 to open the AVI and it created a 52MB (lossy) .MOV file (Info says it’s H.264 for video, AAC for audio). There’s no control on the conversion compression.

To get this done I’m going to have locate my video files (some in iMovie projects, some in the file system, some in Aperture) and apply some kind of batch conversion where needed. Spotlight’s ability to search for codecs might help, I suspect some useful utilities will show up now that this is getting some attention.

What should I convert to? Ideally I’d choose something designed for video editing. The Smithsonian recommends "Motion JPEG 2000, MOV, AVI”; I don’t understand how MOV gets in there, I thought it was just a container. Also MOTION JPEG 2000 is on Apple’s kill list.

Ok, so things are bad. But we knew that.

Apple’s ProRes is one example of what’s known as an “intermediate codec”. Apple seems to be dedicated to it and I gather it’s widely used in the video industry. So let’s see what other choices there are ...

Fifty. That link lists 50 intermediate codecs. Ugh. Maybe ProRes 442 HQ isn’t the worst option.

I’ll probably have to play around and study some more. Some things I’ll look at ...

  1. Wondershare is $40 for 1 year. There’s a free demo that converts the first 1/3 of the video. It converted an old .wmv file to an HEVC (H.265, AAC) without blinking an eye. Judging by the 1/3 converted the 23MB WMV file would convert to an HEVC file of similar size.
  2. Apple Compressor: $50, or have my college son buy the whole ProApps bundle (Compressor, FinalCut, etc) for eduction for $200.
  3. QuickTime Player’s built-in conversion.

See also:

- fn -

[1] Yes, that’s MB. Wow. It does indeed run on Mojave! Not only that, but I dimly remembered that I had a registration code for QT 7 Pro. Being a total nerd I still have it on hand. I entered the code and clicked “register”, but the registration server is long gone. It still registered though, I quit and restarted and I have the Pro features back.

[2] Replaced by Switch. For $10 you can convert wmv to mp4, for $200 you can to more output formats. If you search wmv to mov conversion you get a lot of junk, so this is worth paying attention to. I might buy it.

Replacing Sierra's "All My Files" in Mojave

OS X  / macOS had, for years, a Finder Favorite that listed all files by date modified. It was removed in Sierra for unknown reasons.

The closest replacement I’ve found is to save a “This Mac” spotlight search on ‘.’ That is, create a Spotlight search for your Mac and enter a period as search criteria.

This works on Windows 7 too (I don’t have Win 10).

Saturday, March 16, 2019

Recovering from a photo crop error when you need to print 4x6

I needed to print our team hockey photo at Walgreens, but somehow I’d saved a cropped version of the team photo instead of the original — and these days Walgreens doesn’t let one print an image without cropping [1]. Part of the image was cut.

My first thought was to custom print from Aperture to PDF then export a JPEG from that (it’s complicated) — but something funny happens with page orientation in Mojave/PDF.

The real answer was to use my old copy of Acorn (still works in Mojave). I resized the canvas to fit the horizontal image and fill in the right 3:2 horizontal:vertical orientation. Then I threw in a title for photo. Looked like it was deliberate.

[1] Once upon a time I think that was an option — just printed with white borders.

Sunday, March 03, 2019

Mojave has brought back one of my least favorite macOS behaviors - screen saver bug.

When I used Sierra my screen saver was based on Aperture albums stored in an external drive. When I traveled the screen saver switched the default, but when I reconnected it went back to Aperture.

Mojave can’t use Aperture/iPhoto albums. So Screen Saver points to a share drive. When I travel it switches to default, but when I return it *doesn’t* switch back to my share.

Anyone have a workaround? I wonder about creating some kind of local alias for the remote image folder ...

Update: I created a symlink for the share folder that has my slideshow images using the SymbolicLinker service. Then I pointed ScreenSaver slide show to the symlink. When disconnected ScreenSaver shows black screen. When connected shows my images.

Saturday, February 16, 2019

Migrating from Blogger to WordPress ... again ...

I’ve been contemplating migration to WordPress for almost a decade, but Google kept Blogger good enough to keep that headache at bay.

Alas, the days of good enough are ending. Google is removing their photo management API without recourse. They do support posts with images, but only by using their web interface. It’s a concrete and undeniable sign that Blogger is either dead or going to a bad place.

I though I’d migrate first to wordpress.com then to my Dreamhost open source wp install, but via Twitter Daniel Jalkut tells me he got better results using the open source importer directly.

I’ll do a dry run on one of my big blogs first. The URL won’t change but I’m sure feed subscriptions will have to be redone (ugh).

Update 2019/04/06 - results of the pipdig import process

I tested the Dreamhost free version of the pipdig importer from a Dreamhost wordpress (open source) blog. The results can be seen here for the moment, I’ll eventually delete them. I found:

  • It doesn't remap internal links. This is a big disappointment. Links continue to direct to blogger, once that account is gone they will be invalid
  • There’s no option to migrate images that I can see.
  • It missed at least 4 posts from the source blog — specifically from early on. No idea why and it suggests more are missing.
  • It does copy drafts over.
  • It requires a LOT of access to your Google account! If you use this utility I suggest creating a new google account, give it access to your blog, then after the import destroy it. 
  • The paragraph breaks are missing - line feeds vs <p>. This is an ancient Blogger problem with MarsEdit; a legacy of the original sin of English language text formatting end-of-line standards. I think Blogger is mostly to blame.
  • Images were not relocated locally, they remain at their original locations.

Pipdig is better than nothing, but I’m going to try wordpress.com’s import tool next. I wonder if a better solution wouldn’t be a static site that I could archive on my personal web server, then do a web server redirect to handle the links. For now I’m still on Blogger. The porting experience reminds me of the impossibility of leaving Apple’s defunct Aperture photo management app.

(As I write this the wordpress import is processing - result should eventually show up at gordontest.tech.blog temporarily, but we’ll see if it works. It’s taking a long time.)

Update 2019/04/06b

Well, that wordpress migration didn’t go so well:

Your site has been suspended from WordPress.com for violating the Terms of Service. If you believe this was done in error, please contact us as soon as possible to have the suspension reviewed….

I sent a contact inquiry, nothing yet.

Saturday, February 09, 2019

Synology NAS and security risks of enabling notifications

I use a Synology NAS to backup our two MacBooks. I’ve been ignoring it for 4 years, but a recent hardware failure made me look into it.

I found a number of packages installed and/or running that I’d not updated and mostly didn’t need. So I removed all those and I created a reminder to check the NAS quarterly. I also realized I hadn’t gotten monthly status reports for a long time — for years really (if ever)

To enable Synology email status reports you have to configure Notifications. Old-school SMTP is rarely available now, so I experimented with the Gmail option. I got this:

Synologygmail

Oookaaay … that’s an interesting range of permissions. Synology is a Chinese corporation, so this effectively gives Xi the ability to harvest my email. Instead I created a synology user on one of my domain based Google Suites and enabled access there then forwarded to my email.

Interestingly my old settings suggested I had gone down the Gmail road at one point. I wonder what I was thinking, in my 2015 post I commented “Synology is a very Chinese product — including off-key English syntax. I wouldn’t install it in a US government facility.” Maybe I started the setup and then stopped?