< mari
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
chi >
[ Page 37 of 76 ]
From: peter (Peter da Silva) Date: 16:22 on 25 Jan 2006 Subject: Would you like to save... "You just opened a new document, you haven't made any changes, you closed the window, DO YOU WANT TO SAVE YOUR CHANGES?" What the hell? Why would any application anywhere behave this way? I don't know, and for Office i can imagine some stupid macro doing something that looks like a change, but I've gotten this from Lotus Notes, SAP, Apple Mail, on and on and on... whiskey tango foxtrot?
From: Simon Wistow
Date: 12:58 on 25 Jan 2006
Subject: python and its dlopen implementation
It's a lovely sunny Wednesday. I recline, trendily, in my Herman Miller
Aeron chair and take a sip from my Latte revelling in my meeja world
comfort.
I get a phone call.
The python wrapper round a C library I recently released a new version
of is not working claiming that it can't find some symbols.
"Oh!", I chuckle, "They probably just didn't set the LD_LIBRARY_PATH
right".
I investigate. Everything seems in order yet still these undefined
symbol error messages are appearing.
"How rum!" I think, switching inexplicably from meeja-luvvy to circa
1915 toff-about-town.
Even rummer is the fact that it's not *my* C library that's failing.
It's not even the C library that my lib links to. It's the plugins for
the second C library. In short, the situation looks like
foo.py OK
- libfoo.so OK
- libbar.so OK
- libbar_plugin1.so FAIL
- libbar_plugin2.so FAIL
- libbar_plugin3.so FAIL
And the plugins are failing because they can't find symbols in
libbar.so. Which are there because nm says they are and it's in the
LD_LIBRARY_PATH because libfoo.so is loading it.
I try gdb, I try Totalview. Nothing seems to explain the fact that this
just shouldn't be happening. It's almost like the LD_LIBRARY_PATH is
being clobbered between libbar.so and the plugins.
A cup of tea. And then a G&T for good measure.
Scratch my head.
No! It couldn't be.
Oh, yes it could.
Python, by default, dlopens its extensions which is sensible. And
depending on a compile time flag it uses RTLD_NOW or RTLD_LAZY.
Which is fine.
Except that means that symbols aren't propagated down through any
further dlopens like, for example, the ones that libbar.so is doing to
fetch its plugins. Both of those should be ORed against RTLD_GLOBAL
I'm sure there are reasons why not doing this is the default and, to be
fair, you can get that back by doing
import dl
import sys
flags = sys.getdlopenflags()
sys.setdlopenflags(flags | dl.RTLD_GLOBAL)
but this is "*HATES* software", not "Accept ugly workarounds as being
acceptable software"
KEEEL THEM. KEEEL THEM ALLL.
Oh look, now I'm some sort of cliched Mexican Bandit Lord.
Bastards have turned me mad.
From: Guy Thornley
Date: 03:27 on 24 Jan 2006
Subject: mutt.
You'd think that by 2006 that it would be OK to have the Fcc: of messages
set to either
(a) the folder of the message you reply to, or
(b) the current mail folder, if a new message
but nooo, not in mutt. Impossible. Using shell-fu to emit 'set record' hooks
for all the mailboxes is gay, since it doesnt work for IMAP.
The Genius of it, actually the simple Brilliance and Sheer Glory, is that
is implementing the \0, \1 ... regex match substitutions that *every*
reasonable scripting language has would fix it.
Blah. HATE.
-Q
From: David Cantrell Date: 21:05 on 13 Jan 2006 Subject: GNU Mailman GNU Mailman inserts a List-ID header into emails passing through it so that they can be easily filtered. It also inserts a List-ID header into email sent to $listname-admin before forwarding it. This is hateful, as it is reasonable to expect that people wouldn't want those emails to be filtered in the same way. Also hateful is sourceforget's habit of having $listname-admin go through mailman at all instead of just being forwarded straight to the right person.
From: Luke Kanies Date: 16:42 on 04 Jan 2006 Subject: Automatic Bug Reporting So, just for kicks, I try out Evolution again, because I'm apparently a masochist. As usual, it crashes in less than five minutes. Okay, sure, I'll file one of those autobugs. Okay, weird, it has to update something; whatever. Ooh, now I get to file the bug, I just need to select the app. Okay, I select Evolution, and what does it say? "No bug information for that application, please choose another." Um, right. Yeah.
From: Aaron J. Grier
Date: 06:44 on 04 Jan 2006
Subject: amavis scripts
from /etc/init.d/amavis on a debian box:
cleanup() {
[ -d /var/lib/amavis ] &&
find /var/lib/amavis -maxdepth 1 -name 'amavis-*' -type d \
-exec rm -rf "{}" \; || true
[ -d /var/lib/amavis/tmp ] &&
find /var/lib/amavis/tmp -maxdepth 1 -name 'amavis-*' -type d \
-exec rm -rf "{}" \; || true
# clear exit status
:
}
[...]
stop)
echo -n "Stopping $DESC: "
[...]
cleanup
guess where amavis dumps messages when it encounters problems?
amavisd-new[10950]: (10950-01) TROUBLE in check_mail: virus_scan FAILED: ALL VIRUS SCANNERS FAILED:
amavisd-new[10950]: (10950-01) PRESERVING EVIDENCE in /var/lib/amavis/tmp/amavis-20051120T064404-10950
maybe someone can explain the method to this madness...
From: Aaron J. Grier
Date: 23:42 on 20 Dec 2005
Subject: ups-nut
$ man 8 upslog
[...]
LOG ROTATION
upslog writes its pid to upslog.pid, and will reopen the log file if
you send it a SIGHUP. This allows it to keep running when the log is
rotated by an external program.
[...]
# cat /var/db/nut/upslog.pid
9915
# ps p 9915
PID TT STAT TIME COMMAND
9915 ?? Ss 0:00.01 /usr/pkg/bin/upslog -s mge1100@localhost -l /var/log/ups
# kill -HUP 9915
# cat /var/db/nut/upslog.pid
9915
# ps p 9915
PID TT STAT TIME COMMAND
#
behaviour != documentation.
grr...
From: Earle Martin Date: 17:04 on 20 Dec 2005 Subject: Adobe Reader again This software just gets better and better. I have a PDF open in a tab in Firefox. In ANOTHER UNRELATED NON-PDF-VIEWING TAB, I do Ctrl-W to close it, and I get a modal dialog: +-------------------------------------------------------------------+ | Adobe Reader | +-------------------------------------------------------------------+ | | | This action cannot be performed from within an external window. | | | | [ OK ] | | | +-------------------------------------------------------------------+ Three words, my friends: This. Is. Retarded.
From: Earle Martin
Date: 21:48 on 15 Dec 2005
Subject: Adobe Reader (and Winamp) / No, I don't want to upgrade.
On #perl on irc.perl.org today:
< clintp> Winamp-- Checks for new versions, even if I don't want it to.
Claims "security issues". Bullshit. If I have an old version,
and I want to keep it, that's my problem. STOP ASKING ME.
This reminded me of Adobe Reader. Every time it launches because I've
encountered a PDF [cf. hates passim] somewhere on the web, it brings up a
modal dialog telling me I should download about 5MB of "upgrade" because
there's a new "feature" that, er, lets people add background sounds to PDF
files. Er, what the hell? That's one of the most retarded ideas I've ever
heard. If they're "portable" documents, then that means they should work
cross-platform... including on machines that don't have sound cards. Like
the one I'm typing on right now.
The worst thing is that it doesn't give you a "no, I don't want your stupid
update" button. Just "install now" and "install later".
< clintp> Same genre of bullshit. Any programmer that bows to the wishes
of managment and only gives "YES" / "ASK ME LATER" options needs
to be killed. And then anally probed with a jeep.
Concur.
< mari
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
chi >
[ Page 37 of 76 ]
Generated at 10:28 on 16 Apr 2008 by mariachi