Sh*t my QA says

There is a bug, I just haven’t found it yet.
Well, it’s broken on my machine!
In the Danish version of Windows, if you click really fast, the app just crashes.
It doesn’t work when I put Cyrillic text in. Or Greek, Hebrew, or Mandarin.
One copy of “War and Peace” in the description field was OK, but the second crashed it.
What if you rotate the screen/turn on airplane mode/get a text/drop the phone into the toilet from ten feet up?
The app doesn’t handle itself well if you delete its database after you log in.
Ooh, I haven’t seen it do that before! Wonder if it’ll do it again?
Can’t stop, I saw a bug and I’m trying to find it again.

(From a QA friend) There you are, you little sh*t! I have you now!

I’m worth more than that

I’ve been in software quality assurance since 2005, and working as a quality engineer for the last year, which is an unusual skill set. For my current position I need to be able to program at a decent level in C# and Java, know HTML, CSS, SQL, git for software versioning, JavaScript and browser dev tools for debugging, and a host of other skills. I get paid well for this and I’m good at what I do.

By contrast, I’ve been knitting for upwards of thirty years. I’m experienced in all yarn weights from bulky to laceweight, cabling and lace knitting are favourite techniques, and I have a specialisation in knitting socks that actually fit people. I can also spin yarn, giving me a greater understanding of my materials to the extent I can identify some breeds of sheep by the feel of their fibre alone (Jacob, Wensleydale, and Gotland in particular). I’ve travelled to gatherings of fiber enthusiasts both in state and as far away as Maryland, and I can identify the most likely yarn shop to have what I need in minutes. I produce upwards of twenty finished projects a year.

So when someone says "Can you knit that for me?" or worse, "can you knit two of those by Christmas," I want to reply like this:

Sure, I can knit that for you. My hourly rate is $60/hr and that’s a minimum of 40 hours work, so it’ll be $2,400 for the labour, plus materials cost, plus an annoyance tax for you thinking my time is worth pennies per hour. Since it’s your first time, I’ll discount that to a mere $4,000 instead of the regular $8,000.

I’ll expect that $6,400 before I get started, and I’ll bill you later for the materials. Cash only. Have a nice day.

As a software quality engineer, people value what I do and I get paid accordingly. As a knitter, people greatly value what I do yet assume my work is worth a pittance way below minimum wage for the hours I spent. This is not going to fly with me.


I just got back from a business trip, and I may be slightly addicted to Evernote. Since the client we were visiting issues iPads to new employees, it made sense to take a work iPad with me instead of a bulky, heavy laptop plus power brick, and I’ve been using Evernote to work on some shared work documents.

What makes the iPad indispensable, and turns it from a nice toy into a usable tablet is the Logitech keyboard. While the Samsung Tab Pro 10.1 tablet with Polaris Office has all the functionality of the iPad and then some, the fantastic Logitech keyboard doesn’t yet exist. Logitech says in May the ultra-thin keyboard folio case will arrive, but only for the Tab, not the Tab Pro. The Tab Pro 12.2in size can be bundled with a keyboard case, but is that too big? I’m not sure.

In every meeting, people pulled out an iPad with keyboard and started tapping away. I’d love to do the same with an Android tablet, but sadly I can’t yet.

Words to a new software QA

We’re not after the developers. We’re after their code. It’s not personal.

If they didn’t want us to find the bug, they shouldn’t have written it in the first place.

QA starts with the requirements, if those are vague, the result will not be what the customer wants.

Not finding a bug does not prove there are no bugs. It proves you didn’t find one right there, at that particular planetary alignment with that precise set of system and environment and time of day and test data.

There is always a bug somewhere.

Learn how to program in the language your developers use. Also learn SQL (Structured Query Language), HTML, CSS, and any other acronyms you hear often.

Your developers are an amazing resource and are usually very helpful when presented with a "Can you please help me…" request.

Keep learning. There is always a new language, or tool, or technique, or platform, or environment, or program.

Get up and walk around often. Drinking large amounts of water will help this. Give your eyes a rest from the screen and go talk to your team.

Cool Etsy shops

I’m confident these Etsy shops will never end up on Regretsy. I’ve either bought from these, or love their stores.

Idle Hands Designs

Maker of the sutured heart necklace, which I have been wearing most days since I got one earlier this year. Mine is oxidised and scuffed, it looks like a heart that’s been through the wars and is still soldiering on.

Jessi Taylor

I have two necklaces from here, a raspberry mosaic tile, and a piece of lemon quartz. Both are lovely, small but not fragile, made with oxidised silver.

