Snorkeling

For the past semester, many of my friends here have been enjoying the Red Sea, diving regularly. One even went on a two-week research cruise, making three to four dives a day.

‘What,’ I wondered, ‘could possibly be the fascination?’

Growing up in Colorado, playing around on the beach meant going to Boulder Reservoir, which isn’t much more than an enormous swimming pool. Just not much remarkable about it. The only real beaches I had been to until now were in San Francisco and Japan, and the novelty wore off pretty quickly.

This last weekend, I decided that I ought to give it a try, and not being certified for diving I went snorkeling with my friends. We drove to a private beach (which was a treat in itself – men and women can mix, and music plays over the loudspeakers. These are things I’ve learned to not take for granted), rented gear and got in the water. On the dock, I was excited when I saw a small coral growing in the shallows. It couldn’t have been more than 10 centimeters in diameter but thinking about exploring the beach for more such treasures was enticing.

We waded out and put on our flippers, and then our masks. I dipped my head down, ready to explore, and instantly my head popped right back out of the water. “Guys! Guys!” I shouted to my friends. “There’s a freakin’ million fish here!” They chuckled knowingly, and I realized this is what they came for.

I just could not get in the water fast enough. There were so many fish I had never seen except for in aquariums, brightly colored, quick, and just stunning. Thousands of them from deep blues to iridescent purples, all swarming around beautifully-colored coral and anemones. All told, I spent about four hours tooling around the reef, examining fish at the cleaning station, clownfish in their anemones and predators lurking near the surface.

On leaving I instantly felt like a tree-hugging hippie, and felt a need to protect the ocean. Ok, sure, it was a bit short-lived and I feel like someone who’s hopped on a bandwagon, but it’s an incredible world down there. You see shadows off in the “distance” (though it’s usually only 30 feet away) shimmering and swimming around. Floating in the sea, weightless, above the sheer cliff faces of 20, 30 or 40 feet is a unique sensation. I tried to compare it to hiking and climbing mountains, but it occurred to me that unless I learn to base jump, I will never see that kind of geographical structure from the same relative perspective – hovering above it.

Between dives (well, my friends were diving while I was snorkeling) we’d pull out a book of Red Sea fish and try to find all the ones we’d seen. The camaraderie of stories of dives past and fish seen was nearly as satisfying as the experience of being in the water like that.

I’m exploring getting certified (either through PADI or BSAC – we have both available here) so that I can join my friends on deeper adventures, but in the mean time I’m going snorkeling as often as I can. Forgive the pun, but I think I’m hooked.

Tagged with:
 

Several months ago, I was given credentials to download a piece of software, and I needed to download another copy only to find that I had forgotten the password. I anticipated it would take quite a while to email the people in charge, and on a whim I decided to take action. Right click, view source.

To my surprise, all the authentication was done in JavaScript, though in all fairness it was “encrypted.” I’ve changed the underlying keyphrase in a code example, and I pose a small puzzle – find the password.

You may find jconsole helpful.

var pass=new Array()
var t3=""
var lim=8
pass[0]="fE13Cw9emtKIg1F"
pass[1]="wKTuZEy387Im8b2"
pass[2]="3NKevEgjpWWwmSE"
pass[3]="CryO6BmP9XpUlke"
pass[4]="8R4Gf2sgs5Xs5KI3"
pass[5]="62GZJ9Dzc2y8lBTU"

var extension=".html"
var enablelocking=0
var numletter="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
var temp3=''
var cur=0

function max(which){
return (pass[Math.ceil(which)+(3&15)].substring(0,1))
}

function testit(input){
temp=numletter.indexOf(input)
var temp2=temp^parseInt(pass[phase1-1+(1|3)].substring(0,2))
temp2=numletter.substring(temp2,temp2+1)
return (temp2)
}

