Next
Saturday, August 7, 2021

iPhone could not be updated

A while back my iPhone failed its update. I was too busy to look into it then.

Just now, I tried again, (updating via iTunes while connected to PC).

Error:
iPhone could not be updated
an unknown error occurred 
(4000)

https://support.apple.com/en-us/HT201210
update windows
 done
  windows 10 home 10.0.19043
update itunes
 12.11.3 
  is the current version
try a different usb cable
 done
reboot both hardware
 done

https://support.apple.com/en-us/HT201413
 security software
  seems unrelated

https://support.apple.com/en-us/HT204770
 follow the steps for your error code
  nothing relevant

Try again (updating via iTunes while connected to PC).
- says "extracting software" (with progress bar) successful
- says "backing up iphone" (with progress bar) successful
- says "preparing iphone for software update" (fails before progress bar starts)

I also removed lint from the usb port.
Tried again.
Same failure.

The existing ios version is 14.6 (18F72)
I'm attempting to install ios 14.7.1

I tried updating from the iphone only (no iTunes) (plugged into power)
- says "about 2 minutes remaining"
- says "preparing update"
- says "downloaded"
- click "install now"
- says "verifying update"
- soon after says "unable to install update, an error occurred installing ios 14.7.1"
- click "retry"
- enter pin (it didn't prompt for that the first time)
- says "verifying update"
- screen went black (that's new)
- shows apple logo with progress bar (looking good)
- progress bar advances but doesn't get to the end
- screen went black again
- shows apple logo with progress bar (again)
- progress bar advances 

Success!
Your iPhone has been updated.

ios
Saturday, May 15, 2021

Softphone

I started using Fongo on iOS in 2015 as a means of paying $20/mo instead of $90/mo for the same service. The idea is that you buy a smart-phone, but you only pay for a data-plan, so you don't have a phone number, can't send/receive voice calls, can't SMS. Then you get a phone app like Fongo (which provides a free local Canadian number for voice calls, but you have to pay for an SMS plan) and voila, you've got a fully featured phone. I'm using Google Fi now for data, which is cheap, international data, charged on a per-use rate.

But Fongo, being free, isn't great. It's reliable for outgoing calls, but sometimes incoming calls go to voicemail before ringing, and the SMS offered by Fongo isn't short code so it doesn't work for most second-factor (confirm your identity) messages (they just don't arrive).

I just surveyed the field again to see if there's a better Fongo alternative. Probably the best thing would be Google Voice, but it only works for personal Google Accounts in the US. They just opened it up on May 6th 2020 to business accounts in Canada, but that's $10/month. Most of the online comparisons are considering VOIP for business, and might not work in Canada. Grasshopper has supported Canadian numbers since 2010 but its pricing starts at $26/month which is a lot more expensive than free. From this comparison we can see that most of the free or cheap softphones are terrible. But Bria Solo is free and looks decent. And the pay-upgrade for individuals is just $3/mo. But it looks more like a number aggregator then a simple phone app, and the free version comes with an advertisement panel. (You can pay a one time fee to turn off the advertisement panel in Fongo). Here's another comparison which includes names line Vonage (which works in Canada), but again it's business centric. A quick search shows that the vonage softphone is $13/mo.

voip.ms (described on reddit as: cheap, reliable, complex to setup) would cost $0.85/month + $0.009/minute when replacing a Fongo number. Apps like Acrobits and Bria (listed here) are just the app. They require a phone number service behind them (such as voip.ms). And as of Aug 2020, voip.ms supports SMS at $0.0075 per message. But they "cannot guarantee that Short Code SMS Messages will work".

So I think Fongo is probably still the best option for a softphone in Canada today.

Friday, May 14, 2021

Windows10 Setup

##############################
## Security

Run Windows Update > Reboot > Check for updates > Repeat

(not for Inspirion 660)
Install and run Dell Command Update > Reboot > Check for updates > Repeat

##############################
## Cleanup

Start Menu > Unpin everything

Task Bar > Unpin everything

Add or remove programs > Uninstall all unwanted apps

##############################
## Configure

Start Menu > Settings > Personalization > Lock Screen > Background > Picture
 > toggle "get fun facts" to off

Right-click Desktop > Personalize > Themes
 Choose wallpaper
 Desktop Icon Settings > [uncheck] Recycel Bin

[right-click] the sound icon in the system tray
> Sounds > File Explorer > Start Navigation > None > Apply

Control Panel > Taskbar and Navigation > Start [in sidebar]
 [off] Show recently added apps
 [off] Show suggestions occassionally in Start
 [off] Show recently opened items in Jump Lists...

[right-click] Clock > Adjust Date/Time > Region > Change date formats >
 Short date: 22-Jun-2020

[right-click] OneDrive in SystemTray > Settings > More > Don't run at startup.
[right-click] OneDrive in SystemTray > Close OneDrive.

[right-click] Taskbar > Taskbar Settings > Colors
 Choose your color: custom
 Choose your default Windows mode: dark
 Choose your default app mode: light

##############################
## File Explorer

Unpin everything from Quick Access

View > Options 
 Open File Explorer to:
  This PC
 Privacy
  [uncheck] Show recently used files in Quick access
  [uncheck] Show frequently used folders in Quick access

View
 [check] File Name Extensions
 [check] Hidden Items

Disk Cleanup > Cleanup System Files > Everything
 This gets rid of most of the contents of windows.old folder.
 Can't delte the rest. It's just 50mb now, so just hide it.

shell:sendto
 Remove stuff you don't like
 Add NotePad2

##############################
## File Explorer Sidebar

http://www.thewindowsclub.com/remove-the-folders-from-this-pc-windows-10
-- in the followind, set: ThisPCPolicy=Hide 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\PropertyBag
-- this removes "Desktop"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{0ddd015d-b06c-45d5-8c4c-f59713854639}\PropertyBag
-- this removes "Pictures"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{f42ee2d3-909f-4907-8871-4c22fc0bf756}\PropertyBag
-- this removes "Documents"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{35286a68-3c57-41a1-bbb1-0eae73d76c95}\PropertyBag
-- this removes "Videos"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{a0c69a99-21c8-4671-8703-7934162fcf1d}\PropertyBag
-- this removes "Music"

---------------------------

-- to remove "3D Objects"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}
New > Key > PropertyBag
New > String Value > ThisPCPolicy
Hide 
Reboot

---------------------------

https://www.windowscentral.com/how-remove-onedrive-file-explorer-windows-10
-- in the following, set: System.IsPinnedToNameSpaceTree=0 

HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}
-- this removes "OneDrive"

---------------------------

Hide all the root folders you won't frequently use.

View
 [uncheck] Hidden Items

Create Folder Shortcuts in C: for frequently accessed local and NAS folders.

##############################
## Re-Do

After windows updates, you'll frequently have to redo the following:

HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}
-- IsPinnedToNameSpaceTree

