Slack, the ultimate workday distractor

Unless you're living under a rock, you've probably heard of or used Slack, the now wildly popular workplace chat application that's slowly killing IRC. It's uncommon for me to look over the shoulder of my peers and see another chat client these days. Slack's emphasis on collaboration, clarity, and fun make it the go-to choice for workplace chat. Slack attempts to replace email in the work setting by creating a realtime chat environment that gives teams an always-on channel for discussion.

Don't get me wrong: Slack is an incredible tool if you work in a fast-paced, customer-oriented environment. If you work in tech support, customer service, sales, or sysops, Slack is indispensible for staying on top of inbound alerts that help keep your business running day-to-day. But when you're a programmer, designer, writer, or other creative, it's imperative that you're granted several hours per day of uninterrupted flow.

Also make no mistake: Slack is an amazing chat application. It's the best I've ever used. It's intuitive, friendly, fun, and engaging. I love it.

But Slack represents a destructive psychological shift in the way we conduct creative work: The always-on always-available culture amplifies anxiety and destroys real productivity by putting our attention up for auction in a highly distracting and unactionable environment.

Always Available, Never In Focus

In Merlin Mann's famous Google Tech Talk about his Inbox Zero methodology for email processing, he explained how email has turned from a fun and exciting new medium of exchange into the reactive centerpiece of the modern desktop. At one time, checking your email was a once-per-day activity, something you did when you connected your 56k modem to the Internet for an hour. Now it has become an always-on communication center from which we draw our next actions and conduct our day-to-day tasks.

Not only does this always-on approach segment our attention from our most important work, but it provokes a sense of constant anxiety, wherein we believe we must respond to every message with ever-accelerating urgency. And that's exactly why I believe Slack is the ultimate productivity killer.

When there's an unspoken, implicit expectation that we'll be on Slack all day long, we begin to measure our personal productivity in terms of our response to chatter instead of in terms of the completion of our most critical tasks. We lose control of our time and what was once creative, intentional work turns into a constant stream of opinions, anecdotes, and noise.

Like Email, Slack Causes Anxiety

Studies show checking email frequently causes anxiety. By constantly feeding our brains new inputs about our responsibilities, we're effectively sending ourselves into a panic about whether or not the task we're currently attempting to complete is the most important.

Slack effectively puts this anxiety on overdrive. Sitting down to implement that new feature your investor is expecting next week? Too bad: Your teammate needs help defining requirements for another feature and sent you a private Slack message to ask you to help. With Slack, true heads-down focus and intention is a thing of the past. And you can forget losing yourself in your work: Slack will make sure you always have something more pressing (read: an opportunity for procrastination) to do.

Unlike Email, Slack Doesn't Have Threads

In Slack, you can organize your team's discussions into channels, but that's hardly a substitute for the hard lines drawn by operating within threads in email. If Slack truly replaces email, how do I reach Slack Zero? When I'm scanning Slack for any actionable information, I end up re-scanning conversations numerous times to find the discussion I'm looking for. Email and project management tools don't beget that problem. They're threaded and that's the way discussion about specific tasks and projects should be.

None of this is to say that realtime chat doesn't have a place in the workplace. But I do think using Slack in place of a more rigid communication medium is a sure recipe for losing your mind.

Solution? Check Slack Twice Per Day

That's why I'm making a commitment to checking Slack as infrequently as I check my email: Once in the mid-morning and once near the end of the day.

When we reduce the number of inputs vying for our attention during our workday, we are better equipped to focus on what we've already deemed our day's priorities. Let's turn off Slack, turn off email, and get to work.

Your best candidates demand to work remotely

Tuesday morning. It's 6:32am. You yawn. You stretch and turn over on your side. No alarm woke you up. You, like most highly-productive people like waking early. You rise, stretch again, and don your bathrobe. You go into the kitchen. You press play on a podcast, leisurely cook yourself a healthy breakfast, eat, and then make coffee. It's 7:41am.

You sit at your desk and decide on your first task. You work, with no interruptions, for 1 hour and 54 minutes. It's 9:35.

Most people are still stuck in traffic, but you just clocked nearly 2 hours of completely uninterrupted work.

You take a break to stretch and make some more coffee. You check your email, because you know checking your email before you complete your most important task of the day is the best way to ensure it won't get done. You process all your email. Inbox zero. It's 10:00.

You have a brief, 5-minute meeting with your team members. You do this every morning. Once the call is over, you work again, with laser-focus, for another hour.

It's lunch time. You make a healthy salad for lunch. You spent only 28% of what it would have cost to buy a comparable lunch at a restaurant. You take your time washing the dishes.

You decide you'd like to take a walk. You take a leisurely half-hour walk around the neighborhood. You remember you need to buy some toiletries, so you stop at the grocery store.