Jewels Vine

This New Zealand artist makes the most amazing robot jewelry, the owl is my favourite. The lockets are awesome steampunk creations, tiny but well-formed.

Siren Jewels

I love the style of the pendants in this store. They are all unique, all made by the shop owner, and use unusual stones like larimar and gaspeite.

Molecular Muse

The serotonin molecule, made in silver as a pendant. Or caffeine, or theobromin, or several other molecules. This shop makes my inner science geek happy.

Silver Beyond Ordinary

Chunky hand-carved silver pendants, cast in silver. I have a Fleur de Lis pendant from here and love it.

Solstice Yarns

This is the only place I’ve seen yarn made from Falkland wool, or a yarn made with Blue Faced Leicester (BFL) and silk. Strong colours and a lot of solids and shaded solids.

Juno Fiber Arts

Fantastic BFL sock yarn from England, plus other weights. I have a skein of the BFL sock from here and love it.

Apple Rose Fibers

This store has Cormo top which was featured in Spin Off magazine a while back. They also have California Red roving, which looks lovely.

For Strange Women

Lip balms, solid perfumes, and perfume oils made from plant extractions in Kansas City MO. The descriptions of the scents are intriguing, and I like her attitude of reducing plastics. Love the two lip balms I got, the Rosewood flavour in a cardboard tube and the Absinthe in a plastic tube.

Have It Sweet

Well worth the wait to get your batch custom-made, and you get a projected date too. I got some caramels last year and they were fabulous!

Nicholas and Felice

I have one of the aluminium shawl pins from here, the tulip/lyre style, it’s graceful and light.

Panoptic Empyrean

This is my friend Jen’s shop. I’ve seen her work, and I like it, especially her sketches of birds (which are not in the shop).

From QA to Dev

Dear programmers, a few notes from your QA team lead:

We don’t actually hate you.
Not by default, and not at first. It takes time and effort on your part to earn the ire of the QA team. But if you tangle with one of us, you tangle with all of us. We talk about you. We trade horror stories about that one bug that took weeks to fix because you stalled every step of the way. Yep, we remember that one well. You can redeem yourself, but it’s not easy.

We want the same thing.
We want the best possible product to go out of the door and our job is to make you look good, rock star good. Sometimes, you get in the way of that.

Sloppiness annoys the snot out of us.
Like that zip code field in the database that only accepts ten characters, but we can enter 255 in the app? That’s something you should have thought of before you checked in the code. Spell check is your friend when you’re doing UI stuff. Think before you type.

You and I think alike, but we’re different.
You build it, we break it. Good QA people can program in your language, so we understand what you’re talking about, and we mipght have a suggestion as to how it could be done differently, or something you missed. Try bouncing ideas off us once in a while. Also, we may have an idea of what you’re actually doing, so lay off the BS about how hard it is.

We are extremely picky because we’re paid to be picky.
It’s not personal, it’s just how we are. Details are important and we care about all of them. Even the annoying ones. We also like the pictures to hang straight on the walls, and shoelaces to be tied neatly.

We don’t expect you to be perfect.
If you were perfect, we’d be out of a job. We know you’re not perfect, and neither are we. What we’d like is for you to accept that you’re capable of making mistakes and missing details, and stop acting like we’re out to get you. Trust me, if we were out to get you, we’d be waiting in the parking lot with pitchforks (we keep them in the server room, just in case).

We’re not perfect either.
Guess what? We make mistakes too! It’s OK to tell us when you think we’re wrong, but please don’t be a jerk about it. It’s not a contest.

Just fix the darned bug already.
We don’t care about whose fault it is, or how hard it was to fix, or how Joe Coder did such sloppy work you have to refactor all his stuff to fix it (believe me, we already know all about Joe Coder). We just want the bug fixed so we can re-test it and get it out the door and we have no patience for whining.

Never, EVER break the build we’re working in.
Please make absolutely sure the app will both compile and run before AND after you check your stuff in. If you break the build we’re WORKING IN, we’re dead in the water till you fix it. We’ll come and sit in your cube and stare at you until it’s fixed and we can go back to work.

Test it before you send it to us.
If we can’t even get through the happy path, then dude, what were you thinking when you checked the code in? (See “Sloppiness annoys the snot out of us”)

If you don’t understand us, talk to us.
Sometimes we don’t communicate all that well. Some things just make more sense face to face. Come talk to us, we rarely bite programmers.

See you at the release party!

Love, your QA team.

(Yes, I really am a QA team lead.)

Technical difficulties

