A better world, one couch at a time

November 8th, 2008

I signed up at couchsurfing.com the other day.  Really a great resource they’ve put together.  It’s so much more than hooking up free places to stay.  People coming to stay with you and sharing their culture, insights and knowledge with you.  Traveling to a distant place and truly immersing oneself in the culture.

My friend Careen is going to Japan soon and told me she was looking to find some folks to stay with (couchsurf) while she’s there.  I’ll be taking a trip to DC in December for work and I really want to spend a couple extra days wandering around and do it on the cheap.

So, I put in my first surf request!  Very cool.  Sleeping on a couch sure puts the hurt on me, but most people seem to have a futon or air mattress.  Heck I’m easy, I’d settle for some floor space.  I joined the Portland discussion group as well and found an interesting community of people.  I hope to come across some local events to meet some folks in person.

Planes, trains and automobiles eh

November 6th, 2008

Wandered up to Nanaimo, BC this week.  They don’t make it to easy to get there sometimes.  Stephen and I ended up hopping the max train to the airport, plane to vancouver, cab to the ferry, ferry to south nanaimo, cab to dowtown Nanaimo.  Geez.  Both cabs were little Prius’, nice.

Met with a lot of fisheries folks there in Nanaimo, Alaska fish and game, Canada dept. of fisheries and oceans, Oregon dept. of fish and wildlife, state of the salmon, ecotrust, lots of smart people.  Was I intimidated?  Yeah a little, but I spoke my mind and learned a lot.  We’re all collaborating as part of the Agency Partnership Initiative, funded by the Moore foundation.

Good beer was hard to come by up there.  The longwood brewpub had a couple good selections.  Their dunkelwiezenbrau, a dark wheat beer was pretty tasty.  Their stout lacked a nice foamy head when poured and was pretty warm for my taste but was pretty good.  Everything else I found was just so different from the same style beers in the Northwest.  The ESB’s and IPA’s where lacking severly in hoppiness.  Maybe the bitter part of my tongue is overloaded from all the fresh hop brews belmont station has been serving up.

The ride back was great, took my first seaplane trip across the channel back to Vancouver.  Little bumpy but too much fun and the landing is so smooth.  I think I felt safer in a little plan than a big jetliner.  Lower height and less moving parts maybe.

Saw Obama clinch the presidency just before boarding the plane back to the states.  I’m not sure I would have got on if McCain won…

Analog soul in a digital world

July 5th, 2008

I picked up a couple of those digital signal converters for our ‘ancient’ TV today. Before I did I questioned whether or not to just get rid of the damn TV altogether. We don’t watch it much. But then Dalina remembered we’ll be getting two OPB channels now with the digital signal, not just one. I’m a sucker for Law and Order too… Now the question is how long until I get around to hooking them up…

I picked up the converters with those government-issue coupon cards. But why two if I only have one TV plugged in? Well, current technology is designed to break in 1-5 years and I don’t have any plans to get a hi-def TV. I’m holding out for when old TV’s will be retro cool. Same with my cell phone. You’ll see.

Is it safe to come out?

April 7th, 2008

Wow, what a roller coaster start to the spring here at the North end of the valley.  No shortage of rain, sleet, snow and sporadic frosts.  Today I did get in some snap peas, chard and other leafy greens.  Plopping and sprinkling seeds always gives me warm fuzzies.

Hot Apps Conference 2008

March 11th, 2008

I cruised down to Eugene on Friday for the Hot Apps conference sponsored by Oregon URISA. Anselm Hook was along for the ride. The theme this year was open source GIS and was focused particularly on the web. Paul Ramsay was invited down to do the morning workshop which was essentially a crash course in web GIS. It included the use of free software and free API’s like Google maps.

There was excitement on the faces of some workshop attendees when we showed up at the end of the morning session.  Most of them work for local and state government agencies and had never had the opportunity to get their hands on this stuff.

