Showing posts with label life lessons. Show all posts
Showing posts with label life lessons. Show all posts

Thursday, November 4, 2021

About Human Issues and Some Possible Solutions (an #OnlineTestConf 2021 Live Blog)

 


Well, this is an interesting surprise. Joel had another talk scheduled that I had heard at PNSQC last month and as I was considering what I might say that would be different, I see the slide with a very different subject. Cool. This means I get to react to something fresh and unique.



So have you ever done scenario-based testing? That's where we get to describe a person we want to test with. We want to use meaningful data about that person so we might invent some interesting details about them. I've done this a whole bunch and I use tools like Fake Name Generator and I can't count how many anime series I have mined for names and relationships to set up testing environments. 

Okay, that's nerdy... but what's the point here? The point is that when I do this, I am setting up users, I'm setting up relationships, I'm setting up scenarios to look at. All of that is true. What am I missing? I'm missing genuine humanity. I'm using cartoon characters and some made-up details but I'm not really considering flesh and blood humans. More to the point, I'm expecting interactions and reactions that might actually be meaningful inside of tools where that humanity has been stripped away. We think we're being human but only in the most superficial of ways.

Joel's main point here is not about testing. It's literally about being human. There's a lot of weird things we as people deal with and regularly have to make sense of. Impostor syndrome is something so many people deal with. We fear that we don't have the right or the status/stature to hold an opinion or talk to it. Every presentation I give is plagued with this. I always wonder "why are people paying attention to anything I say?" Even though I've been doing these types of presentations for over a decade, and I've been focused on Accessibility as a primary topic for over six years now, I still wonder if what I'm saying makes sense, if I'm prepared, if I have actually got any insights that matter. After the fact, I realize yes but at that moment, I'm freaking out a little.

Joel also mentioned the Superman Complex, which is hilarious because I deal with this as well. Three decades as a scoutmaster has been a struggle because often I have to physically stop myself from doing all of the things. It takes serious restraint for me to not just jump in and take care of a lot of things. I have at times literally forced myself to sit on my hands and stand aside so that things can get done by others. Yes, it hurts at times.

Do you ever suffer through a case of  "historical myopia"? I laugh about this because I'm literally hearing people talking about how great the music of the 80s was. the reason I laugh is I have vivid memories of so many people talking about how much the music of that time SUCKED!!! Did it somehow become better over the ensuing three decades? No, our memories have become more selective. We are filtering and remembering the best of the best. It's easy to do with a somewhat distant past. It's a lot harder to do that with a current present and a future that is yet to be written. Truth is a lot of stuff in the past was terrible and a lot of the stuff going on now is going to be vindicated to be way better than we consider it in the here and now.

Oftentimes we want to focus on that "fresh start" vibe and we often put strange rituals around them. Why do I want to focus on better fitness but have to wait until Monday? Why do I want to save money but I need to focus on the next month to start it right? Why do I need to wait until I get back from vacation to eat more healthily? The reason is we tend to feel like we will be more successful if we have a formal ritual to point to (this is why New Years Resolutions are so popular). Rituals have power but we give them too much power at times. What makes any day, hour, or minute better than "RIGHT NOW" to make a change or a determination to do something? the answer is, it doesn't, it just allows us to delay/defer making a decision or a commitment when we don't really want to.. If we really wanted to be doing something, we would be doing it now, no delay, no ritual required. We'd just step up and we'd do it. 


I appreciated this slide as I think it really does encapsulate what we actually have some control over. It's a way that we can be prepared, be mindful, and be focused without beating ourselves up for the things we can't actually control. This won't cure us of pessimism, it won't solve our imposter syndrome. It won't assuage our guilt or our misgivings but what it will do is it will help ground us and give us some perspective that we can use to our advantage.

Tuesday, October 12, 2021

Mental Fitness is the X-Factor with Julie Wong (#PNSQC2021 Live Blog)



Photo of Julie Wong

One of the biggest challenges I think many of us have faced in the past year and a half plus is coming to grips with whatever "new normal" means. For me, working from home has been a reality for an extended period. I made my last visit to a formal office setting back in October of 2017. As such, I have actually been home at least twice as long as many others have had to be. That has been both a blessing and a curse in a sense that, while I have a work environment that allows me to work from home and has done so for an extended period, I was just as much hit with how my reality changed during the COVID pandemic.

Back in 2019, I had the ability to go many places, I played shows in nightclubs, I performed at festivals, and I had many options to go places unhindered. Today, while there are more opportunities than there was last year, that still has not returned to anything at all feeling like normal. Thus, even people like me who are the veteran work at home people still finds himself dealing with mental oddities because of the pandemic. It's taken a toll on me as well.

Thus it is with great interest that I find myself listening to Julie Wong and looking at how I might be able to better handle my overall mental fitness and where I actually am at this point in time. Mental Fitness is more than just thinking a lot or being "in shape". Physically in shape is easier to quantify, albeit the fact is we have at times a messed up vision of exactly what physical fit looks like and the number that that can play on us. trying to get a bead on what it actually means and looks like to be mentally fit is even more challenging.



Mental fitness is, effectively speaking, how we deal with stressful situations and the ability to being able to do so with positivity.  We currently live in a hurry-up-and-deliver culture where we have to aggressively perform for arbitrary times and reasons. 




Julie shares this idea that there are 10 saboteurs that we deal with and 5 sage powers. If we get to understanding who and what those are, we can better work with and talk down those areas that hold us back while allowing us to work with them to succeed. 

The Judge is one saboteur, and these are the nine others that work alongside The Judge

To be clear, each of these areas is not necessarily "bad" by itself. There are good elements to each of these as well, but for our mental fitness in this context, each of these can be saboteurs to our mental health and happiness. In moderation, these can actually be good for us but in excess, each of these can absolutely sabotage us (though I'd argue playing the victim is always a saboteur behavior).

By contrast, we also have Sage Powers that we can uncover to help us. These are more right-brain-oriented areas, where we exercise empathy, curiosity, creativity, compassion, serenity, and laser-focused action.

 



Ultimately, what we put out attention and focus on is what comes to pass. If we feed our negative side, we reap negative consequences, even if the result could objectively be seen as good. By focusing on positive outcomes, we can be in a better place, even if we don't necessarily achieve what we hope to. That's profound and quite neat. It's wild to think I could succeed and be miserable and by contrast not achieve but still be happy. Ultimately, though, I think by focusing on the positive I can ultimately achieve (note to self: while the saboteurs can be good if not applied in excess, consider the sage powers working oppositely. You can achieve them but you have to focus on them more directly and almost try to get them in excess).

This was a nice way to end this conference. Thank you very much for this, Julie :).

Wednesday, April 15, 2020

The Case for Juicing and Using Everything

This is going to seem like a left-field post. The reason? It is :).

For those who are not aware, I am fairly active on a site called Quora. Admittedly, I have a few software testing questions I have answered but most of my conversations tend to revolve around music, fitness, snow sports, and nutrition. Thus today, I had a chance to answer a question related to something I do on a regular basis, which is "juicing".

For context, here's the original question:

Do smoothies kill the nutrients of fruit and Veg because it’s blended?

My answer actually goes a bit outside of what was asked but in this time of economic uncertainty, shelter at home orders, fears of viral contagion, and a desire to get some nutritional and possible immune system boost (caveat: I make no such claims that what I will suggest will necessarily do that but I do use it as an overall "healthy" approach to eating) as well as a desire to minimize food waste, I figured it was worth elaborating a little.

Thus to expand on that, I thought I'd talk a bit more at length about the things I do, how you might be able to incorporate them into your daily routine, and why I think it's valuable and ultimately a better use of food items in the long run.

For starters, I have a masticating juicer. It works by pressing foods into a spinning set of prongs/teeth that shred up the food items into fine particles and through a fine mesh screen with centrifugal/centripetal forces applied separate out the liquid and finer particulate components into a juice. The remaining larger pieces of fruit/vegetable pulp are hurled back into a receptacle where it fills and needs to be emptied from time to time. Many people discard this pulp. My main part of this post is to encourage people to not do that. It is possible to use this pulp in a variety of ways.

Let's talk about the juices I most commonly make. I typically order, in normal times, large quantities of apples, pears, carrots, parsnips, radishes, spinach leaves, collard greens, kale leaves, cabbage leaves, and ginger. The availability of each varies by time of year but again, in normal times, I have been able to get most of these frequently in large enough batches to make one or two liters of each juice at any given time. I pour these juices into mason jar bottles and I grab one or two of these every day to snack on, typically unfiltered and some of that pulpy goodness awash in the juice (yum!).

What is often not addressed is what is left over after this process is done, which can be several pounds of the pulp of fruit and vegetables. Depending on what you are juicing, this pulp can be easy to use or it can be challenging to use. It depends a lot on the care you take to prep what you are going to juice. Carrot pulp is easily usable in other things. Shredded ginger is a little trickier but still usable. Apple and pair pulp are easily used to make jams, jellies, and fruit butter provided you've taken care to remove the seeds and woodier parts that appear from time to time.

Here are some easy examples of how I get some extra mileage out of foods that the typical juicer might discard.

* when you juice apples or pears, take the cores out first so that you capture the seeds in the core. take those cores and put them in water and boil them down. What you get is rich pectin you can mix into the cleaner pulp after juicing that is excellent for helping to set up jams, jellies, and fruit butter. The fruit pulp itself can also be boiled down and strained through a food mill to get the consistency you want for its intended destination. I like to use these as fillings for pancakes and crepes as well.

* carrot pulp is easy to use and mix into making things like carrot cake, carrot muffins, and as an additional binder for expanding ground beef in meatloaf if that's your thing. It also blends greatly with shredded onions and the pulp from celery juice to make a mirepoix that literally disappears into the dish but contains all of the flavors.

* greens of many stripes make for a finely shredded leaf after juicing. These leaves are great for mixing in with eggs to make both omelets and a Korean style of vegetable pancake base. They can also be cooked in water and blended up with an immersion blender to make for a flavorful soup base.

* sweet potatoes make for an interesting juice component that I often mix with other vegetable juices to cut their "earthy" taste. The leftover fiber makes for a great filling for dumplings and you can make a variation of latkes with the pulp as well.

* one of my favorite items to juice, also to help with cutting the strong earthy flavor of green juices, is ginger. Ginger is a challenge to peel and often you lose a lot of the ginger in the peeling process. To that end, what I do is I boil the ginger first to soften it, then I run it through the juicer to capture the first and strongest batch of juice. I filter that first pass of juice through cheesecloth and the leftover particulates I skim off and boil with lemon juice to make a high acid paste that I can then bottle and keep shelf-stable for up to 18 months. It makes for a great addition to Asian-style stir fry dishes :). The leftover pulp I then put into four cups of water and boil down again until I get a fairly viscous liquid. I put that into another layer of cheesecloth or a jelly bag and let the liquid strain. That remainder liquid makes for a  magnificent base to make ginger beer/ginger tonic if so inclined. The last of the fiber I then discard, though I'm totally open to ideas as to how to use it :).

