GreaseMonkeyを初めて書いてみました。

Lingrをこのごろ始めたのですが、時刻表示が鯖の現地時刻らしくとても気になったので、それをJSTに書き換えるGreaseMonkeyを書いてみました。ただし、だいぶ手抜きです。それに最初に表示される分だけしか書き換わりません。<手抜きすぎ。
それでも使ってみたい方は下のリンクからどうぞ。それとソースも乗せておきます。
toJST in lingr(α版)

// ==UserScript==
// @name           toJST in lingr
// @namespace      http://taoe.jpn.ch/userscripts
// @description    Change lingr timestamp to JST.
// @include        http://www.lingr.com/room/*
// ==/UserScript==

(function ()
{
// Get DOM for TimeStamp 
function changeTimeStamp() {
  var outer = document.getElementById("messages");
  var lists = outer.getElementsByTagName("li");

  for (var index = 0; index < lists.length; index++) {
    var attr = lists[index].getAttribute("class");
    var find = attr.indexOf("timemark");
    if (find >= 0) {
      convertJST(lists[index]);
    }
  }
}
function convertJST(element) {
  var gmt = element.innerHTML;
  if (gmt.substr(0, 3) == "JST") return gmt;

  // match "at 9:57pm (March 30)"
  var group = /at ([0-9]+):([0-9]+)(am|pm) (\(.+\))/.exec(gmt);
  if (group == null) return gmt;

  var hour = parseInt(group[1]);
  var minu = parseInt(group[2]);
  if (group[3] == "pm" || hour == 12) hour += 12;

  // convert to JST
  hour += 16;
  if (hour >= 24) hour -= 24;
//  alert(hour + ":" + minu);
  
  element.innerHTML = displayText(hour, minu);
  element.setAttribute("title", gmt);
}
function displayText(hour, minu) {
  var m = ((minu < 10)? "0": "") + minu;
  return "at JST " + hour + ":" + m;
}

changeTimeStamp();
})();