Back to previous post: Open Thread 88

Go to Making Light's front page.

Forward to next post: Trauma and You, Part Two: Shock

Subscribe (via RSS) to this post's comment thread. (What does this mean? Here's a quick introduction.)

July 15, 2007

We’re back
Posted by Patrick at 08:23 PM *

And yes, we were seriously munged much of today. For details, start with this comment, read the rest of the thread, then jump to the conversation here. Briefly, we couldn’t publish new posts to the front page, and although new comments could be posted to individual threads, the front-page comment counts and sidebar recent-comment list weren’t updating. The one thing we could do was post to Sidelights and Particles, so we used those to send up the bat-signal. Thanks to the many, many people who gave us help and advice, including Ken Snider, Mary Dell, Kathryn-from-Sunnydale, Abi Sutherland, Cory Doctorow, Lisa Spangenberg, Michael Croft, Todd Larason, Erik V. Olson, and the many people in the two discussion threads.

Just what I wanted when I’m in Seattle trying to get ready to teach a week of Clarion. And just what Teresa wanted when she’s about to [SENTENCE REDACTED]. As you might imagine.

The hell of it is: we still don’t know for sure what happened. Hosting Matters, our hosting provider, had a planned outage at 6 PM EDT tonight. After that happened, they had a plan to try to replicate the problem while they monitored server logs in realtime. But what happened? You guessed it: the act of rebooting the server made the problem go away. This sort of thing is why Nielsen Hayden’s First Law of Computers is “computers don’t work.” Take this as axiomatic and the stress you derive from modern life will diminish markedly.

Comments on We're back:
#1 ::: Fragano Ledgister ::: (view all by) ::: July 15, 2007, 08:28 PM:

In a word: Yay!

#2 ::: CosmicDog ::: (view all by) ::: July 15, 2007, 08:34 PM:

I may be a new kid around here, but I was really missing you all. I'm glad that we're back.

#3 ::: Michael ::: (view all by) ::: July 15, 2007, 08:41 PM:

Glad you're back, and I'm glad that none of my more dire imaginings were correct.

#4 ::: MikeB ::: (view all by) ::: July 15, 2007, 08:42 PM:

Welcome back!

I thought the act of sending signals through the Particles and Sidelights lent a fine SF flavor to the proceedings. "Help, we're trapped in a parallel universe! Send a PHP hacker through the Gate!"

#5 ::: ethan ::: (view all by) ::: July 15, 2007, 08:45 PM:

Which Nielsen Hayden formulated that law? Or was it a collaboration?

I'm surprised, by the way, that there hasn't been more theorizing about what Teresa's up to. I can't think of anything suitably juicy myself.

#6 ::: "Charles Dodgson" ::: (view all by) ::: July 15, 2007, 08:48 PM:

Her Foo Camp report, perhaps?

#7 ::: Michael ::: (view all by) ::: July 15, 2007, 08:49 PM:

@Ethan #5: Hush, man! Do you want to be [REDACTED]?

#8 ::: Mary Dell ::: (view all by) ::: July 15, 2007, 09:09 PM:

Hooray! You're back! I'd bet that their recent perl upgrade required a reboot to get it playing nicely with the MT plugins that were loaded into memory with the previous version. And they didn't do the reboot, because rebooting unix/linux is gauche.

All of the stuff on a computer runs in kind of a stack, with the OS on the bottom and PHP and java script and so forth higher up the stack. Perl is somewhere in the middle, as is java. Changing one of those versions without rebooting can sometimes (not always) disrupt the items further up the stack. Like Jenga, played for lots of money.

It's also possible that the server was horrified by the fragility of the human body as described in Jim's new post, and fainted.


#9 ::: John Houghton ::: (view all by) ::: July 15, 2007, 09:14 PM:

In my 30 years of technical support on various computer systems, networks, and storage systems, I've learned that there is no problem with any computer that cannot be solved by the suitable application of high explosives.

#10 ::: "Charles Dodgson" ::: (view all by) ::: July 15, 2007, 09:17 PM:

Mary@8: That's a reasonable guess. FWIW, the "right" way to deal with this situation is to restart all the affected servers --- but depending on how Hosting Matters has things configured, a reboot might be, practically speaking, the easiest way to do that.

#11 ::: Adam Lipkin ::: (view all by) ::: July 15, 2007, 09:21 PM:

You guessed it: the act of rebooting the server made the problem go away.

Old computer joke:

Four engineers are driving when their car breaks down.

The mechanical engineer says that the only way to fix the car is to replace the pistons in the engine. The chemical engineer says that they'll need to clean out the fuel system. The electrical engineer says that the problem might be with the spark plugs.

Finally, the computer engineer pipes up and suggests that the best thing to do is take the key out of the ignition, get out of the car, close the doors, then get back in again.

#12 ::: CHip ::: (view all by) ::: July 15, 2007, 09:22 PM:

#9: depending on just how much explosive you use, that could give a whole new meaning to "If you're not part of the solution, you're part of the precipitate."

#13 ::: ethan ::: (view all by) ::: July 15, 2007, 09:25 PM:

Oh, no...please don't [REDACT] me!

#14 ::: Seth Breidbart ::: (view all by) ::: July 15, 2007, 09:28 PM:

Computers do exactly what you tell them to.

The only hard part is figuring out just what you told them to.

#15 ::: P J Evans ::: (view all by) ::: July 15, 2007, 09:43 PM:

On rebooting: at work, we reboot first and then we call the Unhelpful Desk. Saves a couple of minutes since that's the automatic first suggestion, and frequently (but not always) fixes whatever-it-was.

The Unhelpful Desk is part of the Canadian Borg Collective, anyway. (They're somewhere in Quebec.)

#16 ::: Lizzy L ::: (view all by) ::: July 15, 2007, 09:44 PM:

Oh, phooey, Adam, I was going to tell that joke. Hey, glad you're back.

#17 ::: P J Evans ::: (view all by) ::: July 15, 2007, 09:50 PM:

I had to explain '120 reset' the other day at work, WRT our group's antique printer (it's a Laserjet IV). Good Ghu, don't they teach kids this stuff?

#18 ::: Linkmeister ::: (view all by) ::: July 15, 2007, 10:05 PM:

Seth @ #14, in one of Dick Francis's books (possibly Twice Shy) computers are acronymmed (word?) as TOMs: Totally Obedient Morons.

That's not much help if you're the programmer, but still...

#19 ::: Linkmeister ::: (view all by) ::: July 15, 2007, 10:10 PM:

It is Twice Shy, and while poking around at Amazon I learned that Francis has a new novel coming out September 17, co-written with Felix Francis, presumably a son or son-in-law. It's called Dead Heat.

#20 ::: Mary Dell ::: (view all by) ::: July 15, 2007, 10:15 PM:

Adam Lipkin @#11: Heh. Too true. I've heard a couple of other versions:

1. Car zooms down a hill and crashes into a tree: "let's push it back up the hill and see if it does it again."

2. Car gets a flat tire: "let's drive it around the block and see if it gets better."

#21 ::: Christopher Davis ::: (view all by) ::: July 15, 2007, 10:17 PM:

