Friday, July 31, 2015

On the Value of "Running for the Board" and "Being on the Board"

I sit here now in Grand Rapids, Michigan, after what has been a rather "eventful" day.  It started with a very early morning flight, which was delayed due to mechanical trouble, which turned my 90 minute layover in Dallas into a 13 minute layover and a mad dash to get off the plane, get onto the SkyTrack train, get to my gate, and while gasping for breath answer "yes, I'm Michael Larsen, I'm here, please don't give up my seat" I now sit in a hotel room waiting for the logistics of the upcoming weekend and majority of m=next week to take place.

Since 2011, I have been a member of the Board of Directors with the Association for Software Testing. On Wednesday, we will read off a new list of board members, and for the first time in four years, my name will not be one of them. I explained why this was the case a couple of months back, but it's becoming much more real now. This CAST in Grand Rapids will be a "last hurrah" of sorts.

First, I want to say that I have enjoyed my time in this role, but like all things, I believe it is important that others step up and that those of us who have been here awhile be willing to step aside. The organization has new challenges and it deserves new energy from new players.

There are several great candidates vying for positions on the board. Currently, we have seven people running for three seats. That's exciting to see, because it means several people want to make a difference. It's also bittersweet, because it means four excellent people will not get to serve this year. to those who do not make it on the board this year, I heartily encourage you to run again.

I've often joked that being on the board is a bit like being in the military during war time. Most of the time, there are low level details that always need to be taken care of, punctuated by moments of high excitement and, often, accompanies by sheer terror. Fortunately those moments are only occasional, but they do happen.

Ben Yaroch posted a tweet today that really does draw the distinction, both of what is required, and why I feel the time has come for me to step aside:


There's lots of great ideas. We've had many of them. Great ideas by themselves, though, don't accomplish anything. They need people ready, willing and able to roll up their sleeves and do the hard work. I don't think there has ever been an issue with the willing. Ready and able have proven to be genuine challenges at times.

There have been some great blog posts from several of the candidates as to what they hope to be able to do to help AST meet its vision going forward. I encourage everyone to have a good look at the candidates and see what their proposals are, and how their proposals can help shape and even change what AST is and does. Note that the Board is not made of of people that tell others what to do. When you decide to run for the Board, you are saying that you ware willing to roll up your sleeves and be the one "doing the doing". Often, that can be more difficult than it sounds, and progress can be very slow at times, but if persistent, it can and does happen.

Pete Walen wrote an open letter to the board candidates and members of AST, and rather than try to repeat what he said, I'm going to just quote it here, as it's exactly my sentiment as well:

"When considering the candidates for Board positions this year, look at the candidates’ Biographies. Read them carefully. Google them. Google their organizations. If you are at CAST, look for them before voting and chat with them in the hall. Ask them (in person or by email) “In what way will you do the things you said you want AST to do? How will you go about making that happen?”

Then look for the people with a track record of doing things. It is people who do things that we, as an organization, need leading us."


Tuesday, July 7, 2015

Learning Something "Sort Of" New

I want you all to meet a new friend:



This is an A-style flat back acoustic mandolin. It's an instrument that, in many ways, is similar to a violin. It has eight strings, but each set of four strings is doubled. The tuning is the same as a violin (the thickest and lowest pitched strings are tuned to G, then the next strings are tuned to D, then the next strings are tuned to A, and the thinnest, highest pitched strings are tuned to E).

