Community, Maslow & Boundaries

by Jesse Noller in ,


In my last post I opened up a fair amount of personal "stuff" much like one of those superfund sites "opens up". I meant it as a start to unwindind the good, the bad and the ugly I see in myself, what happened and moreso, what I mentor and guide people now to avoid.

I promised to unpack, bit by bit individual components of things so this is the start.

Community

First up, by way of an apology, my last post didn't make it clear that I don't blame a/the communities I am and have been involved in for what happened. Communities are what they are - they are tribes of semi-like minded people grouped around a thing.

In tech, these tribes tend toward stasis - this means if you're "trying to fight the good fight" (whatever that may mean) you spend the majority of your time well, fighting.

I like to think I "won" some of the fights to make "my" corner of the world a better place. Except I made the same error I have made, time and again, in my life.

I didn't pick what fights to fight.

Let me be clear - without my involvement in the Python/PyCon/PSF community, activity on twitter, hacker news, et al my career and "me" would not be where it is. A lot of people (shockingly) look up to me. Hence me publicly admitting that I fucked up.

If I had not gotten involved, fought for what I did, did what I did I would not have:

  • A network of friends, albeit distant and not "tangible" spanning the globe.
  • The career/position I have now: or have come to the realization that I deeply and truly believe in being a leader of people (not a "manager" - more on that another time).
  • Would not have had the support through some truly dark times (see: "the impossibility of it's going to be ok")
  • Would not have had the sheer plethora of opportunities I have had, and continue to have.
  • Would not have the breadth of knowledge I have today

So I have a lot to thank many of you for - Jacob, Alex, Guido, Van, Jessica, and many others. Many people reached out to me and told me I was a mentor or inspiration to them after my last post; let me be clear - each person I have interacted with has been a mentor to me.

Yes - I have a lot to thank a lot of people for. But I can take a step back and admit that "fighting large scale fights of philosophy, politics and human motivation" is a sinkhole. Unless you have good personal boundaries and a clear objective for success (e.g. desired outcome) you will find yourself crashing upon the rocks of stasis and status quo while ignoring things that are more important.

We work in a society that raises up "rockstars" - be they creators of tools, languages, codes of conduct, etc. In a work/business context they are known as "leaders". We place them on some higher plane for being able to be the outspoken, passionate ones filled with an unflinching belief of what's right. This is normal human behavior - there have been many posts written about cults of personality, etc but the simple fact is this is normal human psychology.

So no, without the communities I still love, I would not have what I have. Where I fucked up is not having boundaries. Not saying "not my circus, not my monkeys". Not closing my email or delegating more in the community and focusing on work, family, friendships.

We have a word for that: addiction.

Masl-OH!

