Sunday, November 13, 2011

Gone fishin'

I was having a conversation recently with a friend about the sort of work that I've been doing lately. It's not necessarily difficult to explain, but I've happened upon a nice image that more easily illustrates my day to day work life. I work on a team that builds software and on that team everyone has a role and responsibilities. Recently, I was charged with moving into the test automation role. So I got to thinking about test automation and what it is we're really doing. A battery of good automated tests can give a wealth of valuable knowledge to a team. At the most fundamental level, the tests act as a safety net, alerting the team when there's a problem in the code base. We write the tests based on how we know the application should function. Then, because we've automated the tests, that is, coded them out so that they can be repeated very quickly, we have a quick, easy way to spot problems - otherwise known as bugs. In short, if the code suddenly begins functioning in a way that deviates from the expectations of our tests, we have a mechanism by which we can know early and often that such regressions have occurred.

Now if you've ever done any ice fishing, you might be familiar with the notion of "tip ups". Tip ups are fish traps. To set a tip up, you cut a hole into the ice and fasten the tip up at the surface, leaving a spring loaded red flag exposed and a short line and lure dangling below the ice surface, waiting for fish. As schools of fish, northern pike for example, migrate below the ice surface, they see the dangling bait and try to eat it, trapping themselves on the hidden hooks. Once this happens, the fish pull the lines, releasing the spring loaded flags that now pop up, alerting the fisherman that he's caught a fish. When fishing for quantity, especially during migratory seasons, fishermen will strategically place many tip ups along the routes they know fish to travel under the ice. With the traps set, they can simply sit back and wait and drink and freeze and wait some more until that first flag pops up and they can run over and pull a fish out of the frozen water. That's only the start of it though. Because many fish travel in schools, provided you have quite a few tip ups in place, they'll all start popping up one after the other and you'll find yourself frantically running about on the ice trying to pull up as many as possible in a fishing frenzy.

I find this experience to be very similar to what we do when creating and maintaining suites of automated tests. In test automation, the ice surface is our code base. It is often very vast and unknown to the tester. Your average tester only sees the surface of the ice, so it's often difficult to know and understand what's going on below. What if there are cracks and fissures forming? What if there's a whale below us that will break through the ice and eat us? What if there are a thousand northern pike swimming below and we're going hungry because we don't know they're there? As with ice, so it is with code - we need to set traps to catch as many fish lurking below as we can, only in the code base, it's bugs we're trying to catch, and we don't want to eat them. We want to squash them. Our tests are our tip ups and commits are our schools of fish. Commits are changes to the code base and with each new commit comes a new wave of potential bugs, lurking below the surface of our ice. Like our fishermen cousines, we testers have placed our tests strategically, knowing from experience where bugs like to hide and the routes upon which they tend to migrate. With our traps in place, we sit back and watch. And sure enough, it happens every single day. Those red flags (literally red lights on our build pipeline) pop up to let us know we've caught something. I throw on my hat and gloves, slide down a fireman pole, put on my proton pack and fearlessly pull those menacing creatures from the depths. Now, sometimes you get seaweed or a dead turtle, but more often than not you'll get the nasty looking spawn of hell that seconds before was ready to corrupt your database, send all your users viagra emails, and steal all your grandma's money because she still clicks 'OK' on every popup that comes into view. My job is to prevent that from happening. And it works, because I really love to fish.

Friday, September 16, 2011

Learning to work. Working to learn.

It’s been a while since I’ve written on this blog, but I’m gonna start doing it more. I always say that. And I do love to write. So that’s why I made it part of my next work review cycle. If I don’t write one blog entry a month for the next 6 months, I will be FIRED!!! Remember that scene in Back to the Future 2 when Marty’s dad gets fired? It’ll be just like that, but instead of an asian guy yelling “McFLY!” out of some futuristic video conference device, it’ll be Roy yelling “HOTOP – YOUR FIRED!” out of the Chicago office’s contemporary video conference device.

Well, maybe I wouldn’t get fired – but that’s beside the point.

I’ve been thinking a lot lately about the past 18 months. The past unfathomable, surreal, extraordinary 18 months. First and foremost – I married the most beautiful woman in the world – Andrea Marie Coca. I remember vividly the day I walked into the SUB and sat at the AKL table next to Kevin Price. Andrea’s blond hair was huge that day. I turned to Kevin and asked, “What kinda guys get to date that girl?” He said, “I don’t know…probably Betas.” I thought to myself, “Well.. f#@% that”. About a week later, I had just jumped out Craig’s airplane over Iowa, parachuted to the ground dressed in Stefan’s big blowup pink pig costume. I was pretty loaded at the bar that night and there was a party going on at this dumpster I used to live in called Red Room. Low and behold, look who walks in my front door. That big haired Scandinavian looking girl from the SUB. As if the planets hadn’t already aligned, I had the perfect opportunity to ask her to a dance my fraternity was putting on. She said yes and wrote her phone number on a bar receipt I had in my pocket. I remember putting it under my pillow so that I wouldn’t lose it that night. I woke up in the morning, pulled the receipt from under my pillow and below the phone number was written, well, barely legibly written, “The pig found a date to the prom”. We’ve been together since that fateful eve in Kirksville, MO and I wouldn’t change a single thing. I love you very much Andrea.

I’ve had the privilege over the course of the past 18 months to explore. I’ve explored, in true Indiana Jones fashion, a number of new cities. The ability to explore my country and the world is one of the many reasons I love my job. I’ve been fortunate enough to see India, Greece, Dallas, Austin, New York, Washington DC, Annapolis, and Boston over the past year, living in India, Dallas, New York and DC for substantial periods of time. I try to approach each new town from an anthropological point of view, doing my best to blend in and learn a bit about a new cross section of humanity. It has been fascinating. People are funny. You funny too.

The real point of this post, however, is to share some valuable information. Or at least what I consider valuable information. Perhaps the most extraordinary adventure of the last 18 months has actually taken place in my head. I spend a lot of time in hotel rooms. A lot of time. It can get lonely, but it provides something essential to my future success – a time and place meant for learning. I’m lucky enough that at this point in my life (I know it won’t always be this way), I am concerned about 4 things. That’s it. I focus all of my time on 4 main paths:

