Friday, February 15, 2019

Following Aggressive Social Blockers Has Made Me Better

People have outsized reactions because they don’t think anyone notices a rational one. - Brett Terpstra
Following people on social media that are aggressive about blocking bullies has enabled me to improve how I choose to interact with people. I follow a select number of minor celebrities on social media of varying histories both trying to combat and activate the illusory truth effect (where hearing something repeatedly makes you believe it). Many of the people I follow are minorities who receive the worst of the internet and are aggressive about blocking people that badger them in any way.
I want to interact with them by sending quips, jokes, and other positive things their way and because I know they block so aggressively it makes me think very hard before I hit that send button if what I'm saying is 100% funny without any hint of being sarcastic, mean, unkind, etc. There have been so many times I’ve thought, “this is really funny, but there is just a bit of edge to it that could be misconstrued so I better not reply.” This exposure is making me more thoughtful about what I'm saying, who I'm saying it to, and who else is involved in the conversation that might also see it.
So yeah, every time I make a funny comment to one of these people and I get a “like” or reply back I give myself a personal high five. That is how the internet should be and that is why they are here!

Thursday, February 14, 2019

The Switch to Hover was Great

Based on the evidence of the past 5-10 years, you shouldn’t be doing business with GoDaddy. - Greg Ferro
It was quite a few years ago when I migrated away from my hosting company (Lycos) to GoDaddy, because GoDaddy was a primary advertiser on EVERY podcast I listened to, and somewhat foolishly, I think my podcasts are boutique enough that they only let the good companies advertise (which is sort of true).
Getting my website up and going with GoDaddy was easy, but ya know, every few months I received a notice from GoDaddy about all the Malware they removed from my site for me. I *think* they're sending it to show me how awesome they are and try an upsell me on a premium security package which could protect me from all the malware the free package didn’t detect. All I'm wondering is how this crud got on there. It probably wasn’t by cracking my random 64-digit password, right?
So I did the internet walk of shame away from GoDaddy. I realized I don’t need much. All of my content is in Google Pages and Google Blogger and all of my apps are deployed on Google App Engine so there was no need at all for a backend. My emails just forward to my Gmail account so I don’t need email hosting either just simple forwarding.
Pretty slick to watch my $119.88/yr change into a $20/yr charge for my domain and one email address forwarding. It would be cheaper still with Cloudflare who just charges you cost - but I couldn’t quite figure out how to do the email forwarding through CLoudflare at this point in time.
My next step is where I’m going to move my other website which is built in Apple iWeb. That’s going to be fun, huh?

Monday, February 4, 2019

How I Talked Myself Out of the New Mac Mini

Quote - Citation
Living the iPad life has been great. In addition to my iPad I have a server running at home I use for needs the iPad Pro can't meet. My home server has become legacy and since it can't run Mojave or support iOS 12 development it needs to be replaced. I was extremely excited by the new Mac Mini and was on the verge of buying one, except I convinced myself I wanted to wait for the Mac Mini running on Apple silicon which is going to come soon, right?
In 2013, my company sold off some old computers and I scored a nice MacBook Air mid-2011 which replaced my older server, a 2004 PowerBook G4. My home computer serves as media/file server and doesn't do much: 1) host my local iTunes library, 2) re-encode media to MP4 for me so it can be that library, 3) run HomeBridge server, 4) do random simple things my iPad cannot.
The server has been getting more use the iPad life. I use Screens to connect into this machine to do the things I can't do directly on iPad. Nothing much, nothing too complex, but lots off little annoying things like when I want to put a new ringtone on my phone.
The new MacMini seems like my dream of the perfect little headless computer that can do everything I need and run WAY faster than the aging laptop. There is some concern that there isn't a very powerful GPU, but my main graphics requirement is video encoding and if I can do H265 using the T2 co-processor to do hardware encoding that would be fast fast fast! So, why not buy it? Because my home server usually lasts me around 5-10 years and while this one is now at the 6 year mark I've got this huge suspicioun that the next iteration of the MacOS lineup is going to be a version of the A13XS or A14XS chip powering it. Do I really want the last great Intel Mac Mini or the first good ARM one? I think the answer is obvious.

Monday, January 21, 2019

10 Year Challenge - It Changes So Slowly

