Letting Perfect Get in the Way

I’ve been contemplating a phrase for a few days now. It applies to writing code, as I do for a living, as well as a whole host of other things… from relationships, to home life, life goals and endeavors… the list goes on.

Don’t let perfection stand in the way of progress.

I know what some people are immediately going to think when they read that. You’re asking me to settle for less than the best, Aaron? Let me say, emphatically, no. In fact, settling is the opposite of what I’m suggesting.

You may have heard of the Lean Startup concept of building a new business or product. I’ve talked about it before. The basic idea is you don’t wait to be feature perfect… you build, iterate, gather feedback, iterate on that feedback and continue the process. That philosophy hedges your bets around building something nobody wants by not waiting for the final, polished product before launching into the world. It relies on the concept that you don’t have to have something perfect in order to release into the wild.

Too often when making engineering decisions in a product, the risk is that you will want to make sure everything is perfect right now. Make sure the classes are all structured perfectly. Perfect object oriented methodologies are in place. Every edge case considered. An entire code-base unit tested.

All of these are extremely important, but they are also things that can be iterated on. Sometimes you can’t write code that relies on code you haven’t yet written yet! So you write shitty code that does the job in order to get ahead, and then return to that shitty code to refactor later.

Sometimes in your personal life, you may find yourself in a relationship that doesn’t have all the ideology of “The One” (Note: What the fuck does “The One” even mean?). That person is perfect in every way. They get your hearts. Understand your twitches. Empathize and support you through all your difficulties and struggles. Yet there’s just a couple things you just can’t stand. Do you give up and move on to the next, expecting next time that you’ll find perfection? Or do you buckle down and realize what you have is pretty damn good and it will be even better than that later on?

Do you let perfection get in the way of progress?

You shouldn’t. You should release, iterate, get feedback and release again. In code. In life.

New Adventures with 10up

It’s such a weird feeling.

Since I began this blog in 2004, I’ve been able to say I was truly hired exactly one time.

That day was Jan 9, 2013.

In 2004, I was employed by Northrop Grumman. In 2006, I left NG to pursue the startup world, I took up residence at b5media as the CTO who never got the title. I did this on a contract basis. I worked for myself for a very long time, got hired in 2013, left that job in 2014 and went back to working for myself. I just realized, over time, that I wanted something different.

I’ve avoided agencies, though quite a few have wanted me. These usually boiled down to what I term as “web development sweat shops”… Usually in the political space. They ramp up for campaign season – presidential and mid-term. They have a bunch of sales people in suits driving deals with campaigns – federal, state and local – to build websites and promote whatever brand of ideology they adhere to and the developers are overworked, have no seat at the table, and generally are expected to perform and work at 200% or risk getting fired.

I’m not that guy, so I’ve avoided agencies.

Unrelated note: Republicans have the deepest pockets. They spare no expense and question no cost. Democrats are far stingier. Though I fall on the left politically, I’m a capitalist who wants to make money as long as my name isn’t on it. Sometimes leaving ideology behind is worth it economically. Redistribution of wealth to my pocket, as it were.

I have, however, encountered a number of agencies who do not work in the way I abhor. One, in particular, is 10up.

For the past month, I’ve been working full-time with 10up on a contract basis. I’ve been blown away by their drive and collaboration from top to bottom. I have gotten to sample the goods and ensure they meet my high expectations of “work”. I have been respected and valued, and that is how they treat their entire team.

We have seamlessly worked together to ensure that, in a distributed company, I could deliver on my commitments of chemistry, communication and charm (the last not being a real thing, but I needed 3 C’s to be a better alliterative writer).

Prior to this engagement, I recognized 10up as a high-level WordPress agency. They only do WordPress, unless there’s a supplemental solution that engages the WordPress ecosystem. They give back to the WordPress community. In fact, they actively participate.

But I really knew very little about the nuts and bolts and the extent of their work. Now I do and I’m proud to call myself a 10upper as of tomorrow morning.

Thank you, Jake Goldman and team for the opportunity and the last month of fun, work and amazing innovation. I’m looking forward to doing more.

Something that caught me early on was an engagement between 10up and the company I helped start, WP Engine. It happened in San Francisco this past Christmas season and you may have heard about it… GIF the Halls.

