Skip to main content

Ralsina.Me — Roberto Alsina's website

Posts about rater

Wanted: C programmer

Check­ing on my semi-dead pro­ject­s, I found that one was al­most fin­ished but I had for­got­ten about it: rater

In or­der to make it re­al­ly use­ful, how­ev­er, I need a C pro­gram­mer that can turn this python pro­gram:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
from socket import *
serverHost = 'localhost'
serverPort = 1999

s = socket(AF_INET, SOCK_STREAM)
s.connect((serverHost, serverPort))
print "Sending: ",' '.join(sys.argv[1:])
s.send(' '.join(sys.argv[1:])+"\n")
data = s.recv(1024)
sys.stderr.write(data)
sys.stderr.flush()
sys.exit(int(data.split(' ')[0]))

In­to a nice func­tion that nev­er fails and nev­er leaks mem­o­ry (of course, it should re­turn in­stead of ex­it, this is just ex­am­ple code ;-).

If that's done, I can re­lease rater as a use­ful tool, which should find a home in many qmail in­stal­la­tions (and maybe oth­er us­es).

Rater progresses (slowly)

I am hack­ing a bit on rater my dae­mon/­client to see if things are hap­pen­ing more of­ten than they should (in oth­er word­s, gener­ic rate lim­it­ing).

I had to take a few days of­f, since my broth­er got mar­ried and we all went back to San­ta Fe for that and a week­end, and then ev­ery­one else has sore throats and I am the on­ly one healthy.

But hey, it works well enough al­ready:

  • The sim­­plis­tic pro­­to­­col is done

  • The serv­er works

    • It can take hours of gib­ber­ish with­­­out prob­lem­s.

    • It can take hours of valid in­­­put with­­­out prob­lem­s.

    • It does what it's sup­­­posed to do.

  • It's stay­ing be­low 300S­LOC, which was my goal.

Miss­ing stuff:

  • Val­­grind it.

  • Client li­brary.

  • Gen­er­ic CLI clien­t.

  • A qmail-spp plug­in that us­es it.

And then, I can for­get all about it.