function submitentry(){
t3=''
verification=document.password1.password2.value
phase1=Math.ceil(Math.random())-6+(2<<2)
var indicate=true
for (i=(1&2);i<window.max(Math.LOG10E);i++)
t3+=testit(verification.charAt(i))
for (i=(1&2);i<lim;i++){
if (t3.charAt(i)!=pass[phase1+Math.round(Math.sin(Math.PI/2)-1)].charAt(i))
indicate=false
}
if (verification.length!=window.max(Math.LOG10E))
indicate=false
if (indicate)
alert("Correct password.")
else
alert("Invalid password. Please try again")
}

You can also get it in a testable html page.

Tagged with:
 

Programming Praxis

I’m all for sharpening the saw, and working on little puzzles. In that vein, I recently came across a site called Programming Praxis that suggests tasks from implementing heapsort to writing AI to play the game Mastermind.

I don’t work on their puzzles as often as I like, but if you’ve got a little bit of free time, they’re worth checking out.

 

The Art of Failure

I’ve failed before, at many things, and it is a habit I can’t seem to break. It’s inevitable that things won’t work (especially not the first time) and in fact programmers know that it’s a beautiful thing when code compiles the first time, let alone works correctly the first time.

With graphics, the results are sometimes cool, sometimes horrifying and sometimes beautiful. I make a habit of documenting the results of broken code as much as I can, and after a recent one, I thought I’d share some of the more interesting ones.

Tagged with:
 

Last week, Phuong and I went camping for a few days in Moab, UT. She had never been camping, and I’d never been in what I’d consider a real desert. Despite a few hiccups, it went relatively well.

Moab lives about 350 miles away from home or about 6.5 hours through mountain resorts and podunk towns. We got a late start and didn’t show up at our campsite until the early hours of the morning. Setting up the tent in the dark was not our problem – ours was one of being exhausted after the drive. Despite it all, the next day saw an enthusiastic start.

DSC_0037.JPG

Our first hike was the longest at the park, weighing in at about 7 miles. The rangers said we should plan on between 3 and 5 hours to hike it. With only about 1,000 feet in elevation change on the trail, we thought they must be crazy to think it would take that long. Four hours and two camelbacks later, we realize they were right.

In the desert, they recommend that each person drink 16 ounces of water per hour of exposure. It is truly an odd sensation to drink a gallon of water per day and not urinate at all – this massive amount of water is completely sweated out. With more than half of the days of July over 100F (it hit 101 while we were on this hike), Moab is a great and terrible place.

DSC_0119.JPG

In the middle of our second night there, we awoke to find ourselves being dragged away by the wind… while still in our tent. Though we tried desperately to weigh down what we figured were key areas, we had no chance to stay, so we scrambled out as quickly as we could and collapsed the tent. We were a little late in doing so as the wind had ripped a hole in the fabric, and bent one of the poles in half. Our camping was coming to a premature close. We slept in the car that night and decided that the next day we’d hike some of the easier trails and then head home.

I’ve got dozens of photos from the trip that are worth looking at (especially if you’ve never been). Later this summer I’d like to visit Dinosaur National Monument in western Colorado and/or Glacier National Park. Time permitting, of course.

Tagged with:
 

Coffee and Cigarettes

During my time in Japan, I picked up a new habit – smoking. I would let myself have on cigarette per day, and I would save it until the evening. I would sit out on my tanning chair with a cigarette, a Kurt Vonnegut book and “Cafe au lait,” and just enjoy the quiet Japanese evening. The crackling of the cigarette and slowly burning ember are among the things I enjoyed most. As I write this, even, I’m enjoying a clove cigarette. I just accidentally ashed on the floor. Oops. Apparently for the crackling of cigarettes in movies, they use cloves because they’re so much louder. A film-major friend of mine said that the mics can’t pick up that of a normal cigarette. Clove smoke is so much thicker, too. It rises up like a beautiful plume. The taste is toxic. Somehow I’ve always found it satisfying. It’s like breathing poison. Fill my lungs.

Tagged with: