So, I discovered Patreon

So, this week I discovered Patreon. It's a nice service that allows me to chip in some cash to creatives whose content I really enjoy. To be frank, I'm actually quite giddy about this. It's probably going to destroy my coffee budget if I'm not careful. And we all know there are few things that can convince me to sacrifice coffee.

What's funny is that I'm an unapologetic skeptic. I actually had a friend last night say that I'm a good "no man," and intended it as a compliment. I consider my ability to poke holes and iterate on ideas an asset. When I come to the conclusion that something is a "good idea" it means that I've hit it with a mental baseball bat a few times and am convinced its solid. As a result, it's rare that I come across something and get immediately lit up with unbridled enthusiasm. Since that's happened with Patreon, I thought it'd be cool to share why in blog format.

All of you know that I'm a software engineer. I get to build things for a living and, though it may surprise you to hear, there's a significant amount of creativity that goes into this. I'm fortunate enough to be compensated very well by the industry for doing what I love to do. But, to be honest, writing code is what I would be doing even if I wasn't getting paid. It's my craft. I have lots of little side projects I build out for giggles. It's actually become a bit overwhelming lately because I'm also "Project ADD," but that's a different topic.

Unfortunately there are a lot of talented creatives out there who aren't in my situation. For them, working on their passion means doing sucky full-time or part-time jobs that may not even pay the rent. In many creative arenas, if the Big Industry™ hasn't decided they want you, you'll have a hard time making a living. And I happen to hold the opinion that Big Industry™ tends to do a sucky job at evaluating whether things are good or bad. Lots of things fall through the cracks of their rubrics and lot of talented folks never catch their eye. (I'm looking at you in particular, Fox.)

Patreon allows me to participate in a rich history of patronage. I get to support artists I love in a way that is both easy and accountable, as they're held to doing something in return for contributions that are sent their way. In some ways, it's like a much longer term Kickstarter arrangement. I'd argue that as someone who has disposable income and immensely enjoys the things these folks produce, that I have something of an obligation to make my voice heard – both with my voice and with my wallet. They're producing stuff that is enjoyable and valuable to me and that I want them to continue doing that. These folks are participating in the creation of our era's culture. That's worth supporting.

So, I bet I can guess the next question in your head: who am I supporting? Well, let me tell you a bit about the first two creators I've backed.

Walk off the Earth

©2012 Walk off the Earth. Click for the original.

©2012 Walk off the Earth. Click for the original.

I'm sure that anyone who I've talked music with recently is sick of me talking about Walk off the Earth, but I'm still mesmerized by the amount of talent they have. Each member of the band plays some insane number of instruments and each of their music videos is a pure joy to watch. Of particular note they hold the distinction of being the first band to ever do a rendition of a Taylor Swift song that I actually enjoy. (That's an accomplishment.)

 I decided to back them because the things they're producing are ambitious and consistently enjoyable. Whenever I can log into YouTube and see "Hey! WOTE has posted a new video!" it's always a good day. I'm also pretty sure Sarah Blackwood's voice is hypnotic. My current favorite demonstration of their talent is their cover of Lorde's Royals, where their instruments play musical chairs throughout the song (musical players?).

I can't say enough good things about them, so I'll just say this: check them out.

Mary Kate Wiles

©2014 Mary Kate Wiles. Click for the original.

©2014 Mary Kate Wiles. Click for the original.

I actually originally discovered Mary Kate Wiles for the first time earlier last week. Kate, a friend of mine from church, posted a link to her video blog about post-job depression. After that I started clicking around to see some of the stuff she had been involved in. As a result, I stumbled into watching The Lizzie Bennet Diaries, a web series she had acted in that is based on Pride and Prejudice.

(I may or may not have watched the entire series in three days.)

Mary Kate portrayed Lizzie's younger sister, Lydia. To be honest, my expectations for the character and the series as a whole were low going in. (See aforementioned skepticism.) But I would have had to eat my words if I'd ever publicized that opinion before finishing the series. Lydia is the character in the series that wins the award for giving me the most feels, and that is not an easy award to come by. One scene, in particular, where Lydia realizes she has been seriously betrayed took the cake for me.