It so happens that I will be working on the team that pulled that engineering feat off. I refer to it as the DARPA of 10up. The team tasked with creating crazy stuff that nobody has tried. GIF the Halls was a crazy project my team did. It tied WordPress with cameras for video greeting messages at the holidays. As a photographer, that’s right up my alley.

Can’t wait to try new crazy stuff. Onward!

Dishonesty in Digital Marketing

$9.99.

We used to look at that number, scratch our heads and rationalize the price as a marketing tactic to make buyers believe a product was cheaper than it was. This is all based on the psychology that $9.99 looks cheaper than $10 visually.

$99.99 isn’t $100 because it’s not a 3-figure number. It’s a 2-figure number and change. It has more psychological impact with bigger purchases. $999 isn’t $1000 and subconsciously, we think, it’s cheaper.

The psychology works even if the facts don’t bear out.

But there’s a nefarious new plot twist in the digital marketplace: $19.98 isn’t greater than or equal to the minimum purchase of $20.

In the old days (of yesterday), if you go into a convenience store and tried to buy a bag of chips and a coke, you might be told that the credit card minimum was $5. That tactic is a based-on-data-driven-business reality. Credit card companies charge a per-transaction fee that is usually a flat rate, so the law of diminishing returns comes into effect.

But you could always add a pack of gum or similarly low prices item to get over that credit card minimum.

But the marketplace is different than these harsh business realities. In the marketplace, specifically digital, companies are forced into a profit-or-bust scenario where anytime they can get $9.99 more, they inch closer to profitability… And that’s a business reality too.

When I decided to try Drizly, the fantastic new alcohol delivery service that fashions itself a liquor-store-meets-pizza-delivery service concept, I placed two six packs of great IPA in my cart and went to close. Total: $19.98.

Store minimum: $20.

Mind you, pretty much everything comes in at a minimum of $9.99 so the closest you can get without going over? $19.98. To buy that pack of gum, so to speak, that gets you that extra 2 cents? Another $9.99.

This is, of course, intellectually dishonest.

If you cared about minimums, you’d make each six pack a penny more. And if that’s an artificial number to inflate profit, you force the user to spend another $9.99 for a real store minimum of $27.97. Plus delivery fee. Plus tip.

The 99 cent marketing tactic has evolved. Of course, I didn’t purchase anything from Drizly and they are, by no means, the worst culprit. But they are the most recent example.

Beware the 99 cent rule. And beware companies who sell their wares in sneaky ways in pursuit of that almighty dollar.

Adding a Time Start to WordPress Media Embeds

Ever have those times that you’d like to share a piece of media but have it start at a particular time? I did recently, and figured I’d share my solution.

It turns out, WordPress does not support this feature out of the box (though you could argue, theoretically, that it should).

Ever have those times that you’d like to share a piece of media but have it start at a particular time? I did recently, and figured I’d share my solution.

It turns out, WordPress does not support this feature out of the box (though you could argue, theoretically, that it should).

We just remembered the 50 year anniversary of the Selma march which was nicknamed Bloody Sundy as 600 civil rights marchers were attacked viciously by law enforcement in 1965. It seems appropriate to sample the MLK “I have a dream speech for this demo.

Now of course, it’s all a great speech worth listening to, but what if I want to start the audio at the place we all know?

Boom, just like that. The nuts and bolts of this are tied up in this code:

Simply, I filter the shortcode attributes for the audio and video shortcodes adding a new argument – “start”. This is in seconds.

The second adds a little snippet of Javascript after each embed that moves the internal time pointer to the appropriate spot in the supplied media.

Caveat: This will not work for media that is simply cut and paste. While WordPress will translate appropriate media URLs into embeds, it does not pass anything more than the required `src` argument.

Full source code, as a WordPress plugin, can be found on Github. (Pull requests encouraged)

If I Had to do it All Again

As I sit here tonight, at a bar, typing on the WordPress app (which will undoubtedly make my fingers cramp typing long form), I’m thinking about my life. What has made me a man, a developer, a friend, and lover (I can even get in Oxford commas on the app!)

In exactly five hundred and fifty six days, I will be 40. FORTY!

I don’t look like an old man.

I don’t (usually) feel like an old man.

I don’t even behave like an old man.

Note: what follows may sound like I’m saying “Get off my lawn!”

Where were we? Oh yes, FORTY.