I've played guitar off an on since I was a teenager, and during my years of playing guitar, I cemented a lot of bad habits, but also learned some cool things along the way. I never managed to get proficient enough at guitar to make it a primary instrument, but I did learn enough guitar to be able to write my own songs and show them to other people. One of my great laments is that I never really learned how to play other people's songs. While I can fundamentally read music (I'm quite good at reading the tenor line in vocal scores) it takes me time to read out chords that cover two staves, and it slows me down a great deal. Because of my impatience, I pretty much abandoned trying to read music to figure out already written songs, in favor of using what I already knew to write my own.

A few weeks ago, I had the chance to meet and make the acquaintance of a musician who enjoys performing at various events. We met while interacting with a "living history crew" for a pirate festival. As part of our interaction with the encampment, we got together and worked out a few songs, him on guitar and singing, and me singing accompaniment and hitting a hand drum. The experience was a lot of fun, and we both decided we should put some more songs together for future events. I likewise decided I wanted to accompany on those songs, but since we already had a guitar player, I said "OK, then I'm going to buy a mandolin and learn how to play it, just so we can do this!"

With the first requirement out of the way (that of issuing a "bold boast") I set my sights on finding an entry level mandolin. Frankly, there are many different mandolins out there, ranging from $35 to $3500 and more. I certainly wasn't going to spend $3500 on what might be a whim, but I wanted to make sure I had something usable, reasonably playable, and something that I wouldn't be heartbroken if it somehow got damaged (considering this is going to travel to events that will likely be held in parks, on seashores, and on boats in various places ;) ). To that end, I picked up a Rogue RM-100A Tobacco sunburst mandolin. It feels good enough to play without costing me a lot of money, and if I feel I develop beyond what it offers, I can always upgrade later.

One of the things I am fond of saying when it comes to playing an instrument is that you are better situated to learning a second, third, or tenth instrument if you have already developed some skill at a first one. Each instrument is analogous to another one, and the skills you learn with one can help you learn another. In this case, my guitar experience is both a help and a hindrance. It's a help in that the fretboard dynamics are very similar to a guitar. Fret spacing is different, but the underlying idea is similar. It's a hindrance in that the strings are tuned in fifths rather than fourths, like I am used to. That means all of the chord patterns I learned on guitar don't help me play a mandolin... at least not in the same way. I'm not sure if this is just something I never considered before, or I never had a reason to examine it, but the fifths tuning of the strings on a mandolin (G, D, A, E) is actually the reverse of the fourths interval tuning of the sixth, fifth, fourth and third strings of a guitar (E, A, D, G). That means, if I look at the mandolin's string pattern in reverse order, then the chord and scale patterns I know from guitar actually do work. They aren't perfect matches, but they have been a big help to my remembering where on the fretboard I am, and what I am doing.

Too often, I think we take an experience we had before, and we think "oh yeah, this will be simple" or "oh no, that's going to be too hard". We rarely think "hmmm, I've had experience in one area, I'm curious to see how much of it will apply and how much I will have to initially learn or relearn to become proficient with this (fill in the blank)". For me, I have some interesting goals and challenges that just may help me:

-- the mandolin is an interesting sounding instrument in its own right, and therefore it will be fun to learn how I might be able to play it.

-- I already have a goal to learn other people's songs; it's unlikely I will be called upon to write new nautical sea shanties, but hey, one never knows ;).

-- I have three children who also play string instruments (violin, viola and cello). I can sit in with them and we can look over songs together.

One additional thing I am doing now, which may become annoying to some, is that I'm bringing it with me wherever I go. The reason? I want to be able to practice whenever a spare moment arises. Perhaps not sounding out the instrument, but at least practicing chords or fingering technique, or reading music and trying to see if I can place my fingers faster on the fretboard so I can improve my sight reading. Who knows where this will lead, but if perchance you happen to see me, and I have the mandolin with me, go ahead and ask me to sing ""Get Up Jack, John Sit Down!" or any number of other sea shanties and pirate appropriate tunes. I look forward to the challenge of learning them and, hopefully, performing and singing them well sometime soon :).

Monday, June 15, 2015

Knowing When To Step Down

For the past four years I have had the joys & frustrations of working with an organization, as well as serving on its Board of Directors. That organization is the Association for Software Testing (AST). The positions I’ve served in for those four years include three years as the organization's treasurer, and this past year (so far) as its president. These years have been filled with successes and challenges, satisfying goals completed and frustrating loose ends still to be resolved.

In August, at the Conference for the Association for Software Testing (CAST), those candidates who wish to run, or who are up for re-election, will put their hats in the ring and make a case as to why they should be selected. Earlier this year, I anticipated I would be creating a post asking for your support. Instead, I am putting this post together to encourage others to run and get involved, as I will not be seeking a third term.

