Ruby, Let’s Take a Break. I Wanna Date Node.js For a While.

Ruby you’re great. No really, I love your terse syntax, iterating is easy, and the community that supports you is quite large. But, I think we need to take a break.

Wait, don’t cry. Let me explain.

It’s just that I’m tired of having to remember so many syntaxes, especially one so different than the others I work with. I have to use C# or Java for my enterprisey stuff, then switch to Javascript for client-side, then switch to whatever templating engine I’m using. It gets…confusing. I caught myself writing a for loop in a file that ended with rb. Seriously.

What’s that? How will I write server-side scripts?

Well, I’ve thought about it and I think Node.js and I are going to start a relationship. Don’t be like that, Ruby. Try to understand. Node is supported on all the platforms I use. I can write scripts in javascript. It’s familiar.

Node and I had our first date last night. I was looking at a Project Euler problem and after working out something that made sense on paper, I glanced over at node and said “Let’s do it”.

We started going at it. Things were looking great at the start but then the night got rocky. My solution on paper just wasn’t working out in code. I wrote and rewrote but just couldn’t make anything work with Node. To be fair Star Trek was playing in the background and my wife was working on her latest project in the same room. The way Spock says “sensors” and the grinding sound of eggshells on sandpaper didn’t really set the mood for solving any problems.

I smiled at node. “I’ll, uh, call you in the morning,” I said, and went to bed.

The next morning I took a long walk with my dogs and thought about what had transpired the night before. Within minutes I had the solution worked out in my head, and I realized it wasn’t node’s fault the night went sour, it was mine. I just needed to sleep on it.

I rushed back to the house, cracked open emacs and tried again with node. It was instant harmony. Here is the brute force solution to problem #3 on Project Euler:

So you see, you’ve been a fun fling Ruby, and we may get together again someday. You know how fickle I am with programming languages. Let’s just take some time off and see where it goes. Node and I may have something here.

Ecuador2-559

Donde esta el Banos?

Ecuador2-577"Fraaaaaaancoooooo, Ingles" The woman behind the counter at the Hostal Abalorio cooed. A man rustled a little on the couch in the lobby under a heap of blankets. She called Franco’s name a few more times until he rose from the couch. Half asleep, Franco hobbled towards us. Struggling to do two things at once in his stupor, his put the small round glasses on his face and asked if we spoke German before resorting to English.

"Sorry, I’ve been up all night, I’m normally not a lazy boy. We’ve been very busy with the Carnival.” Franco apologized.

We noticed.

Six hours before arriving at the Hostal Abalorio Cary and I had hopped on yet another exciting bus ride to the unfortunately named Banos. Nestled in the valley’s of the Andes, Banos is named for you guessed it, baths. Hot springs are plentiful in the area and at least four bath houses have been built to take advantage of the natural wonder. Additionally, a small city has grown up in the area to accommodate the incoming tourists.

We had announced to several people that we’d be heading to Banos at some point in this trip. Responses had varied.

"Banos? Ah, well you’re young, you’ll like it"

or

"Really? Well, you should do the bike ride"

I got the distinct impression that Banos wasn’t exactly a place that locals expected Gringos to go.

Our bus ride was once again fraught with excitement. First, after confirming with a bus attendant that we were on the right bus, we found out that we were on the wrong bus. As it was taking off towards another city. The attendant who previously assured us that we were on the right bus was kind enough to almost stop the bus before kicking us off so that we could board the correct one.

A few minutes and lessons later we discovered the correct bus and settled in for the three hour trip. Some notes about buses in Ecuador:

  1. They are never full. There’s always room for one more.
  2. There is no reason to bring food, someone will sell it to you later.
  3. There will be one passenger who vomits on every trip. Guaranteed.

All of the above occurred on every single bus trip we took. We seemed to go out of our way to pick up additional passengers, especially the food vendors. If someone vomited, it was not out of the ordinary for another passenger entering the bus later to throw a few newspapers down and take a seat on top of it. Unique to the ride to Banos however was the sheer length of time if took to get there. Banos was a mere three hour ride on a good day. We happened to be arriving towards the tail end of Carnival, and if traffic was any indicator, all of Ecuador had descended into the little valley for the party. Our ride dragged from three hours to six, and if you recall bus rule number 1, our bus was packed full of Carnival-goers. It was easily the most miserable commute I’ve ever made.