As somewhat of a sociology geek; I can see patterns in behaviors of groups and people (including intrinsic and extrinsic motivations. But it's really simple:

Maslow-yo

Yeah I just cited Maslow. 10 points to griffindor. You should already understand what this is. Where communities - online tribes, social media, etc come in, at least in my case is that:

  1. Prior to heavy involvement, I was stuck somewhere in the bottom.
  2. While having personal relationships (e.g. a mate) helped "move up the stack" the allure of triabalism is that it's like mainlining the top 3 layers.

When you take someone (me) who, from a very early age was on the career obsessed track (bottom layer), to the negation of fulfilling this set of needs through somewhat normal means, finding a tribe with open and welcoming arms who wants/needs help, who is friendly, who don't judge you (well...) is a bit like a drug addict finding an infinite fast way to get high all the time.

Online tribes, the communities I got involved in were my way of "moving up" this heirarchy of needs. I felt needed, I felt like I had social belonging, friends. I had acceptance.

Those mental reinforcements, that addiction to the "fast path" still maintain within me today. Except now I'm trying to focused on doing it right, vs doing it "fast". But you should be able to see the same patterns within yourself, if, like me, you have your tribe that reinforces your self-actualization.

I mention this because, quite simply, we, as humans confuse intrinsic motivation and extrinsic motivations dangerously easy. Whether its our tribes or our job, it's easily to blur (see: overjustification) "I am doing this for me and my self satisfaction" and "I am doing this because I will get cheese at the end of this and they need it from me".

And that's the mental trap I fell into. The dopamine highs of arguing endlessly on the internet, of running a conference, of being "loved" were so strong they overrode "real life".

I did that. Not you.

There aren't any easy answers - from a comment this week when Hacker News picked up my last post (comment, mine):

Factor in the following: my ex and I are still best friends and confidants. As we went through this little slice of hell, what was best for our kids above what was best for us was top of mind.

Now, factor in the following: I've learned - the hard way - that investing yourself into certain things can net you things you didn't have. For example, without dumping all into the community, I wouldn't be where I am in my career, and I would not have discovered things about what I want to do in that career.

Now factor in what I described is the sign of an extremely obsessive, insecure, and potentially depressed personality with no actual definition of "self" outside of community, work, and kids. Literally - now that I've set boundaries I'm busy looking around saying "Uh. Shit. Who am I?"

Now factor in the strict clinical definition of what you go through in a divorce - it's akin to significant loss (e.g a death in the family). You go through (as I am) many stages of that including grief, depression, etc. I'm somewhere in the no man's land without an end in sight just as of yet.

Now factor in the severe anxiety and depression that comes with all of that. Yes - I could quit my job and move just to be near my girls. However not being physically or mentally fit outside of my definition of self in my career I would be throwing myself into a position of not "not moving on my own terms".

Think of it like this: I agreed, with my ex, that this would be the best course of action for now. Just up and moving wouldn't solve the root cause of why we separated, it would just solve one aspect of "me". This would result in a probable mis-directed resentment on my part towards my ex, my children and others.

Therefore, while given the information you gleaned you may be correct albeit callous, you are right that there are many more factors in a situation like this to be taken into account.

Net-net - mental health is hard. Recovery is hard - you can't tell a depressed person to "just don't be sad" and you can tell a person with an addiction (such as I've gone through) to just "give it up" without a goal, or a process by which to solve the root cause.

I fell into a trap - no sense of "self" - no sense of belonging. Few friends but having the gift of being able to empathize wholly with people (but not being able to shut that off; their desires became mine). I saw the warning signs; for example this quote from "On Family, Cranking and Changing":

As I've worked to improve my awareness of this - I've noticed how bad I've been/gotten. This is why "Cranking" hit me so hard. My ability to balance my time and attention effectively, while also spending it on the things that matter most has been grossly out of alignment. My iPhone has been a surgical attachment - I reply almost in real time to email work, or non-work related. When I should be sitting on the couch comforting my wife, or watching a movie (even though we've seen Tinkerbell 900 times) with my daughter, I'm sitting on my laptop turning a crank of some sort (for what it's worth - I'm writing this while my wife and daughter are sleeping). Instead of focusing on them, though I love them dearly, I would do anything for them, I'm turning cranks

Addiction to ambition, to belonging, to cranking is a thing.

Boundaries

So, what have I gotten to learn the hard way? A lot. Too much if you ask me when it's Sunday night at 9pm and crushing lonliness grabs my chest and I lie in the dark crying (hey, dudes, it's ok to cry ok?).

I learned too little, too late that boundaries really matter, and unless you set them, recognize addiction and motivations for what they are (with help) you're going to have a real bad time.

What have I done to fix this over the past two years?

  • I set strict do not disturb rules on my devices that silence them at 6pm, every night.
  • I don't work - unless absolutely nessecary - on the weekends.
  • I made peace about arguing on the internet; it's not worth it, it's not rewarding.
  • I am seeing therapists.
  • When I am with my girls I shut everything off. I don't multitask.
  • I mentor the people around me, and the people I lead not to make the same mistakes I did.
  • I encourage people to walk away, spend time with their families. If I catch them online I ask "hows the kid/wife/husband/spouse" vs "what are you working on".
  • I try to reward myself reasonably and rationally.

That said, I'm still incredibly insecure. I'm still terrified of the world in many ways. I've spent over a decade defined by my job, my family, my tribe that now that I'm compartmentalized away from it all saying hi to someone in a coffee shop is like asking me to eat live spiders.

I love my daughters. I love my team/job. I know that. The jury is out on whether I can crawl back of Maslow's stupid pyramid and love myself.

By way of closing this monster of a post out, I'm going to apologize in advance to XKCD for doing this (and if Randall asks me to take it down, I will) but I think it may provide some much needed context for you, and me.

For example, this is one of those seminal comics from XKCD:

Internet

LOL RITE? You say. You just spent like, 10 hours arguing about a patch, or some theory about distributed systems and someone is wrong! LOLOLOLOLOLOL.

Here. Let me fix that for you:

oops