Why am I making this decision, and why am I talking about it now?

First, I want to give those who want to run for the board a chance to get their names out and be considered. Second, I want to discuss some of the things being involved with the board entails, and how you can be effective or hope to be effective. Third, I believe that becoming entrenched within an organization for too long can be a hindrance to moving forward, whether intentional or not.

Due to circumstances in both my work and personal life, and the time and attention needed in areas important to me (my family and my career), it is clear the time and attention I can provide to AST, in the role of a board member or executive officer, is no longer sufficient to be effective. To make the time to be effective, I will have to pull away from two critical areas. My kids are at a key point in transitioning from teenage years to adulthood. My work environment has changed due to the death of my director. I've stepped in to fill many of the roles he played. In short, the conditions that made it possible for me to be effective as a board member are not there now. To keep serving in this capacity would be a disservice to the organization. I want to make sure that the work I care about regarding AST can be accomplished. I still want to be part of that mission, but I have to be realistic as to what I can offer and do.

For the first three years of my involvement, I was the treasurer. That meant I had to make sure our financial house was in order. Making sure the money that came in and the money that went out was accounted for was my primary responsibility. Once you get a handle on it, you can do it reliably and have time to think about other things. During the years I was treasurer, we made great strides in breaking out where our money was going, and how to use that money effectively to help local and international initiatives. I still think the AST Grant Program is one of the best kept secrets of our organization. It’s there, but only a handful of people take advantage of it.

Three times a year, we gather together as an in-person group to discuss the business of AST. We have done our best to pick a central location to minimize traveling costs.  For the past four years, that has meant the U.S. midwest or east coast. One of those tri-annual board meetings also coincides with CAST. Anyone who runs will need to be cool with being able to travel for those meetings.

Getting seven people to agree to a decision can be daunting. While we can reach consensus on a number of areas, sometimes we just don’t have the bandwidth or the agreement to put those items into motion. We have been criticized for moving too slowly. The fact is, in some areas, we do move slowly. We are aware that we represent a large and diverse membership. No decision we make will please everyone. Still, we try our best to make choices and develop positions that will benefit the entire organization, rather than be of benefit to only a small number of members. Additionally, if we must make a choice, we will choose not do something if the alternative is to do something poorly.

Once a month, we get together for a monthly conference call to discuss business that needs to be moved forward, and making the time to have that call happen each month is important. Outside of these calls, and triannual in-person meetings, the work of the organization needs to get done and moved forward. Often, real life interferes with that happening.

If you are interpreting my words here as saying “those who wish to run need to have both vision and bandwidth to make sure things get done”, you have interpreted correctly. If you are reading this and thinking I am dissuading others from getting involved, that is the opposite of my intention. I encourage those who do want to run for the board to do so, and do it loudly! While there have been stressful moments, it’s also been fun, and I’ve been really excited about what we have been able to do. I think CAST is one of the best software testing conferences out there. The vision of AST and the members of the board and its various committees make it possible. I think that BBST is a very valuable series of classes. I’ve enjoyed being an instructor these past several years. Even though I will not be on the board after November, 2015, my involvement with BBST will continue. I intend to keep teaching, and aiming to help improve the process and delivery of that teaching.

My recommendation for those interested in running would be to look at something AST does, and demonstrate how you can help sustain and/or improve what we are doing. If AST is not doing something you think we should be doing, make a case as to why you feel you can make that possible, and how you can help make that happen. In the past, those who've been elected had a goal they wanted to see achieved, and they had the energy to see it through. If this fits you, I wholeheartedly encourage you to see our Election page, and make a bid to run for AST's Board of Directors.

I want to thank the AST membership for four memorable years. Thank you for giving me the opportunity to serve in this capacity. I’m leaving the board, but I am not leaving AST, nor will I stop focusing on initiatives I feel are important. I must adjust to current realities, and serving on the board is a commitment of time, talent and energy. There’s a great group of people already there, and we will need great talent going forward. You could be one of those people.

