PDXPUG Day Talks View
Here are the talks we're having for PDXPUG Day!
Obtuse Software is proposing a presentation about PostGIS and zigGIS.
Topics for Discussion
1. The benefits of incorporating PostGIS into your organization.
2. How to incorporate PostGIS - a step-by-step setup and usage guide.
3. The benefits of using zigGIS with an ESRI infrastructure.
4. How to incorporate zigGIS - a step-by-step setup and usage guide.About zigGIS
ZigGIS is an open source GIS tool that allows ESRI ArcGIS Desktop viewing and editing of PostGIS data, the well known spatial extension for PostgreSQL. It is an interoperability extension that bridges the divide between commercial ESRI products (ArcGIS Desktop and its extensions) and open source products (PostgreSQL, PostGIS, MapServer, and Geoserver).ZigGIS includes workflow tools that allow users to check out features from PostGIS, perform edits using the native ArcGIS editor, and then commit the newly created or modified features back to PostGIS. This enables the use of advanced ArcGIS editing tools for maintaining PostGIS data.
ZigGIS enables direct read and edit capabilities without the need of any additional middleware. Users with a valid ArcGIS Desktop license may connect directly to a PostGIS database. Once connected, the user may utilize ArcGIS to visualize and analyze the PostGIS data as well as produce sophisticated cartography. In addition, users can create and edit PostGIS data from within ArcGIS. These capabilities are available to users of ArcView, ArcEditor or ArcInfo.ZigGIS is ideal for small to mid-sized organizations that currently use ArcGIS but may be seeking a low-cost solution to centralizing their spatial data. It is also ideal for organizations that are currently using PostGIS in conjunction with an open source server stack but want to take advantage of ArcGIS Desktop for analysis or cartographic production. ZigGIS 2.0 is a cost-effective way in both these scenarios.
ZigGIS is an open source, C# product, that utilizes ESRI ArcObjects and open source technologies such as Npgsql, Nini, log4net, and Nunit. Personal-Use and Educational licenses are free. Commercial licenses must be purchased.
About Obtuse Software
Obtuse Software was formed by Abe Gillespie, Bill Dollins, and Paolo Corti to advance the quality of the zigGIS 1.x series and promote the wider adoption of PostGIS. Obtuse Software is a privately held, international company making fun & friendly GIS software.Speaker Biography:Abe has been writing code since the womb. How? Technology. His love for GIS blossomed at college while working for a small Engineering Services company. You could often find him there slaving into the wee hours creating countless Avenue scripts and ArcIMS / ArcObjects hacks. Abe first cooked up zigGIS in Blacksburg, Virginia circa 2005 in a kitchen. Literally. (It was a small apartment). Fortunately the internets have a good memory and zigGIS was not forgotten. Abe rejoined the project after moving to Richmond, Virginia for a soulless job which he promptly quit. Currently he is the president of Digital Pulp and part owner of Obtuse Software. GIS consulting and zigGIS are now his full time job.SpeakerThe Collaborative Software Initiative (CSI) is building a large open source public health system that utilizes PostgreSQL, Java, JRuby, and Ruby on Rails. See http://www.csinitiative.com/publichealth.php for more information on the project. For more a technical interview from InfoQ on the project see: http://www.infoq.com/news/2008/05/csi-disease-management-jruby
Currently the transaction system is being built. The roadmap includes a datawarehouse (which will also utilize PostgreSQL).
This talk will cover CSI's experience to date with PostgreSQL, JRuby, Ruby on Rails, and PostgreSQL Full Text Search. Details will include:
* Decision criteria we used to select PostgreSQL Full Text Search over other alternatives
* Full Text Search with Active Record, Migrations, and Testing and Continuous IntegrationSpeaker Biography:Mike Herrick is the Program Manager for the public health development project. He joined the Collaborative Software Initiative from Liberty Mutual where he led a cross-functional innovation team. Prior to Liberty, Mike worked for IsisWorks, Mentor Graphics, eXcelon (now known as “Sonic Software”), and Andersen Consulting (now known as “Accenture”). Mike has experience with product development, product strategy, information technology architecture, IT strategy, large system development and systems integration. Mike graduated from the University of Dayton and completed one-third of his Oregon Master of Software Engineering program. Ed Copony joined Collaborative Software Initiative from Liberty Mutual. Ed has experience in software architecture and large system development. Ed began his IT career during the San Francisco dot-com boom of the late 90s doing web application development. Since then, Ed has worked for a variety of IT shops, leading teams in the development of J2EE applications, continuously integrated and tested environments, portals, and content management systems, working on the front- and back-ends. Ed is a graduate of the University of Virginia.SpeakerThe GLORP Object-Relational mapper provides a powerful mapping between Squeak Smalltalk objects and PostgreSQL data. I'll describe the basic features of the mechanism, and show how simple mappings can be established quickly, but also powerful mappings are also possible, such as one row becoming multiple objects of different types, and multiple rows pulled together to make one object.
Speaker Biography:Although Randal Schwartz is probably best known for having written more words about Perl in print than any other single author, he's also been a Smalltalk programmer since 1981, and a PostgreSQL user and advocate for many years. His company (Stonehenge Consulting Services, Inc) has been a leading producer of Perl training, consulting, and contracting for decades, and is now expanding into the Smalltalk arena with the same commitment to excellence.SpeakerProperly utilizing the PostgreSQL shared buffer cache is vital for optimizing database performance, but most recommendations don't go beyond just giving a rough guidelines for how big it should be. Starting with an introduction to how the cache is structured and operates, this talk goes deep into using the pg_buffercache tool to monitor what in your database your applications are using the cache for. It finishes off with suggestions for using this information for tuning how big the cache is and the related background writer parameters. This talk is mainly aimed at UNIX-like platforms.
Speaker Biography:Greg has been using PostgreSQL to write critical business applications since V7.0 in 2000, graduating to patch contributer during development of 8.3. He currently works as a software engineer for Truviso, focused on applying the company's PostgreSQL-based streaming database technology to applications in the financial markets.SpeakerThis talk introduces pgTAP, a library of PL/pgSQL functions for unit testing your database. Got custom functions you need to test? Triggers? New data types, enums, or domains? This is the test suite for you!
TAP, the Test Anything Protocol, is an emerging standard of representing test results in an output stream. The pgTAP library provides a series functions that run various tests and return a TAP string representing the success or failure of the test, as well as any accompanying diagnostics. By using these functions in a psql test script, you can write comprehensive unit tests that emit test results that can be harvested, analyzed, and reported on by any of many TAP frameworks in use today.
This talk will cover:
- The importance of unit test testing
- An overview of standard PostgreSQL-type unit testing
- What is TAP?
- Introducing the pgTAP functions
- Example tests
- Integration with standard PostgreSQL unit testing
- Integration with other TAP tests in Perl
Speaker Biography:David E. Wheeler is an application developer and independent consultant living in Portland. He hacks PostgreSQL, MySQL, SQLite, Perl, and Ruby, and has now ported Test::More to both JavaScript and PL/pgSQL. When not hacking code, he enjoys his family, friends, photography, and a good pinot noir, and has been known to write technical articles and given presentations now and then.SpeakerHow would you like to have a full-featured object-relational DBMS integrated right into your development environment? One that understands OOP, implements all of the relational operators, and greatly shortens development time? That gets you away from the tyranny of SQL so you can focus on what you really know? Introducing Muldis D, an industrial strength language with fully integrated ORDBMS.
-----------------
This session introduces Muldis D, an industrial strength programming language with fully integrated database functionality, and shows how to use the Muldis Rosetta database access framework for Perl. The session will focus on a few of the features that I consider the most interesting and unique, and ways users can solve their common database-using problems.
Muldis D provides access to the entire relational model of data, including arbitrarily complex user-defined scalar and collection data types, stored routines, constraints, updateable views, and updateable system catalogs. You can select both parent and child records together in a single query, without redundancy (child records are in collection values in parent records). You can treat multiple databases as if they were parts of a single database, making cross-database queries easy. The language is cleaner and more rigorously defined than SQL, so it should be easier to write code that is reliable, portable, easy to understand, and is easier to auto-optimize or auto-parallelize.
Muldis Rosetta is a database access framework in native Perl 5 and Perl 6 versions (for Perl 6 it is also the *first* database tool). It presents databases to Perl applications as shared libraries of routines and data that can be used and updated. The normal way for Perl code to use a database with Muldis Rosetta is to invoke the database's stored routines (and prepared statements) as if those were Perl routines, with data being inserted and retrieved via the routine parameters.
Muldis Rosetta is designed for strong inter-DBMS portability, and provides a deeper abstraction than the Perl DBI, such that a Perl application will see all DBMSs as having the same query language (Muldis D by default), rather than them having highly-incompatible dialects of SQL. But while most database abstractors or ORMs treat every DBMS as a stupid data store - a strategy that can result in the user getting fewer features and poorer performance than the original DBMS provided - Muldis Rosetta differentiates DBMSs according to their capability, and optimally leverages their built-in features where at all possible, only emulating missing features in Perl as a last resort. Unlike other tools, Muldis Rosetta features the ability to translate SQL stored procedures (and by extension most other SQL features). Muldis Rosetta also includes a full-featured DBMS natively in Perl, and user queries are compiled into Perl code rather than SQL for execution; this allows database-using projects (and Muldis Rosetta itself) to be fully tested or demonstrated in the absence of a normal DBMS, easing their development.
Muldis D is intended to qualify as a "D" language as defined by "Databases, Types, and The Relational Model: The Third Manifesto" (TTM), a formal proposal for a solid foundation for data and database management systems, written by Christopher J. Date (who also wrote "Database in Depth") and Hugh Darwen. Several other "D" languages exist, including the teaching language "Tutorial D", but Muldis D is arguably the first one that is actually practical for industrial use.
Speaker Biography:Darren Duncan is a developer of applications and databases, has written several CPAN modules, and participates in Perl 6 language development. Darren's life's work is to build consumer-useable ontological database solutions for accurately organizing and easily sharing the world's knowledge over the long term, particularly scientific, historical, and genealogical knowledge. Darren is interested in general information management and epistemology.Speaker

