Wednesday, July 18, 2012

CAST 2012: The Meta Stuff


If you follow my twitter stream, you probably know that I was at CAST earlier this week. You probably also noticed that I sprained my ankle a couple weeks ago, and am very whiny about it. More likely, you stopped following me when I whined too much about the ankle.

Overall, I really enjoyed the conference. 6 of the 7 Software Test Pilots at the Omni Group attended this year, so it was not only a great learning experience, but also an opportunity for team-building. This is a new priority at Omni (to try to always send people to conferences in groups), and I think it's working. I also got to renew friendships and acquaintances from past testing conferences. (I've been to PNSQC twice and CAST once before, if I've kept proper count.)

This year I felt more like a peer and less like a child in a room full of adults. I didn't just sit at the feet of gurus, soaking up knowledge. I listened, but I also questioned. Some threads I started generated several yellow cards, so I think they were interesting, perhaps even valuable. The main thing that made me feel like I was a respected participant, though, was when the facilitators called on me by name rather than number. (Or maybe they just found it easy to recognize my scooter?)

Attending the conference with "alternate mobility" was an interesting experience. I've got an ankle boot that I wear almost all the time -- a plastic and velcro contraption. Then I've got a knee scooter that I use most of the time. I learned a bit about what it might be like to live with a permanent disability.*

I had just gotten comfortable maneuvering at home and work, where I know my way around and feel comfortable asking almost everyone for help. Traveling to an unfamiliar place, surrounded by strangers, was kind of exhausting. Every phase of the trip took extra attention. Help the van driver fit my scooter in the van. Climb into the van without hurting my foot. Check with airline personnel that I could take my scooter all the way to the gate. Go through security with my scooter and brace. Get my scooter carried up an escalator because the elevator was broken. And that was all before I left Seattle.

My traveling companions offered a lot of help, and even politely carried my bags when I voluntold them to. The hotel and conference staff made reasonable efforts to help me, but aisles were narrow, hallways were crowded, and my scooter wheels sank into the carpet making it harder to get anywhere. I became very self-conscious and caught myself saying "Sorry" just about every other sentence at some points.

My obvious injury proved to be great at starting conversations. Unfortunately, all those conversations were pretty much the same: "What happened?" "Is it broken?" "How long will you be stuck in that boot?" I know everyone meant well, but I was about ready to start making up answers: "I scored the winning goal in a soccer game while rescuing a baby from a burning building." "It's not broken, but if I remove the brace, my whole foot will just fall off." "Oh, I plan to keep wearing it indefinitely. I've asked for a green one for Christmas."

I aim to follow this up with some posts about the actual content of CAST over the next few days.



*Please forgive and correct me if I'm not using the currently preferred term here.

Thursday, January 19, 2012

Baby steps into Open Source

"You should get involved in Open Source. It'll help you network, and practice your skills, and bolster your resumé. And we need more women in Open Source."

To which I think "Hmm... that sounds complicated, and I don't know where to start and I'm busy and I'll get around to it someday."

Well, Someday showed up yesterday afternoon. I'd like to talk about 2 reasons why I think Someday showed up, and then I'll tell you how it went.

The first reason Someday showed up is that I found something I wanted to fix and cared enough about to actually go fix.

"Today has been a prime example of why productivity should never be measured in lines of code! Spent hours just to *move* a line to fix bug." -- Me, on Twitter, yesterday afternoon.


I was using this library for some internal testing at work. The gem version worked, but the latest on GitHub was failing. (Hurray for test cases I could easily run against both versions, toggling back & forth!)

I don't think I would have spent so many hours puzzling over this code just for the sake of working on Open Source. I have to be solving some problem that I care about. (Or at least that I care about getting paid for!)

Once I committed the code to the subversion repository at work, I could have said "Done!" But this is when Someday's other reason kicked in. For months (years?) now, DevChix women have been encouraging each other to get involved in Open Source projects, for all the reasons mentioned at the beginning of this post. And emphasizing how easy it was. And not letting each other get hung up on whether our code is good enough or other silly excuses. All this came flooding back to me as I tried to move on to the next piece of work. I kind of HAD to at least look at GitHub and see whether I might want to give this change back to the original project. Just check and see how hard it would be. 

