Wednesday, August 22, 2007

Grapher, Part II

It also seems you can write:

\int_0^1 dx (something)

Also weird.

Grapher is cool, but

For the LIFE of me, I couldn't figure out how to make it perform an integral. I tried adding dx, and then ∂x, but nothing worked.

It's because the program expects the integral to have the same syntax as the summation. So, rather than (TeX notation)

\int_0^1 x dx

You are supposed to write:

\int_{x=0}^1 x

Hopefully, this will be helpful to anyone looking how to do some fanciness with Grapher.

SoC is over!

So quickly... Oh well. You'll see the new applescript system in Adium come version 1.2... Now we just need to merge the changes...

Monday, August 13, 2007

Status Symbols

Adium 1.1 is out. Get it here

Also, AS support has been further updated (to be released in 1.2). You can now access your saved statuses (status "Hi" of application "Adium") and set various accounts to them. You can do quite a bit with them, and I'm very proud.

Tuesday, July 31, 2007

Send

You can now send messages to other people using applescript. Here's a remarkably useful script:

tell app "Adium"
if not exists chats whose contacts contain contact "applmak" then
make new chat with contacts {contact "applmak"} with new chat window
end
tell first chat whose contacts contain contact "applmak"
send message "Hi, Matt!"
end
end

Sunday, July 29, 2007

Effective chat contents

A common request for Adium's AS support is to add a way to get at the contents of a chat. Adium doesn't actually keep track of this. So, it turns out to be a hard problem.

The trick turns out to be reading from the chat logs. But this can be rather slow, as a chat may be very long. So, boredzo is writing an NSEnumerator subclass for me that will parse the logs. That way, I can effeciently traverse them, without taking too much time. That means that 'get message 342 of chat 1' will take longer than 'get message 1 of chat 1', but that's what will need to happen, I guess.

Monday, July 23, 2007

More status changes

You an now query for the status of an account. The result of this query is an enumerated value: available/away/invisible/offline

tell app "Adium"
  tell account 1
    if (get status type) is available
      beep
    end
  end
end

Status Changes

You can now tell any account to 'go online/offline/away/invisible'. That's nifty.

Sunday, July 22, 2007

Not dead...

Just not very good at regular writings. Journals and the like.

I've updated Adium to get rid of this nasty bug that occurs when you tried to close a window programmatically. As it turns out, it's very possible that something in addTabItem (in AIMessageWindow(Controller?) is broken. The delegate isn't getting the required message. A [self _reloadContainedChats] did the trick, but it's just a quick fix, and not a real solution to the problem.

Monday, July 16, 2007

make new chat with new chat window

With help from boredzo, I just added the ability to create chats, without that nasty security hole of before.

Code Reviews

I had my first code review with Adium. Wow! It was a killer. I, in one moment, realized both how amazingly useful and powerful reviews are, and yet how incredibly embarassing they can be.

Oh well. It's a learning experience, right?