When you return to your house, you sit for another two hours of uninterrupted work. Your superior is thrilled with your output. You are thrilled with being able to work on your terms.

It's 4:35. You turn off your computer and go spend time with your family and friends.

If you work remotely, it's likely you're familiar with the lifestyle I portrayed above. Thousands of programmers, designers, writers and other creative professionals are working remotely and enjoying the fruits of a self-driven, telecommute lifestyle. And thousands of companies are reaping the benefits of sourcing the best talent by allowing them to work on their own terms.

The Best Will Demand It

If your organization doesn't allow remote work, it's not attracting the best talent, because the best talent will demand to work remotely.

Remote work is becoming more common, and your best talent isn't having a hard time finding employment with remote-friendly employers.

The best talent has invested in creating a home workspace tailored to their personal tastes. They have created the ideal place for their productivity to flourish, and you didn't spend a dime. They've created systems that enhance their unique work style and culture.

Your best candidates are self-motivated, outcome-oriented people. Why would someone self-motivated and outcome-oriented want to spend their entire day in an office? They want to be spending their days productive when they can be, and enjoying life when they run out of steam.

They recognize the finite nature of time, which is why they strive to do excellent work for you while reserving the right to enjoy mid-day leisure.

Creative knowledge work is unlike the industrial and clerical work that came before it. There is no longer a linear correlation between hours worked and productivity. A programmer who works eight hours in a row will not produce twice as much as a programmer who works four hours in a row. I have personally found that I reach my productivity ceiling at around four hours' work in a day. Why are you requiring your team to stick around for eight hours straight?

A Broader Base of Talent

According to Payscale, the median salary for a senior web developer in San Francisco is $102,157. In Seattle, it's $83,903. That's an $18,254 difference, and they're happy to split it with you.

If you're hiring for a San Francisco company and you source your developers from the north, you could incentivize your candidates with a $9,127 salary increase over their local Seattle options, and save $9,127 per year compared to hiring someone in San Francisco. It's a win-win scenario for both you and your new hire.

With hyper-specialization becoming more common for technical workers, hiring outside your local metropolitan area also means you're able to find talent with experience that better matches your organization's needs.

When you offer a relocation package, you incur the additional risk that your new hire won't be the star player you thought they'd be. You'll have lost the airfare, the moving expenses, and the time spent interviewing and training them. When you hire remotely, your hiring costs are minimal.

Commuting is Expensive

In America, the average commute to work is 25.5 minutes. That's 51 minutes per day, or 4 hours and 15 minutes per week. That equates to a 10% pay cut: 4 hours of unpaid time for every 40 spent working. But that's not the worst of it.

The average per-mile cost of operating a sedan in America is $0.60. Assuming a 30-mile round-trip commute, that's $18 per day, or $90 per week spent commuting, in addition to the opportunity cost of the lost time!

Consider an average-salaried San Francisco senior web developer. They make $102,157 per year. Assuming they work 50 weeks per year, for 40 hours per week, that means their effective hourly rate is $51. When we apply their effective $51 hourly rate to their time spent commuting, their opportunity cost lost to commuting is 4.25 hours × $51 = $216.75 per week. That's an annual cost of $10,837.50. Add the cost of operating the car, and their effective salary dropped $15,337.50.

Commuting has turned your candidate's $102,157 salary into $86,819. That's a 15% effective pay cut. Armed with this knowledge, how many of your best and brightest candidates do you think would agree to a daily commute?

Conclusion

Remote workers enjoy a lifestyle that cannot be valued in dollars. They are high-output, self-motivated professionals who recognize the opportunity costs associated with mandatory office hours, and so they seek employment with firms that also recognize these costs. The life of a remote worker is richer and less restrictive. This richness and freedom will translate into better work for you.

Using jQuery Deferred to wait for multiple Backbone models to save

Backbone's Model implementation is great for most things, but one thing I've had a hard time with is waiting for multiple models to save before proceeding. Backbone offers a success callback like this:

model.save
  success: ->
    alert("We did it!")

You could also use the sync callback like this:

model.on 'sync', ->
  alert("We did it!")
model.save()

But what about when you want to wait for multiple models to finish saving, all with their own asynchronous requests?

Don't Nest It. Chain It!

The jQuery Deferred object is a chainable utility object that can register multiple callbacks to relay the success or failure state of an asynchronous operation. Lucky for us, Backbone's model.save() method returns a jqXHR object, which implements the Deferred API. This means that instead of writing this:

model.save
  success: ->
    alert("We did it!")

We can write this:

model.save().done(-> alert("We did it!"))

That's a nice bit of syntactic sugar, but it still doesn't address our original problem: How can we wait for multiple models to save, and then fire the callback to alert the user?

