Adam Christian
March 23, 2010 by

My new gig – Sauce Labs

After almost two years of working at Slide Inc, I have started my new job at Sauce Labs.

The press release can be found here: “Sauce Labs Adds Windmill Test Framework Co-Creator Adam Christian to Engineering Team“.

Slide Inc.

I had a fantastic experience and learned a ton working with the really talented team of engineers, artists and product managers over at Slide. It was incredibly educational to work in an environment where so many people use your product everyday. I built a lot of really cool features there for SuperPocus and spent a year building a test automation infrastructure, and molding Windmill to be able to test anything and everything they put in front of me.

Slide was really amazingly understanding as I went through some personal struggles over the past few months. I will miss the people the most, as Slide created a great environment enabling people to effectively work together to solve really challenging problems.

Sauce Labs

Since I moved to the Bay Area, more than once I have seen people leave jobs to goto what they deemed their “dream job”. I never really understood what they meant by that designation until now.

Sauce Labs is solving exactly the class of problems that I find the most interesting, challenging, and sought after by so many people. I’m incredibly grateful and excited to be a part of the team working to make running your tests in the cloud seamless and fast, instead of frustrating and painful. The crew of people I will be working with are second to none and I look forward to learning all I can from them.

Sauce expects everyone to work directly with customers to ensure the best experience, and I look forwarding to helping many new teams get setup with test automation.

Future

It’s hard to outline exactly what future projects I will be involved in, as the technology is moving forward incredibly fast. I do know there are so many ways that we can make the testing community stronger, and the tools better. I see NodeJS and CouchDB opening many doors to new innovations and I would like to continue improving my Python skills.

I will still be within a block from South Park, so let me know if you are in the area and want to grab lunch!

  •   •   •   •   •
July 28, 2009 by

#OSB, #CLS and #OSCON – 09

I had the opportunity to attend the Community Leadership Summit in San Jose last weekend followed by OSCON in the same venue. The whole experience of these in conjunction gave me a lot of interesting comparison and contrast.

First I’m going to talk about my frustrations so that I can get them out of the way and talk about all the really great stuff. Like most people who have written about their experience of the weekend — I miss Portland for OSCON. I was in Portland for the Open Source Bridge, which was small, intimate, granola and very purely open sourcey. My main problem was that driving from Oakland to San Jose was absolutely 10x more painful than I imagined it would be. By the time I got down there each day to park (and pay) for that massive hot concrete bunker they call a parking garage I was in a terrible mood. It took at least an hour before I was even in the mood to talk to anyone. I’m not going to spend any more time harping on this, but please O’Reilly, if you are doing it in the bay area do it in SF, Oakland, or even Sanoma — but SJ didn’t work for me :)

Good things! Open Source Bridge was really small, but there was a great tight knit group of folks there. Percentage wise, there were more women attending and involved than any other conference I have been to. I think conference planner should take a look at how they managed their costs and only sprung for the necessity. I do hope that next year the attendance goes up, more talks and interesting people to talk to is the only thing I would like to see change with this conference.

Community Leadership Summit was different than any meet-up I have ever been to. The extreme un-conference format really gave it a different vibe. The idea here was that anyone involved, or interested in being involved in an OSS community could come and basically round table a whole big set of different topics (determined on the fly). And it actually worked! Many interesting folks from different organizations and projects showed up and had a lot of questions, and a lot to say. Nine out of ten of the discussions I participated in had some really great substance, and a reasonable flow of different people talking. One was pretty much two or three people talking a lot, lots of people listening, and one guy very blatantly sleeping. I guess you can’t win them all… One thing I thought was really interesting was a small almost ‘track’ of ‘social media in community building’. It seems many people want to build up their community, but are already overwhelmed with all of the different tasks involved. Their question’s were — ‘Should I use twitter/facebook etc. to promote my project?’ And if so, “How do I do it without spending all day and night on there?’ I think the answer is “Yes”, use them, as much as you reasonably can. You want to really kick ass and grow you community… give up sleeping for a couple weeks, get interns, encourage your community help you!

I’m not going to try to provide a full recap of the discussions, because they were beyond what I have time to even try to summarize — but it was great talking with all of you! Special thanks for Jono Bacon and Canonical for their support of this event.

I have to admit, by the time it became time to get involved in OSCON I was pretty beat. Since I work in SF I was trying to be involved in the conference, but also keep working — which was a bit much. I have to say for my personal growth, the best thing I did was attend the Damien Conway Speaker Workshop. I heard his great talk on “How to not suck at being a speaker”, and then had the chance to get up in front of everyone and get torn apart. It turned out to be the best speaking advise I have ever received, Tuesday I completely re-did my Slides and practiced the talk out-loud in the mirror with an audience of cats. Unfortunately part of the re-do did removed all of the loud Journey from the talk.. I may see if there is some way I can work a little of that back in for next year!

  • Bigger Font, ALWAYS
  • Talk to the audience, don’t preach to them
  • Simple slides, simple colors
  • Don’t put a logo on every slide, its annoying
  • Ask questions
  • Tell a story
  • Be very careful with demo videos
  • Talk about things you care about and know
  • 4 points max on a slide, they aren’t queue cards
  • Don’t be nervous (this is a bit harder to fix)
