Menu

Colin Devroe

Reverse Engineer. Blogger.

Follow: @c2dev2, RSS, JSON, Micro.blog.

'

No-pressure blogging

Manton Reece:

I love that blogs can scale from the trivial to the important. The microblog post about what you had for breakfast. The half-baked rant about something you’re passionate about. And sometimes, the rare essay that really hits the mark and makes people think.

Publishing most of my “tweets” here first has led to some frivolous posts. But, I wouldn’t have it any other way. Takes the pressure off of me to have every post be significant before hitting publish.

Scranton’s first Homebrew Website Club

Next Wednesday I’ll be hosting the first Scranton-based Homebrew Website Club at Condron Media‘s headquarters on Penn Avenue. There are other locations HWC will be happening on that day too. If you have your own site and I you care to work on it in anyway at all please do stop by.

Homebrew Website Club is not a typical meetup, like say a WordPress meetup, in that you stop by to learn a particular topic (although I have no doubt you will learn if you attend one). It is more a reoccurring time that is set aside to allow you to work on your personal web site. Perhaps you’ve been meaning to finish up a blog post that has been in draft for weeks, or you need to fix a theme issue, or you want to do something more complex – whatever it is, HWC is your opportunity to do that while sitting next to other people that are trying to do the same.

I’ll be using the this time, each meeting, to fit more Indieweb building blocks into my personal site. I’ve recently added Backfeed, POSSE, Webmention, and others. And I plan on continuing to tweak them to get them just the way I’d prefer. Also, I plan on pushing my code and work back out into the world through this blog, my Github account, and #indieweb on IRC.

So, if this is something you’re into. Drop by.

How I create my weekly link posts

With my What I saw this week series of posts hitting #29 this week I thought I’d take a second to share how these posts do on my site, how I create them, how I choose what I will link to outside of these posts.

These posts are some of my most popular week-to-week. My active subscriber numbers aren’t that high – I’d say less than 1,000 people subscribe to my site in some way or another – but the traffic to these posts are as high as any other popular post on my site. I believe there are two reasons for this; consistency and because I share them on Facebook. I try to share these posts every single Friday at 10:30am and I think that helps a lot. Facebook is starting to push a lot more traffic to my blog than Twitter. It used to be the other way around. For years. But I honestly believe Twitter is losing ground on this front (more on this at a later date when my thoughts have had more time to simmer).

How do I create them? As I mentioned in a previous post, I keep a note open to throw URLs in during the week. On average I’d say I put 2 to 3 URLs in that note before the week is out. Mainly because I haven’t stored them in some other way. On Thursday or Friday I take the URLs from this note, and also look through my Twitter favorites, my YouTube history (if you’re logged into YouTube on all devices it stores a history of all videos you’ve watched), my Unmark archive, and lastly I comb through Chrome’s browser history (I keep my history for years). This takes me about 25 minutes a week.

Then comes the choice about what to include in these posts and what to link to separately. You’ll probably notice that the bulk of my publishing comes on Fridays and the weekends lately. That is because I’ve gotten out of the habit of scheduling my posts for the week on Sundays. I think I’ll get back to this soon. But also it is because many of my posts are simply links to other things I find interesting and so at the end of each week I do a dump onto my blog.

I choose what to link to separately mainly based on category or thread. My interests are myriad but overall I like to cover specific trends here on my blog such as the indie web, blogging, photography, social networking, hiking, flying my drone, kayaking, etc. If a link falls into one of these categories, or is a continuation of a discussion I started here on my blog, I generally separate those posts out into their own.

What am I building here?

If you’re reading this you likely do something every single day that you haven’t put a name to. You publish. And, it is very likely, that you publish different things in several different places with just a little overlap.

You might publish:

  • quippy remarks about a live event on Twitter
  • filtered photos, that presumably look a bit better than you think you could do on your own, on Instagram
  • slightly deeper more personal things on Facebook
  • your career updates on LinkedIn
  • pieces of your day through short, ephemeral videos on Snapchat or Instagram Stories
  • and maybe, just maybe, you publish pieces of audio on Anchor or video on YouTube.