Both sets of my grandparents lived through the Great Depression and I heard a lot about that time from them as I was growing up. It colored their everyday lives all the way up until their deaths and all four of them had a similar philosophy when it came to doing anything with any resource. Treat it with care, use it to its maximum extent, and be creative wherever possible. A little poem I heard all the time from my maternal grandmother was:

"Use it up, wear it out. 
Make it work or do without"

These ideas, I hope, might be interesting to others and may, perhaps, help us to stretch our food dollars as far as possible and, most important to me, not waste what we buy. If you have a favorite way to use your leftover pulp from juicing, please feel free to leave a comment and tell me what you do with it.

Wednesday, March 11, 2020

New Title, Same Gig?

Well, today threw me for a bit of a loop.

Why, might you ask?

Today I received a new title. For the first time in my software testing career, it can be argued how much of my role as a tester is left. For the past almost thirty years my job titles have been some variation of the following (I'm going to say since 1994 as from 1991-1994, I was a Network Lab Administrator and an Engineering Tech):

Software Tester
Development Test Engineer
Quality Assurance Engineer
Applications Engineer (Basically a Customer Test Engineer)
Senior Quality Assurance Engineer

So what's different today? As part of my review I was asked if I would accept a new job title:

Senior Automation Engineer

I said "yes" but I will confess, a part of me is curious as to what that acceptance means going forward? Actually, I don't have to guess too much, I know, as I've been part of this conversation for a number of years leading up to this.

What this means is that I agree to be spending the lions share of my day inside of an IDE.
What this means is I agree to create code that will be reviewed and put into daily use.
What this means is I agree to step into a development role and all that that entails.
Additional to all of this, I also agreed to transition onto another team, outside of the one I have worked with for the past seven years.

Yep, I have a mixture of emotions today.

Am I ready for this? I'd like to say I think so.
Do I want to do this? As a matter of fact, yes.
Do I know enough to do this? That remains to be seen, probably not completely.
Am I comfortable with this change? Ah, now we get to the heart of the matter.

See, in large part, I'm not comfortable with this change. I'm having to put down a large part of my identity that I have fostered over the past decade. The titles and pronouns I've become so used to are at once still relevant and now totally irrelevant. A part of me is anxious, a little scared, a little concerned I may be biting off more than I can chew, especially with that Senior part. That means I'm supposed to mentor juniors. As a developer. I will confess that part feels really weird.

And yes, even though I am not necessarily comfortable, I'm excited to do this. The expectation has changed. The primary focus of my efforts has, too. In part, I was singled out as, "that person that always champions trying new avenues, looking at things in unorthodox ways, and not settling for how things have always been done." Really? They paid attention to that? I guess so. They also paid attention to my frequent frustrations that real-life testing needs often trumped my ability to make much headway in the automation space because other needs were prioritized first. They listened. They decided to let other people handle those aspects so I could better focus on coding effectively.

Have I mentioned I'm not even going to be doing this in a language and toolset I'm used to? Yeah, let me touch on that for a second. I've been a Mac focused tester and programmer for 10 years now. I've used Ruby, Java, Perl, and Python to an extent in those years. Today I'm sitting behind a relatively new Windows 10 laptop running .NET Core, Visual Studio and wrapping my head around C# patterns. Surprisingly, I'm not running for the hills. It's different but it's not fundamentally so. Sure, there's some tooling and practices I have to come to grips with, as the last time I spent any real-time with a .NET application of any kind was 2010. It's all so very weird, like I'm having to speak Dorian Greek... but at least I feel like I'm coming from Ionian Greek rather than from, say, Japanese (weird comparisons but hey, welcome to my brain today ;) ).

Long story short, I just signed up to have my world rocked and I am strangely OK with it.

Tuesday, December 31, 2019

Closing out a Decade of TESTHEAD (Almost :) )

I realized as I started this post today that it has been a while since I've posted anything. Part of that is the fact that I have been spending the past several weeks involved in two things that are little related to testing.

The first is that my daughter came home from her mission in Sao Paulo, Brazil and I have been spending as much time as possible getting to hear from her and all that she experienced for the 18 months that she was there. It's a challenging thing to encourage your daughter to go halfway around the world for a year and a half, with limited communication, and to give of herself totally to acts of service. I frequently told her I would be interested in seeing the person she was when she came back. Fluent in Portuguese, yes, but much more fluent in many things, including empathy, steadfastness, courage, determination, and drive to do things that matter. This Dad is happy to have her back and happy to see who she has grown into. Still, his little girl and yet not at the same time.

These past two months have also seen me diving into something that has consumed my weekends completely and that is The Great Dickens Christmas Faire in San Francisco. This is an interesting event in that it is filled with shops, performers, and other aspects that encourage you to feel like you are in London in 1843 (the time setting for Charles Dickens "A Christmas Carol"). This has been an event I've participated in as a patron for many years, have cosplayed for, and have longed to get in on the action. This year, I was able to do that thanks to the kind folks at "The Paddy West School of Seamanship" where we produce "The Best Seamen In London" ;). I was able to sing with them, work with the school, participate in setup and teardown, and a quality control process for character development and immersion that would be an excellent broader story for a testing blog. More on that another time but suffice it to say that it takes a lot out of a person when they have to give up weekends entirely for two months. Catch up time is non-existent. you have to do things in the here and now when they first strike you or they just don't get done. This blog, for instance :/.

On an oft-talked about areas of this blog that I didn't talk about this year was a decision I made at the beginning of the year. As I had to move to new health insurance and a new framework for it, I decided to try something I hadn't in a while. I decide to go off of Concerta. For those wondering, Concerta is a medication used to help with symptoms of ADHD. After several years of being on it (and actually, the longest continuous period of my life being on ADHD medication) I decided I wanted to try a year without it, just to see if the differences were as pronounced or if I was still in need of it. I'm not 100% convinced I need it to function but I'm also not 100% convinced I do not need to have it. As I had said in previous posts, Concerta doesn't fix ADHD, it just mellows out the pendulum swings. This year, I dealt with a few more pendulum swings but on the whole, I still felt pretty good. For the near term, I'm sticking with my decision to not be taking them, at least a little bit longer. As of right now, I am taking zero medications for anything and I really want to enjoy that.

Closing out the decade, I have been with Socialtext/PeopleFluent/LTG now for seven years. This makes Socialtext my second-longest tenured job in my working career (Cisco Systems still holds the top spot at ten years). It's been an interesting adjustment this year as I've given up my MacBookPro to go back to working on a PC. I'm also spending time learning about C# and .NET Core as well as Visual Studio and interacting with code in that environment after a decade away. It's been interesting, to say the least.

I've also enjoyed the experiences of writing about and working with a variety of publishers regarding various software testing topics. I also want to say thank you to TestBash for giving me the opportunity to attend the San Francisco conference and Live Blogging about it. I'm also thankful to STP-CON and PNSQC for asking me to participate with them again this year on topics related to automation accessibility, inclusive design, and testability.

A good chunk of time was spent editing podcasts for Qualitest and The Testing Show. I think we put out som good episodes this year and I have learned a fair amount about a variety of topics and areas I intend to put more time and attention to in 2020.

