Tuesday, February 20, 2018

HomePod Review

My wife and I are casual musicians and both grew up with a love for music. Ever since we moved in together, we always have had a speaker in the kitchen — it’s the place we most commonly play music without headphones. The JBL OnBeat Venue LT speaker we’ve had in there has served us well, but has officially been usurped by HomePod. Here’s why.

Read on

Monday, December 18, 2017

Fatherboard Episode 008: The Next Oil Industry


Dad and I talk Apple Pay Cash, iMac Pro, Lance’s new MacBook Pro keyboard, Net Neutrality, and a special giveaway!


  • Intro: Brian Setzer’s Christmas Show
  • Apple Pay Cash and Competitors
  • iMac Pro Recap
  • Apple Acquires Shazam
  • Lance’s MacBook Pro gets new keys
  • More thoughts on HomePod
  • FCC Repeals Net Neutrality Rules
  • Mozilla’s misguided ‘Mr. Robot’ plugin
  • Giveaway: Anker PowerCore 13000


How to Listen

Contact/Follow Us

Tuesday, December 5, 2017

Fatherboard Episode 007: Oh No, It’s A Mac


Dad and I discuss Apple’s multiple software bugs this past week, iOS 11.2 and Apple Pay Cash, HomePod delay, how Gaddgict became One-Tech Mind, and more! This episode (and all going forward) includes MP3 chapters thanks to Marco Arment’s Forecast tool. Thanks, Marco! To see them, listen to Fatherboard in Overcast.


  • Intro: House of Blues
  • Apple software bugs or “Bug Week”
    • I Am Root vulnerability
    • I Am Root patch caused another bug for some
    • December 2 notification bug
  • iOS 11.2 and Apple Pay Cash
  • E-Mail is a Necessary Evil
  • Mom’s MacBook Pro Update
  • HomePod delay & Future Siri
  • Trouble Paying iPhone Screen Replacement Fee
  • Gaddgict becomes One-Tech Mind
  • USC wins PAC-12 Championship (may include minor Stanford bashing).


How to Listen

Contact/Follow Us

Wednesday, November 29, 2017

Welcome to One-Tech Mind

Finding My Way

I’ve always wanted to do something creative with my technical knowledge, but I never came up with a compelling enough idea to put myself to task. I always thought that if I could just think of the perfect name for whatever my thing was going to be, that it would just hit me. That’s exactly what happened with Gaddgict.

I remember waking up one day this past April with the name in my head. It sounded perfect, or so I thought. Inspired by the mainstays of tech blogging and/or podcasting (e.g. John Gruber, Jason Snell, Marco Arment, Walt Mossberg, Jim Dalrymple, Dave Mark, and others), I decided to start a tech blog — in 2017 — employing an ‘if you build it, they will come’ sort of approach.

Harnessing the ‘move fast and break things’ adage, I jumped right into it. I had considered a few other names before making sure Gaddgict was the best choice. 1 Before I knew it, I bought the domain, spun up a server, and designed the logo in the car during a road trip to the Bay Area.

I have learned a ton in the past seven months since Gaddgict launched, but something kept nagging me about the name. Now, I love a good portmanteau, 2 but Gaddgict didn’t seem to fit with what I’m trying to accomplish with my writing. It also didn’t sound as credible to me as I am striving to be. Plus, there were other … marketing problems: the portmanteau gets lost when verbalized, I’d have to spell it out letter by letter, it’s hard to remember, need I say more. Suffice it to say, I decided ’Gaddgict’ as a brand wasn’t a good fit.

Perhaps one day Gaddgict will find its true purpose.

Why One-Tech Mind?

For three summer breaks during my High School years, I interned at the technical trade school my Dad worked for. He wore a few hats there, but lastly served as the IT Manager. During my first summer there, while learning DOS commands and installing Windows 98, I was obsessed with building my first [gaming] computer from scratch. I scoured the Fry’s ad on Friday and checked Newegg constantly, desperately trying to piece together the perfect budget-friendly rig.

