24 stories

depression creeps up sometimes

1 Share

So a week or two ago I realized I was getting very, perhaps dangerously depressed. I don’t have a clinical diagnosis but I have had enough experience with this (through others; my wife certainly) to know what’s going on. But it still creeps up because even though you know what it is, you would really prefer it wasn’t. So it kind of creeps up in plain sight.

One of the big signs, which I should watch closer, but then I was watching it and I knew it was going on, so wtf, was playing World of Warcraft fairly obsessively. Interrupting work, interrupting my household duties, and so on. Another was stealing hours to myself by staying up way too late after chores and WoW were done.

What WoW was giving me was twofold. First of course it gave me a fairly inert way to spend time that didn’t seem inert. It’s not like watching cartoon since you have to make decisions, but at the endgame you are mostly doing the same thing over and over (trying to make gold in time-tested ways) so that you can afford to buy the consumables necessary to do another same thing over and over (raid giant dungeons, but basically the same three dungeons you’ve seen a hundred times already).

The other hole it was filling was social: I was playing with a lot of awesome people, new friends, and was having a wonderful time with them socially. So much fun that I did what I usually do in that situation and find a leadership role with lots of responsibilities and new pressures. This initially helps my depression (purpose, respect) but in short order become another one of the feedback loops that keeps me doing something I don’t really want to do.

This is all, however reinforcing, still symptomatic. I was depressed. I was not enjoying my life but rather desperately trying to find ways to fill a hole that can’t really be filled. I was skipping tabletop game sessions because my chores were backing up and the thought of being creative (which WoW is certainly not) with people I love and respect was just too much pressure, too much expectation, too much work. I couldn’t handle it.

At some point someone announced they were withdrawing from the guild in our WoW game and that gave me permission to do the same. So I did a few things:

  • I quit the officer role in our guild (dumping responsibility)
  • I quit playing WoW (dumping the pressure to use time on something essentially useless)
  • I bought an air pistol (because I like them)
  • I set up a gun range upstairs and shot the shit out of some targets

So the first two are obvious. The second two maybe less so.

Retail therapy works. And I had my eye on something I could afford and had always wanted for a long time. Buying it let me congratulate myself with something concrete. I felt some measure of relief just making the purchase. I can afford it. It’s probably stupid. But the heart wants what the heart wants.

The gun range is a little more complex.

lugerI am not a gun person in one sense: I don’t own real firearms, I don’t want to own real firearms, I don’t want to ever shoot at anyone even in self defense. I am, however, fascinated by the mechanical engineering of handguns. Just handguns — I don’t really care about long arms. This has long been the case with me — as a kid I owned models of real handguns with working action and realistic disassembly procedures. And I’ve always been amazed at how many auto-loading firearms are basically just held together with spring tension. They enclose and utilize an explosive force to engage a mechanical action that reloads and re-cocks the weapon and yet they are held together by almost nothing. Push a bit here, flip a lever, and they come apart.

Maybe you need to hang with engineers to find that fascinating.

So what I bought was an airgun that is a replica of a Walther P-08 Luger that uses the CO2 gas pressure for both firing the BB and working the action just like the real firearm to reload and recock. And that was the model I had as a kid. So now I had it in metal, with weight, and it did in fact disassemble just like I remember. 40 years later I can trivially break it down and put it back together. But this one shoots and so I get to enjoy the feel of that action jumping up while shooting.

Shooting is tremendous fun, even if it’s just a gas BB gun. And I presume this fun is chemically represented somehow since I genuinely feel it. Endorphins, whatever, I’m no chemist, but it made me feel great. And while initially it felt weird to shoot down the hall into the bath/shower stall through the old shower curtain (which I bought a replacement for a few weeks ago), it was safe (shower curtain provides a great capture for a plastic BB and no danger to the tile) and it was long enough to be fun (5 or 6 meters) and god damn I had a good time.

Now I feel much better. I am still coping with reduced social contact thanks to the Virus, but I am coping better. I don’t know whether changing my behaviour broke the depression or a natural subsidence of the depression allowed me to shuck the (rather destructive) immersion in a game. But it doesn’t matter. I was worried that since WoW ate up all my time I wouldn’t know what to do with myself. This was bullshit of course since there are a million things around the house that need doing because I was tending to WoW instead of the house. So after destroying the shower curtains I started cleaning the kitchen, clipping the cats’ claws, hurling garbage (an old shower curtain amongst it)…you know, the stuff you’re supposed to do in life. That is, not farming Dreamfoil and Arcane Crystals.