As in life, sometimes we have setbacks, too. My band Ensign Red is currently looking for a guitarist. Granted, this would need to be someone local to the Bay Area to participate so if you are, or know someone who is, feel free to give them my contact info. We are looking to get out and perform in 2020 and complete an EP we have been working on but we need to fill the guitar lot before we can do that, of course :).

So there it is. Another wild year, lots of learning, lots of seeing, lots of doing, and a capstone of this blog being an active thing for close to ten years (it's official ten year birthday will be March 10, 2020). For those who have been here from the beginning, I'm impressed you are still here and I hope I have been worth the time. For those who are new, I have a lot of past entries and I'm hoping something will be of interest. Also, as good a string as it has been, I really couldn't fit a fresh line of "Once in a Lifetime" to describe this year accurately, so I am officially going to end this tradition.  Hey, I did it for nine years, that's pretty good :). Wishing you all a happy and healthy new year, a new decade, and new opportunities for all. Be excellent to each other :)!!!

Sunday, December 31, 2017

Where Does that Highway Go To?

It's that time again, the end of another year. With it a chance to reflect on some of what I've learned, where I've been, what I could do better and what I hope to do going forward.

This year has been a good one for the Testing Show podcast. In the software testing world, outside of the work I do each day, I would say that this has been my most consistent endeavor. I've been pleased with the episodes we have done this year and I am excited about more episodes that will branch away from the typical topics that we normally cover and aim to strike out into other areas that are important to software testing but may not be solely focused on the testing aspects alone. Also, as it will go live in the middle of this week, I can say there will be one noticeable change. New theme music will be part of the 2018 series of shows.

In my workaday world, I had an odd situation that required an adjustment and a change in work habits for me. I started the year with just a handful of people coming to our office to work each day and quickly that changed into my being the only person coming into the office most days. I felt a bit like the lone lighthouse keeper much of the time, though of course, the team communicated regularly through digital means. This year, as I was the one person coming into the office, our parent company decided it didn't make much sense to pay for a large office space that only one person was using. The office was closed and I was transitioned to being a 100% remote worker. This is a first for me. I've had the option to work from home much of my career, but it was a couple of days a week. I've never worked in an arrangement where I was 100% at home, all the time. That's been my reality since October of this year. I'm adjusting, but I do have to say it still feels a bit strange.

On the family front, my son moved away from home to embrace his dream of being part of the music industry in Los Angeles. I'm proud of him for chasing after his dream, but part of me is way too familiar with the entertainment industry and its many promises made but so few kept. He sends me texts that remind me of myself at his age when I was sure I was going to conquer the world. I have to fight the desire to tell him I know that tone so well, but in truth, I don't know his reality. I remember mine. Therefore, I do my best to hold my tongue and just let him tell me what he is doing and keep the peanut gallery comments to a minimum. It's hard, to say the least. On the bright side, he's more interested in the production and marketing end of entertainment, not being the actual performer, so he has better odds than I had ;).

On the physical front this year, as I tested out a variety of fitness approaches, trying to maintain a target weight and chasing metrics to define quantitatively how physically fit I was, I came to some stark conclusions. Numbers are artificial, they can be gamed, they can be detrimental to long-term success, and most importantly, it's entirely possible to "be fit" and feel completely miserable. That was a conclusion I reached this summer. Yes, I was 194 pounds, but I was also anemic and unable to donate blood, I felt tired much of the time, I got sick more frequently. I allowed myself to put a buffer between that lower point and I voluntarily gained back 20 pounds. Since around November, I have hovered between 215 and 225 pounds. It doesn't sound as dramatic, but it sure feels a lot better. In 2018, my goal is to focus more on body composition and worry a lot less about my actual weight.

Some longer-term initiatives I had to decide that I didn't have the energy or ability to do as often. Weekend Testing Americas is still a thing, but I found myself repeating where I'd been before and decided it was better to step away for a bit. I haven't shut it down, but I determined I needed to let some new blood take a shot or let it lay dormant for a bit. I'm feeling like I have some fresher ideas now, so do not be surprised if you see more Weekend Testing Americas sessions in the new year.

On the speaking front, I have kept my pledge to focus on Accessibility and Inclusive Design as my topics of choice, and those will also carry over into the new year as well. As I get older and I discover that my resiliency and "springiness" isn't what it used to be, many Accessibility and Inclusive Design aspects that were at one-time talking points have become "living points" for me. As such, the lack of sites that follow guidelines and the limited testing being done to help sights be more inclusive matters more to me now than ever. Additionally, I've decided that I want to do some more writing on the topic in 2018, with concrete and specific actions people can take.

As my company is making moves to modernize many of their testing frameworks, I'm taking advantage of the changing landscape to try to learn more about setting up a new framework from the ground up. At the moment, I'm championing an approach that uses Angular, Protractor, and Jasmine over our older successful but decidedly proprietary setup. Our testing team has decided to try a number of experiments and see where they lead us, rather than going all in on a particular strategy. To that end, I aim to learn a bunch of things with this approach and I also aim to talk about it as much as I can. This blog has been lean on my "learning in public" experiments as of late. It's time I got back to that.

My thanks to everyone who has worked with me, interacted with me, been part of The Testing Show podcast as a regular contributor and as a guest, shared a meal with me at a conference, come out to hear me speak, participate in a Weekend Testing session, shown support to the Bay Area Software Testers meetup, and otherwise given me a place to bounce ideas, think things through, and be a shoulder to cry on or to just hear me out when I feel like I'm talking crazy. Regardless if you have done that just a little bit or a whole lot, I thank you all.

Here's wishing everyone a happy, healthy and sane 2018. I look forward to talking with you all in the new year and beyond. Also, thank you, Talking Heads, for the song "Once In A Lifetime" as it has provided me so many clever titles for my year-end posts these past seven years (well, I think they are clever; your mileage may vary ;) ).

Thursday, May 11, 2017

Out Go The Lights: 30 Days of Accessibility Testing

The Ministry of Testing has declared that May should be "30 Days of Accessibility Testing". As in the days of yore when I used to take on these challenges and blog regularly, I'm in the mood to get back to doing that. Therefore, I am looking to write a post every day around this topic and as a way to address each line of their checklist.

11. Turn your screen off and rely on a screen reader.

This is going to be a short entry. Why? Because I'm writing it entirely in the dark. My screen reader is telling me where I am, and I am not hearing back what I type, so I'm tabbing back and forth to hear what I've written. It's one thing to use a screen reader for testing, but it's entirely different to really have to rely on it. 

It takes me a long time to type out just these short sentences, and then wait to hear them back to hear what I actually wrote. Also, if I get frustrated enough, I can always go back and turn the screen on to see where I am. For those who are truly sightless or have a significant visual impairment, that's not an option.

If you have the opportunity to use VoiceOver or NVDA, seriously, try this challenge out. Don't be surprised to find out how frustrating it can be, and then remember, if you have normative vision, you can always turn the screen back on.

Monday, May 8, 2017

An Ode to Jason Becker: 30 Days of Accessibility Testing

The Ministry of Testing has declared that May should be "30 Days of Accessibility Testing". As in the days of yore when I used to take on these challenges and blog regularly, I'm in the mood to get back to doing that. Therefore, I am looking to write a post every day around this topic and as a way to address each line of their checklist.

I was away for the weekend and with limited Internet, so I have a couple of entries to do to get back up to date. Therefore there will be some doubled up entries. With that, here's #6:

6. Learn about assistive technologies, and share one you liked (hardware).

Whenever I hear about Assistive Technologies, I can't help but think of someone that was a contemporary of mine in the Bay Area music scene who, due to developing Amyotrophic Lateral Sclerosis (ALS), had his musical career and ascent cut short, but never stopped. That person is Jason Becker, an amazing guitarist that first came to my attention as part of a group called Cacophony. He grew up in the San Francisco East Bay area same as me, and we played in many of the same places. I saw him play several times in the mid to late 80s. I had the chance to talk with him just one time, briefly, after Cacophony played The Stone in San Francisco back in 1988. I was 20. He was 18. Shortly thereafter, he became David Lee Roth's guitar player and helped write his "A Little Ain't Enough" album with him.

That was when he was diagnosed with ALS.

Over time, his mobility would be greatly diminished, but his spirit and determination just would not quit.

Jason's Dad, Gary Becker, develop a system of communication called Vocal Eyes. Gary describes the process in this YouTube video:


Basically, it's a board with a movement tracker that allows Jason to quickly spell out and create words to communicate with others. The eye tracking method lets him quickly put words together and, while not seamlessly communicate, it's actually quite fast and he's definitely proficient with it.

In many ways, Jason was the person that first inspired me to want to learn more about Accessibility, and Gary inspires me to always look for ways to keep moving forward when it may seem impossible to do so. 

Jason still inspires me today, and thus, it gives me great pleasure to pay tribute to him as part of this Accessibility testing challenge. 

If you'd like to know more about Jason and the absolute unwillingness he has shown to give in or give up and to do all he can to keep making music and communicating, I highly recommend seeing the documentary "Not Dead Yet". The trailer can be seen below:




Friday, October 7, 2016

In That Moment of Terror, Evolution Occurs

