redlandbot bugfix

Posted in Semantic Web on February 2nd, 2005 at 23:56:42

My pet Python project is redlandbot, the most popular manifestation of which is julie, an irc bot. Basically, the service allows for adding data from a URL to the local model, and then running RDQL queries against that model. As the name implies, it’s built as a layer on top of Redland, using the Python language bindings.

One of the biggest complaints about using julie, or at least, one of my biggest complaints, is that it requires namespaces to be used explicitly in some cases. Or should I say, that *was* was one of my biggest complaints: I just fixed it.

From now on, julie will automatically add namespaces to a query. It checks if there already are any (by looking for ” using <"), then adds the rest of the predefined namespaces, trying to match syntax. There may be some commands which break because of multiple spaces between "using" and "<". If there are any, feel free to fix them by simply pulling the namespaces out of the command: they will be added automatically. This allows for more complex queries with less work, which is always a good thing. Any bugs can be reported to me. This has been on my wish/todo list for way too long, and it's good to have done. I should really work on fleshing out julie/redlandbot as a web service a bit more, I think. It'd be nice to be able to just set up the service on a webpage, and use the ircbot as a very high level transport between IRC and the web interface: this would allow me to move the bot around a bit more, without needing to install Redland to use it (occasionally a bit of a pain, due to dependancies, mostly because I suck at resolving them without root).

Python Special Interest Group

Posted in Python, Symbian Python on February 2nd, 2005 at 23:50:48

Recently, a number of local Python users have assembled some form of organization, to the point that there is actually now relatively regular meetings of these groups of people (before other Linux Users Group gatherings, thus far). With the recent Nokia Python announcement, there’s been some renewed interest in my mobile python work, so I’m hopefully going to get some of that into shape over the weekend for a demonstration to the group on Monday, assuming I can make the meeting.

For those of you who have an interest in Python: What do you think would be interesting to a bunch of Python coders as a demonstration? Is there something that’s particularly spiffy that I could show off, or convert from being a command line application to being a cell phone application? Note thave I’m thinking relatively simply here: I only have a relatively limited memory space to work in, and I only have a small subset of modules to work with, and I’m in Python 2.2.

So, what do you see as being interesting topics/programs to demonstrate to the world the power of Python on the cell phone?

I’m really looking forward to getting together with a bunch of like-minded hackers, and racking their brains on what I can do better. I’ve never really had a good development process before, but Python developers seem to have one, especially the ones that I’ve seen discussing things on the mailing list. I’m used to LiveJournal’s spaghetti code, or writing in PHP which is typically not so well tested. It’ll be interesting to enter conversations with a group of more “formal” developers than myself.

Just looking for thoughts on what I should be working on.

MoonEdit

Posted in Social on January 23rd, 2005 at 22:03:41

For a while, I’ve moaned about the fact that the only decent collaborative editing software was SubEthaEdit, an application which only runs on the OS X platform. I’d discussed with the developers the possibility of releasing even the protocol for the application, so that other tools could interact with it, but no interest was shown in doing so. As a result, I did some small amount of work on the “FortyTwo” project – a play off SubEthaEdit and the Hitchiker’s Guide.

However, a couple days ago I was pointed to something that may soon strike fear into the hearts of the Coding Monkeys: MoonEdit, a Windows, Linux, and FreeBSD application which is free for non-commercial use.

Although it lacks a bit of the glitz and glamour that SEE sports, MoonEdit features a couple things which make it immensely better for collaborative editing of documents:

* History feature, which allows you to roll back to any point in the edit stream, from the first character to the final punctuation mark.
* Full document zoom: simply hit f12 to see a summary view of the whole document, allowing you to easily keep an eye on what’s changing.
* Standalone server mode, allowing you to set up editing of documents on a server easily.
* Macros built into the application.
* Most importantly, Windows support.

Now, collaborative editing is open to the other 97% of the world that doesn’t have a PC. Unfortunately, this app isn’t yet available on the mac platform. I’ve contacted the author, first asking where I can send him money for a donation, and secondly asking if there’s anything I can do to help create a Mac version of the program. With a mac port, it really would become a SEE killer: not as a generalized editor, but as a collaborative one.

To be perfectly honest, I have no idea how this application works. It’s a tiny, static binary – source is not available: me: ELF 32-bit LSB executable, Intel 80386, version 1, statically linked, corrupted section header size, total size 129,401 bytes. I didn’t realize things still came that small. However, I can tell you that using this application is extremely cool. What it lacks in polish, it makes up for in usability, both due to wider platform distribution and to the History feature. You can also save documents with full history, allowing you to open them offline and read through the changes that were made.

MoonEdit is the way of the future. If I can get a Mac binary out of the author, I will be an extremely happy camper. If you’re using a mac and want to have a cross platform collaborative editing program, you may want to send an email to the author as well, asking for support; I haven’t gotten a response yet, but given significant motivation (Think $$) most coders will take care of their audience.

RSS 1.1 Update

Posted in RSS 1.1 on January 22nd, 2005 at 06:51:25

The response Sean, Cody and myself have had to RSS 1.1 has been mostly positive, and we’ve gotten a number of suggestions for ways to make it better. We’re going to be working over the weekend to implement these changes into the schema, and releasing a second draft on Monday sometime.

The response was, all in all, pretty good: We’ve had some good people on our side, offering encouraging comments on the specification. At the same time, there is the all too common “Oh no, not another RSS version” that you get in the case of anything new. I can honestly say that I think most of these comments misunderstand the goals that were being worked towards by RSS 1.1.

If you are not using RSS 1.0 right now, do not worry about RSS 1.1. It is designed only to fix the bugs that RSS 1.0 has, due to the fact that it’s 5 years old. If you try to drag me into politics: whether it be on whether another RSS format is good or bad, or on other things which are unrelated in a change from 1.0 to 1.1, you are misunderstanding the original intentions behind this format.

It is a possibility that given a better defined specification, using the current version of RDF rather than the one that was available 5 years ago, some people who are not using RSS 1.0 now may want to make the switch to RSS 1.1 (if it achieves support in the community). If you do, great. If you don’t, also great. I have no interest in converting those of you using RSS 2.0. I have no interest in telling you to stop using Atom. I want a technical improvment over RSS 1.0: and RSS 1.1 does that.

At the same time RSS 1.1 was designed to fix bugs with RSS 1.0, it was also designed to make it easy for aggregator developers to develop support for it. Complete backwards compatibility, although wonderful, would have been so limiting as to make any changes to the schema useless.

RSS 1.0, although it still had an existing working group, was not being developed further. To work in the working group atmosphere would most likely have stifled creation of the new specification. Although some may think this is a bad thing, I think that RSS 1.1 does fit the needs of a small group of people without putting an ardurous strain on the people who develop tools for it.

In the end, lots of people will be unhappy with any new syndication format. The motivations behind this move, however, are entirely technical, rather than political, so, as Sean said at one point, most political arguments against it “concern us not”. The technical questions, on the other hand, do concern us, which is why we’ll be working to craft a second draft as quickly as possible, to get further feedback from the community.

RSS 1.1

Posted in RSS 1.1 on January 18th, 2005 at 12:36:32

As a developer, for a long time, I believed RSS 2.0 to be significantly superior to RSS 1.0. It was a more popular format, more people had heard of it, but most importantly, it was easy to create. In comparison to RSS 1.0, creating RSS 2.0 documents was downright trivial. There was no need to have the goofy “rdf:RDF” tag at the top, with all those weird looking URIs for some reason no one could tell me. Clearly, at the time when I was thinking this, I was not aware of RDF or the benefits of it. As time went on, I realized the benefits of the RSS 1.0 way of doing things, most importantly, that the content is RDF.

However, RSS 1.0 is still a relatively confusing format to implement to a non-RDF aware developer. The “table of contents” listed in the rdf:Seq is redundant, and to a lot of people who are used to working in XML and not under the constraints of RDF, confusing. The documentation on all the RSS formats is quite weak. A table comparing what each one offers is hard, if not impossible, to find, especially since most such lists are biased towards the writer of said list.

As I’ve become more and more involved in developing tools relating to RDF and the Semantic Web, RSS 1.0 has become more and more of a sticking spot in my experiences with people. They are soured by their 1.0 experience: a feeling I can not blame them for, as RSS 1.0 is constrained in many ways by the circumstances under which it was developed.

Fed up with dealing with a less than optimal format that was truly leaving people feeling negatively towards RDF in general, I decided that I was going to work on something that would be better for RDF and RSS. I was just going to write it myself, but luckily for me, I had the help of a couple of friends.

sbp, and myself, along with many a helping hand from d8uv, have written a specification we are labeling RSS 1.1. From the Specification:

This specification is therefore made available by users of the RSS 1.0 format who wanted to update the specification to make use of the latest features of RDF in order to reduce the redundancy in the format, and the ambiguity in the specification, while at the same time implementing a series of bugfixes from the lessons learned in developing the other descendent of RSS 1.0, Atom.

This specification comes with a full Test Suite, a validator, and a number of other resources, from background information to implementation details in several different types of configuration.

We have formed a channel for discussion of RSS 1.1 related issues on Freenode: #rss1.1 on irc.freenode.net. If you are interested in using the specification, or would like to offer your opinions, you can stop by there to talk to us.

This specification is not designed as competition for Atom: it is designed only as a bugfix release for RSS 1.0, and is not designed to compete with any other existing efforts. There were a significant number of issues with RSS 1.0 that had been raised over the years, some of which were relatively important from the standpoint of a lazy developer such as myself. Hopefully others will feel a similar way.

Sweet RDF Nothings…

Posted in RDF, Semantic Web on January 17th, 2005 at 18:18:18

Many of you who know me on IRC and other similar places will know that I have a wonderful partner-in-crime, Jessica. Together, we are rel:parentOf to Alicia and Julie. Julie, unfortunately, has a bad ear infection today, and is therefore getting ice cream for dinner, per doctor’s orders.

Julie decided that she wanted to come with on this trip, despite having a fever of 103. She said “I’m four, I can come!” Of course, this request was denied, at which point she repeated her assertion.

Repeated assertions reminded me, naturally, of RDF, so I expressed her statement in RDF: :Julie foaf:age “4”. (Which, verbally, is “Julie foaf:age 4”.) Our roomate looked askance at Jess and said “Ya know, he’s going to express your wedding anniversary in FOAF so he can’t forget.” Jess’s joking reply was “One of these days, I’m going to break up with him because he can’t stop whispering sweet RDF nothings into my ear.”

My response, naturally, was :ChrisAndJessBreakup log:implies “sad”.

(All terms, RDF and otherwise, in this entry are considered non-normative and non-validating. Do not use data from this entry for the basis of forming real RDF documents. I don’t understand rules, and I have no idea what log:implies does, so I probably used it wrong. But it was funny.)

Image Storage

Posted in Image Description, Semantic Web on January 14th, 2005 at 11:59:55

Earlier, I mentioned how I was going to be switching to Flickr for Image storing. Although this is still the case, I’m waiting a bit until I do: I want to write some tools for generating RDF for me personally before I spend the money on it, I think. There’s already some work being done: Masahide announced a flickr2rdf service of his own, but it’s generalized, and I want to do something a bit more specific. I want to be able to describe people in the description, and have a tool which automatically extracts it. Not quite “Natural Language Processing”, something I’m sure that Arnia will chide me for, but something along those lines. Maybe even just using n3 in HTML Comments? Wonder how the API deals with that…

However, in the meantime, I’ve installed Gallery2, and I must admit, it’s very nice. I’ve been working in the module framework, and I’ve been able to extract exif information and include it in an RDF RSS Feed. Next step is to go back through my steps and look at all the changes I’ve done, then export it so it’s a usable format for the developers, and integrate it into their RSS 2.0 development. Triples, triples everywhere!

Once I’m sure my Gallery is in a usable state, I’ll release the work I’ve done on it. For the time being, I’m making sure that I have something I’m willing to switch to before I publicize it.

Hope everyone has a good weekend!

Comment Notification

Posted in default, Social on January 9th, 2005 at 22:29:28

One of the biggest things that “irks” me when I’m commenting on some other weblog that I seldom read is that I will most likely never see any response to what I write, even if one is directed at me. For this reason, I often write my own posts, expecting that with Trackback, the original author and subsequent commenters will be able to see my thoughts as well as reply to them.

However, occasionally I don’t want to write a full post, yet I still think that the discussion is worth having. For those times, I really wish that more weblog software packages would support notification of comments, preferably via email. LiveJournal has implemented this since long before I had an account, and the discussion I’ve seen, even on the most minor topics, are gigantic in comparison with the discussions you can find between commenters on most weblogs.

I understand that the cultures are different, and I understand that the goals of each are different, but this is one practice that I definitely miss from my old tools. For that reason, I have installed a wordpress plugin which allows you to ask for subsequent comments to entries to be mailed to you.

I hope that this will allow people, if they desire, to continue threads of conversation longer, and breed more communication between commenters to the site. I certainly know that to me, seeing more talking back and forth among people in comments has always been a great way for issues to be raised that might not seem “Deserving” of a fully thought out response in the form of a new post.

My major concern at this point is with spam: will people who comment find themselves innundated with spam? I hope that I can work with wordpress to keep spam to a minimum, thereby protecting those who receive those emails as well.

The next thing that I’m interested in is threaded comments. However, I’m pretty sure there’s not a “simple” plugin for those, and I do know that threading comments introduces a variety of issues, from display issues to conversion of a tree format to a SQL database. We’ll see. At the moment, I’d like to hear your thoughts on whether allowing people to receive notification of new comments is a good thing or bad thing. Also, since it is new, feel free to let me know how it works in your opinion. You don’t get copies of your own comments at the moment: something I still haven’t decided whether I’m going to change or not.

Flickr and RDF

Posted in Flickr, Image Description, RDF on January 6th, 2005 at 23:25:30

I’m an open minded kind of guy. There are a lot of services out there, and even though some of them aren’t open source, it’s possible that they may do what I want them to do. One of those services is Flickr, a photo sharing service.

Flicker does a lot of very nifty things: updates from anywhere, advanced annotations, including an extremely easy to use Javascript interface for annotating regions of images, and posting to blogs directly from the service. However, that’s not the coolest aspect of the service, in my opinion.

Flickr provides a relatively advanced, full featured, well documented API – a way to get pretty much any information you might want out of the site without screenscraping. (LiveJournal, in comparison, strongly discourages screenscraping, preferring that you use services listed on their bot-friendly services list. However, the data afforded through these interfaces is extremely limited to the point where it’s unusable for most advanced tasks.) Through this API, you can retrieve all the information you want about the people and photos available through the service.

This is especially interesting to me as an RDF nut because it means that I can use Flickr’s nice interface and handy annotation tools – and at the same time, I can convert the data, via the API, to an RDF format that I can use for all the things I’ve been describing in my Image Description posts.

The limits a free Flickr account places on you are kinda strict: relatively small upload limit, given that I prefer to store full size images in the photos I already have in my personal gallery. I’d immediately set Flickr aside months ago because there was no way I could use it to store all my images. However, upon review tonight I discovered that an annual Flickr account during their beta period is only about 45 USD. Included in this is:

  • 1 GB monthly upload limit
  • Unlimited Storage
  • Unlimited Bandwidth

In addition to a few others, listed at their upgrade page.

It’s a case where I can build lots of tools and do lots of work myself, and get exactly what I want… or I can use flickr, pay a pretty minimal fee, and get 90% of everything I want with no effort, plus an additional bit of work to get that last 10%. I’ll probably still keep things locally (if for no other reason as a backup should flickr ever go poof), but move my primary photo gathering to be flickr based.

I think I know which way I’m going to go. Once I do, I’ll keep you all updated on the progress I have with RDF.

LiveJournal Rumor Confirmed

Posted in LiveJournal on January 6th, 2005 at 00:59:35

LiveJournal has been bought by Six Apart. After reading what Brad, Mena, and Six Apart have to say, I’ll admit I’m not too concerned. I do wish that I could still be involved in the Development effort at LiveJournal: I have a lot of things that I’d like to see done there. However, that door closed a while ago, so I’ll just have to deal with whining about it ;).

Current Mood: Optimistic, from Mena
Company FAQ, from 6A
Press Release, From 6A
LJ FAQ, from Brad.

According to Brad, they’ve finally got Trackback code going. Of course, we’ll see how long it takes to actually get anything done, since the entire office is moving.

Congrats to LJ and 6A. Hope for the best for both of you. It seems that my options from my previous post are looking like they’ll be Option 1, possibly with a leaning towards option 2 – and that’s something I’m happy about. So, Thanks.