#!/usr/bin/env pike import .util; int main(int ac, array(string) av) { mapping my_cnf = ini(combine_path(getenv("HOME"), ".my.cnf"))->client; if(!my_cnf || !my_cnf->user || !my_cnf->password || !my_cnf->database) throw(({"Error: check $HOME/.my.cnf", backtrace()})); string sqlspec = sprintf("mysql://%s\:%s@%s/%s", my_cnf->user, my_cnf->password, my_cnf->host || "localhost", my_cnf->database); Sql.Sql db = Sql.Sql(sqlspec); int howmany = (int)((db->query("select count(*) from fortunes")[0])["count(*)"]); string fortune = db->query("select data from fortunes where id=%d", random(howmany-1)+1)[0]->data; write(fortune); return 0; }