Earthquakes, Mashups, and Programming Components

Live Earthquake MashupOver the past week or more I’ve been having a lot of fun watching earthquakes all over the world. Not the actual earthquakes, but the reports of earthquakes. And not text reports, or overly dramatized news reports … but a timeline of earthquakes along with them being plotted on Google Maps, updated every 5 minutes. Live Earthquake Mashup is a very impressive demonstration of a “mashup“.

I found out about the site when a friend Tyler Whitaker twittered about the site … and it took me a day or two to go and see what he was talking about. Since then, I have left it up and running on my test workstation in my office … and it has offered me a whole new perspective on earthquakes! (As I was writing this, I just noticed there was an earthquake in Yellowstone National Park – not far from here – last night that was a 4.2 quake!)

There are several things that this has really brought to my attention … about earthquakes, and also programming. The truly fascinating thing that I have learned about earthquakes is that they are going on, all day long, all around the globe, but few make any news. The other thing is that they seem to cluster (duh!) around the key places on the earth where the plates are under the most pressure and shifting … and that these places are now clearly visible on the map provided! I keep thinking about what a movie of this map would look like if recorded over a long period of time. Like twitter, this mashup has raised my awareness about something that I otherwise would have never known. It has condensed an entire series of global events into a concise model that is presented to me while I work. I like that concept …

The other thing that amazed me about this mashup is just how simple it is. I do not want to minimize the effort and work of the author in any way … and I truly respect the creativity and thought that went into it. This is a powerful example of where we are going with software components, and ease of development.

When I first ran the application, of course I immediately recognized he had used Google Maps for the mapping … most everyone does. I was also aware of the USGS RSS earthduake data feeds that the US government provides. I was very impressed with the timeline that he had at the top of his application … it provided a very nice way to visualize the time series of earthquakes, and allows you to scroll easily through them, and to select earthquakes and have the map reflect their location. I did notice a copyright notice on the timeline – SIMILE. When I reloaded the application later, I saw it make a request to http://simile.mit.edu … huh … time to investigate …

What I found was impressive. MIT has a program called the Semantic Interoperability of Metadata and Information in unLike Environments … SIMILE. They have a whole set of components and software that they have created and are offering for free use. The Timeline is a SIMILE project, and it is a component that can be used in mashups as easily as Google Maps! (I’m slowly working my way through their site to examine all of the other components and software … pretty cool stuff …)
So the developer of the Live Earthquake Mashup took two high-level visualization components – Google Maps and the SIMILE Timeline, and knitted them together with some code to fetch and parse the RSS feeds (which might also be a available library) and created a very powerful and useful visualization of global data … and made it available to anyone who wants to see it. It was not a formidable task to create this incredible demonstration of what is possible.

Of course now this application has me thinking about other possible mashups that could be created with these same components. I know of a few, but it would also be interesting if law enforcement would release crime details as RSS feeds, or traffic accidents. What other types of data might be interesting to display on a real-time updating map like this one? I’d love to hear other ideas …

The Secret … circa 1902 …

In the last week I came across an author that I had not heard about before … James Allen. I also enjoyed two different conversations about the recent attention that The Secret has been getting. What was interesting to me was that both of the conversations about The Secret were with people who simply did not want to consider the power of their own thoughts in defining their destiny.

At one time in my life, I too would have been a skeptic, but almost a decade ago I became open to varied explanations of “how the world is.” I no longer hold onto my traditional science and logic as I once used to … and it has served me well. The deeper I had been digging into quantum sciences, and reading the thoughts of leaders such as Schrödinger, Einstein and Wittgenstein, I quickly began to question “reality” and the various models of the universe that I was taught from childhood. I believe that as science continues to explore the depths of the universe, we’ll all become a little uncomfortable as some of our core beliefs continue to be rocked.
James Allen is a refreshing read … so little is know about him and his history. But his writings communicate the same basic understanding of the world that is repeated by some many people, and so many books … an understanding that is still rejected by so many … but that can make life so simple and easy:

The aphorism, “As a man thinketh in his heart so is he,” not only embraces the whole of a man’s being, but is so comprehensive as to reach out to every condition and circumstance of his life. A man is literally what he thinks, his character being the complete sum of all his thoughts.

You are what you think! Your thoughts cause your world. Your actions and behavior are driven by your thoughts. What you think and speak … is what has got you where you are.

Man is made or unmade by himself; in the armory of thought he forges the weapons by which he destroys himself. He also fashions the tools with which he builds for himself heavenly mansions of joy and strength and peace. By the right choice and true application of thought, man ascends to the Divine Perfection; by the abuse and wrong application of thought, he descends below the level of the beast. Between these two extremes are all the grades of character, and man is their maker and master.

The keys in this quote are that it is all your choice … in every moment of every day. Your choices of what thoughts to acknowledge and act on are what define your destiny. And the true application of thought … That is authentic application … with complete integrity … that allows those thoughts to cause and create.
I encourage anyone interested to read the works of James Allen … I was truly impressed, and glad to see yet another author who learned and saw the power that we all have to define how our life is going to go.

P.S. If you doubt that it is that easy … you are also right. Your own thoughts of doubt will drown out any thoughts of possibility … and your own ability to be open to consider that the world might actually work this way. It’s all your choice! 🙂

New forms of remote debugging … 2008!

Over the weekend, I had an interesting idea and implemented it.  It’s kinda funny … and kinda cool.  Some might even think kinda sick … but I like it.

I’m currently working on some PHP scripts that are processing mail.  Lots of mail.  As we are now entering into beta test, I’m having to update the scripts in two different ways … both to implement user preferences, and also to deal with all sorts of mail formats.  Oh … and I’m also having an interesting MySQL Database disconnect problem I’m looking into.  As I’m now into my third week of debugging, the scripts are getting hardened, and I’m having fewer problems, but there are still times when the script will crash.  I then have to investigate the issue, write code to deal with the exception, and then restart the scripts.

My issue is that I don’t want to just sit and watch my console … waiting for bugs.  So this weekend,  I started to do some remote debugging using my cell phone and SMS/Text messaging … and it worked! In my code I’ve put a variety of traps to catch exceptions when they occur, and I have the code send me a SMS/Text message as it crashes.  I get the error message, and know immediately that I have a problem.  I then have the choice of heading over to my computer to debug, or I can even connect remotely to my server via SSH – from my cell phone – connect to the screen session and look at the output from the script.  What is cool is that it’s working … I’ve got text messages and went over to my computer and, sure enough, found the crashed script … fixed the bug … and restarted things.

I haven’t yet been out of the house or office when the problems occurred … but I’m almost looking forward to when that occurs!  Just so that I can do the remote SSH debug … it’ll be fun to see …