Older blog entries for cdent (starting at number 19)

Made a new McFeely release, this one incorporating some pakaging, logging and documentation changes. After releasing it, discovered some problems with how the logging is done. Going to need to make some adjustments. Might be time to restructure it's whole attitude to startup and logging. The old way is very qmail-esque, which poses problems for integrating it into the rest of the world.

Got a bug up my butt about worker representation and decided to try an experiment. At the place where I work I was a manager and now I'm not (demoted myself). From that experience it's been easy to conclude that the stuff the managers talk about as important is not the same as the stuff that the rest of the staff talks about as important. I wrote a CGI program that tries to facillitate the creation of consensual agendas. The CGI takes input about agenda items and a description and assigns the entry a score. Other people may score that item down or up one point. After a certain period of time the top five items over a score of zero are sent to an email address with a pleasant "could you pay attention to this stuff" kind of message. The five items are rescored to zero and everything at zero or below looses a point of score. Anything -5 or down is deleted. An individual may only vote on each item once per period.

The goal is to get people talking and thinking about what issues they think are important and then making them visible to others. I don't know if it will work, but it could be interesting.

I've put up a tester at http://web.kiva.net/~cdent/cgi-bin/agendamaker.sys.cgi for curious folks. There's another version for the people I work with elsewhere so feel free to put whatever you want in as items. Right now there is nothing in it. The top five will get mailed to me on a daily basis.

It's not dissimilar to slashdot moderation, I guess.

I think tools like this are important because they put some measure of group control on how much information there is. Usually we suffer from having far too much. So much that much of it loses relevance.

[ Feed Me? ]

Somewhere in the last couple of days I lost my certification. I can't decide what my reaction to this should be. I can't figure out why, so I must not understand the algorithm so perhaps I'm not worthy? I suspect I am too much of a leaf. In any case I want to reply to the Freenet thread but can't at the moment, so this will give me some time to think about my response. It basically centers around freedom not being a deliverable.

Pushed out another release of Arts (aka Blackarts) today. Adds a flag to shut it up when being run by an MTA, cleans up the RPM spec file and I decided to add a little vanity tag to the bottom of one of the generated pages that links back to distribution web page. It's easy to turn off.

McFeely is stalled out for the moment. Jeremy (not here yet) is putting in some packaging, documentation and startup script changes that will make up the next release. When it stabilizes it will be a fairly significant change from where we were about two months ago: actually usable by people not intimately related with the project.

I've been at utter dick to people at work lately. I think I'm letting myself get riled up by being rubbed the wrong way for too long.

Huh, flushed out a lot of bugs in McFeely and made another release. But the only alien subscriber to the McFeely mailing list took himself off today. Must not have been entertaining enough.

McFeely needs some other blood. There's still stuff left to do.

Adrian and I are making noise about figuring out how to do a mcfeely2 that will use CORBA. If we can do that, it should be very handy. The big open question at this point that I haven't been able to figure out yet (I admit I haven't looked that hard yet) is how to do ORB name service between machines. Say we have a bunch of mcfeely-client listeners scattered around on a bunch of machines, how do we figure out how to talk to them? All the samples I can find are local to one machine and use files to pass around the IOR. It works well, but doesn't quite go the whole way.

[ Anyone? ]

Finally, I got a version of McFeely going that was good enough to make another announcement on Freshmeat. Check it out, it's very useful if you are in any kind of situation where you need to administer multiple Linux machines in an automated and secure fashion. It will probably also work on most other Unix-like setups. You can read about some example uses.

Elsewhere? Uh. I've been juggling.

[ What happened to my lincoln logs? ]

Oh heinous tftp, get out of my way.

Three days of intense stuff:

All the changes I made to McFeely (described in earlier diary entries) went into production at Kiva and seem to be tooling along.

Spent several hours creating a ks.cfg for a kickstart disk for a Dell Poweredge 2400 with two 9GB hard drives that I wanted in a bootable RAID 1 array. Take one drive out, things still work, that sort of thing. I got it to work, but not because the kickstart documentation is any good. It was a few hours of tweaking, adjusting, guessing. The part command in kickstart just doesn't really work as advertised. It tries very hard to be smart and as a result it ends up being kind of dumb. After finally getting it to work and testing it some at 4:30am I passed on going home and fell asleep in a friend's apartment across the street from work.

Three hours later I was up to meet a professor friend for breakfast. Several years ago he and I put up one of the first web servers at Indiana University. Along the way we got a grant and purchased a Sparc 20. That sparc 20 wasn't doing anything so they are giving it to me. This is good, I cut my teeth on that box. I get the box and spend the afternoon (on three hours of sleep, mind you) discovering that the processor module is buggerred and the box won't go. This is sad. Stan may have one I can test to see if it is the mainboard or the processor.

