February 22, 2018

Weekly Thing Enhancements

This weekend I made some significant improvements to the automation and template for the Weekly Thing. I’ve always had reservations about the template I was using since moving to MailChimp. It just didn’t fit me, and even more frustrating I didn’t have any ways to make simple changes to the styling. I use quotes extensively in the Weekly Thing, and it wasn’t possible to get those quickly styled.

I got a lot done over the weekend to make this better.


I used a very basic HTML template and extended it as I need it. I wanted it simple and didn’t want a lot of decoration. I like how it ended up.

You will notice that quotes look significantly better in the links section, with indentation and a left border. I’ve also added the hostname of the link, so you know what site you are going to go to if you click on that link, something I appreciate before I click on a link.


My automation is now complete again. I figured out the MailChimp APIs and my workflows now format all the content for me and then create the campaign in MailChimp, set the body content and I even got the photo uploaded with the API.

Now I can once again publish entirely on my iPhone if I want to.


While I was working on the template and the automation, I decided to make the microblog section better. I’ve never liked having those posts be a list of links. Often the only content is the text itself, and it feels disappointing to click on a link to get nothing new. But sometimes there was a photo there, so people did.

Microblogs are now directly in line with the Weekly Thing. You no longer need to click out to see an image, and you don’t get disappointed by clicking on a status post to only see a web page with nothing more than the status you already read.

Thank you for the time, and I would appreciate any feedback you have. 🙏 I finally feel like I can change this with some confidence and make continual improvements.

Weekly Thing
February 4, 2018

Identify Addictive Application Patterns

As our environment gets more complex we need to be better educated to navigate it. For example, I think that people would be more protective of their privacy, if they learned all the ways the data is used to manipulate them. I have been considering lately that we need to better identify other patterns that are intentionally used to create addictive behavior in applications and websites. Knowing these patterns may allow us to understand certain features for what they are and avoid them.

Pull to Refresh

Bucket this in with any refresh mechanism that gives you that rewards when there is occasionally something new to see. Open your email and pull to refresh? Is there anything new? It is reward seeking behavior. It is well established that having a random award (new email!) appear after an action is an addictive pattern.

Infinite Scroll

This pattern ties into our desire to finish” a set of activities. When we have read through all of the items, we get that reward of completion. Infinite scroll tricks us into reading more and more, waiting to get to the end. Eventually we realize that we will never get to the end and have to give up. Instead of the reward of being done, we have the shame of giving up.

Feedback Loops

These come in two flavors, public and private. How many likes did that post get? That is a direct feedback loop to reinforce some pattern of desired behavior. This is an obvious one to see and is present in all social feedback loops.

There is also Analytics as Addiction. Exposing the activity based on your content is on the surface a good intent to inform you on how effective your content is to some goal, whatever that may be. But it also reinforces a desire to check repeatedly and insidiously alter behavior to steer to more engagement.

February 3, 2018


I have been happy having my blog hosted in Jekyll and built as a static site with Netlify. There is a wonderful calm to knowing you just have a bunch of HTML pages. It’s light and airy. But, and this is a big one, I’ve found authoring to be simply too hard. Writing using a source code workflow adds too much friction.

Tonight I’m trying out Forestry.io and I’m very impressed. 👍 There are a number of content management tools for static sites, but I’ve found most of them fail immediately since I have more than 1,700 blog posts and I put them in :year: folders inside of _posts and that simple part causes most of them to fail. Similar issues exist with where you host images. I was very happy to see that Forestry.io worked right out of the box with that. It even built nice front matter templates based on the content it found inside of my site!

I’m putting this post together to share how impressed I am, and also as a test of the posting interface. If you are using Jekyll or Hugo I would highly recommend you look at Forestry.io!

January 21, 2018

2017 in Meetings

Manager and maker schedules is a relatively popular topic. The basic thesis is that maker schedules need to consist of large blocks of dedicated time on a goal. You need time to connect with the work, hopefully, achieve some period of flow and realize an objective. Manager schedule, however, is divided up into small segments of time to connect with people and topics, get information and make decisions.

In my position, I operate on manager time with occasional injections of maker time. I am deliberate about how I manage this. My objectives and goals are realized, in part, through my calendar. In recent years I felt I could better align my calendar and time with my objectives, so in 2016 I did an end-of-year one-time analysis of my calendar and made some changes. After reviewing that analysis, I decided the benefit was valuable enough that in 2017 I committed to collecting more granular data. My goal is to determine alignment and effectiveness of my schedule to my objectives. I developed a set of workflows that I run at the end of every day to collect this data.

