Random software and robot news

I’ve been doing a little more C programming lately. On the embedded level, I’m porting some odometery and waypoint navigation code written by David P. Anderson for use on my own robot. This is part of a larger project to put together a GPL’d library of mobile robot code. Don’t expect to see it anytime soon but we are making progress.

I’m also trying to squeeze in time to keep up the work on mod_virgule. I’ve made a lot of progress over the last few months, benefiting both robots.net and Advogato. The ToDo list seems endless but next up is some code refactoring and work on the data schemas used for the XML database and HTML entry forms. This work will hopefully allow me to fix a long standing bug in the HTML forms and make the field layouts a little more flexible.

Advogato blog topics

Zaitcev brings up the issue of blog posts that aren’t directly related to free software development in Advogato’s recentlog. I seem to remember this issue coming up sometime in the past. Zaitcev occasionally posts about topics other than free software such as Anime. This annoys ekashp, who would prefer that free software developers limit their interests (or at least their blogs) to posts about free software. For my own part, I don’t find it strange at all that free software developers have varied interests beyond software itself and I enjoy reading about them.

Perhaps I’m biased, because I too write about whatever random things I find interesting. Sometimes I write about software but just as often it’s music, art, books, or robotics. My case is interesting because my blog is syndicated to both Advogato and to robots.net. I think to meet ekashp’s ideal, I’d have to limit my blog to software development related to robots. Otherwise, I’d risk being off-topic on one of the two sites with any given post. Instead, I throw caution to the wind and assume that if a topic is interesting to me, it might be interesting to someone else too.

In any case, Raph created Advogato’s blog ranking system so that each user could define their own ideal recentlog. If you consistently find someone’s blog uninteresting or annoying, go to their profile page and give their blog a low interest ranking. Blogs ranked below 3 will not show up in your view of the recentlog.

mod_virgule and Advogato

I’ve spent the last week making a lot of mod_virgule tweaks to get my version of the codebase to the point it can run both Advogato and robots.net. My goal is to make the upcoming change-over to the new server and codebase as unnoticeable as possible to Advogato users. Keep you fingers crossed. Next up is trying to get mod_virgule to compile cleanly with gcc 4.x on a 64bit machine.

Websites come and websites go

O’Reilly shut down the wonderful Meerkat aggregator website a while back and now I see that Raph may be shutting down Advogato.

Yet another website I frequent, on the subject of Free/Open hardware, almost shut down in June. FreeIO.org has been run by Diehl Martin for years, providing GPL’d hardware designs. Unfortunately, Marty has pancreatic cancer and decided he didn’t have time to run the site anymore. After seeing his shutdown announcement, I offered to take over hosting and maintenance of FreeIO.org. We completed the transition in August. We’re still pondering the longer-term plans for the site.

I’ll miss advogato if it shuts down. Thanks for the effort you put into Advogato and mod_virgule, Raph! I’m still running robots.net on my own version of mod_virgule but I’m guessing mod_virgule is not likely to survive long without Advogato, so it may be time to rename my version and go off in my own direction with the code. There are lots of enhancements I’ve wanted to make like dropping the specialized XML templates in favor of standard XHTML templates, replacing the template processing code with the XPATH support available in libxml2, maybe replacing the flat-file db with SQL support. There’s still a lot of potential in the codebase; it’s just a few years behind the times at this point.

I still haven’t found a good replacement for Meerkat. I’m trying to use Technorati. It looks pretty but it’s riddled with technical problems and there are apparently no humans at the other end to talk to, just faceless form emails promising replies that never arrive. Technorati only manages to update from robots.net maybe one out of every ten times I ping them. Complaints about the Technorati ping problems and their non-existent technical support are common. I’ve tried several of the recommended work-arounds for the ping problem but none have worked for me so far.

mod_virgule Attack Resistance

lkcl and redi have commented on the ongoing trust metric attack on mod_virgule sites, noting the effects on Advogato. The same thing is happening to other mod_virgule sites including robots.net and ghostscript. I emailed Raph a warning about this activity in May when I first noticed the use of automated programs creating large numbers of identical accounts on the three sites. I don’t want to link to any examples directly but try googling on “dltxprt” or manually typing in the user URL to see an example user on all three of the mentioned sites. I’ve been tracking IPs and the account names on robots.net so I can kill them all off if needed but so far the trust metric has resisted the attack effectively.

The spammer is using the notes field of each account for search engine link spamming but otherwise isn’t causing much immediate harm other than resource abuse. I have working code to delete mod_virgule accounts but I’m still pondering how best to use it to remove the evil doers in this case.

The blog spam seems limited to Advogato for some reason. If it starts on robots.net, I think my solution will be to remove the A tag from the list of tags that can be used by observers. I don’t want to remove the ability of observers to post blog entries, as lkcl suggested, because that’s the only way we find out enough about some new users to decide whether they should receive a higher trust ranking.

One interesting thing to note is that almost all of the spammer’s accounts certify each other, creating what Google refers to as a “bad neighborhood” in webpage trust rank terminology. If you have a legitimate webpage and link to a “bad neighborhood” it can adversely affect your own page’s rank. It might be wise to implement something similar in mod_virgule. If a legitimate, trusted user certifies an untrusted user in a “bad neighborhood”, maybe it should result in decrementing the trust of the legitimate user rather than increasing the trust of the bogus user? Just a thought.

Random August News

Another month, another mod_virgule release. With this release, I’ve removed most of the remaining hard-coded, site-specific stuff. It’s now possible to build and install mod_virgule without having to edit the source code to insert the website’s name or the admin’s email address. I’ve moved all that to the site config file where it can be easily changed. There’s still one little clump of HTML used as the header on some internally generated pages that’s hard-coded. It’s getting really close to being usable for real-world websites but there’s still a lot left to do.

When I wasn’t working on mod_virgule, I noticed an interesting new blog. Anyone interested in reading about random Texas nature topics might find The Nature Writers of Texas blog fun. It contains nature writing from dozens of Texas authors including pieces originally published in newspapers, magazines, books.

And when I wasn’t working on mod_virgule or reading blogs this month, I was working on robot stuff. I’m still struggling to get the example files to compile properly for the New Micros Tini 2131 board. It seems the examples were developed by someone using a Windows variant of the GNU gcc tool chain and never tried out on anything else. They have a number of upper/lower case problems where a source file says #include “foo.h” but there is no file named foo.h. There is a file name Foo.h or FOO.H. I thought even Windows could distinguish between upper and lower case letters by now but apparently not. While correcting the case problems, I noticed some of the files had what appeared to be illegal characters in them; probably those old timey IBM graphic characters used as lines and boxes around comments or something. I’ve excised the weird characters and have now gotten down to what appear to be actual coding errors. I hope it won’t be too long now before I have some actual working code.