1. Andrea, Family, Friends
2. Computers / Programming / Software Development
3. Jazz guitar
4. Russian

For me, this is it. I’d like for one of these paths to eventually make me rich. If they don’t, I’ll just sell drugs or something. For the time being, however, I focus every night on making myself better at these things. They each occupy a unique piece of my psyche and pull me in new and challenging directions that over time lead to a series of small accomplishments. These small accomplishments are what fuel my desire to further pursue each field. You might see the cyclical nature of this process. It’s true – the more I learn, the happier I am, and the more I want to learn. There is no doubt in my mind that this is the case. What I’d like to do now is share with you some of the tools and resources I’ve been using to make myself better in these four areas, in the hope that you too will explore what interests you. Remember, if you do something for roughly 10,000 hours, you’ll be an expert in it.

Itunes University – this is the largest collection of free online college courses available. You can stream or download full semester courses in pretty much any subject you can think of – that means watch each class as the professor is teaching it. You can download the homework and class notes. When I started my job, I had no computer science experience. I watched 32 hours worth of MIT Computer Science courses and then “took” a class in Iphone development class from Stanford. This gave me a firm grounding in object oriented programming and prepared me to move forward in the world of software development. Expensive right? Wrong. All of this stuff is free right now in Itunes.
http://www.apple.com/education/itunes-u/


Mit Open Courseware – same as above. Free courses online. Mainly, math, engineering and programming courses. If that’s what you’re in to, it’s MIT and it’s free.
http://ocw.mit.edu/index.htm

Git Hub – strictly programming related. This is like facebook for software engineers. People check code into remote repositories that they create and the community can participate in the development of whatever it is that’s being developed.
https://github.com

Stanford Courses – Two free classes being offered this fall by Stanford. Anyone can enroll and take the courses online in real time.
http://www.ai-class.com/newsfeed/ - Introduction to Artificial Intelligence

http://ml-class.org/ - Machine Learning

Matt Warnock – The best jazz guitar resource on the internet (imho).
http://www.mattwarnockguitar.com/

Google Reader – This thing has made my daily internet browsing much more efficient.
www.google.com/reader

Ruby Koans - A simple framework used to teach users the Ruby programming language. Very simple. Anyone can do it.
http://rubykoans.com/

Java Koans - Same as Ruby Koans, but for Java.
https://github.com/matyb/java-koans

LiveMocha - An excellent language learning site. There are useful classes and exercises in every language you can think of. And what's better is that native speakers grade and give you both spoken and written feedback on your submissions within minutes. Totally free.
http://www.livemocha.com/

Интерны (Interns) - A pretty hilarious russian tv show, similar to Scrubs.
http://interny.tnt-online.ru/

Tuesday, November 9, 2010

Above the clouds on Munnar

Spectacular. The views from the mountaintops above Munnar are simply spectacular. The cool mountain air carries the sweet smell of fresh tea from the local plantations and fluffs it like a blanket over the quaint, quiet, communist (like red hammer and sickle communist) towns.


Munnar is an unsettled blend of Alice's rabbit holes, Dorothy's brick roads (the yellow ones), and Marx's manifesto. Its landscape is a dream. Bright pinks, greens, blues and golds roll over into one another as the earth literally touches the sky. Think about being a kid and drawing those far off, imaginative lands with your finger paints, the kinds you find in "Once upon a time..." stories. This is Munnar. Only, it actually exists. You can imagine my delight, strolling graciously into town about 24 hours after our most horrendous travel experience to date the night before: three-hour traffic jams, late taxis, missed flights, and general hopelessness. In short, Nolan and I missed our flight to Delhi. We scheduled a cab to come get us from the B2 office after work on Friday. My assumption is that when we said, "come promptly at six, because we have a flight at 8:50 and we want plenty of time to check in", the cab company heard, "send someone whenever you get around to it, maybe before eight and preferably sober". Well, when the cabbie finally did show up an hour late, he was sober, so I really can't fault them there. Of course, Nolan and I were on edge as the check-in window inched closer and closer to the point of no return. Our driver reassured us that everything would be fine and to his credit, he did speed when possible and honked his horn in one endless, mind numbing beep the entire time we were driving. It was of no use though. As far as I can tell, there is one road to the airport. And then one road to that road. And then one to that, and so on. These roads would be great if they weren't being used by eleventy billion cars, a zillion rickshaws, 8 million cows, a partridge, a pear tree, and the occasional clinically insane bicycler all at the exact same time. Nothing moves at all. Everyone just sits and honks. Honking. So much honking. I have nightmares now about being locked in a room with nothing but a car horn. People don't use their horns here the way they do in the states. In the states, we use the horn when we're angry or in emergency "oh shit" situations. Here, people use their horns for any possible emotion felt when driving. They make up situations to use the car horn, just so they can use it even more. Having a great day? Honk your horn. Having a not so great day? Honk your horn. Someone cut you off? Honk your horn. That old lady crossing the road get too close to the rick's new paint job? Honk at her. How about those school children up in the distance? Is there even a remote chance they may impede your progress in any way? Perfect! Honk continuously until you pass them, no matter how far. To the Indian driver, the car horn is a loyal companion, a strident mechanism who's mastery may only be obtained by the most devoted follower. To the American, the horn, it's scream having long ago strained and altered the western mind, becomes a demon. It is the voice of the devil. We arrived at the airport twelve minutes before our flight was set to take off. Just like in Home Alone, Nolan and I jumped from the cab and set off running. Smiles on our faces, packs on our backs, we knew we still had a chance. All we had to do was get to the check in desk and explain the situation. They'd see that this wasn't our fault, kindly give us our boarding passes and usher us speedily through security to catch our flight to the one and only Taj Mahal.


Bwaahahahahahahhahahahahaha.


That's hilarious. Now back to real life. We approached the desk and they were already shaking their heads and laughing at us. Not a chance in hell. Very sorry sir. Very late. Very sorry.