I demoed the Inforain watershed locator and Forestland carbon calculator web tools along with the OpenOceanMap desktop tool based on QGIS.  They really liked seeing a web-based GIS being used to do more than just visualization and attribute display.  The carbon calculator is destined for greater things.  Most were also happy to know that OpenOceanMap has been field tested, being used for interviewing fisherman down in California as part of the process of defining marine protected areas.

Carbon Demo Screenshot

Open Source GIS Presentation @ PSU (Round 2)

February 21st, 2008

It was time once again tonight to preach the open source GIS gospel to the masses.

I felt much better prepared this time with a variety of new demos using QGIS, PostGIS, and Grass. The students really seemed to respond to the extra dose of demos, much needed I think around 8-9pm at night… Also just three months ago I really had no polished applications from work to show off, tonight I had at least three including the Watershed Locator, ODFW demo and Aaron Racicot’s Open Ocean Map. They really show the progress Aaron and I have made in the last few months.

Download Slides

Download Base Data

Students, your comments on my presentation are more than welcome, you can leave them right on this site. Especially the stuff I can do better. I really enjoyed your questions, it was clear some of you were actually paying attention. I hope I inspired at least a single person to try some of the tools out.

New inforain site goes live

February 4th, 2008

We’ve been working hard at Ecotrust on a revamped version of Inforain.

There’s a new mapbook interface providing access to high-resolution images of a number of maps Ecotrust has produced. It allows you to search by name, keyword, region and theme. A variety of presentation, reports and datasets are also available.

inforain_snap.png       wsl_snap.png

Finally, we’ve created a Watershed Locator tool for the site, that allows users to explore watersheds within the Coho salmon territory of North America. It allows you to search by address, watershed name or just by clicking around on the map. Watershed boundaries, major rivers and perennial streams are displayed within an OpenLayers mapping client. One of the most useful features is the watershed ‘ladder’ which allows you to move up and down between watershed ‘levels’. Searching for a particular watershed will also bring up a number of statistics. Some of the more interesting ones include miles of anadromous streams, number of minor and major dams within the watershed, the number of LEED certified buildings, sq.miles of development/farmland/forestland/native land, etc.

A number of open source tools are used in the Watershed Locator including OpenLayers, Mapserver, TileCache, PostGIS, Prototype and Sript.aculo.us. A number of free services were also used including the Google terrain layer for the map and the Yahoo! geocoder for converting addresses to latitude/longitude locations. The terrain map layer is particularly useful for overlaying watershed boundaries. It becomes very clear to the user how the terrain delineates those boundaries. Thank you Google for releasing the terrain layer just weeks before Inforain went live!

In the future we’d like to allow users to access additional watershed resources including links to watershed councils, information on restoration projects, etc. The watershed locator code is available free and open source on our development site The hope is that the concept of a watershed locator as an exploratory educational tool will be replicated in different regions and possibly for different purposes.

River City Bluegrass Festival

January 6th, 2008

I wandered over to the convention center on Friday for opening night of the River City Bluegrass Festival. There was a great lineup including Tim O’Brien and the David Grisman Quintet. I was by myself, which was a blessing in disguise. I met all kinds of great people and even managed to squeeze into a single seat up front at the main stage.

A lot of people had instruments with them and were jamming all over the place: hallways, stairwells, out in the rain. 80 year old great-grandfathers, 8 year old phenoms, they were all there. That’s something that bluegrass brings, community, family. Really inspired me to get my shit together and start playing regularly with folks. Next year river city bluegrass, I’ll be back.

It’s amazing how you form an idea of a person through listening to their recordings, a romanticized notion maybe. Tim O’Brien was not who I expected and he was everything I expected. He’s an everyday guy, who just happens to know how to play guitar, mandolin and fiddle very well. Gives me some hope for myself and my playing.