I wouldn’t stop once we left work, because for me, this subject matter wasn’t work. On our drives home, I continued to be a broken record full of “what ifs” and “what do you thinks”, most likely driving my Dad crazy. Suffice it to say, my Dad has always said I have a one-track mind. It’s true — I am incredibly obsessive by nature. Once I get locked on a subject, good luck pulling me away from it. That has always been the case with technology.

No name could ever reflect who I am better than One-Tech Mind. I grew up on computing towards the end of the DOS days and look incredibly forward to each new step we take towards the future of computing — in whichever shape it takes form.

Thanks for joining me for the ride. There’s plenty more to come.

Follow One-Tech Mind on Twitter

  1. Narrator: It wasn’t. 
  2. Hopefully you got it (gadget + addict). 

Wednesday, November 22, 2017

F.C.C. Plans Net Neutrality Repeal in Victory for Telecoms →

Aaron Byrd and Natalia V. Osipova for The New York Times:

The Federal Communications Commission announced on Tuesday that it planned to dismantle landmark regulations that ensure equal access to the internet, clearing the way for companies to charge more and block access to some websites.

The proposal, put forward by the F.C.C. chairman, Ajit Pai, is a sweeping repeal of rules put in place by the Obama administration. The rules prohibited high-speed internet service providers from blocking or slowing down the delivery of websites, or charging extra fees for the best quality of streaming and other internet services for their subscribers. Those limits are central to the concept called net neutrality.


“Under my proposal, the federal government will stop micromanaging the internet,” Mr. Pai said in a statement. “Instead, the F.C.C. would simply require internet service providers to be transparent about their practices so that consumers can buy the service plan that’s best for them and entrepreneurs and other small businesses can have the technical information they need to innovate.”

Complete and utter bullshit. ISPs are amongst the shadiest companies out there and Pai is a disgrace to the F.C.C. chairman office.

A brief example of what could theoretically be possible without Net Neutrality rules:

Big online companies like Amazon say that the telecom companies would be able to show favoritism to certain web services, by charging for accessing some sites but not others, or by slowing the connection speed to some sites. Small online companies say the proposal would hurt innovation. Only the largest companies, they say, would be able to afford the expense of making sure their sites received preferred treatment.

For an explainer, read my piece on this subject, Net Neutrality And You.

Please call your representatives and plead with them to pass legislature to preserve Net Neutrality. Visit Battle for the Net for more info and to find out what you can do to help. We may lose this battle, but as long as we keep pressing, we’ll win the war.

Friday, November 17, 2017

iPhone X Review: Magic Glass

Remember the delight of experiencing iPhone for the first time back in 2007? That vision of the future, free from flip phones, T9 texting, WAP websites, carrier logos plastered all over your device — the list goes on.

Ten years have gone by in the blink of an eye, and there is still no mistaking the clear and apparent magic dwelling in every iPhone. Never has that been more apparent than iPhone X — Apple’s modern masterpiece.

As much as the original was a vision of the future, so is iPhone X, as a wondrous piece of magic glass.

Apple has never been afraid of changing the iPhone experience on us when new technology demands it. Never before, though, have they changed it so radically than is apparent with iPhone X. Never before has Apple released three different flagship phones with differing interface elements. You know what they say — never say never. Apple is keeping us on our toes.

It’s a year of massive change for iPhone, so let’s dive in with my most extensive review yet.

Read on

Saturday, November 11, 2017

Fatherboard Episode 006: UPS Guy Hunting


After brief woes on the Dodgers, we dig into our amazing experiences using iPhone X over the past week ahead of Lance’s forthcoming review.

Note: In this episode, we may have accidentally said the phone has been out for two weeks, when it really has been one.


  • iPhone X
    • Pick Up/Delivery Experiences
    • Design
    • Screen
    • Gestures
    • Face ID
    • Other
  • Other
    • A [?] bug
    • Apple’s AirPower mat may cost $199.
    • A $12,000 Beatles Jukebox


How to Listen

Contact/Follow Us

Saturday, October 28, 2017

How I write and publish One-Tech Mind with iPad Pro and Editorial

Everything I write and publish to my site is directly from my iPad Pro 10.5-inch, made possible by iOS 11 and some amazing apps. When I launched One-Tech Mind, I didn’t plan on working this way, but it has become so fun and compelling that I don’t even consider using my MacBook Pro or anything else to accomplish these tasks. In fact, the only thing I use my MacBook Pro for is the site’s development, since I can make changes safely in my test environment before publishing to the production server.

