Forgot your password?
typodupeerror
User Journal

Journal: You'd Think I'd Learn 3

Journal by SJS

I've been using Amazon for a long time.

You'd think I'd learn not to trust Amazon.

Don't get me wrong. They have an amazing amount of stuff at very nice prices, and what they don't have, their affiliates have.

But.

Every time I buy something from Amazon, I check all the little boxes I see to indicate I don't want to be emailed anything. And every time, shortly after my purchase is completed, I start getting spam from Amazon (rather, unsolicited commercial email that I *suspect* is bulk-sent, but haven't verified). It's annoying, because it's getting through the hole I have in the spam filters that allow *legitimate* email from Amazon about my order to get to me.

Is it onerous? Not really.

It's just annoying. And it demonstrates just how much the people at Amazon despise their customers.

Eventually, I get annoyed enough to make it stop, but that's something I really shouldn't ought to have to do, so I resolve to take my money elsewhere. And I do, for awhile, and then someone I trust will kindly inform me that Amazon has changed, they're more respectful and not at all spammy anymore. So I relent, because the promise of reform plus the lure of convenience overcomes my stubbornness... and discover that no, Amazon is still run by scum.

You'd think I'd learn.

User Journal

Journal: On Tipping (in the USA) 9

Journal by SJS

The subject of tipping in restaurants has come up recently, and I realized I had a heuristic for such things. This seems a good as place as to write it down.

If I have to stand in line and order at a counter, there's not going to be any tip.
Caveat: if (a) there's a tip bucket and (b) I've been there before and (c) the food was really good, I'll drop a dollar in the tip bucket.

Base tip rate is 15%.