I just finished my first week on a new job. I’ve been doing WordPress stuff since 2004. I was learning PHP in 2000. I was developing coding chops in 1987 on an Apple IIc!

I’ve been married. Divorced. Had a kid. Owned a house. Chased the rabbit hole that is the American Dream™.

I’ve loved and I’ve lost. I’ve had dear friends pass away from cancer and heart attacks. I’ve watched national tragedy and personal tragedy, and even suffered my own.

My perspective has evolved. Sometimes willingly, sometimes not.

Take weekends and evenings. You may be single. You may not be. It doesn’t matter. Don’t work at all hours of the day and night. You’ll be less productive, because you’ll be less rested. You’ll also be better socially adjusted.

Get up early. Don’t sleep in until 11am. Your body wasn’t meant to do this. Don’t force it to. It will rebel. Related to this, and the last point, get to bed before midnight.

The man who cooks is the man who gets the woman. I’m happily involved, but my girlfriend and I both love to cook. And you know what? It got me ahead when I was single. No woman wants your idea for dinner at your place to be frozen dinners or delivery (there’s a time and place for delivery!).

Find passion that you aren’t aware of. Later in my adult life, I bought a camera and started learning how to shoot… How to visualize and see a photo. Do something, try something. Get outside your comfort zone and challenge yourself. Volunteer!

Always learn. When I started on WordPress, I was hungry. I was curious. I started learning the ins and outs. I admit that in more recent years, I’ve allowed myself to get comfortable. I’m working on some other interesting things that will stretch me even more. If you’re in tech, you have no choice but to move forward. If you don’t learn, you’ll be left behind.

Don’t take the world literally. Seriously, stop. I’m looking at you, political nerds. Stop parsing everything that politicians do. They do it because it’s politics and all the crazy is a vast, orchestrated act to get you worked up and supply them with power. Live your life. Change what you can and accept what you can’t.

Read. Everything. I’m not a book guy, but if you are, have at them. Spend less time on Facebook and Reddit and more time on sites with content that is written at a college level with an informed, intellectual audience. Read The Atlantic, Ars Technica and the huge variety of other excellent sources. Stretch your intellect.

You’re not right. At least some of the time. Give grace to others, even if you “know” you’re right.

That’s it! Or at least all I can think of after 14h of work and several beers. My hands aren’t even cramped!

Update: The dress is white and gold, you morons.

The Internet is About to Become WAY Faster

Earlier this week, the big news in the tech space surrounded the completion of the HTTP/2 Spec.

Gibberish, gibberish, gibberish.

What does this mean for the internet? The short version is: it’s about to become way faster.

Faster is extremely important if you want to make money from traffic to your site. Or, you know, if you use the internet at all. No one wants to wait for a website that just sits there and spins while it’s trying to load. We all hate that. And importantly, Google hates that.

Several years ago, Google invented and implemented the SPDY protocol. Simply, SPDY allows for the compression and efficient transmission of requests between browser and server. I’ll get into the technical details later, but for the sake of summarizing why the Internet is about to get faster… Google’s SPDY technology is the cornerstone of HTTP/2.

Now that the spec is finalized, it goes to editorial for cleanup and publishing… but the nuts and bolts of the spec will not change going forward. That means browsers and servers can start rolling out these changes as soon as… today.

Technical explanation

If you are not interested in the technical explanation for HTTP/2, please skip to the next section. I don’t want you falling asleep and drooling on your keyboard.

In the original days of the internet, there was the HTTP/1.0 spec. This spec defined how clients (browsers) and servers communicated over a network. We still use 1.0 quite a bit today, though 1.1 is the current preferred.

When it comes to HTTP, the concept is simple… a client requests a resource (image, html, mp3, whatever) from a server, the web server interprets the request, goes back into a storage closet, finds the resource, has the requestor sign for it and then sends the resource on it’s way back to the client. A simple understanding is….

BROWSER: “Hey, server… can I get that image named image.jpg? You should find it in this folder.”

SERVER: “Sure, let me go look. Oh, here it is. There you go”

BROWSER: “Thanks, dude”

If the server can’t find the image in the directory, it sends the client a 404 (Not Found), but that’s just a sidenote.

HTTP/1.0’s Problem