I’ll be writing mostly about the Editorial app since that’s where all my writing and publishing takes place. I’ll also call out a few other apps I use as part of my workflow. I felt compelled to share this process since the interest in iOS automation seems to be on the rise. I hope you’ll find my perspective and approach useful.

Preface: CMS Setup

The CMS One-Tech Mind runs on is called HTMLy. It’s a simple, yet powerful flat-file system, and I’ve been able to easily tweak it to suit my needs since One-Tech Mind launched earlier this year. Let me preface the iPad setup by level-setting a couple things about how HTMLy works. This will help to better illustrate how I implemented certain tasks in Editorial.

  • All posts are stored in folders related to their category (e.g. Apple, Gadgets, General, Google, etc.)
  • Each post has metadata embedded inside as HTML comments which HTMLy references on the server. For example, the title and tags for a post are written as seen below.
  • Each post’s filename must be written as such: YYYY-MM-DD-HH-MM-SS_tags,are,sep-by-comma_title-here-with-dashes.md

<!-- t How I write and publish One-Tech Mind with iPad Pro and Editorial t-->

<!-- tag iPad Pro,Editorial,iOS Automation tag-->

My Setup Overview

Here’s an overview of my setup. Note: apps listed are linked with my iTunes affiliate ID, so if you decide to purchase one of these via a link below, you’ll be helping me out a little bit!

iPad Pro and Smart Keyboard

I’ll direct your attention to my iPad Pro 10.5-inch review for my full thoughts on this wonderful device. However, I’d like to take a minute to talk about the Smart Keyboard here.

I bought the Smart Keyboard with the iPad not knowing exactly if I would like it. Now that I have been typing on it for months, I was and am still shocked by how good it is. The key travel is perfect, 1 the material has a great feel and is easily maintainable, the smart connector integration is genius, it doubles as a stand for watching video, the list goes on.

My only gripe with the Smart Keyboard is its lack of a forward delete key combo, which is essential for writing. This was initially a problem until I created a workflow in Editorial to accomplish this as you’ll see below.


There are quite a few really great writing apps for iOS. There’s Ulysses, Bear Notes, Byword, and more. For me, Editorial takes the cake thanks to its built-in workflow system that allows for custom Python scripting. It’s made by the developer of the highly-acclaimed Pythonista app, Ole Zorn.

My Favorite Features

Editorial has all the usual features you’d expect in a writing app like Markdown, exporting, syntax highlighting, etc. Here are a few other features that are standouts for me:

  • Dropbox Sync. Allows for easy editing when I’m away from my iPad and want to jot down a few more sentences from my iPhone. While this works, I wish syncing with iCloud was a viable option, as I don’t use Dropbox for anything else.
  • Snippets. Similar to the famous Text Expander service, you can create word abbreviations which are transformed into whatever your heart desires. For instance: typing ‘ppp’ pastes the current contents of your clipboard (a default snippet).
  • Templates. Ability to create templates for writing formats used most often. These are actually the same as workflows, but they can be found under the ‘New File’ menu once created.
  • Workflows. See below.
  • Python Scripting. As mentioned, Editorial can handle Python scripting to enable really powerful automation (as you will see). 2


Workflows are where the real power of Editorial comes into play. Creating your own workflows is made easy by the plethora of pre-constructed actions you can build custom flows with, some of which offer impressive integration with iOS. To name a few:

  • Find & Replace (with regex support)
  • Moving the caret
  • Storing variables
  • Changing text case
  • Sharing via iOS share sheet
  • And much more…

Editorial has fantastic documentation on how to use the pre-constructed actions and advanced Python modules.

Workflow Directory

Editorial also has a Workflow Directory where you can share workflows you have created and download ones created by others. There are quite a number of awesome workflows on there. In fact, I’ll be sharing template versions of the ones I wrote below.

My Workflows

What follows are the main workflows I built to write and publish One-Tech Mind.

Forward Delete