First thing I’ll do once things get a little more normal is seek out a club where I can shoot with other nerds. Outside. With people.

Did I break my depression or did I respond to its natural departure? I dunno. I’m going to go shoot up the bathtub.

Read the whole story
Share this story

a sand dogs actual play vignette

1 Share

Please enjoy with me a little comic taken from our Sand Dogs play and brought to life by the amazing Juan Ochoa. Thanks Juan!


This post was made possible by my patrons.

Read the whole story
Share this story

doubled up inside

1 Share

It’s warm and windy in the valley today. The sun feels so good on my skin, as the breeze swirls little cyclones of leaves and trash against the buildings I’m walking past. A palm frond waves at me as I pass. It is barely clinging to the trunk of its tree, and will probably come down with the first real gust that hits it at dusk.

I have my headphones in my pocket, but I decide to leave them there and let my mind wander. It’s good to be bored. It’s good to rely on my own imagination to entertain me as I walk home from lunch with my friends, who I haven’t seen in months.

I have this story idea I’ve been working on. It’s kind of silly, but it’s entertaining to me, and it should be fun to write. I spend most of my walk working on its first line, which is currently sounding like, “Matthew woke up with the kind of hangover that can only be described apocryphally. ”

I try lots of variations, but that’s the one I keep coming back to. I don’t know if it’s as good as I think it is. Maybe it’s lazy and not as evocative as I think it is, but it’s what I can do right now.

The wind blows some dust into my face and I have to take off my glasses to wipe out my eyes. A kid, probably in 10th or 11th grade, walks past me, backpack slung over one shoulder, face buried in their phone. I can relate to this kid. They are dressed a little punk rock, with torn jeans and a T-shirt from a band I’ve never heard of. Many piercings, brightly colored hair that’s cut into a style I haven’t seen before.

I want to tell this kid that they’re awesome for being weird. I decide to keep my mouth shut because this kid doesn’t care what an old man thinks, and neither do I, it turns out.

Maybe it’s being adjacent to what I have labeled as youthful rebellion, but I cross the street against a red light. I’m not going to stand here on the corner when there’s no traffic, and wait for a light that is just slowing me down, man.

As I cross the center line, I see a motorcycle cop, who has pulled someone over and is writing them a ticket. Yeah. I’m jaywalking. Fuck the police. I’m a middle-aged rebel and what are you going to do about it?

Last night, we went to a screening for our friend’s new Netflix series, BLACK SUMMER. It’s set in a zombie apocalypse, but it’s really about what happens when society collapses and we have to rely on strangers to survive. It’s about the sacrifices we make for our children. It’s about authoritarianism and violence for violence’s sake.

As I walk down the quiet, suburban street, on the most beautiful day we’ve had in months, I think about what we watched. I think about what I would do if something catastrophic happens and I have to protect myself and the people I love. I think about how terrible the world is right now, how loud the voices of hate and anger are, and how grateful I am to be outside, in the warm sunshine, walking home to my dogs. I think about how powerless I feel. I think about how afraid I am of my country, my community, my entire world being slowly torn apart. I don’t know if a zombie apocalypse would bring out the best in us, or if it would just exacerbate our divisions.

I want to have faith in humanity. I want to expect the best of people. But fool me once and so forth.

I’m so tired.

The sun is at my back. My black T-shirt is a heat sink and a small bead of sweat runs down my spine.

It feels good to be outside. The world is a terrible place right now, but it feels good to be out in it, alone with my thoughts and aspirations. It is good to be outside, enjoying a beautiful day, being grateful for my life and the people in it.

It has been an indescribably painful seven months. Every day has been a struggle, but every day has been a gift.

I’m doing the best I can, and I have to remind myself that my best will have to be enough, and I’ll have to keep doing it, even when it feels like it isn’t enough, because it’s all I can do.

The wind is at my back now, and it blows my hair up into an approximation of my bedhead. That makes me smile. I leave it alone, resist the reflex to smooth it out and make myself more presentable. Nobody cares, and neither should I.

Could I survive the zombie apocalypse? Or would I welcome it? I’m not ready to honestly explore the question, because whatever the answer is, I don’t think I’m prepared for it.

