Purpose

The purpose of this project is several fold.

Growing up, I had (and still have) a field guide to Reptiles and Amphibians of the San Francisco Bay Area, by Dr. Robert C. Stebbins (University of California Press). It was really nice to have a guide that was so regionally specific, that I could flip through and read that covered my specific area.

I know of no such field guide specific for the Shasta County area of California. I thought it would be beneficial for local people here in Shasta County to have a regional specific guide they could refer to that covers the local species.

This web site is not a field guide, it is a web site. However, it still may be very useful for those looking for a region specific guide.

Additionally, there is a very real very serious worldwide amphibian decline taking place, and it is impacting Shasta County, where we almost certainly have already lost the Oregon Spotted Frog (Rana pretiosa), may have lost the California Red-legged Frog (Rana draytonii), and it seems likely that we will lose the Cascades Frog (Rana cascadae).

I am hoping that enough hobbyists will make use of the species record database that we can detect declines in our remaining amphibian species before it is too late to figure out how to protect them.


Web Site Details

Taxonomy

With a single exception, I am using the Sixth Edition SSAR list for common and Latin names. I do not agree with all of them, however, I have come to the position where I believe it is generally best to use an agreed upon widely used standard.

Range Maps

Range map data needs to properly interpreted. Unfilled area do not necessarily mean the species is not likely to be found there, it simply means that the database does not have a record of the species having been found there. The range maps are thus more of a map of records than probable range. Consult a field guide to determine probable range.

There will be some bias on the maps. Certain parts of the county seem to be better represented by museum collectors, and certain parts of the county are better represented by vouchers in our own database.

Hopefully as time goes by, there will be better representation throughout the county.

How the Maps Are Made

Shasta County is split into numerous regular hexagons. Each hexagon has an approximate distance of 3 kilometers between opposing sides, and covers an area of approximately 7.79 square kilometers.

When a record is made in the database and verified, in the detailed maps if the hexagon the record falls in is not already green for the species, it will turn green the next time the map is updated (usually first and fifteenth of every month). As the newest record in a hexagon ages, the hexagon color shifts towards yellow. Museum records over 5 years old are distinguished from our records by being represented as a light blue. The lower resolution maps (which appear on the species page) use one color to indicate records, regardless of age or source.

User Record Verification

Records submitted by new members are flagged as unverified. When a member of vested status has reviewed the record and agrees the record is valid, the record then becomes verified. Once a member has 15 records verified covering at least 5 different species, they are eligible to become vested members and their future records are assumed accurate unless they have a history of multiple flawed records (IE species mis-identification).

I may make some individuals with well known field expertise vested members before they reach that mark.

Verified records may be challenged by any vested member.

The system is not completely fool proof, but it should works fairly well. For the most part, mis-identification in Shasta County is not a big problem. Other than our Pacific Newts,Spiny Lizards and Alligator Lizards, most species are fairly distinct from each other. There can be some confusion between members of our native True Frogs, however, the species that are most likely to be confused either do not share range or are thought to be extirpated in Shasta County.

Museum Records

In addition to data submitted directly to our database by users, the range maps include data gleaned from various specimen museums. Most of the museum data used comes from the following vertebrate museums:

Records from additional museums are being added. This is a tedious task since the data sets from other museums often are not georeferenced, so I need to georeference them myself. In some cases where specimen locality is provided by TRS, georeference to Latitude / Longitude is fairly easily performed using Earth Point. In most cases, however, georeferencing is much more difficult and usually less precise.

With the exception of the museums listed above, museum records were obtained through the HerpNET data portal, http://www.herpnet.org/, on Nov 11, 2009:

Data from the museums noted as pending has been imported into the database but is not currently used, pending proper usage permission.

Non Scientific

The range maps should not be considered scientifically valid information. While accuracy is sought, for the most part the data has not been verified. They exist only to give a general idea of where specimens for a species are reported to have been found in the past, but the validity of those reports are not scientifically established.

