< mari
a
a
a
a
chi >
[ Page 3 of 4 ]
From: David Cantrell Date: 11:24 on 26 Oct 2004 Subject: White-space sensitive file formats Today I am mostly hating Makefiles, for they require the use of tabs and not spaces.
From: David Cantrell Date: 15:34 on 08 Oct 2004 Subject: SOAP::Lite must die Yet again, SOAP::Lite is behaving in unexpected ways. If I have a chunk of text, which is utf-8, and return it from my SOAPy method, SOAP::Lite base64-encodes it before sending it over the network, for no apparent reason. This behaviour is undocumented. The most excellent Claes Jacobssen told me how to fix it on IRC, but the fix involves using an undocumented package supplied with SOAP::Lite in an undocumented way. From what I can tell, the philosophy behind the documentation for this appalling module is "it was hard to write, so it should be hard to use". This is, even though it appears to work, AWFUL software. Of course, it doesn't help that I'm having to expose my SOAP::Lite-ish server to another piece of awful software - .net. .net is unnecessarily picky and pedantic about, well, everything. It needs to have every little detail explained to it in triplicate or it throws its toys on the floor.
From: David Cantrell Date: 12:45 on 29 Sep 2004 Subject: WSDL, and its users, and its tools, and XML in general Remember back in January when I Hated XML, posting in this august forum? Well, I hate XML even more now. Here's some specific examples of all the various hateful things I noted in that earlier post. But first some background. At work, I am writing an application which exposes a SOAP interface so that another company can submit requests to our database. Apparently, the tools that this other company are using can't just make a damned SOAP request. They need me to specify my interface in WSDL. WSDL is a dialect of XML. It is so hateful that even those who like XML (and who like using the crippled tools that need it) recommend using third-party tools to generate it automatically. I took one look at the WSDL spec and ran away screaming. I agree with them, there's no way in hell I want to write that crap by hand. As well as having to define my functions three times in different ways, I have to contend with those weird namespace things, and the WSDL inventors in their infinite wisdom have decided to reuse words which have well-understood meanings, like "port", and use them for something entirely unrelated to what they normally mean. But can I find such a tool that *works*? Nope. In the end, I had to write stubs for all my methods in JAVA and use some Java tool to produce WSDL. I then had to correct the WSDL, by hand. Someone had recommended another tool which might even have been really good, but even though it is apparently free you still need to ask the vendor for a licence. Which I did, then they phoned me to talk about my needs, and said they'd send a licence. Which they never did. Even if I had had a licence, I bet it wouldn't have worked properly. Back to some more WSDL hate. I expect that at some point you have written a function which returns an array of data. Try explaining that to WSDL. It *might* be possible, but not using the Java thingy that I had. The solution we arrived at was to pass a string, with CSV in it. Because CSV is old, and works, unlike this crazy modern complex stuff. There seems to be no sane way of having functions with variable numbers of arguments. So again, we're using CSV strings. At this rate, I might as well have just listened on a socket for CSV and spat back CSV! XML seems to encourage this mad over-complex stuff. WSDL *could* be implemented using the simple version 1 XML that I eulogised in my earlier post here. But even if it could be, it would still be mad and make my brane hurt. I've seen plenty of other stuff in XML which is deliberately obfuscatory - and unlike the IOCCC or the Obfuscated Perl Contest, its advocates TAKE THIS SHIT SERIOUSLY. So I have to conclude that there's something wrong with XML itself, even the simplest version 1 spec XML, which makes people do this. And therefore I hate XML, even the version that I didn't hate earlier.
From: David Cantrell Date: 11:46 on 09 Jul 2004 Subject: Fancy coffee machines Here at $new_work we have a very fancy drinks machine. Unfortunately it's so fancy that it gets in the way of my coffee fix. Normally, a drinks machine would have a list of all the possible drinks on the front, with two digit codes. Hit two digits and get a coffee. This one, however, has menus of options. I have to hit 6 for "speciality coffees" then get another menu. Hit 6 again for "espresso"*. Then 2 for "double espresso". Then 1 for "no sugar". At this point there are no further options, but I still have to hit "start" for it to spit out my drink. Five button presses instead of two. Sometimes, I'll hit 6 ... 6 ... 2 ... 1 only to be told that it's run out of cups. Grrr. Even all of that I could live with, cos I'm sure the menus won't change that often and I can remember 6621start easily. But I have to pause between button presses for the menu to re-draw, and it re-draws SLOWLY. The fancy graphics-capable display appears to build up each character a pixel at a time, and the list of pixels to light up feels like it's being sent over a piece of damp string. I bet it's just a serial port running at 4800 baud at the most. So here we have bad interface design (menus, ugh); bad software (only telling me at the end that it can't dispense my drink, and not listening to the keypad when redrawing); bad hardware; AND it makes crap coffee. Truly this is hateful. * - never mind that these bear no resemblance to espresso, it's the caffeine that counts
From: David Cantrell Date: 08:57 on 19 May 2004 Subject: Microsoft Lookout Lookout, how do I hate thee? Let me count the ways. On second thoughts, let me not. Something so predictable would bore you all to tears. Let me just grumble about one particular hateful feature. When you select a message, and view it and read it *it is not marked as having been read*. Messages are only marked as having been read when you move to another message.
From: David Cantrell Date: 15:44 on 08 Mar 2004 Subject: YaBB YaBB - Yet Another Bulletin Board - is a free webby forums thing, and as such is hateful. Clued people know that instead of using such horrors they should use mailing lists or Usenet, or at least if Usenet is inappropriate use Usenettish software on your private network, like what the BBC does for web chat. At work, I was asked to come up with proposals for some way for our sales and marketing people to share information easily. Obvious, innit, either a mailing list or a newsgroup. That way, they get discussion threading for free, we get easy replication of data to our NZian office, users get their own local copies of the data to refer to when they're out and about, but most importantly we get to use concepts and software which have been extensively tested, fixed, and where there is copious documentation for me to refer to. But no. We can't use mailing lists because we're a Doze shop and Lookout can't do threading. Newsgroups are vetoed by the IT department because "it's too complicated" and "it needs desktop software installed". Neither of which is true, as once I'd shown my IT-illiterate boss how to start Lookout Express (which was already installed) and how to configure it to look at the news server I had running on a dev box, he found that it Just Worked. So I had to do something webby for them. I'm not reinventing that particular wheel thankyouverymuch, and after looking at several variations on the theme, I settled on YaBB. And it was mostly good - tweak the config files and the HTML "template" (actually embedded in the code, but please let's not go there) and it Just Worked. I have happy users. Oh, but it can't do proper threading, just like Lookout, but that seems to not be an issue now. Grrr. Now, users want more features. For various good reasons, they want particular discussion forums to only be accessible to particular users. This we achieve by making all users log in first, by assigning users to groups, and then saying "forum thus-and-so is only accessible to group such-and-such". And now, a user wants access to two different sets of forums. I *can* do this, as the software already supports having forums accessible by multiple groups, but I can see a huge explosion of groups, most with just one user, and an administrative nightmare in my immediate future. I *need* to be able to put a user into multiple groups. There is a patch already available to do this, but it sucks. To start with, it has a hard-coded number of groups someone can be a member of. So I need to patch the app to do this properly. And so I start grovelling in the source, and it is hateful. Sins such as rewriting their own versions of standard functionality abound. The amount of wheel-reinvention is *amazing*. It has code to open a user's profile repeated in 11 different files. It often appears several times in a file: In one file we find these, each accompanied by code to parse the file: fopen(MEMBERFILEREAD,"$memberdir/$name.dat"); fopen(MEMBERFILEREAD,"$memberdir/$memberfile.dat"); fopen(MEMBERFILEREAD,"$memberdir/$membername.dat"); And in another, we find these: fopen(FILE, "$memberdir/$currentmem.dat"); fopen(FILE, "$memberdir/$curmem.dat"); Grrr.
From: David Cantrell Date: 11:38 on 09 Jan 2004 Subject: XML makes me angry Once upon a time, many years ago, there was a specification called XML, which was mostly based on SGML, and it was good. Documents in the format specified were easy to read. But nowadays whenever anyone mentions XML they don't mean that. They mean what came next. You see, the crack-monkeys were set loose. XML wasn't complicated enough, so they added namespaces, and schemas, and XSLT (which has to be one of the stupidest ideas of all time, a programming language with even more brackets than lisp, even less maintainable than the worst perl, and with even more mutually incompatible bug-ridden implementations than java) and a thousand other Xrandomletters and so forth. Now, I hear that schemas are being deprecated in favour of some new and exciting way of making my brane hurt. Please dear god give me back my DTDs! But this is hates-software, not hates-idiots-on-standards-committees. I hate XML software because it is either simple to use and understand but barfs on any document which attempts to conform to the current specs (that is, almost any document); or is bloated, bug-ridden, poorly documented and has a zillion dependencies all of which are themselves hateful.
From: David Cantrell Date: 16:14 on 29 Dec 2003 Subject: Hateful mail software I don't know what OFCOM are using - probably some home-brew rubbish - but it appears to not do confirmed opt-in. Grrr. http://www.ofcom.org.uk/static/subscribe/numbering.htm And I hate Thunderbird. First time I tried to send this, it auto-completed "hates-" to "hates-software-sub@..." and I didn't notice.
From: David Cantrell Date: 10:36 on 21 Nov 2003 Subject: Every browser ever and MathML Over the weekend, I wrote a perl implementation of the serial correlation co-efficient. As part of the documentation, I want to point people at a nice rendering of the mathemagical formula, rather than just embedding a dodgy ASCII representation in the POD. MathML to the rescue, or so I thought. Except that it doesn't work in any browser I had access to except IE. Which, of course, sucks for other reasons.
From: David Cantrell Date: 13:57 on 26 Oct 2003 Subject: Hateful websites Web sites are software, right? Why do all car manufacturers' web sites SUCK so hard? Is there some law of nature that they have to be designed by crack-head donkey-botherers? All I want, please Mr. Volkswagen/Peugeot/Mercedes/whoever, is to find where my local dealer is. I don't want your flash intro, or your quirky tune, i'm not interested in diplomatic sales or your racing team or your apprenticeship scheme or wireframe drawings of your engines. I want to type my postcode and for your website to say "thankyou your marvellousness, please go to FOO, their address is BAR, the nearest station is BAZ, the number QUUX bus stops outside, and here's a map showing where the dealer is and your postcode". A map, with all the streets on, with their names, like what I can get at streetmap.co.uk, not just the main roads, no fancy 3d buildings drawn on it. Just a map. Which I can use to find the fucking place and spend vast quantities of money.
< mari
a
a
a
a
chi >
[ Page 3 of 4 ]
Generated at 10:27 on 16 Apr 2008 by mariachi