It’s Wednesday and I haven’t been fishing since Sunday.
Snow is falling and it’s super duper cold out there. Yesterday the thermometer said 5°F, which is my cue to stay inside. Not so much because it’s cold, but because I’d only get a few casts in before my guides completely iced up.
Generally when the temperature is above 30°F, I head out fishing 3-4 times a week. Mostly short trips to local spots; sometimes I catch fish and other times I don’t. It’s a good thing I have other interests, otherwise I’d really be beside myself during these long stretches indoors.
Lately I’ve had plenty of activities to replace the gaping hole fishing has temporarily left; I’m about halfway through two different albums (a fishing-themed hip-hop album and a funk EP) and have been learning to code.
It’s amazing the dedication I have on a new subject when it interests me; I’m positive I could become an expert in automobile manufacturing or cleaning the bathroom if either one of those subjects interested me. For better or for worse, I recognize this as a character trait; I have an extremely hard time getting into things that don’t hold my curiosity.
I absolutely no background in computer programming, I have terrible math skills (I need a calculator for even basic math, luckily I sit in front of a computer all day), and my logic and reasoning skills are questionable to say the least. In spite of all that, I’ve been completely obsessed with learning the scripting language PHP for the past couple weeks.
I suppose I do have some experience with code; I learned the basics of HTML to create my own websites a few years ago, I dabble in making my own musical instruments in Max/MSP and Plogue Bidule (graphical programming), and am never too far from technology in anything I do. I am tech support, after all.
It’s not so hard to believe, I suppose, that I want to learn how those sites really work. I’ve installed my own WordPress sites (like the one you’re reading) and even created my own wiki (the Angling Wiki). One of the most common scripting languages used in websites today is PHP; that’s what WordPress and MediaWiki use. Facebook, Google, and a huge number of other sites- especially social media sites- use PHP to create dynamic pages.
Armed with google search, my trusty text editor and my hosted server, I’ve been building a little web app.
There are websites for everything: websites for beer, for “checking in”, for sharing hiking trails, and anything else imaginable… but I’ve never been able to find quite what I want in terms of a fishing website. There are already some “social media fishing” sites, but they are ad-cluttered and lack functionality I want to use in tracking my own fishing.
I decided to try and make my own using PHP, learning how to code along the way.
Of course that’s not unlike learning to drive by jumping into an unmanned vehicle already in motion, but I went for it.
Shockingly, I have been able to build a working web site to track my fishing trips. Not everything works, the interface is a mess, and there are only a few features- but it works.
I figured out how to access a couple APIs, which allows my site to grab weather data from Wunderground, stream flow and gauge height from the USGS, and manipulate and display Google Maps. All of the data is stored in a my MySQL database, presented dynamically through PHP and a web browser.
I’m sure there are many ridiculous things in my code; I barely understand the code I’ve written, it’s hacked together with snippets from message boards and pieces I borrowed from open source projects- but it works.
I even created user accounts, a Facebook-style news feed, and profile pages. Users can add new waterbodies to the database by dropping a pin on a map and typing in some details about the spot. I’m hoping to mine my 260+ trip collection of data for information on species and successful lures, and add that to the info for each spot.
Using PHP, all of this stuff can be generated dynamically and scaled easily; if I can get a “waterbody page” to display all the info for one waterbody, it will also work if there are hundreds of waterbodies in the database. There is no need to create anything manually: once I create a page PHP takes care of filling it with data from the database.
As is obvious from the pictures, this is very much a work in progress. Although the site works for it’s original purpose- logging fishing trips- there are a bunch of features I want to add. Every day that I write some more code, I learn an easier and more efficient way to do something, and end up going back and revising old code. I guess that’s called learning!
I’m creating the fishing web site I want to use, and learning a whole lot about writing code in the process. I wonder if I’m the only one crazy enough to want a site like this; Yesterday I added the ability to have different users, so theoretically the site could support being used by more than just me.
It may not have wide appeal, but I’m going to keep working on it during these periods of indoor-time. Come Spring, I’ll hopefully be filling up my database with new trips, new waters, and nicer code.
If you want to take a look at my side project, head over to Keep in mind it’s not entirely functional, and I’m editing the code all the time- so if something breaks, you might not see anything!

2 responses

  1. I used to keep pretty detailed logs of my fishing. Fish quantity, fish lengths, species, water temps, air temps, gauge heights… did that for seven years.
    Now I just go fishing… caught a few, they were about this big, couple of different species, water and air was comfortable and the river wasn’t high enough to drown me…
    Makes for a much more enjoyable day on the water.


  • My website has a new look

Leave a Reply

Your email address will not be published. Required fields are marked *