Overall, I traveled a little less in 2017 compared to 2016. My biking was down (I no longer commute downtown every day), but train travel was up, since I now live next to a MAX stop. I biked a total of 1,149 miles in 2017, down from 1,529 in 2016. I flew 44,796 miles in 2017, down from 55,271 in 2016. I spent only a little more time in cars this year, my least-used mode of transport other than walking. Car trips include me driving a car2go (very rarely), getting a ride in someone else's car, as well as taxis and Lyft rides. Sadly my bike mileage was just shy of 2x my car mileage, so perhaps I should make it my 2018 goal to double my car mileage on bikes.
While my plane trips dominate in mileage, the time spent in each mode tells a very different story.
I spent more time on my bicycle than any other mode of transport! 126 hours on bikes, and the next highest mode is 101 hours on planes.
My beverage consumption was split almost 50/50 between alcoholic and caffeinated beverages, with very little of anything else. (I don't track my plain water consumption because I drink way too much water to track it easily.) Out of 1,794 beverages consumed, only 5.7% were non-caffeinated and non-alcoholic.
My top drinks of 2017 were: Americano (coffee), Beer, Coffee, and the Boulevardier cocktail.
Overall, I tracked 16 different types of coffee, and 24 named cocktails. I lump specialty cocktails together and track them just as "Cocktail" otherwise it would take too long to enter all the data.
My cocktail of choice this year was apparently the Boulevardier, followed by the Negroni. I will also note that the Vieux Carré is way up there, which is notable because that is one that I don't make at home, I only have it at Imperial in Downtown Portland. It's $5 during happy hour so it's hard to pass up!
All this data is collected by my own tools and stored in my website. You can see the individual entries for each bike ride, walk, and other transport, as well as everything I eat and drink.
For tracking food, I use a web app, Teacup, which I bookmark to my phone's home screen. The interface prompts me with the most often used food and drink, and I can also type in new values if I need to.
For my trip tracking, I use my GPS tracking app, Overland, which I recently published to the iOS App Store! It's a pretty barebones app, but it works well.
It tracks my location all the time, which is used to geotag all my posts, as well as provide the weather information for the posts. It also lets me choose a mode of transport and start tracking a trip. Overland first sends the data to my Compass database, which then sends trips to my server which adds a map image and stores it on disk. Later I can query the server to find all the trip and the time/distance for each.
I'm super happy to be able to add myself to the list of people who publish weather info in their posts!
I've had a long-standing goal to include weather info on all of my posts on my site! In fact, I actually started collecting historical weather info just so that I could backfill the data on my site once I added the feature. The weather database I've been collecting goes back to 2012! I decided it's been long enough and bit the bullet and sat down to finally knock it out.
I've had the current weather up in my website header since 2016, and it turns out that I was able to reuse a lot of that existing code.
Today I finally added support for storing weather info per post, and adding it when new posts are created. The weather is based on my current location, which I've already been automatically including in my posts for a long time. So now, when a new post is created, if the cached weather info that is shown in the header is recent enough, it bakes it into the post's storage file.
Now my posts will all have little weather icons and the current temperature!
I decided on using an icon font for the weather icons so that they are all visually consistent and inline with the text. The icon set I'm using is http://erikflowers.github.io/weather-icons/ The weather info itself comes from Wunderground, although I may switch to Dark Sky in the future since they have a higher per-day API limit.
I also decided to put the weather info on the same line as the location name, since I feel like this information very closely linked to the location. (It's also stored in the location property internally.)
I'm pretty excited to finally have this done, just in time for all my posts in 2018 to be weather-tagged!
I'm postponing the work of backfilling all my past posts since that is going to take quite a bit of effort. I'll add it to the ever-growing list of old data to import to my site! 😂
Remember the old 80x15 badges we used to put on our websites? I just updated our IndieWebCamp badge with the new logo! You can use this on your own site by copying the HTML below! Feel free to download the image and host it yourself too.
<a href="https://indieweb.org/"> <img src="https://indieweb.org/img/indieweb-badge.png" width="80" height="15" alt="IndieWebCamp" style="image-rendering:pixelated;"> </a>
Why not add a Webmention badge once you add webmentions to your site!
Maybe you're also looking for a Microformats badge? I made one of those as well!
Need some more badges for your site? There's a good collection of W3C badges over here.
How about some Creative Commons badges?
Remember to add style="image-rendering:pixelated;"
to the img
tag so that when the badge is viewed on high-resolution displays, it will retain the pixelated look instead of make it blurry when it scales up!
My #newwwyear goal this year was to make my likes and reposts automatically POSSE to Twitter when I favorite a Tweet URL.
Previously, Quill handled doing that for me when I use its browser bookmarklet. If you connect your Twitter account with Quill, then if you favorite a tweet URL, it will go and favorite the tweet on Twitter for you. This works great if you only ever use Quill to favorite stuff. Now that I've been using Eddie's Indigenous iOS app, I had lost the ability to actually favorite stuff on Twitter if I posted it to my site.
My goal was to make my Micropub endpoint understand how to POSSE likes to Twitter so that no matter which client I used to favorite things, I'll end up favoriting the twitter copy too.
Thanks to silo.pub taking care of dealing with the Twitter API, it didn't end up being that much work to actually make this happen. So now, when my Micropub endpoint receives a request to create a like-of where the URL is a tweet URL, it tells silo.pub to also syndicate that post to Twitter.
So now when I encounter a tweet on iOS, I can use the "share" button to favorite it on my site which then also favorites it on Twitter!
So I was pretty excited about that, but then quickly realized I needed to go an extra step with it! Stretch goal! What happens when I favorite someone's indie post? It's great that it favorites it directly, but if they've also syndicated their post to Twitter, I should also syndicate my like to Twitter! Thankfully this was also not a huge amount of work, thanks to a lot of infrastructure already in place in my site.
When I create a like, my site already expands the contents of the liked post and stores it internally, as well as rendering the content I favorited. I like the way this ends up looking since it makes my favorites page look more like the equivalent page on Twitter.
Since my site is already pulling in the content of the post I like, that already includes any syndication URLs reported by that post. That means I already know the syndicated tweet URL that I need to favorite on Twitter!
Adding support for this was a matter of finding the Twitter syndication URL of the post I've favorited, and then telling silo.pub to favorite that on Twitter as well.
Swarm has had a feature for a long time where you can allow your friends to check you in. It's more than just tagging a friend in a checkin, since it actually creates a full-fledged checkin on the other person's account. It's an interesting feature of Swarm, and not something I've seen elsewhere.
Today I shipped an update to OwnYourSwarm which will include that information in the Micropub request it sends to your site.
Here's a checkin from last night that was created when anomalily checked me in.
Here's what it looks like on my site now.
To accomplish this, I added a new property in the Micropub JSON that OwnYourSwarm sends. The property is checked-in-by and the value is an h-card of the person who checked you in. There was some discussion about whether this should be shown with the person who checked you in as the author, but I argued against that since on Swarm the checkin appears in your own checkin history and is otherwise identical to a checkin you created yourself.
"checked-in-by": [ { "type": [ "h-card" ], "properties": { "url": [ "http://anomalily.net/", "https://foursquare.com/user/894076" ], "name": [ "anomalily" ], "photo": [ "https://igx.4sqi.net/img/user/300x300/894076-UEP315CWOZJNKG2J.jpg" ] }, "value": "http://anomalily.net/" } ]
If you are using OwnYourSwarm's JSON format, you'll start receiving this additional property right away! If you've followed the Micropub spec and are already storing unrecognized properties in your storage, then you can later add support for rendering this property like I did!
Happy Swarming!