Click the box titles below to expand:
How to's
XSLT
GOOGLE MAPS API
PHP
- PHP & Web Services — using SOAP to get meteorological data for a location
- PHP and Flickr accessing online photos through the phpFlickr class
Antelope
- Github, Git & contrib
- Antelope & Using amakelocal
- Antelope & Matlab time conversion
- Create an Antelope Mail Archive
- Adding new projects to the Antelope contrib area using CVS
Perl
Document Object Model (DOM)
UNIX
- Convert GE KML files for use with GMT
- Various snippets that make my life easier
- Using Subversion to version control web sites
Generic Mapping Tools (GMT)
Miscellaneous
Projects
Courses Taught
Latest Favorites
- Best of Vim tips
- Make your pages load faster by combining and compressing javascript and css files
- Creating Liquid Faux Columns
- Setting up SSL under Apache 2 on SuSE
- PHP editing with ViM
- Getting equal-height columns in a three-column layout
- Star html Selector Bug
- Reset MySQL root account permissions
- How to write UNIX man pages
- Son of Suckerfish Dropdowns
- Aidan's PHP Repository
- Adium IM client
- ShapeShifter
- Install wiki on an iBook
- Quirksmode
- PHP
- GD
- JpGraph
- Vim Text Editor
- Generic Mapping Tools (GMT)
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
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...
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.