Hardware sucks so today I messed around to fix a bug in some perl code that uses McFeely to create virtual domains on Kiva's servers. That was interesting enough that I decided it was time to create a McFeely examples page and describe VirtdomInjector.pm on it.

That diddling with the McFeely web page is in preparation for a new release which should happen early next week. I'm convinced that McFeely is badass, I intend, somehow, to convince some other people.

I certified Josh as Apprentice today. He's got at least Journeyer and probably Master chops but as far as I know (from him) he's not got a lot that he's released to the rest of the world. He's done a fair amount of stuff that he could release. I recall a module for apache that used a shared memory segment to keep track of the number of hits per UserDir on an extremely busy student shared web server and implemented a per user quota. Adrian went ahead and certified him as Journeyer, which is interesting because Adrian and I disagreed the other direction about Adrian. I'll have to talk with him about that.

I go now back to that Dell box to make a name server.

Johnny can't read because he's been reading the wrong stuff!

Came in to work today to do the Sunday things, blew a lot of time reading the latest diary entires. Found k's rant in today'sdiary interesting. Before reading it while riding up the elevator I was thinking something similar: we can go many places and have many ideas but until we compare and share those ideas in some kind of dialogue with someone (a person) or something (a book, a movie, etc.) else the ideas have not really seen the light of day and without that feedback and exposure they are not truly expressed. I don't know if it is just me but I'm begin to feel like I don't understand my own thoughts until I talk about them with someone, or write them down. It's sort of like the phenomenon where when you have a question, in the process of asking someone in person or composing an email message the answer comes to you. I've become so used to that that I tend to start many email messages that I never send, just to stimulate the answer.

I'm explicitly not working on McFeely today because I have so many thoughts floating around about it on the mailing list that need to come together before I can move on. Friday I stuck around work until 2am diddling with it some more. I get closer and closer to making it work and always find something that makes it not. I need to figure out a way to systematically repeat the few remaining problems. They only show up when moving a great deal of data.

Was arm candy at a wedding last night. That was fun

Who is that reading this?

More productive work on McFeely today. Each little thing makes it that much more robust and each little thing shows another bug or lack of defensive programming. Sometimes I wonder that the stuff ever worked in the first place.

Today's batch of hackery was more fun than the previous days' because:

  • Matt and Adrian had some time to give me some feedback on the questions I had been posting to the mailing list and mix up my thinking a bit so I stayed away from being entrenched and on only one track. There was enough back and forth to build some new thoughts. Marx would be proud.
  • I decided to be ballsy and allow myself to adjust some fairly fundamental pieces of the architecture. Resulted in much more efficient and reliable communication on the pipe between mcfeely-manage and mcfeely-spawn
I enjoy this sort of work. It runs a plough through my brain and keeps things aired out well. I get intensely focussed and enervated.

Things are far from perfect yet, there are lots of problems that only show up under extreme conditions (running out of file descriptors, unexpected things like that). The original version of McFeely was not programmed defensively. It is very optimistic.

If I can get things clean enough tomorrow I will start in on reorganizing the documentation and then perhaps we will have something good enough to call the new release. It would be very cool to get some other folks using it.

Is there anyone reading?

I'm in a giant onion. Peeling back layers only to find more layers. I've been working on McFeely all day, thinking with each little tweak that I have figured it out, squashed the last bug. No, every bug I find reveals another. Have I made progress? Is it better now than it was before? Sure. Am I satisfied? No. I wish I didn't need to sleep.

Response?

After an afternoon, another afternoon and a full evening I've finally managed to get the McFeely code switched over so that it doesn't require Matt's Spawner.pm and Select.pm. In the process I switched it around to using IO::{Handle,File,Dir,Select} throughout. To me, at least, the code now makes more sense.

It's also going to be easier to distribute, but first I need to get Matt or Adrian to say something along the lines of, "yeah, that seems right."

Being a good boy I also started a HOWTO doc that explains the very basics of making the system work. Probably ought to expand that and make it docbook. A WHY document is needed as well because it's very hard to explain to folks why McFeely is extra cool. (Not just cool, extra cool.)

Curious to see the postings recently about a possible linkage between depression and being the sort of geek that is attracted to something like Advogato. Somebody said something about how maybe being smart leads to depression because smartness allows you to notice bad things in the world. I think smartness has something to do with it, but I think it has more to do with being too easily capable of seeing more than one side to any issue, making decision difficult.

Perhaps programming requires or encourages a certain kind of obsession that works as self-medication for depressed folks. There are very concrete measurements of success and failure with the success being very gratifying, and quite regular or at least in near view. I'm probably in this group. I've never been diagnosed as depressed, nor medicated as such, but I definitely go obsessive and crotchity.

And then there's the zone. That kind of heightened awareness can make the rest of life seem awfully dull, but being in it is also exhausting.

Response?

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