Saturday, June 6, 2015

Learning With Repetitive Action

Yesterday I posted about the idea of developing a "mise en place" system for the things that you do, and I also mentioned that this is something we can do with any number of tasks and goals. One of the things that I have always wanted to do, admired, but never seemed to get any closer to doing, was Native American beadwork. This, I know will probably come across as a strange subject, but it's something I've admired and wanted to learn about and practice for years. Like so many other things, though, the barrier to entry and to regular practice is real.

Below is a picture of what, on the surface, may look like a simple project. As far as bead working goes, this is relatively simple. This is also my "mise en place" for when I do this type of beadwork.



It's a "roach stick" or a "roach pin". For those who dance in Native American Pow Wows, the common head-dress is the "porcupine guard hair roach". These headdresses are held on by a lock of braided hair or through a base material that can be tied to the wearers head (me being bald, I opt for the latter). The roach pin is what is used to hold the headdress in place, either passing through the braid, or acting as an anchor for the shoestring used for tying. These pins are often beaded with rich colors and patterns.

The style of beading that this is is called "three drop gourd stitch". Unlike applique, loom or lane stitch techniques that allow you to string lots of beads together and put them down at one time, gourd stitch is done one bead at a time. This is because the beads are literally woven into a spiral net, and each pass of the thread goes through an adjacent bead to make the pattern. Because of this, you have to plan your design both stylistically and mathematically. To have a design that truly repeats around the piece, you need to make sure that your piece can have beads that wrap around it in a multiple of three, and even better, also in multiples of six. This allows pattern design to match up.

I use what is called "bead graphing", where I take a piece of paper, the bead spirals arranged in the pattern I wish to use (typically that means a clockwise pattern with the beads stacking in a right to left diagonal going up). On these papers, I make a design, and then I count the "circuits" needed to make the design, meaning the number of times around the object in a given row. As an example, this roach stick needs 24 beads to make a straight line around the project. Divided by three, that means I have eight beads in any given circuit. Divided by six, that means I have four regions I can create a repeating design. With these values, I can chart and decide what I want to make.



