Click the box titles below to expand:

How to's

XSLT

GOOGLE MAPS API

PHP

Antelope

Perl

Document Object Model (DOM)

UNIX

Generic Mapping Tools (GMT)

Miscellaneous

Projects

Courses Taught

Latest Favorites

Mac OS X

Web Development

Beta

News Archive

2009

2009-04-22
Spending the day with Google engineers talking about Google Earth. Learning lots about rendering isosurfaces at depth, including 3D models generated with Collada.

2009-04-15
I had to post this, if only for my own information. Some great simple tips for using jQuery efficiently: 10 useful jQuery authoring tips. Also, some great tutorials by the jQuery plugin guru, Karl Swedberg (who's cluetip plugin I use on this page): Working with Events, part 1 (Event delegation) and Working with Events, part 2 (Rebinding event handlers).

2009-04-10
Several of us worked hard to create a special event page for the recent Salton Sea earthquake swarm that occurred in March and April here in Southern California. There were over 450 small magnitude earthquakes in the space of two weeks. The Los Angeles Times picked up on the page and we have seen a x10 increase in web traffic to one of our websites. I just added a Google Earth layer to download which shows the temporal evolution of the swarm. This really shows the power of visualization with Google Earth.

2009-02-13
We are converting all our large page inline database queries to a new model in order to speed up page load times. The long page load time is typically due to database open table statements, joins (inner and outer) between tables, and image creation. The plan is to cache database queries as JSON objects, and have the inline code read these streamlined JSON objects. This also allows AJAX-style page updates based on the updated JSON object. Comments?

2009-01-14
I finally found time to finish the Array Network Facility layer for Google Earth. A screendump is shown to the right (click the image for a larger view). Adding <TimeSpan> elements with child <begin> and <end> elements allows you to observe the station deployment in 4-D (i.e. time). Clicking a station icon displays a balloon with station metadata, plus a scaled version of the top pick station photograph taken by our station engineers and stored on Flickr. This KML file was created from Antelope, with some XSLT massaging...

You can subscribe to the Google Earth layer by selecting Add > Network Link and entering http://anf.ucsd.edu/cachexml/google_earth/anf_stations.kmz in the Link field. You can assign any name you like to it – this will appear in the Places sidebar as a folder.

2008

2008-12-18
Today I presented my poster at the AGU 2008 Fall meeting. Some good feedback from people using my Antelope-interface software, plus some new requests for tools. Should be a busy 2009.

2008-10-30
We are currently experiencing another earthquake swarm just south-west of the Salton Sea here in Southern California. As of 09:00 we have recorded over 50 events since 20:30 last night. Click this link to see an image of the swarm on a screendump of a Google map.

2008-10-28
Today I was asked to become Associate Editor of the Electronic Seismologist supplement of the journal Seismological Research Letters. I accepted and I am excited to see all the cool new research going on out there that bridges the science and technology gap.

2008-07-29
I experienced the largest earthquake since I moved to San Diego in 2001 today – a magnitude 5.4 that occurred in the Greater Los Angeles area near Chino Hills. Both the Anza and USArray networks recorded the event really clearly. The TV crews came through and did a pretty good job, thanks to Debi Kilb's excellent communication skills.

2008-07-28
Today we talked with the developers at SQLstream to see if streaming data from an Antelope Orb or Datascope RDMS into a SQL stream would help with some of the NFS connectivity issues we have been having recently. More on this soon.

2008-07-24
Today I gave a talk on the USArray experiment to the engineers from Google Oceans. They listened to what myself and several other SIO data managers use Google Earth/Oceans for, and how we can work together to generate some quality toolsets that are in line with SIO's mission statement. We also saw some new functionality in the Google Earth/Oceans applications, but were told not to talk about them as they are still under development. Needless to say, they have a few tricks up their sleeves. I gave a demo of my dynamically created KML file that uses two XML files as it's source - one from webdlmon and one from the USArray master database, which essentially creates a Google Earth version of webdlmon that auto-updates every few minutes.

2008-06-02
Using GMT and Antelope I made a high-resolution desktop (112MB) and an iPhone-resolution (172KB) movie of the USArray station deployment from the start of the experiment (April 2004) to the present (June 2008). Download and enjoy!

2008-04-23
In between watching the UEFA Champions League semi–finals I wrote a little Perl script that dynamically creates Antelope parameter files for the utility orbmonrtd. There was a need for this because as the USArray network migrates across the country stations come online and go offline pretty frequently as part of normal deployment operations. To ensure the orbmonrtd displays are kept up to date with the latest deployed stations, this script reads the dbmaster deployment table and outputs snet_sta sources according to some simple rules (including a modulus operator and dbprocess commands). Pretty nifty!!! Make sure your contrib source tree is up to date, and type man orbmonrtd_pf_generator to learn more.

2008-01-15
I am finally seeing the light and am slowly switching my webapps to using the Yahoo! User Interface Library for HTML and CSS, and jQuery for Javascript and DOM manipulation. This is a nice visual interface to jQuery. Many thanks to the multiple developers who have been nudging me this way for the past six months.

2007

2007-11-20
Screendump of monitoring interface Last night the Earthscope USArray project I have been working on stopped receiving data from UC Berkeley stations. Their three year contribution of data to the project halted as part of normal operations. In my bleary-eyed early morning stumble into my office I saw the lack of data and was jolted awake. Then I remembered the notification email last night. For posterity, I took some photos of our monitoring interface before I updated the configuration file. Goodbye BK stations, and thanks for all the fish....

2007-11-07
It appears that Kent Lindquist, Frank Vernon and my paper came out in Seismic Research Letters this week. It is pretty much a summary of what I have been working on over the last three years, although some of it is now out of date as Kent and I continue to develop the interface, utilizing AJAX and Comet (or reverse AJAX, pushlets, etc) technologies for web–based real–time sensor network monitoring. Anyway, it is nice to see our work finally in print...

2007-09-27
I have been working on extending the Google Maps API for one of my projects. What I wanted was the ability to plot multiple nodes at a single location if, for example, multiple instruments were installed at the same geographical location. This is typical for borehole arrays. So, I wanted clickable markers that would dynamically display child nodes with lines linking to the original site. I wanted them to plot on a circle around the station, dynamically determining distance from each other based on the number of nodes.
Read the article

2007-08-27
I spent the whole of last week working at UC Santa Barbara at the Institute of Crustal Studies. They have an Antelope real-time system, and wanted some web-based tools developed. I went slightly further than I have before with Google Maps, implementing some new features, including dynamic refocused regions of interest and AJAX queries. I also implemented Smoothbox, a Lightbox clone for MooTools, my favorite Javascript library.

2007-07-05
Ever wanted to display real-time meteorological data on your website? Read the following article on how to do just that using PHP5's built-in SOAP functions that query NOAA's web services.
Read the article.

2007-06-21
I have written an article on XSL transformations of XML output, whose origin was an Antelope parameter file. Note that this how-to is relevant to any XML file, not just Antelope pf files.
Read the article.

2007-06-05
Updated version of the RRD status plots page for the ANF project. It now uses AJAX to dynamically load the RRD plots under the Google map without a page reload, allowing the Google map state to be preserved. I improved the file size and load time of the .js file by using JSMin - a Javascript minimizer that removes comments and unnecessary whitespace from a Javascript file. Data is returned from the AJAX query in JSON format and allows rapid parsing via the DOM. I will be writing a tutorial on how I created this mashup soon.
Click to view the application.

2007-05-29:
I just returned from the AGU General Assembly in Acapulco, Mexico, where I presented some of my recent work, especially webdlmon. This seems to be a very popular tool with the seismic network monitoring folks. I also presented how I built the Google Maps and RRDTool mash-up that allows users to dynamically select a station and choose to plot various state-of-health parameters. This is still being developed into a more rich application, so stay tuned...

2007-04-27:
I have been using various Javascript libraries over the last few months in order to make a more rich user interface to some of the websites I develop. I have experimented with Prototype and Mootools for over six months, and have finally settled on Mootools. The Accordion behaviour of Mootools drives the navigation menu for this site. It is a very easy to use system, and is ultra lightweight. Also, there are some very cool extension kits using the framework - one I particularly like is the Slideshow class. I am using MooTools pretty extensively on the ANF site, especially the homepage.

2007-02-19:
Using a combination of Antelope, XSLT, PHP, AJAX, and RRDtool we have written a web application version of dlmon. Called webdlmon, it is essentially a web-based version of the datalogger monitor written by Danny Harvey of BRTT. It works by cracking open datalogger status packets in the status ORB, writing out an XML file of the packet values using pf2xml, and reformatting the XML file using the XSLT parser Saxon. Using the DOM class built-in with PHP5 and some custom Javascript allows a table of information to be written on the fly. It integrates with the RRA's for the state-of-health channels to allow web-based visualization of any channel parameters. Check out the application.

2006

2006-10-22:
We have finally got our Round Robin Database Archives (RRA's) up and running for the Transportable Array (TA) stations deployed as part of the USArray experiment. These archives allow graphs to plotted in real-time of all state-of-health parameters such as vault temperature, datalogger voltage and current, data bytes read and written, and whether the pump is on (draining water from the vault!). Thanks to Kent and Geoff for compiling RRDtool with the Antelope version of Perl. View the graphs here, or choose a station from here and see all plots for the last day by clicking a station symbol and then choosing the 'State-of-health metrics' tab.

2006-10-17:
We just received notice that our abstract titled "Monitoring the Monitors: Assessing and Visualizing the State-of-Health of Earthscope's Transportable Array" has been accepted for the Fall 2006 American Geophysical Union (AGU) meeting, to be held at the Moscone Center in San Francisco this December.

2006-09-26:
With some friends and neighbors I competed in a 24 hour mountain bike race in the high desert of California. The Hurkey Creek 24 Hours of Adrenaline took place on September 16-17. We came in sixth place (out of six!) in our category (5-people co-ed). Over 300 riders. A strange combination of adrenaline, pain, energy drinks/food, and exhaustion.
Photos...

2006-09-14:
Just back from a two week programming stint in Fairbanks, Alaska with Kent Lindquist. We made time to visit Denali National Park. The photo below was taken at mile marker 207, just south of Cantwell, with Mt. McKinley in the background. As you can tell from the beard, I went slightly feral up there...

Me with Denali in the background

2006-06-20:
Using Dan Coulter's PHP-Flickr class I am able to retrieve images from the ANF USArray Flickr photo log on the fly. Images displayed on the station detail page are the top pick of the images and photos of the sites from the cardinal directions.

2006-06-11:
Kent Lindquist and I gave a talk on the Antelope-PHP interface to the Antelope User's Group Meeting at the IRIS Meeting in Tucson, Arizona. You can download a PDF version of the talk below.

2006-03-20:
A category 5 Tropical Cyclone (named "Larry") blasted it's way through Innisfail, in tropical North Queensland, over the weekend. It pretty much destroyed the town and surrounding region. This is very upsetting for me personally as I lived in Townsville, a couple of hours drive to the south, for 4 years, and have close friends who have family in the region affected. But, seeing as I am a visualization geek, I of course made a Quicktime movie of the satellite imagery of the event. You can view it by clicking on the Quicktime movie link below.
Read about the event.
Credits: NRL Monterey Marine Meteorology Division

2006-02-26:
My PhD advisor Tim Bell and I have just had a paper published by the Geological Society of America (GSA) titled “Appalachian orogenesis: The role of repeated gravitational collapse”. The article is available online.

2006-01-10:
This month's PHP International Magazine contains an interview with Kent Lindquist and myself about using PHP for creating web-based environmental monitoring applications for the ROADNet and ANF projects. The article is titled "PHP From the Shop Floor" and was written by Elizabeth Naramore.

2004

2004-05-18:
I won the UCSD 2003-2004 Marine Sciences Exemplary Staff Employee of the Year award this year. The award ceremony was held on the UCSD upper campus but I was unable to attend as I was meeting my new nephew Samuel in England.

made with CSS     Valid XHTML 1.0!      Valid CSS!