Which is why I wasn’t particularly in the mood to make conversation with Franco, the English speaking proprietor of Hostal Abalorio. Frank Fix, known locally as "Franco El Blanco", was a pharmacist in his home country of Germany before becoming part owner of the little hostel in Banos. He spends his winters operating the hostel to avoid the German cold, translating for the rest of the staff when necessary. We helped Frank flex his English for a few minutes, dumped our backpacks in the hostel and set out for the city to stretch our legs.

Ecuador2-558There is a little place in Georgia called Helen. It is affectionately known as ‘Alpine Helen’. Every year in September Helen hosts its own little Oktoberfest. At the height of the celebrations traffic into Helen comes to a complete standstill, and the streets become so clogged with stein-swinging Georgians that even walking around without getting beer-soaked is impossible.

Banos is to Ecuador as Helen is to Georgia.


Ecuador2-552It was clear that this was the tourist getaway for the natives of Ecuador. The streets were jam-packed with Carnival goers. Where Helen has fudge Banos has taffy-pullers, who stretch lengths of melted sugar sometimes eight to ten feet in length from the street to their shop, pulling the candy just millimeters before it touched the sidewalk.

Cary and I stopped at a street-side bar to take it all in, and realized that it was getting awfully crowded on our particular street. Eventually a live band started up and the street was alive with dancing and drinking. I wandered into a bar to see if we could get a balcony seat, only to be chased out by a teenager wearing a huge pair of earphones around his neck. He tried to tell me they were about to film a promotion inside, and to come back in ten minutes.

It was getting late so Cary and I headed back to the hostel instead. Frank had mentioned that he would like to take a trip to the baths in the morning before it got too crowded, and asked if we’d like to to join him. At 4:30 am. We actually agreed to this, and I still don’t know why. We had a full day of soaking, canyoning and cycling in store for us, it was time to crash.

Ecuador2-506

Cotopaxi: Part Two

"Why aren’t they stopping?" Cary asked wringing her hands.

"It’ll be alright, one of them will stop. Relax."

I tried to make the words sound as assuring as possible, but I was beginning to have doubts of my own as another bus roared by without even looking at my outstretched arm. Everyone from Luis to Esteban to our guide at Cotopaxi had assured us that getting a bus back to Quito from Cotopaxi would be "no problema". As more than a dozen passed I began to wonder if I was translating that phrase incorrectly.

Another bus rolled past in the darkness I began to wonder how far Latacunga was, and how safe it would be to walk down the Pan-American towards it. I had seen plenty of locals doing it, but none since the sun had set, and there weren’t any street lights to guide the way. I started sticking my thumb out to any passing vehicle who might be willing to take a few gringos back to Quito.

I was hitchhiking on the Pan-American highway in the dark. A few hours earlier I had been on top of the world. A lot can change in a few hours. I zoned out and thought back to the hike earlier.

Ecuador2-492Before coming to Cotopaxi I had never been higher than 3000m, and that was a few days ago when I arrived in Quito. So far, the altitude had only a mild effect on me. Some fatigue climbing hills, but nothing more. The hike to the refuge in Cotopaxi starts higher than 3000m, and after a few steps Cary and I both knew it was going to be a tough climb. The snow, driven horizontally by the heavy wind, pummeled our faces as we ascended further into the clouds.

We began our climb to the top of Cotopaxi slowly and methodically. Fernando, our guide, was taking a group all the way to the top of the volcano later that night. He trudged slowly in front of us wearing a pair of heavy, reticulated boots. I said a silent prayer to my New Balance Minimus’ that they keep my feet warm, and assumed Cary was doing the same. I would have asked her, but conversation wasted oxygen. Little was said during the climb.

Ecuador2-494To the left and right of the path a black and orange a layer cake of obsidian and lava rock litter the mountainside and the cliffs. Where the stones aren’t packed into dense layers they are strewn haphazardly on the steep hillside, deposited either by the volcano’s explosion or the movement of ice. I found myself thinking about the effects of pressure and heat on rocks and wood. I thought about how charcoal is made, burning wood in a low oxygen environment. I imagined my muscles shrinking into little square Kingston briquettes as I climbed. I thought about breaking into a run, just to see what would happen.

