Older blog entries for brondsem (starting at number 50)

New homepage content for my website

My homepage now sports an overview of what I've written lately, listened to lately, bookmarked lately, and coded lately. (It used to just redirect to my main blog page). There is also a link to browse all the "feeds" I read (over 200 now). I plan to add latest photos to it eventually (have to do some work on my gallery first), and sometime I will give a whole new theme to the site.

For the technically inclined, I wrote a simple PHP script that uses the SimplePie feed parser to pull & display the various feeds. There are feed icons next to each section if you want to subscribe. For the feed browser ("what I read"), I'm pointing the grazr widget at my OPML file -- which actually is dynamic and pulls the OPML file from my feedreader service (currently newsgator.com) so that I can have an elegant permanent URL for it and also so I can remove one private feed that I wish to keep hidden.

Technorati tags: feedslifestream

Syndicated 2007-05-18 02:34:06 from Dave Brondsema's Blog - Programming

3 Apr 2007 (updated 28 Apr 2007 at 18:05 UTC) »

First release of a PGP plugin for SpamAssassin

Mail::SpamAssassin::Plugin::OpenPGP is a SpamAssassin plugin that validates PGP signed email. It also adds some mail-specific validation: it requires the From: address to be one of the addresses on the signer's key, and that the Date: is close to the date of the signature.

It's only version 1.0.0 and I'm not even using it myself (yet), but it passes 17 functional/acceptance tests. I'd appreciate any feedback.

The code is available via CPAN of course, and also through Konfidi's SVN repo: browse

Technorati tags: gpgopenpgpperlspamassassin

Syndicated 2007-04-03 03:28:07 (Updated 2007-04-03 14:41:14) from Dave Brondsema's Blog - Programming

FOAF Whitelisting project

The Semantic Web Education & Outreach (SWEO) Interest Group of the W3C has announced that it is supporting the FOAF Whitelisting project as one of its community projects. The discussion for that project is happening on the foaf-dev mailing list. I'm there discussing how their ideas for the project do or don't match up with Konfidi's. It seems like I'm starting to understand their ideas better, and mentally I'm slowly letting myself give up perfectionism and idealism, so that we can take advantage of all the existing relationship data on the web. We'll see how it goes, and if Konfidi & FOAF Whitelisting merge into one project or not.

Technorati tags: semwebspamtrust

Syndicated 2007-03-13 01:06:22 (Updated 2007-03-13 01:06:40) from Dave Brondsema's Blog - Programming

God uses Greasemonkey (or, modelling Christianity with HTTP)

At work (the IS dept at a Christian university) a few weeks ago, our lunch discussion came to whether God could both love and hate someone at the same time. I said that if the person is saved by Christ, God sees Christ -- not the person -- when he looks at him. Drew said "it's like a hard link!"

On the web, it'd be like a permanent redirect. But only when God tries to resolve a Christian's URL does he get redirected to the URL representing Christ. "The LORD does not look at the things man looks at. Man looks at the outward appearance, but the LORD looks at the heart" (1 Sam 16:7). So how would that work? The difference in how the person's URL resolves depends on the viewer, so something has to be done at God's end. We came up with the idea that God must use Greasemonkey with script that applies URL redirections.

I couldn't find any Greasemonkey scripts that did URL redirection (just lame javascript redirects which is not good enough). So here's how I think Christianity could be modeled in HTTP:

Let's say http://brondsema.net/dave represents me (technically, it is an RDF document about me, but I'll avoid getting into RDF). http://brondsema.net/Christianity/Christ will be the URL representing Christ. When God requests http://brondsema.net/dave he needs to get:
HTTP/1.1 301 Moved Permanently
Location: http://brondsema.net/Christianity/Christ

This is assuming that a person once saved can never fall from salvation. If it's the contrary, then instead of a 301 Moved Permanently, there'd be a 307 Temporary Redirect

Probably be the best way for God to achieve this would be with a local proxy that rewrites some responses to be 301/307 instead of their original response value. Of course, only God would know how his proxy works; none of us know if other people are saved by Christ or not.

Some definitions, for the less technically inclined:

hard link
like a file shortcut, but better
URL
Universal Resource Locator; aka web address. It can represent anything, not just provide a webpage
Greasemonkey
A firefox extension that lets users install scripts that change the functionality of certain webpages
HTTP
HyperText Transfer Protocol. The underlying protocol that web browser & servers use to request & transfer webpages
Technorati tags: Christianityhttp

Syndicated 2007-03-04 03:37:36 (Updated 2007-03-04 22:41:47) from Dave Brondsema's Blog - Programming

long tooltip text in firefox

For those of you that read xkcd which uses long title tooltips on each comic (or any other comic that does it, like Falling Fifth) you must check out the Long Titles extension for Firefox! It's great!

Technorati tags: firefoxwebcomics

Syndicated 2007-03-03 15:26:03 from Dave Brondsema's Blog - Programming

robogato: How do I remove a certification? I don't see any option to do that when logged in and viewing a person's page (only options to set a certification level).
17 Feb 2007 (updated 18 May 2007 at 02:30 UTC) »

Blogs & news feeds

Recently I unified my blog & news feeds from home and from work and check them all via newsgator.com. I'm currently subscribed to 154 feeds, and yes, I do read/scan them all. You can see what I'm subscribed to here (OPML browser via grazr.com).

Syndicated 2007-02-17 19:35:54 from Dave Brondsema's Blog - Programming

keychain gpg-agent pinentry problems

I use keychain to setup my ssh-agent and gpg-agent sessions so that it remembers my passphrases and I don't have to retype them every time I use them. But recently I was getting this error:

Error: Problem adding (is pinentry installed?); giving up

Digging into /usr/bin/keychain I found that it was having trouble running gpg --use-agent --no-tty --sign. Running that directly gave me this error:

gpg: problem with the agent - disabling agent use
gpg: Sorry, no terminal at all requested - can't get input

The problem turned out to be ~/.gnupg/gpg-agent.conf had an old entry pinentry-program /usr/bin/pinentry-gtk which didn't exist any more. Change that entry to /usr/bin/pinentry or delete it altogether. Note: you'll have to restart gpg-agent (killall gpg-agent && eval `gpg-agent --daemon`) for changes to gpg-agent.conf to take effect.

Hope this helps somebody, since none of my googling found this solution.

Syndicated 2007-02-07 02:26:54 from Dave Brondsema's Blog - Programming

19 Jan 2007 (updated 20 Jan 2007 at 19:05 UTC) »

Multi-threaded optimization?

At CodeMash today, the keynote was about Microsoft's upcoming LINQ technology that allows you to integrated SQL-ish query language into your .NET code. Or IronPython code. And query native objects (e.g. process) and query XML. Datasources are extensible, and functionality of the query engine is extensible. Pretty cool. I hope an RDF implementation is written, to bring RDF to all the .NET developers. I feel like there is probably a huge chasm between .NET developers and RDF advocates, however.

Update: Hartmut Maennel has developed a RDF driver for LINQ (see his previous two posts, too). After thinking about this more, a SPARQL driver would be better, except that there aren't many SPARQL servers.

One of the nice features about "declarative intent" programming in a query (as opposed to programmatically looping through a list and checking for matches), is that the query engine can do optimizations for you, like leveraging multiple processors/cores (which will be very important in the future, since that is the future of computing hardware). It made me wonder, though, if standard algorithms like Java's Collections algorithms take advantage of multithreading. Does anyone know? I sure hope it does or will soon.

Technorati tags: codemash

Syndicated 2007-01-19 18:35:18 (Updated 2007-01-20 18:39:47) from Dave Brondsema's Blog - Programming

CodeMash conference

Bruce Eckel is giving the lunchtime keynote right now :) And there is a challenge to get 500 CodeMash blog entries on technorati (blog post aggregrator) before the end of the conference. So here's my contribution to help get one of the coordinators to shave his head.

The first keynote was about Domain-Specific Languages. DSLs make it easier for end-users or business-analysts to read & verify your code, and maybe even right some. Dynamic languages that can support them pretty directly. In the statically-typed world (which I prefer), there are tool factories fro DSLs that are being developed. That means a tool to generate a language, AST tools for it, refactoring support, and content-assist in an editor. Sounds exciting.

Posts on politics & headlights later. I want to pay attention to this keynote :)

Technorati tags: codemash

Syndicated 2007-01-18 18:28:57 from Dave Brondsema's Blog - Programming

41 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!