The problem with HTTP/1.0 however, was that it only allowed for a single request on a single connection to the server. To put it in another way, The web page has 10 images on it. In order to get those 10 images from the server, it would have to send 10 requests. That creates a lot of requests for the server and if the server wasn’t optimized for that kind of capacity, it could crash… or at least be in the weeds. It was bad all around for bandwidth as well. All of those requests add up to high bandwidth costs!

So God gave us HTTP/1.1.

HTTP/1.1’s Problem

Given this inherent problem with HTTP/1.0, HTTP/1.1 enhanced the original spec by adding the concept of pipelining. Imagine, if you will, a highway tunnel. Generally, there’s no passing in a tunnel. While HTTP/1.0 only allowed a single car through the tunnel at a time, HTTP/1.1 allowed multiple cars in the tunnel, but dictated no passing. And because the web server on the other end of the tunnel can only process requests as they come in, you end up with a stacked up queue of requests waiting to get processed and… you still have the same problem where the server gets in the weeds and slows down.

In both the case of 1.0 and 1.1, server technology evolved to allow concurrency of requests. This gave us multiple lanes in the tunnel, but 1.1 still dictated no passing. So requests in one lane, had to stay in that lane but there could be more than one lane which allowed us to bandaid the inherent weakness in the HTTP/1.x stack.

Enter HTTP/2

When Google started giving SEO benefits to sites based on speed, they also ate their own dog food and invented SPDY. SPDY allows for compression of resources in a much more efficient way if both server and client supported it. It also allowed for single requests to get many resources at a time. That page that had 10 images and had to make 10 requests for those 10 images could now make a single request to get all 10 images at once. Efficiency, I tell you.

As with any working group, the task force that put together HTTP/2 had representation from Google. Google, as a good citizen, shared it’s knowledge and spec for SPDY with the working group and it became the basis of HTTP/2. In fact, Google will now eliminate SPDY in favor of HTTP/2.

In fact, clients are supporting HTTP/2 now. Well, a lot of them are anyway… and that’s because of Google’s implementation of SPDY. Internet Explorer 11+, Firefox 36+, and Chrome all implement SPDY-HTTP/2 support, but none are currently enabled by default. Safari and Mobile Safari will likely soon get the support.

Most web servers also implement SPDY-HTTP/2 with the exception of lighttpd.

What does it mean to me?

The new HTTP spec is probably not anything you need to worry about at this point. System administrators will want to make sure their web servers are up to date and their TLS certificates are upgraded. Though the working group does not require HTTP/2 to use TLS, I’d expect most server manufacturer’s to require them in their own implementation… for security reasons.

On the client side, HTTP/1.1 still works. The working group was very careful to ensure backwards compatibility with prior versions of the spec. So if your browser makes a 1.1 request to a 2.0 server, the server will still answer in 1.1 with the same limitations I described above.

As developers, we will most likely want to use 2.0 when we can. The finalization of the spec is so new that it remains unclear what that means yet. For instance, what does this mean for the WordPress WP_Http class? Probably nothing in the short terms, but I’d expect enhancements to start rolling in as optional “toys” for developers.

Are you a developer or engineer? What are your thoughts on the new spec?

Public Enemy Number 1 for A Small Development Shop

Net-30, Net-45, Net-60.

If you’ve been working as a freelancer or run your own development shop, you’re familiar with these terms. They are the terms that many businesses leverage for paying invoices. They exist because of Accounts Payable.

Net-30, Net-45, Net-60.

If you’ve been working as a freelancer or run your own development shop, you’re familiar with these terms. They are the terms that many businesses leverage for paying invoices. They exist because of Accounts Payable.

What these terms mean is from the day you issue a client an invoice, they will pay it in 30, 45 or 60 days.

Seems normal, right?

For small businesses, one man shops, freelancer… this is hell dressed up as heaven for the client. You get to do the work and sometime in the future they pay you.

As a small business owner, you have much tighter margins than clients who are bigger organizations and let’s be really blunt… the system wasn’t built for you. It was built for them. They hold all the cards and you get to operate at their whim.

Sucky life and a sucky way to build a business, right?

It serves your client’s Accounts Payable department but it’s anti-competitive. Bigger organizations can go “at risk” and eat costs up front. You? You cannot. You have to pay your employees. You have to incur operating costs that should be paid for.

What’s more, many companies won’t pay for code until they receive it… and then Net-30, Net-45, Net-60.

