< 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 31 of 76 ]
From: David Cantrell Date: 10:43 on 26 Jul 2006 Subject: Ghostscript When I feed functionally identical Postscript into two different versions of Ghostscript, I expect the resulting images to be identical. They are not. Grrr. This makes it impossible for me to ship tests with my perl module which relies on Ghostscript to convert from PS to PNG. Hate.
From: Smylers Date: 16:30 on 25 Jul 2006 Subject: Outlook Web Access Calendar Outlook Web Access[*0] is so easy hate, but here's the one that's just bitten me. 'New Appointment' has, quite reasonably, 'Start time' and 'End time', each with drop-down fields for day, month, and year, in that order. Both default to today. I set 'Start time' to "30 August 2006", and 'End time' is automatically updated to the same. I set the day field of 'End time' to 1 and tab to the next field, where I change "August" to "September", then I submit the thing. Only then to notice that it's turned a 3-day event into a month-long one! On trying to repeat the exercise I discover that after I set the end day to "1", Outlook changed it back again to "30". Apparently its JavaScript couldn't cope with the fields saying "1 August 2006" (which is before the start date) even transitionally -- even though I'd just left the day field so as to set the month! Hate!! Under what circumstances could I have possibly wanted the behaviour I What right has Outlook got to decide that even though I picked the 1st of the month it is going to change this -- and do it silently, so that I don't even spot it happening! Surely if I've just set the day to "1" then the one thing you can be sure of is that I want the day to be "1"; if that creates an inconsistency then update the _other_ fields, the ones I haven't yet set, to resolve the matter, you idiot. How can it possibly make sense to insist on setting the date fields in descending order of magnitude yet display them (and have their tabbing) in ascending order? My guess is that the field order is localized, and this was developed by people with a locale which has month before day, so that it didn't bite them (well, unless they have the completely stupid order of month-day-year and tried to schedule an event over December to January, but obviously they didn't test that much) and then shipped the thing treating localizations as being purely cosmetic. Hate. [*0] Actually I only have experience of the non-Internet-Explorer version. I believe that WinIE gets a much-souped-up version, but really, what's the point in that? If I were on Windows then I wouldn't be needing to use Outlook Web Access anyway cos Outlook itself would run there. Smylers
From: Phil Pennock Date: 13:01 on 20 Jul 2006 Subject: Low-hanging fruit Okay, so I know ways around some of the Firefox hates which people post here. Doesn't mean that I think Firefox is, by any stretch of the imagination, hate-free. Pet hate, which keeps biting me (win32): inconsistent menu short-cuts for "open in new tab". If I right-click on a link and press 'T', that's new tab. I use that a lot on this laptop. But if I right-click on a toolbar bookmark, guess what 'T' stands for? Well golly-gosh if it isn't cuT. Never mind that Windows has a well-established XCV triplet of shortcuts for Cut/Copy/Paste. So I keep losing items from the bookmarks toolbar because there's no 'undo' for this. :^( It's only a _foolish_ consistency that's the hobgoblin of little minds. Some UI consistency, even within the one application, would be nice. I could adapt if it used something other than OS native defaults, if it were consistent. Gaah.
From: Nicholas Clark Date: 17:59 on 19 Jul 2006 Subject: Finder OK. Who omitted the STFU option from preferences? When I mount a server I don't need a little noise to tell me that it's completed. Heck, I don't really want it to open a window on an NFS mount that I'm restoring, but I can live with that. But computers should be seen and not heard. Cute sound effects are not, especially by default. If you think otherwise, please ensure that your development version defaults to an "audio-cock" theme. Nicholas Clark
From: Simon Wistow Date: 17:42 on 19 Jul 2006 Subject: tcsh's conditionals Oh tcsh - so much to despise about you my little hate dumpling stuffed with loathsomeness. How we could while away the evenings talking about your little pecadillos. I can picture it now - you'd be on the floor cowering and I'd be standing over you, repeatedly hitting you using a bat with a rusty nail through it, cackling whilst your screams for forgiveness became slowly muffled by your own sobbing. Good times. Good times. But, such pleasurable evenings will have to wait because we need to have a talk about your conditional statements, you and I. No, no, there's no need to be modest. Don't be shy. I merely want to ask you which of these is the correct syntax ... if ($foo) then echo "foo" elsif ($bar) then echo "bar" endif or if ($foo) then echo "foo" else if ($bar) then echo "bar" endif Hmm. The second choice you say? My, my, my. That *is* interesting because, you see, the first choice doesn't provoke a compile error. No, no, no such niceties are for weak minded, lily livered, frankly pinko, leftie WIMP programmers. So gauche. So ... recherche. A real man's language would compile the first syntax fine and then ... oh, do excuse me, I'm chuckling just thinking about it ... and then silently ignore it. Unless of course there's a 'else' statement which will, in that case, *always* get run. Since it's the default case it will probably go undetected for YEARS until some poor schmoe is asked to find why a certain option isn't working on some script left lying around. Oh how he'll clutch his sides with mirth, wipe a tear of glee from his eyes and then sink back in his chair, plotty gruesome revenge on you. Tssk, I ramble. So indulgent of me to take up your precious time when it could be more productively spent making someone else's life a misery. Accept my apologies, please. Until we meet again, dear tcsh. I'm sure you'll recognise me - I'll be the one skull fucking you to death with the severed arms of your creators. I may be covered in blood and crying bloody murder. Yours, Simon
From: Nicholas Clark Date: 23:35 on 17 Jul 2006 Subject: Aquamacs "Emacs" According to the blurb Aquamacs "Emacs": Aquamacs is an Aqua-native build of the powerful Emacs text editor. By "Aqua-native," we mean more than just the fact that this version of Emacs runs as a standard OS X application. Aquamacs features extensive customization: it will feel and behave mostly like an Aqua program - while still being a real GNU Emacs with all the ergonomy and extensibility you've come to expect from this world-class editor. So I start it. The default font seems to be proportional spaced. Yuck. But apparently this is a feature: Fonts just work, right from the menu: The Mac-standard font (Lucida Grande) is the default for editing text, and the mono-spaced Monaco is used to other modes. I want a text editor. Text. T E X T. I want monospaced fonts whatever. If I wanted proportional spacing I'd load a word processor, dammit. So I try to change them. It seems that the option menu will change the font for this buffer, but not globally, and not the saved default. Grrr. So I end up in the good old fashioned emacs customisation windows. I set the face "default" to Lucida Typewriter, hit ^C^C, and it all reformats the way I want it. I even hit a button marked "Save for Future Sessions" and it writes out a customistation file. So I test this, by quitting and restarting. It ignores it. We're back to proportional spacing. Lucida fucking Grande. Eh? Maybe the customisation file wasn't really being loaded. So I try symlinking it to ~/.emacs. No. That doesn't help. So make sure it is loading something I run it under ktrace: 1011 Aquamacs Emacs CALL stat(0x4b451c0,0xbfffd780) 1011 Aquamacs Emacs NAMI "/Users/nick/Library/Preferences/Aquamacs Emacs/cust omizations.el" 1011 Aquamacs Emacs RET stat 0 1011 Aquamacs Emacs CALL open(0x4b451c0,0,0) 1011 Aquamacs Emacs NAMI "/Users/nick/Library/Preferences/Aquamacs Emacs/cust omizations.el" 1011 Aquamacs Emacs RET open 5 1011 Aquamacs Emacs CALL close(0x5) Eh? Open the file, then immediately close it? Er, hello? Then a bit further: 1011 Aquamacs Emacs CALL readlink(0x4b95944,0xaa1240,0x64) 1011 Aquamacs Emacs NAMI "/Users/nick/Library/Preferences/Aquamacs Emacs/cust omizations.el" 1011 Aquamacs Emacs RET readlink -1 errno 22 Invalid argument 1011 Aquamacs Emacs CALL stat(0x4b96800,0xbfffe3a0) No, that's not going to work... [to be fair, this might be just after it chased the symlink from my .emacs] Then, finally: 1011 Aquamacs Emacs NAMI "/Users/nick/Library/Preferences/Aquamacs Emacs/cust omizations.el" 1011 Aquamacs Emacs RET open 5 1011 Aquamacs Emacs CALL read(0x5,0x496ee00,0x39f) 1011 Aquamacs Emacs GIO fd 5 read 927 bytes "(custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(aquamacs-customization-version-id 99.0 t) '(one-buffer-one-frame-mode nil nil (aquamacs-frame-setup)) '(safe-local-variable-values (quote ((c-indentation-style . bsd)))) '(transient-mark-mode t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(default ((t (:stipple nil :background "grey90" :foreground "Black" \ :inverse-video nil :box nil :strike-through nil :overline nil :underli\ ne nil :slant normal :weight normal :height 120 :width normal :family \ "lucida-typewriter"))))) " 1011 Aquamacs Emacs RET read 927/0x39f 1011 Aquamacs Emacs CALL close(0x5) Hurrah! We load it. So why doesn't it work? No clue. So I decide to grab that plausible looking custom-set-faces code and test it in the Lisp interaction window, *scratch* Paste it in, hit ^J, nothing. Odd... Not even the customary line of output giving the return value. Try something I think should work. Nothing Odd. I try a real emacs. Stuff happens, (as expected).. So, let's just check what ^J is bound to in *scratch* in Aquamacs. ^H k ^J C-j runs the command newline-and-indent which is an interactive compiled Lisp function in `simple.el'. It is bound to C-j. (newline-and-indent) Insert a newline, then indent according to major mode. Indentation is done using the value of `indent-line-function'. In programming language modes, this is the same as TAB. In some text modes, where TAB inserts a tab, this command indents to the column specified by the function `current-left-margin'. Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaargh. "emacs". You keep using that word. I do not think that it means what you think that it means. Nicholas Clark
From: Eli Naeher Date: 04:15 on 14 Jul 2006 Subject: Transportation of a URI Across Port Boundaries for Immoral Purposes I found this nice little web application I use for keeping track of random bits of data. It's nothing very fancy but it's clean, simple, has a nice interface, etc. For some reason, however, its otherwise-sensible author decided to implement it under Zope, which needed to be installed to get it going. There were a few eccentricities involved in doing so (why is the port on which to listen specified as the combination of a base and an offset? Why do I need to fill out the HTTP authentication dialog twice to log in?), but nothing too egregious. So I've been happily using this program locally for a while. Today, someone needed to access it from outside the network, and not wanting to open up random high ports on the firewall for no good reason, I thought I'd proxy it through Apache and all would be well. Indeed not. I can get to the opening page, but it turns out that Zope is serving up absolute links in its HTML, complete with hostname and port number. Which is pretty ugly, but nothing I haven't seen before. Even if Zope won't let me convince it to generate relative links like a civilized application, surely there's a configuration file somewhere where I can specify the hostname and port number it uses, right? Ha! No. Apparently this sort of thing is done using a component of Zope called -- without apparent irony -- the "Virtual Host Monster." Reading through its documentation evokes that sort of surrealist prose in which one recognizes all the words but can't be sure whether or not they're actually intended to mean something when strung together -- however, I did eventually manage to get things working by adding this to my Apache configuration: RewriteRule ^/foo/(.*) http://localhost:9080/VirtualHostBase/http/example.com:80/foo/$1 [L,P] Yes, that's right -- we're re-writing incoming URIs under /foo/ to prepend the VirtualHostBase bit, and Zope then parses the resultant URI it sees from Apache and deduces that it should use http://example.com:80/foo/ as the base for the links in its response. --Eli
From: Michael Leuchtenburg Date: 00:05 on 14 Jul 2006 Subject: wget's double-slash URL munging I have this little Python script that proxies last.fm. It likes to take, as input, a lastfm URL in its own URL. This leads to URLs like: http://localhost:1881/lastfm://artist/Mogwai/similarartists This is all well and good - in a sane program. Try passing that to wget, though, and it will instead request: http://localhost:1881/lastfm:/artist/Mogwai/similarartists Note the lack of slash. It also totally neglects to mention this, claiming to be requesting exactly what I told it to. It lies. lastfmproxy, being a complete hack, chokes on this. Now, I could make it stop being a hack, but I didn't write it and damnit, I shouldn't have to. wget should just send the damn URL as I told it to. And, failing that, it should *tell me that it's changing the URL*. CLEARLY I must want it to "correct" thing behind my back without so much as a "by your leave"! After all, wget is much smarter than any user could possibly be. Perhaps this meets with some standard for URLs. That's all well and good, but it should *tell me* and *give me an option to tell it to fuck off and let me bugger the standards in peace*.
From: Patrick Quinn-Graham Date: 07:21 on 13 Jul 2006 Subject: Debian's lighttpd package Normally I don't harbour much hate for Debian, but sometimes package maintainers deserve a thwack over the head. Removing lighttpd ... Stopping web server: lighttpd failed! invoke-rc.d: initscript lighttpd, action "stop" failed. dpkg: error processing lighttpd (--remove): subprocess pre-removal script returned error exit status 1 Starting web server: lighttpd. Errors were encountered while processing: lighttpd E: Sub-process /usr/bin/dpkg returned an error code (1) Now, duh, the reason you couldn't stop it was because it wasn't running in the first place! (And the reason it wasn't running was because of a configuration error, that quite frankly I didn't care about because, well, I didn't care.) Now my first answer would be to force it, except that usually doesn't get you around scripts. Bah. ~patrick
From: Simon Wistow Date: 19:52 on 11 Jul 2006 Subject: putty - please to be remembering what I told you
< 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 31 of 76 ]
Generated at 10:28 on 16 Apr 2008 by mariachi