This is the look of heartbreak. This moment broke my heart. "Consequences - Ep: 85." ©2013 Pemberly Digital.

This is the look of heartbreak. This moment broke my heart. "Consequences - Ep: 85." ©2013 Pemberly Digital.

I could tell you what's happening in this scene, or link you directly to the video, but I honestly feel that I'd be doing you a disservice. Watch the series from the beginning, and thank me later. Lizzie's videos are the "primary" narrative (for lack of a better term), but Lydia's are absolutely essential for understanding the character and made a huge difference for me. The link in this paragraph is a playlist containing all the relevant videos from the series.

After watching The Lizzie Bennet Diaries and a few of Mary Kate's other videos, supporting her was an obvious decision. I think she's got a ton of talent, and her video blogs have a really raw, down-to-earth quality that resonates with me. I want people with that talent and those personality qualities to be successful. Hands down.

If you're interested in finding out more about her, check out these links:

Tradition of Patronage

By supporting these artists, I'm joining in a long history of patronage, and I encourage you to do the same. There are good people out there doing new, interesting things with their creative talent. Find them, and figure out how to support them. It's worth your time and money to do so.

If you're also a Patreon user, I'd love recommendations for folks who are on there that you think are talented. I think that supporting these artists is actually going to get a line item in my budget in 2015, so I may be looking for a few more to add to my list of support for the year. And, as always, if you want to leave me a comment for any other reason please feel free to do so.

Until next time, kids.

Open Source Software at Elemica

So I did a write up for Elemica about our use of Open Source Software within the organization. It covered some allegorical business examples as an argument for OSS, talks a good bit about Lift and Chef, and goes on to discuss a few of the things that we've published recently. If that sounds like a something you'd be interested in reading about, it went live today.

Read the post here.

As always, I would love to know what you think. :-)

I'm a magician

A few days ago I got asked two questions that I don't think I gave a great answers to. At their core, the questions were asking me why I do software (of all things) and about how I see myself. As in, if I could give a descriptive summary other than "builds software" – how is it that I see myself. I don't remember the exact answers I gave, but it resulted in a bit of unexpected self-reflection.

A few weeks ago, I was able to live stream the wedding of my friend Marla out to YouTube. I dealt with the logistics and technical details involved. This included things like renting a camera and tripod, figuring out how to get that video into my computer live, how to get high quality sound, etc. And because I was able to do that, this was able to happen:


Fifty people watched Marla and Josh exchange vows over the live stream that afternoon. Those fifty people will never think twice about bitrate, the native resolution of a Canon XA10, decibels, or XLR cables. They'll never think about the datacenters and connection points the video ran through en route to their computer screen. But I know with certainty that a grandfather many miles away who wasn't able to make the trip out found joy in being able to witness his granddaughter exchange vows along with the rest of us.

None of this would have been possible without the numerous software engineers who have worked around the world over the past several decades to bring us to where we are today. I didn't have any hand in YouTube or streaming technology, but as a software engineer I have the privilege of counting myself among the many who are building toward tomorrow's innovations. Maybe I'll make something famous, maybe I won't. Either way, I get to participate in the conversations and code that happen today. I get to walk in this world where we software folks build these big, impossible things that far exceed the imagination of the generation that came before us. And sometimes, on those very special days, I get to see those things lead to a truly magical experience for someone else.

And as for how I describe myself? I'm a magician.


So, I gave a talk

On Tuesday, I gave my first talk ever in front of a technical crowd to the Developers of Athens. My topic was Scala and Lift. This wasn't my first time being in front of an audience, but it was my first time giving a primarily slide-driven presentation about some highly technical stuff. It was my first time speaking about Lift publicly.

Ultimately, I decided the presentation wasn't up to my (perhaps idealistic) standard. Having now had a few days to distill my thoughts a bit, I thought I'd share what I took away from the night.

Information Overload

