iGoogleのガジェットをigHomeやprotopageで使う
iGoogleのガジェットをigHomeやprotopageでなんとか使えないだろうかといろいろ調べていたら、簡単な方法がみつかったので備忘録。
- iGoogleガジェットのWebページ用スクリプトの作成
Add Gadget to Your Webpageを使用します。
ここのページにパラメータでiGoogleガジェットのxmlを指定します。(http://www.gmodules.com/ig/creator?url= の後ろにxmlを指定)
例) http://www.gmodules.com/ig/creator?url=http://www.amonya.com/igoogle/today/whatistoday.xml
すると、通常のウェブページ用のScriptが生成できますのでこれをコピペします。
次にigHomeやprotopageにガジェットを作成する方法です。
- igHomeにiGoogleガジェットを追加
igHomeのトップページから Add Gadgets > Create Your Own Gadget > From HTML/Javascript/Widget codeをAdd it now します。
ページにCustom Gadgetが追加されますのでHTML/Javascript/WidgetCodeのテキストエリアにコピペしたScriptを貼り付けてSave。これでiGoogleガジェットが作成されます。
- protopageにiGoogleガジェットを追加
protopageのトップページから Add Widgets > Web widget code をページにドラッグして持ってくる。
editからPaste your code hereにコピペしたScriptを貼り付けてSave。
ガジェットによってはhttp://www.gmodules.com/ig/creatorでサンプルが表示されないことがありますが、生成したScriptはigHomeやprotopageで正常に表示されました。
OSX MavericksにしたらVirtualBoxのせいでMacをシャットダウンできなくなったりKernel driver not Installedって言われたりする件の暫定対処法
※VirtualBox 4.3.4で本現象はすべて解消されました!
OSX 10.9 Mavericksがでました。しかもなんと無料!ということでさっそくアップデートしたところ意外と概ね問題なく動きました。
おっけーおっけーとOSXをシャットダウンしようとしたところ、あれ、いつまでたってもしーんとしている・・。
ターミナルからコマンドたたいてみようと思いましたが、シャットダウン中なのでアプリが起動しない。
しょうがないので電源ボタン長押しでブチっと切りましたが、再起動後に今度はVirtual Boxさんがkernelがうんたらと致命的っぽいことを言ってくるようになりましてVMが起動しなくなりました。
Kernel driver not Installed・・・
やはりまたシャットダウンも効かないのでよくよく調べてみたらVirtual Box VM プロセスが立ち上がったまま落ちなくなっているらしく強制終了すらききません。この時点でやっと、ぜんぶお前のせいか!ということに気づいたので対処法を検討。
問題はふたつ。
- VirtualBoxのVMを起動するとOSXがシャットダウンできなくなる。
- OSXの再起動後にVirtualBoxのVMを起動するとkernelドライバがインストールされてないよと言ってくる。
※VirtualBoxのバージョンは4.3
いろいろと調査&実験してみたところ、いずれの問題も以下のコマンドで解決できることがわかりました。
sudo launchctl load /Library/LaunchDaemons/org.virtualbox.startup.plist
VirtualBoxの起動前、起動後に上記コマンドをおまじないのようにターミナルからぴっと実行しておけば今までどおり正常に動作します。
にしてもたまに忘れたりしてめんどくさいっす。早く直らないかなあ。
###追記###
OSではなくVirtualBoxVMのみを再起動するときには、上記コマンドを実行する前に以下のプロセスを強制終了させてからじゃないとうまく起動しなかったっす。
VBoxNetDHCP
VBoxSVC
VBoxXPCOMIPCD
【Java】全角スペースも高速でtrimするメソッドを作ってみた
JavaのStringクラスでまいどおなじみのtrimメソッドですが、2byte言語の国の人は全角スペースもトリムしたいことがあったりするんじゃないでしょうか。ちなみに私は今日ありました。
というわけで全角スペースも高速でトリムするメソッドを作ってみたので備忘録。
public static String trim(String value) { if (value == null || value.length() == 0) return value; int st = 0; int len = value.length(); char[] val = value.toCharArray(); while ((st < len) && ((val[st] <= ' ') || (val[st] == ' '))) { st++; } while ((st < len) && ((val[len - 1] <= ' ') || (val[len - 1] == ' '))) { len--; } return ((st > 0) || (len < value.length())) ? value.substring(st, len) : value; }
Java7のString.classのtrim()を参考に作りました。
replaceAll()とか正規表現を使うとわかりやすいコードが書けるんですが、どうしても速度が遅くなってしまうのでこんな感じにしてみました。
String.classのtrim()となにが違うかはソースを見比べてみてね!