We were doomed. We went from airline to airline asking for any availability at all to Delhi. Not a single seat was available to go to Delhi for what seemed like the next week. We even made sure we asked each clerk twice. Maybe an indirect flight? Nothing. The realiziation slowly creeped in that we wouldn't be going anywhere but back to the diamond district that night. Hopeless, we grabbed a cab for the (of course) smooth, traffic-free ride back. Nolan and I spoke in the cab. It was our second to last weekend in India and it was a three-day weekend. We knew what had to be done. We decided to scour the Internet all night until we arranged something different for the next few days, knowing that the following weekend we could still manage to see the Taj when passing through Jaipur.


With the assistance of our always helpful Indian roommates, we considered many possibilities. North? South? Kashmir? Kulkatta? Finally, Sandeep mentioned a place called Keralla, a communist state on India's southwest shore. After some browsing of the web and drinking of the rum, we thought maybe this place would be doable. It's a mountainous region, so it presented a landscape we hadn't seen before. Plus, it was cheap and there was actually some flight availability. We decided to go for it. The next afternoon we reached the airport (in plenty of time) and took off for Cochin, the beach town from where we would start our ascent into Munnar, one of Keralla's highest hill towns.


The following evening, we landed in Cochin and met our driver. His name was Krishna. A nice enough guy, but like many of the folks here who do daily commerce with foreigners, he was looking to make his cut. For example, we told him that we booked a hostel in Munnar, which he promptly tried to talk us out of in exchange for his friends' "really nice, cheap place". And then when we arrived in Munnar after a 150km climb into the mountains, instead of taking us to our place, he just took us to his friends'. We realized that Krishna simply already had his mind made up about where we were going. We bit our tongues and went along for the ride.


Over the next thirty or so hours, we just explored the place. We rode elephants, went on a tour of a spice plantation, took pictures of waterfalls, went to a tea museum and drank tea that had been hand picked just the day before. I'm bringing home about a half-ton of the stuff. It was delicious. We drove to a number of amazing lookout points and took pictures. We went from shop to shop, bartering for food and souvenirs. We went to a place called echo point where, well, you yell and there's a really loud echo. We even rented a paddle boat on which, in the most heterosexual way two dudes can, Nolan and I watched the sunset over the mountains, holding one another closely.


The food in Keralla was a bit different from the food we were exposed to in Bangalore. A lot of different types of rice dishes we noticed, and not so much curry. The dress was a bit different as well. I understand Bangalore now, and maybe I’m wrong, to be a much more metropolitan place than many others I've seen so far in India. For example, in Bangalore, men wear suits. In Kerrala, men wear towels that often breeze freely and openly in the wind. Towel falling down? Simply readjust. In public. For everyone to see. It seemed like every single guy, young and old, was wearing one of these towel things. I can't say I blame them. They seemed comfortable enough. I bought a couple to begin wearing to client sites back in the states. Hey guys, sorry I'm late. Andrea left my towel at cleaners.


As I mentioned previously, it wasn't long before Nolan and I realized that Kerrala was a bit different politically as well. There's a vibrant communist party in Munnar. And they make themselves known. Strewn about the town are political portraits with men's faces on them, red hammer and sickle posters, party slogans written in Hindi, etc. Seeing these images was surprising. I've always associated them with a thing of the past, especially outside of Russia and the former Soviet Union. I guess some of the Asian states are still communist, but I don't think those particular symbols are any longer used to represent the states themselves, nor the ideology. I guess I was just taken aback by the fact that this type of thing was active in this part of the world.


This next bit may have been related to the political views of a particular village or it may not have. I still can't tell. Nonetheless, it was in a small, red, obviously, outwardly communist village that I met some of what seemed to be the first real hostility directed toward me in India. The whole experience was ridiculous. Krishna decided to drop us off in the rain at the foot of this small mountain. We were pretty high up. We had already driven 6 km up the mountain road before going on foot. He told us that if we trekked two more km up the path, there would be a great lookout point waiting for us, from which we could take great photos. Sounded good at the time. We set out on foot.


Then, as if in a suspense novel, the rain seemed to worsen. Cars and rickshaws were zooming past us along the narrow road. They kept coming from both directions. We kept climbing. Everything was slippery and wet. Water was beginning to flow down the mountain. Finally after an hour or so of this climbing, we reached what seemed to be the summit. I wasn't sure though. I still hadn't seen any lookouts and I was sure that we had been walking for longer than two km. As the rain moved away, the fog moved in. It got to the point where we were basically just walking in a cloud. Everywhere you looked was this white haze. Even looking out over the cliff on the side of the road, one could see nothing.


The next part was when it started to get a little more bizarre. So at the moment, we're just continuing to walk up thus mountain, in search of a lookout point that we were sure we'd already passed. In the distance, there is this music. It was vey faint to begin with, but as we walked along the path, it began to get louder and louder. I remember thinking about the odyssey. These were sirens. They were enticing me further out to sea in an effort to turn me to stone. Seriously, this is what it was like. The music was really nice. We were having an awesome time just strolling through the clouds, curious about what we'd find. At one point the music was really loud, but the fog was still so dense that we could see nothing. The first sign of life? A giant red banner imprinted with the same communist symbols mentioned before, strung between two trees, hanging ominously over the path as we walked blindly by. Still the music was getting louder and still we could see nothing. We walked for another thirty yards in the mist before the hazy outlines of a town began to emerge. The first thing I noticed was the tall steeple of a catholic church. Ironic? Maybe. We found the source of the music. Two 16 inch speakers at the town's gates. As we walked in, there were ten or fifteen men starring directly at us. This really isn't that out of the ordinary, and I understood why these folks might be surprised to see a couple Midwestern white boys at their communist party in magic tea land above the clouds. It’s not as if folks that look like us are just gallivanting around the place on a regular basis. As we passed the men, the animals in the town must have sensed evil. All the dogs began barking and growling at us. It was unpleasant at best. Now, everyone knew we were here. And remember that wonderful music that led us to this little shindig? Yeah, they turned it off. Like completely off. Record-scratch off. Now I didn't see it personally (like a good tourist, I had my camera out already), but Nolan was startled by what he says was a stone thrown at him by one of the local men. I was up on a ledge when he grabbed me and said, " I really think we need to get out of here". I had to agree. There was something strange about this particular village. I couldn't help feeling that I was led here and I really didn't want to stick around to find out why. The people in town starring at us were definitely not smiling. We quickly turned back and walked along the road opposite the men. I didn't make any eye contact, preferring to take pictures of the church instead. I was just trying to come off as naive and non-hostile as possible. Sure enough, we made it out of sight back into the fog. And sure enough, the music was switched right back on after we were gone.