Weapons of great renown have to have a name. - Barbara Thorson (I Kill Giants)
It's surprising how little technology has changed over the past 10 years, right? A decade ago I had an iPhone 2G which I named Kauro and it was amazing because it replaced carrying my Blackberry + iPod Mini which replaced my carrying my Ericsson + Palm + Archos Jukebox. These days my carry is iPhone XS Max, which is just a bigger more powerful version of what I've had for a decade. Go back two decades and I had a USR Palm Pilot Pro with Omnisky and no way to play music.
A decade ago I had a MacBook Air (1st Gen) and that has been replaced with a iPad Pro Max. I'm not sure it's gotten lighter or I've gained portability, but the screen is so much more gorgeous today than it was then. I also definitely couldn't watch video and multi-task on that old MacBook Air, it would spin the fan to full and throttle the CPU (there were many nights I had my portable fan blowing across it full blast just hoping it would stay cool enough to run Flash Player and watch a streaming show). Go back two decades and I had wonderful tower I built with a Cyrix 6x86 that would triple boot OS/2 Warp, Win NT, and Redhat - it was named Asuka.
But even if my day-to-day electronics looks about the same, the technology I use for work must be totally different? Not so much. One decade ago (in fact, TWO decades ago) I was building server-side web applications in Java and I'm still doing the same thing. Sure raw servlets changed to Struts+JSP and changed to front-end HTML5/JS webapps with RESTful Java JSON services built on Spring. The basics are really still the same old webapps just more interactive.
What's going to be different in another 10 years? Maybe I will only have my phone and that it will "expand" into my computer with an external keyboard and monitor when context allows. For my work technology? Who knows, maybe progressive apps will be a real thing? I'm expecting the real AR advancement to be in audio and subvocalization which could be pretty cool.

Friday, January 4, 2019

Hey Siri, Where is My Car?

I spent the last 15 years looking for nails, because I am the hammer. - Merlin Mann
When iPhone disconnects from a Bluetooth connection with a car, it does a special step to mark the location as "Parked Car" in the Maps app. My 2004 Prius is too old to have Bluetooth connection, so I was wondering if I could replicate this feature. Answer? Not really.
I thought it would be awesome if I could get a little Bluetooth dongle that plugged into the car power port and said, "Hey, I'm a car!" That way anytime I turned on my car, the device would power up and BOOM I would have that functionality, but it doesn't seem like any such device exists.
Next step, can I write a Siri Shortcut that does this? Also, not really, but I gave it go. The main shortcut command, "Get Current Location" provides the address you are at, not the GPS coordinates. If you're in the middle of a parking lot it's just going to provide the address of the place you've parked at and additionally Shortcuts doesn't give you a way to set a marked location / drop a pin. So the best I can figure out is to write out the address into a Dictionary (JSON text file) on iCloud Drive. Then I need a second shortcut to read it and open it in Apple Maps. I also launch Apple Maps at the end of saving so you can manually drop a pin on the current location.

Sunday, December 30, 2018

Getting Capped

Isn’t that life bro? - Owen JJ Stone
I'm moving my iPhoto library to iCloud and it is a insanely massive amount of data that burst me right through the Xfinity cap which is extremely expensive in overages. Comcast probably wants to solve this through zero rating and they've set things up to give them extreme power in the upcoming streaming battles if they remain free from consumer protections.
I can choose between AT&T (U-Verse) and Comcast (Xfinity) for home broadband and there is no fiber running to my door so it's either ADSL or Cable modem. A few years ago, I gave up AT&T because ADSL has an upstream pretty much capped by the technical spec to be slow and I couldn't get past 1.5 mbps upstream which saturates in a moment running a couple of internet cameras. Once your upstream is totally used, the downstream is broken.
When I moved Mrs. off her old 1TB SSD into the new MacBook Air with 256GB, the cost calculation for the 700 GB Photo library was to put into iCloud for her. I had not consider this bandwidth math:
  • 700 GBs uploaded to iCloud from old laptop
  • 700 GBs downloaded from iCloud to the desktop computer with Drobo
  • 700 GBs uploaded from desktop to Backblaze backup