I'm working with seed beads, which in this case are 11/0 cuts. 11/0 is the size of the beads. Eleven strung beads will cover one inch. For every square inch, there will be 110 beads. Multiply by the total area of a project, even for small projects, that's a lot of beads. These beads can go as small as 18/0 (eighteen in series an inch long, or 324 beads per square inch.

The other tools needed for this are very thin but strong thread, thin needles, and clumps of beeswax to wax the thread (which helps it slip through the glass beads and not fray or, worse, break).

On a good day, if I'm in the groove, it takes me about an hour to do a single inch of beading. On days when things don't quite work out right, it may take me a lot longer to cover the same inch. Additionally, the pattern ideas and designs I work with now are fairly rudimentary. I stick to bands of color, zig-zags, or hexagons, but I would like to expand to do more unique shapes like feathers, flags, flowers and birds. The challenge, of course, is that I won't actually know how to do them until I sit down and painstakingly, bed by bead, actually construct them.

This is where many aspiring bead-workers falter, get frustrated, and stop altogether. I know, I've reached this point several times over the years. This pictured roach pin is the current largest piece I've ever made. I've planned to make four of them, each different, each using motifs that I want to get better at. If you look just behind my beading palette, you will see a flat fan with a white handle. After I finish the roach sticks, that will be my next project. I already know it will be huge. It may take me 40 hours plus to do it. What's been helpful is that I've gotten used to using the tools and thinking about the process, and actually losing myself in the process, and discovering ways that it can be done more quickly, more efficiently and more effectively.

I also allow myself the ability to let my mind dictate what I can and will do in a given day. Right now, it's a simple goal, one hour each day. Some days, I put in a lot more. Some days, I literally just practice a pattern and then cut the threads loose to try another approach. As I've talked to other bead workers, they've all commiserated with me and said that they have been there and understand. We tend to be in awe of those who can do these things effortlessly, who seem to be so much better than we are. In truth, they are better than we are, but not because they have unerring instincts or some super natural talent. Instead, it's because they have built a skill, honed over perhaps hundreds or thousands of hours of practice, often to meet needs they have, and frequently with false starts, frustrations, and cutting the whole thing apart to start again.

This is decidedly different than most of my posts, but the parallels to software testing are abundant. We can talk a mean game about the techniques and tools we use, and the ways in which we use them, but to become truly good at them, we need to put the time in, hone our craft, practice, get frustrated, throw in the towel and walk away, and then come back and start it all again. Can it be tedious? Sure. Is it always fun. Not remotely! Will we get better if we persist? Very likely. Will we wow people right out of the gate? Again, most likely not, but that's beside the point. The best we can do is to work and practice and make things that help us. As we get better at that, others will possibly notice our work, too, and over time, consider us the experts. In their minds, we may well be, but we'll know the truth, won't we ;)?

Friday, June 5, 2015

The Value of Mise en Place

I have to give credit to this idea to a number of sources, as they have all come together in the past few days and weeks to stand as a reminder of something that I think we all do, but don't realize it, and actually utilizing the power of this idea can be profound.

First off, what in the world is "mise en place"? It's a term that comes rom the culinary world. Mise en place is French for "putting in place", or to set up for work. Professional chef's use this approach to organize the ingredients they will use during a regular workday or shift. I have a friend who has trained many years and has turned into an amazing chef, and I've witnessed him doing this. He's a whirlwind of motion, but that motion is very close quartered. You might think that he is chaotic or frantic, but if you really pay attention, his movements are actually quite sparse, and all that he needs is right where he needs them, when he needs them. I asked him if this was something that came naturally to him, and he said "not on your life! It's taken me years to get this down, but because I do it every day, and because I do my best to stay in it every day, it helps me tremendously."

The second example of mise en place I witness on a regular basis is with my daughter and her art skills. She has spent the better part of the past four years dedicating several hours each day drawing, often late into the evening. She has a sprawling setup that, again, looks chaotic and messy on the surface. If you were to sit down with her, though, and see what she actually does, she gathers the tools she needs, and from the time she puts herself into "go" mode, up to the point where she either completes her project or chooses to take a break, it seems as though she barely moves. She's gotten her system down so well that I honestly could not, from her body language, tell you what she is doing. I've told her I'd really love to record her at 10x speed just to see if I can comprehend how she puts together her work. For her, it's automatic, but it's automatic because she has spent close to half a decade polishing her skills.

Lately, I've been practicing the art of Native American beading, specifically items that use gourd stitch (a method of wrapping cylindrical items with beads and a net of thread passing through them). This is one of those processes that, try as hard as I might, I can't cram or speed up the process. Not without putting in time and practice. Experienced bead workers are much faster than I am, but that's OK. The process teaches me patience. It's "medicine" in the Native American tradition, that of a rhythmic task done over and over, in some cases tens of thousands of times for a large enough item. Through this process , I too am discovering how to set up my environment to allow me a minimum of movement, an efficiency of motion, and the option to let my mind wander and think. In the process, I wring out fresh efficiencies, make new discoveries, and get that much better and faster each day I practice.

As a software tester, I know the value of practice, but sometimes I lose sight of the tools that I should have at my beck and call. While testing should be free and unencumbered, there is no question that there are a few tools that can be immensely valuable. As such, I've realized that I also have a small collection of mise en place items that I use regularly. What are they?

- My Test Heuristics Cheat Sheet Coffee Cup (just a glance and an idea can be formed)
- A mindmap of James Bach's Heuristic Test Strategy Model I made a few years ago
- A handful of rapid access browser tools (Firebug, FireEyes, WAVE, Color Contrast Analyzer)
- A nicely appointed command line environment (screen, tmux, vim extensions, etc.)
- The Pomodairo app (used to keep me in the zone for a set period of time, but I can control just how much)
- My graduated notes system (Stickies, Notes, Socialtext, Blog) that allows me to really see what items I learn will really stand the test of time.

I haven't included coding or testing tools, but if you catch me on a given day, those will include some kind of Selenium environment, either my companies or my own sandboxes to get used to using other bindings), JMeter, Metasploit, Kali Linux, and a few other items I'll play around with and, as time goes on, aim to add to my full time mise en place.

A suggestion that I've found very helpful is attributed to Avdi Grim (who may have borrowed it from someone else, but he's the one I heard say it). There comes a time when you realize that there is far too much out there to learn proficiently and effectively to be good at everything. By necessity, we have to pick and choose, and our actions set all that in motion. We get good at what we put our time into, and sifting through the goals that are nice, the goals that are important, and the goals that are essential is necessary work. Determining the tools that will help us get there is also necessary. It's better to be good at a handful of things we use often than to spend large amounts of time learning esoteric things we will use very rarely. Of course, growth comes from stretching into areas we don't know, but finding the core areas that are essential, and working hard to get good in those areas, whatever they may be, makes the journey much more pleasant, if not truly any easier.

