Saturday, April 28, 2007
Vintage worms... my rant on social drinking
The first days here in Europe have been mostly meetings and travel, but today we rented rode bikes and rode 55 km in Holland. Part of the time we could see Germany and Belgium, but we didn't cross over. Here are some photos of the trip: http://www.flickr.com/photos/caswell_tom/sets/72157600150840734/
I have been offered more beer, wine, and liqueur than ever in the last couple days, so I have added a special "nobeer" tag for photos from places where I have disappointed the locals by ordering nothing more than a soda :-) This all reminds me of my dad's diplomatic drinking story. The same thing happens in the US, too. When my dad was in high school, some other kids held him down and chipped his tooth trying to force him to drink alcohol.
I have no problem with people drinking -- as long as they drink responsibly and don't run over my kids. But can we please get over this fixation with trying to get others to drink? Why is not drinking less acceptable than drinking? I don't drink because I have been asked not to by my church. I feel fine about my choice, and that's that. If this seems too strange or hard to understand, let's try a different example.
If as part of a certain church's beliefs the congregation was not supposed to eat worms, and if I wanted to be part of that church, I would stop eating worms just like that. Even if worm eating was trendy and hip. Even if people hired special worm selectors to find them the very best vintage worms for special occasions. And actually, when it comes to worms I really don't have much of a desire to eat them anyway, so it really isn't much of a loss for me. That's how I feel about drinking alcoholic drinks.
So you might be wondering how I know what I'm missing if I haven't tasted it? Well, not that I am too concerned about what I am missing, but I did taste beer by accident when I was 14 or 15. I got the cups mixed up at my friend Greg Pickett's house and accidentally grabbed his dad's beer and took a swig. It was so nasty! I ran to the bathroom and spat it out as fast as I could. Some people say beer and other drinks are an acquired taste. Sure, and so is eating worms. I also realize I haven't tasted every kind of alcoholic drink, so there might be a good one out there. I feel the same thing holds true with eating worms. Some will invariably taste better than others.
So if I offend someone by not drinking with them, perhaps I should be equally offended by their lack of respect for my choice. Maybe I have found something that is worth giving up drinking for. You may not care, and that's OK. Just don't try to impose your way of doing things on me and I won't impose my ways on you. I can still join in your toast, but I will toast with my soda.
Thursday, April 05, 2007
I am a serial hobbyist...
So just the other day a friend of mine called me a serial hobbyist, and even though he doesn't know me that well, he's right. To counter this accusation I am surrendering several hobbies -- at least for now...
- Guitar playing - I haven't learned a new song for over 10 years. It's just fun to play the same stuff I already know. I'm not selling my guitar or anything; but I just won't claim it as an official hobby.
- Photography - Yeah, I'm one of those guys who actually had his own darkroom for doing black and white photography. Those were cool times. I still have all the equipment, and I've been packing it around for 10 years now. I still like taking pictures, but I just do the point-and-shoot thing with a little Canon Elph. You tend to take less artsy stuff when you have 3 kids. So I'll enjoy all the great kiddie shots, but photography is no longer a true hobby.
- Baseball card collecting - So I have 13,000 cards and I really don't know what to do with them at this point. This is an easy hobby to give up, because I haven't really done much with it for the last 15 years. Anyone want a ton of cool cards? You can have them as long as you promise to enjoy them.
Thursday, March 15, 2007
Balancing Exploratory Testing With Scripted Testing
This is the best explanation I have ever seen that deals with the balance testers must strike between scripted and exploratory testing:
"To the extent that the next test we do is influenced by the result of the last test we did, we are doing exploratory testing. We become more exploratory when we can't tell what tests should be run, in advance of the test cycle, or when we haven't yet had the opportunity to create those tests. If we are running scripted tests, and new information comes to light that suggests a better test strategy, we may switch to an exploratory mode (as in the case of discovering a new failure that requires investigation). Conversely, we take a more scripted approach when there is little uncertainty about how we want to test, new tests are relatively unimportant, the need for efficiency and reliability in executing those tests is worth the effort of scripting, and when we are prepared to pay the cost of documenting and maintaining tests. The results of exploratory testing aren't necessarily radically different than those of scripted testing, and the two approaches to testing are fully compatible."
This makes sense to me. The messing around I do as I am figuring out how new things work and how I should test them is really a form of exploratory testing. And this may be the only testing that is necessary for very small applications. But with a bigger app like eduCommons it is clearly impossible to keep everything organized without scripted (preferably automated) tests.
"To the extent that the next test we do is influenced by the result of the last test we did, we are doing exploratory testing. We become more exploratory when we can't tell what tests should be run, in advance of the test cycle, or when we haven't yet had the opportunity to create those tests. If we are running scripted tests, and new information comes to light that suggests a better test strategy, we may switch to an exploratory mode (as in the case of discovering a new failure that requires investigation). Conversely, we take a more scripted approach when there is little uncertainty about how we want to test, new tests are relatively unimportant, the need for efficiency and reliability in executing those tests is worth the effort of scripting, and when we are prepared to pay the cost of documenting and maintaining tests. The results of exploratory testing aren't necessarily radically different than those of scripted testing, and the two approaches to testing are fully compatible."
This makes sense to me. The messing around I do as I am figuring out how new things work and how I should test them is really a form of exploratory testing. And this may be the only testing that is necessary for very small applications. But with a bigger app like eduCommons it is clearly impossible to keep everything organized without scripted (preferably automated) tests.
Testability
Grig Gheorghiu presented at PyCon and then blogged about what makes software more testable? Here it is, shamelessly borrowed from his blog:
I mentioned a list put together by Michael Bolton, and summarized/enhanced by Adam Goucher in this blog post. Recommended reading, both for developers who want to add testing hooks into their software, and for testers who want to know what to ask for from developers so that their life gets easier (and if you're one of the unfortunate souls who have to deal with Java or .NET, this blog post by Roy Osherove talks about testability and pure OOP.)
Although our tutorial was focused on tools and techniques for implementing test automation, we also mentioned that you will never be able to get rid of manual testing. Even though the Google testing team says that 'Life is too short for manual testing' (and I couldn't agree more with them), they hasten to qualify this slogan by adding that automated testing frees you up to do more meaningful exploratory testing.
My experience as a tester shows that the nastiest bugs are often discovered by manual testing. But when you do discover them manually, the best strategy is to write automated tests for them, so that you'll check your application in that particular area from that moment on, via an automated test suite which runs in your continuous integration system.
You do have an automated test suite, right? And it does run periodically (daily or upon on every check-in) in a continuous integration system, right? And you have everything set up so that you're notified by email or RSS feeds when something fails, right? And you fix failures quickly so that everything turns back to green, because you know that too much red, too often, leads to broken windows and bit rot, right?
If you answered No to any of these questions, then you are not testing your application, period (but you already knew this if you took our tutorial -- it was on the last slide :-)
I mentioned a list put together by Michael Bolton, and summarized/enhanced by Adam Goucher in this blog post. Recommended reading, both for developers who want to add testing hooks into their software, and for testers who want to know what to ask for from developers so that their life gets easier (and if you're one of the unfortunate souls who have to deal with Java or .NET, this blog post by Roy Osherove talks about testability and pure OOP.)
Although our tutorial was focused on tools and techniques for implementing test automation, we also mentioned that you will never be able to get rid of manual testing. Even though the Google testing team says that 'Life is too short for manual testing' (and I couldn't agree more with them), they hasten to qualify this slogan by adding that automated testing frees you up to do more meaningful exploratory testing.
My experience as a tester shows that the nastiest bugs are often discovered by manual testing. But when you do discover them manually, the best strategy is to write automated tests for them, so that you'll check your application in that particular area from that moment on, via an automated test suite which runs in your continuous integration system.
You do have an automated test suite, right? And it does run periodically (daily or upon on every check-in) in a continuous integration system, right? And you have everything set up so that you're notified by email or RSS feeds when something fails, right? And you fix failures quickly so that everything turns back to green, because you know that too much red, too often, leads to broken windows and bit rot, right?
If you answered No to any of these questions, then you are not testing your application, period (but you already knew this if you took our tutorial -- it was on the last slide :-)
Sunday, February 11, 2007
My first eBusiness
I put together a little eBusiness with my wife back in 2002. AskADate.com was supposed to be a place to order themed gift packages for a loved one. If I remember right, the only person who ever ordered from the site was my mom. (Thanks, mom!) Anyway, it was a great excuse to buy a digital camera. In business terms it was a total loss, but I actually learned quite a bit about eCommerce, and I passed that on to my Computer Science students. If you count the advertising we bought through Google AdWords, I think the whole thing cost me about $250 ($200 of that was the digital camera). Even though the site is gone, it's great to be able to see it through Archive.org at http://web.archive.org/web/20030210140323/ask-a-date.com/.
Thanks for the memories, WayBack Machine!
Thanks for the memories, WayBack Machine!
Vision of an Open Library
“I don’t know what it will be like to have books from our libraries injected into our culture again, but I’d like to see it.” --Brewster Kahle
http://www.openlibrary.org/details/openlibrary
I realize this isn't new news, but it's new to me. Here are the parts of the 2005 Open Library/Open Content Alliance announcement from Archive.org that really hit home:
3 to 4 billion of the 12 billion libraries spend every year goes to publishing.
Other projects: International Childres's Digital Library, Internet Archive Bookmobile (dollar a book!). BookShare will use this content for access for the blind. $100 laptop will include books from this project onto their laptops. Open Content Alliance will create protocols and formats.
Library of Alexandria 2.0
The Microlibraries Project at the Center for Open and Sustainable Learning is off to a great start. They are figuring out how to format, print, cut and bind Gutenberg books in an attractive and cost-effective way. It's kind of like Brewster's Bookmobile -- except without the minivan. It turns out that for less than $2500 you can buy everything you need to print and bind paperback books. This has implications beyond the current goal of giving away 5000 books to elementary school students in rural northern Utah schools. But that's not a bad place to begin.
The trick is learning to share. Brewster Kahle points out in this excellent podcast that at it's peak, the Library of Alexandria in Egypt was able to collect and store most of the books of the world. An amazing achievement, but not very useful to folks who couldn't go there. So how do we share all these books and all this knowledge with more people? Many people think that the answer involves putting books online. I'm all for that, and it's an exciting to see it starting to happen.
But what then? Do you really want to read those books on your laptop? Me neither. There is something about printed books. So while thousands of people work on digitizing books all over the world, some of us should think about sensible ways to get books back into their original format. If this is all about making knowledge more accessible to people everywhere, then let's not limit it to folks with a computer and an Internet connection. Let's share books.
The trick is learning to share. Brewster Kahle points out in this excellent podcast that at it's peak, the Library of Alexandria in Egypt was able to collect and store most of the books of the world. An amazing achievement, but not very useful to folks who couldn't go there. So how do we share all these books and all this knowledge with more people? Many people think that the answer involves putting books online. I'm all for that, and it's an exciting to see it starting to happen.
But what then? Do you really want to read those books on your laptop? Me neither. There is something about printed books. So while thousands of people work on digitizing books all over the world, some of us should think about sensible ways to get books back into their original format. If this is all about making knowledge more accessible to people everywhere, then let's not limit it to folks with a computer and an Internet connection. Let's share books.
Subscribe to:
Posts (Atom)