Typical Elevation

Elevation ranges given in most field guides is somewhat useless for Shasta County. The problem is many species that are willing to go down to sea level near the coast are not willing to do so inland. Since Shasta County is an inland county, many of our species have elevation ranges specifying from Sea Level in field guides but stay away from the lower elevations here.

Typical elevation is calculated by taking the maximum and minimum elevation for a species for each hexagon where we have records for the species. From the list of resulting elevations, the bottom 5% and top 5% are cast out, the “Typical” elevation range is the range of elevation that remains. This method helps mitigate erroneous extremes from bad data, but you should note that when a typical elevation is given, records of the species do in fact exist in Shasta County that are outside the specified typical elevation on both ends.

Typical elevation is only calculated for species who have records in 25 or more hexagons. Species that probably do not exist in that number of hexagons will be handled differently.

Elevations for Museum records are calculated using GPSVisualizer.

In the context of this web site, the phrase “lower Sacramento River valley” refers to the valley around the Sacramento River south of the Kesewick dam. The “upper Sacramento River” being the part of the river above the headwaters at Lake Shasta Reservoir.

Database Records

One of the primary purposes of this web site is to maintain a database of photo vouchered geo-referenced records for reptiles and amphibians found within our county borders.

These records are used to help produce range maps indicating both historic and current range of species in the county and may at some point in time be used society research projects, such as checking known toad breeding sites for the presense of the Chytrid fungus.

The database is open to the public for viewing, but geo-reference and locality data is not made available to the public. At this time, that data is not even made available to researchers. Members are encouraged to also submit their data to the North American Field Herping Association database and our record form provides a field where the NAFHA record number can be entered, resulting in a hyperlink to the record in that database. Researcers interested in locality data should make their request through the NAFHA when they want locality information and the record is also present there. If the record is not also present there, researchers who want the data will need to contact the person who submitted the record.

GPX and KML

[Valid KML]

Records you have submitted, and only records you have submitted, may be downloaded as either GPX files suitable for using with many applications, particularly applications that talk to GPS devices, or as KML files suitable for viewing in Google Earth. You can download the files for a single record you have submitted, all records you have submitted for a species, or all records you have submitted for a group (IE Turtles).

To download a GPX/KML file for a single record, you must be logged in. Then view the record and download buttons will appear at the bottom of the page. For the other options, you also must be logged in. Go to the search page, select yourself from the User Select field, and enter your other search criteria. If the search produces any records, buttons to download the results as GPX or KML will appear at the bottom of the search result page.

Example Files:

The KML file does more than just indicate the location of a record. It also displays some information about the record, audio and image vouchers associated with the record, and a color coded placemark that indicates the nature of the species (click images for full size):

[Thumbnail of Google Earth Screenshot]
 
[Thumbnail of Google Earth Screenshot]
 

The following placemark color conventions are used to indicate the nature of the specimen in the record:

Placemark Nature of Specimen
[Green Background] Native Species, Not of Special Concern
[Yellow Background] Native Species, DF&G Species of Special Concern
[Red Background] Invasive Species
[Red Background] Species Not Identified or Not in Database

Known Issues

If you wish to view the contents of the GPX or KML files as plain text and you use the Microsoft Windows operating system, do not use Notepad. Notepad, the default Windows text editor, is too stupid to know what to do with UNIX line breaks and incorrectly inserts a garbage character where they occur in place of the line break. Instead, use a real text editor to view the files, such as PSPad or Notepad++. Both are free. You only need them if you wish to view the actual XML, applications designed to use the files will work fine without them.

I have not yet created the placemark icons to be associated with Snakes or Lizards. Coming soon.

RSS Feed

[Valid RSS]

An RSS feed for database records is available, allowing those who like such things to be made aware of new records or changes to existing records from a feed aggregator.

The feed will ordinarily show up to 20 records that have been created or modified within the last six weeks. If there are less than 5 records that have been created or modified within the last six weeks, it expands its range to the last 12 weeks.