David “Dawg” Grisman came out with his group The David Grisman Quintet (DGQ) and just blew everyone away with their jazz, bluegrass, funk fusion. It was my first experience listening to Grisman (besides the old grisman, garcia, rice recordings) and all of them were just phenomenal as individual musicians, most were clearly trained in Jazz and able to pull off intricate and complex solos with ease. Matt Eakle on the flute brought this warmth to the whole sound. Overall, man it was just great to listen to this group at a bluegrass festival, really mixing things up. I can relate in some ways, I mean don’t get me wrong I like old timey bluegrass but in this day there are so many musical inspirations that if I continue playing I won’t be able to help but blend them. Why squeeze myself into a box and deny myself that enjoyment?

I met Dawg after the show. What can you say but thank you….

Using py2exe and Inno Setup with PyQT and Matplotlib

January 1st, 2008

Happy New Year! I seem to have some good momentum going into 2008. Hopefully I can keep things rolling along.

I wrapped the 0.2 release of Delphos into an installer yesterday using Inno Setup. I did this by combining my existing py2exe build script with a sample script from the py2exe code repository. This sample first runs py2exe and then generates a build script for Inno Setup on the fly and passes it to the Inno Setup compiler. Source to installer in one shot!

The biggest issue was getting matplotlib to play nice. PyQt, SqlAlchemy and the other modules had no problem. Matplotlib requires additional data files to be packaged into the py2exe build, multiple directories worth in fact with their own subdirectories and files. Matplotlib has a function that tells you exactly what supplementary data files it needs (called get_py2exe_datafiles), but it didn’t work correctly for me (see this thread). So, until now I would just copy them all into a new build by hand but now I needed Inno Setup to know about each of these files too so it could bundle them into the installer. In this case the handoff from py2exe to Inno Setup is automated so the solution was to tell py2exe about the additional data files and that information would get passed on to be included in the Inno Setup build script that’s generated.

One solution was to list every data file by hand in the py2exe portion of the build script, but geez what a tedious waste of time. This kind of stuff changes regularly so it had to be automated as much as possible. Unfortunately, telling py2exe about multiple directories worth of data files to include isn’t easy. It seems distutils, which py2exe runs on top of, can only be given a list of individual files to include with the build. You can’t (that I know of) simply give it a directory path and it will recursively include all directories and files underneath.

Thankfully I found a nice little function on the net from a guy named jt (referenced in the build script) that walks a directory structure and builds a list of file names and paths in the form that py2exe expects. I used that same function to package all of my documentation files and other boilerplate stuff with the build. Very slick. I had to make a quick fix to it though as the function was mistaking directories for files in some cases. Py2exe handled this fine but InnoSetup would error if asked to copy a directory when expecting a file. So, I essentially massacred a sweet little 2 line piece of functional programming goodness and dropped in a ‘quick’ fix. Time is short ya know…

The py2exe/Inno Setup build script can be found here.

Delphos 0.2 Released

December 30th, 2007

I’ve been busy at the ‘ol office. I just wrapped up the second release of Delphos (version 0.2). It’s available here free and open source under the GPL license. Windows and mac binaries are available, but you can run it from source on Linux as well.

Here’s the blurb I cooked up about what it is, still tweaking it:
“Delphos is a database management and decision-support tool that utilizes multicriteria analysis (MCA) to select the best alternative from a group. Delphos is developed by Ecotrust in partnership with Comunidad y Biodiversidad (COBI) and World Wildlife Fund (WWF). The documentation included with Delphos is tailored for the selection of fisheries and marine protected areas. However, Delphos is general enough to be used towards the analysis of any type of alternatives.”

Screenshots

Delphos Project View Delphos Analysis Summary Ranking

It’s been a lot of fun using the QT framework for this tool, especially in a Python environment using PyQT. I’ll admit I don’t yet have a Pythonic mindset and I’m not yet correctly using the MVC design pattern, but I’m getting there. Let’s just say that if and when I bust out another release of Delphos I have a list of things to gut and re-implement.