Now that I’ve collected a full year I can look at an overall budget to actual analysis. In business, we always look at our financial budget and compare to actual. In managing my time, I find it helpful to consider a budget and measure the actuals as well. You cannot budget well if you don’t collect actuals.

I’m going to share some of the statistical information that I gathered while doing this in 2017. I’m not sharing any information about the content or context. You may consider this navel-gazing, but some may find it interesting, and perhaps it will encourage others to be more deliberate about managing their time.

This analysis refers to meetings on my calendar. These are meetings involving other people. I block time on my calendar for solo work, and that is excluded in this analysis.

In 2017 I had a total of 1,512 meetings. These meetings occurred over 223 days. That is an average of 6.8 meetings per day.

Meeting frequency is highest on Thursday. However, the largest cumulative hours are on Wednesday. Friday has shorter meetings on average. I would have thought that meeting count would spike on Tuesday and then trend down through the week.

2017 Meetings by Day of Week

Let’s look at how these meetings occur over the course of the year. The average of 6.8 meetings per day shows visually here. There are many spikes, with one notable day having 13 meetings. Weekends are shown here, and you can see the 2-week vacation I took in the summer.

2017 Meetings by Day of Year

Daily data is noisy, and it’s easier to look at the 52 weeks of the year versus the working days. Here we look at the meeting count by week along with a 4-week moving average.

2017 Meetings by Week of Year

I got curious about how much of the week is scheduled in meetings. If we use an 8-hour day as a baseline then consider the load to be the percent of those 8 hours that were scheduled what would my weeks look like? It isn’t uncommon for me to have all of my time scheduled, and occasionally be over scheduled. As mentioned earlier, I do block time on my schedule for solo work activities. As a result, 81.3% is fully scheduled. Whenever I am over 81.3% I’ve removed that block to allow for more meeting time.

2017 Meetings Load by Week

How about the start time, do more meetings start in the morning? I certainly feel like the morning is more frequently scheduled than the afternoons. Here is meeting frequency by start hour. My average day gets a fast start at 8 am with a dip at 12 pm. Most days I have meetings through lunch. There is a dip again at 4 pm. In our office, we are much more likely to start earlier than later, and you can see that with the frequency of 7 am meetings versus 5 pm. The meetings in the middle of the night were in Ukraine and are represented here in central time.

2017 Meetings by Start Time

I was curious to know the distribution of durations. What duration of meetings do I have the most often? The most common meeting for me is 30 minutes (37.3%) and then 60 minutes (29.1%). 45-minute meetings are also common (12.5%), that is the normal time I schedule for 1-1 meetings with my team.

2017 Meetings by Duration

This statistical data is most likely to gauge overall stress level or demand for my time. I also get this data in a weekly report and it is a nice check on my qualitative assessment of the week. The additional data I collect about topic and context is very actionable. I can see areas where I’m over or under budget on time and can consider structural changes to my schedule to align better. I like this act as the shift forces me to delegate some topics more, disconnect from some things and give more time and focus to the areas that I specifically need to focus on for success.

I would highly encourage anyone that has more than 50% of their time scheduled to do a similar exercise. It will provide some insight both to how you are feeling and the results you are getting.

January 20, 2018

2017 in Links

For years I’ve been keeping all of my links on Pinboard and this year I decided to start publishing them at Link Thing. I also publish my links in common formats that can be downloaded. I thought it would be fun to look at all the links from 2017.

In 2017 I saved 913 links. I most frequently create links at 8pm and 10pm, with 7am coming in next. It’s interesting that I did a link in every hour of the day in 2017. Why I was linking something at 2am instead of sleeping is a different topic.

2017 Links by Hour

Friday is the day that I save the most links. This is a little skewed by my reading workflow which includes staging links in Safari Reading List to queue up often before reading. After reading I may save a link. I almost always clear my reading list out on Friday night, before I publish my Weekly Thing newsletter.

2017 Links by Day of Week

I definitely started linking more once I started publishing the Weekly Thing in April and my link blog. Prior to that the only links I would have saved were ones I would revisit, after that I started saving links for anything I felt was worth highlighting and sharing.

2017 Links by Month

