Fun evening – got a call from pnasrat. He’s in raleigh for the red hat world meeting or some such. Apparently the food sucked and I was being called in to the rescue. πŸ™‚

So off I go to raleigh. Good directions from mapquest, found the place but then realized I only vaguely know what Paul looks like. Hmm. Then I see a bunch of people with red hat badges and ask where to look for other people with red hat badges. I stroll back behind the comedy club/bar and look around until I see someone who vaguely looks like Paul. He’s standing with Dave Jones and David Woodhouse.

So we split out for a vietnamese place I know of. Not too bad, nice to sit around and talk with folks I’ve encountered on irc and in general over the net. Nice group of folks. Nice to meet Paul finally who I’ve talked with extensively on irc but had not met. Despite his orkut photo he looks fairly normal. πŸ˜‰

I’m quite looking forward to OLS to hopefully sit around with other people and talk about things.

Paul and I agreed to drag Adrian and Jeremy into an irc channel somewhere and talk about system-config-packages and yum and other package-mgmt related things. Should be interesting.

I had a nice weekend with the girl. Spent most of saturday just kinda bumming around. This was pleasant. Then sunday I got more things working in a pseudo-normal way in the yum HEAD branch. Still more to do, of course, all of the check functions for urlgrabber for downloading packages, etc. Meant to work on those tonight but alas it did not come to pass.

Supposedly there is a ‘fix fedora’ meeting tomorrow at the red hat thing. I hope to see lots of interesting comments on fedorapeople tomorrow from those in attendance.

I think I need to move west. It’s 3:50am and I’m up, brushing my teeth, writing this blog after having worked on yum for the last, oh, let’s be generous and say 3 hours.

Got some hurdles out of the way, now most of the harder stuff left is assembling what I’ve written thus far, cursing the stupid things I’ve done, refactoring, then putting out tests for people to destroy and make me cry. πŸ™‚

I’m not getting enough sleep this week, I know this b/c I’ve caught myself falling asleep at random times. Never a good thing, but I’ve gotten a lot of code done and this makes me happy.

I get to rearrange a bunch of machines in my office tomorrow, this should be oodles of fun. Ultimately, it should mean a quieter and much nicer looking office (I hope).

Watched Angel with the girl tonight. Good show, I thoroughly enjoyed watching illyria beat up spike very nonchalantly.

The girl has been cooking a lot recently. This is always a nice treat, she cooks interesting things and they’re tasty. I’m more of a ‘here are the list of local restaurants, which one you want?’ sort of guy when it comes to cooking. So it’s kinda neat watching how much interest she has in cooking involved dishes. Sometimes the dishes aren’t that involved, they’re just tasty.

Tonight she made a tofu salad in pita bread, with a cucumber salad (korean-style), tomato slices and strawberries on the side.

All puns intended: YUM.

Still trying to figure out if the matzoball soup was better, though. I think it just seemed better b/c it was a crappy day and the soup was warm and wonderful.

Noticed clarkbw‘s idea of posting the 5th sentence from the 23rd page from whatever book is on your desk/nightstand:

“He’d always known he was different. More bruised for one thing.”

Guards, Guards – Terry Pratchett

This section is introducing Carrot. I personally model myself on Carrot except for the forthrightness, the honesty, and the wholesomeness. But other than that I’m just like Carrot. Oh, except that he’s described as being in good shape and I’m not. But otherwise, that’s me. No, really. I swear. πŸ™‚

libxml2’s xmlReader interface is just a little bit faster than the more common method – it’s a lot lighter on memory, of course, b/c you don’t have to have the whole doc in memory. However, I can’t figure out a sensible way to provide a progress callback interface when you’re dealing with something that reads the data as a stream.

How do I tell someone how far they are from the end w/o knowing how long the whole thing is? Afaict, I don’t, which means I can’t provide any sensible callbacks.

I’m mildly torn on how to proceed. the memory footprint of the xmlReader interface is compellingly smaller than the other interface but sometimes these files can get big and can take some time to import, so a progress callback is a useful feature to tell users what to expect.

Open to suggestions… πŸ™‚

mailman scripts:

I noticed DV‘s mladmin.py script for interfacing to mailman lists to purge held messages. My question is this – wouldn’t it have been easier to write an xmlrpc interface to the mailing list admin controls than to parse the html it spits out?

Once you have it sending and taking xmlrpc you could control it however you’d like in a consistent way rather than screen scraping. Just an idea for some enterprising hacker out there.

I was going through some old websites today, killing time, cleaning up some bookmarks. I stumbled on copyleft.net – does anyone know what happened to them? After 9/11 they kinda vanished. I got a couple of shirts from them but things on the site never changed and no real information ever came out of there. It’s odd, the website still functions, and there are even (very angry) posts from people on their message boards, but no answers. I loved their decss shirts and some of their very clean, very simple stickers. It looks like their domain expires at the end of may this year, if it’s really a dead site then maybe when the domain expires it will finally be allowed to disappear. I’d love to see the original images used to make the shirts be put up online for others to download. I’d love to make some of those they had. The , geek, FSCK, Total World Domination, these were all fun shirts. They made the best tux sticker, just a simple, clear-background sticker with tux in the middle, perfect for a car or a laptop. A real shame they appear to no longer exist.