##############################
## Google

Chrome
 Settings > Sign In > Visit Settings
  > Only Sync: Apps, Extensions, Settings
  > Install and configure Extensions:
   > Home Button At Top Right
   > Adblock Plus
  > Appearance
   > Show home button = disabled
   > Show bookmarks bar = disabled
  > On startup = continue where you left off

Gmail
 Settings > See All Settings
  > Lables > show [Inbox, Starred, All], if unread [scheduled, drafts, spam]
  > Inbox
   > Type = Default
   > Disable reading pane
   > No markers
  > Chat and Meet
   > Chat = Off
   > Chat notification settings = allow, open popups, play sounds
  > Advanced
   > Unread message icon = enabled

Pin these tabs in Chrome
 https://mail.google.com
 https://chat.google.com
 https://holtstrom.com/michael/home.php

Expected Chrome Extensions
 Adblock Plus
 Applicaiton Launcher For Drive
 Google Docs Offline
 Google Mail Checker
 Home Button At Top Right

##############################
## Business

Login to office.com
 Download and install Office 2016
 Sign into OneNote and pin to taskbar
 Sign into Outlook and pin to taskbar
  Right-click Ribbon > Collapse Ribbon
  File > Options > Mail > Outlook Panes > Reading Pane
   Mark items read when viewed 1 second
  https://www.rklesolutions.com/blog/disable-new-buttons/
   File > Options > Quick Access Toolbar > [add to custom] Touch/Mouse Mode > Ok
   Not at top-left you can use "Touch/Mouse Mode" to select mouse which will remove
   the nasty reply icons from the right-sidebar and put them back above your msg
 Sign into Powerpoint and pin to start
 Sign into Word and pin to start
 Sign into Skype For Business and pin to start

##############################
## Outlook DevOps Spam

First select an example of the email you want to delete

Home > Rules > Create Rule
 When I get email
  [checked] From Azure DevOps
  [checked] Subject contains [PR build succeeded]
  [checked] Sent to me only
 Advanced Options
 Next
  [checked] delete it
  [checked] marek it as read
 Next
 Next
  [checked] run this rule now
  [checked] turn on this rule
 Finish

Actually I had to manually re-open and explicitly run the rule to clean the inbox.
   


##############################
## Apps

Install iTunes
 File > Add Folder To Library
 Edit > Preferences > Advanced > (all unchecked regarding iTunes Media folder)
 Control > Shuffle > On, Albums

Install Notepad2

Install Kdiff3

Install AgentRansack

Install Paint.Net

##############################
## Automatic Wake

You may notice that your PC wakes on its own and does something.

You can see why in an admin command prompt:

C:\WINDOWS\system32>powercfg -lastwake
Wake History Count - 1
Wake History [0]
  Wake Source Count - 1
  Wake Source [0]
    Type: Wake Timer
    Owner: [SERVICE] \Device\HarddiskVolume3\Windows\System32\svchost.exe (SystemEventsBroker)
    Owner Supplied Reason: Windows will execute 'NT TASK\Microsoft\Windows\UpdateOrchestrator\Universal Orchestrator Start' scheduled task that requested waking the computer.

You can disable this via:

Control Panel\All Control Panel Items\Security and Maintenance\
 Maintenance
  Automatic Maintenance
   Change Maintenance Settings
    [uncheck] Allow ... to wake ...
    OK

Sunday, December 27, 2020

Mapping BCC for catch-all with Google Workspace

Long ago, before Google Workspace, before G-Suite, when it was called something different, you could sign-up and get an account for your domain with five free users. I'm still on that plan.

In any case, if you've used admin.google.com to create a user (alpha@yourdomain.com) with the catch-all secondary email (i.e. *@yourdomain.com), then you can use that account to multiply users by forwarding alice@yourdomain.com and bob@yourdomain.com to Alice and Bob's actual (probably gmail) accounts. Of course they won't be able to reply from these addresses, but I've found it nice to have.

You can achieve this by logging into gmail as alpha@yourdomain.com and setting up: Settings > Filters

Matches: deliveredto:(alice@yourdomain.com)
Do this: Skip Inbox, Mark as read, Forward to alice.long.and.complicated@gmail.com

Matches: deliveredto:(bob@yourdomain.com)
Do this: Skip Inbox, Mark as read, Forward to bob.long.and.complicated@gmail.com

This brings us to the difficulty in BCC. Here's what your alpha account actually receives when the following emails are sent.

To: alice@yourdomain.com

Delivered-To: alice@yourdomain.com
Received: from ... for <alice@yourdomain.com>
To: "alice@yourdomain.com" <alice@yourdomain.com>

To: alice@yourdomain.com, bob@yourdomain.com

Delivered-To: bob@yourdomain.com
To: "alice@yourdomain.com" <alice@yourdomain.com>, "bob@yourdomain.com" <bob@yourdomain.com>

CC: alice@yourdomain.com

Delivered-To: alice@yourdomain.com
Received: from ... for <alice@yourdomain.com>
CC: "alice@yourdomain.com" <alice@yourdomain.com>

CC: alice@yourdomain.com, bob@yourdomain.com

Delivered-To: alice@yourdomain.com
CC: "alice@yourdomain.com" <alice@yourdomain.com>, "bob@yourdomain.com" <bob@yourdomain.com>

BCC: alice@yourdomain.com

Delivered-To: alice@yourdomain.com
Received: from ... for <alice@yourdomain.com>

BCC: alice@yourdomain.com, bob@yourdomain.com

Delivered-To: alice@yourdomain.com

