From: David King Date: 21:34 on 19 Nov 2007 Subject: How NOT to write a shared library On-topic from <http://ubuntuforums.org/showthread.php?t=612606>: I'm interested in audio, so I'm looking over the (frankly horrible) documentation for this new "Pulse Audio" thing, and I see this function in its shared lib: pa_xmalloc() Allocates the specified number of bytes, just like malloc() does. However, in case of OOM, terminate. First of all, why are so many programmers who write a Linux shared library offering a simple wrapper function around malloc? Is it too hard for an app to just call malloc? Is anyone so completely absent- minded that he can't remember malloc is used to allocate memory, so he needs an equivalent wrapper in every shared lib he uses? Second of all, in the case of "out of memory", it just terminates your app right then and there??? Oh great, The enduser spends an hour working on something, does some operation, and BANG! -- all his hard work goes down the drain because some shared library decides it wants to terminate the app. Absolutely ridiculous. And I see that other pulse audio functions call this pa_xmalloc too, so good luck getting around it. I can just see it now. Every programmer who uses pulse audio will need to add a feature to his app called "Auto-save before every Pulse Audio call because this may be your last chance to preserve your work". Yeah, that should really yield "low latency". Sorry, but anyone who puts a call to exit() in a shared library should simply be shot dead. That's really, really crummy, amateurish programming. In a shared lib, if something fails, the professional thing to do is return some error code/signal to the app, indicating that the function failed. Let the app decide what it wants to do. You don't terminate the app on your own. And anyone who makes such a shared library a part of his operating system should be shot dead, and then stabbed through the heart with a stake just to make sure he's really dead. God help us if this pulse audio thing is ever chosen to replace ALSA in the kernel. This will make Linux stability and reliability go to hell if you have operating system calls terminating apps at will.
From: David King Date: 04:24 on 01 Nov 2007 Subject: Fwd: Mailer Error Messages Begin forwarded message: > From: "Jason C. Wells" <jcw@xxxxxxxxxxxxxxx.xxx> > Date: 30 October, 2007 23:27:51 PDT > To: freebsd-chat@xxxxxxx.xxx > Subject: Mailer Error Messages > > This is just a short little complaint. Could we please make mail > exchange error messages just a little more understandable? For the > rare occurrences where I actually get a legit non-spam induced > bounce it would be nice to be able to quickly discern what happened. > > 1 - Don't use pronouns. "This domain is is blacklisted." Oh I see > it was "THIS" domain that was blacklisted. That clears things up. > Contact the postmaster? Oh I see "THE" postmaster. > > 2 - Say what you mean to say. ----- The following addresses had > permanent fatal errors ----- > <example@xxxxxxx.xxx> > Actually, the address probably didn't have any errors. It was > probably some sort of anti-spam in play. > > 3 - Use complete sentences. Please include a subject and verb PLUS > the reason why there is an error. "server.foo.com rejected > server.bar.com for reason." "There is no mailbox suchandsuch at > server.foo.com." > > (now I must wonder what sort of default sillyness my server spews > to everyone else when every variety of spam malfeasance reflects of > my MX) > > I used to think that running my own MX was neat. Now I am starting > to think that this is the realm of wizards. Can mere mortals use > the internet without ceaselessly battling with asshats? The fight > is all gone out of me. > > Later, > Jason > _______________________________________________ > freebsd-chat@xxxxxxx.xxx mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-chat > To unsubscribe, send any mail to "freebsd-chat- > unsubscribe@xxxxxxx.xxx"
From: David King
Date: 19:56 on 11 Jul 2007
Subject: troff
Manpage for Pound:
CONFIGURATION FILE
Each line in the file is considered a complete configuration
directive.
The directives are case-insensitive. Empty lines or lines
starting in
###7m<80><99>####7m<80><99> are ignored. There are three
types of directives: global directives
(they affect the settings for the entire program
instance), listener
directives (they define which requests Pound will listen
for), and ser-
vice directives (they affect only a specific group of requests).
That's a hell of a comment delimiter.
Not many of my lines are likely to begin with
###7m<80><99>####7m<80><99>
From: David King Date: 19:45 on 03 Apr 2007 Subject: Broken /usr/local/bin/tequila I changed my email address subscribed to this list a while ago, and after the "the verdamnit subscription database got truncated while doing a server move", I was re-subscribed under both addresses, so I tried to unsubscribe the old address. Tough luck, looks like /usr/ local/bin/tequila is broken Begin forwarded message: > From: Mail Delivery System <Mailer-Daemon@xxxxxx.xxxxxxxxx.xxx> > Date: 3 April, 2007 11:38:42 PDT > To: my@xxx.xxxxx.xxxxxxx > Subject: Mail delivery failed: returning message to sender > > This message was created automatically by mail delivery software. > > A message that you sent could not be delivered to one or more of its > recipients. This is a permanent error. The following address(es) > failed: > > pipe to |/usr/local/bin/tequila unsub hates-software > generated by hates-software-unsub@xxxxxx.xxxxxxxxx.xxx > local delivery failed > > The following text was generated during the delivery attempt: > > ------ pipe to |/usr/local/bin/tequila unsub hates-software > generated by hates-software-unsub@xxxxxx.xxxxxxxxx.xxx ------ > > Rc2\-J is not a column of Siesta::Member at /usr/local/perl5.8.4/ > lib/site_perl/5.8.4/Siesta/Message.pm line 151 > > ------ This is a copy of the message, including all the headers. > ------ > > Return-path: <my@xxx.xxxxx.xxxxxxx> > Received: from my.host ([ip.ad.ddr.ess]) > by banner.unixbeard.net with smtp (Exim 4.63) > (envelope-from < my@xxx.xxxxx.xxxxxxx >) > id 1HYnth-0006HJ-Eb > for hates-software-unsub@xxxxxx.xxxxxxxxx.xxx; Tue, 03 Apr 2007 > 19:38:41 +0100 > Subject: unsubscribe > X-Spam-Score: 0.3 > X-Spam-Score-Int: 3 > X-Spam-Bar: / > > Intentionally blank
From: David King Date: 23:24 on 27 Dec 2006 Subject: Give me back my damn focus! Why is it that nobody can write a decent focus model? I've been using Opera on my Mac recently due to some (non-focus related) Safari hate. Opera has a sidebar, where it puts things like a half-assed mail client, a half-assed IRC client, history, bookmarks, a list of current transfers, and the kitchen sink. Most actions performed on this sidebar result in a new window being opened (for instance, opening an IMAP folder or a history item). but the focus model is totally unclear. If I click on an IMAP folder, then hit "Up" on my keyboard, will it move "Up" one message within that folder, or one folder in the folder-list? This appears to be totally random. I work nearly totally from the keyboard, so this bites. Unpredictable focus behaviour is worthy of hate, but it gets better. If I've used the sidebar in the current session, even if it is *closed*, it appears to capture my "enter" key. If, for instance, I try to type a search term into a text box, and hit "enter", fully expecting it to "Submit" (pun intended), it instead opens up my last- viewed mail folder, because that is what the side-bar has focused. I wasn't aware that different controls could simultaneously have the focus, let alone pick-and-choose which keys they wanted to receive. So in order to do anything involving the "Enter" key (like typing a URL), I have to open the "Keyboard viewer," a small application that simulates a keyboard. Strangely, that "enter" key works just fine.
Generated at 10:27 on 16 Apr 2008 by mariachi