The Early Bird Pricing for #CAST2015 Ends TODAY!



I know that there may be some last minute folks out there, and I want to assure you all that it would be well worth your time to sign up TODAY for the Early Bird Discount for  CAST 2015. After midnight tonight, the prices go up considerably.

I should also mention that our Monday Tutorials are selling out quickly. Rob Sabourin's tutorial is sold out, Christin Wiedemann's tutorial [Update: is now also sold out], and we have two more tutorials with seats that will likely go fast. If you want in, act now :)!

Now look, I know what a lot of you are thinking... "of course he's yelling about CAST 2015. Since he's AST's president, it's his event!" In a way, you are right, but that doesn't even come close to telling the whole story. We are offering what I think is an amazing program, full of cool tutorials (on Monday) as well as excellent Track Talks and Workshops on Tuesday and Wednesday. I'm proud of the lineup, but I had absolutely zero hand in the selection process. I deliberately stayed out of those discussions, and encouraged the Conference and Program Committee to put together the most awesome program possible. From what I can see, I think they succeeded.

We have also partnered with Speak Easy to encourage more first time speakers to speak at CAST. This is something I take great pride in seeing at CAST each year, the diversity of speakers, not just of physical attributes, but of experiences, skills and opportunities that you are not likely to hear at other conferences. Bold statement? Sure. Do I stand behind it? Absolutely.

But hey, why take my word for it? Why not take a look at our program and see for yourself. If you like what you see, you still have, by my reckoning, about 12 hours to still get in at the discount price. Don't miss what (if I have anything to say about it) will certainly be the best conference you will attend this year. Also, if this fires you up, will you help me spread the word? Please share this post with any and all who may benefit to see it.

Here's to early August and a great conference. Lock those savings in while you still can :).

Thursday, June 4, 2015

Wanna' Come Work with Me? Socialtext is Hiring!

If you are in the Palo Alto, California area, or know someone that is, and you think you meet the criteria of what's listed below, Socialtext is hiring, and I would love to talk to you.

A few things to get out of the way first:

1. This is a local position, meaning you have to be at least local to the Bay Area, and able to come into the office on a regular basis (working from home a day or two a week is not a big deal, but remote workers are not being considered at this time. I will certainly update this if that stance changes).

2. I often rail about software testing jobs being advertised, but toolsmiths are what is desired. In this case, while programming ability is an absolutely nice thing to have, and we are certainly looking for some help to beef up our automation capabilities, it is not a show-stopper if you are not a master programmer for this position. This is a job that really requires a software tester's mindset.


Job Details

Title: Senior Quality Engineer
Location: Palo Alto, CA
Position Type: Full-Time Regular
Experience: 5 years (or thereabouts)
Education: Bachelors Degree
Travel Required: No


Job Description 

