Showing posts with label rant. Show all posts
Showing posts with label rant. Show all posts

26 Nov 2008

Buffets and eating habits

What is it with people who order more food than they can eat? Now, I understand that for à la carte dining, you can simply take your food home and eat it later (although actually remembering to eat the leftovers is another story). But you're not really supposed to take buffet food home (at least without paying more for it). Some buffet places will charge you more if you leave food behind; I think it's a great idea. People should not be encouraged to waste food in general, but when it's at the restaurant's expense, this should be doubly discouraged.

My point about eating what you've ordered is not about stuffing food down your gullet and gaining 50 kg in the process. I don't advocate overeating in general, and definitely not in a buffet context (I say this as someone who had overeaten at buffets too often in the past). The idea of a buffet is that you can choose how much to put on your plate. Most good buffets let you go on multiple trips. Make use of it!

By which, I don't mean stuff your plate on the first go, then the second, then the third, and so on (unless you actually want to eat that much food, and can fit it all in). I mean, put a little on your plate each time, and top up while you're still hungry.


I'm now going to go off on a rant about parents who make kids eat everything on their plate, and give them huge complexes about it. This is, in my rather arrogant opinion, a terrible habit to teach kids. Kids should learn not to waste food, yes, but the lesson they should learn is to not bite off more they can chew (and in fact, when they do order more than they can eat, they should learn to keep the food overnight to eat another day), rather than that they should eat everything, as such. The latter approach will make them overeat, then discover that they're getting much, much fatter than they want to be, and (later on in life) start leaving tons of food on their plates to compensate for the emotional trauma they've gone through.

Remember, less is more. There, I'm done ranting. :-)

21 Nov 2008

Syntactic sugar makes the world go 'round

For a long time, I considered Java the C of the Java platform. It's pretty much the lowest-level language you can write code with, unless you're using assembly language (and I remember playing with Jasmin in the early days of Java).

