Day 29: Death to Superman

Have you ever worked with a large team on a complex project? Usually there is a mix of experience levels, and those with more experience create the application design as well as the workflow that everyone will use. They also serve as the disseminators of information, especially when a new member joins the team. They are the resources that help everyone become more productive

At least that’s how it’s supposed to work. In a company with a good development culture, knowledge is freely shared, and the goal of the senior developers is to help create new senior developers.

In other situations, there is a different dynamic: the overall knowledge of the project is in the brains of a select few developers, and they consider the intricacies of the application their domain. Often it isn’t a group, but rather a single individual in that role. They begin to act like Superman: swooping in to save the day in a manner that only they can do.

This is common in companies without a healthy developer culture. Typically there is a sole developer assigned to create an application, so of course they are the only one who knows how it works. Or the project could have started with a small team, and eventually everyone leaves the project except for one. Other teams that need that functionality need to go through this person, who is now the bottleneck, the gatekeeper. As new people are added to the team, this one developer keeps them dependent on him (yeah, it’s usually a man) by only sharing bits of knowledge only as needed, and not educating the new members. He tends to treat the other developers as inferior, and as a result, no one else feels competent to handle the work that Superman can do.

Back in the ’90s when I was a junior developer I was placed on a team that had exactly that dynamic. Someone would have a great idea, but nobody would act on it until that one lead dev signed off on it. People were even a little afraid to say that they thought it was a good idea, because if this Superman figure didn’t like it, he wouldn’t simply explain why. Instead he’d make you feel dumb for not understanding every implication your change would have.

Of course, when he wanted to change something, he just did it without involving anyone else. It wasn’t unusual to come in one day to find the part of the code you’d been working on had been changed, or sometimes even deleted. Needless to say, there was a general unhappiness on the team.

After a few months, Superman started throwing his weight around with our boss, taking the attitude “you can’t afford to lose me”. It worked for a while, but after one particularly obnoxious outburst, our boss called his bluff, and Superman quit on the spot and stormed out. Everyone on the team was both relieved that the source of tension was gone, and also afraid of how much more work this would mean for us. We were all afraid that the project would founder, and we would have to re-hire Superman, who would then be even more insufferable.

To our surprise, it wasn’t all that bad at all. Everyone started exploring the code base a bit more, now that we didn’t have Superman to supply that knowledge and make those changes. We started talking among ourselves about things we thought needed to be changed, and team members who were always quiet began to speak up more. The entire dynamic of the team changed for the better. And instead of the project falling apart without Superman to lead the way, it got better. Maybe no single person knew the entire code base like he did, but we all learned a lot more, and with people working together, got more done. We divvied up the code so that each person was responsible for learning that part well enough to be a resource to the others. Knowledge was once again being shared.

So while it’s good to have some knowledgeable people on a team to serve as guides for the newer members, it can become toxic with the wrong people and the wrong environment. If you’re on a team with such a toxic member (or members), don’t worry about what would happen if they left the project. Inevitably, the team will be better off without them. Speak with your manager if they aren’t already aware of the situation, and try to come up with a plan to spread the knowledge around better. And if you are told that they think things are fine the way they are, that’s a very strong signal that it’s time to update your resume. It’s not worth the mental toll to remain in a toxic environment.

Day 28: The Impossible Butterfly

I wrote this last Saturday evening right after it happened, and posted it to Twitter. I had plans for writing something different today, but our cat had other plans, and became ill. So I’ve just spent most of the day in the “waiting room” (sitting in the car until called), and then having the cat treated. It’s odd how doing almost nothing all day long can exhaust you!

So rather than write something brand-new, I thought I’d re-post my incredible experience. If you’ve followed this blog, you’d know that I raise caterpillars of the Easter Black Swallowtail butterfly, from here, here, here, and here.


I’m at a complete loss for words. I just experienced something I didn’t think was possible.

Earlier today a butterfly emerged from one of the pupas in my nursery. He had a wing deformity (yes, it was a male), and when he attempted to fly, he couldn’t get more than a few feet before returning to the ground

Resigned that he wasn’t going to survive, I placed him on a flowering plant in the yard, and assumed that nature would take its course, and the butterfly would soon die.

I kept returning every hour or so throughout the evening to check on him, and he hadn’t moved very far on the plant. As the evening grew late, I wanted to say my goodbyes. I know it seems silly, but raising these marvelous creatures from egg to adult creates an attachment. I placed my fingers in front of him, and he instinctively climbed up onto my hand. I spoke to him, telling him how sorry I was that his wing was deformed, so he wasn’t going to be able to fly and live his life.

After a minute or so, he started flapping his wings, and flew for a few feet, as he had done before, but quickly landed on the ground. I again placed my hand in front of him, and again he climbed aboard. I talked to him a little bit more, and again he started to flap his wings. This time, though, he flew!

I watched him fly across the yard, up over the garage, and then over the back fence. He quickly disappeared into the distance, and I couldn’t see him any longer.

I don’t know what kind of life he will have, but to be able to fly away on his own is something I truly never thought he would be capable of. I am still feeling that warm giddiness at witnessing what I had thought was impossible.

Day 27: Disc Golf Numbers, Part 2

A few days ago we covered the first two of the four mysterious numbers that are on each disc: Speed and Glide. Today we’ll cover the other two: Turn and Fade.

Turn is the ability of a disc to turn toward the direction of its rotation during the initial high-speed part of its flight. That’s a mouthful! But what does it mean?

Let’s assume that you throw the disc with your right arm, and use the common backhand delivery. When you throw it, the disc will be spinning clockwise when viewed from above, and the front edge is spinning toward your right side. That’s why we say that the “direction of its rotation” is to your right.

