AgileBits +1

Back last year after 1Password 4 for Mac was released we had an absolutely massive number of users who had emailed in with questions and it took us months to claw our way out of that. Unfortunately, you were one of the people we hadn’t been able to reply to. As an apology for that missed opportunity of ours to make you happy I just sent you a free copy of 1Password 4 for Windows and Mac

Kyle SwankAgilebits

The goal of any company is to keep their good customers loyal. It’s pretty clear that I’m a good customer (1Password, 1Password Pro, 1Password Family Upgrade, 1Password for Windows Family, 1Password 4 IOS, 1Password 4 Mac). And this is how AgileBits locks in my loyalty.

They didn’t need to gift me new licenses. But it’s nice to feel to feel appreciated.

Blogkeeping Update

For my readers in RSS-land, I’ve made some updates to the presentation here at Take the First Step.

Back to Landscape

I’ve returned to the default theme, landscape. I left because it took 27 minutes to generate the site. A little investigation led to the recent_posts widget as the guilty party — it was sorting the complete list of articles for every page. I removed the widget and generation time is under a minute.

This has also allowed me to change the format of my archive, category and tag pages from full text with pagination to date and title with no pagination. I think that it’s a lot easier skim over when you aren’t limited to 10 full text posts per page.

Theme Customization

I’ve made some changes to the underlying theme. The widgets now use theme properties to hide article counts and to change the archive list from monthly to annually. I also updated the CSS to use horizontal lists when displaying a bottom-bar rather than a sidebar.

I’m currently displaying the archive widget with annual links at the bottom of each page.

Theme in Github

Finally, I’m maintaining my theme in Github. This should make it easier for me to keep my theme up to date and allow me to make a pull request when I’m happy with my changes.

Net Neutrality +1

I’m not a believer in slippery slopes. But I’m going to make an exception today. Giving internet providers the right to sell preferential access to their users is a start of a slippery slope.

That’s why I’m joining the Internet Slowdown. Visitors to this weblog will see a symbolic “loading” icon to remind everyone what an internet without net neutrality would look like. If you allow cookies, then you will only see this once.

Healthcare Cheatsheets

The ideoplex household visited the emergency room last month. Healthcare costs are supposed to come down with the new high deductible health plans - we’re supposed to do a better job of comparison shopping once we have skin in the game. Based upon our experience, I think people are going to need some help.

The emergency room is the worst possible place for comparison shopping. You’re already under stress. You ping-pong between waiting to hear from the doctors and trying to understand what the doctors are talking about. It wasn’t easy to stay in-network, much less think about comparison shopping. We had access to wifi, but just about all the pages had disclaimers that you needed to confirm network coverage. And of course, I had go outside to get decent cell coverage.

I’m a believer in cheatsheets and checklists. Do standard thinking in advance, so you can focus on what’s actually different. I would think that there is money to be made by:

  1. Keeping insurance network listings up to date. So you didn’t have to call to confirm that a doctor was still in network.
  2. Keeping track of the on call specialists at hospital emergency rooms and what insurance networks they belonged to.
  3. Providing checklists of what questions to ask for various types of visits. Because most of us will only need to know this once.

Parking Page on Cloud Storage

Now that I’m using Google Domains, I thought that it only appropriate to have my parking page on Google Cloud Storage. It turned out to be pretty easy.

  1. Create a Google Cloud Storage bucket with your desired website name. You may need to prove that you control the domain before creating the bucket. In my case, Google knew that because they were the registrar.
  2. Build your static parking page. I started with the Grayscale template from Start Bootstrap and made my changes.
  3. Copy the static content up to Google Cloud Storage.
    1
    2
    3
    4
    gsutil cp -a public-read -R * gs://www.dwightshih.com
    # -a public-read gives the requester OWNER permission
    # and all other users READ permission
    # -R for recursive copy
  4. Update the bucket configuration to serve index.html when a bucket listing is requested via the CNAME alias.
    1
    2
    gsutil web set -m index.html gs://www.dwightshih.com
    # use -e <404.html> to specify an error page
  5. Update your DNS CNAME alias to c.storage.googleapis.com:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $ dig www.dwightshih.com
    ; <<>> DiG 9.8.3-P1 <<>> www.dwightshih.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28866
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
    ;; QUESTION SECTION:
    ;www.dwightshih.com. IN A
    ;; ANSWER SECTION:
    www.dwightshih.com. 3600 IN CNAME c.storage.googleapis.com.
    c.storage.googleapis.com. 1055 IN CNAME storage.l.googleusercontent.com.
    storage.l.googleusercontent.com. 229 IN A 64.233.171.128
    ;; Query time: 58 msec
    ;; SERVER: 10.0.1.1#53(10.0.1.1)
    ;; WHEN: Mon Sep 1 16:48:08 2014
    ;; MSG SIZE rcvd: 129