Back in early days, the Java language has very little in the way of syntactic sugar, much like C, except that in C you have a preprocessor, whereas in Java, you had to hack your own (just look at the OpenJDK source code for ample examples of custom preprocessing tools in use). So all the code is ultra-verbose, and (to me) there was a huge mental barrier to writing code of any size, just because I had to spell everything out, every time. (Just don't get me started on the lack of typedef in Java.)

With what syntactic sugar there was, it was too easy to encourage programmers to Do The Wrong Thing™: the availability of operator += for strings meant that a lot of programmers tried doing string-building “the C++ way”, never knowing the difference in semantics between += in C++ versus Java. My feeling on this is that += should not be defined for strings, only on StringBuilders and StringBuffers, with the same effect as calling append() but without the function call syntax.

Of course, once we go down that road, perhaps we would need to provide operator overloading across the board. That, of course, leaves me asking why we don't just use C++ in the first place, perhaps doing a variation of C++/CLI for the Java platform. Oh wait, the Java platform isn't as accommodating as .NET is non-Java concepts; I just can't imagine how, say, the STL would be implemented on the Java platform.


As of Java 5, there were certainly a lot more syntactic sugar for things that were commonly done ‘the hard way’ in the past; type-safe enumerations and generics are two that come to mind, not to mention ‘real’ for loops and variadic functions. And soon (perhaps by Java 7, perhaps not), there'll be closures, which I also welcome.

After all these changes, would Java then be seen as the C++ of the Java platform? (Sorry, this is not meant as a slight to C++; I know that Java does not even come close to approaching the power of C++, but it's the best analogy I can come up with.) Is this actually worth pursuing, or should we all start flocking to more powerful languages, perhaps to Groovy?

I singled out Groovy for one reason: it was a language designed for the Java platform, and has the greatest chance of fitting snugly within the Java platform. Of course, there are things it needs to implement, like annotations, but all in good time. My feeling is that, be it Groovy or some other new language, it has to be a language that allows you to express anything you can in Java; and it has to also allow more powerful ways of expressing them, as well as things that cannot easily be expressed in Java.

I would love nothing more than for programmers to write most of their code in a high-level language, with the bottlenecks separated out into a separate module, which can be written in a lower-level language like Java, for performance. But to get people to switch, that high-level language had better be good to use, and not compromise on features that are available in the Java language.


So, the whole point of that little ramble is that I do think there needs to be a ‘better Java’ for Java programmers. Everything that's easy in Java should stay easy, and anything that's commonly done in Java (and programming in general) but is hard should also be made easy, to further encourage their use. Also, it should link to Java in a seamless way; it should be easy to incrementally convert a project to this new language, file by file.

The language can use either static typing (provided there's good type inference so programmers don't have to spell out types all the time) or dynamic typing; I don't care either way, especially given developments in Da Vinci Machine that will give dynamic languages much better support on the Java platform. I have a feeling, though, that experienced Java programmers will continue to prefer static typing.

The language I envision does not need to be backwards-compatible with Java; for example, the whole insane syntax for anonymous classes can be done away with, especially in one-method cases. It also does not need to function in any platform other than the Java platform. I don't really care about portability to unmanaged platforms or to .NET or to Parrot or to anything else.

Really, like I said, I'm just looking for a ‘better Java’ that's good for most present Java programmers to switch to. And, given the current wide(ish) adoption of Groovy, this ideal language would probably be implemented as a future version of Groovy.

19 Nov 2008

Even expert mode ain't expert enough

Some diehard geeks I know consider Ubuntu to be too softcore for their liking. However, it seems a reasonably good compromise to me: I get new versions every six months, instead every 3 or so years (Debian stable), or every week or so (Debian testing). I've used Ubuntu for three years now, and am quite happy with it. (Prior to that, of course, I was a diehard Debian user. I can't bring myself to use any Red Hat-derived system; it's far too different from the Debian way of things.)

Anyway, control-freak Ubuntu users know to use the alternate (as opposed to the live desktop CD) for setting up their systems, as well as the picking the expert mode option; this allows the user to make decisions on a much larger variety of options than the system usually bothers the user with. Still, there are things that I wish the installer allows me the choice of, so I don't have to fight it so hard.

  • When encrypting my hard drive, I use the cipher specification aes-xts-plain or twofish-xts-plain. But the best choice of cipher mode that the Ubuntu installer allows (as of 8.10) is CBC. That is a long, long way off from XTS!

    So instead, I get to rerun cryptsetup luksFormat after the installer creates the CBC-mode partition (if the installer doesn't get to create the partition first, it gets seriously confused), just so I can have XTS mode. Great!

  • The whole installer uses decimal gigabytes (10⁹ bytes) instead of binary gigabytes (2³⁰ bytes), which is quite frustrating to a programmer who's used to the latter. If I want a 10 (binary) gigabyte partition, I should be able to type 10 GiB, and not be told “Invalid size” and made to type 10.73741824 GB instead.

    So instead, I get to create all my partitions by hand, running fdisk and lvcreate manually. Great!

  • The installer does not let you pick your uid/gid, always using 1000. So instead, I get to edit that afterwards:

    
    sed -i s/1000/$UID/g /target/etc/passwd
    sed -i s/1000/$GID/g /target/etc/group
    chown -R $UID:$GID /target/home/$USER
    

    Great!

18 Nov 2008

Sometimes I wish I were a cop…

…just so I could bust all the bad drivers out there. The amount of bad driving I see, especially in Auckland, is phenomenal! By far, my biggest peeve on the road is with people who are too lazy to signal. It's not that hard to flick your signalling stick—especially when you're leaving a roundabout!

That little ‘courtesy’ (it's a legal requirement, but a vast number of Jafas seem to be wilfully ‘ignorant’ of that) means that people can move through roundabouts much faster—as soon as one signals out of the roundabout, other drivers can enter it straight away, safe in the knowledge that one isn't going to end up in their path (unless one is stupid and changes one's mind about leaving the roundabout—but that's another rant for another day).

10 Nov 2008

Noel Leeming has the most useless call centre ever

Remember the drama I had with Noel Leeming? I thought it couldn't get worse. I was wrong.

So, you remember how 10 days ago, I called the call centre, and they said they found a unit in Christchurch, and that they would courier it to my home? Well, I got a call today, from the Christchurch store in question, saying that the laptop has arrived at their store and is ready for me to pick up.

I appreciated hearing from the lady at the store—it's a nice change from the idiots at the call centre—but I regretfully explained to her that I don't live in Christchurch, and that there's no way I can go there to pick the laptop up. I also explained to her that the call centre has stuffed up yet again. She said she'd follow up with the call centre.

Anyway, 10 minutes later, I got a call from the call centre (for the first time ever!). The guy on the line said he was calling because there was “conflicting notes” on my order and that was why the item got sent to the wrong place, and he wanted to confirm that I was wanting to have it couriered to my home.

Now, I've dealt with him before; he was the one who ‘accidentally’ disengaged my call. So I was disinclined to be kind to him. I asked him just what conflicting notes were on the order, and he mumbled something about how the order said something about shipping it to a store for pickup, but now it's to be couriered. Yes, originally I did request for it to be sent to a store (in North Shore, not Christchurch, mind), but because they've stuffed up and delayed my order so much, the least they could do is send it directly to me instead.

Anyway, he said he could arrange to get it couriered this afternoon, and I asked if, on account of their multiple stuff-ups, they could arrange for it to be urgent-couriered. They couldn't, and said the ETA would be in a couple of days' time.

I'd had enough at that point. I asked, in my usual steely voice :-P, if I needed to speak to his supervisor. He was like, no, escalations have to be done in writing. Oh, I see. Well, then, they'd better expect something ‘nice’ in their letterbox soon.

To end the call, I said to him that I hope that the item will indeed arrive at the correct place, in the stated time; I wouldn't like to have to call again. (There's that glint in my voice that hinted at something very unpleasant should that happen.) By this point, he sounded scared shitless, and just stammered, “Of course not; all right, goodbye,” and couldn't hang up the phone soon enough.

Now, just so you know, I don't especially delight in making customer service people squirm, and had he been someone I hadn't dealt with before, I'd have been far kinder. But, some people just deserve what they get. *shakes head*

7 Nov 2008

I hate Noel Leeming, and kids who have no restraint

So, let's start with the kids. Two days after Guy Fawkes Day, the kids are still trying to burn their fireworks like there's no tomorrow. Well, maybe in some cases, if they're incautious, there will indeed be no tomorrow for them!

Right, now for the meat of the post. I totally, absolutely loathe Noel Leeming. I've ordered a laptop from them a whole fortnight ago, and they've managed to balls up my order in perhaps the most spectacular way imaginable.

I placed my order via their website on Friday morning, just at the start of their Labour Day online sale. I knew that it was a clearance product, so the earlier I ordered it, the more likely I'd get it soon. The only branch with units available for immediate pickup was Botany Downs, which was about an hour's drive from home, so I opted to have it delivered to the Wairau Park branch instead. I was told to expect to hear from Wairau Park in about 3 days, when the item would be ready for me to pick up.

Three days came and went. No news. I went to the store to ask about it on Tuesday, and was told by an impatient floor person that they received nothing, because it was a long weekend, and that I will hear from them when it arrives. Clearly, they didn't want to be bothered about it. All right, I thought, let's give them the benefit of the doubt, just in case it was a 3 business day delay.


Well, was I wrong. On Friday, I happened to be at the Lynnmall branch of Noel Leeming, so I took the opportunity to enquire about my order. The store person looked at the details, and said, the item should be available by now—Wairau Park had 7 in stock! So, I called them up and asked what was going on, as I waited a whole week and was sick of waiting.

The person at Wairau Park advised me that those 7 units were not actually for retail sale, but were instead reserved for a corporate order, and that the call centre people (who were in charge of Internet ordering) had stuffed up by listing that branch as a supply branch, when in fact they had no supply. He also said that he would get in touch with the call centre and have them contact me about whether I could pick up a unit from the Manukau branch, that was supposed to have one available.

(For non-Aucklanders: I live in the North Shore, and the Wairau Park branch is one of the closest to home. Botany Downs, Lynnmall, and Manukau are all ‘south of the bridge’, quite far from home, so we try to avoid unnecessary travelling.)

I asked for the call centre to call me back as soon as possible, because we didn't want to get stuck on the city side of the bridge without good reason. Well, most of an hour passed, we heard nothing, and so we went home, disappointed.


Irate, I decided to call up the call centre myself the next day. The first call I made, I got hung up on; the second call I made, the guy on the line expressed his sympathy, and arranged to have a unit delivered from a South Island branch (which I was told to expect by the end of the week). I said, emphatically, that I had waited more a whole week for the laptop, and that I would like it if they could provide me some compensation for the run-around I'd been given all along. I hinted that a spare laptop battery wouldn't be bad for them to throw in.

The call centre guy said, no, they don't do that, but they could provide a refund. And I was like, well, I bought the laptop during the Labour Weekend sale, and if I knew it was going to take that long to get here, I would have taken my fine money elsewhere, so really, because of this lost opportunity, they should refund me the pre-sale price, or offer a store credit with equivalent value.

And he was like, nope, sorry, the most we can offer is an apology, but perhaps you could write a complaint to customer services about this. (As a matter of fact, once I get calm enough to write a professional letter of complaint, I'll just use this post as the basic substance, so consider this the first draft. :-P)

Anyway, I was still expecting the laptop “by the end of the week”. Guess what? It's now Friday evening, and I still have received neither a call, nor a package at my door. This is really shocking, and inexcusable; it's been two whole weeks since I ordered, and never once have they ever called me. I had to be the one to do all the pushing. I dare say that this is the most shocking customer service I have ever encountered in my 20 years of living in New Zealand, topping even Telecom. Think about that.

What's the bet that, if the laptop arrives at all, it was a display unit, and already halfway broken from the rigours of ‘unsupervised test drives’. That would really take the cake, as far as raising my blood pressure beyond whatever notional savings I got from the sale could cover.