I saved links from 523 different websites in 2016. That’s just 1.75 links per website on average. I like the diversity of sources that represents. The top 30 websites represent 298 links, or 32.6% of all links. I was surprised to see Medium at the top of the list.

2017 Frequenty Hosts

651 of the links I saved were secured with HTTPS, a full 71% of all links for the year. Hats off to everyone for making the web more secure and private.

I was curious how my links spanned various top-level domains. 85% of links are in the .com TLD. There are 29 top-level domains that I only bookmarked one or two links from.

2017 Links by TLD

It would be fun to take this corpus of data and do further analysis. Some graph representation of sites through domain names, analysis by countries or even sentiment and topic analysis of the links themselves would be cool. I’ll defer that to next years post.

December 29, 2017

What apps make you better?

I’ve been very intentional about which applications I put on my iPhone and even where I put them. I don’t put any social media applications on my phone, and don’t put news applications on it either. I specifically seek out applications that have addictive patterns baked into them and remove them as well.

A while back I started keeping an entire page of applications that are all there to help me achieve my goals and improve as a person. Novel idea huh? This is what that screen looks like today.

Apps To Make You Better


Keeping a food journal is a great way to eat better and YouAte does it all with photos. I had used Rise for a while which you typically use with a coach. YouAte can be used with friends for support or you can use it solo.

Day One

Journaling is a great way to reflect on things. This is by far my farvorite journaling application. It supports multiple journals and also has strong encryption.


When my book club read Nudge it referenced the work and theory behind commitments that has now been built into an offering called stickK. I haven’t used this for a commitment yet but I like the mechanics and think it’s a solid approach.

Happy Scale

This is a great application for logging and analysing your weight data. It applies smoothing to all of your data which I think is a far superior way to look at weight data.


Meditation app with a tremdendous amount of options.


Streaks is a habit tracker. I consider habit trackers to be very different from task management. Habit trackers tend to focus on streaks, and Streak does just that. I’ve also used Productive in the past and like it a lot. The built-in HealthKit hooks in Streak are a nice benefit to me.


Zones is a fabulous app for tracking the intensity of your workouts and letting you know what heart rate zone you were in for how long. If you have an Apple Watch and collect this data Zones can even tell you info on historical workouts.


Fun app that helps you keep consistent sleep patterns. This app helps me make sure I’m not staring at my phone too late.


Fun app for forcing yourself to not use your phone during the day. Great for keeping yourself from habitually checking your device.

Health Mate & Omron Wellness

Both of these are here because they support devices I have. The Health Mate app connects my Withings Scale to HealthKit so data flows automatically. The Omron Wellness app connects my blood pressure monitor to HealthKit as well. I like having as much automation as possible from measurements to storage.

What is yours?

What apps are on your mobile device to encourage good things? I’d highly recommend putting them in one place and making it a regular stop on your phone.

December 5, 2017

Removed Google Analytics

I’ve never desired to put a lot of tracking code on my websites, but I had left Google Analytics. I’ve decided to remove that too. In fact, I’ve removed all third party resources. You can check for yourself by using Ghostery and going to my sites.

Ghostery with No Trackers

While I found the information on what you all read and look at interesting, there are three primary reasons I’ve done this.

Analytics as Addiction

I believe there is a clear trend to use analytics as an addicting feature. How many views, likes or comments something receives is a psychologically affirming tool that services use to addict us to them. Is there any social media platform that doesn’t use these feedback loops to encourage you to spend even more time using them?

If your goal is to addict a user then, by all means, use every means possible to create feedback loops. If your goal is to drive attention and engagement on content, then show writers analytics so they can optimize that. I don’t have these goals for my sites, so I don’t need it. I’m needlessly toying with an addictive substance that I don’t need.

Residential Zone

I’m a firm believer that we need a concept of zoning on the web. When I’m in someone’s house, I have a different expectation of privacy than when I’m in a shopping mall. When I’m in a park, I have different expectations of safety and freedom than when I’m in an industrial facility. We should be able to cue our expectations around privacy and freedoms off of our surroundings. On the web this is confusing. Facebook is a shopping mall, but it pretends not to be.

Visiting my websites should be closer to visiting me, personally. If you are having dinner at my house and comment on my espresso machine, I don’t send a note to a tracking service to let them know you might be interested in buying a coffee machine. I don’t think that should happen on my website either.

Don’t be a Hypocrite