I set up a GitHub account, and walked through their guide for installing git locally, forking a repository, (making a local change), and sending the original developer a change request. All of that took only about an hour. One hour. Seriously. (One and a half, if you count the time to write this blog post.) 

Thank you, GitHub, for making it so easy to contribute to a project. 
Thank you, DevChix, for encouraging me to dip my toes in an open source project. This is me maybe helping encourage the next person. 
As for finding a project you care about, I'm not sure what to suggest. But when it comes along, please join in. 






Tuesday, January 17, 2012

Status: 503

I don't blog much, so I don't have WordPress or my own domain or anything. Just this low-maintenance blog.

So I can't do a real blackout like Wikipedia or the other big sites that are protesting SOPA and PIPA. This post will have to do.

I respect intellectual property. My paycheck depends on people paying for software instead of pirating it.
I would not mind if piracy were greatly reduced. But these bills that the House and Senate are debating put WAY too much power on the accuser's side. If pirated content is made available on a site, the whole site can be taken down immediately. The service provider and anyone else using the service are immediately cut off from it. The service provider will lose ad revenue, or user subscriptions, and probably spend a bunch of time with lawyers, trying to get their service re-instated. And everyone who uses the service will be rather inconvenienced. The pirate, on the other hand, will probably just wander along to some other site providing a similar service, relatively unscathed.

Beyond this particular pair of bills, Congress has got to start understanding the Internet! It is not enough to know it's a "series of tubes". Either get educated, or start listening to people who DO know how the internet works.

Friday, December 9, 2011

Mouse Wars

When I started my current job over 6 years ago, or perhaps shortly thereafter, I got a largish Microsoft USB mouse with a few buttons and a scroll wheel. It's very right-handed, and someone else's skin oils had clearly already corroded the finish in a few places. But it worked. Never had to think about it. 

More recently, I 'upgraded' to a bluetooth keyboard and a 'magic' trackpad or whatever Apple calls it. I like the trackpad's swipe-y gestures, but they both disconnect from the computer at random intervals. Sigh. 

Then, within the last month, I caught myself switching back and forth between the trackpad and mouse a lot because they were both "sticking" -- intermittently failing to track my movements. 

To get through the workday, and start diagnosing the issue, I got another mouse from our sysadmin. Unfortunately, he only had bluetooth "magic" mice. (If I want to see a magic mouse, I'll go to Disneyland, thank you very much!) When I went to pair this new bluetooth mouse, I accidentally paired a co-worker's mouse instead -- while he was using it! I moved my USB mouse to his machine so he could re-pair the bluetooth mouse with his computer. He quickly diagnosed that my wired mouse had a short, which caused it to usually stop tracking if I moved the mouse straight vertically. 

Once we got the bluetooth paired, I started thinking about really solving my mouse issues. I brought a Microsoft wireless USB mouse from home and tried that as well. 

1) All mice are flaky sometimes
2) Some (all?) of the wired mouse's flakiness can be explained by the short; holding the wire straight prevents it. 
3) Both the bluetooth trackpad and the bluetooth mouse are flaky sometimes. Is it the bluetooth? Is it an OS or computer hardware issue?
4) The wireless USB mouse is a little flaky at work, but not at home. 

I think this leads me to blame either my Mac Pro or the desk surface at work. Neither of these have changed conspicuously since before I started noticing these issues. 

Upgrading from 10.7.0 to 10.7.2 did seem to temporarily alleviate some flakiness. Maybe it's drivers? Maybe simply a reboot helped?


Tuesday, November 1, 2011

What is your favorite part about writing?

It's national month of "do that creative thing you keep meaning to do" as far as I can tell. I think novel-writing came first, then drawing. BlogHer is hopping on the band wagon with NaBloPoMo. They're posting a prompt for their bloggers each day. I guess I'll try this a bit. No promises about a post every day or anything, though.

