Legacy This!

I own a mid-2011 Mac Mini Server. Earlier this year I brought it back to Japan with me. Being relatively compact, it was easy to transport. But it was in rough shape: hard drives loudly hummed, the fan whistled, and the whole operation ran hot.

Over on Reddit I outlined my situation as basically Is upgrading my Mac Mini Disks Worth It? The answer was yes! I got a Dell 27″ IPS display, an AmazonBasics monitor mounting arm, and cleaned up my desk to celebrate. Note to self: I still need a good chair.

Then I tackled the big issue – work at home.

There is not much need for me to bring my company issued MacBook Air home with me most days. My current generation iPad with a Magic Keyboard handles 90% of what I need in the off hours. But what about what about the 10%, and when I work from home?

Using VMWare Fusion on my Mac Mini, I set up a virtual machine for work. It only took 4 tries to get it set up properly for work. The issues were with the setup mechanism with the corporate environment, but VMWare did me few favors – doesn’t support non-English keyboards in guests without editing the VMX file, no Unity for a macOS guests, no T.R.I.M. support, and others. Regardless, all of the apps I need for work are installed and working in the VM.

Next I need to address my backup plan for the Mini, get that chair I mentioned, and come up with an elegant way to disguise my desk when not needed. I’m thinking small curtains.

I might consider an incremental upgrade to a 2012 Server but not to the 2014 Mac Mini models due to their lack of user replaceable components. If Apple were to release a new Mac Mini in the 2011/2012 mold with updated everything I would jump on it.

As things are, even though my Mini is now end of support with Apple, it works well with upgrades. When the Mini dies, if Apple keeps on its current course, I’d get a topped out MacBook Pro 15 and just permanently dock it with a smart outlet to keep the battery in as good a shape as possible. I’d hope I’d never have to use it as an actual laptop but use Negative Visualization to prepare me for the experience.

It would be sad, though.

Undo that mess: Fixing code formatting

Over at the Harder, Better, Faster, Stronger site, Steven Pigeon wrote this post about cleaning up code formatting.

Diving head first into Emacs again via rebuilding my init.el means a lot of copy-n-paste. I do not agree with everyone else’s coding conventions.

I will stay tuned for the next installment of Steven’s code plus keep an eye on the comments, then copy-n-paste for my own purposes!

Killing the Dock

There are lots of design decisions made by Apple in OS X (now macOS) one can appreciate. I like the universal menu bar at the top of the screen. Overall it saves on space (assuming you need a menu bar).

One I do not like is the Dock. By default it takes up a lot of space, windows cannot cover it, and it wants your attention often. Application windows behave oddly compared with other Desktop Environments using a similar metaphor.

Kill The Dock (for MacOS) – Michael Rurka — ルデ – Medium

Shrink the Dock with zoom

In the Dock settings, move the Size slider all the way to Small. Select Magnification and set the slider to Max.

Hide the Dock

Select “Automatically hide and show the Dock”.

Increase Hover Time

In the terminal set the delay for the Dock to 5 seconds. Set the number higher if you want.

defaults write com.apple.Dock autohide-delay -float 5 && killall Dock

Kill the Bouncing Icons

Someday someone will tell me why Apple decided a bouncing icon in the Dock demanding the user’s focus and attention for even the most mundane information is a good idea. I cannot even imagine.

I followed MacWorld’s Rob Griffiths‘ advice from here:

defaults write com.apple.dock no-bouncing -bool TRUE && killall Dock

Use Witch, Alfred, & Keyboard Maestro to Improve Things

I use Alfred similar to Michael’s approach. I also use Keyboard Maestro for launching shortcuts to either launch or raise specific apps – for example, Control-Command-S for Slack. Alfred – Productivity App for Mac OS X & https://www.keyboardmaestro.com/main/

Most important, I use witch to provide Windows-like task switching via Command-tab. Witch · Many Tricks

[TokyoGringo] Fun Japan Fact – all cell phones’ cameras have a shutter sound

I tried to get service for my US iPhone 6S+ here in Tokyo. The delightful woman helping me warned me, “You know, if you swap this out you will get a Japan phone with the shutter sound. Are you sure?”

Oh. No. Not sure, and not by a long shot.

I recalled my first US trip with my JP colleagues where their shutter sound constantly disrupted slide presentation after slide presentation. I volunteered my phone for hundreds of silent slide pictures of decks later offered for download.

When I returned to Japan I found the sound ever present. I assumed the shutter sound a cultural choice, what with the Japanese camera stereotype and all. I filled it away as an annoyance like on-line banking and moved on.

I embrace my education. As I stated regularly on the PVC Security podcast, there is a certain freedom in knowing you will screw up at least ten times per day.

It also means I will try to get all my future mobile phones in the US (assuming the shutter sound is my major concern).

What Users Should Require in Software-as-a-Service (SaaS)

We, the users, should stop thinking about software as a thing to own. The direction is toward a service model for better and worse.