That night, thankful we made it back to our hostel in one piece, Nolan and I celebrated with a few beers we picked up from the town's only liquor store. The evening sort of slid by. There was no tv, no internet, no foosball, nothing really but us and the stars. At around 2am I wondered outside to use the restroom. In the distance, I could hear the loud screams of men out in the woods. To the best of my knowledge, this was a tribal ritual of some sort. I could hear chants, songs and screaming...at 2:30 am in a forest in the middle of nowhere above the clouds under a full moon in India. I listened for a bit. Then, shaking the images of me as the main course in some Commi-Cannibal ritual, I went to bed. Holding a sword. And garlic.


The next morning may have been the best of the trip thus far. The owner of the hostel we were staying in promised to lead us up the backside of one of the nearby mountains to watch the sunrise. He may or may not have been drunk when he said this, because he surely had no idea why I was waking him up at 5:30am. What? You want me to where? I was just laughing. Dude, this was totally your idea. I think our conversation ended with, "ok, I go to mountain". I laced up my hiking boots and zipped my raincoat. He slipped on his sandals and put on his towel. He lead Nolan and I up into the mountains for what ended up being a spectacular sunrise view. At the summit, I had some cool experiences. It was like we were sitting on a rock looking out over the whole world maybe as it looked before humans came along. You could just see forever...mountains, waterfalls, forests, etc. No buildings, no roads, no homes…just the forests and mountains. Near our rock, we spotted some old graves, marked at the highest point with a cross. It was interesting to be sitting next to a cross on one side, endless earth on another, and our guide on the other who, at the moment the sun began to show over the ridge, began to pray to Allah. A very intimate experience, surreal in many ways. The three of us sat up there for quite some time. We spoke about the serenity of nature, about politics, religion, work and family. I couldn't help but laugh to think that just a couple nights before, everything was going so wrong, and yet, with some serious web savvy and a relentless passion to explore, I managed to land myself most completely in the middle of nowhere. It just so happened that this middle of nowhere was one of the best things I've seen.


Only a week or so left in India. It’s been amazing, but I am anxious to get home to see Andrea and my friends and family. Finishing strong though. We’ve got a big push to production coming this week and I trust my PM responsibilities will only intensify. I’m looking forward to it, though.


Next week, Diwali in Jaipur. Then the Taj Mahal. The the week after - Chicago. Comin’ home soon.

Thursday, October 21, 2010

Goa for broke

I’ve eaten so many sharks in the past two days. I woke up in the middle of the night last night and found myself covered in surfboard.

To be completely honest, Ive had a difficult time this week finding inspiration for what to write in this blog post. I had such a positive response from everyone who read Happy Hampi, that I started to doubt whether I could one-up myself. What’s funny is that looking back over the past two weeks, some incredibly profound events have occurred in my life. More than enough to draw ample inspiration from and throw my writer’s block into the woodchipper. I’m currently sitting in the Goa National Airport, writing this entry on my phone. My flight’s been delayed an hour. My face and arms are officially power ranger red. I still hear the waves from the Arabian sea and I look like a sexier version of Mic Dundee in this brown leather hat. I’ve given up trying not to look like a tourist. By embracing my inner picture taker, I’ve found that not only can I document my extraordinary adventures more efficiently and effectively, but also that I never have to use a store of any kind ever again. Over the past two days, I’ve been approached 75 thousand times to buy something. Milk, cheese, peanut butter, laser pointers, beach balls, rocks, shells, necklaces, rings, bracelets, rocks, shark teeth, live shark, dead shark, filleted shark, shark in garlic, shark with salad, shark with LSD, shark with crack, rocks, etc. Someone even tried to sell me rocks. Twelve times. What’s more is that even with a backpack full of 75,000 rocks and some not so useful knickknacks, I’m leaving Goa with thousands of new friends. Very close friends. Very close friends who very much would like to sell me stuff. How do I know all these people are my friends? Well because they said so themselves. Never in my life have I had so many new people cordially approach me with a warm, inviting, there’s-no-way-this-6’5”-white-dude-with-the-stupid-Mic Dundee-hat-is-getting-out-of-here-without-buying-something-from-me “Hello, my friend!” “My friend! What is your name?” “My friend, where are you from?” “My friend, you want to buy? I give you great price. -Okay...how about 400 rupees for that glow in the dark spinny thing that I know will break as soon as I touch it? - Oh no, not enough my friend. Business very slow. -Yeah business slow. The recession rears it’s ugly head. -Your head not ugly my friend. That hat good for your size. My friend you buy, no?” -Oh, okay fine. I’ll spend an obscene amount of money on the glow in the dark spinny thing. I know it’ll provide hours of fun. Shoots spinny thing into the air, mimicking new friend who sold spinny thing. Spinny thing immediately flies directly into ocean never to be seen again. So, with a heavy backpack on my back, a camera full of pictures, and down a spinny thing, Ill begin by speaking a little bit about work.

Last weekend work took us camping at a beautiful place along a river somewhere in India. As usual, I had no idea where I was. There were team building activities, swimming, a camp fire, tents, guitars. My Russian friends will appreciate this, we even played mafia. During one of the activities, I covered myself in leaves and silently stalked one of my Chinese colleagues Cui for about seven minutes. I watched his movements, trying to define patterns. I watched how he positioned himself. How the heat and sweat fogged up his goggles. How his weapon shimmer in the bright, hot sun. As Cui sit scanning the landscape behind me, I jumped down from the rock I was perched on and with a guttural Tarzan Rambo growl, I shot the crap out of him with my twin carbine semi-automatic paintball gun. Poor boy didn’t even have a chance. Too young. And then Damen shot me in the neck.

We spent two great days camping, hiking, kayaking, and swimming. We were even able to get beer delivered by boat, which made for a few fantastic games of mafia. Varun, my QA partner in crime and world renowned foosballist, is a total backstabber. I would have bet my soul that Varun was just another towns person. He knew exactly all the right things to say. Like a black widow, he spun his web of lies, drawing me in invitingly and satisfying my desire for security and companionship, only before, at the time it mattered most, tearing away that warm security blanket and devouring me bone and all. Varun is not what he seems.He should not be trusted.