During this first upload process is when I learned that Xfinity has a 1TB monthly cap and then you pay overages. They do give you a warning the first 2 months you hit your cap, but after that, the charges are intense: $10 per 50GB. So for just my iCloud Photo Library it would cost me $200 in overages to go through that upload/download/upload process.
While Xfinity proudly says, "99% of our customers do not use 1 terabyte of data" - Xfinity is estimated to have 25 million internet customers, which means there are 250k customers (a quarter million) who are going over this cap. On my average month I am going between 600GB-800GB so I'm dancing under the cap as well and I suspect that is where most modern family households are that are jamming with a couple adults, young adults, and a lot of Netflix (YouTube).
There are two clear Comcast strategies here with the demise of net neutrality. Xfinity television (e.g. Comcast) is zero rated and doesn't count against the limit. The second is to get Netflix, Hulu, etc. to pay Comcast to have their service zero rated (not count towards this limit) because without a zero rating for streaming video, if you were watching 4K content on Netflix, you'd fly right past this and you'd be paying an extra $200 a month.
Anyway, I finished out the month at around 2TB *AND* I'm not even close to be done with the whole process. So to avoid overages I'm going to need to more aggressively manage and probably complete this whole process over the next... 6 months? Alternatively, I'll just take my server to Starbucks and do the sync there?

Thursday, December 20, 2018

Overcast, AudioBooks, Huffduffer, and Workflow

The best minds of my generation are thinking about how to make people click ads. - Jeff Hammerbacher
My preferred way of reading AudioBooks is to get the chapters loaded directly into Overcast so I can intersperse them with them with podcast episodes and so I can use Smart Speed and faster playback. It’s wonderful to finish up an episode of TWiT followed up by a chapter of Embassytown and so on.
You pay a subscription to Overcast so that you can upload your audio files to the Overcast servers and load your content from there. That is a fine way to do it. Castro actually supports side loading any audio files from your iCloud Drive, an even cooler feature, which I think will come next year in Overcast. But what to do for now?
There is this great, simple, free service called Huffduffer that lets you host your own Podcast RSS file where you an use a web form and fill in the title, audio location, and it will add it in. So I subscribe to that RSS in Overcast, upload my audiobook file to Dropbox, and then add the Dropbox public link to my Huffduffer. Even cooler, after Overcast downloads the audio file, I can delete it off my Dropbox account.
I was always a little annoyed and needing to get the link from Dropbox, and then use the Huffduffer web form to add it. On the iPhone, that is not always so easy and I wondered if I would be able to do it through a shortcut. The answer is yes, but it’s complicated.
Step 1: Getting the Dropbox URL is pretty easy. I mean, you share in Dropbox to Shortcuts and that activates the workflow. A little bit of replace to switch to the direct download URL and then I also regex out the filename so I can use that for a Episode Name suggestion.

Step 2: Storing the Huffduffer username and password I do a little tricky because I don’t want to store it directly in the workflow. So I think a decent little trick here is I store it in a dictionary file on iCloud Drive. It is pretty darn complicated to write the simple idea of, “if the file does not contain the username, then ask for it, otherwise use what’s in the file.”

Step 3: The Huffduffer login is easy, it just posts to a standard login form and gets back a session cookie. I don’t quite understand what is happening from sandboxing perspective but the workflow doesn’t get access to cookie that’s been set in Mobile Safari and the cookie doesn’t persist through multiple iterations of the workflow — but it does get sent in subsequent URL calls to Huffduffer.

Step 4: Sorry Huffduffer. On the form to add your article, there is a hidden randomly generated string called “csrf” which is probably something like “Client Side Reference” and I would guess is setup to make scripting harder. But in the modern world of scripts it’s really just an annoyance. Now getting with Shortcuts is a bit weird. When you “Get Contents of a URL” it basically gives you back the rendered page at RTF so you don’t have access to the hidden variable, but if you pipe that through “Make HTML from Rich Text” you get back to the original HTML of the page. From there a simple regex can pull the value out.

Step 5: Now the final step is just to execute the actual add form call with the form data and BOOM, magically the Dropbox URL (or any Web URL) has become a part of my Huffduffer account.

Epilogue: Shortcut development is painful. When trying to develop a little route (like getting the HTML) I have to setup a second shortcut with the small chunk of workflow and experiment. Once that is working I load the working test shortcut on my iPhone and re-implement it on my iPad because there is no way to copy-paste.
And then getting screenshots of the shortcuts if it is more than a single screen? I had to take multiple shots and then load them all into Pixelmator and crop and paste layers together. Not fun for anyone.