Ecuador2-504With every switchback I expected to look up and see the refuge. The clouds had surrounded us now and visibility was too low to see more than a dozen feet. We kept our heads down and took it one step at a time. Finally, we looked up and saw the yellow tin roof of the refuge. We may have sped up a little then. We were promised hot chocolate at the top, which might have helped. A fox was wandering around the refuge; perhaps he had been promised chocolate as well.

We walked around unsteadily at the refuge, taking a few pictures and looking up into the clouds. We wandered in to the log cabin atmosphere. A stew was simmering on the stove and the scent pervaded the little wooden hut. We took a seat at one of the tables and Fernando disappeared into one of the little back rooms, looking for cocoa and something to eat. He came back with three steaming glasses and some kind of croissant stuffed with cheese. We gladly accepted and made what conversation we could with our broken Spanish. Fernando had summited Cotopaxi many hundreds of times it seemed; for him, this was just another day at work.

Ecuador2-514The promise of hot chocolate kept, we stepped out of the refuge to find the clouds had parted, revealing the summit of Cotopaxi for the first time all day. Cary quickly snapped as many photos of the summit as she could, while Fernando cried "Cotopaxi loves you!". It was a satisfying moment. We took the opportunity to leave on a good note, shook hands with Fernando, and stomped heel first down the hill.

Ecuador2-519At this point Cary and I were feeling confident in our traveling capabilities. The morning had been rough, but we still made it to our destination and were heading back just in time to reach the road before dark. We discussed future travel plans, especially our intent to reach the top of Cotopaxi on a subsequent trip. Perhaps high on the thin oxygen, we made it back to our ride and happily crammed into the Toyota for the rough ride back. I might have even offered to wipe the windshield with the newspaper if the rain and snow hadn’t given way to a steady afternoon sunshine. Everything was looking right with the world.

And then a cab flashed it’s lights in the darkness, and I remembered I was hitchhiking on the Pan-American Highway.

In broken Spanish it became clear that the off-duty cab driver was on his way to meet some friends in Quito, fifty or so kilometers away, and would take us as far as the south bus terminal.

"How much?" I asked.

"Three dollars." Came the reply.

We hopped into the car and the entire way I second-guessed the sum the driver had given me. Three dollars? A beer at a cheap restaurant costs me that much. Surely he meant thirty. Cary and I counted out extra money just in case we had it wrong while the driver bobbed and weave through traffic to Quito. Even if it was thirty, I would gladly pay, and our driver’s skill more than merited it. In the end the fee was exactly three dollars.

"Keep the change", I said as I handed him a five.

It was getting late and we needed to head back to Old Town Quito. We flagged another cab who announced that his fee would be seven dollars. I groaned, wishing that our off-duty driver had been going our way. We thought we might stop and get some dinner, so we asked the cab to take us to The Ronda. In simple Spanish that two road-weary gringos could understand, he told us that the Ronda wasn’t safe tonight, and dragged his thumb across his throat, making a sound you only hear in movies. We raised our eyebrows and told him to take us to Jumbo instead.

When we arrived a steaming hot plate of empanadas was on the table, courtesy of Luis’ wife Maria. We gladly accepted the cheese and onion filled pastry with a coffee and chatted with Luis and Esteban. They were discussing the particulars of the farm and how to organize the cabins for the best exposure. Not wanting to interrupt we excused ourselves and stepped out to find some dinner.

We didn’t realize how hard this would be. In a country that is 90% Catholic literally nothing is open on a Sunday night. After an hour of walking the empty city streets we found exactly one restaurant open. And it was in a hotel. We stepped into the [Plaza Grande] and asked for a table for two, hoping for little more than a few beers to cap what was becoming one of the most ridiculous days we’d ever had. We sat down and ordered a few cold ones.

Suddenly the lights went out. I thought perhaps the Hotel had lost power but when I looked out into the illuminated lobby I knew that something was afoot. A funeral dirge began to play over the speakers.

"Oh god, now the KKK have arrived" Cary announced.

A man dressed in a pointed purple hood and long robes ambled out of the kitchen. The Grand High Wizard of the hotel delivered two bowls of ice cream to a table nearby, folded his hands and walked away. The the lights came back on, the music stopped, and everyone continued as if nothing had happened. Cary and I looked at eachother.

"I’m gonna need another beer."

"Yeah, me too."