On Monday began yet another intense week of learning, training, teaching, communicating, presenting, scheduling, monitoring, estimating, encouraging, thinking, analyzing, and problem solving. We areofficially through iteration one of release three, Thoughtworks Chronicles. There is much refactoring to be done on the code base, the UI needs to somehow become production ready, our QA build box dies every time we deploy, and we need to find time to develop an additional 50+ story points of new functionality. A seemingly daunting task over the course of a four week release, but I’m confident in my team. As an analyst, I get to watch. A lot. Like in a creepy way. It’s funny to get to know people outside of the work environment and then to see how thy perform when the heat is on. It’s been a great thing to experience for me. My personal knowledge of the client’s vision for Chronicles grows everyday. I’ve also come to know the app at the code level. I’ve been able to get some guidance in exploring and writing automated functional tests for the new things our devs have been churning out. I’ve been having many meetings with our client, writing story cards, even managing our story wall. All of these things have given me a much clearer view of what an agile software development team does and how all the moving parts integrate to form the whole.

Wednesday evening I gave my first of what will hopefully be two Pecha Kucha’s. I’m not quite sure at the moment what these seemingly sexually over toned words mean, but basically it’s a presentation technique. Twenty slides, twenty seconds apiece, on any topic you want. I picked hockey. Why? Well I knew there were a lot of folks on my team who didn’t really know a whole lot about the greatest sport in the world. That, and I knew I could find some badass YouTube clips to throw in. Which I did. Quite a few. After sitting in the office until 3am, slaving away, trying not to curse the horrible user experience that is PowerPoint, I finished Pecha Kucha 1. And it turned out pretty well. Despite a quick technical difficulty, I think I was able to engage the crowd and keep their attention. I’ve received a lot of good feedback too, which has really been helpful. Let’s go blues.

Thursday morning, we headed to the Parikrma Learning Institute. A group of us went to hang out with the kids for the morning. They were awesome. Parikrma is a school here in central Bangalore for kids who come from the slums and other economically downtrodden areas. The folks at Parikrma have a pretty simple philosophy. Provide the best education they can every single day. When we arrived, classes still hadn’t started yet, so all of the kids were still running around out front. They were pretty funny. Some were playing tag. Others were posing for pictures. They seemed very curious about us. When the bell rang, all the kids ran inside and we were eventually invited in. Upon entering the school, each of us had to light a small candle and float it on a pool of flower petals. This was to signify that we had become part of the Parikrma family. Our first activity was breakfast. Our team took turns serving every kid in the school breakfast. They entered the main hall by class from five year olds to high schoolers. Each class took it’s seat on the floor and didn’t eat until the whole school was served. When we were finished, everyone ate together.

The school administration gave us a tour of Parykrma while the students were in class. We visited the computer lab, the virtual classroom where the students would interact with other kids from across the globe and a few of the classrooms. My favorite were the five year olds. Our team told the kids our names when we first arrived and by the time we met the little kids, they had made each of us cards. The teacher would call on one of the students and he or she would walk up, present the card and say thank you for coming. I was really happy to receive a card, so I decided I’d perform the magic trick where I remove my thumb. One of the kids gave me the “white devil, white devil” look, but quickly realized that I had not severed my own thumb and promptly gave me a high five. Nothin better than scaring smallchildren.

After some information sessions on how we as a ThoughtWorks team could work to help the school, we concluded the morning with an assembly. All of the students poured into the main hall and had quite an extravaganza planned. First there were poem recitals, then there were songs and dancing, and finally my favorite, there were inventions. A couple 5-grade age boys came up to show the school what they had been working on. I was floored. The first was a harpoon that wouldn’t be used for stabbing. After we all realized what the sharp metal shank connected to the sling actually was, the teacher prodded a bit about its use. I think in the end we may have decided it could be for fishing. Moving on. The next was a battery powered spinning butterfly thing. It was awesome. This kid walks up with a battery and two wires. He touches the wires to the positive and negative ends of the battery and this thing starts spinning and glowing in his hand. I just remember thinking to myself, “I have absolutely no idea how to McGiver something like that together, and I doubt this kid pulled it from Google.” It was clear that we were dealing with some very intelligent children. Overall, the Parykrma experience was very humbling. Although the kids didn’t have a whole lot, especially at home, they were still at school on time, looking very nice and ready to start learning. At no point did I see any of them complain about anything and it’s not like they’re having recess in state-of-the-art facilities or eating catered cafeteria food. They all struck me as smart, hard working kids who were determined to do their best. It was refreshing.

You wanna know what was even more refreshing? Lying on one of the world’s most beautiful beaches for two days, drinking beer, eating seafood, spying on Russians, and listening to the Eagles. As you might have gathered earlier, Nolan and myself boarded a plane for a beach town on India’s western coast at around 5am Saturday morning. The place is called Goa, a former hippy community turned tourist hotspot on the shores of the Arabian sea. In short, it was stunningly beautiful. Goa is divided by its northern and southern beaches. We spent our time in north Goa. After we arrived, we took an hour long cab ride from the airport to Baga beach. Baga had been recommended to us by some colleagues and appeared high on a number of “must sees” in Goa. We didn’t yet have a place to stay, so the cab driver brought us to a couple beach front cottages to find something we liked. It didn’t take long before we had a room about 20 meters from the shoreline. The beaches were beautiful and from the get-go there were people everywhere. You’d look out on the water and see people parasailing, jet skiing, body surfing, running along the shoreline, etc. All along the beach were these huts - a mix of bars and restaurants - with chairs and umbrellas right on the beach. All you do is pick a place, ask for a menu, and then a waiter brings you whatever you need. Nolan and I spent the first day visiting said places and took a couple trips into town to do some more exploring. We visited some local shops, a book store, and a few bars. At one point we were in some hole in the wall watching Deep Blue - a creepy movie about really smart man eating sharks. Having been thoroughly freaked out by the crazy sharks - I’m sure the beers aided in this - I decided to take out my vengeance by eating one myself. Not really. I had never eaten shark before, but the waiter at one place highly recommended it and then promptly pulled out a platter of whole dead fish. “See? Very fresh.” I didn’t really want crab, so I went for it. Smothered in garlic and butter, it was actually really good. Little did I know that I would continue eating shark throughout my stay, which I think left me more creeped out than to begin with. As I mentioned before, another peculiar little aspect of our trip was the number of Russian tourists. For me, it was the last thing I expected. One of the first things I saw on the beach was a sign in Russian welcoming Russian tourists to Goa. All of the waiters, bartenders, panhandlers, etc. knew at least enough Russian to try to sell things to tourists and to understand the drinks and food the tourists were ordering. I was really enjoying myself. I made a point to keep my head down. We sat in bars and restaurants pretending not to have any idea what folks around us were saying. It was a little bit like being a ghost.