Tell Me When You're All Done

jQuery.when allows us to combine multiple Deferred objects into one aggregate Deferred object, such that we can chain callbacks to be executed only when all the objects have resolved.

For sake of example, let's say we have a collection of 3 Backbone models we'd like to save:

collection = new MyCollection([{name: "Steve"}, {name: "Dave"}, {name: "Tom"}])

Remember that Backbone's model.save() returns a jqXHR object, which acts as a Deferred. So we can run:

xhrs = collection.map (model) -> model.save()

This will create an array xhrs containing the jqXHR objects for each individual save operation. To alert the user when all of them complete, we can use jQuery.when:

jQuery.when(xhrs...).done(-> alert("All of them are saved!"))

Note: The splat (...) syntax above is required to split the xhrs array into separate arguments. This had me stumped---without the splat, jQuery treats the array as a single Deferred object, which obviously doesn't execute the callbacks in the same manner as multiple jqXHR objects.

And Tell Me When One of You Failed

We can also use Deferred's fail() method to alert the user that one or more of the save operations failed:

jQuery.when(xhrs...).
  done(-> alert("We succeeded!")).
  fail(-> alert("We failed."))

Conclusion

The jQuery Deferred API is a powerful way to elegantly wait for the completion of asynchronous operations in your Backbone application. While it's tempting to resort to workarounds like using setTimeout to wait an arbitrary amount of time for operations to complete, using jQuery.when means you don't introduce race conditions into your application.

If you have any questions or if something isn't working as described above, please leave me a comment. I'll try my best to answer as soon as I can.

How to authenticate Instagram in a command line application

Instagram

Instagram uses OAuth to authenticate, meaning it can be kind of a drag to use its API if you don't want to build a web application. Building the simplest interface you can build to achieve your application's goals is one of the best ways to streamline your development process. And the simplest and cheapest interface is often the command line.

But because the OAuth handshake requires a web callback to operate, it can be cumbersome to build this authentication into a command line application. Below, I'll show you how to do it with only a little bit of annoyance.

Create an Instagram API Client

First, you'll want to go ask Instagram nicely for an API Client ID so you can get access to the Instagram API. Go to their developer portal and click 'Manage Clients' to add a new one.

When asked for URL's, feel free to use non-existent domains. I use guilded.dev for mine.

In the Security tab, be sure to uncheck "Disable implicit OAuth". This will allow you to connect to the API without requiring an explicit server-side post, meaning we can hijack the access token from the callback URL:

Uncheck 'Disable implicit OAuth'

Make a Firm Handshake

So what are you to do when you can't redirect your terminal window to Instagram so you can authorize your account? A little bit of copy-pasta. Here's what we're going to do:

  1. Generate an Instagram authorization URL and ask the user to paste it into their browser.
  2. The user will authenticate their Instagram account like usual. They'll be redirected to our dummy Redirect URI.
  3. We'll prompt the user for their newly-issued access token. Because we unchecked "Disable implicit OAuth" in our Instagram client configuration, the access token will be appended to the redirect URI. We'll ask them kindly to copy and paste it into the terminal.
  4. We'll be authenticated to Instagram in the terminal!
require 'instagram'

Instagram.configure do |config|
  config.client_id = "YOUR CLIENT ID"
  config.client_secret = "YOUR CLIENT SECRET"
end

# Generate an Instagram authorization URL
puts "Visit the Instagram OAuth URL below to get started:\n"
puts "" + ::Instagram.authorize_url(
  redirect_uri: "http://guilded.dev/instagram/callback"
  response_type: 'token'
)

# Prompt the user for their newly-issued access token.
puts "Enter the access token at the end of the redirect URL.\nYou'll find it after the '#access_token=' in the URL."
access_token = gets.strip

# Create an Instagram client with the access token.
client = Instagram.client(access_token: access_token)

Now you should have an authenticated Instagram client. Use the Ruby Instagram API as usual:

for media_item in client.user_recent_media
  puts media_item.images.thumbnail.url
end

Store Your Access Token

Of course, requiring entering the access token each time we use our Instagram command line application is going to annoy our user. What if we could store the access token on the first authentication so we could use it for subsequent runs?

For this example, we'll store the access token in a file called .instagram-access-token. Depending on your application, you might want to use an existing YAML configuration file or another method.

require 'instagram'

# Configure the Instagram gem the same way we did above:
Instagram.configure do |config|
  config.client_id = settings.instagram_client_id
  config.client_secret = settings.instagram_client_secret
end

# If there's an access token saved to the file, then read it.
if File.exists?(".instagram-access-token")
  access_token = File.read(".instagram-access-token")
else
  # Otherwise, generate one
  puts "Visit the Instagram OAuth URL below to get started:\n"
  puts "" + ::Instagram.authorize_url(
    redirect_uri: "http://guilded.dev/instagram/callback"
    response_type: 'token'
  )

  # Prompt the user for their newly-issued access token.
  puts "Enter the access token at the end of the redirect URL.\nYou'll find it after the '#access_token=' in the URL."
  access_token = gets.strip

  # And save the token to the file for the next use:
  File.open(".instagram-access-token", 'w') do |file|
    file.write(access_token)
  end
end

# Create an Instagram client with the access token.
client = Instagram.client(access_token: access_token)

As you can see above, we first check to see if there's an access token saved in our .instagram-access-token file. If there is, we skip the handshake process altogether. If not, we initiate the handshake.

Note that for the purposes of simplifying the example, I've left out some error handling for invalid access tokens. You'll want to verify that the access token stored is valid and go through the handshake process again if you cannot connect.

Conclusion

Building a command line application for Instagram is fairly easy, assuming you're able to build the authentication in a way that doesn't confuse your user. If you're just building a tool for personal use, this is a great way to create real value without incurring the burden of building a full-blown web application.

If you have questions or if something is unclear, please leave a comment below and I'll do my best to answer you.

Software is 10% Code

Building software is about programming, right? Day to day, we turn caffeine into code. We spend countless hours reading about new programming languages, techniques, and platforms. We engage in conferences, get into arguments about whose stack performs better, and scour Stack Overflow for the answers to our problems.

But none of that is programming. In fact, all of it—reading blogs, attending conferences, arguing, research—all of these activities are, at their core, interpersonal communication.

A good programmer knows the hottest programming language is English.