Turn values range from 1 to -5, where 1 is the most resistant to turn, and a -5 will turn the most. Having some Turn is good for beginners, as it tends to offset the Fade at the end of the flight, making a more or less straight throw. One problem, though, is that high Turn discs are not as stable when throwing into the wind, so in general you should avoid high Turn discs in that situation.

Let’s compare the flights of two discs that have nearly the same numbers, but differ significantly in their Turn:

The disc on the left, the Thunderbird, has a Turn of 0. Note how its initial flight is fairly straight, while the disc on the right, the Roadrunner, bends to the right for the first half of the flight. That is consistent with a Turn value of -4 for the Roadrunner. I own a Roadrunner, and I can testify that it is very hard to control when throwing into the wind.

The fourth and final number to understand is Fade. Fade represents the tendency of the disc to turn away from its direction of rotation at the end of its flight as it slows down. In other words, Turn and Fade move the disc in opposite directions.

Fade values range from 0 to 5, with 0 finishing the straightest, and 5 bending hard at the end of the flight. It might seem odd to want your disc to fade, but it can be helpful for distance control, where you want to ensure that the disc doesn’t keep sailing past your target. It’s also very useful for when you need to shape your shot around an obstacle such as a tree, as you can throw to the side of the tree, and let the disc’s natural fade bring it back towards the target.

We’ve covered what the numbers on your discs mean. So, as a beginner, how do you use that information? First and most importantly, avoid buying high Speed discs. Until you develop your technique and strength, you simply won’t be able to throw them reliably. Start with a lower-speed disc, such as a fairway driver.

Next: practice! Find an open space where you can practice without having your mistakes (you will make plenty!) cause any problems. Not too far from my house is a park that has a baseball field without any outfield fence:

I’ve circled two trees that I measured to be 240 ft. apart. This is perfect, as I can rarely throw more than 250 ft. I take my discs, noting the numbers on them, and imagine how I need to throw them to get close to the target tree. I have to also factor in the wind, if any. When I make a good throw, I then observe how the disc’s flight goes, and whether it matches what I was expecting. I gather my discs, and now throw from the other tree back towards the first. This way I can practice both throwing with headwinds and tailwinds, or sidewinds coming from each side. I repeat this several times with a set of 3 discs, and then when I have a good feel for them, try with a different set of discs. It’s really helped me understand what disc works best in different conditions. Now I just need to improve my consistency, which means: more practice!

Day 26: June2020.org

I was planning on finishing the post about disc golf today, but I started watching the live stream of The Poor People’s Campaign: A National Call for Moral Revival, and felt as though there were more important things to write about.

If you haven’t heard of this movement, please take a few minutes to go to june2020.org, and read up on it. And if at all possible, please donate what you can to help.

I watched the live stream for over an hour, and am more convinced than ever that we cannot improve our country by looking at one issue and focusing on that. Instead, it is an over-arching, systemic issue that has not arisen by accident. It is by conscious design. It needs to be addressed as a system: things such as poverty, mass incarceration, abandoned veterans, gerrymandering, unending war, etc., are not individual issues, but all symptoms of the same evil design of the society.

I chose the word “evil” to describe it, as I can think of nothing that better exemplifies what evil means. Imagine not caring about what happens to some people, as long as you profit from it. Imagine not caring about millions of people living in poverty so you can have more. Imagine not caring about people escaping violence and persecution and denying them help just so you can keep your race’s percentage of the population from diminishing even further. Imagine not caring about democracy so that you can prevent people from voting who might not want to sustain the status quo. Anyone as cold an uncaring as that, who would willfully cause millions upon millions to suffer, is the epitome of evil.

Please go to june2020.org and help in any way you can. Then continue to speak out against this unjust society, and vote for people who will at least keep it from getting worse until we can nurture a new generation of leaders who can lead us to where we need to go.

Day 25: Disc Golf Numbers, Part 1

When you start playing disc golf, you have to select the discs you will be using. One disc manufacturer, Innova, came up with a rating system for the flight characteristics of their discs, and it proved useful enough that all manufacturers have adopted it.

Stamped on every disc is a set of numbers that look like this:

Each of these numbers represents a different characteristic of the expected flight for that disc. They are, in order, Speed, Glide, Turn, and Fade.

Speed represents how hard the disc needs to be thrown in order to achieve its ideal flight. It ranges from 1 to 14. The higher the speed, the harder you need to throw the disc. In an earlier post I wrote about my difficulties getting one of my disks to fly, and that was because I wasn’t able to throw it hard enough, as I’m just a beginner. It takes time to build the strength and refine your technique in order to achieve the high speed throws that such a disc requires. The disc I was using had a speed of 12, and I wasn’t even close to being able to throw that hard.

High speed discs are drivers; i.e., when you need your throw to go a long way. More distance on a tee shot is almost always good, but you don’t want to lose accuracy, especially on a tight course. My home course is typical South Texas scrub, which includes a lot of cactus, so you don’t want to end up there! Below is where I ended up in one of my early rounds – another foot or two and it would have been painful to retrieve!

Ouch!

Speaking of distance, the second number in the ratings is Glide. This describes the disc’s ability to remain in flight, and ranges from 1 to 7. A disc spins when thrown, providing a gyroscopic effect, and also has a wing-like shape, which provides lift. Those two together determine how long a disc’s flight will last until it starts to drop. This is why the Speed is important: a harder throw will provide more lift and more gyroscopic stability, and the disc’s design is optimized to take advantage of that. For beginners, who can’t throw at such high Speeds, the driver discs are designed to Glide further by maximizing loft at lower speeds. For a beginner, the trick is to find a driver that flies the furthest that you can control. That generally means finding the highest Glide number for the highest speed you can reliably throw.

That’s enough for one post. I’ll continue tomorrow with explanations on the second two numbers, Turn and Fade.