In almost all cases, as an independent, I structure deals with a deposit (another thing other companies don’t want to pay) and with stipulation that code is delivered upon receipt of payment. It’s my insurance policy against clients who would run with my intellectual property (it’s happened quite a bit in the past!).

As an independent, I almost always reject Net-30, Net-45, Net-60 terms. It does not work for me, and if you’re an independent or a small business owner… it probably doesn’t work for you either. So stop playing that game. Just say no. They will stomp their feet. Sometimes you won’t get the business. But when you do get business, you will be paid promptly for the work you did and the playing field will be leveled.

Weekly Blog Post Challenge

Back in 2004, I, like many other people in the WordPress community began blogging. We didn’t, I don’t think, get into WordPress because we wanted to write code or build a career. We got into it because we wanted to write. Our natural talent and curiosity took over, however, and we began writing code.

At some point, I broke this blog apart into other blogs… a personal blog, a photoblog, a sports blog, etc. All of these are spread around and in various forms of repair or disrepair.

I have nearly 1k posts here, down from 2k a few years ago when I did a purge. But I’ve only written 12 since January of 2013. TWELVE. Sadly, life takes over and work takes over and, at least for me, the artificial silos of “this blog is for professional writing, this one is for personal writing” and so on has kept me from deciding… I want to write again.

As Twitter became ubiquitous, most of my professional interactions began happening over there. Instead of my photoblog, I’ve leaned more on Flickr and Instagram. All of this has left my blogging in a sad state of disrepair.

My friends and colleagues, Brad Williams and Dre Armeda, have realized that they really want to get back to what they love doing and that’s writing more. Brad has committed to writing 100 posts in 2018 (a goal that is ludicrous for me).

Dre has begun a Facebook group (feel free to join if you plan on joining us in this exercise!) where members can encourage each other and share their content. Not everyone is committing to 100 posts. For me, I’m committing to one post per week.

I suppose now is a good time to explain that the invite to join me in this exercise does not mean you have to write about WordPress, or for that matter, any topic whatsoever. If you want to pick a topic (law, science, dating, oncology!!!), feel free. Or talk about any multitude of topics. But the exercise is more about the therapeutic exercise of writing and not so much about what you’re writing about. And it’s to give you (and me!) peers to keep us going forward.

This does count as the first post of this new commitment. I’ll have another one next week.

As part of this whole reboot, personally, I plan to consolidate my various blogs into this one. Since my online name is technosailor, it seems appropriate that technosailor.com should be the hub for everything else.

I’ll also be building a new theme that will accommodate all of this merged content and, frankly, WordPress has come far enough since I was blogging regularly, that it’s completely likely I can leverage new forms of content that I didn’t have access to before.

Anyways, I’m off track. Please do join me in this experiment. It will be fun!

My process for Photography Production

I’ve shared a lot of my photography via social networks – Twitter, Facebook, Instagram and Flickr. It’s generally unlike other photography that you may see around the web. I generally don’t shoot people, unless the people are part of a greater narrative or scene. Never as the object of focus in the scene. I also have embraced the surreal… more commonly known as High Dynamic Range (or HDR) photography. You either love it or you hate it. You can see some of those on Flickr.

Last night, I was showing this picture to a friend who exclaimed, “How the hell do you do this?”… and while he is no photographer, I have had that question enough to answer that question here. Take this as a tutorial.

HDR Beach Rainbow-small

I will take you through the steps of processing a photo using my workflow. Photography is an art, though, and while the steps I use achieve the aesthetics I am comfortable with, you should absolutely tinker and play. You never get any better if you don’t. And obviously, know your camera… know how to see a shot. Composition is important and I don’t think it can really be taught… it’s an innate sense that you get simply by using your camera and practicing!

Camera

Obviously, you have to start with a camera. In the photo I am processing here, I am shooting with a Canon T5i and an EF 28-135mm f/3.6L lens. I’m shooting in Aperture priority mode with autofocus turned on. What this means, in laymans terms, is that I have a wide lens (28-135mm… it’s a zoom but the lower the number, the wider the field of view), with a middle of the road aperture (aperture is how wide your lens opens up when you snap a photo… the lower the number, the more light and the less depth of field). It’s also important to shoot RAW, as RAW captures much more image data than JPEG and allows for manipulation in software like Lightrooom.