There has been much of interest in my day job as of late. Much to keep me busy, much to ponder and consider, and definitely wondering "where do we go from here?"

In the course of the past two weeks, we've received the news of two, frankly, heavy departures from my company. One of them is for an amazing reason. Our senior software developer, Audrey Tang, has left us to become a Minister without Portfolio in the Executive Yuan of the Republic of Taiwan. Seriously, how does a software company compete with that? The second is of our Vice President of Engineering, who has been with our company for ten years, and has the deepest institutional knowledge of anyone in our company. With these two departures, I've come to realize that I am now one of a small few who are the senior members of the team. In short, whether my role or job title reflects it, I'm now one of the "sages" of my company. Only four other people have longer tenure, and that's measured by months, not years.

To be honest, some people are fearful. What does this mean? Where do we go? Can we do what's expected? Those are completely legitimate questions, and I find it interesting that a number of people are asking me for my "lay of the land" in this situation. I'm not going to talk "out of class" so to speak, but I am going to share some general thoughts that I think are relevant to anyone in any work capacity, and they match my general philosophy overall.

This is a time of uncertainty, sure. How long will it take for us to replace these two people? I'll argue that they can't be "replaced". We can hire people, or promote people, to fill their roles, but we will never "replace" their drive, genius or quirks that made them effective. My answer is "don't try". No, I don't mean give up, I mean don't try to replace them. Instead, forge ahead with new personalities, new ideas, new modes of genius, and dare I say it, insert yourself into the conversation or situation if it makes sense. First, who's going to stop you, and second, they probably are elated you want to help carry the load.

Evolution doesn't come at times of health, well-being, peace and comfort. It comes at times when there is a crisis, or a threat of extinction. We don't learn when things are going well, we learn when things are going haywire, and we need to solve real problems. Over the past few years, I've determined the best course of action is "We seem to be having some trouble here. How can I help?" I came into my current company as a tester, with testing my sole focus. Upon the death of a co-worker and mentor, I took over their role as Release Manager, and became more familiar with our code base than I likely would have otherwise. I didn't get promoted into that position. I saw there was a hole now, and no one there to do that job, so I decided to figure out how to do it. No one said "No, you can't do that, you have to go through channels". Well, not entirely true, I did have to convince a few people I really did learn enough about what needed to be done to get access to resources necessary, and in that process, I did basically declare "I'm Socialtext's Release Manager", when there was no one official to back me up. What happened? The de-facto became official. I became Release Manager because I declared I would be it, and under the circumstances, there was no one in a position to really object.

Today, I see similar opportunities. If I ever wanted to declare myself as the head of Dev-Ops, or to declare that I am now a supporting software developer, or even help chart architecture decisions, that time is now. However, I will not be able to really do that unless I am also willing to put the time in necessary to show I have both skills and willingness to do it. I'll not pretend that I'll be promoted to VP of Engineering. That's a bit beyond my skill set or desire, and we've already got a new VP of Engineering, but they will feel like a fish out of water for awhile. My plan is to do what I've found to be most helpful, which is to say "you seem to be struggling with some challenges... how can I help?"

Friday, July 29, 2016

Consider the Source: A Tester Invades Philmont

One of the more entertaining aspects of our trek would have to be the final two days, in that we were joined by an expedition mate that, let's just say, is a little different than the average hiker:


Testhead readers... meet "T.K."

Actually, his real name is "30", which is the number he wears around his neck for identification purposes,  but part of the "Burro Expedition" experience is that each crew gets a burro to join them for two days, and the crew gets to name the burro for the duration of the trek. Needless to say, it would be impossible to keep track of the names changing all the time, so the burros are officially known by their numbers, but are also conditioned to respond to any name they get called. 

During our trek, the boys talked a lot about the Anime series "Angel Beats" (which also happens to be one of my favorites), and we joked a lot about who our favorite character in the series was. That character was "T.K.", a long haired, always moving dancer who would speak in nonsensical English phrases (even in the original Japanese recording). When we met burro number 30, and he came up to us and looked at us with a circular head bob, we all laughed at the similarity to the movement T.K. did in the anime, and we all said "Hey, let's call him T.K.!" With that, T.K. became an official member of the crew, and would help us on the trek for the last twenty miles or so by carrying some of our gear for us.

As we were making our way to the Baldy Skyline camp area, we had a number of choices we could take to get there. As we scanned the area, we saw that there was a road that looked to be a straight shot up to the area, and pretty short by comparison. We started walking towards the camp and for the first bit of the stretch, T.K was walking alongside us and made no fuss. When we saw a fork in the road, and the trail that continued up to the camp area came into view, TK started walking that way, but we guided him back to the main road. Over the course of the next few minutes, TK walked slower and slower, and finally stopped. We tried to coax him forward, and we'd get a few steps in, and then he'd stop again. We did this about half a dozen times, and each time, it was getting to be progressively harder to move TK further up the road.  

Additionally, as we looked at T.K., we had the impression he was looking at us as if to say "hey, you guys are all idiots! Did you see that trail that forked off the main road a while back? That's where we're supposed to go. Trust me, I've done this trek more than a few times, I know how to get there!" Still, we felt confident that our short cut would work and save us time, so we persevered. I've had experience leading horses and burros in the past, so I took it upon myself to hold his bridle and lead rope and coax him up the road, and ultimately, he let me lead him up the road.

The road we had chosen changed. It became steep. It was straight, sure, but it was also a laborious climb to get up to the ridge line where the camp was. It was tiring, it was in direct sunlight, and by the time we reached the top of the road and the ridge line, we realized that, while we were at the top of the hill, the actual camp area we needed to be at was still about two kilometers east. As we trudged to the camp area, we saw the trail converse with the upper road, and we also saw that the trail was coming out of a wooded area, with plenty of shade, the trail meandering through a range of switchbacks that, while longer in total distance, would have been much kinder to our knees and backs. As I looked at T.K., it felt as though he was saying "See, I told you you were an idiot! I could have led you here and saved you a lot of hassle, but no, you had to go your own way. How did that work out for you?"

Does this sound familiar? I know it does to me. I've had this experience with my teams. We are so sure that what we are going to do will save us time, it will be different than all the previous times we've tried to meet a goal, but someone, usually one with a lot of experience, puts up resistance and tries to point out what we should be doing. Often, that advice goes unheeded, only to come back and bite us later when we realize that the insight was valid, accurate, and based in experience, but our hopes and optimism for a faster way (or a looming deadline) blinds us to the hard earned experience. 

I chuckled as I thought about this the following day, when we left the Baldy Skyline camp to head down to the next area and followed the main trail. T.K. just started going, and he barely stopped. He knew where he was, and he knew where we needed to go. Sure, we consulted our maps to be sure, but otherwise, the trail was the most direct route, and he just plowed ahead until we chose to call a halt for a rest break. During the remainder of the trek, as we were debating ways we should go, I'd quietly nudge T.K. to move forward, and I'd see where he wanted to go. Typically, I'd encourage following his lead, and each time, it would prove to be the most direct and easy to navigate route. Sure, it would have been more adventurous to bushwhack, but I'm sure T.K. appreciated not having to climb over or around felled trees or other obstacles.

There are times when new vistas are open to you, and there is no trail to follow, and one way is as good as any other. At times, though, there are those who have gone before us, and instinctively know when we are going the wrong way. It's wise to step back and listen to those who express reservations. Who know how much sweat and toil they might save us if we listen to them ;).

Thursday, July 28, 2016

The Passion of the Champion: A Tester Invades Philmont

A couple of days ago, I shared the challenges that some of our youth leaders faced when they wanted to break camp and get to the next destination. Sometimes they had their act together. Many times they didn't. It would have been very easy for me to play the dictator and push and yell to get the team moving. I've done that before. It's very efficient, but it does nothing to develop actual leadership or confidence in abilities.

This was especially true the third day into our trek. Our Wilderness Gia wanted to do a special ceremony/presentation around the Leave No Trace principles. He'd planned out the whole thing, and was really looking forward to doing it. That third day, we had a late start, and we had to cover a lot of ground, much of which was unmarked and required us to climb and descend a ridge, cross a river, and make our way to that day's base camp. By the time we arrived, we were all bone tired, most of the day was gone, program areas were closing, and one of our boys was exhibiting signs of altitude sickness. Needless to say, I had to tell our Wilderness Gia that the ceremony he wanted to do wouldn't be possible today. Based on the performance of the group today, tomorrow wasn't looking too good either, but we'd figure something out.

The reaction I got back to those comments was both unexpected and slightly amusing. He fumed, looked at me with complete disbelief, frustration and shades of anger. He was really invested in having this ceremony take place. Seeing this, I looked over to my associate advisor, asked for a minute, and said "want to try an experiment?" My fellow advisor was game, and with that I returned back to our Gia and said:

"A sunset ceremony just isn't possible under the circumstances, but would you be willing to shoot for a sunrise ceremony? Look at the ridge line up there. It will take a little while to make the climb to the saddle, but we could do it in about an hour. Problem is, we are going up and over the ridge, so coming back for our stuff and doing it all again doesn't make sense. If you want the sunrise ceremony, you will need to make sure everyone is up, packed, and ready to leave camp at 5:00 a.m. That means waking up at 4:00 a.m. to make the departure time. Doable? Yes! Do I think you all will be able to? Surprise me :)!"