That’s great. And it is well and good that you are sharing so much of yourself with the world. Hopefully you’re sharing some insight, perhaps something entertaining, or something creative. And hopefully you’re also getting some of those things in return. Otherwise, you likely wouldn’t continue doing it.

What I’m slowly building here on cdevroe.com is my own publishing platform for all media with no restrictions and very little threat of disappearing.

Currently I can publish small status updates, images, audio bits, and blog posts. And I’m doing that every single day. If Twitter goes out of business in the next year or if they are acquired by a company that changes it for the worse – I’ll still have my site to publish on. If Anchor doesn’t make it, I’ll still have my conversations with Danny or even some onions sizzling in a cast iron pan (because, why not?).

The advantages to owning my own platform go beyond its longevity. I’m also not limited in feature set. My audio bits are longer than 2 minutes. My status updates can be longer than 140 characters.  My images can be any size and dimension. And if I need something else I can make it.

cdevroe.com is mine. And I’m really excited to continue bolting on new features and expanding my own personal capability to publish anything I want and have it outlast me.

Thirty days of images

Each morning, at around 9am Eastern, a new image is published to my blog. I schedule these posts each weekend (I even built a WordPress plugin to help me) and they publish automatically without any other interference from me.

I’ve just hit 30 consecutive days of this schedule and I’d like to keep it up in perpetuity.

The image posts are the least popular on my blog. They are not tweeted or shared on Facebook or Instagram. They are silently published with no fanfare. I think of these posts as a slowly building collection of my favorite images. A way to showcase images, not as a library, but as a selection.

Very, very light editing happens from shot to post. I shoot with my iPhone (currently an iPhone SE), a Canon DSLR, or a GoPro camera. Hopefully soon I’ll be adding a new UAV camera to the mix. I do not make reference to the camera used for each shot because I believe that sort of information is irrelevant. The image is what is important, not how it was captured. In general I prefer my images to be slightly bumped in color so I generally crop, straighten, bump a few values, and prepare for publishing.

To prepare for publishing I have two albums in Photos for macOS. “To Publish” is an album I drag images into that I would like to publish some day. I generally drag 7 to 10 new photos into this album each week so that I always have enough to choose from when I’m scheduling these posts. “Published” is an album full of every image I’ve published. This way I have a fairly simple way of remembering whether or not I’ve already published a particular photo or not. Once the image is edited I drag the image to my Desktop, resize to 1000 pixels wide, and toss it into a new post in WordPress, tag it, and schedule it to be published.

It is a simple enough workflow that it allows me to get an entire week’s worth of images scheduled within about an hour or less each week. I hope if you’re subscribed to this blog you enjoy seeing them.

These posts have inspired both Danny Nicolas and Kyle Slattery to begin doing similar posts on their site. I’m extremely happy and humbled to see that and I’m glad to subscribe to their blogs to see what they share. Who knows? Maybe in another 30 days two or three more people will join.

You’ve been granted h-entry

This morning I took a few minutes to add microformats to the HTML of my blog. I had done so in the past when my site was using a completely different theme and hadn’t taken the time to add them back in. Shame on me. I should have done it much sooner since it took less than 20 minutes and now I think my blog will be a little easier to read for things like webmentions.

This post isn’t to be used as a guide in adding microformats to your WordPress theme. I’m simply writing this down as a way to walk myself through my own task of doing so. But if you read it and feel inspired to add microformats to your own site then I’ve done my job.

In short, the following classes must be added to your index pages (index.php, archive.php, search.php, etc.) and your single post page (single.php) to support the h-entry microformat.

  • h-entry
    • p-name
    • p-author
    • u-url
    • p-summary or e-content
    • dt-published

There are other classes in the spec, and I recommend supporting which ever ones make sense for your site, but if you only had these class names added your HTML, it would be much easier to parse for the little robots that are running around on the web trying to eat your code.