Something I didn't realize before going into the evening is exactly how much ground I had attempted to cover. I had way too much on my schedule. As a result, I ended up confusing a good handful of people for most of the presentation.

I decided to dedicate most of my time talking about Lift's view-first architecture, something I considered the most novel concept compared to other frameworks. This resulted in a good number of people being confused for a good chunk of the presentation about whether Lift was a framework or a templating engine. So, I didn't do a great job of doing the Framework justice.

In retrospect, I should have thrown the idea of covering anything about Scala and giving code samples out the window. I just didn't have time, and I could have leveraged the additional minutes to actually discuss some other features.

Usage Data

I was pressed on usage data for both Scala and Lift at various points and I did not have it. That's an epic fail on my part.

With regard to Scala as a whole, the official Scala website does a better job of painting a picture of the kind of adoption Scala has seen than I could. You can read their blog post detailing enterprise companies using Scala and an article on the growth of popularity and usage.

With regard to Lift, this is something that the Lift community has discussed before (though I'm failing to find the thread), but we don't have any real good numbers (that I know of) on how much Lift is used. We have a handful of sites that rotate on our homepage, including Foursquare. But, unfortunately, I couldn't tell you how many sites out there are using Lift. As we make the push toward Lift 3, that's something we need to seriously think about how to measure accurately and communicate outward.

Offhand Remarks

So, I suck at summarizing my thoughts on things in an impromptu manner, it seems. Feeling the time crunch I was in I expressed two different opinions that both got me a bit of flak. It's no surprise both of these were during the part of the presentation I didn't care as much about (the Scala part).

The first was regarding typing. I made a remark that an audience member interpreted as unfair toward dynamically typed languages. I don't remember what my exact remark was (it may have legitimately started with "Static typing is better"). Exact words aside, I think my experience with Scala has taught me that when a type system is done right, it can greatly increase my confidence in the code that I'm writing without slowing me down or bloating up my test suite with cases such as return type checks. The audience member correctly pointed out in response that there are steps you can take to mitigate the risks of a dynamically typed languages, and that there are cases where static typing isn't as good of a fit as I portrayed.

The second was regarding Java. While discussing Scala's nature as a second-generation JVM language I made the offhand remark that Java was "on the way out," which is an opinion that I hold with qualification. I just expressed it with all those qualifications removed because they were completely irrelevant to the main topic (Lift). I immediately got about 10 WTF faces from the crowd, there were a few remarks back and forth that evening, and then I didn't think much of it. However, It ended up being the topic of conversation on the Meetup site the next day. I was really, really discouraged that there were audience members so unimpressed with the main topic of the presentation that a quip about Java was the main thing on their minds.

There's obviously a balance that I need to work on during a time crunch between reading from a script and shooting statements off the cuff faster than I can think them through or fully explain them.


Something that I severely underestimated in this little adventure was exactly how vulnerable you can feel when someone takes out their pitch fork to start criticizing you.

I don't know if it was a reasonable expectation, but I expected to feel about the same when receiving any criticism about my talk as I would criticism about a blog post. I've been writing long enough that I have a pretty tough exterior when it comes to self-evaluating how well I've communicated something. Yet the tone of the criticisms around my Java remark on the Meetup group the following day impacted me enough to make me seriously consider never presenting again.

The advice I got from pretty much everyone on this oscillated between "grow a thicker skin" and "why does that one guy matter that much anyway?" Both of which are completely valid. But if the goal of this post is to be honest about experience from my first time speaking (which it is) then omitting this would be a mistake. It was different for me when I got up in front of that crowd and then, after that, a member decided he disliked something about it.

The criticism of the audience apparently has the potential to be greater than the sum of its parts if you're not steeling yourself for it. I wasn't, and it slapped in the face as a result.

In Conclusion

At least one member of the audience has started playing with Scala since I walked off the floor, so I have hopes to see an addition to the Lift community from Athens at some point. Also, I'm going to publish my slides whenever I get the chance to clean them up. There were a bunch of slides at the end I didn't use and I think a few that were in the wrong order. I'm sure everyone remembers the "I wasn't expecting that slide to come next" dance that I did halfway through the talk.

This won't be the last time I give a talk. It'll probably be a spell before I do it again, but this was a goal I had for myself this year. And I accomplished it. So now, it's back to building, shipping, and writing things for awhile.

See you on the interwebs.

Economies of Scaling Back

A few of you who have followed me for awhile know that I'm a Christian. Part of my faith includes periodically reading things from other believers who have come before me. A few days back a contemporary Christian publication posted an excellent collection of quotes by Charles Spurgeon, a well respected Baptist preacher. There was one selection in particular that seemed to relate to me, especially as a member of today's technology industry. Spurgeon writes,

The way to do a great deal is to keep on doing a little. The way to do nothing at all is to be continually resolving that you will do everything.

Many of us are guilty of this: getting so excited by a new idea that we dive headlong into it without much regard for whether or not it's something we can actually commit time to. The result is project abandonment in most cases, which in the grand scheme of things isn't a huge problem. However, in the past six months I've experienced the extreme where a lot of little things - constantly stressing me out because they're not done yet - roll up into one big batch of burn out. And that, my friends, is a huge problem.

As a result, I've recently come to the point where I have had to acknowledge the following: I am a human. Before you discard this statement as obvious, let us consider what it means for a moment. Specifically this: that contrary to the fact that my brain spends a good chunk of time contorted into thinking like a computer, it does not in fact function like a computer. It needs long periods of rest to appropriately recharge. It won't work like every other brain out there in the world. It needs emotional and intellectual fuel to keep me healthy and creative, as opposed to being a mindless drone punching a clock. It is incredibly bad at multitasking on the average, as much as we would like to believe otherwise, and will likely to continue to get worse as I get older. Most of all, it needs much less stress than I've put on it in recent months and it needs more time with the family and friends, my time with whom is far more important than whatever I contribute to technology or society by running myself ragged.

Naturally I'm a problem solver, and this is nothing more than another problem. So, I say to myself, what's the solution? Well, there are two parts: the reactive and the proactive.

On the reactive side, it's a top priority to scale back the things I'm committed to. About a month ago I tweeted that I was interested in finding someone who can help spearhead the Georgia Open Data Project moving forward (see the tweet here). I've additionally canceled a few side projects that were lined up for Crazy Goat Creative, and have scaled back my role in Anchor Tab for awhile. As of today the two efforts I'm spending non-work time on are the Get Open Mentorship Initiative and Depend On. This has opened up a good amount of time for spontaneous events, reading, blogging, bike riding, and the like.

On the proactive side, I'm working on iterating on a weekly structure. Right now, it's formulated to the point of having a few mandatory things (e.g. full time job, time with my community) on the top half of the list, and then at the bottom having a section named "Pick 1" with Lift, Get Open, and Depend On listed. That should, ideally, leave plenty of unscheduled time to "go with the flow." Tonight that consisted of a Skype call with a friend who lives in another state and binging on old episodes of Covert Affairs.

But to be honest, the most proactive thing that I'm doing is accepting the fact that as much as I want to build all the amazing things I concoct that I am not someone who can eat, drink, and breathe code seven days a week and be happy. It's not how I have been designed to function, and trying to function that way is detrimental to me and everyone that relies on me to get things done. This means that I can't try to spearhead five side projects at once. It means that I shouldn't make any employment shifts where more than 40 hours of work per week would become the regular working hours. And, most of all, it means that whatever great things I have the privilege of doing in the seemingly short amount of time I'm here will almost certainly be done in little bits for a long while.

Coming to the above conclusions has been a long time in the making, and I will likely iterate on them in the months and years ahead. It's a painful process, especially when you have to cut back on things that you would really enjoy. But it's a process worth going through. Fortunately Spurgeon has some wisdom for us on that front as well:

There is hardship in everything except eating pancakes.

So, I implore you to take the opportunity to evaluate for yourself what boundaries you need to impose to prevent yourself from reaching burn out.

Then go eat some pancakes.