With that, I prepped for dinner, went to bed, and figured the sunrise ceremony would likely not happen. 4:00 a.m. rolls around, and what do I hear but the Gia up and about, waking his fellow trek mates, working with them to get out of their tents, those same tents broken down and packed, and hustling to get everyone ready to go. Each opportunity he came around, I asked if there was any cause I could lend my hands to (a phrase the crew got to know regularly; I didn't tell anyone what they should or shouldn't do, but if they asked me to do something, I was always ready and willing to do so). Needless to say, we got out of camp in record time, and we made the scramble up the ridge line to the saddle, found a great spot to set up, and he led us in an excellent presentation that included meditation, discussion and watching a beautiful clear sunrise come up over the Great Plains and peek through the Sangre de Cristo mountains. What's more, we had an easy downhill descent into the Valle Vidal, a flat walk to our re-provisioning spot, and the ability to arrive at our destination for the day at 10:00 a.m. We had plenty of time to set up camp, relax, make lunch, join in activities at the base came, and basically bask in the fact that today's mileage, while comparable to yesterday's, went faster and so much more comfortably.

What was the difference? One of the youth leaders was on fire. He was on a mission to make this ceremony happen. His drive helped carry everyone else along. He spelled out the importance, what it meant to him, and what he himself was willing to do to make it happen. As an adult leader, I do that all the time, but there's a considerable difference when a youth leader decides something is important enough to push the rest of the group along.

If there's an initiative you think is important, be a champion for it, but better yet, encourage others to champion that initiative alongside you. Our Gia wasn't successful just because he was persistent (don't get me wrong, that helped a lot ;) ). He was successful because he was able to get the other boys to share in his vision. He got them excited about doing what he had planned. That turned into action and results. More to the point, it gave them an excellent contrast between the rushed and harried pace of yesterday, and the nearly effortless and smooth feeling of today. I was able to use both mornings as models for what to do and what not to do. It would be great to say that they always made early morning camp breaks after that, but that would be untrue. We had our share of late days after this, too, but it made a stark contrast for them to see the difference in how they performed, and felt, comparing the late departure day to the early departure day. Over time, it became easy to help them share that narrative, and encourage them to get the early start on the day, but in those cases, someone else was able to champion a reason, and get others to rally around their flag.

Wednesday, July 27, 2016

Pay Attention to Your Team: A Tester Invades Philmont

One of the factors that I had to deal with during our Philmont expedition was paying attention to the health of the participants. One of the more challenging issues, and something many of us were not used to dealing with, was altitude sickness. In a general sense, altitude sickness is the effect on the body of a lack of oxygen at high elevations, and is usually felt by people who have not had a chance to acclimatize to a higher elevation environment. Simple symptoms had to do with exhaustion, hyperventilation, and an overall feeling of nausea. In this environment, we had to weigh how long it would take us to get from point A to point B, but at the same time, monitoring what could be developing health problems that, left untreated, could become serious.

One of the most disheartening things is to watch someone physically suffering through a hike. The smile leaves their faces, there's a grim look to them, similar to the "thousand yard stare" that was often used to describe soldiers, and on occasion, listening to boys coming into camp literally breaking down from exhaustion (in some cases rendering them to the point of tears). We had practiced backpacking scenarios for months, and we had gone through numerous terrain variations as well as carrying heavy loads on these practice runs. We felt sure we had met the rigors required, but when you live at sea level, and the highest elevation in the vicinity is just a little over 3,000 feet, there's just no way of preparing for days at 10,000 and 12,000 feet without going to those elevations and hanging out for a few weeks. We didn't have that luxury, and at certain times, we paid for that.

Be Alert and Attentive to Your Team

Each morning, I would do a simple ritual with all of the participants. While I would not dictate the activities of the trek itself, I did have authority over the safety and health of the expedition, so every morning I ensured that every participant was leaving camp with a liter of water for every hour we anticipated being on the trail (meaning we carried four to eight liters of water each day). Additionally, I made sure each participant had a separate Nalgene bottle that was topped off and mixed with an electrolyte drink mix (Gatorade, All Sport, Skratch, etc.) and made sure that they were drinking from it regularly. It may seem counter-intuitive, but you have to actively think about drinking water when you are engaged in long hikes. I found that, when I got into the zone of a hike, I would go for extended periods without drinking anything. At seal level, that may not be a big deal, but at higher elevations, the body goes through more water more quickly. If you feel thirsty, you are already in trouble (as in you are already dealing with moderate dehydration).

One thing we found helpful, especially on quick elevation rises, was to use a "procrastination dash" approach to the hike. We often struggled with trying to find a balance between keeping a good pace and allowing for adequate rest and recovery (because elevation sickness becomes more pronounced if you do not allow yourself adequate rest). To this end, we decided to do a cadence of ten minutes active hiking and two minutes of "standing rest". We would repeat this sequence ten times, which would give us 100 minutes of active hiking and 20 minutes of rest. At the end of the two hours, we could take off our packs and have a genuine rest for twenty minutes. The rest breaks were mainly so I could ensure everyone was drinking water and actually see them do it. Over time, we were able to shake of the headaches, nausea and other symptoms that were becoming a regular occurrence.

This may seem like an odd story to relate to from a testing perspective, but I see similar parallels when I am looking at skill levels and abilities on our respective teams. Some people are super resilient and can take on anything, while others struggle and suffer quietly. As I watched the participants deal with the challenges of the trek, I came to realize that some would complain easily. They wore their discomfort on their sleeves, and it was easy to tell where they were on a mood level and a health level. The real challenge were my "stoics". I had a few guys who were determined to not let me "see them sweat". They never complained, never gave me any reason to believe they could be in danger, and yet each and every member of the expedition at some point dealt with symptoms of altitude sickness.

For the stoics, their conditions were often more challenging, because I didn't see the signs until they were deep in the hole. Likewise, with our teams, we may have those same stoics among us, willing to shoulder their load and muscle through, but lacking in technique or additional understanding that could make them more effective. Too often, we don't learn about what the stoics need until they have actually cracked or gotten themselves into a situation where they can't hide any longer. From this trek, I realized that it was worth a moment's annoyance to confirm that everyone was doing what they needed to do, and was getting the food, water and rest that they needed. Our work teams have similar needs, if not so physically oriented.

Tuesday, July 26, 2016

A Tester Invades Philmont: Lessons from the Trail

Well, I made it.

An event that I had trained for, lost a lot of weight for, and did a lot of practice runs with a scout troop to help make us eligible to participate in has come to an end. I've been home for a week now, and I've been able to think a bit on the various events, activities and opportunities to learn that I, and my Troop, were subjected to.

Six youth and two adult advisors took to the backcountry of the Sangre de Cristo mountains in New Mexico for two and a half weeks, and we all lived to tell the tale. It's a safe bet everyone who participated in this trek came back changed. For the next few posts, I'd like to talk about some of those changes, and what I learned while I was unplugged from civilization for that time.



First, a little background. A part of my scout troop participated in a trek at Philmont Scout Ranch. Philmont is the largest of the USA High Adventure bases used by the Boy Scouts of America. Other properties used for High Adventure bases are Northern Tier (located in the Boundary Waters region of Minnesota), Florida Sea Base (located in the Florida Keys), and Summit Bechtel Reserve (located in the mountains of West Virginia), but Philmont is the one that most Scouts have heard of, and for many, it's the ultimate destination for a high adventure trek at least once in their scouting lives.

Crews are limited in size, from a minimum of seven to a maximum of twelve. All participant need to be at least fourteen years old. There are weight requirements and fitness requirements for both youth and adults to attend. We quickly learned that these were not suggestions, but genuinely necessary for successful completion of treks. For 2016, Philmont offers thirty-five possible treks for crews to take part in, and encourage early selection of a variety of options. Once you get assigned an Itinerary, that's the one you do, and everything is built around your itinerary. Ours was #10, which focused on going into the Northern part of the Philmont property, as well as hiking into regions of Carson National Forest and Valle Vidal, as well as going into places where trails and trail markers didn't exist, or at least would make the journey longer if we were to follow them.

An expedition is led by a Crew Leader, along with a Chaplain's Aide and a Wilderness Gia (Guide). All of these jobs are held by youth members of the expedition. Ideally, adults advise, but call no shots and get no votes on what the expedition does. Needless to say, what is ideal and what actually happens often doesn't line up, but more on that in a bit ;). We determined that "we advisors" would do little in the way of active management of the trek. We would offer suggestions, we would model behavior, we would give examples of things to do for the boys to learn from, but as much as was in our power, we would not interfere with their decisions or operations. This gave us ample opportunity to teach, but it also gave us ample opportunities to learn about group dynamics and leadership in general.

At the outset, I want to say that I am immensely proud of this expedition and what it accomplished while it was out in the field. I'll dare say I learned as much from them, if not more so, than they did from me. Still, there were some interesting observations I'd like to share.

Leadership is a Walk