Note: Shutter Speed is how fast the shutter opens and is, as it sounds, a time thing. Aperture is how wide your shutter opens… the wider (or lower number), the more light and the shallower the depth of field is brought in. ISO is your light sensitivity. Use this in combination with Aperture to enhance the exposure of light. A lower ISO means more exposure. A higher number represents less exposure (and more noise…. fine grained splotchiness… in the image). They are all important to know and use appropriately.

This is the photo of my fur kid on Christmas Day. We will be developing this.
1-2

Lightroom Processing

I import all my photos into Lightroom. Once I’m there, I have access to all kinds of non-destructive settings and if I shoot RAW (which I do), all the visual data, including visual information you can’t see… shadows, highlights… they are all there waiting to be drawn out.

In Lightroom, I have a few steps. I want to setup my key image (the image that we’ll do all other processing from, with the enhancements I’d like. In Lightroom, visit the Develop tab and work from the top of your toolbox to the bottom. The toolbox is on the right.
2
The initial list of settings I make on this photograph (and usually the settings I tinker with) are as such:

  • Contrast: +40
  • Highlights: +20
  • Shadows: +89
  • Whites: +30
  • Blacks: No change
  • Luminence: 86 – Luminence is important for noise reduction. See this great article on noise reduction

NOTE: DO NOT CHANGE EXPOSURE DURING THIS STEP

Exposure is saved for the next step. Technically, HDR is a style of photography that superimposes several images of different exposures over each other. You can do this with a camera if you have a tripod and the scene does not change between snapping photos and adjusting camera exposures. This is not practical in an action shot or where there is any movement. It’s easier to take one exposure and copy it and apply your exposure changes.

In the next step, I right click on the image in the filmstrip (bottom of the Lightroom view) and choose “Create Virtual Copy”. I do that twice so, at the end, I have three equal images. I leave the original alone and adjust the second image exposure level to +2. For the third, I set it to -2. Now I have three exact photos with 3 different exposure levels. If you do adjust your exposure in the first image, then do the math to make exposure 2 as +2 from that number and the third as -2 from the original.

For example, if you modify the exposure in the original to +.50 and then create two virtual copies, your second copy should be +2.50 and the third should be -1.50.

Export these photos to somewhere you can find them.

Photomatix

Now, open Photomatix! Click on “Load Bracketed Photos” and find your three exposure-doctored photos.
3

Make sure that your exposure brackets are set correctly.
4

After clicking “Ok”, you can modify the settings as necessary, but I typically leave them alone. When finished, click “Align and merge to HDR”. If you shoot three (or more) photos from your camera, there is a chance that the three images are slightly unaligned. Photomatix tries to fix this. Because I use one exposure and enhance the exposure on copies, this is mainly unnecessary.

Photomatix will apply your images on top of each other and will smartly attempt to find the best aspects of each to show and enhance. Photomatix comes with boatloads of presets and you can find more in abundance on the internet. I use Trey’s, but often tweak his presets myself using the toolbar on the left.

Once you find the settings you like, click the “Apply” button…
5

Save it and open it up in an application like Photograph to apply a very small crop to remove the white space that always exists as an orphan of this process.
6

Once you’ve done this, you’re done. I do other things such as making smaller sizes for the web. I also use Lightroom’s Watermark feature on export to apply my signature. Combat stealing anywhere I can. Photography, however, is an art. Find your art and your expression. Use these tools or others. There’s no right way to do anything, outside of fundamentals. Experiment and have fun!

Here’s the final product!

HDR Fender

Depression:What it Means

As everyone has most likely heard now, Robin Williams has died. Police have now come out and said he hung himself.

Not too long ago, Phillip Seymour Hoffman overdosed on a cocktail of heroin, cocaine and amphetamine, used to treat ADHD. That overdose resulted in his untimely death.

These incidents, naturally, shake our culture to it’s core. Both deaths came as a surprise to most, but they shouldn’t have. Both had a history of substance abuse in conjunction with severe depression.

Depression is not a feeling. It is a chemical and medical condition. It is, in fact, an illness. It also carries a stigma.

In a separate set of circumstances in relation to alcoholism, a person pointed out to me that when you go to the hospital with chest pains, and it is determined that you have a coronary, no one is lining up at the door to tell that person that the person has done something wrong or that they have to clean up their act. Yet with alcoholism (and depression), everyone seems to be an expert.

It’s no wonder that these cases go untreated and that the person suffering feels the need to contain their symptoms.

I know. I deal with constant depression.

Let me explain that more, because some reading this will automatically think that makes me suicidal. I want to be clear what depression is and what it is not. Robin Williams passing has, as Phillip Seymour Hoffman’s overdose did, created an atmosphere, if only briefly, where our society looks within itself to try to understand. This, unfortunately, will pass within a week or so. That’s why this article, and others like it right now, are critical. They help us understand. Hopefully, it compels us to action. Hopefully, it captures our imagination and makes us a better society.

Depression can be crippling. There have been days where I have sat frozen, unable to move… unable to decide… unable to take any action. It’s terrifying. This is not most days, but it is some.

It is often bi-polar… the term, itself carrying a stigma that is unfair. In one moment, you live in a euphoric moment (without substances!). Nothing can stop you. You’re on top of the world. You are the victor. In the next moment, you are a scared child, huddling in your home, unable to move or talk to other people. You are grouchy and removed. When your significant other asks what you’re thinking for dinner, you can’t answer or even think.

On your best day, you are truly at your best. You’re the class clown or the creative genius. Your mind doesn’t stop. You are constantly evaluating your life, your friends, your life and what you want to achieve. At your worst, you feel unsafe, insecure, scared, paralyzed.

Traditional approaches, when your friend is suffering, is to tell them to suck it up. As if that’s a mechanical task that can somehow be done without mental interaction. As if it’s a light switch to simply be flipped. You see, when you are not paralyzed with this illness, you are not confined to the chains that bind us. In other words, it’s easier said than done.

That’s not your fault. You just don’t understand.

Some of the greatest minds in history, not to mention many of the not-so-great minds, have suffered with depression. Some mild. Many severe. In most cases, depression is not something that is dealt with every waking hour of every day. Often, someone who is depressed can go days, weeks or even months without any manifestation. Others can’t get out of bed.

Ludwig Boltzmann is a name you may not have heard of, but in the middle and later part of the 1800s, this man was peddling controversial scientific ideas that we know to be true today. For instance, he was the guy who pushed the idea that molecules, the smallest building block of the universe known to scientists of the day, were actually made of smaller building blocks – atoms. His work in the area of mass and atomic mechanics paved the way for some of the greatest inventions and advances in human history.

Some of his ideas, of course, are not proven and remain controversial. One of these was the idea that, like a deck of cards sufficiently shuffled enough times, the probability of the deck returning to it’s ordered state exists. This flies in the face of the accepted 2nd Law of Thermodynamics which states, in summary, that entropy is the process of every matter dissolving over time into disorder.

He hung himself on September 5, 1906 after a lifetime of combat with fellow physicists and mathematicians. He suffered from bipolar disorder.

The point of this? Throughout our society, people who are top of their game, who live in the spotlight, who invent things, make things… or don’t… they are great family people, they volunteer at their local church, they spend weekends coaching little league… these are the unseen victims in our midst that no one knows about because… we as a society have told them they can’t be vulnerable, they can’t ask for help, and they cannot be weak.

This is especially true for men, in regards to the last part. We, as men, are taught from a very early age that there is no room for weakness. There is no room for vulnerability. There is no reason why we, as men, should ever rely or ask for help from anyone else.

I am a testament to this.

Please don’t let me, or people like me, go. Don’t ignore us. Don’t assume we’re okay. Text us. Call us. Drag us by our collars and make us sit down at a ballgame, at a restaurant (avoid the bars!) or in another way. Give us the human connection we need but we won’t ask for. Help us. Don’t let us be a victim.

I’m okay talking about this because I’ve reached a point in my life where being vulnerable is something that is difficult, but I can do. I have people around me that I know care about me. When I suffer my depressive episodes, I am exactly as I described earlier. I feel lonely and am withdrawn. I hide (which is hard to do when you live with someone!). I get off the interwebz. I can’t focus. When I’m not, I’m engaged. My wit is sharp. My social acumen is excellent.

Learn the patterns of the people around you and, to quote the TSA, if you see something, say something. Don’t be rude. Don’t be aggressive. Help your friend, your wife, your husband, you friend find their way.

And of course, there are resources for those in need, including the National Suicide Prevention Lifeline in the United States is 1-800-273-8255.