If anyone knows what happened to them, drop me a line.

Victory is MINE! – now back to my rescheduled life temporarily placed on hold while prince of persia was being played.

πŸ˜€

Short entry:

– a bunch of misc bugfixes today

– daily release of yum 2.0.X – looks pretty good for 2.0.7, I think.

– metadata work got helped a bit today – found out if I kill the
pretty-printing of the xml in the metadata I can get an import speed-up of
about 20%. Now the numbers are down where I’m comfy with them on reasonably
meager hw. On fast hw the times are downright negligible. Looking at 8s on a
p3-933 and 13s on a p3(ish)-550(speedstepped-slow-ass-laptop) and 2-3s on a
dual opteron 242.

– played with syslog-ng packages today – some very nice packages provided by
JosΓ© Pedro Oliveira here: http://gsd.di.uminho.pt/jpo/software/RPMS/.
– I had to change them a bit to get rid of the non-real sysklogd conflict
but otherwise very nicely done. syslog-ng+stunnel for remote-host log
sending is very pleasant and not difficult to setup. I hope syslog-ng gets
in as default logger for FC3. It’d be nice to dump syslogd finally.

– Finished ringworld engineers today, too, kinda liked the ending, left a
few things hanging, which is fine.

– the girl did her masters talk today, very good for her. Looking forward to
tomorrow after the “master’s lunch”. I think I’ll have to call her mistress
from now on, though πŸ™‚

Where in the world is Seth!?!

Seth is lost in prince of persia 3 on his gamecube. It’s an amazing game. I personally blame Icon and he’ll suffer for it, somehow. I’m hoping to have it knocked out in a couple of days so I can get on with my life.

Sad, isn’t it?

For reasons entirely unrelated I’m having a hard time feeling guilty about playing prince of persia. Maybe it’s b/c last week was so stressful or maybe it’s b/c my brain is busy working out all those puzzles so I feel energized. Dunno.

Picked up the latest Vienna Teng CD. It’s pretty nice – the song Shasta has a great melody it seems to not match the lyrics until you think about it πŸ™‚

The 3rd to last song on the album (one hidden track) is called ‘Passage’ and it could possibly be the saddest song I’ve ever heard.

The girl has been working diligently, very proud of her, she fixed amazing dinners two nights in a row, very pleased with those – some more-or-less korean dishes and then matzoball soup the next night mmmm.

I had a shockingly pleasant and then productive weekend and overall things could have sucked a lot more.

I won! Cups works fine if you have the client setup to talk directly to the print server. The trouble is that cups-lpd(which I was using for some dumb reason) doesn’t work in that configuration, so I was inferring that meant the ‘server’ part on the workstations wasn’t working. Once I switched off cups-lpd and just used the ipp:// urls it worked out just fine.

Now, to configure the default ppd settings, move the server to it’s final resting place and bring the clients online to it.

There is still the general wonkiness of having a local queue and a remote queue and having those queues not have any correlating data to make removal of a job easier. If I queue a job and I know it’s going to print over there, and I want to remove it, I don’t care if I remove it here, I care that I can remove it over there.

anyway it’s more or less ok and now we can play more games with ppds and fighting with printers that almost implement the postscript specification.

So we’re working on migrating our printing infrastructure from lprng-based to cups.

So I’m thinking I’m not treading new ground here. I’ve got about 10 or 12 printers in a network. Nothing fancy. Everyone prints to the local print server which redirects their job and/or filters it as need be. One catch, some of the printers are parallel or usb printers dangling off of some of the clients. So right now a user would print to the central print server, it would redirect it to an lpd on a client somewhere which has the printer directly connected and it would print. I’ve read up on this and this is a really tame printer configuration.

So I figure something similar will be easy under cups.

I look at the ServerName option in clients.conf – it looks like it does what I want, I set that and all the printer commands talk to the server for everything, no additional local queues and we’re cooking. Yay. However, I can’t have a locally defined printer on the machine then – it won’t accept the connections, so that’s out.

Then I look at browsepoll and acquiring the printers via the ipp browsing concept. This looks good, if I point the browsing at my print server and say ‘go get the printers on that machine’ it populates the lists and it’s looking tasty and good. But then everything is locally queued on the client and when I print I can’t remove the job from the central print server queue. I think: “surely this can’t be right, it must be a configuration silliness on my part.” Then I find this pain. Why on earth would I want to have to more-or-less guess to find the remote queue job id to just cancel a job from the queue is beyond me.

ok, so now I’m dropping back and punting and trying to find out if I can run cupsd on an alternate port to talk to a local printer to go back to step one and try again.

I will not be defeated yet.

If someone knows what I’m doing and knows how to make it work like I’d expect it to (which I admit is largely biased by my lprng background), I’d appreciate a note.