If there was any one thing I wish I could go back and help train this expedition better to accomplish, it would be to see how they could execute on the plans they made. Leadership is more than making a plan and telling people the plan. That part is easy. The difficulty was actually getting the group to execute on what they agreed to do, and seeing the consequences of not executing. The two adult advisors shared a tent, as well as some common equipment. We both knew what we had, how much space it took, and what it would mean for us to carry it on our backs for ten days. Because of this, we split up our obligations. We split the gear, including the tent, and we knew what we needed to do. Each morning, we'd wake up 15 minutes prior to designated wake up, because that's just what a leader does; we know we have to take care of our own business before we can be of any help to anyone else.

We'd wake, stow our personal gear, break down our tent, finish packing our packs, put them in the pack line, and then we'd sit in a central area and wait for the boys to do their thing. Some mornings, we'd be waiting an hour or more for the leaders to wake up and get the rest of the group moving. Sure, it would be easy for us to walk over, tap on the tents, and remind the leaders what time they said they wanted to wake up. At times, we would, quite loudly, talk among ourselves to give the hint that they should be awake and active. Simple things that we took for granted seemed to be a challenge for some participants, such as setting an alarm to wake up, or to do something as simple as to ask one of the adults to use their alarm, and follow up with them to get them up on time.

Another stumbling block to execution was the stowing and transporting of shared expedition gear. Bear bags, ropes, carabiners, pots and camp stoves were the property of the entire group, so provisions had to be made for each item to be carried by someone. On several of the early days of the trek, the delay in getting everything packed was "who is going to carry (fill in the blank item)?". Everyone knew what they needed to carry that belonged to them, but allocating items that were expedition equipment seemed to be a recurring problem. Each day, someone waited to see who would make the first move to carry whichever item needed to be carried. Few were the ones willing to just divvy up the items and say "I'll carry this" and be done with it. This often meant that it might take an extra hour or two to sort who would take what.

Sure, I and the other adult leader could have just said "you take this" and "you carry that", but that went against the whole ethos of the trip. We were there as suggesters and as extra sets of hands. Needless to say, we often struggled with this. It's easy to say that you will step back and let the leaders lead, no matter how painful that process might be. At times, it truly was panful, because the solutions, at least to me, were so obvious. I realized, though, that was not entirely fair. I've had years of experience, both on the trail and in everyday life, where efficiency and effectiveness developed from many experiences where I was anything but. These boys were in a new world. They came to realize that saying they were leaders wasn't enough, they had to actually be leaders. At times, they would succeed. At times, they would fail. Usually, they would fail because they couldn't see a larger picture.

Each morning, we'd have to break camp and get to our next destination. Often, that next destination was anywhere from six to twelve miles away. That may not seem like much when walking city streets, but it takes on a different meaning when you are carrying fifty extra pounds on your back, have no set trails, and are at altitude over 9,000 feet. A term that I mentioned often was "hiking in the heat of the day". It was a very different experience hiking at six or seven in the morning than it was hiking at ten or eleven. The temperature could be as much as forty degrees higher (that's Fahrenheit, because we're American's, and we just use that system. I know in the rest of the world a forty degree difference means something significantly more ;) ). Still, that difference had a big impact on the progress of the rest of the day, and what energy reserves were left at the end of the hike to do things in the new base camp area. An early start meant a relatively quick hike, with plenty of energy and time to do program activities and relax a little bit. A late start often meant arriving at our camp late in the day, no time to do fun activities, and a scramble to get done what we needed to to get camp set up, dinner cooked, and to get some sleep before the next day. It tok a few times, but my comment of "hiking in the heat of the day" slowly started to sink in, and the group figured out what it needed to do to get a move on, so it wouldn't have to bake under the hot sun for too long each day.

I see many parallels in the work I do every day, in the way that I often lead testers and other engineers on my teams. It's so efficient to just tell people what to do, but real learning and expertise is rarely developed that way. Often, advising as to a course of action, and then stepping back and letting people do what they need to do is a much better option, but it is also filled with frustrations. It will rarely be done the way we want it to be done, or in the timely manner we would hope it would be done... at least, not at first. However, when people are held accountable for the execution of their plans, especially if they say they will do something a certain way, they will often meet up with those expectations over time.

It requires a willingness to walk a leader's walk, and at times, that willingness means being able to model correct principles, yet let people govern their own ways of actually accomplishing the goals they set. Yes, that includes dealing with the consequences of their actions (or inactions) at times. I frequently told the participants of our expeditions that the adults were ready an hour or two before they were, and as such, we just sat and waited, and of course we suffered through their delays and "hiking in the heat of the day", too. Over time, though, they came to internalize what they needed to do, and they also figured out how to cut their time from waking to walking down considerably. It's a shame we didn't have another ten days, as I think they would have been fantastic on a second leg. As it was, they were getting the hang of it by the time we ended the trek. Maybe they can carry it into the future and other activities they do. Time will tell :).

Tuesday, December 29, 2015

How Do I Work This?

It's another year end, and another chance to come back to the Talking Heads song "Once in a Lifetime", since I feel it to be an apt metaphor for this blog, as well as the past couple of years of growth, change, learning, unlearning, accomplishments and frustrations, steps and mis-steps, and all of the other things that come with being a software tester in a changing software world.

I celebrated five years of Testhead this year, and passed 1,000 blog posts. I also had an opportunity to expand my blogging to some additional areas, including a stint with IT Knowledge exchange and the Uncharted Waters blog. As with many things, times, priorities and situations change, and I wrote my last blog post for Uncharted Waters back in November. It was a good run, and I thank ITKE, Matt Heusser and Justin Rohrman for letting me offer my perspectives on a few things this past year.

This was "The Year of Accessibility" as Albert Gareev and I decided we would combine our efforts and work on talks, test ideas, workshops, presentations, and a stretch goal of preparing a treatment of a book about Accessibility testing. I am happy to say we made some great steps in that direction. we both delivered several talks at various local testing groups, as well as national and international conferences. We proposed and collaborated on ways to present the materials, and we introduced two mnemonics related to accessibility testing (HUMBLE and PaSaRan). We did not complete the treatment for the book, at least, we have not completed it yet. Part of it was time and other things getting in the way, but for me it was also the discovery of and a developing interest in the parallel discipline of Inclusive Design, which I think can be an excellent addition to the discussion Accessibility Development and Testing. 2016 will see me branching into other areas to talk about, but rest assured, this is a labor of love for both of us, and you will see plenty more from us on this topic in 2016 (that is, if Albert wants to keep going with this; I'll not presume to speak for him ;) ).

This year saw many personal changes, most sparked by one defining factor. In April, I said goodbye to Ken Pier, my director, my mentor, and my good friend. He died of cancer, and he left a hole in our testing team that we are still recovering from. After several months of searching, we found another tester to join our team, but we did not replace Ken. We cannot replace him. We can only carry on, while keeping his legacy and influence alive. Part of that meant we chose to integrate our testing team with the broader engineering group. We all report to the VP of Engineering, and we all are "developers" on the same team. In addition, I've taken on the responsibility of being the release manager for the company, which has required some "interesting" lessons in the realities of software development, continuous delivery, continuous deployment and continuous testing, and the limitations that corporate entities may require to make these systems work. In short, this year saw me step into more of a "specializing generalist" role, and to spread into more development initiatives than I had been involved with before. If I thought I was ignorant on software delivery concepts before, it's been made abundantly clear just how much i still need to learn.

This change, and the necessities of the demands of work, required that take a hard look at the things that I could effectively do, as well as the things I could not do any longer. After four years of involvement, I stepped down from involvement as part the Board of Directors for the Association for Software Testing. I did this for a number of reasons. First was the demands of work and home were making it less possible for me to deliver on what I felt the organization should do. I would rather say I cannot do something than say "yes" and not deliver. Sadly, I saw more of the latter happening than I wanted to. Additionally, I feel that organizations are not well served when people become "too comfortable" and "too entrenched". We as people stop growing, and the organization loses out on new ideas and innovations that others can provide. I am still actively involved with AST, both as an instructor and, going into 2016, as what I hope will be more of a content provider role as we develop new materials to supplement current classes and, we hope, create brand new ones.

One area that I have likewise addressed, and has been a big part of my life for the past few months, is a focus on my personal health, and a change of habits that I became determined was necessary. The deaths of two coworkers within the past year, both from the same condition, and one I have genetic markers for, have made it a priority with some urgency for me. Many of my posts have been written around fitness, health, and using software testing principles to re-create myself. For some of you, that's been a nice addition to this blog. For others, probably an annoyance ;). Still, it's part of my learning, and I think much of what I have learned has relevance to testing and discovery, so I will continue to talk about and post those items here. I will, however, be making a slight change going forward. From now on, when you see a post with the word "Aedificamus" in it, know that that post likely has something to do with health, fitness, food or some other learning on my journey to get and stay as healthy as possible. Aedificamus is Latin and, loosely translated, means "rebuilding through practice".

As I bring this year to a close, sometimes I wonder if people still consider this blog relevant, or if what I write has had an impact for other testers out there. Needless to say, I was both humbled and gratified to hear Brent Jensen and Alan Page both mention the TESTHEAD blog as one of their picks for 2015 on the A/B Testing podcast. It was really touching to hear Brent say that he appreciated that I was learning about, and publishing as I went along, the changing landscape of software testing, and where I felt my role in it might lie both currently and in the future. Some years ago, I did an extended review of 'How We Test Software at Microsoft" and I recall Alan Page writing about how he appreciated that I "got it", that I understood ultimately what he and his co-writers were trying to say. For me, it's my turn to return the favor. Thank you, Alan and Brent. thank you for "getting" TESTHEAD, and thank you so much for the shout out in your year in review podcast. I am proud to have you at the top of my list of alphabetically ordered favorite podcasts ;).