I run 1Blocker and Ghostery in my browsers to protect my privacy. In those tools, I block hundreds, and perhaps thousands, of 3rd party services and scripts. I think you should do the same. It is hypocritical for me to embed a tracking service on my sites, that I block on other people websites, and encourage people to block themselves.

December 1, 2017

AWS re:Invent 2017 Keynote Notes

My quick reaction to the notable announcements at AWS re:Invent 2017.



  • Amazon Aurora Serverless - What is a Serverless database? I’m not sure I know, but the idea of a database that has no cost other than storage when it’s idle is pretty amazing for certain workloads. Sadly this is only available for MySQL at the moment, but they promise PostgreSQL coming soon.
  • S3 Select and Glacier Select: Retrieving Subsets of Objects - Wow, this is pretty cool. Take a bunch of data and dump it into an S3 bucket and then execute SQL-like select commands against that data. This enables some very interesting capabilities.
  • Amazon Neptune: A Fully Managed Graph Database Service - Graph databases are a bear to pick, use and run. AWS offering a cloud hosted graph database will hopefully address all of these issues. There are a large number of use cases where graph databases make a lot of sense but so many people have been burned by them that they tend to solve a graph problem using a document or relational database. It’s cool to see that this supports RDF and SPARQL, core concepts of the Semantic Web. It also supports TinkerPop3 (really? can we get better names?).

Machine Learning


November 26, 2017

Envisioning a Cloud Native Wiki

A few years ago I dove deeply into the wiki ecosystem and learned all about MediaWiki, it’s plugins and various extensions. I started a wiki to index all of the other wiki’s called WikiApiary. The wiki movement was huge, and it still has a tremendous amount of energy and incredibly devoted users. Wikipedia, in my opinion, is one of the most amazing creations of the Internet.

However, the wiki movement has hit the skids lately. There was a significant rush of wiki hosting platforms early on, and those mostly didn’t work. Wikia is perhaps an exception however it’s driven itself into the hole of fandom in a big way. Sadly many wiki platforms continue to sit on top of ugly PHP code and MySQL databases, with old codebases and arcane syntax.

In recent years email newsletters have seen a resurgence. I’d like to see wikis make a similar revival but for that to happen, we need to have some new energy in the wiki ecosystem. We need a cloud-native wiki solution. What would that look like?

Cloud Native Wiki

First thing first wikis should enable communities of any size, so the cost of running a wiki needs to be as cheap as possible. A serverless approach seems to make the most sense. If nobody is using the wiki the cost of running it should be no more than the storage, and that can be very cost effective.

  • Store all wiki pages and objects in S3. Store the objects in an editable format, something like Markdown, but also store it as HTML as well so it can be served directly out of S3. Think of how static site generators work.
  • The wiki itself should live in Lambda functions exposed through API Gateway. All editing and modifying of objects in the S3 bucket should be done via this method.
  • The wiki should be self-managed by a central source to update it. Wiki’s have a history of being poorly maintained. You should be able to create an IAM credential and give the ability for the Lambda functions and infrastructure of the wiki to be updated automatically.

Let Millions of Wikis Flourish

Ideally, someone should be able to start a wiki by creating an AWS account and then creating the IAM account for provisioning and updating. That account should then do all the initial setup as well as updating over time.

The content would be held in Markdown files in S3, as well as rendered HTML. This content would be easily mirrored off of S3 so it could be taken somewhere else. If the Lambda functions were all removed, the wiki should still run in static mode with no editing.

If we had this kind of capability, perhaps we could see wikis reenter the landscape for all the good that they can provide.

November 20, 2017

Deer Strike

On Friday night we were driving to the cabin, and in a split second, a deer 🦌 was in front of our Honda Pilot as we hit it at 45 mph. We had driven down to have dinner at Smoqehouse and were on highway 60 heading east, just a mile or so past I-35 right by the Dairy Queen there. Tammy was driving and just as the speed limit was going up to highway speed. Everyone is okay, and happily, the airbags didn’t go off.

Tammy slammed on the brakes, and the deer flew forward. It rolled and slid into the ditch about 20 feet and immediately leapt up and ran off when it stopped. Its legs were okay, and I’m hopeful that it either miraculously survived or didn’t suffer badly.

The car took a decent amount of damage but remained drivable. The radiator got banged up, and many parts of the front were damaged. All fixable but will be some expensive bodywork.

Honda Damage after Deer Strike