For proper compatibility with as many feed aggregators as possible, the feed is kept relatively simplistic and care has been taken to make sure the feed properly validates using the RSS validator linked to in the image above.


Web Page Markup Details

Web Design

I am not a web designer. I am doing the best I can, but undoubtedly I am breaking some rules of good web design. For that, I apologize. I am open to suggestions, the best kind of suggestions come with some kind of reference, hopefully involving case studies explaining why the suggestion is the right way to do it. For example, I do not know if a study has been done, but I personally get tired when trying to read content on an all white background or with a small font size.

JavaScript

JavaScript is used but I am committed to make sure the web site is fully functional with JavaScript disabled. When it is used, it is primarily used for form validation.

Web Links

I do not instruct your browser to open any pages in a new window. If that is what you want to do, you can right click on a link and choose to open it in a new window or tab. When you click on a link to another web site, you will leave this web site unless you choose to manually open the link in a new window or tab.

Valid XHTML with CSS

I strive to produce web pages that are valid (X)HTML 5 with valid CSS for layout. For browsers that do not properly support XML, the pages are translated to valid HTML before they are sent to your browser. I am currently using the HTML 5 specification but am using appropriate fallbacks for non HTML 5 browsers.

If a web page validates but does not work properly in your browser, you may need to get a browser that properly renders standard compliant content. One such browser that is available for almost every operating system is Mozilla Firefox. Another very good browser is Opera.

Most of my testing is done with Firefox 3.5.x and Opera 10.x. Unfortunately both Microsoft and Apple have chosen not to release their browsers for Linux, the operating system I use, so I do not get to test with those browsers very often. If you have a problem and you use Internet Explorer or Safari, go ahead and let me know and I will see what I can do.

There is a known issue with navigation menus not properly displaying in IE 6 and 7. The issue is caused by lack of proper CSS support in those versions of IE. Since IE8 does support CSS better in that respect, I am not going to try to fix that.

Multimedia

[Play Ogg]

I have started adding multimedia to the site, consisting of both audio clips and video clips. Most pages do not have multimedia content and probably will not for some time, but the goal is to provide it when I have it.

If you are using an (X)HTML 5 Media capable browser, most multimedia will be embedded via (X)HTML 5. Otherwise, if you have the Adobe Flash plugin version 9.115 or newer installed, the media should be embedded via Flowplayer. The MP3 audio content here may work with some older versions of flash, but the H.264/AVC video content will not. If you have an older version of Adobe Flash, please consider upgrading. In addition to the ability to handle new media types that are heavily in use, there are known security vulnerabilities in older versions of flash. You will be doing yourself a favor by upgrading.

If you do not have Flash and do not have an (X)HTML 5 media capable browser, then you should be presented with text hyperlinks to the media.

If you are presented with hyperlinks instead of embedded media, all the media types used here can be played with VLC if you do not already have a suitable media player.

For x86_64 Linux users, Adobe states that their 64 bit plugin for Linux is alpha, which unfortunately scares some users away from it. I can personally testify that it works extremely well. Do not let the alpha label scare you into going through the hoops and bloat necessary to run the 32 bit plugin in x86_64 Linux, your experience will be inferior and full of crashes. Use the alpha x86_64 plugin, it is quite stable and very good. If you do not know what Linux is, this paragraph is not for you.

Audio

For (X)HTML 5 Media capable browsers, audio is provided in both Ogg Vorbis and MP3 so that your browser can select the codec it knows how to support.

Video

For (X)HTML 5 Media capable browsers, video is provided in both Ogg Theora and H.264/AVC so that your browser can select the codec it knows how to support.

Known Issues

Audio Vouchers in user submitted records will not be available until the server has transcoded them to make them available as both MP3 and Ogg Vorbis. Transcode is not triggered upon record submission, but should take place within 20 minutes of record submission.