Working on PeopleFluent's Socialtext, you will solve challenging problems in the social and collaborative software space. You will work closely with development and product management in an Agile development shop. You are as comfortable helping to define functional requirements as you are ensuring that they are met. You typically translate two or three functional requirements into automated tests before breakfast. You love helping teammates solve both the hard and easy problems and are happy to pair when needed. You know your way around localization testing. 508 does not faze you. X-browser testing is good for your soul. You come at stories sideways, it's how you think: hit them where they are weak. You care about customers and take bugs that make it out into the wild personally. You keep an eye on new testing techniques and technologies and know when to adapt them and when to keep with the current process and can defend your position. You abhor run on sentences. You don't believe in walls between QA and Dev, but you do have a little us versus them in you. You like working in a small team where your voice matters and not everything is planned out. You are one of us.

(Yes, I had a hand in writing this ;) ).

Job Requirements 

*5+ years experience with quality assurance testing
* Good understanding of the QA and Automation process.
* Proficient at writing, executing and validating test cases and the ability to pass that knowledge to other, more junior, team members.
* Proficient at writing clear and concise defects and the ability to pass that knowledge to other, more junior, team members.
* Able to accurately estimate task duration and meet schedules.
* Excellent communication skills.
* Experience testing Web based products across browsers is required, including what makes IE unique
* Knowledge of automation (Selenium)
* Experience with Linux.
* Ability to provide leadership in product testing, including setting testing direction for a particular project and the mentoring and leading of less senior Quality Engineers
* Ability to function and lead in a team environment


In short, if you think this fits you, or you know someone you think fits this description, please contact me directly, as we have a much better chance of placing people we directly refer than those who submit cold. I think we're a pretty cool group at Socialtext. If you'd like to join us, let me know :).

Thursday, May 7, 2015

Gearing For Kids? A "Larsen Twins" Update

First off, I wanted to say thank you to "Women Testers" for including a guest article that Amber and I wrote together. It was about how she prefers to work with me when it comes to learning about programming and testing. If you would like to check that article out, you can download the latest edition of “Women Testers” and look for "Show the Way, Then Get Out of the Way”.



With this article in mind, I offer the following update. Since I want to encourage Amber to write more and share her own thoughts and ideas, we will continue with writing joint blog posts like this one under the tag “Larsen Twins” (because silly and a little fun and why not ;)?).

Amber and I have been looking through a number of books and online materials to help her understand coding and testing concepts. One of the areas that I thought would be tricky to explain or focus on would be the ideas behind computation. A book that I recently reviewed and that I found helpful is called “Lauren Ipsum”, and I personally thought it was cute and  engaging in explaining topics I’d learned the hard way. I was excited to have Amber read this book and tell me what she thought of it.



“It was a fun and cute story, and I get what they are trying to do. By having Lauren help a turtle move in certain directions, it focuses on showing how instructions are executed.”

Ok, good so far.

“However, I kept finding myself waiting for the payoff… what’s the point of this?”

Hmmmmm…..

“I think younger kids would think this is great. This might be a really good book for someone in fourth or fifth grade, but I was getting impatient as I was reading through it. Maybe I’ll feel different when I have tried some more of the ideas out.”

Wow.

Seeing as I have been revamping the SummerQAmp materials, I have been trying to think how I could make it more fun, more relatable, and help explain some of the ideas in a less wonky way to kids. Amber just gave me an interesting piece of reality to consider. Many kids my daughter’s age have been interacting with technology their whole lives. As such, they have become attuned to getting the information they need quickly and directly. The idea of a story to give them the ideas and concepts doesn’t really appeal to her; she wants the straight stuff.

“It may just be me, but I think I do better when I am shown an idea, and then given some ways to play with it and figure it out. I will admit, I thought the chapter on recursion was cute, and that helped me understand the idea a bit, but I still don’t feel like I fully ‘get it’. I’ll have to actually use it to see it in action to really feel like I understand it”.

After pondering this for awhile, I remembered I had another book in my Tsundoku pile;  “Understanding Computation” by Tom Stuart.


In the preface, it says the following:

"This book is for programmers who are curious about programming languages and the theory of computation, especially those who don’t have a formal background in mathematics or computer science. If you’re interested in the mind-expanding parts of computer science that deal with programs, languages, and machines, but are discouraged by the mathematical language that’s often used to explain them, this book is for you. Instead of complex notation we’ll use working code to illustrate theoretical ideas and turn them into interactive experiments that you can explore at your own pace.”

Now that sounds promising! I think this just moved its way to the top of my pile :).

Amber is an excellent case study for my own ideas about teaching and how to teach, because she throws me curveballs. For a girl that loves “kawaii”, the cute and entertaining in her everyday life, she can be decidedly “hard boiled” in her other pursuits. Perhaps David Grohl of the Foo Fighters sums it up best… “don’t bore us, get to the chorus”. We’ll see if Understanding Computation will help us do that. More to come, stay tuned :).

Tuesday, May 5, 2015

Packt Publishing Rolls Out More FREE Learning

I've kept the advertising on the site to a minimum over the years, but there are a few publishers who have been super kind to me, and have given me many free titles to review. Truth be told, I have so many titles, I could do a book review a week and not run out of books for a couple of years at this point.

Packt Publishing in the UK is one of those companies that has given me much. Therefore, when they do something that I deem could be helpful to the broader community, I feel it appropriate to draw attention to it.

What is Packt up to this time?

They are giving away a free eBook each day.

Update: Packt has confirmed that this promotion is ongoing.



From Packt's Site:

It's back!  And this time for good. Following on from the huge success of our Free Learning campaign, we've decided to open up our free library to you permanently, with better titles than ever -- from today you can claim a free eBook every day here.

Each eBook will only be free for 24 hours, so make sure you come back every day to grab your Free Learning fix! From AngularJS to Zabbix, we'll be featuring a diverse range of titles from our extensive library, so don't miss out on this amazing opportunity to develop some new skills and try out new tech.



Judging from the image above, it looks like this promotion is running through May 17th, but if I'm reading correctly up above, their plan is to offer a free book every day indefinitely (update: yes, it's going to be a perpetual promotion). To be clear, one book is available each day, from 12:00 a.m. to 11:59p.m. GMT.

If, like me, you are jonesing to add to your Tsundoku, here's another opportunity to do exactly that :).


Monday, May 4, 2015

Ever Had Your Screen Talk Back To You?



As many TESTHEAD readers will notice, I've been on a tear with regard to Accessibility this year. It's become my monomaniacal focus, and I've entered a semi-crazy co-dependent relationship on this topic with Albert Gareev. It's been a lot of fun talking about and focusing on this topic the past few months, as each time I think I understand what's happening and how we can do better, I learn something more that shows me just how far we have to go.

I remember back during STP-CON at the beginning of April witnessing an "A-Ha" moment for a roomful of people. that moment was when I asked the attendees in my session to open their laptops if they had them, or other devices, and turn on a screen reader just so they could "hear" what various sites were saying. Since a majority of the users in the room at that time had Macs, loading VoiceOver was quick. They started VoiceOver... and then things got interesting. As I watched people's faces, I could see the curling of lips, the furrowing of brows, and the nervous laughter pop up at points. The blast of electronic voices that erupted from system speakers was very enlightening, and watching a roomful of people realize just how difficult it was to listen to the output of their favorite sites made it crystal clear how hard it was for sight impaired users to get useful information from an average web site (or at least, a site that hadn't made considerations for accessibility).

This coming Saturday, we will be doing a session on screen readers with Weekend Testing Americas. I'm suggesting Mac users configure VoiceOver, and PC users download NVDA.

This session will be an introduction to Accessibility through the use of Screen Reader applications. My goal is to give people a chance to play with these features on common sites and see how well those sites make the general information on the page accessible to users, and how much useless information they receive. We will use these examples to have a discussion about how to address issues related to Accessibility, as well as building a case for making Accessibility part of an overall testing strategy.

If you would like to join us on Saturday, please send a request to “weekendtestersamericas” to add your SkypeID. In your request, mention that you want to join this Saturday’s session. On Saturday, twenty minutes before the start of the session, please contact us and ask to be added to the session, and we will do so. Here's hoping you can make it ;).