Довольно просто на самом деле.Все, что вам нужно, это следующее.
Определите задачу наблюдения:
storedTitle = "";
mySOWatchTask =
CreateScheduledTask[
{
lastTitle =
"title" /. ("questions" /.
Import["http://api.stackoverflow.com/1.1/questions?key=\
QEpjCjsXYE6s_kZEkFr4Lw&page=1&pagesize=1&sort=creation&tagged=\
mathematica", "JSON"])[[1]];
If[lastTitle != storedTitle,
storedTitle = lastTitle;
EmitSound[Sound[SoundNote[]]];
MessageDialog["New question: " <> lastTitle]
];
},
60
];
И чтобы начать это:
StartScheduledTask[mySOWatchTask];
Остановите его с помощью:
StopScheduledTask[mySOWatchTask];
Посмотрите, что работает:
ScheduledTasks[] // Shallow
Удалите задачу:
RemoveScheduledTask[mySOWatchTask];
или все задачи:
RemoveScheduledTask[ScheduledTasks[]];
Это опрашивает SO каждую минуту ( минимум, который не считается оскорбительным ), и отображает диалоговое окно и воспроизводит звук всякий раз, когда появляется новый вопрос Mathematica.
![enter image description here](https://i.stack.imgur.com/t8L5g.png)
Красотаэто: он использует Mathematica 8, и мы все знаем, что Mr.Wizard этого не имеет (пока); -)
Обратите внимание, что API SO интенсивно кэшируется, поэтому ответ может не прийти напрямую.Я также не проверял это подробно.
EDIT
Обратите внимание, что ключ (app-id), использованный выше, предназначен для использования только этим небольшим приложением Mathematica.Если вам нужен один для другого приложения, вы можете получить его самостоятельно, быстро и безболезненно здесь .Это заняло у меня меньше минуты.