Surfing
BP Live Video Cam Array
Jun 7th
Unless you have been under a rock you are well aware of the British Petroleum oil spill in the Gulf of Mexico. BP was mandated to broadcast their live stream from the ROVs so the world could see how bad the situation really is. Recently on the BP site they added eleven different camera feeds that could be viewed, I am not sure if adding the additional feeds was mandated but never the less it gives us even more insight into the constant attempts to repair and stop the leakage.
I found one problem with the new feeds; I couldn’t decide which one to watch because they are all from different ROVs. So I decided to build a quick camera array so I could view them all at once much like the array I built on surfassateague.com. Due to all the feeds being broadcasted in the Windows Media format the array is best viewed using Internet Explorer (I know, lame…), this is mainly due to the limitation of Firefox using the stretchtofit parameter in the embed, but I digress.
So without further ado, I give you the BP Live Video Cam Array:
Be sure to let me know what you think…
The Past and Future of SurfAssateague.com
Sep 9th
A long time ago, about 4 years or so, my good friend Chad Heller started to teach me how to surf. After I was hooked we would often plan morning surf sessions before work, where we worked for the same organization. At the time I lived in a small development called Captains Cove and Chad lived in the large suburb, Modest Town, VA. Every morning would start off with dragging my lifeless body out of bed and to a computer to check SurfLine only to hear Dennis with the local report say the waves suck.
One day I decided that there must be a way that we could get the report before getting out of bed. So I looked into buoy data sources and weather station data sources and saw that NOAA was updating all their data and letting anyone access it. So I instantly started programming.
The first part I programmed was just a basic display of the current conditions in tabular form that used the data from the Deleware Bay buoy. The data was off by a foot and sometimes two. I didn’t take into account how far out to sea the buoy was and how far away Assateague is from Deleware Bay.
Utilizing Chad’s knowledge of the surf, I developed an algorithm that pulls data from the Deleware Bay buoy, the Virginia Beach buoy and multiple weather stations along the cost. After much tweaking the data became more and more consistently correct.
My next task was to somehow get the data sent to our cell phones early in the morning so we could check our phones and roll back over and go back to sleep. Once I figured out how to achieve the task a set it up and let a few other friends join in. Everyone seemed to really like the reports, so I thought maybe other people might find it useful as well. So I registered the domain, surfassateague.com, and the site was born.
I set it up to allow people to sign up for 3 different reports; 5am, Noon, and 5pm. I set up the main page to display the current conditions and the tide info. Shortly after that I started adding webcams to the site. Sadly no webcams exist for Assateague on both Maryland side and Virginia side, so I was forced to use Ocean City cams and broaden the report to include Ocean City.
Since its initial development Surfassateague.com has not changed much beside a couple features added here and there such as; a tide calendar, the beach cam array, a tropical weather section. Surfassateague.com became my hobby site where I would tweak and adjust little things just to make life a little easier for surfers and myself.
I have often flirted with the idea of shutting the site down now that SwellInfo is around and almost every cell phone can browse the web now. Surfassateague.com was never meant to compete against any other site. The only purpose it has and will ever have is to be simple and free and to fill a niche that allows me to sleep in.
The future of Surfassateague.com is SurfDelmarva.com. Using the same basic algorithms developed for SurfAssateague.com. DelMarVa will be broken down by beach with its own report and web cams. SurfDelmarva.com will use a completely different approach to web development by utilizing the mainstream social media sites. One of the new and exciting features will be Scout Reports, which will let anybody who has signed up to submit a live report, photo, and even video from the beach with their cell phone.
SurfDelmarva.com and Surfassateague.com will always be free and always remain humble no matter how awesome they become.
For more information on SurfDelmarva.com check out Surf Delmarva’s Facebook.
The Conclusion
Jul 6th
My eyes creep open as the sound of melodic tones slowly increase in volume. “You’re suffering, feel your pain. Allow me to be your sponge.” Sitting up I sneak out of the tangled sheets not to wake or stir the ones next to me. Quickly I disable the alarm that has started my day so early. Tip toes as if I am a lion stalking my morning prey, too tired to miss but fully alert. In the bathroom I find my neatly folded clothing. Board shorts, a rash guard and a single stick of wax. This is all I need, this is all I want. I slip my clothes on paying much attention to my stealth as I adjust the Velcro. Slithering out of the bathroom and into the hall way where my flip-flops lay mocking me, ready to make noise. Today I will leave them home, the less I take the better.
Once outside, I make my way to the car with the board already strapped down from the night before. I start the car and the same song that awoke me is now in full stride. “The air was heavy. He could feel it in his lungs. With every step he took, a prayer rolled off his tongue.” I leave the driveway and head down the street. The house was only five-hundred or so yards from the dune, but it would take much too long to walk. I cross the dune with board in hand as I stop to take in the amazing sunrise. The sky is peach with small low lying clouds moving offshore as if to make way for the day to come. The water looks airbrushed as not to show a single ripple or imperfection. The waves are about waist high, which is plenty for my purposes, for I had a long board.
Dropping my belongings I wax the board making sure not to miss a single spot, for this is my first day on a long board. Now the board is waxed and my leash is strapped. I hit the water and a chill rushes though my extremities and into my core. The water is warm, about seventy-five degrees in Fahrenheit, although against my much warmer skin it feels cool. I rapidly become immune to the temperature difference as I lay on my board. I start to paddle, one – two – three – four – five paddles and I’m already past the breakers. As the sun clears a cloud I find myself in a row of diamonds stretching from myself to the horizon. Sitting on my board I feel as if am a king while almost my entire body is above the water looking down to see the sand of which I rule.
I notice a small break in the diamonds heading my way. I lay back down on my thrown and start to paddle slowly, afraid to outrun the impending wave. As it reaches me it is almost to its crest and I give one final thrust with both hands. I instantly find myself standing and peering down the line. Slowly I lean and the board changes direction. I am now sailing across the wave as it breaks behind me. Everything is now in slow motion and extremely clear. I am noticing every detail right down to the individual drops of water as they cross through my field of view. Right now, at this very moment, I am not simply experiencing nature, I am part of nature. The energy of the wave has transferred through my board and into my body. As the wave nears an end and becomes white wash, time starts to speed back up. Hopping off my board, I am now standing in ankle deep water as the board continues to follow the wave to only be stopped by a tether to my ankle. I am still in awe at the moment, the feeling, and the beauty I experienced.
Throughout the rest of the session my mind is clear as I question life, existence and everything else that has made me who I am. I realize that influences only influence my decisions and not who I am, which rivals what I have been taught. But then, to be taught is to be influenced.Which only then means: Who you are, why you’re here, and how you came to be; can only be realized by experience.
Surfing Withdraw
Jan 15th
Photos & Videos from the November Surf/Camping Trip
Nov 16th
Here are some photos and videos from the trip. We saw a bear… ooo scary bear…
November Surf/Camping Trip
Nov 6th
Cape Hatteras National Seashore
November 7 -Â 9, 2008
The following webcam feeds will be live during the duration of the trip.
Click cams to view larger size.
Surfline.com Live Video Feed for Free
Sep 18th