What should a keen-eyed shopper value?

  • No data lock-in – the user should own their data and be able to export it at any time through the native user interface without having to jump through hoops (except for encrypted data – see below). The export should be in a common format like plain text, XML, CSV, etc. and not a proprietary format.
  • Direct support – a web interface, email address, and chat at a minimum is required. Any service only offering support through an app store is a major red flag.
  • Multi-platform – unless you only live in Apple’s or Google’s ecosystem any SaaS must at least support your top two platforms. If you are GNU/Linux or Windows on your desktop, this is a must-have for your mobile devices.
  • Multi-cloud – unless you only live in Apple’s ecosystem any SaaS must support Dropbox as a second option at a minimum. iCloud is limited to macOS, iOS, and Windows but the Windows support is abysmal IMHO.
  • Mobile support – must handle landscape and portrait layouts and support tablet sizes. I am surprised at the software that still does not do this basic task.
  • Encryption – must support industry standard best encryption options. If a SaaS offers its own custom encryption RUN AWAY! Exporting encrypted data should offer unencrypted and GPG-passphrase-encrypted options though few do today.
  • Active development – this is easiest to verify if they have a public GitHub or similar repository. App stores will also show when the last update hit. Careful reviews of app store ratings can help figure out the historical time line. Check in Reddit and StackExchange and other public forums.
  • Native (non app store) desktop releases – on the desktop the ability to get the software outside of the Apple or Microsoft or Google app stores is a plus. Even if you prefer the app store version – and most users should for the added security – the developer’s willingness to offer a direct-to-the-customer version of their software with a license is a good sign. Also, any revenue the developer gets from these direct sales is 100%. Apple app store versions costs the developer 30% or so.
  • In App Purchases – not bad in and of themselves, a developer should not “nickel and dime” customers with small features. There should be an option for some kind of a premium bundle which offers all add-ons for a reasonable 1 time fee.
  • Data sync – this is a tough one. Most SaaS developers will come up with their own sync solution after changes to DropBox made it more difficult for developers. iCloud on iOS & macOS works in the Apple ecosystem. OneDrive might eventually for Microsoft and some Android stuff, and Google Drive for the Google stuff. I think so long as the sync adheres to the above you are good.
  • Local storage – some apps like 1Password and TextExpander offered local repository options but deprecated them for IMHO less than compelling reasons related to sync and cloud. Users should have the option to store sensitive data locally and forgo sync & cloud for that data.
  • Feature & scope creep – watch out for Saas that suddenly introduce changes for enterprises and large groups while removing or reducing functionality for individual users in order to accommodate the expansion.

What else should users look for in a SaaS product?

Subcription Victims

Ulysses, the popular macOS and iOS text editor, went to a subscription model. LastPass recently upped their monthly subscription price to $2/month, a 100% increase (among other things). 1Password, TextExpander, and a host of others have done the same.

I’m no fan of the subscription model for software – I think developers overvalue their efforts in many cases. I also understand that the other popular revenue models also suck. Apple does not make this any easier for developers or users.

I do not have an easy answer as I am not a developer. As a user, I am taking responsibility for the cost/value proposition each service (which software is becoming) offers to me. Part of the calculus is how much time and effort and enjoyment (or lack thereof) I will get leveraging another option.

Others take the victim approach to these announcements. In many cases I understand why. There is an increasing trend for revenue model changes happening without notice. Some companies do a poor job on their first stab taking care of existing customers. Others overcompensate for their existing users, alienating new users who think they are getting ripped off because they didn’t buy version 1 back in 2008 (or whenever).

David Sparks made the comment that “What [users] shouldn’t do is trash the app in review because you’re not happy with the business model.” I disagree. A developer’s or company’s behavior is relevant to the app review process as it exists today, especially in the Apple ecosystem. Many application developers act on negative comments in these reviews.

Now, were Apple and Google and Microsoft and other app store overlords to open up the app review process to categories such as technical, ownership, support, etc., my disagreement with Mr. Sparks would fall away. A more nuanced approach to feedback is needed in general. That is another post for another day.

I do agree with the fundamental fallacy of relying on negative app reviews for change. As a user, I recommend applying at least part of your righteous indignant energy toward something more positive for you.

I was in a 7 day cooling off period before jumping on the Ulysses bandwagon when the switch occurred. The initial cost for macOS and iOS before the change was a hurdle. In the new model, I can test it for two months for about $10 (as pointed out by Dr. Drang) before committing.

Fundamentally, anything only in the Apple ecosystem is a hard sell for me. I use and like using Windows 10, flaws and all, on my Surface Pro 4. I use my Nexus 6p running Android N almost as much as my iOS devices. If the application or service cannot run on at least one of those platforms, I have no need for it right now. 1Password and TextExpander are cross-platform, by the way, as are LastPass and iaWriter – two apps I am leaving.

By the way, I am doubling down on Emacs and org-mode. I picked them back up recently to help solve a few work related workflow issues. I get infinitely more flexibility with it and it is cross platform on everything but iOS. I learned I can capture and edit org-mode with Drafts.

