POSSCON 2009

The Conference

The conference is a new, free and open source software conference in Columbia, SC. This last one on April, 19th 2009 was the second one. It was held on the University of South Carolina's campus. It is a free conference! I have attended both conferences and they were both good experiences and it seems it will only get better!

What was good.

The size of the conference doubled, if not tripled, this year. It is nice to see a growing interest in technology and software in a state generally not known for IT. The reasons seem to be that the word is getting out. These guys do a good job running the conference and you can not beat a free conference. :) POSSCON is also present on some popular social media sites :

Because of the larger size there was more representation for other parts of the state. Last time a few people from Charleston were there and this time there seemed to be a lot more. Same with other areas. The College Of Charleston was represented by the Common Lisp for Java project! Some people from the Charleston Linux User Group were there. Other Linux user groups from around the state were there. The South East Linux Fest was represented as well. Redhat and Fedora was there too, but they were there the first time. :)

The weather was very nice for the outdoor free lunch!

There was also a developer track. This was very nice since I am a developer. :) I really enjoyed the topic presented by Greg DeKoenigsberg about contributing to open source projects. It would be really nice if there were more South Carolinians contributing to open source.

Improvements

There is little that needs improvement. It seems the growth alone allows for a more diverse and interesting conference. The improvement I would like to see, is more representation of open source projects. Not in a corporate since but contributers, similar to FOSDEM. Redhat and Fedora were represented along with CL for Java, but that was it. It would be nice to have booths and topics on other projects especially SC based projects. Lightening talks would be really cool. I will say that the functional programming talks were lightening talks and done nicely. So, if we find representatives or contributers of open source projects in South Carolina or the south east it would be great if they showed up to the next POSSCON! The more the merrier. :)

I am not saying we should limit the conference to South Carolina contributers. I just would like to see more open source projects at the conference. I am also curious as to how many SC based projects or contributers are out there and it would be really cool if they all got together at POSSCON.

The South Carolina projects I know are listed here :

I know there are more and I would like to see these represented and discussed in the conferences to come.

First pass at the PubSub Blog.

I have finally put together the first iteration of the pubsub blog I am building. This entry was made using it.

Moving to the PubSub Blog.

Personal Notes

I have finally put together the first iteration of the pubsub blog I am building. This entry was made using it. I am now switching to it and it is located at thetofu.com. So I will no longer be on livejournal. I have been using lj since 2002. I hope to get the same mileage out of this. I believe as it evolves it will be really nice.


The current state of the blog.

Right now, the evolution of this blog will be a tutorial on building a PubSub XMPP application. There are two ways to think about pubsub nodes, similar to two ways to think about URLs in HTTP. First, we have a generic pubsub node that just handles publishing and subscribing. Nothing else extra happens when you actually publish to a node. Only what is described in the protocol. Similar to a URL with a static file. The resource is just a file and nothing else happens when you try to GET that resource. Second, as Ralph Meijer puts it, 'The node is code'. Meaning, when you publish, something else happens beyond the publishing and notification to the subscribers. Similar to if you write a CGI or php script and it is a URL. Code is run when you act on the URL or Node in the case of Pubsub. You could also have other code publish to nodes. I want to touch on both methods to show the simplicity and power of pubsub in XMPP.

So, blogs are just web logs where an author publishes an entry and people can view it via a URL. The concept is simple and with this blog software, I hope it is the same. Currently, this software uses XMPP and its Publish Subscribe extension. (XEP-0060) A generic pubsub node is used, and logged by a subscriber, when an event happens. The log is turned to html and shown at htpp://thetofu.com. In a sense, it is a pubsub logger.

You can view get the source to this at the following URL :

http://github.com/twonds/thetofu.com/tree/master

There are two parts, a manager that posts files via the command line. And a listener named blogear that subscribes to a node and generates html based on templates. Currently, the method to post does not matter. I chose the command line because it is easier for me. I want to have other methods like a web application to publish and manage items.

The code is written in python using wokkel and twisted. The template engine is Cheetah.

Next posts will contain more details about how it works and the atom payload in the events.


The future of the blog.

There is a lot that can be done or should be done. Here is a list. This list will of course change over time.

  • Name it.
  • Describe how the current software works.
  • Make it better looking.
  • Create other clients to manage items on the blog node.
  • Add support comments. I may use disqus or pubsub.
  • Write a version where the node does the work and not a subscriber.
  • Decide on which implementation works. Generic node? Or code node?
  • Show that pubsub is better than RSS.
  • Add tags and a word cloud.
  • Do the stuff I am missing. ;)

Relax, use a couchdb backend for ejabberd.

There has been mention of using couchdb with ejabberd. Mnesia is good and so are traditional RDBMSes, but sometimes you need to relax. :) So, I started writing couchdb ejabberd modules. Authentication works and I need to do other things like roster and vcard. I just wanted to quickly announce it for people who are interested. Since I have become fond of github I have placed the code on there.

http://github.com/twonds/ejabberd_couchdb/tree/master