The first day, the monsoons were still raging, so we spent quite a bit of time under the thatch roofs of the huts along the beach. The second day, however, it was absolutely gorgeous outside. We woke up around eleven after a long night of dinner, drinking, exploring and sitting on the beach under the stars playing with those glow-in-the-dark spinning things and laser pointers. One thing I quite vividly remember - the 40 yr old Indian men next to us shining the laser pointers at airplanes and each others crotches. They just thought it was the funniest thing ever. There were two things we wanted to accomplish the second day: rent motorcycles - check. see dolphins - check. The bikes in Goa are super cheap to rent and everyone rides them everywhere. I was a little concerned by the fact that I had never ridden one before, but I managed to get out of the parking lot without falling, which I think kept the renter guy a bit more at ease. Nolan, however, was not so adept. I took off down the road and I think he ran into a few things before getting the hang of it. The bike guy actually caught up with me and made us switch bikes because Nolan’s had a brand new paint job. It wasn’t long, though, before were both cruising through the jungle. We rode to the north side, took a wrong turn and ended up at a jail - where we took some quick photos and quickly left. We rode south into more mountainous terrain, picked up some lunch at a nice restaurant high up on a bluff (more shark and some hookah), and then made our way down to the shoreline where a local boater took us out into the sea to see some dolphin pods. It was awesome. I’d never seen a dolphin in the wild before. Just being out in the middle of the sea was amazing. We actually even jumped in and swam for a bit, but admittedly, I couldn’t stop thinking about those sharks from Deep Blue. After about 5 minutes, I was less about the exhilarating freedom of the open sea and more about getting the hell back on that boat.

That evening, Nolan and I spent our remaining few hours drinking fosters, eating more shark, watching the sunset, and listening to the entire Eagles greatest hits album as it played in the shack behind us. Desperado playing, he fell asleep in the chair next to me and I spoke a bit with a German guy at the table across from us. The sunset was unbelievable. Like nothing I had ever seen. I thought about riding those bikes through the country side. I felt like a real explorer. As with most of our weekend travels, I think we did Goa the right way. No plans, no agenda, no lodging, not really even any cash - just get there and see what happens. Maybe this is a recipe for extraordinary adventures. Whatever it was, I’m glad I did it. Next stop: Delhi.

Sunday, October 10, 2010

Happy Hampi

I was standing in a 3000 year old temple, completely naked and still dripping from the river water. It was at this moment, as I looked out over the boulders and destroyed columns, that I realized Hampi had been calling me all along. A true adventure that began with a bus ticket, a backpack, and a couple bottles of rum.

Friday marked the end of our first official week in India. It was a week packed with new information, new people, new food, and really what amounts to a new way of life in a country that, on the surface, is strikingly different from my own, but, with greater and greater frequency, gives me glimpses of a life full of the same passions, fears, desires and joys as my own. Hampi. We decided to go to Hampi about a week ago. It was easy. At the time, there was no need to book anything, and we figured we'd just take a bus up, see some ruins and head back. Basically a short overnight trip just to say we did it. Two overnight buses in a row seemed like it might be tiring, but whatever. I promised myself I wouldn't waste any time. Friday was a long day. I didn't leave the office until 7:30 because I was waiting for our bus tickets to arrive. They finally did, so I ran home, packed, and then headed over to a party my colleagues were having. There were only three of us going to Hampi that night, but we made an appearance at the party nonetheless. It was a good time. I drank. Took some sweet videos. And acted like an idiot. Typical party Sam. Around 9:30, we packed up the remaining rum we had at the party and headed to the office to catch a cab for the bus station. At the bus station is where the crazy-meter began to make its gradual shift upwards. Little did we know that the crazy-meter would continue to inch upwards over the course of the next 48 hours.

The bus station was totally packed with people. I mean, there are just millions of people everywhere all the time anyway, but man, everybody and their brother was heading out to take a bus Friday night. Turns out, this weekend was a festival weekend and so many folks were heading out of town. This, of course, meant that every single bus would be packed. Needless to say, the three of us ended up in the last three seats, in the last row of a "semi-sleeper". Admittedly, I found this naming convention a little suspicious. Couldn't I just normal sleep? How exactly does one semi-sleep? Suspicious indeed. Our saving grace, alcohol. We knew that no matter how bad this 8-hour bus ride turned out to be, we had booze. And if we drank enough of it, we knew we'd eventually make it to drunk-sleep. And we were fine with that. I think the three of us took some classes in drunk sleep in college, so this would be a piece of cake.

No.

It was not a piece of cake.

It was a piece of whatever is the opposite of cake.