As mentioned above, the Smart Keyboard itself does not have a way to perform a forward delete. However, I was able to write a workflow in Editorial and bind it to a key combination to mimic a forward delete like so:

  1. Extend the current selection forward by one character.
  2. Replace the character with nothing.

That’s it! I binded the combo to Control + , mimicking the normal key spacing for forward delete on a Mac (Fn + Del). I thought Editorial would lag a little bit if I spammed the key combo repeatedly, but it doesn’t at all. It functions exactly like a forward delete should (you can even hold the key combo down to for continuous delete).

Get this workflow.

SFTP Image Upload

While a majority of my posts tend to not have images, when I feel inclined to include any, this workflow will securely upload them to my server over SFTP and insert the appropriate HTML into my current document. It goes a little something like this:

  1. Asks for the alt/title text to be used for the image and stores it in variable imgALT.
  2. Runs a custom Python script that brings up the iOS Photo Selector so I can choose the image to be used, which is then copied to the clipboard.
  3. Runs another custom Python script to:
    • Generate a unique name for the image.
    • Paste and save the image temporarily within Editorial.
    • Upload the image to the server over SFTP.
    • Delete the image from Editorial.
    • Copies the permalink to the image to the clipboard.
  4. Inserts the following into the document:
    <img src="[Clipboard]" alt="[imgALT]" title="[imgALT]">

I love this workflow because it allows me to see a live preview of the images within my post. If SFTP isn’t your thing, you can also adapt this script to use regular (insecure) FTP via the Python ftplib module. 3

Here’s an example of my workflow:

New Post Template & Custom UI

You can also create custom templates, which are really workflows, to further automate things. For instance, my original ‘New Post Template’ prompted me separately for things like the post title, post type, and the meta description. This was great, but then I delved into Editorial’s awesome Custom UI builder.

Now when I’m creating a new article, I’m presented with a simple form to fill in the basics and populate the meat and potatoes of the post itself.

Here’s how it works:


