Det är två olika problem, med olika delproblem, så därför också två olika lösningar:
För det första problemet skulle jag göra ett litet shell script som detta:
#!/bin/bash
DATE=$(date +%d-%m-%Y" "%H:%M:%S);
NAME=`osascript -e "long user name of (system info)"`
echo -e "$DATE\t$NAME" >>kasta.txt
Vad det gör är helt enkelt att det läser av datum/tid samt användarnamn, och sedan skriver ner det till en fil, med ett tab-tecken däremellan. Filens namn är i detta exempel "kasta.txt" och hamnar på skrivbordet/din hemmapp, men självklart kan du skriva in valfri sökväg och filnamn.
För att sedan få shell-scriptet att köras så måste du antingen spara det med filändelsen ".command" och lägga till det till användarens startobjekt. Nackdelen med den metoden är att ett terminalfönster öppnas, vilket kanske ser lite fult ut.
Ett bättre sätt, eftersom du även kan använda samma mekanism för det andra scriptet är att använda "launchd" dvs. Apples mer moderna alternativ för schemaläggning av uppgifter. Läs svar 3 i denna tråd på stackoverflow
http://stackoverflow.com/questions/6442364/ru...
När det gäller problem två krävs lite mer eftertanke. Eftersom du vill ha en dialogruta så skulle jag välja att göra det som ett AppleScript/AppleScript-program. I det bör du använda kommandot "display dialog" med parametern "giving up after", eftersom du måste anta att användaren kanske inte sitter vid datorn och att det ska funka ändå. Du måste således fånga de olika alternativen, att användaren klickar ok/avbryt/inte gör något val.
Nästa delproblem är att få detta att köras vid speciella tider. Det kan du göra på minst två sätt, antingen genom att schemalägga scriptet via launchd (googla) eller att spara scriptet som en stay-open app, med en idle handler, dvs. att scriptet körs kontinuerligt med visst intervall, kollar om klockslagen är något av de aktuella (egentligen inom ett visst intervall i anslutning till önska tidpunkt) och i så fall visas dialogrutan upp och scriptet gör sin grej. Du kan också schemalägga AppleScript via iCal, men jag har själv inte använt det så du får kolla upp lite närmare hur det funkar.