[Obit.] Kai

Many of us fondly remember Kai Edwards, who contributed much gentlemanly humour and ingenuity to these fora before he suddenly stopped posting in late April 2007. It was presumed he’d been taken ill and had died then or shortly afterwards, so I was stunned to chance upon an obituary notice a couple of weeks ago saying he’d passed away just before this last Christmas.

Following an e-mailed enquiry to the funeral directors, I received a long letter yesterday from Kai’s sister Anne. She had no idea why he hadn’t contacted any of us since 2007, but it was about then that he started to become evasive when asked about his health by his own family.

Anne says she tried to get messages to the AppleScript fora to tell us he’d died (from a Pancoast tumour), but not being as computer savvy as him, was unsuccessful. She’s asked me to pass on that “although Kai did suffer a lot at the end, he is now at peace.”

Thank you very much, Nigel

It’s sad :frowning:

Thanks for looking Nigel,

That is very sad.

Note:
If you do go to Kai’s Obituary notice, and want to leave a message or candle, you may be notified that you have already done so, even if it this is actually your first time to do so.

I had to go to the security prefs in Safari, and look for the cookies related to the page and remove them, before I could so.

Some of the most enjoyable scripts I’ve ever seen appeared here under Kai’s name. I learned a lot from him as a scripter, as the one-time editor of the tutorials that used to appear on the cover of MacScripter, and in personal communications. A clever, talented scripter, musician, advertising writer – jack of all trades and master of most of them.

This is very sad. :frowning:

I was not able to leave a candle due to it thinking I have, but I emptied my cookies 5 times, thus I will leave a imaginary one.

Who was this man on MacScripter? I have never seen his posts. Is he Julio or Trash Man?

Kai Edwards joined the board in May 28th, 2005 and made his 912th and last post on April 4th, 2007. He loved boiling things down in a very clever way. He and Nigel Garvey had wonderful tongue in cheek arguments about them.

I had the same problem and in the end switched to another browser to “light my candle”. When I went back to the page later, there were three candles to my name! Others have had similar trouble, it seems. I don’t think anyone begrudges the extra candles, though. :)¨¨

He was a regular forum member, posting under the name “kai”. He was particularly well liked for his friendly good humour and ingenious solutions to scripting problems. He took a great delight in either experimenting himself or engaging in on-forum, semi-competitive exchanges with others to work out the most efficient and effective code for any particular situation. He also wrote a couple of articles for what used to be the front page of this site (now the “unScripted” forum), which were published shortly after he stopped posting.

His coding style was extremely terse. He had a fondness for one-letter variable names and for cramming as much on to one line as the compiler would allow. I personally disapproved of it, but it was much admired and imitated by younger, up-and-coming scripters and the effects can still be seen in some posts today. A good example is his version of an insertion sort, which I looked out the other day:

to sort_items from i
	script o
		property l : i
	end script
	repeat with i from 2 to count o's l
		set v to o's l's item i
		repeat with i from (i - 1) to 1 by -1
			tell o's l's item i to if v < it then
				set o's l's item (i + 1) to it
			else
				set o's l's item (i + 1) to v
				exit repeat
			end if
		end repeat
		if i is 1 and v < o's l's beginning then set o's l's item 1 to v
	end repeat
end sort_items

Note his use of the variable ‘i’ both as the handler parameter and as the loop variable in both of the nested repeats! Also the line ‘tell o’s l’s item i to if v < it then’. An earlier version of the handler, before he incorported the script object references, is even worse!

to sort_items from l
	tell (count l) to repeat with i from (it - 1) to 1 by -1
		set s to l's item i
		repeat with i from (i + 1) to it
			tell l's item i to if s > it then
				set l's item (i - 1) to it
			else
				set l's item (i - 1) to s
				exit repeat
			end if
		end repeat
		if it is i and s > l's end then set l's item it to s
	end repeat
end sort_items