Some of the Gtk webkit browsers have incomplete (X)HTML 5 support and do not yet provide a media control bar. Since media here does not autostart, that is a problem. Do not use those browsers to access multimedia here until they fully support (X)HTML 5 media.

Secure Login

To view the information on this web site, no login is required. If you would like to contribute to the information available here, you will be required to create an account first and then log in to your account.

User registration and login are done over a secure connection via SSL so that your password is never passed to the server in plain text.

HTTP Cookies

I do use session cookies to keep track of your login status. Session cookies are deleted as soon as you quit your browsing session. At this time, I do not use any persistent cookies, and I probably never will. Almost every modern browser has password management. Use that if you do not want to have type in your login info every time you want to add a record.

Dead Links

Dead links are annoying. With some regularity, I use Dead-Links.com to find them so I can fix them. If you encounter a dead or incorrect link, please contact me so I can fix it.

Honey Do List

There are several features I would like to implement but have not yet done so.

Latin Pronunciation

I would like to provide accurate pronunciation for the Latin names of the various reptiles and amphibians listed here. This is not an easy task. One method would be to use a text to speech engine that does a good job with something like the International Phonetic Alphabet, and then properly translating the Latin names to the IPA.

Do not expect it anytime soon. For one thing, IPA speech synthesizers are not really that usable yet, and I know of no attempts to translate Latin names to IPA. Unfortunately using a classic Latin text to speech synthesizer may not work, because Greek and other languages are also used for the “Latin” names of some species.

Smart Quotes

I need to go through site and replace possessive single quotes that use a ' with an ’. I also need to replace "stuff" with “stuff”. Single quotes used for contractions (such as isn't) should be expanded, contractions are not very professional in type.

Search Engine

I am working on a content search engine that will better meet the needs of this site. Specifically, I want it to make heavy use of the SiteMap.org specification for indexing and search result ranking algorythm. As a bonus, it will also check spelling and thus make it easy for me to find spelling errors, and check external links to make sure they are valid so that I can clean up dead or moved external links as the web evolves. Originally I was going to modify Sphyder to do this, but after reading the code, I decided it would probably would be better to just start from scratch.

Despite simplifying the crawling algorythm by strictly using a sitemap file for all link aquisition, Writing a content search engine is not a trivial task. It will be some time before I have it completed.

Record Form Submission

I would like to implement a record clone function, so that if you have several records to submit that are very similar, it is easy to clone a record to make additional records.

Message System

I would like to make it possible to initiate e-mail contact with other ShastaHerps.com members. I do not want to host a PM system, but rather, users who choose to can allow other users to use ShastaHerps.com to initiate an e-mail exchange. IE if Adam wants to contact Eve, he fills out a form, and the server e-mails it to Eve without exposing Eve's e-mail address to Adam. Adam's e-mail address would be exposed to Eve, and if she wanted to reply, she could do so with her e-mail client. If she thought Adam was creepy, she could ignore it and add Adam to a list of users that are not allowed to contact her.

That is actually pretty easy to implement, but it is low priority and I will not do it until I figure out how I want to prevent the system from being used for spam.


Coding and Serving

This is where I get up on my soap box and preach about the benefits of free software.

Hardware

My current web development box is a Dell Optiplex GX50 that I found in a dump pile by Salt Creek while field herping. The hard drive was bad, probably why it was dumped, but I replaced the hard drive with an old spare and re-attached the CPU (which had come loose) and was able to install Linux on it. The CDROM is also flaky on read, not good enough for installing a full OS from CD but it is good enough to boot the small CentOS boot.iso and do a network install. The built in video card puts snow on the display but it runs headless so who cares. I think that may be a buggy video driver as it was not present in installer, but again, who cares. Due to the pathetic i815 chipset it can never have more than 512MB of RAM but that is plenty for this purpose. I think the motherboard inside it was swapped at some point, as the GX50 model is suppose to have i810 chipset (also pathetic) but this clearly has i815.