Adam on Fire

Julian Cash took this crazy picture of me.

There was a lot more than that, but those were incredibly important in making the Windmill talk more successful. The food was pretty good, the free beers were nice, walking around the Expo Hall yielded lots of cool stuff to look at and play with.

Saw the inevitable excitement over “Cloud Technology”, Scala, Lift, Closure, R, CouchDB and all of the other new and awesome things I haven’t had enough time to really dig into.

Thanks for a great conference season everyone! Monday I leave for Moscow, stand by for a report on that.

  •   •   •   •   •
May 28, 2009 by

Hudson + EC2 + Windmill = Cloud Testing

This should give you a pretty good idea how to use the available tools to run your functional tests out there on the cloud.

I do plan to keep updating this post, so consider this a rough draft for the time being! I hope this provides some value.

Setting up Hudson

It would be pretty silly for me to try and re-document the Hudson installation process, so I will refer you to Meet Hudson.

Installing Hudson Plug-ins

Manage Plugins

Click the “Manage Hudson” link, and then “Manage Plugins.

Tabs

Select the “Available” plugins tab.

EC2

Windmill Plugin

Select both the Amazon EC2 plugin, and the windmill plugin, then click Install:Install

You should see the following:

Installed

Click “Restart Now”

Restarting

Success!

Create your slaves

Click “Manage Hudson”

Manage Nodes

Click “Manage Nodes”, then “New Node” in the upper left.

Configure the node

Configure the node, we do 1 executor so that Windmill test runs don’t step on each other, c:\hudson is the standard place to store hudson job workspaces, and to keep other jobs from using our slave we specify “Leave this machine for tired jobs only”, then save.

Setup some jobs

In the upper left link menu, click “New Job”

Configuration Matrix Job

We need to make this a “multi-configuration project”, so that we can run the same job against multiple browsers on multiple slaves. Click save.

Get the test

In this example, I am using wget (which I have installed via cygwin) to pull down the test file into the workspace that we are going to run.

Specify the machines and browsers

In this example I have selected to run this test on three different machines, each against firefox, ie and safari. This would be useful if each of these machines had different versions of the browsers. You can run each of the combination’s from one job.

Windmill Plugin

Test run

Configure your Windmill test run, setting Browser to %browser% allows the job to get the browser from the configuration matrix. We also specify the url, and to run the test file that we download in the previous step. Save.

Setting up EC2

Get an account

Sign Up

Head to http://aws.amazon.com/ and sign up!

Setup Amazon EC2 API Tools

I found this to be relatively straight forward, however these docs look terrifying and poorly organized: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351

These were much easier on the eyes, and to the point.. plus they are OSX specific, which was nice: http://www.robertsosinski.com/2008/01/26/starting-amazon-ec2-with-mac-os-x/

Once you are all setup, allow connections to all images you launch with remote desktop by issuing the following command:

ec2-authorize default -p 3389

Launch Windmill AMI images

AWS Management Console

Sign In
Navigate to the AWS Management Console

Launch Instances

Click to Launch some Instances

Find AMI's

Click to the “Community AMI’s” tab

Search for Windmill

My pre-maid Windmill AMI’s should appear, ‘windmillxp’ specifies that it’s the windows xp Windmill image. Click ‘select’.

Configure Launching

Your security groups will reflect what you configured for your account, but specify the number of slaves you would like to use. Then click “Launch”.

Confirm

You should get the following confirmation that your slaves have been launched.

Dashboard

Start the slave agents

For each of the slaves in the following list:

Slaves

Connect to instance

Check the image, and click connect.

Download Dialog

Click “Download shortcut file”.

Auth

If you have Remote Desktop Installed, you should connect and see the following dialog. I have also found CoRD to be a great alternative on MacOSX.

You will be prompted for a username and password, use ‘Administrator’ and ‘w1ndmill’ respectively. Note: the second character of the password is the number one.

In the Window you can now access, launch a browser and navigate to the URL of your Hudson Instance and find your slave node in the list.
Slave

Click that the node to get it’s configuration screen.

Launch Slave

Click the “Launch” button, your EC2 image is now an available Hudson slave.

Run that Test

Build

Click the clock image on the right to start the job running. In the VM you should see the Windmill test zooming along. You can also navigate around the job to find access to the console output to see line by line what is happening on the standard out.

Other

The manual launching process can be automated using the hudson EC2 plugin for Linux, but is not yet compatible with Windows. Resolving this step would make the whole process of launching cross platform cross browser tests in the cloud a fully automated process, which we are looking forward to!

Other possible ways to handle this are by using the hudson VMWare plugin, and launch images on a VMWare server.

  •   •   •   •   •
Get Adobe Flash playerPlugin by wpburn.com wordpress themes