(The ‘it’ in the third-to-last line refers to the result of (count l) in the second line. The value of ‘i’ in the third-to-last line is the final value of the ‘i’ from the inner repeat before the next iteration of the outer repeat!) The style’s unnecessarily opaque. But otherwise both handlers work faultlessly and the one with the script object is about as fast as it’s possible for an AppleScript insertion sort to be. Kai was his own man. And I’m sure there was an element of friendly winding-up in some of his later efforts. :wink:

He suddenly dropped off the radar in April 2007 and we thought he’d died. Finding out he died only three months ago is a bit of a shock and a cause for renewed mourning for those of us who, although we never met him, considered him a friend.

Sounds very confusing. He seems to be very wise at those types of tricks, which are the hardest.

Only if he was here to help us with his wise “samples.” :wink:

I see that he contributed to a question that I had back in 2007. Still being very green near the time he stopped posting, I can’t say that I had other personal exchanges with him, but”from what I’ve seen of it”I appreciate his svelte writing style; I like to stick it to the compiler, myself. It’s still sad to hear that he was in ill health for that length of time. I wonder if he continued browsing the forum or just decided to put his efforts elsewhere.

From what I’ve read about it a Pancoast tumor (a relatively rare form of lung cancer that invades surrounding nerves, muscles, and lymph nodes) is extremely painful – in fact its first symptom is an intense pain in the shoulder followed by numbness in the ring and small fingers. I expect, living with that pain, he didn’t feel too creative and may well have found it very difficult to type.

Oh… :frowning:

Always, some of the smartest people, suffer the most pain.
At least we can learn from his posts. They will hopefully be here for ever.

Can we be able to make anything as smart? Probably not. :stuck_out_tongue:

Nigel:

Thank you for passing on the word about kai… very sad indeed.

Coincidentally, I was working on a (for me) very involved script in March of 2007, and posted a plea for help with a specific handler at the AppleScript Users List. A method I would never have been able to divine on my own.

If I recall, there were replies involving scripting additions and shell scripts, neither of which I was comfortable with using.

kai posted nearly exactly what I needed… in vanilla AppleScript… but his code was so obscure (to me) that I asked him (in a private message) to translate it into more readable form. He generously obliged… and I went on to incorporate his routine in my own script.

I had witnessed kai’s scripting magic before our exchange, genuinely admired his skill, and made no secret of that when writing to him. Over the course of a month and a week, we corresponded by email about a variety of subjects. I was very much flattered that he took an interest. Though our correspondence may have been brief, it was very rewarding for me.

At the time, he mentioned recently ‘recovering’ from a bout with pleurisy, but clearly the root of his illness was more serious.

I last heard from kai on 4/25/07, when he gave no indication of a relapse. I wrote him again, off and on, but got no reply. I was concerned, and wrote to Adam Bell in July of '07 to see if he had news, but there was none. I had no other contact in common with kai, and I let things alone at that point, but I remained curious.

kai will definitely be missed here.

Incidentally, during the course of our exchange regarding scripting, I turned up a problem with the handler he’d written for me… and I took great pride in figuring out what caused it and correcting it. I mentioned this to kai, and his confidence and understanding were both so thorough, that he was able to blame a bug in the Finder for the error thrown by the ‘errant’ script line, rather than an error he had introduced himself.

Peter Bunn


Thanks For the info Nigel

I know we’ve discussed Kai on a couple of occasions regarding his disappearance
I know we assumed the worst and now its been confirmed, How sad indeed.
Kai helped me on several occasions and i thank him for that.
Such a shame i hope he didn’t suffer too much.

Like so many of us on here we enjoyed your battles together.
Thanks Nigel
And thanks Kai for everything.

Sadly missed.

Sad to here that Kai is gone

He wrote many scripts that I enjoyed reading and had solutions to many of my problems.

He was an extremely good scripter.

I was a bit curious about why he wasn’t active and now know the answer.

Rest in peace Kai and thanks for everything