Older blog entries for lkcl (starting at number 63)

hey, elrond's here! hi elrond!

oh, and hi again, mum. rest easy, enjoy life.

nearly wrote an extremely damaging diary entry today.

got it! after talking with raph, who suggested using net_flow_max_flow() on a per-user basis, i coded this up, checking the node_in_degrees (accumulated number of certifications in to a user at and above a certain level) is greater than the number of certs required. entry from ChangeLog:

Sun May 14 02:37:15 PDT 2000 Luke Kenneth Casson Leighton
<lkcl@samba.org>

* got it! requires: - a call to net_flow_max_flow on a per-user basis, with the user as the seed.

- return of node_in_degrees * node_flow because node_in_degrees tells you how many paths there are into the seed [the user]

consequence: if each user has flow in from other users at a level equal to or above their own (node_flow[level] == 1), and the number of paths (node_in_degrees[level] >= min_certs_reqd[level) to them is greater or equal to the number required to be certified at that level

*AND*

overall, they are certified in the "general" trust metric at that level

*THEN*

the certification is accepted.

patch to do number of certifications required be greater than x. node_paths is incremented not only when node_flow is incremented but also when it is found that there is a path [any path] to the supersink. could be implemented as returning node_flow[i] + node_sink[i]. not entirely confident about whether this Does The Right Thing!

--- net_flow.old.c      Fri May 12 06:21:51 2000
+++ net_flow.c  Fri May 12 06:10:32 2000
@@ -13,6 +13,7 @@
   int *edge_flow;

int *node_sink; /* 1 if there is flow from this node to the supersink */ + int *node_paths; /* number of paths to the node */ int *node_flow; /* total flow through the node */ int *node_in_degree; int *node_in_degree_max; @@ -100,6 +101,7 @@

g_free (priv->node_sink); + g_free (priv->node_paths); g_free (priv->node_flow); g_free (priv->node_in_degree); g_free (priv->node_in_degree_max); @@ -488,6 +490,7 @@ priv->edge_flow = g_new (int, n_edges);

priv->node_sink = g_new (int, self->n_nodes); + priv->node_paths = g_new (int, self->n_nodes); priv->node_flow = g_new (int, self->n_nodes); priv->node_in_degree = g_new (int, self->n_nodes); priv->node_in_degree_max = g_new (int, self->n_nodes); @@ -499,6 +502,7 @@ for (i = 0; i < self->n_nodes; i++) { priv->node_sink[i] = 0; + priv->node_paths[i] = 0; priv->node_flow[i] = 0; priv->node_in_degree[i] = 0; priv->node_in_degree_max[i] = 16; @@ -579,6 +583,7 @@ { next = pred_list[ix]; priv->node_flow[ix]++; + priv->node_paths[node]++; if (ix != next) { /* find edge from next to ix and increment flow */ @@ -663,6 +668,7 @@ #endif

priv->node_sink[node] = 1; + priv->node_paths[node]++; q_ptr = q_beg; while (q_ptr != 0) { @@ -1011,8 +1017,8 @@ { int *result;

- result = self->priv->node_sink; - self->priv->node_sink = NULL; + result = self->priv->node_paths; + self->priv->node_paths = NULL; return result; }

demo works well, have to put in descriptions of different cert types. really want to tie mod_virgule in with other script systems e.g php. possibly possible with apache 2.0, with chaining of modules....

this kinda excitin bein in midl of discushns, glad 2 c advgato takin off. [rsi bad 2day]

hm. found a bug-let in mod-mod_virgule where user-aliases in groups greatly confuse the heck out of the trust-metric calculations. it had the name of the previous user in the directory [!]

winbind is working! it's incredible: put a linux box in an NT Trusted Domain environment, and log in and *who cares* :)

the only thing missing, now, is someone prepared to set up some mini interpreter between NT home directories and smbfs mount-points.

finally found a site to test-drive mod_virgule.

no, i don't walk by people lying in the street.
if someone is slumped in a chair at a night club, i check that they are ok [i.e. breathing, if unconscious].
i stand by on the other side of the street, watching the stupid idiot shout at the traffic warden for five minutes because she gave his illegally parked car a ticket, getting ready when she takes her glasses off because she [of sixty years of age] thinks that, in her experience, his threatening manner may turn to violence. [at the time, i had hoped that he _would_ hit her, because it would give me an opportunity to jump on his head, repeatedly].
i say "hi" to people at King's Cross Station (London), and the speed with which their heads snap-centre and eyes-down amuses me, greatly [whilst in glasgi' (Scotland), people say "hi" to me 'n me bros' and we are all over 6ft with big grins on our faces].
i empathise with other people to the extent that i have to get the XXXX away from the world for sometimes days or weeks at a time.
i do not watch t.v., it catches my attention in a luring, insistent manner, and then disturbs me greatly [i heard that there is a physiological basis for this], especially adverts, at which i swear and shout and switch the bloody thing off, which irritates other people who may actually have been watching it.
i tolerate fools because they teach me a lot: usually that i am the fool.
i do not tolerate greedy or arrogant people, they tend to be self-centred and leave a lot of damage in their wake. as long as they do not cross my path, however, they can do what they like: it is not my concern.

54 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!