About This Site
This is a simple blog relating to Debian & Free Software issues.
Archive
|
10th May 2008
There should be a website to coordinate cinema-dates.
I don't like going to the cinema alone and have, in the past, frequently missed viewing films rather than go alone.
This is a habit I'm growing out of, but I still think it is better to go with a friend or two.
In the near future I'm going to view the last Indianna Jones movie, and the Sex & The City film. I have partners for both of those.
But after that? There are a few films which I can't immediately think of who I'm going to lure away with me. I could either :
- Go alone, regardless.
- Randomly ask people to come
If there were a site that had list of upcoming films, and allowed you to express interest in going to see them that would be a fantastic idea. (Obviously location based).
I'd not even assume "dating", because I think in my life I've had a first-date at a cinema once. When I was about 14. Because it just doesn't work - you can't talk during, (and back then we couldn't go to the pub afterward to discuss the film. I think we did anyway ;)
For bonus points you could allow people to rate the films, or even each other. Hmm.
Somebody write it for me? I've got too much on my plate ..probably
ObQuote: Se7en
7th May 2008
Well a brief post about what I've been up to over the past few days.
An alioth project was created for the maintainance of the bash-completion package. I spent about 40 minutes yesterday committing fixes to some of the low-lying fruit.
I suspect I'll do a little more of that, and then back off. I only started looking at the package because there was a request-for-help bug filed against it. It works well enough for me with some small local additions
The big decision for the bash-completion project is how to go forwards from the current situation where the project is basically a large monolithic script. Ideally the openssh-client package should contain the completion for ssh, scp, etc..
Making that transition will be hard. But interesting.
In other news I submitted a couple of "make-work" patches to the QPSMTPD SMTP proxy - just tidying up a minor cosmetic issues. I'm starting to get to the point where I understand the internals pretty well now, which is a good thing!
I love working on QPSMTPD. It rocks. It is basically the core of my antispam service and a real delight to code for. I cannot overemphasise that enough - some projects are just so obviously coded properly. Hard to replicate, easy to recognise...
I've been working on my own pre-connection system which is a little more specialied; making use of the Class::Pluggable library - packaged for Debian by Sarah.
(The world -> Pre-Connection/Load-Balancing Proxy -> QPSMTPD -> Exim4. No fragility there then ;)
Finally I made a tweak to the Debian Planet configuration. If you have Javascript disabled you'll no longer see the "Show Author"/"Hide Author" links. This is great for people who use Lynx, Links, or other minimal browsers.
TODO:
I'm still waiting for the creation of the javascript project to be setup so that I can work on importing my jQuery package.
I still need to sit down and work through the Apache2 bugs I identified as being simple to fix. I've got it building from SVN now though; so progress is being made!
Finally this weekend I need to sit down and find the time to answer Steve's "Team Questionnaire". Leave it any longer and it'll never get answered. Sigh.
ObQuote: Shooting Fish
6th May 2008
I leave my main desktop logged in for months a time; as demonstrated by my previous bug with the keyboard transition for xorg.
The screen is setup to lock after 5 minutes of idle, so there's no real security issue, and it is extremely convenient.
Every few weeks though my desktop gets into a funny state where no new windows may be opened.. Existing applications continue running without any problems, but no new windows/shells/whatever may be opened.
Tonight it happened again.
And the lightbulb went on in my head: My flat uses CFEngine to manage itself. (Two physical servers here, with 5-10 Xen guests, and a number of remote servers.)
One of the things that CFengine is configued to do is to tidy directories of files which are older than 30 days. Including /tmp.
So that explains that.
Every month the magic cookie in $TMP would be nuked, and X would disallow new connections.
I guess the next time this happens I should look at using Xauth to fix the issue, but generally I just logout, make coffee, smoke a cigarette, and login again.
In conclusion: I'm a stupid-head.
ObQuote: Fight Club
3rd May 2008
I made an emergency release of the chronicle blog compiler yesterday, after noticing that it was truncating titles containing periods.
That was a bit of a mea-culpea moment, but I guess mistakes happen.
The new release is in perfect shape for Lenny, and now includes two new scripts installed into the examples/ directory:
The latter was applied to my own blog, and I discovered several duplicates. I guess my film quotes having only a limited source collection to work from could also include duplicates - so I've updated my Makefile to only build and rysnc my blog if there are none detected.
(In many ways that films site is the precursor to this blog; it uses a collection of text files, one per film, and generates a cross-linked HTML output of film entries. Sadly it is out of date, because entering titles is a real pain..)
Chronicle Comments
I'm pleased with the comment process now though, the CGI comment submission script simply archives each submitted comment into a "comments/" directory on the webserver.
There a cron-job passes each one through a bayasian filter and moves the file(s) to either "comments/good/", "comments/bad/" or "comments/unsure/".
When I come to rebuild the blog I rsync the "comments/good" directory to my local machine, rebuild and then rsync the output back to my remote webserver.
(On a single machine this would be much simpler process!)
I've imported my blog source into a mercurial repository, so the client-side is consistent. I have a bad habit of making new postings from wherever I happen to be and having a central repository will make that less prone to diaster.
Just running "make steve" against the Makefile is sufficient to rebuild everything and sync it to my live system.
ObQuote: Kalifornia
1st May 2008
Tonight I'm going to enjoy a nice long sleep after attending The Beltane Fire Festival yesterday evening.
I did manage to sort out an SSL certificate yesterday, before I went out. A lengthier process than expected because the SSL-registrar was annoying and mailed the admin address listed in whois for my domain; rather than an address upon the domain itself.
I guess they can't be blamed for that, and the registrar did forward on the request when begged, so it wasn't the end of the world. For reference I used godaddy.com; who sold me a 3 year SSL certificate for about £25.
Today I've been mostly catatonic because I had only two hours sleep last night. But one good piece of news was receiving a (postal) mail from Runa in response to the letter I had sent her some time ago.
ObQuote: 300
29th April 2008
I installed Debian upon a new desktop machine yesterday, via a PXE network boot.
It was painless.
Getting xen up and running, with a 32-bit guest and a 64-bit guest each running XDMCP & VNC was also pretty straightforward.
There is a minor outstanding problem with the 32-bit xen guest though; connecting to it from dom0, via XDMCP, I see only a blank window - no login manager running.
GDM appears painlessly when I connect via VNC.
The relevent configuration file looks like this:
# /etc/gdm/gdm.conf
[security]
AllowRoot=true
AllowRemoteRoot=true
[xdmcp]
Enable=true
The same configuration on the 64-bit guest works OK for both cases.
(I like to use XDMCP for accessing the desktop of Xen guests, since it means that I get it all full-screen, and don't have to worry about shortcuts affecting the host system and not the guest - as is the case if you're connecting via VNC, etc).
Weirdness. Help welcome; I'm not 100% sure where to look
Anyway, once again, a huge thank you to the Debian Developers, bug submitters, and anybody else involved peripherally (such as myself!) with Debian!
I love it when a plan comes together.
SSL
ObRandom: Where is the cheapest place to get an SSL certificate, for two years, which will work with my shiny Apache2 install?
Somebody, rightly, called me for not having SSL available as an option on my mail filtering website.
I've installed a self-signed certificate just now, but I will need to pay the money and buy a "real" one shortly.
So far completessl.com seems to be high in the running:
- 1 year - £26
- 2 years - £49
For double-bonus points they accept Paypal which most of my customers pay with ..
ObQuote: The Princess Bride
26th April 2008
So I've made a new release of sift, the IMAP client/toy.
I think I named this one after looking up synonyms of "sieve", or "filter". Can't recall now.
The next time I release a toy application, tool, or hack, I will take the time to sit down and write namecheck. (Update: Too easy. Done.)
Here's what it looks like / how it should work:
skx@gold:~$ namecheck namecheck
Testing freshmeat.net - Available
Testing sourceforge.net - Available
Testing alioth.debian.org - Available
Testing code.google.com - Available
Testing savannah.gnu.org - Available
Name is currently not claimed
I guess it just comes down to having a list of URLs and patterns to test for:
http://freshmeat.net/projects/%s | We encounted an error
http://sourceforge.net/projects/%s | Invalid Project
http://alioth.debian.org/projects/%s | Invalid Project
A tool like that would be useful if you're bad at picking names for projects and want a reasonable chance of uniqueness. Looking up sites by hand is just fiddly and repetitive.
Of course "namecheck" is a provisional title; until it may be used to test that its own name is not in use ;)
Today I shall be mostly smoking, drinking, and trying to fix a dying steam engine. Good times.
ObQuote: Brief Encounter
Update: Quick hack: namecheck | future home in ~/bin/.
21st April 2008
OK I'm done with this now, the sift utility has been released.
I think that is a large overlap with imapfilter; but I win because I can write simple rules, rather than any actual code, to perform jobs.
In other news I flew my kite today, and I still like eating Pies: Thank God reading Debian Planet isn't mandatory.
ObQuote: The Godfather
20th April 2008
I've updated the IMAP utility that I mentioned previously, which has now been given the name sift. It will accept, and process, a much simpler configuration file format keeping state as it goes.
Here's my updated sample file:
username: blah.bah
password: pas.word
#
# Comments are fine.
#
folder:livejournal status:new subject:temp mark:read exec:~/bin/notify
folder:foo status:new mark:read
folder:bar status:old exec:/usr/local/bin/record delete
Each line consists of a set of tokens, split by whitespace, which is "executed" in order.
So the first line selects the folder "livejournal", finds messages which are "new", then each message containing "temp" in the subject is marked as read, and the program "notify" is executed once for each match.
Essentially we keep a list of messages as "current" as we process each line, that list of messages is then refined as we move through the line. (When a folder is opened all messages are selected by default.)
As a simple example to delete all the messages contained in a folder we'd use this:
folder:foo delete
To refine that to only delete messages from "fred" we'd say:
folder:foo from:fred delete
(If there were no matches the "delete" action wouldn't occur.)
Consider each line of input a collection of filters each operating on the previous result. Simple to understand, simple to extend with more operations, and simple for me to code!
TODO: Add a "move:xxx" to move a message to folder "xxx", and a bit more polish, then release.
ObQuote: Tron.
19th April 2008
So I've written a quick hack. A client-side filter/utility program for working against IMAP servers.
Consider it a general purpose system which is similar to Procmail, but applied after your remote machine has already done the sorting.
Here's a flavour:
<GMail>
username somebody.like.me
password yeah.right
</Gmail>
<Folders>
<livejournal>
unread exec /usr/local/bin/notify "Livejournal Comment"
mark read
</livejournal>
<inbox>
mark read
</inbox>
</Folder>
What does that do? It first of all logs into GMail with the given username and password, then selects two folders:
- =livejournal/
For each unread message in the folder it runs the specified command with STDIN being the message body.
Then it marks each new message as "read".
- =inbox/
This simple rule just marks all messages as read.
Why? Well I have a bunch of folders on a bunch of gmail accounts and I don't pay attention to them - but some, specific, mails should result in an SMS being sent to me ... so I need to do something clever.
I'm sure with a bit of effort this could be made IMAP-server independent, and could have a more flexible matching system. The simplicity right now comes about primarily because i dont want to parse a config file.
Anyway, suggestions for potential features are welcome. It does what I need as-is, even if it isn't pretty.
ObQuote: Lost Boys

|
Tags
|