The trip started out great. We went through the Hi. How are ya's? with the other poor souls next to us, set off cruisin down the main drag in Bangalore (and by that I mean immediately into insane traffic) and started mixin some drinks. Yeah! Party! Frat! Sweet! The plan was working. For a while. Problem one. Urine. There was no bathroom on the bus and we were about 2 hours in. As I sit there in a hazy rum fog, Nolan pissed in an empty bottle. Oh and I forgot to mention what they meant by semi-sleeper. See, semi-sleeper means regular bus with no air conditioning and a back window that doesn't work. Problem two. Tom. Tom's a really nice dude from the UK. Drunk Tom is a whacked out lunatic that may get you killed. Now, Tom may be reading this, so I'll try to be as descriptive as possible. At some point, drunk Tom's personal crazy meter started to crescendo and as the normal human beings on the bus lie in slumber, Tom turned his headphones all the way up. Then he started to play the drums on his legs. Then he asked me about 50 times, in pristine British fashion, "Have you ever heard of Oasis?!" I mean, this was already hilarious and out of control on so many levels, but the kicker was that Tom's voice was louder than the really loud bus engine. I totally understood. The bus engine was loud and the music in those head phones at 3am was just blaring. How else were we supposed to have a discussion about the best thing to come out of the UK since the Beatles? We tried to politely ask Tom to keep it down a bit, but that seemed to make him rage a little, and some raging white dude in a bus full of Indians at 3am in the absolute middle of "tigers eat people here" nowhere was definitely not a path I was about to head down. Problem three. The road. About 6 hours in (I still hadn't really slept), the road went from decent to totally ridiculously horrible. Now I'm not some pompous westerner who's too good for other countries roads. These roads were insane. Imagine driving over speed bumps and into potholes, constantly, for 4.5 hours, at 40 mph. Every single second there was another brain-rattling crash that I swear just destroyed the vertebrae in my back. Even better was when there was a really bad one, which was every other one, Tom would yell in the most cliche'd British accent you can muster, "Ahhh for fuck's sake!". This old lady was totally giving him the death eye and he had no idea. I started looking through my dictionary for ways to say "Take him. He's not with me" in Hindi. Luckily, there was no mutiny. Hi Tom.

We eventually did bounce, rock and roll into Hampi. Only, however, after we missed our stop and literally had to call the guide, try to explain what happened, and then finally just really freak out the bus driver by asking him to talk to someone he never met. "Hi, I'm a 6'5" white dude and I'm lost in India. I know you can't understand anything I'm saying, but would you mind talking to this guy?" Extends hand holding cellphone. It worked though. Basawa, our guide, was awesome. He pretty much saved us on a regular basis over the course of the trip. If you ever go to Hampi, which you should, just ask for him by name. He knows everyone. The bus parked and we got out. Then, we wanted to get back in because immediately there were eleventy billion people shouting at us. You want post cards? You need guide? You want a taxi? You want a rick? You want a room? I kind of just said uhhhh alot. I did buy some nice post cards though. You know how we got the commotion to stop? I said, "Uhhh....uhhhh...uhhh." And then I said, "We're looking for Basawa." Silence. Basawa's a man with a plan. People don't screw with his tourists. And like a shining knight on a white mare, there he was. He got out of the air conditioned Nissan Ultima, shook our hands, and we'd never be the same.

After a little rest in a room that Basawa booked for us, we headed out. Tom was still drunk and looked like death. I just smiled a lot. That's my thing. We went to some ruins and got some really good panoramic photos of one of the sites from pretty high up. Oh by the way, I'm done posting photos inside my blog. I think it looks tacky and editing the HTML so that every one shows up right is a total pain in the ass. If you want photos and videos, click on the slide show photos and you'll be taken to a web app where I've been posting all of them. Anyway, we descended down the back side of this slope toward a market and the main temple for that area. The market was bustling and we got to see some really cool stuff. Animals. I really like animals. This place had awesome animals. The first one we saw was a cobra. It was just like the movies. There was some old guy playing one of those recorder things and the cobra popped its head out of a basket and started dancing around. It was crazy. We were walking along the street and everyone kept trying to sell us bananas. I wasn't really sure why, but we bought some. Everyone seriously insisted that we buy their bananas. So here we are walking down the street with these bananas. I happened to glance back and in the distance I saw this cow walking through all the people. Funny. Cows just walk around here. LIttle did I know that this cow had a plan. I glanced back again and noticed that the cow was picking up speed, knocking over little children, and heading towards, well, us. I didn't think too much of it until I turned around a third time and saw thing full trot right towards Nolan. It Wanted the Bananas! Give 'em your bananas Nolan! Run! Oh my god!! We're all gonna die! It was so funny. The cow chased Nolan right into the temple. At the entrance to the temple there were more aggressive animals. Monkeys. These things weren't screwing around either. They'd jump down, smack their palms together as if to say, "Bananas. Now.", and then do their little monkey chirp thing. We handed the monkeys some bananas. Oh but that wasn't all. The cows had our bananas, the monkeys had our bananas, and as we walked through the gate, on the right, a giant elephant was asking for bananas. And not only that, it wanted money too! You walk up, hold out the banana and if it wants to eat it, it does. If not, it puts it down in a pile at its feet for later. Apparently the elephant does blessings as well, but only for cash. And the more cash you give, the longer it blesses you. I gotta try this. I handed its trunk 10 rupies, not really knowing what to expect. It took the cash, put it in a bucket, and then plopped its trunk on my head. It just kept it there for about 8 seconds. I was hooked. I think I gave that elephant a hundred rupies. At one point, after I jumped down from taking pictures with my new fuzzy-trunked friend, Nolan told all the children that I was a giant and that I could bless them too. I was bent over putting my shoes on and when I looked up, there were about 15 pairs of eyes starring at me. I started laughing and they all thought I was hilarious. Then they started touching me. Which was awkward. But still cool.

Basava continued to bring us around to all these wonderful places. He was so knowledgable. He studied archeology and ethnography in college and made his living taking people like us on these adventures. He was good too. He knew exactly what we were looking for and it wasn't the typical tourist traps. Before we knew it, we were straight up Indiana Jonesing it down this river in a buffalo skin boat called a coracle. We paddled down the river and listened to Basawa tell us about Hindu gods and the temples that had been carved into the cliffs. Feeling adventurous, we went for a swim in the river and climbed soaking wet up into one of Sheva's temples. It was here that I stood, flailing in the wind, peering out over the great divide. Conan. Conquerer. Terminator. We climbed down, paddled on, and eventually docked. There was an old lady on the shore making chai, so we stopped for a drink. Delicious.

Lunch was at a famous place called the Mango Tree. There was great food, great drinks, great setting with an outlook over the cliffs, nestled in banana trees, and people had come from all over the world. I managed to strike up a conversation with some Russians, who seemed surprised that I knew where they were from. There were other travelers around, reading books, smoking cigarettes, drinking tea. It was a very relaxed environment and made for a nice resting point before our evening excursions.

Later that night as the sun go down, we climbed another majestic temple. We talked about how crazy it would have been to see this place in its heyday. There were bathhouses, giant platforms for music and dancing, markets, dining halls, even a small temple for beheading people. It was awesome. At one point, we descended into this pitch black underground lair where people were chanting. It was kind of scary. We didn't want them to know we were there, so we tiptoed through and out the other side. I had to use my whip to swing over a precipice in the ground, only barely managing to grab my hat before falling into a snake pit, all the while being chased by a giant boulder that had been sprung upon us by Nazis. I almost didn't make it our alive.

We watched the sun go down atop the tallest temple. You could see everything. It was beautiful.

That night, thanks to Basawa, we had a real sleeper bus for the trip back home. I had my own bed. Nolan and Tom had to share one. Bwhahahahahhaha. We each took some of my sleeping pills and the next thing I remember was a loud "Bangalore! Last stop! Everybody get out!" Took a rickshaw home and slept. A grand adventure indeed.

Wednesday, October 6, 2010

Ramblin.

We are three days into our first official week. I'm happy to say that I've just hosted my first Open Space, which I hope was a success. Open Spaces are an opportunity for ThoughtWorkers to host discussions on whatever topic they choose. There is no structure for the discussion. It could range from a full on presentation given by the discussion leader, to a completely open format where people just share ideas. I decided to have my discussion on language acquisition. In my class, there are folks from Brazil, China, India, Germany, the US, the UK and New Zealand. Many people, of course, speak their native languages plus English, while others are multi-lingual. My goal was to have a discussion detailing the various techniques and resources I've learned to use for my own purposes in foreign language acquisition, to gather the techniques and resources others have used in their experience, and finally, to relate all of these to the acquisition of programing languages, something many here, of course, are very passionate about. We discussed these things, shared ideas, and I actually learned quite a bit about how programming languages are grouped by various characteristics. In many ways they resemble the language families we see coming from various parts of the world in that there are certain underlying characteristics they all have in common, and yet remain unique languages because of a few central differences. Overall, it was a very interesting discussion.

On a different note, I'm happy to say that I've officially booked all of my plane and logging arrangements for travel over the next 5 weekends! This Friday, myself and a colleague will be taking an overnight bus to Hampi to explore the ancient ruins. The next weekend we hope to be camping with elephants at the edge of a large forrest in southern India. The following Friday, we'll be flying to Goa which is a set of beach towns on the western shore. I believe the next weekend, which spans three days because of a holiday here in India, will be the famed Taj Mahal and Delhi trips. And on the final weekend, we're heading to Jaipur for the Diwali Festival of Lights. We'll explore the city, visit India's largest tiger sanctuary, and end our travel time in India with a camel trek across the desert. I'm ecstatic about the opportunity to see and experience these places. This has all really been a once in a lifetime opportunity.

I've found that it's kind of tough to write entertaining blogs about work stuff. And that's not because the work stuff isn't entertaining. It's actually a blast and I've enjoyed every minute so far. It's just hard to find stuff to poke fun at. We've been learning new things at an alarming rate, not only about tech tools, etc., but about ourselves. For example, on day one we were all given a book called Strengths Finder 2.0. We were told to go online, put in a code (a unique code found in each book), and fill out an hour-long survey that would determine what our top five strengths were. The premise of the whole thing was that westerners are often so pre-occupied by pinpointing and overcoming our weaknesses, that we forget to use or even think about our strengths. After your strengths are determined, each is given a chapter in the book in which it is discussed, i.e. how to utilize it, the type of things that would most satisfy it, etc. In short, my strengths were spot-on. Like creepy spot-on. The descriptions detailed directions my life has already taken, things that I'm already passionate about, career paths I'm already on, etc. It was a pretty profound experience to have many aspects of my life described to me (to a T in most cases) on the pages of a book that I had never seen or heard of before. I won't tell you my strengths, but I would encourage people to check the book out. I now have a number of concrete ways to use my own strengths at work and in my personal life, which is a relief in many ways.

A couple more highlights from the week so far. We met the CEO of ThoughtWorks, a British guy named Trevor. I had never met a CEO before. Frankly, it was not what I expected. Trevor seemed, well first of all, like a really intelligent guy. But he was humble. Seemed very down to earth and excited to meet all of us. We drank beer and ate Chinese food.

Finally. The funniest photo ever taken. Be back soon.






Me attacking Shaobo. Shaobo running away. Run, Shaobo, Run.

Sunday, October 3, 2010

I bought fake Ray Ban sunglasses from a 12 yr old today.

So, today was awe-inspiring in many ways. In short, we visited our first Hindu temple, did a couple team building, low-ropes course type games, took a bus around Bangalore, had brunch in the park, ran through the markets bartering for a number of items in our Amazing Race relay, and topped it all off with beer and a buffet for lunch. That all said, I'm totally exhausted. I still can't manage to sleep past 4am. Which means right about now, 7pm, I really just want to pass out. I can't though. I'll never get fully adjusted if I keep giving in. My camera died, of course, about three minutes after we entered the Shiva temple. Luckily, (Andrea will appreciate this) I had my trusty 'ol Iphone with me to continue snapping photos throughout the day. I've been really pleased with the picture quality. I'm just going to post them below so you can see some of these things for yourself. Once I recharge my camera battery, I'll upload the ones from the previous few days.

One a side note, tomorrow's the big day - the official start of ThoughtWorks University, the consulting apprenticeship program I'm here for. I've gotta finish writing a couple programs and take an SQL exam. If I can keep my eyes open, I'll finish those tonight and just prepare myself for rocking and rolling over the next six weeks. Tomorrow night: write emails, facebook messages, get gym membership, and book trips to Dehli, The Taj Mahal, and Goa.

Store full of silks and linens.
More silks.
Every street. Everywhere. All the time.
Families enjoying a day at the market.
How would you approach crossing this street?
Markets were very busy today.
India has gigantic ant hills.
Young boy selling chai.
Holy men with incense.

Saw this in a cave behind the giant statue. See below.

Locals offering homage to Lord Shiva the Destroyer.
Lord Shiva the Destroyer represented here by 50ft tall statue.

Closeup.