This is just something I have noticed on the Surfline cams. This is just a reverse engineer – proof of concept and I have absolutely no responsibility for what you do with this information. It is illegal to received a paid service without paying for it and the service provider not knowing.
Now that all of that is out of the way, here we go…
The first thing you need to do is find out the Camera Name for this example I’m going to do Ocean City, MD. To get the Camera Name go to the camera on Surfline’s site where you would see the 30 second free stream. In my case the URL is “http://www.surfline.com/surf-report/ocean-city-northeast_4406/”
View the page source of and search for the word “camadnewsbig”. You should see a block of code that looks a lot like this:
1 2 3 4 5 | if (vod_item){ frames[frameName].location.href = 'camadnewsbig.cfm?alias=oceancitymdcam&cam_period=' + pre_rec + '&vod_jump=' + vod_item; } else { frames[frameName].location.href = 'camadnewsbig.cfm?alias=oceancitymdcam&cam_period=' + pre_rec; } |
After the word “camadnewsbig” there is a parameter called “alias” the value of this parameter is the Camera Name. Example in “camadnewsbig.cfm?alias=oceancitymdcam&cam_period…”, “oceancitymdcam” is my Camera Name.
The next thing that you will need to do is create an html file on your computer.
First open up notepad and paste in the following lines of html.
1 2 3 | <body leftmargin="0" topmargin="0" bottommargin="0" rightmargin="0" bgcolor="#000000"> </body> |
This will allow you to make the videofill up the page with no margins.
The next thing that needs to be done is the object embed code. This of course was the tricky part for me to the swf file and the codebase file on Surfline’s site to run remotly.
Paste the following code within the <body> tags.
1 2 3 4 5 6 7 8 | <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab##version=7,0,19,0" width="100%" height="100%" title="test"> <param name="movie" value="http://www.surfline.com/flashcam2/slviewer2.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="##000000" /> <param name="FlashVars" value="varGateway=www.surfline.com:80&varCamName=[Cam Name]&varTimeOut=1800&varDebug=0&varPlay=live&varUserID=0&varSize=0" /> <param name="wmode" value="transparent"> <embed src="http://www.surfline.com/flashcam2/slviewer2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="100%" flashvars="varGateway=www.surfline.com:80&varCamName=[Cam Name]&varTimeOut=1800&varDebug=0&varPlay=live&varUserID=0&varSize=0" wmode="transparent"></embed> </object> |
There are two places to insert the Camera Name that was retrieved earlier. The first place is in the 4th object param, the second is in the “flashvars” attribute in the <embed> tag. Replace “[Cam Name]” with the actual Camera Name that you looked up earlier in both locations.
You final code should look like this: (click down arrow to expand)
1 2 3 4 5 6 7 8 9 10 11 12 | <body leftmargin="0" topmargin="0" bottommargin="0" rightmargin="0" bgcolor="#000000"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab##version=7,0,19,0" width="100%" height="100%" title="test"> <param name="movie" value="http://www.surfline.com/flashcam2/slviewer2.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="##000000" /> <param name="FlashVars" value="varGateway=www.surfline.com:80&varCamName=oceancitymdcam&varTimeOut=1800&varDebug=0&varPlay=live&varUserID=0&varSize=0" /> <param name="wmode" value="transparent"> <embed src="http://www.surfline.com/flashcam2/slviewer2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="100%" flashvars="varGateway=www.surfline.com:80&varCamName=oceancitymdcam&varTimeOut=1800&varDebug=0&varPlay=live&varUserID=0&varSize=0" wmode="transparent"></embed> </object> </body> |
Once done you can save your text file as an .html file, for example surfline_OCMD.html
The .html file can be opened with pretty much any web browser. IE might block it because it’s a local file accessing a remote object, just click on enable content and you should be good.
Awesome shell? What is it?
Sep 8th
I found this awesome shell or whatever but I have no idea what it is.
This is where I found it.
surfassateague.com development
Jul 7th
Last week I developed a Tide Calendar for surfassateague.com which displays the tides in a calendar format for the selected month. I also added the ability to export the calendar to PDF so it can be posted or stashed in the car.
Recently I developed an aggregator for the Weather Underground North Atlantic Basin RSS feed. Before this module was developed I would have to update the tropical weather manually. So now as soon as a storm develops in the North Atlantic, surfassateague.com has the latest info for it. Right now it’s showing maps for Hurricane Bertha which looks like it might give us a good swell.
I have also been working on a WAP version of surfassateague.com for use on mobile devices. The WAP version includes current conditions, tides, and live beach cam still shots. To check it out go to wap.surfassateague.com on your mobile device.