(Disclaimer: I speak English natively. Feel free to substitute your native tongue. I have no bias toward English and don't mind pressing '1'.)

Our stakeholders communicate their vision by telling us about it—in English. We capture their vision for development into well-crafted user stories—in English. We write our Stack Overflow questions in English, chat on Slack in English, and report bugs in English. So why do we look to techno-wizardry as solutions to problems whose root is likely poor team communication?

Bad Writing is a Meeting Factory

Being able to articulate a thought in writing means your team gets to take advantage of asynchronous communication. Whereas meetings are synchronous— requiring all parties to be present and engaged for the duration of the communication event—written communication is asynchronous, meaning the recipient can address your request or idea on their own time.

Understanding this distinction can save your team hours each day. If you're about to hold a meeting, ask whether it's because you don't feel confident writing an email to address the topic. Some topics are best discussed in person: "big picture" decisions and human resources concerns are a couple. But most technical decision-making is better left to the great text file in the sky.

Great Writing is Documentation

When ideas are birthed in writing, they're already documented. There's no need for a secretary in an email thread. No one need spend time writing meeting minutes or informing the team of decided action items. Your Slack channels are searchable.

This means that if we spend time to compose our thoughts concisely—if we re-read our message before sending and ensure we've articulated our thought as succinctly as we can muster—we have created a valuable artifact. We have contributed to our team's canon.

Resources for Better Writing

The Elements of Style

Strunk & White's classic prescriptive style guide The Elements of Style comprises "eight elementary rules of usage", ten "elementary principles of composition", "a few matters of form", a list of 49 "words and expressions commonly misused", and a list of 57 "words often misspelled." It's often cited as the standard for learning great writing style. I once kept a copy on my nightstand.

How to Win Friends and Influence People

Dale Carnegie's How to Win Friends and Influence People will help you adopt interpersonal skills to help win people to your way of thinking. Carnegie stresses that showing respect for other people's opinions and trying honestly to see things from the other person's point of view can dramatically change the way others perceive you. I think this is especially relevant to writing software, since there are often different but comparably adequate ways of approaching the same problem. Seeking to understand your team members' differing opinions can help you reach consensus. Adopting a sympathetic and concise writing style can help you do that.

Influence: The Psychology of Persuasion

This is the classic book on the science of persuasion. A word of warning: The tactics in this book can be (and are) used for some horribly manipulative things. But understanding the fundamentals of persuasion, how to coerce others, and how to defend against coercion, can be beneficial in your team diplomacy efforts.

One of the principles Cialdini covers, the contrast principle, can be used to dramatic effect when working with clients. The principle states that if we see two things in sequence that are different from one another, we will tend to see the second one as more different from the first than it actually is. This means that if we know Approach 1 is costly, but offer a more costly Approach 2 beside it, the client will likely accept Approach 1 by contrast. Consider the contrast principle when making proposals. It's likely you'll see an improvement in your team's buy-in to your ideas. Just don't take advantage of it.

Conclusion

When hiring technical talent, the first thing I look for is strong verbal communication skills. Being able to articulate ideas in writing is more valuable than technical skills because humans think in terms of and react to stories. Being able to tell stories that captivate your team and your customers creates consensus. When consensus is reached, the technicalities fall into place.

Writing is critical to your remote project because you don't get much face time. If you sign up for my free email course, I'll send you 12 patterns to make your remote team better. Sign up for free

Mallsterbating

Destiny USA

Photo is of Destiny USA, a shopping mall in Syracuse, New York formerly known as Carousel Center.

I grew up in several small towns scattered across western New York State. My childhood was one spent predominantly in the 1990s, a time of seeming economic prosperity. The shining beacon of consumer confidence in that period was the all-holy shopping mall. The veritable consumer church.

Raised in a typical, middle-class American family with a mother and a father, three children, a cat, two cars, a three-bedroom house, a pool, two incomes, and a healthy dose of suburban teenage angst, there were truly two escape hatches presented to the apprehensive adolescent: drugs & the mall. As a teenager, I never much fancied the idea of psychoactive substances and would not find my way into their clutches until later in life. At age sixteen, the mall offered emancipation from parents I didn't know I was lucky to have. A town square for the new recruits of the consumer class.

I have childhood memories of sitting on mall benches unboxing the latest computer games (Jedi Knight comes to mind), of meeting my family for dinner at the food court (I fucking loved Arby's), and my first awkward makeout sessions in the back of a matinee screening of The Crocodile Hunter: Collision Course. It is a unique condition of the consumer generations to feel nostalgic for time spent in shopping malls.

In college, I began experimenting with marijuana. Without going into too much detail about my experiences with the drug, one of the most notable effects was the gentle euphoric high I'd encounter when reminded of a favorable past event.

Fast forward to 2008. I'd been living in Portland for a few months and needed to shop for some clothes. I decided to shop the Lloyd Center mall near the city center. I took a few hits off my small pipe before entering. As soon as I walked in, the familiar mall smell hit my olfactory receptors and I was overcome with nostalgic euphoria and a sense of childish wistfulness. I was immediately drawn to stores which I'd frequented in my youth: Spencer Gifts, Hot Topic, EB Games. Somehow, despite my age, the experience gave me a sense of fullness. I'd walk into Barnes & Noble and immediately recount past experiences of shopping for books with friends in high school, of sipping my first Starbucks coffee in the cafe, of loitering because there was nothing else to do.

Soon, the prospect of rekindling that feeling became a mild addiction. I'd go mallsterbating at least once a month. I'd bring my laptop so I could sit in the food court and work on projects stoned out of my mind. I'd people-watch. I'd eat the shitty Chinese food and I'd loiter on benches. I'd seek out new malls -- mallsterbating in new cities was always my favorite. And, aside from the occasional coffee or lunch, I'd never spend a dime. Who shops in malls anymore, anyway?

I gave up my mallsterbating habit, but I'll always remember it as one of the most bizarre life experiences I've ever had. That I could trigger profound reminiscience of my youth with a couple tokes and a walk through a shopping mall is a testament to the virtues of enjoying simple pleasures.

Leaving my privately defined world

Leaving my privately defined world

My relationship with marijuana began like most teenagers. It was April 20th of my freshman year of college. My friends invited me to try taking rips from a three-foot blue-and-white bong filtered with ice during a break between classes. Being on the open-minded side of cautious, I asked myself what the harm was. And, as is allegedly typical among first-timers, I didn't get high. But my friends promised me I would if I had another go. So, a few days later I took a few hits from a small pipe. I remember the experience vividly. Music suddenly had a rejuvinated profundity, as if every deliberation of Cedric Bixler-Zavala's vocal melodies on the sophomore Mars Volta album Frances The Mute were just for me. When I closed my eyes, intense visual hallucinations spun on my eyelids, as if some part of my brain lay dormant, awaiting a rush of cannabanoids to unlock its gate.

As a rookie stoner, most basic tasks were unfathomable under the spell of the drug. I have memories of sitting in my car in a parking garage, watching the shapes of music take form on the canvas of my mind. I'd sit for a half hour, terrified at the prospect of interacting with other humans but content within the confines of my newfound cognitive adventure. I was hooked. But what did "hooked" mean, exactly? I certainly wasn't addicted. I didn't need marijuana in my life like a junkie needs heroin. I could function just fine without it. When I'd travel or visit family, I never craved cannabis. Marijuana just made everything better.

And, as so many users continue to believe, I thought it made me better, too. I felt more creative, more compassionate, and more grounded when under the influence of the drug. I had a sense of euphoria and oneness. It was as if I'd discovered a whole new mode of being.

Public perception of marijuana, especially in the United States, is becoming increasingly positive. 65 percent of adults between the ages of 18 and 32 support Marijuana legalization according to a Pew Research Center poll. In 2012, Washington and Colorado became the first states to legalize marijuana for recreational use. 20 states, along with the District of Columbia, have legalized marijuana for medical use. Pro-pot campaigns compare statistics surrounding the dangers of alcohol in defense of recreational cannabis legalization. A clever campaign video produced by a campaign organization for a marijuana referendum in British Columbia even goes as far as to compare alcohol to Microsoft and cannabis to Apple. With this kind of media acceptance, it's no wonder we're all toking.

After I finished college in 2007, I packed up and headed west. Here in Portland, I found a community of activists dedicated to the legalization movement, many of whom are medical marijuana cardholders. Despite still being illegal for recreational use in the state of Oregon, cannabis is as easy to obtain and less expensive per "dose" than alcohol. It also bears just about as much social stigma as alcohol, making it just another staple at house parties, on bar patios, and, as it would turn out, my living room.

In 2010, I purchased a marijuana vaporizer, an electronic device which heats plant matter to a temperature high enough to vaporize the active compounds in cannabis, but not high enough to combust the plant matter. This method of cannabis ingestion is arguably safer since fewer hazardous carcinogens are inhaled. Soon, I had a veritable marijuana appliance which became another "productivity tool" alongside my coffee cup. And the fact that my method of ingestion was physically harmless meant I saw no issue in more frequent use.

Calling cannabis a "productivity tool" may seem contradictory when I earlier mentioned I had trouble performing even the most basic tasks under the influence of the drug. As with all psychoactive substances, cannabis users experience diminishing returns as their bodies build tolerance to the drug and require more to achieve the same effect. In fact, many of the pleasant hallucinatory effects I mentioned earlier ceased within my first six months of use. Eventually, the cannabis high became less like a trip and more like a buzz.

Creatives profess achieving a state of flow, wherein they are fully immersed in their work with energized focus and enjoyment. Cannabis appeared to provide further immersion, to the point where I could sit at my computer for hours and produce without ever acknowledging the world beyond my screen. It also appeared to enhance my spatial reasoning abilities, a cornerstone of software engineering aptitude. I now know all of these apparent benefits to be erroneous.

In actuality, the alleged benefits of cannabis with respect to productivity and creativity are fabrications of the mind. In the same way cannabis conjures increased appreciation and admiration for art and music, so too it materializes false grandeur in the creative process. It's not that my ideas or execution were any better when I was stoned. They just appeared that way. At least, for the duration of the high.

Looking back, I realize most of the time I spent high I actually wasn't relaxed, euphoric, or productive. And it wasn't even enjoyable. I experienced, almost daily, symptoms of cannabis-induced acute psychosis. These included panic attacks, agoraphobia, aerophobia, hypochondria, persecutory delusions, mild sociopathic tendencies, and delusions of grandeur.

My first serious bout of panic occurred in the winter of 2010. I had just returned from an emergency trip to take care of my grandparents, both recently hospitalized. One night, I lit a joint in my bedroom, when suddenly I felt a horrific sense of doom come over me, as if I needed to escape from existence itself. My heart started racing and I felt intense pressure in my chest. Believing this was the start of a heart attack, I rushed myself to the emergency room. An EKG would later verify I had a healthy heart. In fact, at my doctor's request I completed a treadmill stress test and the technician told me I was the only patient she'd seen who made it all the way to the finish. My heart was fine. My brain certainly wasn't. My doctor suggested that cannabis was causing my anxiety and that I should discontinue use. But cannabis is harmless! Everyone knows that. I continued using.

Shortly after that episode, I made plans to visit a friend in Philadelphia. As I boarded the plane, an all-too-familiar sense of panic came over me. I clung to the armrests, palms sweating, breathing nervously for the entire duration of the flight. This continued for the next several years, despite knowing flying is the safest form of transportation per passenger-mile. Since stopping use, I haven't a shred of fear about my upcoming plane trip.

Similar to my fear of flying, I also suffered persecutory delusions wherein I believed, whether acutely or chronically, that something horrific was about to happen. In the case of boarding a plane, I believed we were certainly going to crash. I also, for a period of about two years, dwelled over the possibility of a catastropic earthquake striking the Cascades. I'd have persistent visions of the terror of fallen bridges and would panic if I were stopped in traffic underneath an overpass. The region is due for a catastrophic quake, but cannabis turned what should have been an exercise in humble preparedness into years of panic and dread.

But the most alarming side effect of my regular cannabis use was its subtle erosion of my empathy and capacity for interpersonal connection. People, mostly lovers, became mere instruments in a selfish, privately defined game with no winner. I found myself overly critical of every aspect of my lovers. One day I'd be head-over-heels in love. The next day, I'd have determined, by way of my own cannabis-fueled, paranoid means of analysis, that that person was insufficient. This cycle continued through one long-term relationship and countless casual dating encounters. I would become frustrated at the idea no one met my precise criteria, not recognizing the deadened and ill-natured disposition of my desires.

Most users are under the impression that because cannabis isn't physiologically addictive, they don't suffer withdrawal symptoms. Examining the reason for continuing use quickly debunks this myth. If the user believes pot makes everything better, then it should follow that their sober experiences would be, in contrast, worse. And that's the subtle trick that kept me toking for the better part of a decade. Cessation was surprisingly easy and I rarely experience cravings. When I do experience a craving, it's nothing like the infamous baby-on-the-ceiling scene from Trainspotting. Stopping pot was mostly an exercise in cognitive behavioral therapy, reprogramming my brain to understand that the alleged benefits of cannabis are mere illusions.

The dynamic of an abusive relationship is a reasonable analogy for my relationship with cannabis. Despite instinct telling me it's time to move on, pressures led me to persevere in the relationship. In spite of the misery, I became accustomed to the drug and took security in its presence.

Since stopping use, I've found myself more eager to help others and more in touch with the emotions of those around me. I operate in a space of emotional certainty, where I'm able to succinctly cast my desires and express my true feelings without lingering feelings of hesitation. And I want to engage in relationships not because of what I'll gain, but because of what I'll give.

Cannabis abuse is especially sinister because the consequences are so subtle they'll often go unrecognized. In the same way a functional alcoholic can continue to go through the motions of daily life, so too can the functional stoner exist and even excel in certain respects. Cannabis didn't take my home, my family, or my physical health. The dire consequence of chronic marijuana use is the steady corrosion of virtuous subjective experience.

I recognize the stigma surrounding drug addiction and understand I'm making a lot of admissions which could negatively effect my career and social life. However, I am choosing to take that risk with the hope that others might read my personal accounts and reevaluate their own recreational use of cannabis. If you're considering stopping, the /r/leaves community on Reddit is a great support resource. Literature on the subject is unfortunately sparse, but The Joy of Quitting Cannabis takes a positive, nothing-to-lose approach to the issue and was written by an ex-toker.

If you need me, I'll be busy getting high on life.

What I've Learned About Love

In my ten or so years of dating, I've experienced triumphs, failures, heartbreaks, butterflies, and everything in between. I've been flat-out rejected and I've rejected flat-out. But a recent string of love and loss has given me cause to rethink my behavior in relationships and reflect on how to be a better lover. These are the things I've learned about love.

Soul mates are real. Perfection is not. Having logged far more time with computers than women, I've come to expect that relationships should operate in a similarly predictable fashion. And, much as a web designer pushes pixels until their design is perfect, so too can we pigeonhole our significant others into being perfect by our measure, right? No. We humans are generally fucked up. We have ugly faces when we wake up, we smell when we come home from a long day, and we're prone to misery at the most inoppurtune times. While it might be the case you're with your soul mate, recognize they're just as human as you are. Loving their inperfections is often more important than loving their good qualities.

A hot date is exciting. But a hot date won't take care of you. Countless times during my last relationship, I explained to my lover that I wanted to "see other people." I thought it better to express this desire and talk about it rather than act upon it callously behind her back. I've always had a hard time with commitment, be it with my living situation, job, or relationship. But only recently, I've realized that a "hot date" gets cold fast. I'm reminded of a quote by relationship expert Chris Rock:

You gotta think about life in the long term. Now, people tell you life is short. No it’s not. Life is loooong. Especially if you make the wrong decisions! And in the long term, if I’m sick, is new pussy going to take care of me? No. If I’m hungry, is new pussy going to feed me? New pussy can’t cook!

Happiness in a relationship comes from within yourself. Your lover can't make you happy, and you can't make them happy. The best you can do is provide support to act as a catalyst for their happiness and have faith that they'll come around. So many times I've found myself unattracted to my partners, not recognizing that it might have been my own lack of awareness causing our mutual grief.

In order to truly love, you must first truly love yourself. I've experienced this on both sides of the table. Nothing is less alluring or attractive than a lover who can't muster the courage and strength to take care of themselves. Deficient self-love is the root cause of codependency in my experience. In cultivating healthy self-love, you'll appear more vibrant, capable, and desirable.

Next time, I'll be a better lover.

Why I'll Always Be A Mercenary

I've worked in the startup scene for the better part of a decade. In that time, I've built MVP's, maintained production applications, and generally helped people with ideas turn those ideas into working realities. And in that time, I've logged hours on late nights, weekends, and other time I would have been spending time with my loved ones had I not allowed the pervasive "live to work" startup culture permeate my being.

The sense of urgency when working in a startup can indeed breed excitement and form cohesion. But none of our work is, by definition of the word, urgent. Some of us might be building systems whose reliability and availability does save (or cost) lives. Those excluded (and you deserve kudos for your dedication), we work in an industry of seemingly unending urgency despite the inconsequntial nature of our labor.

That's not to say we're not making great things. Or that the things we make aren't valuable and world-changing. But it is to say that there are more consequential, valuable experiences to be had than manipulating text and images on an expensive pane of painted glass. I've actually heard of startup founders who admitted their company was more important to them than their spouses. It is this brand of irrationality that has turned me into a mercenary.

My life's passion is to be a better human, to cultivate love among those closest to me.

As a mercenary, I'm eager to solve your problems. But they're still your problems. I take responsibility for my mistakes and take credit for my triumphs within your organization. But my life's passion is to be a better human, to cultivate love among those closest to me, and to have time to take the hard-earned fruits of my mercenary labor to solve my own problems. Taking on the brunt of your organization's hardships by working when I could be traveling, loving, making, and playing sucks the soul right out of life. It begs the question: What is it all for?

That's why I'll always be a mercenary.

The Fool's Guide to Sustainable Saving

Despite my relatively stable income, maintaining a healthy, consistent savings rate has always been a difficult test of my will. Either I'd find a new, shiny toy I just couldn't live without or I'd find myself in an emergency situation where spending was my only option.

I've always been under the impression that credit cards were to be used sparingly, but I never considered the ramifications of making interest payments and how disempowering "buy now, pay later" really is on your psyche. And, when you don't have a savings plan, rainy days quickly turn into credit card balances.

In 2012, I spent most of the year catching up with my 2011 tax payments. I jokingly refer to 2012 as my lost year, akin to the Japanese Lost Decade. Recognizing the error of my ways, I sought to find a methodology which would ensure this type of catastrophe would never happen again.

Accounts Receivable

When receiving money, whether by way of your paycheck, a gift, or a garage sale, the typical procedure is to put it in our wallet or bank account and then spend it with mild to medium discretion. As long as we spend less than our income, we'll come out okay, right?

This strategy would suit us fine if we knew, with utter certainty, that our income will always exceed our necessary expenditures. Unfortunately, such casual treatment of our income doesn't account for a grave flaw in human nature: our tendency to justify wreckless spending because we'll make more money later.

In recognizing this pattern of earning and spending, I realized the only solution was to formalize a process around my income. Now, rather than simply depositing my income into my checking account and transferring an arbitrary amount into my savings account (usually only to be transferred back so I can buy "shiny new toy X"), I apply a series of filters to my income:

  • 25% is set aside to pay my income taxes
  • 15% is deposited into my savings account
  • 10% is reinvested into my business (this pays for things like my Internet access, business cards, conference fees, etc)
  • The remaining 50% is "mine".

I'm self-employed and withhold my own taxes, so of the items in the schedule above, only #2 might apply to you. I've found that saving 15% of my income is the sweet spot where I have enough liquidity month-to-month without having to habitually dip into my savings account to maintain my standard of living.

I use a spreadsheet to track every penny of my income and how it should be appropriated. By establishing consistent process for your income, you'll find yourself saving more and spending less.

Your new rewards card

When you save a percentage of your income rather than feebly saving arbitrary amounts each month, a pretty sweet thing happens: all of the sudden you accumulate a sizable balance and realize those credit cards you carry in your wallet suddenly feel less useful. Most people use credit cards "for the rewards" or "in emergencies." The truth is, carrying a high savings account balance yields astronomically higher rewards. Consider the following scenario.

Jane has a Chase Freedom Visa with a 15.99% APR and a $5,000 credit limit. She also has no savings account. Jane only carries a balance on the card in emergencies. Last night, her dog Sparky woke her up howling in the early morning and, startled, she took him to the animal hospital. Sparky needed emergency surgery. She swiped her Visa and incured a $1,683 charge overnight. Assuming she pays back her credit card bill using approximately 15% of her $4,000 income each month, she'll pay it off in three months and incur $45 in interest charges.

Sally, on the other hand, is carrying a $5,000 savings account balance and does not have a credit card. When Sally's dog Spunk needs to go to the animal hospital, she pays cash. Her savings account balance is now $3,317. Even if she only maintains her 15% savings rate, she'll have replenished her savings account in three months. The difference between Jane and Sally? While Jane was busy repaying the bank and incuring $45 in interest, Sally had been earning interest on her positive savings account balance. Jane will end up broke when Sally is worth $5,000, even though they both earn the same amount.

Don't trust yourself, fool

It's important to recognize that, when it comes to spending, humans have little to no self-control. By implementing safeguards into your income stream, you can ensure you're ahead of the inevitable emergencies that will arise. And believe me, it feels damn good. Fool.