If the wait staff is rude, the tip goes down. (I don't care about your shitty day. Be professional.)
If the wait staff is impossible to find, the tip goes down. (I can't serve myself, else I wouldn't need you.)
If the wait staff continually interrupts, the tip goes down. (I didn't come here to listen to you talk.)
If the wait staff makes excuses, the tip goes down. (Your team, your problems. Take up intra-staff conflicts with your manager.)
If the food isn't very good for the class of restaurant, the tip goes down. (Again, your team, your problem. Reward your cooks. They're why I came.)
If the food is late, the tip goes down. (Again, your team, your problem.)
If I end up thirsty, the tip goes down. (I am not going to reward you for ensuring I have a crappy dining experience.)
If the bill comes with 'pre-computed' tip-guide based on the post-tax total instead of the pre-tax subtotal, the tip goes down. (Your establishment is trying to scam me. I resent that.)

If the wait staff seems to be actually enjoying their work, the tip goes up. (If you're enjoying yourself, you're helping me to enjoy myself.)
If the wait staff is nearby often enough so that when I need something, they're there to help, the tip goes up. (Making my experience pleasant should be rewarded.)
If I never have to ask for a refill of my beverage and water, the tip goes up. (If you're going above and beyond, so will I.)
If the food is better than expected for that class of restaurant, the tip goes up. (I came here for the food. I hope you share your tips.)

Generally, it's pretty dang easy to get to 20%, and you have to basically be phoning it in to get 10%. Note that I round the final result to a dollar amount, and the percentage of the tip is based on the pre-tax subtotal (since the government gets the tax, it's not part of the food or service price).

All this excludes significant problems. The quality of a restaurant's service is not really in its day-to-day service, but in how they handle dining disasters -- did you forget or drop my dish? Did you get the order wrong? Does what's delivered not match the menu? Was something under- or over- cooked? Did the food go bad? Was there something _in_ the food that shouldn't be there? These sorts of problems eventually crop up at any restaurant, and this is where I really start to pay attention to how they're resolved.

Do they apologize? (If you don't apologize, you're not sorry, so that means this is expected or that you don't care. Either way, bad.)
Do they make excuses? (Excuses are bad. They don't fix the problem. They don't make things right. They just waste my time and your time.)
Do they get the manager involved? (Better, but it indicates that you don't have the authority to make things right, or you don't have a policy of how to make things right.)
Do they not charge me for the item? (Minimum expected behavior. If you don't do this, I'm likely not coming back, or if I do, 10% is the tip ceiling.)
Do they not charge me for any of my meal? (Good! I had a bad experience, but at least it didn't cost me anything.)
Do they not charge me for any of my meal and give me something extra (e.g., a dessert)? (Great! I had a bad experience, but it didn't cost me, and you demonstrated that you were actually sorry about it. I will strive to become a regular, and will suggest your establishment whenever folks wonder where to go to eat.)
Do they not charge my party at all? (Awesome! Your establishment is so committed to superb service that they'll eat the cost of a screw up. That's dedication. I will be back. I want to send all of my friends to your place, because it's a guaranteed good time. I will make friends with strangers for an excuse to introduce new people to your place.)

If I have to push for something to be done, or ask the the manager, or make a fuss... that's a failure. The wait staff has just ruined my experience by Not Doing Their Job. I will be unhappy. I do not like to be unhappy. I do not want to be unhappy. My unhappiness will be expressed in my tip, and in future choices, and in how I describe the establishment to friends, acquaintances, and outright strangers.

Some common objections when I float (bits of) the above in conversations:

"If they're slammed, you have to take that into account."

No, I do not. It's not my fault that the manager didn't allocate enough staff to serve the people he let in. Hire more or better staff (you may need to pay them better). Increase the size of the kitchen and decrease the size of the seating area.

"It's a hard job."

It's part of the job. Do the job, or do something else. Paying someone to NOT do their job is incredibly stupid.

"They might be having a bad day."

Yes, and so might I. I went out and GAVE SOMEONE MONEY so I could have a better day, and they made it worse. And kept my money. I assure you, me spending money to make a bad day worse is in no way a better experience than someone *getting* money for having a bad day.

User Journal

Journal: Copyright and Scarcity

Journal by SJS

I'm a bit annoyed at the use of Copyright to stop the publication of a work. Specifically, a rulebook for tabletop gaming.

I understand, and support, paying the creator for his work by granting a limited monopoly for a period of time. Copyright isn't generally a BAD thing.

But when it's used to KEEP works from being published (presumably so the users will be forced to upgrade to a later version), it seems to violate the spirit of the law, and I wonder if perhaps there isn't a way to fix that. Mandatory licensing if the work in question is out of print for more than three years?

User Journal

Journal: On Miserable Programmers

Journal by SJS

There's an article on GarlicSim that caught my attention . . . http://blog.garlicsim.org/post/2840398276/the-miserable-programmer-paradox

And it just doesn't make much sense. Perhaps it's just an oversimplification of how things actually work, or it's a sign of a programmer with limited experience, or maybe I've been lucky. More likely, my metrics are different.

So... what makes a programmer happy? For me, and most of the good programmers that I've worked with, what makes a programmer happy is accomplishments. The code compiles, then passes unit tests, then integrates with everyone else's code, then passes integration, functional, and acceptance tests, demonstrates well, and makes the customer happy. Good programmers also take pride in their work, so there are internal metrics that bring them happiness as well -- the code is well-documented, well-structured, organized, readable, maintainable, garners admiration from fellow coworkers, and/or is adopted by coworkers and associates; junior programmers become respected senior programmers under one's mentoring, bad programmers depart in shame, etc.

Contrariwise, miserable programmers have few events that make them happy. It's really a flux thing -- if you measure happiness-events per day, you're going to be a happy programmer; if you measure days, weeks, or months between happiness-events, you're going to be a miserable programmer.

So what's the crux of the argument on GarlicSim?

Interrupting the train of thought is bad. Not interrupting the train of thought is good.

This is not a measure of happiness or miserableness. This is a measure of OCD, or possibly Vingean Focus.

So the GarlicSim article isn't *entirely* wrong... it's just missed the basic mechanism. Interruptions slow down work, which slows the rate of happiness-event, which increases misery. Using bad tools means that more of the programmer's time is spent fighting the tools instead of getting those incremental rewards, which means when you find programmers that put up with crappy tools, they tend to be unhappy programmers. (A programmer who has a tool that's too clever will be happy, but might make a lot of other programmers unhappy. Who cares if you've figured out how to make emacs use eliza to 'help' you write documentation?)

Somewhere in this division of labor between "good technologies" and "bad technologies", "work" has been lost. Solving the problem, expressing the solution, and demonstrating the result is the work that the technologies facilitate or hinder. To put things like "go to a specific line number" in the "good technologies" and everything else in "bad technology" seems to miss the point -- work still needs to be done, and since there's no way to reduce that part to a shortcut, 'work' ends up in the 'bad technologies' slice of the pie.

Whoops.

And yet there are people who think that programming would be a lot more fun if it wasn't for those pesky requirements.

Computers should eliminate the tedious, the boring, and the error-prone tasks. Finding the right tradeoff is a matter of personal preference, the problem at hand, the environment you're working in, and the constraints you're working under. And, of course, being the kind of person who enjoys telling computers what to do.

User Journal

Journal: Whiners

Journal by SJS

Apparently, the folks behind "Hudson" (a project I've never heard of and probably don't care about) are so upset with Oracle that they're going to change their name.

(See http://www.hudson-labs.org/content/hudsons-future )

Has Oracle actually done something objectionable, with regards to the Hudson project?

No.

Has Oracle indicated that they're likely to do something objectionable, with regards to the Hudson project?

Again, no.

But, you see, they /might/. And because they might do something objectionable in the future, it's vitally important *now* to adopt the course of action that would be required later.

There's a possibility that something bad might happen, which would require the project to take drastic steps to, oh, change its name or something. Because that's such a terrible prospect to consider, obviously the best way to keep that from happening is to act as if the bad thing has in fact happened, and take the drastic step of renaming the project.

Yes, it doesn't make sense to me either. It's like giving yourself a black eye before the alleged neighborhood has spoken a harsh word.

Some people just have to borrow grief.

User Journal

Journal: Android and the iPhone

Journal by SJS

Well, I now have an Android phone.

And, frankly, I don't think Apple has much to be worried about.

Sure, it's a sexy little phone. A little bit sleeker than my year-old (to me) refurbished iPhone 3G. It has a mini-SD card that I can replace, unlike the iPhone. It has a battery that can be replaced, unlike the iPhone. The camera has a flash, unlike the iPhone.

But despite all that, I don't see giving up my iPhone anytime soon. The user-experience of the iPhone is miles ahead of the Android, and it appears that the Android isn't even heading in the same direction. The Android seems to be taking the standard path set out by all the previous phones I've owned: cluttered and crowded screens, non-orthoganal commands, and a reliance on convoluted menu trees.

On the iPhone, the natural gesture is the tap. Want to do something? Tap the thing on the screen and see what you can do.

On the Android, the natural gesture is the menu. Want to do something? Hit the menu button.

Granted, I've only been playing with it for half a day, but I'm far from impressed. Had I purchased this phone with my own money to replace the iPhone, I'd be extremely upset about now. As it's a work phone... meh. It's there for three things:

1) To receive (cell) phone calls.
2) To make (cell) phone calls.
3) To receive work-related email when I'm away from my desk.

It'll do just fine with that.

But I'm not giving up my personal iPhone. And I don't think I'm the only one.

Pity, really. I had hopes that the Android might give Apple some competition in the UI space.

User Journal

Journal: Have Axe, Need Grindstone

Journal by SJS

How the lessons of the past are so easily lost....

According to SecureCoding.Cert.Org, using a goto is the recommended way to write secure code. Let's just forget about how goto is universally abused by mediocre and undisciplined programmers to create comprehensibility and maintainability nightmares, and concern ourselves only with the ideal situation.

Bah.

The example is a clever bit of sleight-of-hand. A single-entrance-multiple-exit-no-goto approach is contrasted with a single-entrance-single-exit-using-goto approach. The appearance is that apples are being compared to apples, but what's actually going on is that apples are being compared to potatoes (i.e., earth apples).

The "this is how you write the code without gotos" example really should be code that's as equivalent to the "this is how you write the code with gotos" example. And if the authors can't see a way to write that sort of code (it's pretty damn obvious, IMNSHO), they're not really qualified to make the sort of judgement they're making.

It may be that one could argue that the goto-using code is still cleaner, but if you don't do a reasonable job in creating the contrasting code, that argument rings hollow. It's arguing in bad faith. It's dirty pool. It's *slimy*.

Cert doesn't get a biscuit.

User Journal

Journal: Back!

Journal by SJS

A new machine is a good time to re-evaluate how one's been doing things.

Such as logging _in_ to Slashdot.

Let's see how the new interface holds up.

United States

Journal: Water Rights

Journal by SJS

Ran across a pathetic entry on qbit.cc on water rights, but the the page required Javascript to leave comments -- so the site is run by (an) idiot[s].

Not surprising, as the author of the entry was profoundly upset at the idea of water rights. Apparently, this idiot worries about the government enslaving people by controlling the water, but never reflects on the subject for five minutes to think about what the underlying problem might be: else he (or she) might have had an actual thought, and perhaps wondered what would happen if, instead of a government (answerable to all of the people) controlling the distribution of water, a random citizen were to "enslave" people by controlling the water.

Many laws are bloated, twisted, unreadable, useless, and stupid -- but most of the laws that affect most of the people in the country are, oddly enough, not without some sort of justification. They address a problem, concern, or issue, that was or is important. Sure, the law may introduce a different problem, but that, too, is often addressed by the law (which is how we end up with such bloated, twisted, unreadable legal codes).

This isn't to say that laws shouldn't be routinely challenged, or re-evaluated; it just means that we should take a little time to learn some of the history of the issue, and ponder the concerns the law was apparently made to address. It may be that our national values have changed since then (it used to be -- as in before I was born -- illegal for a non-white to own my house, for example, something I find quite offensive), or not (I quite like it being illegal for someone to shoot me just because).

Programming

Journal: parenthesis

Journal by SJS

I ran across http://wordaligned.org/articles/brackets-off and, well, I disagree.

"Thomas Guest" writes:

And secondly, if a coding standard were to rule on how to parenthesise, it would be difficult to find a middle ground. This leaves as candidate rules the two extremes:

1. parenthesise everything
2. never parenthesise

The first quickly leads to unreadable code. The second seems overly proscriptive.

Thomas misses the obvious middle-ground: parenthesize everything where order matters.

Sure,

x = ((((a * b) * c) + e) + f);

may be overkill, but even the most passionate parenthesize everything advocates don't go that far; they write

x = ( a * b * c ) + e + f;

where every operation at the same level of precedence is left alone. This provides maximal clarity and promotes readability, as the reader doesn't have to think about the order of precedence for that language.

He then goes on to discuss order of precedence as if it's a universal rule, rather than a convention of infix notation in programming languages. (I've had this discussion with people, some of whom could not be convinced that precedence was anything other than a convention, arguing that it derives from fundamental principles of mathematics that I was too stupid to comprehend and thus it wasn't worth explaining.)

Perhaps Thomas should try programming in more than just one language. I suggest Smalltalk.

Programming

Journal: Dumb DHL

Journal by SJS

I bought something online. DHL was the cheapest/fastest combination offered, so that's the shipping method I selected, and I've always used FedEx or UPS, so variety is good, eh?

And, this being the Bright New Future, I received a link to the DHL tracking page for my order. Hurrah!

Then I follow the link to see what the status of my shipping order is... and I get a blank page. WTF?

I poke around and discover that the "tracking link page" is nothing other than a form, with all fields hidden, and a fragment of Javascript to change one of the hidden fields and then submit the form. Really, it does nothing of any importance whatsoever, other than consume time, waste bandwidth, and exercise some idiot's Mad Javascript Skillz.

I fix up the page, rip out the Javascript, add a proper submit button (why do so many "web developers" despise the submit button? ), and visit the real tracking page. Whereupon I'm informed of all the information I desire... and I'm also presented with a notice that I am either using a browser that doesn't support Javascript, or that I need to enable Javascript in order to use the page.

Dumb. I already used the page. I discovered the information I was looking for.

Of course, if someone at DHL runs across this, I see three ways it can go:

  1. Nothing happens. I'm a crank on "the internet" and it's vitally important not to upset the web developers by offering up criticism; besides, I should just get with the program and jump on the Web 2.0 bandwagon and trust everyone already, instead of being a paranoid freak.
  2. The "programmer" in question takes offense at my Mad Javascript Skillz comment, and further obfuscates the javascript and content, so that I need to spend considerable time reverse-engineering (and presumably I would then give up and concede that my it's-my-computer-not-yours-keep-your-hands-off attitude is no match for mad skillz, and join the rest of the shee^Wpeople in enabling Javascript because that's what everyone else does) the page.
  3. This gets to an actual programmer who looks it over, realizes that this "technique" is indeed entirely bogus, and rips it all out, or at least makes the few minor changes needed to have the system work just fine with and without Javascript.

I think the middle option is actually the most probable outcome, and would demonstrate level of corporate stupidity that moderately intelligent people have come to expect.

Role Playing (Games)

Journal: Arkham Horror

Journal by SJS

I played Arkham Horror [ http://www.fantasyflightgames.com/arkhamhorror.html ] for the first time the other night. I played the nun (7 SAN and "never lost in time and space" were the big draws), managed to engage in quite a lot of combat (especially for a newbie), and had a great time.

By the end of the night, I was almost managing to remember what to for each phase of the game.

Oh, and we "won".

Great fun.

Software

Journal: On Selling Software

Journal by SJS

I spent some time today looking for spreadsheet and word-processing software for my new MacBook. I figured I'd look to see if there was anything worth spending money on.

I had mixed results.

Some vendors offered a trial version, others, not so much. I found this astonishing... there are free-as-in-beer alternatives out there. Why for the love of ladybugs would I pay to check out some software? Because the marketing hype is so convincing? I think not!

But, that simplifies the process a bit. No trial version? Move on to the next product in the list.

Some vendors would offer to give me a trial version, but they wanted contact information first. I'm just browsing, folks; I do not feel like providing you with a name and email address. I get enough junkmail as it is, I don't need something more to ignore (or directives to go to a website to unsubscribe from something that I never wanted in the first place). Move on to the next product in the list; I'll come back if nothing else can do the job, but otherwise no go.

Now we're cooking with gas. I happily download several .dmg files (I have become a heavy user of tabbed browsing, and will often take actions in parallel). I mount each of 'em in turn to start evaluating the products.

Some of the programs are installers. They want to splatter themselves across my system for a trial version. Sorry, no. Move on to the next product in the list.

But some... some products let me run them straight from the .dmg -- drag-to-where-you-want-it kind of installation. These I can evaluate. Some work better than others, of course, but that's why I'm doing the little evaluation dance.

These vendors deserve a biscuit.

However, that's not the point of the ramble. I'm concerned with the reasoning behind those vendors who made it difficult (or at least annoying) for me to evaluate their product. How does this happen?

And why?

Security

Journal: UNIX and Security

Journal by SJS

I was poking around on the apple discussion boards, and ran across some assertions by one Scott Radloff.

He explains that OS X is safe from viruses because it's UNIX, and then he goes on to assert a number of things about UNIX that just aren't so, to the best of my knowledge. The thing is, I've heard these assertions before, from Linux advocates mostly, which means this isn't just another standard case of excessive Mac advocacy.

Scott first asserts that UNIX was built with the Internet in mind. To the best of my knowledge, UNIX was first conceived and built prior to the Internet, and its basic structure and principles were established before even the Internet's precursor, ARPANET.

Scott further asserts that "UNIX was conceived as a rock-solid fortress of security". This is laughable, as even a cursory reading of UNIX history reveals that UNIX is very much a "good enough" system. The name itself is a pun on MULTICS, about which one might be able to defend Scott's assertion. UNIX was a simplification over MULTICS (thus the pun).

This isn't to say that UNIX lacked any sort of security. UNIX was built in the days of timesharing computers -- many users, one machine -- so naturally there are *some* controls in place. Just enough to do the job, however, which is a far cry from being a fortress. Many of the modern UNIX security advantages are due to efforts to retrofit a better security system on to UNIX, rather than to design it in from the very beginning.

(MSWindows, on the other hand, comes from a tradition of microcomputers, which were not typically networked, and had one user per machine. NT attempted to bring a more sensible infrastructure, but by all accounts, that's mostly been subverted in the name of market share. And hey, it's the right business decision for Microsoft: most of their users don't actually want security.)

Scott's assertion that MSWindows "began life as no more than a port of the early MacOS to the PC" is a huge stretch. But then, when I think of "port", I think of starting with a copy of the source code of what I'm porting, not an attempt to reimplement functionality from scratch. If MSwindows is a port, then so is MacOS -- Xerox invented the GUI, after all.

Scott then oversimplifies the concept of a virus (or, less charitably, demonstrates an ignorance between virus, trojan, and worm). He, like many "UNIX-is-secure-out-of-the-box" advocates, miss the point.

A virus doesn't have to compromise the whole machine. It just has to replicate somehow.

So long as you, as a user, can create and run executable programs in your home directory, you can, in theory, support a virus.

Why there aren't viruses galore for the UNIX platforms I don't know -- it may be that the kind of person who would write a virus can't justify spending the money for a Mac or UNIX box (or can't figure 'em out); or that there aren't enough UNIX users among the general population to keep a virus viable; or that there are UNIX viruses but they're very slow, very subtle, and don't break anything; or that UNIX users tend not to run everything as root or the administrative account, making the payoff less juicy; or that the virus-writers believe the hype, and just don't try.

One of the things that most UNIXes get right, but OS X gets wrong, is that they have you create a "normal user account" in addition to the root/administrative account. The first user you create in OS X is, by default, the Administrative User. There's a reasonable justification behind it -- most users won't or can't track two distinct accounts -- but it's still uncomfortably close to the MSWindows "solution" of making everyone a Administrator so they can get their work done.

Remember, one of the first viruses ever created was created on a UNIX machine. Some of the most widespread worms spread on UNIX machines. UNIX isn't immune to malware, at least not if you have a gullible user.

Update: Seems like I'm not the only one annoyed by this attitude. I just ran across this article on unix viruses.

User Journal

Journal: Upgrade Hell (with a Biscuit)

Journal by SJS

I wanted to run some OSes in a virtual machine on my laptop, but my venerable Titanium Powerbook just wasn't up to the task. It's short on disk, short on power, and starting to fall apart. So in the middle of January, I go and buy a MacBook.

(I looked at a variety of machines, but the constraints were simple: it had to ship with some variant of *nix, support wireless out of the box, and have a keyboard I could enjoy, or at least not loathe, typing on. The last is often the killer... I could've gotten a macbook pro, but the keyboards suck, for me.)

Since I'll be using this laptop for presentations, I ask the guy in the store: "This WILL run all of my existing PPC software, right?" "Yes, unless it's Classic. If it's OS X native PPC software, this macbook will run it out of the box."

Cool. That's what I need to know. Transaction ensues. New laptop is brought home.

I dig out the box for Keynote. I install Keynote. It crashes on startup.

Crap. Okay, let's poke around the Apple site.... good, here's the upgrade to 1.1.1 -- and it says this makes Keynote work for all versions of OS X 10.2.8 and later.

Download. Install.

Crashes on startup (got a little farther, but not much) again.

Damn, damn, damn.

Okay, time to use that AppleCare support I bought. My new laptop won't run software that it ought to run. I call... and end up on hold.

Eventually, I get thru to a nice support lady, and we fix the permissions, verify the partition, reinstall, and do the fix-permissions dance again.

No joy.

It _ought_ to work, but it doesn't. So... she bumps me up. Back on hold.

Eventually, I get a guy, who listens to the problem, listens to what we've done so far, agrees that it ought to work, and then explains that he'd have to spend some time researching this to find out what's wrong, and it would be faster to get bumped over to iApps Support.

Okay, fine. Back on hold.

Ten minutes in, a voice tells me I'll be with a representative inside of 15 minutes. An hour and twenty minutes later, I finally talk to someone.

He stalls on the fact that I'm having a problem with Keynote. He corrects me: "iWork".

We go around and around; he all but calls me a liar, not until he takes my CD's version number and goes away for another quarter-hour does he come back and acknowledge that, indeed, I do have Keynote, not iWork. (No apology, either.)

He then asks how I can expect such old software to work anymore. I point him at the Apple Website, and point out the bit where it says "10.2.8 or later", and get him to grudgingly agree that 10.5.1 is, indeed, "later".

"But that's an old website!" he cries. "How can you expect it to apply?"

The fact that it's an Apple website makes no difference to this drone. In fact, the suggested solution is that I go out and purchase iWork 08.

No admission that perhaps the website is misleading.

No pointer to an announcement that Keynote 1.1.1 wouldn't be supported on OS X 10.5.

No promise to fix the misleading website.

I should just go out and drop close to $90 on a new copy of iWork. (Well, he said $79, but then there's at least $8 in taxes on top of that.)

Now, I'm not against paying money for value received. Fair is fair.

But to break working software, and then to suggest that the solution is to buy more than what I want (I don't need the rest of the crap in iWork) to "upgrade" what was broken, well, I've seen that attitude before, and I want nothing to do with it.

But I've been on the phone for four hours by this point. I'm tired, hungry, cranky, and am being given crap by some jerk on the phone who is trying to tell me that I just need to spend MORE money because the promises made by Apple employees don't mean anything.

In short, I'm pissed.

No way in hell am I going to go buy iWorks anything. This is a good way to lose a customer, Apple. Shoot, this is exactly how Microsoft lost me as a customer; I used to grudgingly accept their dominance, at least at work, until I got exactly this sort of treatment,and decided that I, as a customer, could not in good conscience give my money to a vendor who treated me like that.

So... a biscuit to the Apple hardware folks.

No biscuit to the Apple iApp folks.

It's not that it would have been hard to treat me as customer.

I didn't expect to be _given_ a copy of iWork 08 (although, that would have been nice). A discount for upgrading iWork would have been plenty of motivation; AT LEAST stating that the Apple Store employee was wrong in his assertion that OS X PPC software would run on the new laptops, that the website was wrong to say "or later" instead of giving an explicit version range, and promising to fix the website RSN, would have begun smoothing ruffled feathers.

If they can't be bothered to treat me like a customer, I can't be bothered to give them money, or talk nice about 'em.

So, time to look at the competition.

I still don't look at Microsoft. Sooner or later, they'll screw you.

NeoOffice still wants a package installer. No go.

OpenOffice, however, lets me drag-and-drop from the DMG file.

Huzzah!

OPEN OFFICE ORG GETS A BISCUIT!

However, OOo falls down after a bit, it seems. Some sort of X11 error.

However, the OOo Aqua alpha version runs, and seems pretty stable for alpha software. It's ugly as sin at the moment, but it'll play a presentation on the new laptop. I tried using it to create my presentation, but it's still a bit rough, but I can still use the old machine to create a Keynote 1.1.1 presentation, and then export it so the OOoAqua can play it.

I have great hopes for OOo Aqua.

Still... OpenOffice.org has changed for the better.

That's progress.

Have a second biscuit.

"Nuclear war would really set back cable." - Ted Turner

Working...