And I like using/configuring/tweaking Emacs. Bonus.

[2017] Emergency Preparedness

I am a big fan of planning for “the Big Dark”, where the power is out for more than 3 days. Analog systems, like printed and hand-written records, will be more useful. 

Remember: Emergency preparedness isn’t only for you. it is also so others can contact you when something bad happens to them.

There are drawbacks, mostly around family dynamics this article assumes are moot when emergencies happen.

Note: These are my recommendations. Your mileage may vary. I look forward to constructive input on how best to prepare in the digital age.

Keep an off-line list of emergency info & numbers with you

There was a time where people either knew important numbers and information or carried a address book – a printed out, dead tree address book – and a much of change to use a pay phone (remember those?) to call people. We need to embrace at least a subset of that.

Your health insurance information should be in here. Insurance providers, policy information, doctors information, and maybe prescriptions information should be included.

In certain countries you may need your ID number as well (though US residents should NOT carry their Social Security card or number).

How about this: keep the numbers of your family and close friends in case your phone dies. I could not call anyone except my children if my phone failed, and they don’t often answer their phones – especially from an unknown caller.

As I’m living in a foreign country I carry a card or two that I can use to get me home. In case you’re traveling, disoriented, or inebriated having a card or two to help you get home can be a life saver.

Carry a bit of cash with you, too, in your wallet.

Keep an off-line list of emergency info & numbers at home

This should be a superset of what you carry with you. Your actual cards and birth certificates and stuff (if they are not in a safe deposit box already) should be in a ready-to-carry locked fireproof box in case of emergency. Bank account information, other financial records, and whatever else needed to rebuild after a disaster should be in here.

Throw some currency in the box, too. While it is in there it isn’t working for you, gaining interest or buying food. But if the power goes out no credit or debit card will help. Having cash will help.

[iOS] Enable Emergency Bypass in iOS 10:

I’ve used the Do Not Disturb feature in iOS since it was introduced. This feature allows you to set “quiet times” when your device won’t alert you with notifications, including phone calls and text messages. It can be activated manually or set to activate at recurring times. I have my set to activate from 10:00 p.m. – 6:00 a.m. each day, mainly to avoid “wrong number” calls at all hours of the night.

You have always been able to set a specific group of people you want to exclude from the Do Not Disturb settings. This can be a group you designate in your Contacts or your iPhone’s Favorites list. For years I’ve created a contacts group called “VIP” that I had excluded from Do Not Disturb that included family and a few close friends and other important numbers. While this is handy, it may not cover everyone you want to be able to reach you in the event of an urgent matter. With iOS 10, you have more granular control and can now set contacts on an individual basis to bypass the Do Not Disturb Settings.

To activate the feature select the contact card you want to exclude, edit the contact and select ringtone. At the top of the ringtone menu you’ll now see a toggle for “Emergency Bypass”.

… This is a segment of an article that first appeared in the November Issue of ScreencastsOnline Monthly Magazine. ScreenCastsOnline monthly magazine is packed with hints, tips, articles and links to streamable versions of ScreenCastsOnline tutorials and delivered monthly on the iPad. You can find out more at https://www.screencastsonline.com/membership_benefits/

(Via KatieFloyd.me)

I am not sure if Android offers a similar feature.

[Android] Use Google’s Trusted Contacts App

Trusted Contacts runs on top of a pretty simple concept, with the tap of a button an approved list of people can request your location from wherever they may be. Users will need to manually approve who can request their location, and once a request is sent, the user will have 5 minutes to approve or decline the request before the app automatically approves and sends it.

This app takes things up a notch as well by adding offline support, in a sense. If a user heads outside of active cell service and internet access, the app will report the last known location for that user 5 minutes after a request is sent. Contacts can also “walk each other home,” virtually. This essentially enables one user to keep track of another user’s location as a live feed.

… Before you can share your location, though, you first have to go through the process of adding contacts to the application…

How to add contacts:

  1. Open the Trusted Contacts application
  2. If this is the first time setting up the application, Trusted Contacts will walk you through adding contacts
  3. To set up new contacts, either tap on the Add contacts button found at the bottom of the home screen or open the menu by selecting the Menu button in the upper left-hand side of the screen and tap on the Add contacts option
  4. Here you can search through the contacts on your device and select Add next to the individual to send them an invitation to be a trusted contact

(Via 9to5google.com)

i am not sure if iOS offers a similar feature.

Set up lock screen emergency information

This is a old tip but still useful.

Basically take a picture of contact information and make it your device’s lock screen. Tailor the content to provide what is needed without going overboard. Imagine you are passed out on the sidewalk and the only thing people can get to is your phone’s lock screen. What is the critical information you can provide on there that doesn’t open you up to identity theft?

I find this more useful than the login banner message most devices support. One doesn’t have to wait for the message to scroll, where almost all users put the contact email or phone number.

What else?

What other things, simple and inexpensive and effective, that folks should do?