Singpolyma

Technical Blog

Archive for the "Tech" Category

SGFoo Digestion

Posted on

I got back Manday morning from SGFooCamp.  This is a sort of himp of my thoughts of the event and the results.

The first thing, for me, was the actual networking that went on.  I met lots of people that I’ve followed online for some time and many more. The informal discussions that “just happened” were, I think, informative to all.

The talks I attended were all excellent.  I was inspired with a number of ideas that will make it into my DiSo plugins.   A lot of insight goined into what users expect vs what I tend to  to think of as a Geek.

Two specific points of awesome:

1) Talk-turned-flame-war about DataPortability Workgroup.  Good to see the air cleared at least. Way too much hype there.

2) Witnessing one of the first usefully federated XMPP PubSub messages.  Seeing just how fast it can be.

If I got one thing from the (un)conference it would be the value of a demo.  Onward to DiSo hacking!

Thinking About Decentralised SPAM Protection

Posted on

We all hate SPAM.  We all love Akismet.  GMail is also great at killing SPAM.  Why are Akismet and GMail so great?  They have huge databases of SPAM from their many users to train filters with.

Only one problem : they’re commercial and closed.  Same old story, if they go down or evil we’re screwed.

Solution : decentralise.

The way that I’ve been thinking this could work is threefold.

First off, write a plugin for WordPress/other things that logs all SPAM in the WordPress database and allows anyone to easily access this list in standard formats.  This could hook into Akismet and other solutions to track what existing solutions mark as SPAM, as well as what users manually mark as SPAM/ham.

Then, create a site that simply lists sites that are publishing SPAM data, with links.

Third, create simple server software that either scrapes sites publishing, accepts submissions of data, or has a public API for individual SPAM submissions (like Akismet) or a combination of the above.  This server could also include filter logic that trains itself and offers a public API, or that could be other servers that rely on these ones.

The big thing is that this code all be open source so that anyone can run a server.  Each server would either scrape from all publishing sites, or publishing sites could cache a lists of operating servers to submit to.  Either way, we end up with a multiple-server environment with distributed data / load.

Avatar Plugins

Posted on

About time!  I’ve mentioned multiple times that I wanted to turn the logic I use here for user photos on comments into a plugin.  I’ve made two hacks for blogger that do this, after all, why not for WordPress?

My recent work with the DiSo project has caused this interest I had to come back, in the form of two plugins.

Plugin #1 – Avatar from URL

This plugin looks at the comment author’s URL and tries to find a suitable image.  This is primarily done by looking for an hCard, but it will also use other images if no hCard I found.

Plugin #2 – AllAvatars

This plugin is what is now powering comment avatars on this blog.  It detects if you have the gravatars plugin, the avatars from URL plugin, or the favatars plugin installed and tries to use the avatar those plugins would normally give (in the listed priority order) — thus allowing more avatars to display than with any one of these plugins.

It also detects if there is photo data in the user’s profile (such as data imported by my semi-released hCard Import plugin) and overrides any other plugins with that.

Mini-feed Plugin for WordPress

Posted on

I have released another now plugin for WordPress!  This one lets you easily generate a Focebook-like “mini-feed” of your doings online to embed on a WordPress page (like it is on my home page).

See the plugin page for more details.

XRDS Plugin Update

Posted on

This plugin now lives at WordPress Extend.

I have updated my XRDS plugin for WordPress to allow for deleting XRDS services, and also to have a nice configuration UI for delegating an OpenID.  I have updated the tarball for both the XRDS plugin and the Pempeth plugin to include the new version.