It has proven to be extremely stable once the bad hard drive was replaced, and it is nice to have a local box configured virtually identically to the live server. It is not a power house by any stretch of the imagination, but it does not need to be. It is a nice compact low power consuming quiet little box perfect for the job. One man’s garbage is another man’s treasure.

Coding

[Bluefish]

All coding for the web site is currently done using the Bluefish editor, a free open source web development oriented text editor. Calling it a text editor does not really do it justice, it is so much more than just a text editor.

The range maps are generated with GIS data sets provided by Shasta County and manipulated via the GDAL utilities to get it into a form easy for me to use. The program that actually generates the range maps was written by me.

With the exception of video production, all coding and editing is done using CentOS 5.x, a free robust Enterprise quality Linux distribution that is comparable to Red Hat Enterprise Linux. While the software and libraries for CentOS tend to be a little older than what is shipped with some Linux distributions, it is extremely stable with most of the kinks worked out.

Multimedia

Audio editing is done with the free audio editor Audacity.

Digital Video import and editing is done with the free video editor Kino.

H.264/AVC video compression is done with ffmpeg. Ogg Theora video compression is done with ffmpeg2theora.

For multimedia editing and web compression I use Ubuntu Jaunty rather than CentOS as it has easier integration and installation of modern multimedia libraries and utilities. Ubuntu is a modern free Linux distribution that just plain does a lot of things right.

For those interested, the shell script I use to compress the 480i DV source content to H.264 and Theora can be viewed here: encodeVideo.sh. The script takes a single argument, the DV source file.

Serving

This web site is powered by free software:

Search Engine

The search engine is powered by Sphider, a free GPL licensed php/MySQL based search engine with some rather advanced features.

I did modify the search interface, to better separate the search page from the back-end functions, and I ported the search interface to the php XML DOMDocument class allowing me to nicely integrate it into the rest of the web site, which is built via the DOMDocument class. That's the beauty of open source software, you have the source and are allowed to customize it as your needs require without any hassle.

Mail System

I am using the free GPL licensed class phpMailer to handle the web application's out-going mail needs. It rocks.

The server's mail needs are met by Postfix, Dovecot, and SquirrelMail.

Misc Non-Free

As much as I prefer to use free software, some licensed software is used in the production of this web site.

Flowplayer

For those without (X)HTML 5 media capable web browsers, multimedia content is made available using the licensed version of Flowplayer.

Please note that Flowplayer is kind enough to release a free open source version of their product that would have worked just as well. A license was purchased because it is a really well done product with excellent documentation.

Fonts

The following fonts were used in the creation of this web site:

New Century Schoolbook Roman
Used in the Range Map generation and on some images. License purchased from Adobe Systems Inc.
Lucida Mono Roman
Used in the Range Map generation. License purchased from MyFonts.com.
Lucida Mono Roman Italic
Used in the Range Map generation. License purchased from MyFonts.com.
Lucida Bright Demibold
Used in copyright notice for video. License purchased from TeX Users Group.
Bitstream Vera Sans
Used in server side image copyright watermarks. Use of the font without any license fee generously granted by Bitstream Inc. in cooperation with the The GNOME Project.
AmphibiPrint
Used in the creation of Google Earth placemark icons, specifically the frog and salamander icons. Permission to use the font generously granted by Astigmatic One Eye Typographic Institute.
Keya’s Turtle
Used in the creation of Google Earth placemark icons, specifically the turtle icons. Licensed from House of Lime.

Gratitude

[Powered by CentOS]
 
[Powered by Apache]
 
[Powered by MySQL]
 
[Powered by php]
 
[Your Open Source Compass]
 
[Ubuntu Linux]
 
[Authored in Bluefish]
 
[Organic Firefox]
 
[GNU's Not Unix]

I express my gratitude to the many dedicated software developers that have put many hours of sweat and tears into the production of the high quality open source software used to develop, test, and serve this web site. Without their effort, licensing fees alone may have prevented this web site from ever coming together. Licensing costs would have at least made it very difficult.