Read the whole story
Share this story

The Struggle is Real

1 Share

College is expensive af!


When I was 17 years old and set to graduate from high school, my mother told me she couldn’t afford to send me to college. Like most young people, I was sold the dream of college. I wanted a better life for myself, but my family was poor. Like really poor. Growing up on the Southside of Chicago, many of my peers were in the same boat.  I wanted an intellectual expansion and a job that would pay me a living wage, which college would be able to grant me.

Or so I thought.

I ended up joining the Navy and was able to go to college on the G.I. Bill. I got my undergraduate degree for next to nothing, but I was an idiot and decided to go to get my social work degree (not a career you choose if you want to ball like 2Chainz or Weezy) from the University of Chicago. Nowadays, I cry myself to sleep every night holding my master’s degree and avoiding any calls from FedLoan Servicing.

The cost of college is no joke, so much that the fact that many universities and colleges are considered nonprofits is almost laughable. The cost of college tuition has skyrocketed since the decade of my birth. Every March, millions of fans across the country tune in for March Madness and, in the process, colleges and universities make millions of dollars from advertisers and corporate sponsors yet puzzlingly 1) can’t afford to reduce tuition for students, and 2) pay their student-athletes. In fact, many student-athletes can’t afford to eat three square meals a day, or (in some cases) eat a meal at all. The kicker is that, despite this bleak reality, student-athletes still fare better than most of their peers because at least they get tuition-free college.

While some older people joke that college students are all poor but really have mommy and daddy paying their bills, that joke only pertains to the minority of privileged students. For many students, the financial burden of obtaining a higher education is far out of reach and comes with the reality of crippling, lifelong debt. Students from poor and lower-middle-class backgrounds are genuinely feeling pressure. This has only gotten worse since I graduated well over a decade ago.


Feel Da Bern

Bernie “the insane socialist” Sanders might be the second most divisive man in the U.S. politics outside of Agent Orange “I love my daughter in a very uncomfortable way” Trump. But Bernie was on to something with his policy proposal to make college affordable to all. This is something done in many Western Nations but not in the so-called “greatest country of all time” the United States of America. U.S. critics claim that free college is socialism. Well, paved roadways, public libraries, the Post Office, the fire department, and the water you use to flush your crap down the toilet are all socialist in nature. Somehow, we’re all okay with that type of socialism but think making college free is a step too far.

College students shouldn’t have to go hungry, pimp themselves out, couch surf, or not have a stable place to stay just to obtain a degree.

All is not lost, though, and there are some sensible solutions to this crisis:

  • Free and/or reduced tuition at public colleges and trade schools for all (we can use part of our bloated six-hundred billion defense budget and tax Wall-Street speculation to fund this endeavor)
  • Forgive all student loan debt (yes we can do it, and we basically did the same thing for companies during the bailout)
  • Colleges and universities should no longer be considered nonprofits if they insist upon charging tuition
  • Reduced or lower housing and rent costs for college students from households that earn less than 150k per year
  • Students tuition rates should be determined by majors or trade (because a corporate attorney makes way more than a pre-school teacher and should not be incurring the same amount of debt)
  • A basic universal income for all students

But this is all probably just a little too much socialism for ‘Murica.

“Young, Dumb & Broke” video

Read the whole story
Share this story

Neil Mitchell: Announcing the 'debug' package

1 Share

Haskell is a great language, but debugging Haskell is undoubtedly a weak spot. To help with that problem, I've just released the debug library. This library is intended to be simple and easy to use for a common class of debugging tasks, without solving everything. As an example, let's take a function we are interested in debugging, e.g.:

module QuickSort(quicksort) where
import Data.List

quicksort :: Ord a => [a] -> [a]
quicksort [] = []
quicksort (x:xs) = quicksort lt ++ [x] ++ quicksort gt
where (lt, gt) = partition (<= x) xs

Turn on the TemplateHaskell and ViewPatterns extensions, import Debug, indent your code and place it under a call to debug, e.g.:

{-# LANGUAGE TemplateHaskell, ViewPatterns #-}
module QuickSort(quicksort) where
import Data.List
import Debug

debug [d|
quicksort :: Ord a => [a] -> [a]
quicksort [] = []
quicksort (x:xs) = quicksort lt ++ [x] ++ quicksort gt
where (lt, gt) = partition (<= x) xs

We can now run our debugger with:

$ ghci QuickSort.hs
GHCi, version 8.2.1: http://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling QuickSort ( QuickSort.hs, interpreted )
Ok, 1 module loaded.
*QuickSort> quicksort "haskell"
*QuickSort> debugView

The call to debugView starts a web browser to view the recorded information, looking something like:

From there you can click around to explore the computation.

I'm interested in experiences using debug, and also have a lot of ideas for how to improve it, so feedback or offers of help most welcome at the bug tracker.

If you're interested in alternative debuggers for Haskell, you should check out the GHCi debugger or Hood/Hoed.

Read the whole story
Share this story

Set Expectations, Manage Better

1 Share

With GitLab Inc growing to more than 150 people working remotely and steadily increasing, inevitably new challenges come up while building great software.

We never shied away from hierarchy, but recently I’ve been noticing a trend towards more traditional people management in an effort to maintain focus on shipping at scale.

I believe that creating overhead with meetings and reviews is a risk to the efficiency and remote culture of organisations. It should be actively avoided for an organisation to succeed remote at scale.

More people, less productivity

When a team grows from five to 30 to 100 people, some parts of the team will fail at some point: be that in the form of missing a deadline or not delivering quality work. Of course, larger organisations want to solve this permanently. If there already is an established hierarchy, it’s likely that the managers of the failing team will ask themselves:

How could we have seen this earlier?

A senior manager will think back to the old days when everyone was performing well as a small team.

Now, reader, how would you solve this? Obviously this was an oversight by management: they should’ve seen this earlier. The suggested solution might be to improve or create a reporting structure where management reviews the status of projects and teams more frequently. In addition, management should have more frequent meetings in order to review the status of the teams and handle these if necessary.

This is where productivity goes down significantly and remote culture is in danger.

Solution: Set clear expectations

Reviewing work in progress both directly, and indirectly through meetings is a waste of time.

Q: But what happens if things go off the rails? How will I know? Who will handle it?

A: Trust your people.

You must set clear expectations for any and all work. These expectations should include a clear scope, time of delivery, but more importantly: communication expectations. Communication expectations are easily outlined:

  • I expect that you will let me know immediately if you think that this deliverable will not make the deadline.
  • I expect that if you have doubts about the feasibility, functionality, scope, or outline of this deliverable, you will let me know.
  • I expect that if you need help from colleagues, you will contact them and ensure their collaboration. If you get stuck with this, I expect you to communicate this to me.

Now this seems a little verbose – maybe it is, but it makes it very clear what is expected of those responsible. It even seems very obvious, but now that we wrote this down, do the additional reviews and reports still make sense?

Doing this remotely

Doing all of this remotely adds a layer of complexity. We’re fighting with two paradoxical goals: we want to maintain a single source of truth, and we want to be able to give a sense of urgency when working with deadlines, to be able to maintain a certain pace.

In practice this means that everyone is expected to over-communicate. For example, I might say in a GitLab issue to Sytse that our rocket engine won’t make it in time for the planned launch date, but because I know he’s way behind on email and Todos, I’ll also send him a message in chat.

For remote teams, such as our own, I’d add another expectation:

  • I expect you to make sure that other parties you communicate with are actually reached.

This means sometimes you’ll have to ask someone else if Jane is absent or send her another message on chat if she doesn’t reply within a reasonable time. From personal experience, being a little more pushy and impatient than you’d be in everyday life is enormously beneficial to this end.

Over-communicating is a small cost to pay for the freedom of working remotely.

At GitLab

I wrote this as a response to observations I made at GitLab. That said, it already was a company policy to look specifically for people who manage themselves. This is what we write in our handbook on this topic:

We don't have project managers. Individual contributors need to manage themselves. Not everyone will be able to do this effectively and be fit for our organization. Making someone responsible for managing others will make the job of the people who can manage themselves worse. If you manage yourself you have a much greater freedom to make decisions, and those decisions are based on deep knowledge of the situation. We want to retain the people who can handle that responsibility and therefore we can't retain the ones that struggle. Assigning a project manager/coordinator/case manager/etc. to something is an indicator that something is wrong and we are picking the wrong solution.

We write these and other lessons in our single source of truth, our handbook. Like (almost) everything at GitLab, our handbook is open source and you're welcome to read it and contribute to it.

Read the whole story
Share this story
Next Page of Stories