Many WordPress templates wrap posts in an article tag and add classes to it using post_class function. This function adds numerous classes to help you specify things like post-formats, post-types, etc. Supporting h-entry couldn’t be easier since the post_class function allows you to add any classes you’d like on your own. Like this:

Next, you’ll want to add the p-name and u-url classes to the link that goes to your blog post from the index. That should be easy enough. Mine looks like this but your’s will likely look a bit different. In my case the A tag’s contents contains the post’s name, and the HREF of the A tag is the post’s URL. So I can add both classes to the one element.

We’re almost there. The next class I needed was dt-published – or the datetime that the post was published. This one may prove to be a bit harder to wrap your head around but here is how I did it.

I used HTML’s time element so that I could take advantage of the datetime attribute. Exactly as the microformats wiki suggests. get_the_date in WordPress accepts PHP’s date formatting arguments (all those weird letters up there) so it didn’t take too long to figure out how to format the datetime correctly. Essentially, I’m formatting the date for machines in the attribute and humans in the contents.

Finally the contents of the post must be marked up. On my indexes I only show an excerpt of the post and on the single page’s I show the entire entry’s contents. So I use p-summary on index and the e-content class on the single post page. This is how my index page’s markup looks.

For my particular use I also needed to mark up statuses or what might be called “notes” on the indieweb wiki. In retrospect “notes” is a far better term since what I post as statuses are more often than not more a note than a status. But, oh well? I think I’m stuck with it for now. For statuses I simply mark up the entire content as both p-name and e-content as suggested by the microformats wiki.

Here are a few examples of each post format, in HTML, that I use on my site.

Status:

Image:

Post on Index:

I hope to improve this markup a bit over the coming weeks to support more microformats. But for now I think this will help to make my site’s HTML a bit more readable to our little bot friends.

 

A date picker to schedule posts in WordPress

On Sunday mornings I make some coffee, sit down at my computer, and choose 7 images to publish to my blog throughout the week. After I’ve chosen and edited the images I schedule them in WordPress to be published each morning at around 9:00am. I can then go about my week knowing that each day there will be a new image automatically published to my site.

There was a problem though. I think in days not dates. Like, “what image should I post on Wednesday?” instead of “what image should I post on the 12th?”. So when I used WordPress’ default date selector for scheduling the post I found myself wishing that I could see what day each date was.

So I searched the plugin directory but I didn’t find anything (more on this in a second). I was surprised. So, I quickly cobbled together a plugin of my own which I’ve open sourced on Github this morning. And, while I’m not finished with it, it works. I can see which day each date of the week is and that helps me. So now my Sunday morning’s will be a bit happier.

It turns out there is a plugin for this, which Sal Ferrarello linked me to in the BurbsWP Slack, called Publish Date DatePicker. I don’t think I found it because I searched terms like “scheduled posts” and “date picker” with a space in the name. Oh well. Now I have my own and I plan on improving upon it slightly before I roll it together as a release.

Update: To make sure you have the latest version of this plugin visit the releases page on Github.

Eleven and six and twenty

Thanks to Jeremy for remarking how he forgot his blog’s 15th anniversary (congrats Jeremy!) it reminded me to check and, well, I missed my blog’s anniversary by nearly the same number of days as he did.

On Saturday October 1 this blog, my personal blog on my own domain name but not my first ever personal blog, turned 11 years old. This was the first post.

My blogging journey did not begin with this site. It started about 10 years before that. Prior to owning cdevroe.com – which was a gift from Josue Salazar (Thanks again Josue) – I had personal sites on Tripod (circa 2002), on a domain called colinspage.com (circa 2003 though it began in 1998 or 1999), I blogged on theubergeeks.net (circa 2003) and even had another blog in between that I wrote in ASP myself. My best guess is that I began blogging long before it was called blogging somewhere around 1995 when I was working at a computer store near my parent’s house.

In addition to my own personal online journal at the time we began plugging away on TheHutt.net (circa 1999) – which I helped develop alongside friends Chris Coleman and Chris Kuruts. We used the site to mark the upcoming Star Wars prequels. What a mistake! (The films, not our site.)

