Older blog entries for crackmonkey (starting at number 19)

Some folks on badvogato pointed out that one can use stylesheet info inside the allowed tags to do colors and such.

Just wondering if that's possible here, as well. I especially like the "cite" style of blockquote. Heh, hope I haven't started a horrible meme here. It's all but taking over badvogato posts.

Well, I must say that I learned a good lesson while setting up Badvogato: when playing with modules, don't do /etc/init.d/apache reload! It turns out (supposedly) that this was what lead to my memory leak problems. I was frustrated with the lag involved in doing a restart, and would edit, make, and reload in a rather swift cycle.

So, it would appear that the proper thing to do would be to make sure that apache totally surrenders core and then begins afresh, as it's tough to swap out all kerbillion apache processes when they gobble up all your RAM. I'm considering looking into a PAM rss limitation or something to keep any one user from getting more than 90% of core.

Blah, so in a few hours someone will probably reboot the badvogato box, and it'll be up and running smoothly.

Oh yes, and I only just got the "virgule" joke. In French, "virgule" is the word for "/". mod_virgule:advogato::slashcode:slashdot

23 Jan 2001 (updated 23 Jan 2001 at 03:20 UTC) »

I have moved on from advogato, and am now working on Badvogato, instead. I wish you all well.

Update: Well, it looks like a runaway apache process has eaten up badvogato's system resources, so it'll be several hours before I can get it back up again. Fuq.

Well, it has been quite a while since I made an entry in here. Last night was CrackMonkey Night at Zeitgeist (a great old biker bar in the Mission neighborhood that is now a haven for bicycle couriers). rachel showed up, and we managed to summon both Kurt Kobain and The Tamale Lady, though we failed to summon any tamales themselves.

Rachel hit on the bright idea that we should use some of the artist gallery spaces to hold CABAL-style meetings and installfests. San Francisco may have a proper user community space after all!

I'm actually typing this in using mozilla M17, which is frustrating, as I'm used to lynx, which allows me to launch $EDITOR in any multi-line text input widget. This little box is not particularly friendly.

It was good to finally meet Raph at the Printing Summit a couple weeks ago. I learned more about what you can do with multiple alpha channels than I would have thought necessary. Color management is hard!

Seth just found a bug in nwall the other night. It turns out that the ttymsg code I used was written under the assumption that the process using it would exit quickly, letting the fork()ed I/O processes get cleaned up by init.

That means there was no wait() anywhere! Since the ttymsg() function used by wall, write, and talkd forks off a child whenever writing to a tty would block, it was creating a zombie process every time we typed in a line! These zombies built up to the point where nobody could fork off any new processes. Exiting nwall orphaned them, letting init do a collossal clean-up job.

Seth suggested that I use wait3 or wait4, but I wanted to be all warm and fuzzy and POSIX-compliant, so I suggested waitpid(). Seth came up with the call before I could, so the ttymsg code in nwall now contains while(waitpid(0, NULL, WNOHANG)) ; in the parent section.

Of course, the thing I don't understand is why this was never caught, since the write program could potentially suffer the same problem.

I would like to take this opportunity to say Beaujolais! to ianmacd for finally posting a diary entry that doesn't read like a lame work log!

Yes, it's true. I'm a bit of a FORTH fan, though I really only dabble. I imagine a Unix-like kernel to provide a PolyFORTH type environment, but with virtual memory, demand-paging, and other nice things that PolyFORTH couldn't provide. Memory management would be quite simple, since one can optimize for the stack as the common case.

I recently got started on my $7 Tours project, and hope to get some work done on my initial tutorials soon. I also hope that more people use the mailing list to submit some Tours of their own.

Hack-musings

Okay, just a few itemized observations:

  • Javur is a language for big, dumb, dogshit-eating hillbillies. I refuse to use it for any of my projects. I like what the FreeNet folks are doing, but I cannot abide Javur.
  • The Melissa/ILOVEYOU/etc. e-mail trojans should have downloaded and installed ZIPSlack rather than delete data. I'd love to see every MS outlook-using box on the planet have a big ol' Linux icon on the desktop.
  • All mutt users should add the following to their respective .muttrcs:
    set attribution="begin  %n quotation:"
    Didja notice the two spaces after "begin"? That's cuz outlook express treats any line that starts with "begin  " as the start of an attachment! After years of receiving illegible attachments from Outlook users, I feel turnabout is fair play.
  • All mutt users should also add the following:
    my_hdr X-WebTV-Stationery: Standard\; BGColor=black\; TextColor=black
    I'll leave the function of this one as an interesting exercise for the reader.
  • All e-mail users should have "+++ATH0" as the final line of their respective signatures.
  • X sucks. Let's hear it for Berlin! Man I wish we had NeWS source code...
  • It's cloudy today. I like clouds.
Lag

One of the more irritating things I find about advogato is all of the entries that say "Boy howdy! I sure haven't posted in a big-ol' longtime!", so I'll spare you the anguish of having to read another. I assume you're all competent enough to calculate time periods based on the date headers.

Nwall

Yeah, so it's a lame little program, but I finally added opt-out to nwall. It's become more popular now that users know that people can opt out. I actually keep my mutt and irc windows in nwall -n mode to keep from having to hit ^L every time someone enters a line of nwallishness.

I plan to use some popen, fork, and dup-fu in order to cause longer messages to be formatted to 72 columns. I was going to hack in fmt code, but I figured it was just easier to fork and run it as a filter. I figure I'll also require users to hit return twice in order to send a message. I imagine that will encourage longer uninterrupted trains of thought, and won't give you the massive asynchronous confusion headache that IRC causes.

Kernel Class

Well, I did a dd if=/dev/urandom of=/dev/hda bs=40960 on the box I was going to use as part of my project. I had to leave it behind. I got an extension, but now I have to get cracking and find more boxes. I may just end up using the Linux Cabal for that.

Rachel

Rather belatedly, I will say a big hello and Beaujolais! to rachel. I probably won't be hanging out around there much any more, so your chances of running me over on your velocipede are rather less than they were before. Congratulations on the legality of various aspects of your life.

Meta

Would anyone else here like to be subscribed to diary-digest@advogato.org? I'd like to see a mailing list I could subscribe to in order to receive a day's digest of diary entries. Some of the HTML formatting would be lost, but I'd be happy with lynx -dump as the format (or, shudder multipart-alternative).

I don't always make it to the site, and e-mail is just about the only thing I do regularly any more.

nwall

I dragged out an old utility I wrote last year and fixed up some of the bugs. nwall is a version of wall that uses GNU readline and sends text one line at a time. It's sort of like IRC for the local system. It's quite handy, and it logs everying to /var/log/nwall.log so you can catch up.

Elisix

Elise has been bugging me to update my advogato diary, and I told her to write an entry and I'd put it in here. She hasn't done so, so I think I can avoid her nagging me to do my kernel class homework for a while.

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!