Suddenly, it's not funny. In fact replace "come read me a book" with your wife asking you to come hold the baby. Replace it with your boss asking you to "be at work and not arguing on the internet". Replace it with a friend asking you to come have coffee in meatspace.

Replace it with reading Dr. Seuss to a four year old who thinks you're god.

It's not funny now, is it?


The Standing Desk Experiment, 5 Months in.

by jesse in , , ,


My original standing desk post - "Switching to a Standing Desk" has garnered a lot of attention - and a lot of questions. I've also seen a rise in the number of people trying out standing setups due to that post and the near onslaught of new articles and people converting to a standing setups in the months since. It seems to be quite the trend now. More studies have been coming out citing that sitting as long as we (programmers, writers, etc) do is fundamentally harmful - for me, switching to standing was less driven by those facts, than needing a change - leg pain, back pain - I needed something more. I sit enough throughout a normal day.

Studies and articles:

I figured since I'm rapidly approaching 6 months into the "experiment" - I should post a followup along with my current thoughts as well as even more information on how to setup your own rig, new studies, and other articles that have come up.

My original setup was a bit of a rig: I stole (borrowed) a table from one of the kitchens in our building and hacked together something that while serviceable, had a few obvious problems - the key one being it was wobbly (I'm not a light typist). Wobbly, while annoying, was still tolerable and preferable to the back pain, lethargy and other things that drove me to try it out in the first place. Other problems included not being at the optimal arm-height (it was close) and well - lack of desk space.

Several months ago, I was lucky enough to have my employer (Nasuni) notice my experiment and we made a deal - if I stuck to the rig for a month, and still wanted to stand, they would get me an official standing desk. I exceeded the goal a bit - not only did I stand at the setup for a month - I completely ditched sitting the first week. I haven't sat in a chair in my cube since I started standing months ago. So work pitched in and got me a GeekDesk 2.0 - victory!

Here's the "perfect" setup:

IMG 2784

The transition itself from sitting to standing was pretty easy for me - given the number of changes I've made in the past year in terms of weight loss, exercise, etc at this point I'm probably in the best physical condition I have been in my entire life. So ultimately I didn't have many of the transition issues people sometimes cite (foot / leg pain, tiredness, etc) with moving to a standing desk.

The minor issues I had mainly revolved around:

  • Feet: I had to find a non-bulky, well made pair of shoes. In my case, I started wearing New Balance Minimus Trail style "minimalist" shoes - they're form fitting (meaning no socks) and have almost no sole to them. Additionally, I had already picked up a good comfort mat to stand on - that way I had something more giving than the carpet covered concrete.
  • Getting things at the right height: I chose the Geekdesk because it's got hydraulic legs that allow you to set a perfect height - one where your elbows are at a 90 degree angle when your hands are resting on the keyboard, or slightly lower than that. This, plus my standard Microsoft Ergo keyboard means my typing posture is probably the best that it's ever been. Additionally, while I have a height adjustable monitor - I used an additional monitor stand to get my monitor position at roughly eye level (I prefer the horizontal center of the monitor to be slightly below eye level - use what's comfortable). This way I'm not looking down/tilting my head an extreme amount, in most cases I'm only looking slightly down.
  • Switching positions: When we hack/get involved in something we all have a tendency to hold dead still except for our hands - instinctually even though I was standing, I would sometimes find myself standing rigid, feet shoulder width apart with my back straight. While fundamentally not bad this can just cause your body to get tired/sore/whatever. I had to start letting my more rational brain allow my body to move, force yourself to gently shift your position. In my case I've even found myself dancing to music slightly, even when deep in coding or writing because my body now knows it can move freely.
    • I've actually found myself standing with one leg bent and my foot against the inside of the opposite knee. This means standing on one foot - I didn't notice it until someone asked me if I was doing yoga in my cube. Between this and the dancing at my desk, I think the weird-o-meter is maxed out.
  • Allowing myself a break: I set boundaries for myself - I'm no superhuman and genetic aberration. My body needs rest. My agreement with myself was this - if I stand during work sessions, I will sit during lunch and take an afternoon break of 15 minutes and sit, have a snack, something. This way I give my body a chance to relax.

Nothing groundbreaking, really. Allow yourself to move/change positions (my default is back straight, feet shoulder width apart, knees slightly bent) - get something nice to stand on / some good shoes and set expectations. Revolutionary science and advice, I know.

After just a few weeks I noticed a change - I had more energy, I felt more active and alive, I breathed better (not hunched), I was actually calmer, more reflective and able to focus when needed. My body felt great - my legs felt stronger, my back a thousand times better, my neck better, etc. I've had all the upsides and few downsides. I lost more weight/gained more muscle in my legs and back - good times!

I will say that people get confused - people walking by, when they see a programmer/hacker hunched over a keyboard in a chair, deep in thought see a giant "do not disturb" sign. When you're standing, hacking away deep in thought people tend to have the instinct that you're more approachable. And they like to pop in for a quick chat. Nothing bad in and of itself - a break never hurt anyone. But coworkers who don't notice your earbuds in your ears might get confused when they have an entire conversation with someone who is completely checked out, standing there.

No, I'm not being rude. While I do do yoga, I have not quite reached the level of being able to sense a disturbance in the force.

Approachability works both ways though: I find myself more approachable/less hostile to people dropping in to talk. I'm more relaxed, less aggressive and ultimately more at ease when someone interrupts me, or catches me in between things to talk. I enjoy white boarding with them more, I don't spin around in my chair and snarl at them because I was elbow deep in an epic yak shaving. I just take a breath, turn around and start talking.

I feel more refreshed; and switching "into work" and "out of work" (meaning, in and out of a task) is easier/more approachable. My body feels better - so much better that sitting actually feels awkward to me. Ask my wife, any time I work at home I whine because I end up sitting. Sitting has become something I do when I want to relax, or because I have to - not something I do automatically. Not to mention, you simply burn more calories standing than sitting still. It will help you pay down that debt you had for lunch!

Don't get me wrong - I like kicking up my legs with my laptop in my lap, and beating away on my keyboard. It's just those times are different now - almost more special and valuable to me rather than the default-of-lethargy that I had before sitting all the time. I can say sitting here on a plane typing this may quickly drive me insane however.

My two second review of the Geekdesk? It's awesome - it's the perfect height, and it can carry enough weight my four year old can ride it like something at a carnival. I've stacked my mac pro/books/etc on it and the hydraulic legs don't even flinch. I can set it at any height, or drop it down to sit (although I never have). It's well build, sturdy, and had a little cable runner thing attached to the bottom of the desk where I can squirrel cables away (but as you can see in the picture - I'm much to lazy for that). The desk space is enough for me to have my notebook to one side and my laptop to the other and keyboard on the center with room to spare. It really is great.

That said - is the Geekdesk for everyone? Yes!

Is it prohibitively expensive, hence why I don't have one at home right now? Also yes!

Most people (myself included) can't find it in our budgets to finance something like this - heck, it's the same thing with good chairs - they run serious cash. Most people will look to put together a more economical solution. In most cases, you can avoid building something yourself if you live anywhere close to an Ikea - the cheapest option I've found for something that comes close to a basic set of specs:

  • Decent amount of desk space
  • Doesn't look like crap
  • Can have the main work area set to the optimal height

Is the Ikea Fredrik desk - this used to be called the "Galant" desk, and its setup allows you to put together a standing rig approaching a rational price for your home. It's also ok for proposing to bosses who would beat you with a rolled up newspaper if you suggested spending 800$ on an ergonomic desk (although - why are you working for someone like that, Stockholm Syndrome?).

The Fredrick is the best option I've found that's "off the shelf" - there are plenty of plans out there that describe how to build one - and I applaud those who have the wood working skills needed. Here are some of the various plans and pre built desks floating around out there that I cite when asked:

Otherwise, if you're stuck in a cube or office where you can't chuck the existing decor for something more civilized (meaning, it's bolted to the walls or the cube farm would collapse like a hobo village built out of cardboard boxes if you removed your L shaped cube desk) here's a set of the best "hacks"  or attachments I've seen (feel free to share your own:

Now - remember, even if your stuck in a cube in most cases, the height of the main desk area can be changed/raised - you just need an office manager willing to listen. Most desks in cubes can easily be moved lower, or higher depending on needs. Sometimes you may have to get rid of your shelves - but what do you put there other than pretzels and books you don't read? Stability, stability, stability!

For the home? I'd start trolling craigslist for podiums or lecterns if you aren't good with tools or you lack an Ikea. Or, if you can forgo aesthetics you can go the home-depot-cinderblock route. This is the easiest if you just want to experiment. Just measure what height your current desk is, then measure the height from your bent-90-degrees and standing on a comfortable mat elbows to the floor. Subtract the height of your current desk and either go to Lowes or Home Depot and buy cinderblocks and a piece of nice, sanded and pre-finished or stained hardwood to stack on top of your current desk to raise your keyboard, mouse and monitor to the needed heights, or just buy the same to place under your desk legs to move it up.

In the latter case, if you have a desk with a keyboard tray, this works in your favor as you can get the keyboard at the 90 degree angle and give your monitor a quick boost. Cinderblocks or bricks, while not looking cool, are obviously sturdy and stable. Of course, if you have a glass-topped desk at home (as I do) I would recommend against putting it on top.

Me at my setup recently:

Jesse Aug 25 11  7 of 11

Fundamentally, it's just a matter of getting your hands and eyes at the right heights while standing. Everything else is aesthetics and noise. Switching has helped me immensely and for the better. Will I never be a "a sitter" again? Never say never. I will say that it's definitely not for everyone, and while I might sound like a card carrying cultist - even I realize it's a tough thing to swallow for most hackers.

As for the now notorious study that came out recently that stated that you would suddenly develop varicose veins and die if you stood all day? The data the researchers cited disagrees with them (take a look at the hacker news thread). While I don't disagree with the fundamental message: move regularly, stupid - I don't agree with the breathless results and reporting and age-old rehashing of "perfect keyboard angle and age old ergonomics". No one listens to ergonomics experts anyway, and most companies put +ignore on basic ergonomics. Standing while you work is a perfectly good way to improve yourself in a variety of ways, not just improving how long you can sit staring at a screen all day.

Try standing - seriously. It may not be for you, but you might be surprised. I didn't think I'd be doing yoga, didn't think I'd be standing at a desk, didn't think I'd be a dad, eating Paleo/Keto and listening to heavy metal. Sometimes a change or trying something out that seems crazy or daunting is just what you need.

Other good standing desk reads:


Python Debugging; Embarrassment, Contracts and Nothing is private

by jesse in , , ,


Random links

(photo courtesy of Sean MacEntee via flickr)

Some interesting bits and pieces (leftovers) from the weekend - I have a tendency to queue up a pile of "read later" stuff or emailing myself a pile of things to talk about/link to/etc. Sometimes, I actually get to go through it all. Today - I get to share it to!

First up - Michael Foord (fuzzyman) did two excellent posts - the first is on privacy in Python - not big-P privacy, but rather the programming/object privacy. It's a good read because it reenforces the point that even if you think you're being clever and hiding something in a closure to make it private, you can still get access to it. Remember too - dunders (__foo) are just name-mangling. In Python, nothing is private (insert bad tasting joke about Python being facebook here).

Michael's second post is on the NamedTuple kerfluffle that was stirred up Kristjan Valur's post on the use of exec() and namedtuple (short version: namedtuple creates a string defining the class and then calls exec to create the object. I think Michael is spot on - I think exec() gets a bad rap frankly, sure - it's something of a hand-grenade, if you use it wrong, you're going to get hurt, but in this case I have to agree with Raymond in his comment on bug 3974 - the current implementation is clear and maintainable. I don't like the sternness of the reply - but he is right. Kristjan's use-case is an interesting one, but I don't think it's one that warrants the removal of the existing implementation. I'm wondering if a "fallback if exec doesn't exist" is worth inclusion.

Then again, I've spoken to people who refuse to use namedtuples because they now know how the sausage is made. I still think the sausage is delicious.

Next is a pretty interesting discussion on a presentation that came out of Pixar on getting over embarrassment in order to get things done - I don't have much to add above the comments on hacker news, except to say I think the same mental blocks they talk about for animators apply to programmers, writers, etc. We hide from code reviews, we hide our writing until we think it's "Pitch Perfect" - when in reality, we shouldn't. We should be sharing, discussing and collaborating earlier, more frequently and more often.

Share and Ship early and often - see also "Don't Go Dark".

Finally, I was happy to see the "Quick and Easy Debugging in Python" post from Jeet Sukumaran - it's always nice to evolve past sprinkling print fairy dust all over your code for debugging - even if we all still do it despite knowing or using PDB. Just to add to his post, if you want to increase your PDB-Fu, I recommend this "Debugging in Python" post by Steve Ferg, and the official documentation for PDB. We should really add a HOWTO for this.

p.s. For additional good-reading, check out "Priorities Don't Exist in a Vacuum" and "First Care"- while not germane to what's I've already written about, they're a good essays on priorities. Thanks to the latest "Back to Work" podcast.