So, what is my favorite part about writing? Maybe that the process of writing down my thoughts in complete sentences helps me understand them in a new way. This is especially true of writing stuff out with pen on paper, but even here at the keyboard I tend to gain new insights and clarity. ''

Sometimes I hope my blog will somehow bring me fame and fortune. Sure, that'd be nice, but I don't write nearly enough for that (not to mention writing *well* enough!).

Does this have anything to do with testing? Oh, I could probably make some tortured analogy, but no. I won't. My goal in writing this blog post is just to write something, to exercise a muscle that I might need soon to write about testing.

Wednesday, June 15, 2011

Women at WWDC

[originally posted to the DevChix mailing list]

I enjoyed several social gatherings (formal & informal) last week at
WWDC, not least of which was the Thursday women's lunch that Alexis
instigated. We picnic-ed in a sunny/shady spot at Yerba Buena gardens,
probably about 20 of us, sitting in a circle. I really liked the bit
where we each got a minute or two to introduce ourselves & talk a bit
about our interests. I recently encountered the idea
of 'plussing' each other -- an improv concept where you focus on
adding to what someone else is doing, rather than competing with them.
I definitely saw this in action at Thursday's lunch. When one person
finished modestly introducing herself, someone else chimed in with
"yeah, but you also got blah blah award" or "you also wrote
such-and-such book". This sort of thing happened a few times. It
created a great atmosphere of cheering each other on, I thought. Thank
you, Alexis and everyone else who was present.

As in past years, there weren't many women at the conference. I
couldn't really tell if there were more or less than last year.

I didn't see any women presenters, but I heard that there were a few
in sessions I didn't attend. The presenters are frequently engineers
who actually did the work, or managers of those people, so I think
that more reflects on Apple's general diversity than any specific
disparity in women speaking.

I had one thought about how to make conferences better for
newbies/underrepresented/underconnected people. Introduce people! Look
for opportunities to connect people you know, even if you're not sure
whether they have much in common. They're at the same tech conference,
odds are they have some overlapping work. Find someone who it's their
first time at the conference, and invite them along to lunch with your
usual gang or something like that. (I'm pointing this advice at myself
as much as anyone else -- after 5 trips to WWDC, I need to stop
thinking of myself as the newbie!)

Thursday, December 2, 2010

Tangent Time: Turkey Edition

The week before Thanksgiving, I was sick on Thursday and so my tangent time was reading Being Geek. This book is not just for programmers. Most of the content applies to testers, UI designers and other people who also participate in creating software just as much as programmers. And the bits that are specifically about programmers are still worth reading, because understanding how programmers function can be very useful when you work with them all day.

--------

Then we got weathered-in (the ice was more a problem than the snow) for three days last week. My home machine wasn't really set up for testing stuff, so I picked up another tangent time project: procmail. I check email on 4 machines. Only 2 of them can run Mail filtering rules, so my inbox often filled up with subversion commit messages when I was away from my desk. And every time I wanted to tweak my rules, I had to remember to sync the changes from my work machine to my personal laptop (or vice-versa). My work mail filtering really needed to be handled further up-stream. Thus, procmail.

I learned the danger of reference material written for a context that doesn't match my own. And the importance of escaping square brackets in regular expressions. And I did everything very cautiously, because I've heard horror stories of buggy procmail rules bringing down mail servers. And I already used up my one 'kill the mail server' forgiveness card last year.

--------

Today I propped open Brian Marick's Everyday Scripting with Ruby and worked my way through Part I. Yes, it was all familiar material. But if I was going to have problems with incompatible Ruby versions, or accessing the supplemental files, I wanted to have them while I wasn't also trying to debug some fancy meta-programming code I barely understood, or something like that. I've skimmed the book before, but this time I made myself actually write the code for all the exercises. I learned a little, but mostly I set myself up well to jump into Part II next week.