Note that when you send to both alice and bob, somewhere along the way it realizes that there is only *@yourdomain.com and your alpha account only receives a message for one party. The first conclusion is that you must not rely on deliveredto in your filter since that always contains just one party. The next conclusion is that you can't make this scheme work for BCC since that method deletes information.

However you can notice that the Received doesn't include an email when there were multiple recipients. So you could decide that matching Delivered-To without matching To or CC or Received means that you should forward to all possible aliases. It's messy, but if you're only forwarding for a few family members, it's not terrible.

So, to start, you need something like the following. Note it seems this wouldn't work because the first filter would remove it from the inbox, but all filters are run on all incoming mail, even if a previous filter matched. So I guess the filters are run on the initial state of the received message.

Matches: (to:(alice@yourdomain.com) OR cc:(alice@yourdomain.com) OR deliveredto:(alice@yourdomain.com))
Do this: Skip Inbox, Mark as read, Forward to alice.long.and.complicated@gmail.com

Matches: (to:(bob@yourdomain.com) OR cc:(bob@yourdomain.com) OR deliveredto:(bob@yourdomain.com))
Do this: Skip Inbox, Mark as read, Forward to bob.long.and.complicated@gmail.com

The above handles all cases except when both parties are in the BCC. For that we need a special rule that guesses when a BCC entry was dropped. I didn't bother checking Received since the only point of BCC is multiple recipients. So I just note that DeliveredTo without To or CC implies BCC and I guess that both parties were always on the BCC.

Matches: deliveredto:(alice@yourdomain.com) -{(to:(alice@yourdomain.com) OR cc:(alice@yourdomain.com))}
Do this: Forward to bob.long.and.complicated@gmail.com

Matches: deliveredto:(bob@yourdomain.com) -{(to:(bob@yourdomain.com) OR cc:(bob@yourdomain.com))}
Do this: Forward to alice.long.and.complicated@gmail.com

This works with two deficiencies:
- alice will receive an email that was only "BCC bob" (because we guess that "BCC alice" was deleted when in fact it was never there)
- alice won't receive an email that was "To: bob, BCC: alice" (because we only guess that "BCC alice" was present when bob wasn't To/CC)

web
Saturday, August 29, 2020

Apple Crisp

Peel and chop apples into thumbnail chunks until you have 8 cups.
Preheat oven to 180°C
Grease a 9x13 baking dish.

In a large bowl combine:
- apple chunks
- 1/2 cup white sugar
- 1 tea spoon ground cinnamon
- 3 table spoons white flour
- 3 table spoons lemon juice

Flatten the apple mixture into the baking dish.
Melt 1/2 cup butter in microwave.

In the same bowl combine:
- butter
- 2 cups rolled oats

Then combine:
- 1/2 cup white flour
- 1 tea spoon baking powder
- 1 tea spoon ground cinnamon
- pinch of salt
- 1 cup brown sugar

Flatten the topping onto the apple mixture.
No need to wait for oven to reach tempertue.
Bake 40 minutes uncovered.
Take out of oven and loosely cover with tin foil.
Let sit 10 minutes before eating.

Serve with ice cream.
Next
{ "loggedin": false, "owner": false, "avatar": "", "render": "nothing", "trackingID": "UA-36983794-1", "description": "iPhone could not be updated; Softphone; Windows10 Setup; Mapping BCC for catch-all with Google Workspace; Apple Crisp", "page": { "blogIds": [ 715, 714, 650, 710, 705 ], "nextBtnUrl": "https:\/\/holtstrom.com\/michael\/blog\/show.php?y=5" }, "domain": "holtstrom.com", "base": "\/michael", "url": "https:\/\/holtstrom.com\/michael\/", "frameworkFiles": "https:\/\/holtstrom.com\/michael\/_framework\/_files.4\/", "commonFiles": "https:\/\/holtstrom.com\/michael\/_common\/_files.3\/", "mediaFiles": "https:\/\/holtstrom.com\/michael\/media\/_files.3\/", "tmdbUrl": "http:\/\/www.themoviedb.org\/", "tmdbPoster": "http:\/\/image.tmdb.org\/t\/p\/w342" }