Six years ago I started curating The Watercolor Gallery – a site I take great pride in. That site recently had an anniversary as well that I failed to mark. I’ve been working on a brand-new version of the site too.

So I’ve been blogging for somewhere around 20 years. And my personal blog has taken many forms before finally settling here on cdevroe.com. And, as I sit here writing this post with nearly 20 years of writing on the web under my belt I am incredibly excited to continue writing on my blog.

Thanks to Jeremy for both the reminder and the constant inspiration from his blog.

A few updates to my site

Late last week and over the weekend I’ve made a few subtle updates to my site. I saw that this weekend was Indie Web Camp in Brighton and while I can’t travel a few thousand miles to hack on my blog I can sit at my desk and do a bit of hacking.

The main things I updated were randomizing the image shown on the home page, cleaning up the main site navigation, changing the word “photos” to “images” since they were interchangeable throughout the site, and cleaning up a bit of the code. Somehow I had forked my own theme’s code a few month’s back and so the code was a little bit sporadic. I was able to sift through the source and cobble together what must have been a few different nights of hacking and then ditch the rest. Now I’ll be able to make some steady progress on making this site a bit more what I would like.

In addition, I’m rebuilding The Watercolor Gallery in WordPress and adding a few features and will be “relaunching” that site within the next few weeks. I’m really looking forward to doing so as I have a backlog of features, interviews, art spaces and videos to publish.

Three microphones

I began posting to my own site in earnest on March 6th of this year. I wrote:

So, starting tonight that is what I’m going to try again to do with a goal of sticking with it in perpetuity. This doesn’t mean that I won’t be posting to Twitter or Facebook or Instagram, but that everything that I post there will originate here on my site. I may still craft those messages manually (since each network is so nuanced) but like Jeremy and Manton I will have to figure that out as I go too.

More or less this is what has happened over the last three months. It has been fantastic.

I’ve redesigned my site, added a few new post formats (more on that here), and have published a slew of status updates, photos, blog posts, and even a few audio bits — which I hope to do more of. I’ve switched platforms, tweaked my settings to no end, and tried a menagerie of plugins to get the site working as I would like.

I’m far from finished and perhaps I never will be. I feel like personal web sites change as often as people do. I’ve had some sort of online presence since the mid-90s and I’ve been tweaking and adjusting everything ever since.

As I wrote above, I have ended up sharing to each network in different ways. I do not publish here and syndicate everywhere. It isn’t all or nothing for me. It is a mixed bag. I find the nuances between the services too numerous to be able to do so. Others do a far better job. So, I reply to tweets directly on Twitter, I post things to Instagram that I do not post elsewhere (and I’m OK with that, even if it all goes away some day) and I post photos to my site that may or may not end up on Instagram or Twitter or Facebook, and I pick and choose which status updates end up being syndicated as well. It’s a bit of a mess but it is my mess.

But there is one important rule I have… anything that I want to live forever lives here.

I’m beginning to think of these networks as microphones with giant logos on them. Imagine someone giving a speech and there being a microphone for each news network in front of them. My blog is the lectern and the microphones are for Twitter and Facebook. When I want to speak into both microphones I do, when I want to speak into one I do, and when I don’t want to speak to either of them I cover them with my hand. Instagram is at a different lectern altogether because I want it to be. When I want to say something there I walk over to it.

This approach is working for me. I think one of the biggest drawbacks to only publishing on these platforms is that at any moment it can all go up in flames and you’ll have no way to recover your data or your audience (if that is important to you). By publishing the things I want to live on to my site I have control over that. For the stuff I decide to post directly to those networks I do so knowing it can (and likely will) disappear. I have peace-of-mind knowing I have a copy for myself.

I’ve mentioned before that I enjoy the fact that I’m treating Twitter so differently. That I’m sharing things that I typically wouldn’t have (example). And that I’m publishing longer posts as well.

I love my web site!