P J Evans (#17): The BRS is no longer big, or red, or often even a switch. It's just not the same these days with a button that you have to hold in to "really" power the machine off...especially since that doesn't actually cut power.

#22 ::: David Dyer-Bennet ::: (view all by) ::: July 15, 2007, 10:24 PM:

Adam @ #11: Interesting blend (from my point of view) of the different versions of that story I know :-).

The version I think of as canonical is: How do you recognize a DEC field-service engineer with his car at the side of the road with a flat tire? Simple, he's the one swapping the tires around to identify which one is flat. How long will it take him to fix it? Depends how many flat spares he brought with him.

Both that version and your version miss my favorite line from this group of stories though (yours sets it up but doesn't cash it in). The purpose to having everybody get out and get back in is "in case it's a seating problem", i.e. one of the circuit cards in the computer not properly attached to the bus/backplane/whatever.

#23 ::: Julie L. ::: (view all by) ::: July 15, 2007, 10:26 PM:

ethan @13: TNH iz in ur spekul8shnz, [RDCTNG] ur [RDCTD].

#24 ::: Skip ::: (view all by) ::: July 15, 2007, 10:43 PM:

Adam@#11: Don't forget, if the Computer Engineer is from Microsoft, he'll need you to close all the windows first.

#25 ::: Patch Mulberry ::: (view all by) ::: July 15, 2007, 10:49 PM:

Glad you're back!

#26 ::: Suzanne ::: (view all by) ::: July 15, 2007, 11:08 PM:

Hey, so what time and where do we tune in for the big sekrit news? Will it involve ninjas? Wizards? Ninja wizards?

Teresa taking over the world with ninjas would make monday an infinitely more bearable day.

#27 ::: C.E. Petit ::: (view all by) ::: July 15, 2007, 11:11 PM:

Then there's the lawyer version.

A man asks his neighbor the engineer, "What is 2 plus 2?" The engineer pulls out a calculator and does a couple of operations, and announces that it's approximately 3.999999, but he isn't sure how many significant digits are at issue.

Confused, the man asks his neighbor the CPA, "What is 2 plus 2?" The CPA explains that the answer really depends on whether he can write part of one of the 2s off against good will, and whether the other 2 depreciates on a straight-line or accelerated basis.

Even more confused, the man asks the guy across the street, a lawyer, "What is 2 plus 2?" The lawyer looks around to make sure no one else is listening, then asks him, "What do you want it to be?" (The next joke in the sequence is the lawyer's bill... but it's not really a joke.)

#28 ::: julia ::: (view all by) ::: July 15, 2007, 11:24 PM:

Is this the new open thread? Because we just came back from watching the new Harry Potter in the dome IMAX theater at the Cradle of Aviation Museum (which turns out to be a remarkably cool place in and of itself, and waiting to be discovered and become too crowded), and watching a Harry Potter movie wrapped around your head from above is a remarkably disorienting experience. It turned out not to be the IMAX 3D version, but then if it had been I imagine a lot of people would have crashed their cars on the way out of the parking lot.

They had flyers on the way out for a model rocketry exhibition which, Stef, Uncle P tells me is connected in some way to LIARS.

It was a pretty good experience, if not a remarkably good movie or adaptation of the book. Imelda Staunton is worth the price of admission.

#29 ::: Madeleine Robins ::: (view all by) ::: July 15, 2007, 11:42 PM:

Welcome back!

Technology is our friend, unless it really, really isn't.

#30 ::: Evan Goer ::: (view all by) ::: July 15, 2007, 11:44 PM:

Then there's the version where various technical types are trying to prove that all odd numbers are prime.

First goes the engineer. "1 is prime, 3 is prime, 5 is prime, 7 is prime, 9 is prime -- hmmm, we'll get back to that one -- 11 is prime, 13 is prime. Well, that '9' must have been a bad data point, so we'll throw it away. All odd numbers are prime!"

Second goes the statistician. "1 is prime, 5 is prime, 37 is prime... within our margin of error for this sample, all odd numbers are prime."

Third goes the theoretical mathematician. "1 is prime. The rest by induction."

Fourth goes the computer scientist. "1 is prime, 3 is prime, 5 is prime, 7 is prime, 7 is prime, 7 is prime, 7 is prime, ..."

Fifth goes the economist. He sits and thinks for a long time. Finally he says slowly, "Well... 4 is prime..."

#31 ::: abi ::: (view all by) ::: July 15, 2007, 11:57 PM:

Welcome back to the real place. It was a pleasure having the visitors (and would have remained such, for however long it was needed), but this is where this community belongs.

Patrick, enjoy Clarion; we'll burble along here just fine now. Teresa, we look forward to whatever of [REDACTED]* hits our shores. Coming from you, I'm sure it will rock.

-----
* Did the first dacting not work, that you had to do it again?

#32 ::: Patrick Nielsen Hayden ::: (view all by) ::: July 16, 2007, 12:24 AM:

Julia, #28: "Is this the new open thread?"

Actually, the new Open Thread is here, cowering beneath the weight of yet more terrifyingly accurate EMS information from Our Jim. (Coming soon: "Someone's Always Having A Worse Day Than You Are, or, The Many Facets of Debridement.")

#33 ::: Xopher ::: (view all by) ::: July 16, 2007, 12:34 AM:

I tried to read the latest TAEMSI from Dread Jim, but I couldn't. I was squeaming at the top of my lungs. I shall have to overcome this and read it, though; if someone died because I didn't, that would be way worse than being grossed out by Jim's graphic descriptions.

#34 ::: ethan ::: (view all by) ::: July 16, 2007, 12:38 AM:

Xopher: I think I know exactly what "squeaming at the top of (one's) lungs" sounds like, partly because it's a very accurate description, and partly because I was totally just doing it myself.

#35 ::: James D. Macdonald ::: (view all by) ::: July 16, 2007, 12:50 AM:

Hey, Xopher, would it help you to know that I'm toning things down and trying for a light touch?

#36 ::: Xopher ::: (view all by) ::: July 16, 2007, 12:58 AM:

Jim, I'm sure you know that makes it worse.

#37 ::: abi ::: (view all by) ::: July 16, 2007, 01:04 AM:

Xopher @33
...squeaming at the top of my lungs

Which makes me think irresistibly of some of the content in the article, which I will only refer to by its ROT-13'd acronym so the meaning doesn't leap out at you*.

FPJ and FAJ. Particularly the former.

-----
* Yes, I know you'll go through and unpack it, but then it's on your conscience, not mine.

#38 ::: Bruce Cohen (SpeakerToManagers) ::: (view all by) ::: July 16, 2007, 01:26 AM:

abi @ 31

Thanks for inviting everyone over during the recent unpleasantness. Regrettably, I didn't get to take advantage of your hospitality; it looks like whatever problem ML had was causing my Firefox browser conniptions. At one point I was losing a browser instance for every new thread I tried to read, and when I tried to post somsthing about the problem to the open thread, it just packed in for good. So I've been cut off from ML for the last day or so. But things seem to have gotten better, which save me having to tear my system apart to find a non-existent problem.

#39 ::: Bruce Cohen (SpeakerToManagers) ::: (view all by) ::: July 16, 2007, 01:38 AM:

And the reason it took so long for me to get back to checking on how my internet connection was doing is that we've been painting the bedroom and redoing the closet, and I only just came out of it a little while ago :-)

#40 ::: Don Fitch ::: (view all by) ::: July 16, 2007, 01:51 AM:

Patrick -- "Nielsen Hayden’s First Law of Computers is “computers don’t work.” Take this as axiomatic and the stress you derive from modern life will diminish markedly."

This is a glorious example of Stating The Obvious, Perfectly. Two such examples, actually -- one per sentence. Not that either was obvious, to me, _before_ reading this. The best I'd been able to do was along the lines of "Computers & the internet are like Sam: Johnson's description of a dog walking on its hind legs -- you don't expect it to be done well, you marvel that it is done at all", and that was tarnished by the circumstance of Dr. Johnson's original application of it.


#41 ::: Lee ::: (view all by) ::: July 16, 2007, 03:51 AM:

So Bruce, would it be fair to say that you're finally out of the closet?

*g,d&rlh!*

#42 ::: Dave Bell ::: (view all by) ::: July 16, 2007, 03:58 AM:

A computer will do exactly what it has been told to do, but nobody knows everything it has been told to do, and it's too fast for you to change your mind.

#43 ::: David Goldfarb ::: (view all by) ::: July 16, 2007, 04:40 AM:

From a long-ago memory, so probably not quite accurate:

"The thing about computers is that they're extremely fast idiots. They do whatever you tell them, at tremendous speed. Which means that if you order one to kill you, it's very difficult to tell it that you've changed your mind in time.

<countdown clock freezes>
<big grin>

But not impossible."

(From "Robot", Tom Baker's first Doctor Who story, and my first Doctor Who story...one that left me an instant, lifelong fan.)

#44 ::: Jules ::: (view all by) ::: July 16, 2007, 05:17 AM:

Adam Lipkin @11:

Finally, the computer engineer pipes up and suggests that the best thing to do is take the key out of the ignition, get out of the car, close the doors, then get back in again.

Amusingly, I've actually seen that approach work.

The power lead between the battery and the ignition coil had a layer of grime over its terminal that was acting as a capacitor. It would work for a while, and then suddenly stop when enough of a charge had accumulated. Waiting for about a minute (i.e., roughly how long it took to get out of the car, lock it up, think for a moment, unlock it, and then get back in and try to restart it) would let the charge dissipate and the car would start again.

#45 ::: Charlie Stross ::: (view all by) ::: July 16, 2007, 06:11 AM:

Upgrading a stable Perl installation isn't rocket science ... as long as you understand Perl, and how it keeps track of its modules, and are familiar with the magic of CPAN.pm and it's Autobundle method.

perl -MCPAN -e autobundle

is the way to go ...

Unfortunately, most sysadmins (and most Perl programmers, for that matter) aren't au fait with how to upgrade a Perl installation correctly.

Worse: most Linux and other UNIX systems use fairly sophisticated package manager tools to ensure that when upgrading subsystems, everything goes in lock-step and that items that depend on one another get upgraded in the correct sequence. Unfortunately these tools were written by non-Perl-heads and break horribly if you try and upgrade Perl on a system that has any non-vanilla extensions installed. And as Perl is so central to a lot of administrative stuff on *IX these days, they try to upgrade Perl rather than just telling Perl to upgrade itself (which it is perfectly happy to do).

But there's another possibility. MT as of 3.x is compatible with any number of CGI accelerators which work by integrating a Perl interpreter as a module inside Apache, pre-compiling the CGI script, and keeping it resident so that it can serve multiple requests. (Perl is a compiled/interpreted language -- when you run a perl script it compiles it then runs it -- and normal CGI scripts run once then exit. Using mod_perl in Apache saves the compilation overhead, which on a big script like Movable Type can save a lot of CPU cycles.) If they upgraded Perl on the server but didn't restart Apache, and Apache was running with an earlier version of Perl loaded and resident, that could cause awful problems.

PS: Movable Type, to add to the fun, is written in some dialect of Perl that has been hybridized with Klingon.

#46 ::: Nenya ::: (view all by) ::: July 16, 2007, 08:01 AM:

Welcome back! I had read the post saying that you were all doing redacted things and wouldn't be posting, so when I checked back several times and didn't see new posts, I figured that must be why (nevermind how unlikely it seemed that you guys would not post at least something over the course of several days). Didn't even see the temporary picnic at abi's!

(Thanks for doing that, abi. It makes me all warm and fuzzy inside to think of the way ML pulls together when we need it to. Yay!)

(Will read Jim's trauma post. But later, when not about to go to sleep! I talked my family's ear off about seatbelts for weeks after that one.)

#47 ::: Mary Dell ::: (view all by) ::: July 16, 2007, 08:04 AM:

Charlie Stross @#45: That's pretty much what I was thinking with my "Jenga" analogy, but I didn't have the parts figured out. So thanks for breaking it apart...I may have to do this sometime, although we generally leave Perl the hell alone on our systems. We upgrade Java frequently, but we ALWAYS restart apache & tomcat for that.

The package manager thing is a good point--it's particularly fun mixing packaged apps with non-packaged apps (like true Java).

My first rule of unix system administration, developed over years of doing it: "Unix hates you."

#48 ::: Michael ::: (view all by) ::: July 16, 2007, 08:27 AM:

Ethan @13: Learn to love the [REDACTION]

Twenty-twenty-twenty-four hours to go
I wanna be [REDACTED]
Nothing to do, no where to go, oh
I wanna be [REDACTED]

Just get me to the airport, put me on a plane
Hurry hurry hurry, before I go insane
I can't control my fingers, I can't control my brain
Oh no oh oh oh oh


#49 ::: Greg London ::: (view all by) ::: July 16, 2007, 08:46 AM:

And there was much rejoicing!

huray!

#50 ::: MD² ::: (view all by) ::: July 16, 2007, 09:29 AM:

“computers don’t work.”

The gentle autism of technophilia keeps its practioners occupied, and others available.

Welcome back. ^_^

#51 ::: Bruce Cohen (SpeakerToManagers) ::: (view all by) ::: July 16, 2007, 09:51 AM:

Lee @ 41

*paradiddle in the snare drum, a whooomp of the big tom, and smash the cymbals*

And I'll be here all week!


Charlie Stross # 45

Does this mean that a successful MT / Perl upgrade requires that all the sysadmins slap each other on the back and declaim, "It is a good day to upgrade!"?


Mary Dell @ 47

My first couple of decades with Unix were actually quite pleasant; we got along well. It wasn't until we started adding Apache and Perl and Java and JSP compilers and 50 zillion different web programming frameworks that it all got very hairy. So I modify your aphorism slightly: "Unix hates what you've done to it."

#52 ::: Charlie Stross ::: (view all by) ::: July 16, 2007, 10:15 AM:

Bruce: I'm not sure, but I remember when a basic UNIX-oid system (something like Coherent 3.2 or Xenix/386) with development toolchain could fit on four floppies, install in 5Mb of disk space, and run happily on 1Mb of RAM.

These days, Apache alone, with none of the trimmings like mod_perl, is about two or three times that size.

#53 ::: Dave Bell ::: (view all by) ::: July 16, 2007, 10:46 AM:

Charlie, you can still get a working Linux into a 64Mbyte pendrive.

Which is still a horrifying amount of data by early standards.

#54 ::: Greg London ::: (view all by) ::: July 16, 2007, 11:04 AM:

Jules, over on abi's blog you said: "MT::Blog, but clearly 'load(...)' isn't returning the correct object. I can't find where load is defined,"

I poked around a bit.

MT::Blog->load

is a method call. It will look for the load method starting from MT::Blog and it's base classes, which can be done by calling "use base ..." or by directly fiddling with the @ISA array, which MT::Blog does.

@MT::Blog::ISA = qw( MT::Object );

Looking in MT::Object, it doesn't declare a "load" subroutine, but it does contain the following lines:

>> no strict 'refs';
>> *load = _mk_passthru('load');

This assigns the subroutine "_mk_passthru" to the typeglob "*load", which is a way of saying when you call "load", really call "_mk_passthru" and pass in as a string parameter the name of the method it really wants called..

The subroutine _mk_passthru calls

$DRIVER->$method(@_)

which means you need to know what $DRIVER is assigned to (should be a package name), and look for the "load" subroutine/method there.

I don't know the value of that variable, so you'd have to go poking around...

#55 ::: Greg London ::: (view all by) ::: July 16, 2007, 11:08 AM:

Making Light is back.
The computers are working.
[sentence redacted].

#56 ::: Evan Goer ::: (view all by) ::: July 16, 2007, 11:10 AM:

Naw, Unix loves what we've done to it. If it didn't run Apache and Perl and Java and 50 zillion different web programming frameworks and other software that people want to use in 2007, then there would be no Unix today at all.

#57 ::: Charlie Stross ::: (view all by) ::: July 16, 2007, 11:19 AM:

Greg: Six Apart did that in the full knowledge that as of 5.003 typeglobs are deprecated (they're going away in Perl 6, come the millennium). I believe they committed this horror (effectively defining an alias for a method, then throwing it at a random package in the hope it would be able to handle it) with malice in mind; it'd have been a lot clearer if they'd defined a load() method and passed it the driver name as a parameter.

This is what I mean when I say that Movable Type is written in a Klingon dialect of Perl. It's as if they've deliberately gone out of their way to make it hard to debug and maintain, without actually obfuscating it (which would have made it obvious that there are meant to be no user serviceable parts inside).

#58 ::: Faren Miller ::: (view all by) ::: July 16, 2007, 11:54 AM:

Another yay!

I was complaining over at abi's site that "Astronomy Picture of the Day" was also out of whack and "ScienceDaily" hadn't updated yesterday. Haven't checked the latter yet, but the Picture is back. I also feel slightly less persecuted by fate, having found the one grocery store in town that still carries my great addiction, Dannon Coffee Yogurt, as well as discoveing that my diminished credit dollars at the used bookstore still covered nearly all the price of the two magazines I bought yesterday.

Incidentally, there's a great place to gripe about discontinued products and such, at the NY Times' "I Love It, It's Perfect" comment site. (Won't try to go back and look for a link, since it should be easily findable.) So far, I'm the only curmugeon unimpressed by modern hair brushes.

#59 ::: Faren Miller ::: (view all by) ::: July 16, 2007, 11:57 AM:

PS: The Times' gripe site I just mentioned is easily findable, *unless they discontinue it*.

#60 ::: Greg London ::: (view all by) ::: July 16, 2007, 11:58 AM:

Charlie 5.003 typeglobs are deprecated

deprecated, to some, simply means you shut off the warning so perl doesn't complain about it.

;/

I believe they committed this horror with malice in mind;

Well, perl used to be pretty intensive with the typeglobs. If you learned perl from way back when, you had to use typeglobs to do some of the more funky stuff.

But once you know typeglobs, most people seem to have a tendancy to use them even when a more straightforward language solution is available.

They would have had to replace

>> *load = _mk_passthru('load');

with

>> sub load { _mk_passthru('load') }

I don't even mention typeglobs in "Impatient Perl" because I want folks to learn the language first and learn the hacks later.

I was half expecting to run into an autoloader of some kind that would remap any call to any unknown method to _mk_passthru( that method ), which I've seen in perl code before.

Which is maddeningly hard to track down a bug that occurs because you mispelled a method call, and it ends up autoloading a non existing method.

I say that Movable Type is written in a Klingon dialect of Perl.

Well, Damian Conway wrote a perl module so you could write your perl program in Klingon (and it really works), and I didn't see them use that module, so...

;)

He's got another one that lets you write your scripts in latin, including the position independent grammar that goes with latin.


#61 ::: Charlie Stross ::: (view all by) ::: July 16, 2007, 12:11 PM:

I once wrote the autoload method from hell (it was wrapped around a case statement that guessed what you wanted to do on the basis of how many arguments you supplied) ... and bolted it into a mission critical credit card processing system.

I do not recommend this as a Best Practice. (Mind you, I'd already spliced an Eliza bot into the back end settlement server, to assist debugging the programmer when the programmer overheated and began throwing exceptions, so you can guess what state of mind I was in at the time.)

But seriously, whenever I looked at mt.cgi I ended up scratching my head and wondering, "haven't these fools heard of KISS?" -- until I concluded that it was entirely deliberate.

#62 ::: "Charles Dodgsdon" ::: (view all by) ::: July 16, 2007, 12:15 PM:
deprecated, to some, simply means you shut off the warning so perl doesn't complain about it.

Besides, not everyone considers Perl 6 to be within their planning horizon. I think there's an actual book called "Perl 6 Today", but I'm not sure whether it's meant to be technical reference, or near-future SF.

[For the people out there who are wondering what we're all saying in this strange ML thread in which the grammar is English, but the words are something else --- it's a bit like one of Jim's front page posts on Stuff That Can Kill You, But Here's What Happens First, except that the underlying technology is based on software and not biology.]

#63 ::: Greg London ::: (view all by) ::: July 16, 2007, 12:31 PM:

the autoload method from hell (it was wrapped around a case statement that guessed what you wanted to do on the basis of how many arguments you supplied)

One of my first jobs was working on Ada software for a fly by wire computer, so you'll understand if my first thought was wondering which level of hell would be reserved for such a thing.

;)

I understand the need for hacks sometimes. I wrote a module called Devel::Autoprofiler which would go in and find all the subroutines that were declared after it was "used", wrap them in a code profiling subroutine, and then install a destructor that would spit out a report just before the script died to indicate which subroutine got called. And it was set up so that all the user had to do was say "use Devel::Autoprofiler;" and everything else was automatic.

That is probably the most I dabbled in the Dark Arts in one chunk of code.

As for Perl 6, I know it will be out by christmas, I am just hopeful its christmas 2007, though I won't hold my breath. Maybe 2008...

#64 ::: Charlie Stross ::: (view all by) ::: July 16, 2007, 12:32 PM:

About once a year I have a nightmare about Addison-Wesley's royalties database and the Perl book I've owed them since 1996.

It was going to be a follow-up to my web book (which bombed). But my editor left on maternity leave, and her successor didn't reply to email. Then she came back, but then she left for good after six months. Her boss got in touch briefly, but then he left. And then the company merged with Pearson, and a new editor got in touch, but then she left too, and they shut down the entire UK editorial department, and I didn't hear anything more from them, presumably because they'd started firing editors before they could email me and say "how's the book coming along?"

In the nightmare, I realize that Pearson have finally merged their contracts database with Penguin, and in a fit of misplaced efficiency someone has told my editor at Ace that I owe them a book about Perl/Tk. And they won't accept another novel until I've written it, even though it's seven years and counting since I stopped programming for a living and nobody wants a book about Perl/Tk because O'Reilly sort of cornered the market.

#65 ::: Suzanne ::: (view all by) ::: July 16, 2007, 12:36 PM:

#64 Charlie Stross:

You know, I bet you wouldn't have to try hard to be the first person to get their PERL book nominated for a Hugo...

#66 ::: joann ::: (view all by) ::: July 16, 2007, 12:49 PM:

Er, why are all the comments in the "Shock 2" thread a size smaller than usual?

#67 ::: JESR ::: (view all by) ::: July 16, 2007, 12:51 PM:

Technical notes:

1. My husband sometimes ascribes his rise to alpha geek status to instructions he received at the downtown LA Tandy Computer Store where a grizzled old computer repairman taught him just where, when, and how to whack a computer.

2. A couple of years ago, a brother of a friend of mine was fired from a tech support job at a bank. Part of the reasoning behind his firing included "when things go wrong, you just try a bunch of stuff, and it's always the last thing you try that works."

3. The funniest thing Garrison Keillor ever said was at a show at Marymoor Park in Redmond, where he advised the audience that if, at any time, the show was not working for them, they should go back to the parking lot, get in their cars, turn the engines on and off again, and re-enter the venue. (That you can see the gleaming towers of Microsoft from that place might need to be mentioned).

#68 ::: Xopher ::: (view all by) ::: July 16, 2007, 01:03 PM:

JESR 67: Wow, if they fired people for that here, we'd ALL be out of a job.

#69 ::: JESR ::: (view all by) ::: July 16, 2007, 01:05 PM:

Bruce Cohen @51, one of my oldest friends works at the Department of Licensing; the programming environment there is sort of like V-Ger, with the core of some legacy code modules at 1967 levels. He was the guy who had to deal with getting the department past Y2K and the impact of the first Tim Eyman initiative (which reduced car tabs from a percentage of value to a flat $30 and thence dumped about three times normal business on the first week-day in January, 2000). Oh, yeah, on a system with lots of uncontrolled remote input locations.

The system only went down three times, for just over an hour over-all, and people who don't understand that computers are not magic don't get why that's so impressive.

#70 ::: abi ::: (view all by) ::: July 16, 2007, 01:12 PM:

joanne @66
We're speaking in tiny, intimidated voices. Think Piglet.

#71 ::: JESR ::: (view all by) ::: July 16, 2007, 01:13 PM:

Xopher, people get fired for equivalently screwed reasons all the time, the boss class being full of entitlement monkeys with no understanding of 90% of what their hirelings do.

My friend's brother has ascended in the geek hierarchy, as he was soon hired as an alpha tester at a game design group where he has work/played happily ever after. Some terminations are actually launches.

#72 ::: moe99 ::: (view all by) ::: July 16, 2007, 01:18 PM:

Patrick, are you in Seattle now? If so, any chance of pulling a get together?

#73 ::: Jules ::: (view all by) ::: July 16, 2007, 01:19 PM:

Greg: I figured it was something like that, but couldn't quite figure out where to look to find out what the driver module would be.

Anyway, what you say about Devel::Autoprofiler doesn't sound like the dark arts to me. That's just aspect-oriented programming. It's the fact that you did it in _Perl_ that makes it a dark art. ;)

(My last Perl job was in 1999. I haven't looked back since.)

#74 ::: Xopher ::: (view all by) ::: July 16, 2007, 01:24 PM:

JESR 71, oh don't I know it. I was fired from my first QA job essentially for finding too many bugs (it was a source of some satisfaction later to discover that they'd hired 2.5 FTEs to replace me). Fortunately we've systematized "try stuff until something works" enough at my current job that we can talk it up to all but the stupidest entitlement monkeys.

#75 ::: Christopher Davis ::: (view all by) ::: July 16, 2007, 01:36 PM:

Greg London (#60): I learned Perl back in the 3.x days, before the first Camel Book. Typeglobs were the only possible way to do a lot of stuff.

Now I write as much as possible in Python for one very simple reason.

#76 ::: Harry Connolly ::: (view all by) ::: July 16, 2007, 01:40 PM:

I hope you enjoy Seattle. Be sure to check out the downtown library, if you haven't already, and take a tour, if you can spare the time. It's a deeply awesome place.

I work about a block away from it and I never get tired of visiting and looking around. I love it.

#77 ::: Greg London ::: (view all by) ::: July 16, 2007, 01:46 PM:

I figured it was something like that, but couldn't quite figure out where to look to find out what the driver module would be.

Yeah, I'd probably insert a line like warn $DRIVER; but the hosting company might not let me have write privileges on something like that. The other option would be to poke around the directory structure where the otehr .pm files are located, and see if there was a /driver/ directory or a directory full of driver*.pm files.

A last resort would be to cross your fingers and read the code comments and hope it explains what $DRIVER was.

My last Perl job was in 1999. I haven't looked back since.

I think perl has lost some of it's audience, but I kind of hope that if perl 6 ever comes out, it might regain some of that mind share. Right now, perl 5 is simultaneously a really cool, powerful, language and a collection of ugly hacks. Perl 6, at least according to the marketing brochure, looks like a really cool, powerful, language.

#78 ::: Charlie Stross ::: (view all by) ::: July 16, 2007, 01:50 PM:

Greg @77 -- but no typeglobs. Which means NetServer::Generic will stop working, and I'll get a metric shitload of whining support emails, and I haven't supported it since 2000. (It's still in CPAN. I think I forgot my password and probably the account I set it up from. Sigh.)

#79 ::: Greg London ::: (view all by) ::: July 16, 2007, 01:51 PM:

Christopher@75: Typeglobs were the only possible way to do a lot of stuff.

yep. and once most programmers learned typeglobs, they used them even when other, better, options were available. I don't even mention typeglobs in "impatient perl" because they just aren't needed anymore.

You must unlearn what you have learned.
for one very simple reason.

;)

#80 ::: Bill Higgins-- Beam Jockey ::: (view all by) ::: July 16, 2007, 01:54 PM:

In #67, JESR writes:
My husband sometimes ascribes his rise to alpha geek status to instructions he received at the downtown LA Tandy Computer Store where a grizzled old computer repairman taught him just where, when, and how to whack a computer.

Something I wrote in 1992:

This brings back fond memories of the beamline control system we used at Fermilab from about 1983 to 1989. EPICS (Experimental Physics Interactive Control System) depended upon custom terminals with detatched keyboards that got flaky every now and then. (Too damned often, actually.) This resulted in calls from distraught experimenters to the Ops Center.

"My terminal's locked up!"

"What's the matter?"

"Nothing happens when I type on the keyboard!"

I would lead the user through standard fixes:

"Try Control-Q."

"Nothing."

"Try Control-X."

"Nothing."

A note of desperation creeps in:

"Try Control-C."

"Nope."

"Okay, I want you to do exactly as I say. Pick up the keyboard and lift it about four inches off the table. Then drop it."

"You're kidding."

"No, I'm serious. Try it."

[nervous laugh] "Ooookay..."

[sound of distant *WHUMP* in phone] "Hey! It's working now! Thanks a lot!"

I'd learned from the controls techs that the keyboards had a group of resistors in one corner that often shorted to the case, and that a good whack would shake them loose. I enjoyed such phone calls, as they always made me look good to the users.

Eventually EPICS was replaced by a new control system which its developers felt appropriate to call EPICURE (a "user resource enhancement" if you care about the acronym). Says a lot.

#81 ::: Mary Dell ::: (view all by) ::: July 16, 2007, 01:55 PM:

Bruce Cohen (SpeakerToManagers) @#51:

Unix hates what you've done to it.

Well, yes, but I believe it's more personal than that. Hate the sin, and really really hate the sinner. If you are a user, programmer, or sysadmin, your job is to do things to the system. The system was perfectly happy before *you* came along and decided to frell things up by putting your nasty, filthy programs and drivers on it. Mine clearly felt shocked and betrayed when I tried to upgrade to SDLT600 tape drives on a Solaris 8 system without patching the driver first. (I'm not saying it's WRONG to hate us!)

In your case, since you've been at it for longer than I have, you're entitled to say, "Unix used to love me, but then I was forced to do horrible things to it, and I don't know if it'll ever forgive me!" But I started out around 1994, and I spent a lot of time working on NeXT systems, so the hate has been there right from the start.

I still love it, though...more fool I.

#82 ::: Greg London ::: (view all by) ::: July 16, 2007, 01:58 PM:

but no typeglobs. Which means NetServer::Generic will stop working,

Hm, last I heard, one of the first things they were going to do with Parrot (the engine that will run perl 6), was to make an mode that runs perl 5.

The reasoning, this was about a year ago so things may have changed, was that one of the biggest benefits of Perl is CPAN, and if you break CPAN with perl 6, no one will use perl 6.

Although, maybe they've found out that they can support everything in Perl 5 except typeglobs. But you can't even pass a filehandle around in old perl without a typeglob, which would break a bunch of stuff.

But I'm not certain of any of this. I stopped following the perl 6 development in detail after christmas (I won't say which one).

#83 ::: Tania ::: (view all by) ::: July 16, 2007, 03:25 PM:

Bill Higgins @ #80 - My favorite government system acronym was NASA's SYS-EFUS, their electronic research administration system before all agencies were forced into Grants.gov (blech).

Getting information out and proposals submitted frequently felt like a sisyphean task. I always wanted to send a note to whoever named SYS-EFUS, letting them know that someone appreciated the pun.

#84 ::: Bruce Cohen (SpeakerToManagers) ::: (view all by) ::: July 16, 2007, 03:31 PM:

Christopher Davis @ 75

Ever so true. I call Perl a "write-only" language because if I don't look at my code for a few days I have no idea what it's doing anymore, and I usually can't read it. My new job involves Python with C underpinnings, and I'm just tickled pink, because Python has very much the flavor of Smalltalk, my favorite language of all time. Smalltalk has almost no syntax: a tutorial fits on 1 page, and the BNF is maybe a dozen lines. So there's very little to trip over, and yet it's extremely powerful, and the basic system includes most of the programming tools you'll ever need, including the tool that strips them out for delivery of "binary" systems.

#85 ::: Bruce Cohen (SpeakerToManagers) ::: (view all by) ::: July 16, 2007, 04:25 PM:

Mary Dell @ 81

Oh, I love Unix still. After all, what alternatives are there? Even MacOS is Unix now, and VMS has about the currency of Medieval Latin. That leaves Windrows, the OS that kills US Navy ships.

Speaking of which, and apropos of Greg London @ 63 and Ada, one of my few proud memories of my days as a programming language expert is that I got to vote on adoption of Ada, and that if another 60 or 70 people had joined me in voting 'no' we might have been able to force a compromise where there was a reasonable minimal dialect of Ada, and maybe it would still be useful outside of DOD.

#86 ::: "Charles Dodgson" ::: (view all by) ::: July 16, 2007, 05:04 PM:

Bruce@84 --- if you Copious Free Time allows, you might want to take a look at Ruby, which is something close to a cut-down Smalltalk implementation reshaped to fit in the Perl/Python niche...

#87 ::: Charlie Stross ::: (view all by) ::: July 16, 2007, 05:09 PM:

Evil programming languages: there can be only one! (And it was originally implemented in Perl.)

#88 ::: P J Evans ::: (view all by) ::: July 16, 2007, 05:15 PM:

Bruce @ 85

You mean Ada is useful somewhere?

#89 ::: Greg London ::: (view all by) ::: July 16, 2007, 05:40 PM:

Ada is useful somewhere?

running real time algorithms for fly-by-wire computers, connecting sensors and pilot inputs to control surface outputs. And helping make sure you get it right the first time. The strict typing meant if you got it to compile, you weren't going to have some sort of Perl-do-what-i-mean thing happen, like autovivification of a variable or hash key, or accidental conversion of a string to an integer, or an integer to a boolean, or a integer range 0..7 to an integer range 0.255.

I didn't mind Ada when I was doing fly-by-wire stuff where a software bug means someone dies. It is a bit of overkill for non life critical applications.

#90 ::: Bill Higgins-- Beam Jockey ::: (view all by) ::: July 16, 2007, 05:47 PM:

Bruce Cohen writes in #85:

Oh, I love Unix still. After all, what alternatives are there? Even MacOS is Unix now, and VMS has about the currency of Medieval Latin.

Sic transit gloria mundi. *sigh*

Hobbyists could once get a free VMS account on the Deathrow Cluster at http://deathrow.vistech.net/, but that URL doesn't seem to be working today.

#91 ::: Bill Higgins-- Beam Jockey ::: (view all by) ::: July 16, 2007, 05:54 PM:

Greg London writes in #89:

I didn't mind Ada when I was doing fly-by-wire stuff where a software bug means someone dies.

Fair enough... but then he goes on to say:

It is a bit of overkill for non life critical applications.

I think this is an example of an "Irish bull."

#92 ::: P J Evans ::: (view all by) ::: July 16, 2007, 06:01 PM:

Bill Higgins -- Beam Jockey

Yeah, that road does have some subsurface bumps in it. ;)

#93 ::: Lenny Bailes ::: (view all by) ::: July 16, 2007, 06:04 PM:

Seth said: Computers do exactly what you tell them to.

The only hard part is figuring out just what you told them to.

For variable values of "you," and also dependent upon when the computer decides that it's "heard" what "you" told it to do.

#94 ::: Bruce Cohen (SpeakerToManagers) ::: (view all by) ::: July 16, 2007, 06:52 PM:

P J Evans @ 88

Sorry, I mistyped. Make that "Ada would be used outside of DOD."

#95 ::: Bruce Cohen (SpeakerToManagers) ::: (view all by) ::: July 16, 2007, 07:15 PM:

Charles Dodgson @ 86

I've played with Ruby a little, and I think Python is more mature at this point. The thing about Python I really like is that its Metaobject Protocol is cleaner than Smalltalk, allowing easy implementation of arbitrary metaclasses. That allows clean implementation of aspects within the language; something I prefer to having a separate aspect language. It also makes some fancy automatic implementations similar to Java Proxies easy for a non-language designer, and very powerful for a language or reflective-programming guru (something I've done in a previous life).

#96 ::: Christopher Davis ::: (view all by) ::: July 16, 2007, 07:24 PM:

Bruce Cohen (#85): However, I note that VMS has so far outlived two architectures and two companies. Not a bad record.

#97 ::: Patrick Nielsen Hayden ::: (view all by) ::: July 16, 2007, 09:49 PM:

#66: "Er, why are all the comments in the "Shock 2" thread a size smaller than usual?"

Because Jim forgot to close a font tag at the end of his post. Fixed now.

Although, admittedly, I like the explanation in #70 better.

#98 ::: Patrick Nielsen Hayden ::: (view all by) ::: July 16, 2007, 09:52 PM:

#72: I'm in Seattle teaching one week of an intensive six-week writing workshop, so my opportunities to get away are limited. But I'll be out in public tomorrow night here, and happy to meet and chat with Making Light folks who happen to come by.

#99 ::: Bruce E. Durocher II ::: (view all by) ::: July 17, 2007, 12:47 AM:

I recently got a nice little "Internet Tablet" called the NOKIA n800. (I think Mr. Stross has one as well.) The most annoying "feature" of the thing is that Nokia didn't include a printer driver because it's an Internet Tablet--so of course you'd never need to print from it... What's worse is that the OS is a mutant version of Linux so getting a driver ported over seems to be taking twelve billion years. (And we'll just pass over the entire "Do everything in the command line contingent" for now, except to note that on a small screen I may not want a CLI forced on me because "its good for you.")

Oh well, perhaps the Newton emulator that's been ported to it will improve the situation...

#100 ::: Bruce Cohen (SpeakerToManagers) ::: (view all by) ::: July 17, 2007, 01:10 AM:

Bruce E. Durocher II @ 99

Well, if using a mouse for graphics is like drawing with a bar of soap, what is drawing with a command line interface like? Does anyone really want to find out?

#101 ::: abi ::: (view all by) ::: July 17, 2007, 01:12 AM:

Bruce @99:
I always tell people I won't use a command line interface on anything I can pick up.

So MVS and TSO, yes. But any machine that can put me at the centre of its little world enough to interact with my monkey brain the way my monkey brain wants it to, should. I'm the boss, after all.

#102 ::: abi ::: (view all by) ::: July 17, 2007, 01:31 AM:

(I exaggerate. I do a lot of command line work on a PC. But that's not a virtue or anything.)

#103 ::: ethan ::: (view all by) ::: July 17, 2007, 01:39 AM:

I ain't got no idea what y'all are talking about.

#104 ::: Charlie Stross ::: (view all by) ::: July 17, 2007, 09:08 AM:

Ethan: we're comparing magic wands. Mine's a Grigorevitch creation. What's yours?

#105 ::: Michael ::: (view all by) ::: July 17, 2007, 10:17 AM:

Mine's [REDACTED].

And my guess on the reboot was "Stale NFS handles", which is usually on the bingo board.

#106 ::: Serge ::: (view all by) ::: July 17, 2007, 10:34 AM:

abi @ 101... MVS and TSO, yes

I thought that it was only old farts like me that still dealt with that.

#107 ::: Faren Miller ::: (view all by) ::: July 17, 2007, 11:33 AM:

ethan (#103): I second that emotion. (Help! The programmers have taken over our Open Thread!)

More Openly.... Today's Jon Carroll column (here's the link) has long, delicious quotes from Ursula Le Guin's blog, countering the remarks from that anti-genre guy that we discussed in an earlier thread.

#108 ::: Faren Miller ::: (view all by) ::: July 17, 2007, 11:39 AM:

Oops! I forgot this *isn't* the Open Thread. I blame it on yesterday's stormy weather scrambling my brains (plus spending too long this morning reading the rest of the looong NY Times consumer gripe comment thread).

#109 ::: ethan ::: (view all by) ::: July 17, 2007, 01:29 PM:

Charlie #104: Oh, magic. Here I thought you were talking about something ineffable.

Faren #108: As far as I can tell, it's only prescriptivists that would say this isn't an open threat. Any descriptivist will tell you it is.

#110 ::: ethan ::: (view all by) ::: July 17, 2007, 01:31 PM:

Wow.

By "open threat," I of course meant "open thread."

#111 ::: Bruce Cohen (SpeakerToManagers) ::: (view all by) ::: July 17, 2007, 02:11 PM:

[* drags out soapbox, kicks it a couple of times, stands up on it *]

I tell anyone who hands me that command line of crap that you should use the tool that fits the job best, and the best tool is one that also fits the hand*. The user interface should fit how the user works, and do what the user wants. That's why I have a mouse, a keyboard, and a graphic tablet with both a standard pen and a 6-axis pen. And I sometimes even turn on voice recognition and use that.

I use command lines a lot for certain kinds of tasks like testing programs, complex administration tasks, etc. But there are a lot of things I do that require more responsive and evocative interfaces.

There's been an awful lot of work on the ergonomics and psychophysiology of computer interfaces in the last 20 years or so, and if we know one thing, it's that there is no interface that's right for all jobs or all users. Insisting on a single kind of interface, forex command line, is like insisting that all music be performed on a concert violin, from memory, with no sheet music. Even worse, it's like insisting that you also paint with the violin.

[* gets off soap box, distractedly poking at splinter in palm *]

Incidentally, has anyone else played with the new Mac trackpad that allows two-fingered scrolling? I'm finding I really like it; I can navigate anywhere in a complex web interface with one hand, without touch/drag enabled. Touch/drag is at best a two-edged sword IMO; it's hard for me to maintain the level of touch discipline required not to have lots of false selections and movements.

* Or whatever grasping organ your species uses; far be it from me to be speciesist.

#112 ::: JESR ::: (view all by) ::: July 17, 2007, 02:54 PM:

Bruce, one of the cracks in one of my oldest LJ friendships was being told that I should adapt to the interface, since learning and adaping was, after all, what made humans human.

Now, leaving aside the fact that the person lecturing me is a 24 year old mathematician and what we were discussing was my hopeless clinging to Mac OS 9.2 and ie for Mac, by reaon of that assemblage behaving in the ways I think of as "more Mac-like." How much of the split between techs and users is explained by a desire for predictability and ease of use vs. the search for new, cool, and different ways of doing things?

I admit to being a tool head, and what I have noticed is that basic physical tool design stabilizes very soon after a new kind of tool is invented, but computer tools seem driven by some sort of deviation amplification pattern where innovation leads to gereralized instability. Lately, I've been using NeoOffice, which has a plethora of nested pulldown menues, editing and formatting functions in unexpected places, and a lack of the keyboard shortcuts (say, "command equals" for spellcheck) which I've been using for nearly twenty years. When I am in a hurry and can't wait for a NeoOffice Window to open, for instance when taking a telephone message, I use Text Edit, which is NOT similar to, say, Claris Works or the earliest Mac Write programs but rather like a stripped down version of Neo Office: fewer commands, but those commands still disguised by ambiguously labeled pull-down menues.

I grumble about bad programs driving out good, but what interests me is the great divide between users who are trying to write or do bookkeeping or design something and programs which assume our primary goal is toUse a Computer: how has that mindset taken over, even at Apple, and left most users buried in special case functionalities which passed the point of diminishing returns five generations ago?

#113 ::: Charlie Stross ::: (view all by) ::: July 17, 2007, 03:30 PM:

JESR @112: NeoOffice is a port to OS/X of OpenOffice. Ever used OOo under Windows or Linux? You'll note that it uses CUI style menu accelerators (e.g. hit Alt-F for the File menu, then you see accelerator keys underlined for each menu entry). Trouble is, OS/X uses the Alt (Option) key for something entirely different, and it's a complete bear to work around. Which is why NeoOffice lacks almost all the nifty keyboard shortcuts of the Linux/Windows version, and is much more cumbersome and annoying to use.

The same goes for Microsoft Office 2004 for OS/X -- same menu structure as under Windows, but all the accelerator keys are missing! It is to weep. The Mac user interface under OS/X is a thing of beauty when used correctly, but insisting that users of a touch-typing application (like a text editor or word processor) should take their fingers off the keyboard for even a second to mess with a mouse is just plain stupid.

At least the NeoOffice developers have got a good excuse: there are about two of them, frantically trying to make sure that there's a working open source office package on their operating system of choice -- they're overworked. Microsoft's Mac division has no such excuse ...

#114 ::: P J Evans ::: (view all by) ::: July 17, 2007, 10:18 PM:

Ouch.

The left and right columns are now overlapping, and the middle one isn't there at all. (I used 'search' to get to this post.)

Whatever y'all did this evening, it didn't work. At least, it didn't work as y'all probably intended.

#115 ::: P J Evans ::: (view all by) ::: July 17, 2007, 10:20 PM:

More accurately, on the front page, both left and right columns are on the left side and overlapping.

#116 ::: P J Evans ::: (view all by) ::: July 17, 2007, 10:50 PM:

Okay, now it's good again. Whatever it was ....

#117 ::: Bruce Cohen (SpeakerToManagers) ::: (view all by) ::: July 18, 2007, 01:27 AM:

JESR @ 112

How much of the split between techs and users is explained by a desire for predictability and ease of use vs. the search for new, cool, and different ways of doing things

My experience has been that techies are often more conservative than non-technical users because they've invested so much time in learning so much functionality, and they often confuse (or conflate) interface and functionality.

programs which assume our primary goal is toUse a Computer: how has that mindset taken over, even at Apple, and left most users buried in special case functionalities which passed the point of diminishing returns five generations ago?

Many of the design decisions in modern software products are not made for engineering reasons at all, but for business reasons. Especially when presenting comparisons with competing products, the marketing department wants to present a bullet list of features that's longer and more impressive than any similar product. It doesn't matter how those features fit into the product, or even whether they're usable in real applications. All that matters is a big bag of features.

Charlie @ 113

Microsoft's Mac division has no such excuse ... No, they're Microsoft, the software marketing giant. See above for why marketing doesn't design good software products.

I've used both MS Office and NeoOffice on OSX; I tossed MS because it costs a lot more than Neo and isn't any better. I keep Neo around because I need something to manage .doc and .xsl files, but it's still very slow and bloated. When I just need text capability I usually use BBEdit or TextEdit; if I'm programming I generally use XEmacs because my fingers have it built in from 20 years of Emacs use, and it completely ignores the whole keystroke compatibility issue.

I agree that if you're using an application where touch typing makes sense, it should be possible to do everything from the keyboard so you don't have to lift your fingers away from it. But a lot of people seem to believe that the keystroke functionality should work the same way for other tasks: for example that you should be able to do everything in a graphic application like Photoshop from the keyboard. This is actually less efficient than a strongly spatial interface; compare the user interface in Maya (a high-end 3D animation program currently owned by AutoDesk) to that of Photoshop. It's designed to keep all similar functionality within a small number of gestures of each other, and allows the user to choose which functions are grouped together so you don't have to trust in the designers judgment about how you work.

#118 ::: JESR ::: (view all by) ::: July 18, 2007, 02:58 AM:

Bruce, what is getting to me, as a die-hard Mac weenie and someone whose interest in programming has mostly to do with the way programmers behave in their natural habitat, is that, up until about five years ago, I could do what I needed to on every Mac application I encountered by playing around with the commands for a couple of hours- word processing and graphics, both. There was a lot of carry over from one program to the next, the commands were consistent, and the menues somewhat standardized. I did not have to read the instructions, which is not one of my known skill sets.

I don't mind menues; what I mind is menues where the names of operations and the headings they're sorted under have mutated and ramified and where an involuntary change of pressure on one's mouse hand can bring the law of unintended consequences down like a ton of bricks. (I've yet to discover what mistake I've made to make any numbered list into indented bullet points and how I can stop it from happening- a problem, recently, when I was doing a document for my sister, who did not want indented bullet points and doesn't accept "the computer made me do it" as an excuse).

I'm venting about Neo Office now; I didn't much like the Claris Works program I'd been using on my ancient iMac, for reasons having to do with where some editing functions were and how they were labeled, but the core writing commands were consistent with what I was used to and in places which were predictable given my accumulated experience. I especially dislike- and this has to do with my own neurological whackiness- both the cluttered appearance of the command bar and the finicky movements I need to use to access stuff on second-level pull-down menues, but my primary objection is how many familiar functions have developed unfamiliar names and associates.

I understand the way that non-engineers can make demands which come down to playing a game os "mine is bigger" but there are days when I mostly regret the ease and cheapness of making electronics more complicated and therefore more frustrating to use, and the sad fact that there are enough people who will pay twenty prices for something just because it's got more buttons, so to speak.

I may have just written gibberish, but then it's midnight. Oh, dear.

#119 ::: Henry Troup ::: (view all by) ::: July 18, 2007, 11:07 AM:

#100 - I once was required to draw pictures with FORTRAN. Worse yet, we did a truly impressive/strange hack that opened a MacDraw file in Macintosh Pascal (Mac OS about 5) and wrote the FORTRAN for us. Since the drawing models were actually total inverses, this was a fun little piece of code. The one good thing was that the FORTRAN graphics package (for the Xerox 9700) had good hidden-line removal.

Although drawing pictures with a CLI/3GL is still available to the Windows programmer, if they are a masochist.

#120 ::: P J Evans ::: (view all by) ::: July 18, 2007, 11:33 AM:

Henry @ 119

MicroStation still has an internal CLI available. Sometimes it's necessary. (The department I work in requires knowledge of MicroStation, and you have to know at least some of the key-ins to pass the weeding-out test. Thirty to fifty percent fail.)

#121 ::: TomB ::: (view all by) ::: July 18, 2007, 12:11 PM:

Charlie @87: The original implementation of [Compiler Language With No Pronounceable Acronym] that I'm aware of was in SPITBOL.

#122 ::: Henry Troup ::: (view all by) ::: July 19, 2007, 11:10 PM:

#121 - Wikipedia led me to 360 SPITBOL and a link to an emulator. I may have to go play.

I once used interpreted SNOBOL to do real-world work, reconciling similar but not identical names in an email directory. It was slow-ish, but fast enough to be useful.

#123 ::: Dave Bell ::: (view all by) ::: July 20, 2007, 01:16 PM:

A few years ago, when I did a very besic computer course, to get a piece of paper to prove things, I was getting bored by the time of the last text module, and so did the computer graphics section without using a mouse.

This probably tells you more about how trivial the test was.

#124 ::: gurnemanz ::: (view all by) ::: July 20, 2007, 01:39 PM:

Bruce Cohen @117, JESR @ 118; I installed Ubuntu Linux on my old PowerBook Pismo along with OS 9 and OS X. There are some not-bad alternatives, JESR, to OO and the standard apps out in the Linux world. I don't know if the prep work and HD reformat would be something you'd want to try. MacAddict had a decent how-to in last November or December's edition.

When I work with .doc stuff under OS X, I use Nisus Express. It's been handy and compatible so far. Nisus Writer looks even more capable.

Politically-correct disclaimer: I work neither for MacAddict (now MacLife) or for Nisus Software, but I do work for the return of democracy in the United States.

#125 ::: Joe McMahon ::: (view all by) ::: July 20, 2007, 01:55 PM:

abi@101: Brother! Up till the early '90's I was an MVS systems programmer. It stopped being fun around then. No more looking at the source and fixing whatever bonehead mistake/assumption someone had made, just loading tapes and coming in at 0-God-hundred to try the system you just built. And scrambling to try to both debug the problems and be back up with the regular system by 7. If it decided to reboot.

I really don't miss that at all.

Have you seen the Hercules S/360-370-390 emulator? Mainframe on a laptop. It was intensely weird to sysgen an OS/360 on my iBook, IPL, and see ENTER SYSTEM PARAMETERS pop up on a TN3270 console. I realized I was running a system roughly equivalent to the 360/91 we had at NASA/GSFC back in the early '80's. Except about 10 times as fast.

That machine sprawled over most of the basement of building 1, and was big enough that if you took the wrong turn walking around in the machine room, you'd actually find yourself at a dead end and have to work your way back out.

And Charlie@78, if you don't want to maintain your Perl module(s) anymore, let me know - I can take over maintenance if you like, or find someone.

Christopher@75: Python is wonderful. Assuming you've pried the tab key off the keyboard of everyone you're trying to program with. "Whaddayoumean those two lines are at different indents?"

#126 ::: Linkmeister ::: (view all by) ::: July 20, 2007, 02:13 PM:

Joe @ #125, "It was intensely weird to sysgen an OS/360 on my iBook, IPL, and see ENTER SYSTEM PARAMETERS pop up on a TN3270 console"

Holy smoke. I had the same reaction the first time I booted up a PC/36 for a company in LA, and that was in 1985 or '86. That emulation program was slow, but beyond that it just looked wrong on a PC screen.

#127 ::: Joe McMahon ::: (view all by) ::: July 20, 2007, 08:32 PM:

It really, really looks wrong with "(apple) File Edit ..." at the top of the screen. Like some weird alternate universe where we all carry a deck of punch cards so we can get money out of the ATM, and everyone's highly experienced at clearing reader jams.

#128 ::: Linkmeister ::: (view all by) ::: July 21, 2007, 01:46 AM:

Now that I think about it, I remember running an s/36 emulation on a Mac SE back in '91-'92. The sign-on screen on that non-color monitor also looked strange.

#129 ::: JESR ::: (view all by) ::: July 21, 2007, 02:13 AM:

Gurnmanz, thanks. I'm getting a new Mac soon. Probably a Mac Mini, although my husband is making noises about that becoming an orphan machine, soon and don't I really want a laptop, which means he wants a laptop to use when we trave). I'm looking into WP programs, among other things, before I sink myself further into debt for a new machine and software.

But I really miss MacWrite. Not as much as I miss Farscape, but up in that order of magnitude.

#130 ::: Christopher Davis ::: (view all by) ::: July 25, 2007, 12:47 AM:

Joe McMahon (#125): I use python-mode in XEmacs. No tabs are ever inserted into my program files, but the tab key still Does The Right Thing.

JESR (#129): The Mac Mini also is the only remaining Mac (apart from the Mac Pro) that isn't using the Core 2 Duo processors (the Mac Pro uses higher end Xeons). There's a noticable performance boost in the Core 2 chips.

I actually use my MacBook Pro at the office as what amounts to a wide, flat Mac Mini; I leave it closed and use an external display, keyboard, and mouse. That works pretty well. I suspect the non-Pro MacBook would also be suitable.

#131 ::: Caroline ::: (view all by) ::: July 25, 2007, 07:37 AM:

Regarding the NeoOffice/OpenOffice Mac OS X conversation -- for any who don't know, it is entirely possible to run real OpenOffice on a current Mac. You just install X11 (which lives on the first install disc, I believe). It's an easy install, like most Mac installs -- drag and drop. Then it pretends it's Unix and OpenOffice runs seamlessly. As an OpenOffice nerd, I was overjoyed.

(I recently switched from Windows XP to Mac OS X. I have become more or less a walking Mac commercial since that time.)

Henry Troup at 119, all of two years ago, I was asked to find an open-source plotting library callable from Fortran. You'd be surprised how many of those don't exist anymore. (I did find one, though.)

In general, that year, I forced Fortran to do things it was never meant to do.

#132 ::: Henry Troup ::: (view all by) ::: July 30, 2007, 08:59 PM:

#131 - I am a little surprised, as the numerical and scientific analysis communities still use Fortran lots. I have no visibility into that world anymore, though, and quite possibly the evolution of Fortran standards killed off a bunch of classic libraries.

#133 ::: JESR ::: (view all by) ::: July 30, 2007, 09:11 PM:

Christopher, at this point, I'm looking at two factors: price, and my ability to resist the whining of two members of my household who have an interest in my choice of computer. There's about a 30% chance that I will fold, buy a laptop for my daughter, and take her mini, and a 20% chance my husband will pay the difference between a mini and a probook so that he will have a computer to use on the road.

I am so very not in charge of this.

Choose:
Smaller type (our default)
Larger type
Even larger type, with serifs

Dire legal notice
Making Light copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 by Patrick & Teresa Nielsen Hayden. All rights reserved.