This year requires a lot of thanks to a lot of people, some of which I have mentioned already, but additionally I want to say thank you to Erik Davis, Markus Gaertner, Keith Klain, Alessandra Moreira, Justin Rohrman and Pete Walen, my fellow Board of Directors members with AST for the 2014-2015 year term. Thank you for your support during my year as President, and all of your help and encouragement along the way. Additionally, thank you to Ben Yaroch for being an advisor, for letting me know when I was doing something good, as well as when I was doing something stupid. I appreciated the advice every time, even if I did or did not always act on it. My thanks also to Ilari Aegeter,  Alex Bantz, Roxanne Jackson and Eric Proegler for stepping in this year and becoming Board Members to keep the work moving forward. I love the energy you all bring, and I am excited to see what we all do next. My thanks to Justin Rohrman (again), Albert Gareev (again) and JeanAnn Harrison for your continued efforts along with me to facilitate Weekend Testing Americas. We celebrated our fifth anniversary this year, and I am happy to say we are still going strong, thanks in no small part to your efforts. My thanks also to Matt Heusser for his willingness to include me on a variety of projects and to always be a springboard and feedback for ideas both well formed and, sometimes, in need of considerable polishing. I look forward to many more opportunities to keep storming the castle. Thank you Josh Meier and Curtis Stuehrenberg for working with me to keep Bay Area Software Testers a thing. We have a lot of software testing talent in the Bay Area, I want to see that talent grow and us help that process. There's lots to do :). Finally, my thanks to everyone who listened to me speak, participated in a class, joined a weekend testing session, came to a meetup, or read and shared a blog post of mine throughout this year. Thank you for making 2015 a great year for me, and here's looking forward to 2016. I'm curious to see what the title will be next year ;).

Tuesday, December 22, 2015

Aedificamus: "What's Your Secret?" is Really "How Did *You* Do It?"

It all started with a picture. Specifically, this one:


It's a picture of me, hunched over on the couch, holding an at the time tiny kitten. I can make excuses all I want (bad angle, bad posture, etc.), but this picture was the moment when I finally said "Enough!!!"

I have a mental image of myself. This size, and these dimensions, are not it. I made a commitment I would turn this around on August 14, 2015. We were at a celebratory dinner for my son's 19th birthday. When we came home, I weighed myself and about screamed when I saw I was 260 pounds!

Four months and a few days later, my daughter took another picture. Specifically, this one:


This picture was taken Saturday, December 19, 2015, after a day strolling around the Dickens Faire. Having bought new clothes a couple days earlier, and having tipped the scale at 205 pounds that morning, I felt a little celebratory, and wanted to record the moment. Along with other pictures, I posted this one as a way to say "here's what I've done so far, and I still have quite a ways to go."

 I received a number of comments, and a few people asking "what's your secret?". 

As I've pointed out many times, there is no secret other than "do more and eat less", but I want to thank my friend Adam Yuret for, amusingly, pointing something out to me. He said that, as a consultant, he is often asked by clients to share "secrets of success". Were he to answer them with "there are no secrets, just hard work and execution",  the result would be he would have angry clients. They want to have something to grab on to, something that will help them know that, this time, they will succeed. You may know different, you may know there's no magic bullets, but they aren't asking you for a talisman... they are asking "How did you get from Point A to Point B?"

Another friend sent me a message asking a similar question, i.e. "what's your secret", but they made it clear in the message that what they really wanted to know was "what is your system?" They could see I'm doing something that is working, but could I give them some more details about what I chose to do, and why, so they could see it in a broader context? That is absolutely a fair question, and yes, by going back and reviewing the past four months data I have accumulated, I realized I do have a "system". It's not elegant or clean, but I can offer some thoughts on what I have been able to do and learn over the past four months. 

Some of this is going to seem very elementary, and some of this might sound a bit... odd. Nevertheless, after going back and reviewing what I've actually done, here's the system that has brought me to this point in time, with the caveat that what has worked in the past may not work in the future, and it may not work as well for anyone else.

Pick an Activity Goal That is Easy to Remember and Accomplish

I made a commitment to "Walk 10,000 Steps Each Day". Regardless of any other activity I may do, that's the one I treat as a mantra.

For those curious, this goal is cumulative, and you can do a surprising amount of walking just in your every day activities. 10,000 steps is roughly five miles, and an hour and forty minutes of total walking. Since I commute by train, I've worked into my daily commute most of those steps. When you make your exercise part of your daily routine and integrate it into things like your commute, that helps keep it consistent.

I should also add that I allow myself one break day each week, usually Sunday. I'm LDS, and as such, I try to not do certain things on the Sabbath. It's a personal decision, and one that I have found I get great benefit from when I follow it. If I am out for a day with my family after church, and I happen to cover 10,000 steps, I don't get too bent out of shape over it. In general, though, I let myself have that day where I don't specifically train. That chance to rest, I feel, is critical to keep focused the other six days to let me go full force. Often, I will go a little further, say 12,000 steps, on the six days so that I still have an every day average of 10,000 or more.


Focus on Variety in Your Activity, Do What Works and is Engaging, Drop What Isn't or Hurts

I think it's important to have a variety of stimulus to get moving and keep moving. Over the course of four months, I have done weight training, calisthenics, body weight exercises, used resistance devices, played a variety of sports, pulled my Dance Dance Revolution games and dance pads out of the closet, and taken up yoga. Some of these activities have had to be curtailed or modified because of joint pains or prior injuries that I am still recovering from. If something hurts, or I am genuinely just not into it, I will find something else to do. What I do is not as important as the fact that I do something, and do it each training day. This is in addition to the 10,000 steps, although I do sometimes combine my 10,000 steps when I play DDR. When I do that, I split the difference calorie wise, which brings me to...

Get a Good Gauge on The Exercise Calories You Expend, In All Categories

This is not as straightforward as many people think, as calorie expenditures for exercises, and the use of trackers like FitBit, etc. are often normalized over the course of a day. Some activities that seem fairly straightforward and mellow have huge calorie counts, and those where we feel we are putting a lot into don't register very much. Yes, exercise burns calories, but not near as much as we think it does. We also eat more calories than we give ourselves credit for, so counting calories honestly and dependably is important, and needs to be done daily. Check this calculator out to get an idea as to how much certain activities measure up in total calories burned.

A Key Value: BMR + 200

Learn your Basal Metabolic Rate (BMR), and understand that it will change as you lose weight. Your BMR is what you would burn in calories even if you were to stay in bed all day and do absolutely nothing. Your heart, lungs, brain, kidneys, stomach, muscles, bones, and every cell in your body needs to be nourished, oxygenated and replenished. That process is energy demanding. Based on your height, weight, age and gender, you can determine what your BMR is at any given time. Here's a calculator you can use to get started.

When I started this process, my BMR was 2,304 calories each day. Today, at 205, my BMR is 1,961 calories each day. Yep, down by 343 calories. The key here is regularly keep checking in on your BMR. Eat up to the level of your CURRENT BMR, plus maybe 200 additional calories for good measure. Check in weekly to determine where your BMR is, and adjust your caloric intake appropriately. Trust me, you will still lose weight because...

Subtract Your Activity Calories from Your Daily Calorie Budget

Your additional activities above and beyond BMR are subtracted from your daily needs. Put simply, "DO NOT EAT BACK YOUR EXERCISE CALORIES". If you have a BMR of 2,000 calories a day, eat 2,200 calories for good measure. Then exercise, work out, go for a walk, do yoga, clean the house, do yard work, play baseball, be a jungle gym for your kids, whatever. Figure out the caloric expenditure of these activities (a FitBit may be helpful here, or some other device, or use the calculator above or an app that has calorie tracking, but again, it will still be an approximation). Subtract those expended calories from your daily BMR+200. If you find yourself going into a fully negative deficit, meaning you exercised more than you actually ate that day, then by all means eat more, but generally determine to not eat back exercise calories. Remember that 3500 calories is the equivalent of one pound of fat, so you need to be running that level of a deficit to actually burn that fat away. 7000 calories is roughly two pounds of fat, and that is a good goal to target each week because...

Pick a Target You Can Commit To, Such as Two Pounds a Week

In the mid 1980's, I was taught that two pounds a week was a good max number because anything beyond that would start catabolizing muscle. I now know a bit more, and understand that no matter what you do, you will burn some muscle in the process of burning bodyfat, just as you will build more muscle if you are willing to accept some extra bodyfat deposits in the process. Also, there's a fair amount of fluctuation with water weight that can cause you to go up or down by several pounds.