When I’m done writing, this is the main workflow that publishes a new post to the blog and a bit more. Although there are many more individual steps than this, here is an abridged version of what this script does:

  1. Syncs the document with Dropbox.
  2. Sets a few variables to be used later:
    • Identifies and stores the post type (e.g. post, link, video, image) in a variable from the HTML comments in the file. I accomplish this using simple regex patterns. For instance, here’s the pattern for capturing the title : <! --t (.*) t-->
    • Same for post category (e.g. Apple, General, Google, Site News, etc.).
    • Same for the post title, but also strips away special characters via a regular expression. Also converts spaces to dashes and makes the whole string lowercase. This will be used to formulate the file name to be read by HTMLy.
    • Same for post tags.
  3. Runs the main Python script to formulate the proper file name to be used on the server and upload the file via SFTP 4 to the correct directory.
  4. Runs a sub-workflow that contains a Python script to clear the site’s cache.
  5. Inserts the file name of the document on the server into the bottom of the post. This can later be used by my separate ‘Update Post’ workflow if I need to make corrections or otherwise update an existing post.
  6. Opens the iOS Share Sheet with the article’s permalink attached and the title copied to the clipboard. From here, I can quickly tweet out the link using Tweetbot without ever leaving Editorial. 5
  7. Opens the following tabs within Editorial’s built-in browser:
    • Share to Facebook page with the permalink for the new article already attached. 6
    • Google Search Console so I can request Google to index the new article.
    • The new article live on the site so I can verify it is loading correctly.
  8. Sync with Dropbox one more time since the name of the file on the server is now stored in the document (from step # 5).

Get this workflow. Note: you’ll have to tweak this, of course. I’m not including the sub-workflow that clears my site cache (step 4 above), since it just connects to my server and runs a command over SSH. Same goes for the Update Post workflow below.

Here’s the workflow in action:

Update Post

Similar to the Publish workflow above, this one is for updating an existing post already on the site. It goes a little something like this:

  1. Grabs all the variables just like Step 2 from the ‘Publish’ workflow.
    • Additionally: checks to see if the post tags have changed. If so, it will reformulate the filename to be used on the server.
  2. Grabs the file name for this post on the server (the one stored at the bottom of the document by Step 5 above).
  3. Uploads and replaces the existing file on the server via SFTP.
  4. Runs a sub-workflow that contains a Python script to clear the site’s cache.
  5. Opens the updated post on the site within Editorial’s built-in browser.

I won’t bore you with a video for this one, since it’s largely the same as the Publish workflow.

Get this workflow.

Affinity Photo

When using images in my posts, I’m typically dealing with quick cropping and basic manipulation. Affinity Photo does this with ease and definitely offers the closest-to-Photoshop-like experience on iPad than any other app. On occasion, I’ve used it to create more detailed images for feature posts like ‘Home Smart Home’ or my Amazon Echo Show Review, and it has just been a joy to use. There’s an initial learning curve when it comes to the UI, but nothing a little exploration can’t solve.

Workflow (App)

Workflow is a small, yet convenient part of my … well … workflow. Here are the actions I have setup:

New Article Template

Calls the ‘New Article Template’ workflow in Editorial. In other words, I can jump into writing a new article from anywhere by triggering this action from the Workflow widget in the iOS Today view.

New Quick Link

Calls my ‘New Qlink’ workflow in Editorial. From there, I can quickly share a link that is displayed at the top of the index page under the “Quick Links” tab.

Clear Site Cache

In order to clear my site’s server-side cache, I can trigger this workflow to run the server script (over SSH) that does just that. In fact, this is the same server script Editorial runs after a new post is uploaded. The real cool part about this one is triggering it from my Apple Watch. I can’t help but geek out every time I clear my site’s cache from my wrist.

Transmit and Prompt

Made by popular developer Panic, I use Transmit and Prompt for SFTP and SSH respectively. They have similar features as other apps, but offer best-in-class UI and UX on iPad in my opinion. Not to mention their Panic Sync feature is great, which keeps server and login info up-to-date between my iPad and iPhone.


My entire setup took a decent amount of time to put together (and I’m still refining it). Would it have been easier to use a Mac or something more off-the-shelf? Possibly, but it was fun as hell to build all this. It really showcases the power of iPad Pro and paints the picture of a truly capable machine versus a media consumption device.

Feel free to reach out to me if you have any questions on Editorial, the workflows, or anything else.

If I can do all this for my site, just imagine how easy non-technical tasks will become or have already become. Apple’s vision of the iPad as the new standard computing device for the average user is closer than ever.

Updated December 27, 2017: changed all ‘Gaddgict’ references to ‘One-Tech Mind‘.

  1. Dare I say even better than key travel on MacBook Pro? Shots fired, I know. 
  2. I never had written anything in Python before using Editorial, but the learning curve is pretty small if you’ve written in any other languages. It’s fun, yet powerful. 
  3. I wouldn’t recommend it. Security and privacy are important. 
  4. I’m using Python’s Paramiko module for SSH transfers. 
  5. This is a recent addition, as Tweetbot barely gained iOS share sheet functionality. 
  6. It’s a shame you can’t use the Facebook share extension to post to a page (timeline only), similar to how I do it with Tweetbot. 

Friday, October 6, 2017

Death to Push Notification Spam

Post updated on October 7 at 2:20 PM Pacific to include a new notification from Offer Up.

You get them, I get them, we all get them — and no it’s not ice cream, but something far worse — Push Notification spam. Whether they direct us to new features or advertise sales and specials, they have become a plague. We get so many notifications as is. Coupled with the lacking notification management in iOS, the last thing we need is literal spam adding to the mess.

For too long we have let apps control our endless stream of notifications in the hopes they’ll make our lives easier. While most do, there are countless others, big and small, that have abused our trust. I say no more. Here are my top offenders, in order of most annoying to least.

My Top Offenders


They are by far the worst in terms of content and frequency. Here’s one in particular I saved from June.

How about you just put it in your update notes instead?

Offer Up

Offer Up isn’t far behind Postmates. Yeah, I know it’s [insert national holiday here]. It doesn’t mean I’m going to look for [insert holiday-associated item here] in your app. I didn’t save an example, but I’m sure it won’t be long before I get another one.

Added on October 7 at 2:20PM:

Right on queue! I just received this about an hour ago.
What did I tell you? Right on queue! I just received this about an hour ago.


Really? Why? Did everyone suddenly forget about the largest coffee chain on Earth?

No shit? Get out of town!
No shit? Get outta town!


There are countless others, as I’ve seen plenty examples over the years. I asked family and friends to send me any notifications they received in the same vein, so here are a few more. If you have particularly terrible ones, feel free to send them to me.

A repeat offender.
Awful, and a repeat offender for my niece.
Even TILE?
Even TILE? Again from my niece.
Egregious. Sent in by my Dad.
Come now, Domino’s.
Come now, Domino’s.


The solution I feel is three-fold.

Marketers: Don’t Be Shitty

Marketers need to stop trying to appeal to us this way. To think at any time I could be bombarded with an asinine notification about your product is ridiculous. If anything, it makes me dislike your brand/app and inches me ever closer to never using your service again. Only engage me when it’s actually warranted. Otherwise, get out of my way.

We The People

Report apps that do this to Apple. It’s explicitly against the App Store Review Guidelines, and if we make enough noise, hopefully Apple will listen. Which brings me to the third part of the solution.

You can report an app via the ‘Report A Problem’ site. One you login, apps purchased within the last 90 days will appear. Click the offending app’s ‘Report A Problem’ button and enter something of the following nature. If you need to report an app not on the list, contact support directly.

Apple’s Report A Problem site.
How to report an app. Just using Giphy as an example. They are not an offender.

Apple: Enforce App Store Guidelines

Half of the onus for this mess is on Apple. They have rules explicitly outlawing these kinds of practices, yet have continued to let marketers get away with it. As a result, they have set a terrible precedent.

They also haven’t provided a way for us as users to opt-out or otherwise better manage these kinds of notifications. To draw a parallel, Apple introduced an official API for developers to engage users on rating and reviewing apps in iOS 11. As a result, the experience has been far better than what developers have resorted to over the years. Maybe they could apply this same kind of thinking to ad-based notifications.

Otherwise, Apple needs to get with the program and actually enforce the policies below. Here are a few App Store Review Guidelines that speak best to this situation.

3.2.2 Unacceptable [Business Models]

(ii) Monetizing built-in capabilities provided by the hardware or operating system, such as Push Notifications, the camera, or the gyroscope; or Apple services, such as Apple Music access or iCloud storage.

4.5 Apple Sites and Services

4.5.3 Do not use Apple Services to spam, phish, or send unsolicited messages to customers, including Game Center, Push Notifications, etc.

4.5.4 Push Notifications must not be required for the app to function, and should not be used for advertising, promotions, or direct marketing purposes or to send sensitive personal or confidential information.

Emphasis mine. I don’t know how it can be more clear.

The Starbucks notification above is obviously in violation of all these rules. They outright say they want me to place an order from my phone under the guise of ‘cool feature’.

In the case of Postmates asking me to check out their latest update, I’ll play devil’s advocate. One could argue it’s not for ‘direct marketing purposes’, and only a plea to check out ‘cool feature’. Still, what feature could they possibly add that wouldn’t be for the benefit of their core business? Considering this, how could the notification not be in violation of the App Store guidelines? It might as well say ‘Please open our app and order something.’ — at least then I’d have a little more respect for their honesty.

Not A Solution

You might be saying, ‘well then don’t patronize these businesses and stop using their apps’ or ‘turn off notifications for the offenders’, but that’s beside the point. Some do offer great services or experiences that require or provide great benefit via Push Notification (e.g. letting you know when your order is ready). We simply must be vocal about discouraging this kind of behavior or it will continue to run rampant.

Thursday, September 28, 2017

Fatherboard Episode 004: Appearing Out Of Thin Air


Join us for discussion of iPhone 8 reviews and thoughts, more on iPhone X, and a recap of Lance’s Watch Series 3 review (spoiler alert: it’s the best Watch yet).


  • iPhone X Follow-Up
  • iPhone 8 review coverage
    • More on the A11 Bionic chip
    • Lack of lines at Apple Stores
    • Glass-back design
  • iPhone X
    • Launch production quantity reportedly hovering around 12M units.
    • Space Gray vs. White/Silver
  • Digressions about music.
  • Lance’s Apple Watch Series 3 Review
  • Waiting on more HomePod and iMac Pro info

How to Listen

Contact/Follow Us