And voilà, your static page should be up.

Smalltalk and Me

I never had the opportunity to write an application in Smalltalk.

I was a fortran programmer back in the late 80’s. Exposure to Unix had opened my eyes to a whole new world of possibilities in software. And I was a regular at the Sunnyvale Computer Literacy, trying to learn more about those possibilities. One of those possibilities was Smalltalk, or more precisely Little Smalltalk. I read the book. I obtained the source on 9 track tape. And I surreptitiously installed it on the superminicomputer at work.

And that was my introduction to the wonderful world of objects. They say that “You can write a Fortran program in any language” And I’ve certainly seen my share of Java code that is best described as C with garbage collection. In Smalltalk, everything is an object. And with its devotion to that mantra, Smalltalk was perhaps the best language to start object oriented programming.

RIP James Robertson

I was saddened to learn:

It’s with great sadness that I inform you that James Robertson passed away on Thursday, April 17, 2014. He was a very good friend to me and to multitudes of other people. He was a tireless supporter of Smalltalk and a loving father to his family. He will be greatly missed.

I didn’t have the privilege of meeting Jim - our only connection was between his blog and mine. But you could feel his presence and commitment at a distance. My thoughts and prayers go to his family.

The Platform Wins

Hmmm. You would think that I would have learned my lesson when I picked TextPattern over WordPress.

The Platform Wins

I was idlely searching for GitHub on the IOS App Store and I found OctoPage, an app for jekyll on github pages. And I couldn’t resist. So I spent $0.99 plus tax and took it for a spin.

The verdict? Not quite ready for prime time. OctoPage needs some more polish when authoring posts. And it would be really nice if it were a universal app rather than iPhone only.

But the fact that it exists, along with Jekyll on GitHub pages and Jekyll Themes and Octopress, is a strong statement that Jekyll really is the static weblog platform. And that I need to re-think my move to Hexo.

Google Domains

I’ve been a most happy GoDaddy customer for over 10 years. But Google Domains offered more (free private registration) for less ($3-$5 per domain). My beta invite arrived last week and I started moving my domains.

My experience with Google Domains has been mostly good. I submitted 3 support emails and received responses in a couple of hours. I didn’t get the answers that I was hoping for, but I got my answers.

For the record, here’s what I was interested in:

Q: Are bare domains supported on Google Cloud Storage with Google Domains?

A: No …

I have no complaints with Amazon S3. But my Amazon bill has been about $0.70/month, with about $0.53/month for Route53 DNS hosting. I’m not going to move this site to Google Cloud Storage for $6.50/year, but support for bare domains might just put my next static site on Google Cloud rather than Amazon S3.

Q: How should I configure my MX records to use email forwarding with an external (Amazon Route53) DNS?

A: The email forwarding feature requires the use of the Google name servers.

I have to use Amazon name servers to support a bare domain name (ideoplex.com) on Amazon S3. I use GoDaddy email forwarding on this domain by setting the MX records to the GoDaddy mail servers.

I need to move a bunch of account off the ideoplex.com email addresses before I can transfer this domain.

Q: Can Google Domains forward a email address to multiple email addresses.

A: No …

My email issues are pretty small change. And it is a beta after all. But if Google wants to be a best of breed service, then they’ll need to up their game.

Jekyll on the Go

The more I play with jekyll on GitHub pages, the more I like it.

The big downside to a static weblog is how to post on the go. In my case, this means posting from an iPad. The nice thing about GitHub is that you can update your repository from a browser. If you know the jekyll file naming syntax, then blogging from the browser is pretty straight-forward. Here’s my workflow:

  1. Author the post in Editorial
    • Copy the front matter from an existing post as a starting point
  2. Use the GitHub web interface to create a new file:
    • Name the file ccyy-mm-dd-post-link.md
    • Paste the content in from Editorial
  3. Commit the new file

Bingo. You have a new post. I’m not leaving hexo, but jekyll might be my top recommendation for a new technically proficient blogger.