The key thing to remember is that your body is very aware of what is happening to it. The human body doesn't care about fashion, vanity or self expression. It cares about survival. It is optimized for that express purpose. We have to work with it so that we don't convince it that we are in a famine, or that we are facing severe trauma. For me, that has meant trying to not be too severe with my weight loss. Additionally, two pounds a week is a good target simply because of mathematics; losing more than that is just plain hard in terms of calorie restriction and time to exercise. Two pounds a week is doable for me. Your mileage may vary.  See this article for a good explanation for the number, why some can do more and why it's not an absolute value.

Be Prepared to Change What and How You Eat, Perhaps Drastically

As part of my process, I developed an approach of "eat it whole, eat it raw, eat it unprocessed, as much as possible". This has meant, generally, that most processed foods I have enjoyed eating (chips, cereals, pasta, packaged bread products, crackers, cookies, soda, juices, condiments, etc.) are no longer a regular part of my diet. That doesn't mean I never eat them, but they are an exception, whereas before it was more the rule. In their place, I tend to eat fresh fruit (raw or from frozen); raw or simply cooked vegetables (again, typically fresh or from frozen); smaller amounts and greater varieties of meats, including eggs; high quality oils, typically in the form of either pressed oils or from nuts; milk products, typically in soft cheeses, yogurt and kefir. I also purchase a protein supplement to help make sure I'm getting enough protein each day. The fiber in fresh fruits and vegetables fills me up to the point that I don't feel the need to eat all the time. I include grains like wheat, rice or oats, but I eat them preferably as unprocessed as possible. I like getting the full berries (red wheat, bulgur, teff, barley, groats, quinoa, amaranth, etc.) and cooking them in a rice cooker (yes, it works the same way, although it needs more water and takes a little longer). Key here is I do not eschew any particular food items, but I try my best to keep them balanced and consume them in a way that my body can reap the most nutritional benefit.

No matter what, though, I find that I have an occasional craving for something sweet and a need to chew something, and vegetables ain't gonna cut it. In these moments, I do have a secret weapon, and that's sugarless chewing gum. Seriously, I chew a lot of gum! I also tend to drink about two liters of water a day.

One thing to point out is that eating clean (meaning focusing on fresh fruits, vegetables, nuts, oils, etc.) can be pricy. On average, I spend $50 a week on food. That does not include meat or other miscellaneous food items. With that in mind, sometimes I have to make economic choices with what I choose to eat. My optimal choice may not always be practical. Fresh is best. Frozen is a good second option, with the benefit that there are no "aspirational frozen vegetables" (they can keep for several weeks in the freezer, and they are often considerably less expensive than buying fresh). Dried would be next (think beans, rice, minimally processed fruits, etc.). I will eat canned food if I absolutely must, but only after a good rinsing because...

Wild Fluctuations With Weight? Hello Sodium, My Frenemy!

Sodium is part of the canning and pickling process, and sodium can be awful to the process of losing weight, especially if you are one to check your weight every day (which, I should mention, I do). It is not uncommon to reach a new low, then spike three pounds, drop two pounds, jump up two pounds again, drop four pounds and then settle at a new low. What is going on?! Days when I see these wild spikes and dips, I can almost guarantee it was because I ate at a restaurant or otherwise didn't have the option to prepare my own food, and excess salt was part of that meal.

Sodium is insidious, it's in just about everything. Don't get me wrong, sodium is important. We'd die without it, but most of us get way too much of it, and definitely more than the potassium we should be consuming to help balance it out. Within 48 hours, most of that weight is gone, usually because I consume enough water to dilute it out, or I increase the concentration of potassium in my system to do the same (bananas are my friend... no, seriously, I love bananas specifically for this purpose). Either way, if you notice that you have suddenly put on a bunch of weight in a day, and you are struggling to figure out why, some of it could be fat deposition, some of it is additional mass in the digestive tract (totally normal and expected), but a good amount of it is water binding due to sodium being a greedy element.

In most of my recipes I do not use salt because I typically don't need to; there's plenty there already. Using it as a flavor enhancer is fine, but be sure you are aware of how much you use and consume, and be prepared the next day when the scale spikes. It'll go away in a day or two.

Pick a Macronutrient Breakdown You Can Live With

Bring balance to what you eat, in the way that makes the most sense. My approach may make sense for you, or it may not. There's lots of mitigating circumstances you have to consider. Health conditions, moral choices, religious considerations, etc. may require you do do different things. Again, being LDS, I do have a couple of food restrictions I choose to follow. Food items and beverages derived from coffee beans and black/green/white tea are not part of my diet. I also do not drink anything with alcohol in it. Outside of those, I consider myself an overall omnivore, with a love for food from all over the world. I've often referred to myself as "utilitarian" when it comes to food. I respect those who choose to be various levels of vegetarian/vegan, and I experiment with recipes in that vein to see what I can do, and often go considerable stretches where I don't eat any meat at all, but I find it overall helpful to my diet and goals, so I keep it as a component, albeit considerably reduced from my prior eating habits before August.

I've experimented with several different nutrient profiles, and the one I like best and find most effective is based on the Zone Diet. I strive to get a gram of protein per lean pound of body weight each day. From there, I aim to get 30% of my calories from protein, 30% from fats, and 40% from carbs. Sometimes I switch the protein and carb percentages (40% protein, 30% carbs, 30% fats).

Regardless of the method, you need to consume less than you burn to create a deficit, and you need to create a long term deficit to have a major impact on fat burning. That is the same regardless of the breakdown you choose to use. Another way I like to help stack this is I use a challenge template that's run at LoseIt regarding fruits and vegetables. Every day, I aim to get 225 calories from fresh or frozen fruit. Additionally, I also aim to get 200 calories from fresh or frozen vegetables. The fruit calories are easy to meet. The vegetable calories, depending on what you choose, might take some doing. Added to that, I try to make a point of varying what I eat whenever possible, so as to get a broad cross section of fruits, vegetables, meats, oils, etc. and also get a broad spectrum of vitamins and minerals in the process. I also take a cheap daily multi-vitamin to cover my bases.

Get Help From an "Accountability Partner"

Find a support system to help you through the process of losing weight and training. Have an accountability partner, preferably one you are not married or otherwise related to. Our families love us, they really do. They can be our biggest cheerleaders, but they can also be our worst saboteurs, often at the same time and have no idea they are doing that. When you have a dispassionate accountability partner, those issues mostly go away. Your accountability partner can be electronic (apps, spreadsheets, training diaries, etc.) or they can be real people you interact with, in person or virtually. I have found a nice balance. I use electronic means, using apps like Pacer for step data, LoseIt for calories, and FitStar for workouts/training, plus I have a BlueTooth scale that integrates with LoseIt that tracks weight, BMI, body fat percentage and hydration levels (though the last two seem to be related in a strange counter symbiosis, and are not really reliable, but that's another topic ;) ).

Additionally, the Social community within LoseIt has been terrific for me. I take advantage of a variety of challenges that occur within LoseIt, and I am a greedy collector of "badges". It makes the quest fun, and it keeps me looking forward rather than behind. Challenges also give you a chance to cheer on others, and let them cheer you on as well. You can certainly train on your own, but having a support system can be tremendously helpful, especially if you check in regularly.


Having said all of that, this is work. It takes time, dedication, and commitment, and will require it for a long time, not just for the duration to lose the weight, but for the time that follows so that you stay diligent and keep the weight off.

I should also mention that this "system" as described was derived over the course of four months, with the idea that I would tweak some small thing each week. Taken in its entirety, were I to say I was going to do everything outlined here on day one, I would probably have given up. This represents a major paradigm shift in the way I ate and exercised, but I made small incremental changes along the way. Consider it "Agile Dieting and Conditioning", where very small changes made regularly brings you to a totally different place months down the road, but the individual changes were so small and so frequent that they were nearly imperceptible. I would suggest anyone looking to make major changes to their lifestyle do something similar. Don't try to reinvent yourself all in one go. Let yourself experiment with small changes, be open to learning what works for you and keeps you engaged, and make small tweaks on a regular basis. I think "a tweak a week" is a good pace.

Another important consideration is "your body is adaptable". What works at one point in time can stop working later. Plateaus happen. Reversals happen. You will get tired. You will get frustrated. You will get angry. You will get invited to events where you decide to chuck your willpower and self control. It happens. We're human. The best advice I've received, and the advice I frequently give myself and others when this happens, is courtesy my friend and accountability partner Pat over at LoseIt...

"Own It... Log It... and Move On!"

If there is any "secret" in all of this, that statement is it. That's the magic. It's the magic of mindfulness, the secret is owning this process and being wholly responsible for success. When we do well, celebrate. When we backslide, acknowledge and learn. When we discover something doesn't work any longer, adapt. Regardless of what it is, good or bad, euphoric or frustrating, enlightening or damning, "own it, log it, and move on".

I'm not perfect by any means, but I know how this feels, and that is often a big help to others. Start your journey, and let me know if I can be of any help along the way. Likewise, I still have promises to keep, and miles to go before I sleep ;).