I believe that’s the polite term for what happened to my blog. The more accurate description is totally fragged and plagued by zombies. What’s galling is that the trauma I went through was unnecessary because it was a web server/FTP server syncing issue.

The blog was deleted and recreated about 5 times, all posts, pages, comments and files exported, then re-imported, except I couldn’t import more than 250kb at a time from a 5.6Mb file, which amounted to 27 separate XML files. All data was saved, nothing was lost except my temper.

The bigger problem was that the blog directory just wouldn’t die. I deleted it off the FTP server, but it was still out on the web server days later, mocking me. The temp directory I had installed my blog into only showed up under, there was nothing under and they should both point to the same place.

So this place went dark for a while. I’m not pleased with my web host for taking so long to fix the problem, especially after I did all the research to find out what was wrong. I reported the problem on Sept 1st, on Sept 5th, it was still all messed up, it finally got fixed on Sept 9th.

The only good thing is that I’ve cleaned up the wp_options_and_the_kitchen_sink table, which is a dumping ground for random crap from WordPress plugins. It strikes me as a poor design decision but fixing it would probably be painful this far along.

Completely unscientific phone review

We got new phones on Friday night, Hubby got a Droid Eris, I got the Motorola Devour. Sunday afternoon I exchanged the Devour for an Eris and I like it much better. This was what I didn’t like with the Devour:

Weight and form factor

The Devour has an aluminium casing that weighs more than any phone I have ever encountered. The corners are sharp, and it’s a blocky thing that just barely fit in the cell phone pocket of my handbag. It felt cumbersome, and the buttons outside the case felt flimsy.

Moto Blur

This application had definite potential, I liked that it could aggregate updates from Facebook and Twitter. But it has a huge drawback: it gives you updates from EVERYONE. You can’t hide anyone on your contact list. It ignores the friends lists you set up in Facebook. I turned this off within an hour of getting the phone because it was too annoying to use. I got the effect I wanted by using a custom contacts list in the phone book. People have complained about this from when it first arrived in the Motorola Cliq, and nothing has been done to fix it.


I’ve never had a phone with a keyboard before, and I knew I didn’t like soft keyboards. The Devour keyboard is a slide out affair and it felt stiff and difficult to use. It made my wrist hurt. It was bad enough I was willing to take the soft keyboard for the 2 years of our contract to get away from it, regardless of my hatred for soft keyboards.

Battery life

Maybe I had a bad battery, but I never expected the Devour to eat through a full charge in less than 24 hours. I’m used to charging my phone once a week or less. I understand smartphones use more juice than dumbphones, but that seemed excessive.

I did like the Devour’s universal inbox that showed text messages, my Yahoo Mail account, Facebook mail messages, and my Gmail inbox. Having to associate all my Twitter contacts with the same people in Facebook was tedious, but getting all their status updates on the same page was nice. The construction of the thing was what really killed it for me.

With the Eris, I don’t like that I had to do a factory reset to make it delete my Flickr account. And that the reset didn’t work, it just logged me out. The soft keyboard is not as horrible as I thought, though you do have to watch its "helpful" corrections of your typing. I can’t get it to connect to my Yahoo account, and it insisted on giving me weather for New York even after I deleted New York several times over. But even with all that, the Eris is a far better phone for me.

Also, the Eris is named after the Greek goddess of chaos and dischord, and the rather nice cardigan I’m so close to finishing.

Milestones and inchpebbles

This is my 1500th blog post. I started on January 10th 2002, using Blogger and free hosting on a site long gone. These days I have WordPress and my own domain name on paid hosting.

It’s time to make a new blog theme. Some elements will stay the same: fixed width body, rotating header image, archive and category dropdowns. Some things will go: blogroll, webrings, twitter feed. It could get ugly while things change, but not for long

The biggest change will be font size. I read The 100% Easy-2-Read Standard and I was shocked at how nice it was to read. I’m going to have a much bigger font size for the site. The default font size 16pt and it’s easy to read. The template will also accomodate pictures that are 500px wide, or wider.

Usability reports say that right sidebars are generally ignored by site visitors, though site owners use them. I browse sidebars on other sites, but I use my own sidebar as a set of shortcuts to the rest of the site. Longer blog posts I consider worth keeping get archived in the Thoughts section. Knitting and Spinning have their own sections for recording stash and finished and unfinished projects. There’s a Desk Drawer for lists of books and movies I’ve read and watched. I’m debating putting the sidebar at the bottom of each page, which would give more horizontal space for content.

I have a basic design worked out, now I need turn it into a WordPress template, and adapt it to the PHP I use on the rest of the site.