<?xml version="1.0" encoding="utf-8"?>
<!-- If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/ -->
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:lj="http://www.livejournal.com">
  <id>urn:lj:livejournal.com:atom1:kazuomik</id>
  <title>Kaz Muzik Blog</title>
  <subtitle>Kaz Muzik</subtitle>
  <author>
    <name>Kaz Muzik</name>
  </author>
  <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/"/>
  <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom"/>
  <updated>2009-05-28T19:08:38Z</updated>
  <lj:journal userid="11230536" username="kazuomik" type="personal"/>
  <link rel="service.feed" type="application/x.atom+xml" href="http://kazuomik.livejournal.com/data/atom" title="Kaz Muzik Blog"/>
  <link rel="hub" href="http://pubsubhubbub.appspot.com/"/>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:342030</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/342030.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=342030"/>
    <title>all blog entries fetched with curl</title>
    <published>2009-05-28T17:30:37Z</published>
    <updated>2009-05-28T19:08:38Z</updated>
    <category term="programming"/>
    <content type="html">1年前には、Nutch (0.9) を利用して、このブログのエントリをすべて fetch して、以降は、同様に差分だけを fetch して、これらの HTML をコンバートして、kazmuzik.net/lj を作成していました。しかし、各エントリのページだけならよいのですが、Tag のページや最新の 20エントリを含むページなども、その都度、fetch してコンバートしていたので、かなり無駄な作業をしていました。効率化する構想はずっとあったのですが、つい延ばし延ばしになっていました。今回は、web hosting service を利用し始めたので、本格的にブログを移行するため、本格的に手を入れることにしました。&lt;br /&gt;&lt;br /&gt;まずは、各エントリページの fetch の部分を curl を用いることにしました。以前は Nutch を使っていたものの、depth=1 で、seeds のページだけを fetch していたので、crawler としては活用していませんでしたし、Hadoop ファイルシステムにデータがあったので、扱いが面倒になっていました。今回は curl によるシンプルな fetch として、各エントリごとに、ひとつのファイルとします。&lt;br /&gt;&lt;br /&gt;その前に、自分のエントリの ID をすべて得ておく必要があります。これには、月ごとのページを利用することにします。例えば、今月のページは、&lt;a href='http://kazuomik.livejournal.com/2009/05/'&gt;http://kazuomik.livejournal.com/2009/05/&lt;/a&gt; ですが、これから今月のエントリの ID をすべて得ることができます。このブログは 2006年から始めたので、それ以降の月のページをすべて curl で fetch します。&lt;br /&gt;&lt;table border="1" cellpadding="8"&gt;&lt;tr&gt;&lt;td bgcolor="#ffffaa"&gt;&lt;pre style="line-height:100%;"&gt;
$ curl http://kazuomik.livejournal.com/[2006-2009]/[01-12]/ -o "#1-#2.html"
$ ls
2006-01.html	2006-11.html	2007-09.html	2008-07.html	2009-05.html
2006-02.html	2006-12.html	2007-10.html	2008-08.html	2009-06.html
2006-03.html	2007-01.html	2007-11.html	2008-09.html	2009-07.html
2006-04.html	2007-02.html	2007-12.html	2008-10.html	2009-08.html
2006-05.html	2007-03.html	2008-01.html	2008-11.html	2009-09.html
2006-06.html	2007-04.html	2008-02.html	2008-12.html	2009-10.html
2006-07.html	2007-05.html	2008-03.html	2009-01.html	2009-11.html
2006-08.html	2007-06.html	2008-04.html	2009-02.html	2009-12.html
2006-09.html	2007-07.html	2008-05.html	2009-03.html
2006-10.html	2007-08.html	2008-06.html	2009-04.html
$ &lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;一部、不要な月もありますが、データはないので気にする必要はありません。&lt;br /&gt;&lt;br /&gt;次に、これらの HTML のパターンを解析して、ID を抽出します。&lt;br /&gt;&lt;table border="1" cellpadding="8"&gt;&lt;tr&gt;&lt;td bgcolor="#ffffaa"&gt;&lt;pre style="line-height:100%;"&gt;
$ cat *.html | grep 'm:  &amp;lt;a href="http://kazuomik.livejournal.com/' \
| sed -e 's/^.*livejournal\.com\///' -e 's/\.html\"&amp;gt;.*$//' \
| sort -k1nr \
&amp;gt; id.txt
$ cat id.txt
341891
341649
341249
341145
340856
340482
340465
340137
339949
339476
...
2603
2409
2080
1960
1598
1332
1120
1008
722
495
$ wc -l id.txt
    1335 id.txt
$ &lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;1,335 のエントリがありました。&lt;br /&gt;&lt;br /&gt;あとは、各エントリのページをひとつずつ fetch します。&lt;br /&gt;&lt;table border="1" cellpadding="8"&gt;&lt;tr&gt;&lt;td bgcolor="#ffffaa"&gt;&lt;pre style="line-height:100%;"&gt;
$ cat curl-all.sh
#!/bin/sh
for N in `cat id.txt`
do
  curl http://kazuomik.livejournal.com/${N}.html -o ${N}.html
done
$ sh curl-all.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 55323  100 55323    0     0   124k      0 --:--:-- --:--:-- --:--:--  630k

...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 52824  100 52824    0     0  78390      0 --:--:-- --:--:-- --:--:--  142k
$ &lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;25分程度で、1,335 すべてのエントリが fetch できました。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:341249</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/341249.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=341249"/>
    <title>tags changed</title>
    <published>2009-05-28T14:04:28Z</published>
    <updated>2009-05-28T14:04:28Z</updated>
    <category term="internet"/>
    <content type="html">ブログの移行に伴い、簡単なプログラムを Java で書いていましが、Tag の扱いを簡単にするために、Tag の管理で、いくつか rename しました。&lt;br /&gt;&lt;br /&gt;まず、"music technology" のように空白が含まれているものは、アンダーバーで置き換えて、"music_technology" としました。また、"recycle / rebate" の "/" も扱いが厄介なので、"and" に置き換えました。&lt;br /&gt;&lt;br /&gt;日本語の tag をどうするかは悩みましたが、英語にすることにしました。「日本語」-&amp;gt; "japanese", 「アメリカ生活」-&amp;gt; "american_life", 「アメリカでの転職」-&amp;gt; "jobs_in_america" としました。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:337278</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/337278.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=337278"/>
    <title>simple script for Twitter API (#5)</title>
    <published>2009-05-12T12:59:00Z</published>
    <updated>2009-05-12T13:00:30Z</updated>
    <category term="programming"/>
    <content type="html">&lt;a href="http://kazmuzik.net/lj/336252.html" rel="nofollow"&gt;Twitter REST API&lt;/a&gt; では、1回の API call で、200個までの updates しかとれないので、今までは、2回 call して、手作業で、ひとつのファイルにまとめていました。そこで、簡単な shell script を書きました。&lt;br /&gt;&lt;table border="1" cellpadding="8"&gt;&lt;tr&gt;&lt;td bgcolor="#ffffaa"&gt;&lt;pre style="line-height:100%;"&gt;
#!/bin/sh

name="kazmuzik"
date=`date +"%Y%m%d"`
tmpfile="tmp-${date}.xml"
xmlfile="${name}-${date}.xml"
url="http://twitter.com/statuses/user_timeline.xml"

curl "${url}?screen_name=${name}&amp;count=200&amp;page=1" &amp;gt; $tmpfile
n=`cat $tmpfile | wc -l`
n=`expr $n - 1`
head -$n $tmpfile &amp;gt; $xmlfile
rm -f $tmpfile

curl "${url}?screen_name=${name}&amp;count=200&amp;page=2" | tail +3 &amp;gt;&amp;gt; $xmlfile
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;かなり手抜きしたので、400個を超えたら、また修正する必要があります。しかし、その頃には別の方法を試していると思うので、今のところこのままにしておきます。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:336568</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/336568.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=336568"/>
    <title>net.kazmuzik.twitter package : XML to HTML (#4)</title>
    <published>2009-05-10T16:40:45Z</published>
    <updated>2009-05-11T12:51:04Z</updated>
    <category term="programming"/>
    <content type="html">Twitter でのつぶやき(update)を、&lt;a href="http://kazmuzik.net/lj/336252.html" rel="nofollow"&gt;REST API Timeline Method を用いて、ひとつの XML ファイル&lt;/a&gt;にしましたが、ここでは、それを HTML に変換して、このブログに取り込みやすいようにします。本来ならば、JAXP などの XML ライブラリを用いるべきですが、ある事情で、最近は、シンプルな String クラスのみを用いて、parser をがりがり書くことが多いので、手っ取り早く、そちらで強引にやってしまいました。また、一部、手抜きをしているところもあります。&lt;br /&gt;&lt;br /&gt;まずは、ひとつの status に対応するオブジェクトですが、とりあえず create_at (time) と text が最低限必要です。また、今後の拡張を考慮して、それに id (long) を加えておきました。&lt;br /&gt;&lt;table border="1" cellpadding="8"&gt;&lt;tr&gt;&lt;td bgcolor="#ccffcc"&gt;&lt;pre style="line-height:100%;"&gt;
package net.kazmuzik.twitter;

import java.io.Serializable;
import java.util.Date;

public class TwitterStatus implements Serializable {
  private Date time;
  private long id;
  private String text;

  public TwitterStatus() {
  }

  public Date getTime() {
    return time;
  }

  public long getId() {
    return id;
  }

  public String getText() {
    return text;
  }

  public void setTime(Date time) {
    this.time = time;
  }

  public void setId(long id) {
    this.id = id;
  }

  public void setText(String text) {
    this.text = text;
  }
} &lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;次は、XML ファイルを読み込んで、上記のオブジェクトを返す Reader (parser) です。&lt;br /&gt;&lt;table border="1" cellpadding="8"&gt;&lt;tr&gt;&lt;td bgcolor="#ccffcc"&gt;&lt;pre style="line-height:100%;"&gt;
package net.kazmuzik.twitter;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Reader;
import java.util.Date;

public class TwitterXMLReader extends BufferedReader {
  private static final boolean debug = false;

  private static final String tag0 = "&amp;lt;created_at&amp;gt;";
  private static final String tag1 = "&amp;lt;id&amp;gt;";
  private static final String tag2 = "&amp;lt;text&amp;gt;";
  private static final String tag3 = "&amp;lt;/status&amp;gt;";
  private static final int tag0len = tag0.length();
  private static final int tag1len = tag1.length();
  private static final int tag2len = tag2.length();

  public TwitterXMLReader(Reader in) throws IOException {
    super(in);
  }

  public TwitterXMLReader(InputStream in) throws IOException {
    super(new InputStreamReader(in, "UTF-8"));
  }

  public TwitterStatus readStatus() throws IOException {
    TwitterStatus status = new TwitterStatus();
    int tag = 0;
    while (true) {
      String line = readLine();
      if (line == null) {
        return null;
      }
      if (debug) {
        System.err.printf("%d: %s%n", tag, line.trim());
      }
      if (tag == 0) {
        int n = line.indexOf(tag0);
        if (n &amp;lt; 0) {
          continue;
        }
        n += tag0len;
        int m = line.indexOf('&amp;lt;', n);
        if (m &amp;lt; 0) {
          return null;
        }
        Date time = parseTime(line.substring(n,m));
        status.setTime(time);
        if (debug) {
          System.err.printf("#: time=%TF %TT%n", time, time);
        }
        tag = 1;
        continue;
      }
      else if (tag == 1) {
        int n = line.indexOf(tag1);
        if (n &amp;lt; 0) {
          continue;
        }
        n += tag1len;
        int m = line.indexOf('&amp;lt;', n);
        if (m &amp;lt; 0) {
          return null;
        }
        long id = Long.parseLong(line.substring(n,m));
        status.setId(id);
        if (debug) {
          System.err.printf("#: id=%d%n", id);
        }
        tag = 2;
        continue;
      }
      else if (tag == 2) {
        int n = line.indexOf(tag2);
        if (n &amp;lt; 0) {
          continue;
        }
        n += tag2len;
        int m = line.indexOf('&amp;lt;', n);
        if (m &amp;lt; 0) {
          return null;
        }
        String text = convertEntities(line.substring(n,m));
        status.setText(text);
        if (debug) {
          System.err.printf("#: text=%s%n", text);
        }
        tag = 3;
        continue;
      }
      else if (tag == 3) {
        int n = line.indexOf(tag3);
        if (n &amp;lt; 0) {
          continue;
        }
        return status;
      }
    }
  }

  private static String convertEntities(String text) {
    StringBuilder sb = new StringBuilder();
    int n = 0;
    int x = 0;
    for (char c : text.toCharArray()) {
      if (n == 0) {
        if (c == '&amp;amp;') {
          n = 1;
        }
        else {
          sb.append(c);
        }
        continue;
      }
      else if (n == 1) {
        if (c == '#') {
          n = 2;
          x = 0;
        }
        else {
          sb.append('&amp;amp;');
          sb.append(c);
          n = 0;
        }
        continue;
      }
      else if (n == 2) {
        if (c == ';') {
          sb.append((char)x);
          n = 0;
        }
        else if (c &amp;lt; '0' || c &amp;gt; '9') {
          sb.append(c);
          n = 0;
        }
        else {
          x *= 10;
          x += (c - '0');
        }
        continue;
      }
    }
    return sb.toString();
  }

  private static Date parseTime(String s) {
    return new Date(s);
  }
} &lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;あとは、これを用いて、適当な HTML に変換してやります。&lt;br /&gt;&lt;table border="1" cellpadding="8"&gt;&lt;tr&gt;&lt;td bgcolor="#ccffcc"&gt;&lt;pre style="line-height:100%;"&gt;
import java.io.InputStream;
import java.io.FileInputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Date;
import net.kazmuzik.twitter.TwitterStatus;
import net.kazmuzik.twitter.TwitterXMLReader;

public class TwitterXMLConverter {
  public static void main(String[] args) throws Exception {
    InputStream is = System.in;
    if (args.length &amp;gt; 0) {
      is = new FileInputStream(args[0]);
    }
    TwitterXMLReader in = new TwitterXMLReader(is);
    PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out, "UTF-8"));
    out.println("&amp;lt;html&amp;gt;&lt;b&gt;&lt;font color="#0000ff"&gt;&amp;lt;head&amp;gt;");
    out.println("&amp;lt;meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /&amp;gt;");
    out.println("&amp;lt;/head&amp;gt;&lt;/font&gt;&lt;/b&gt;&amp;lt;body&amp;gt;");
    out.println("&amp;lt;ul&amp;gt;");
    Date prevTime = null;
    while (true) {
      TwitterStatus status = in.readStatus();
      if (status == null) {
        break;
      }
      Date time = status.getTime();
      String text = addATag(status.getText());
      if (prevTime != null) {
        if (time.getDay() != prevTime.getDay()) {
          out.println("&amp;lt;/ul&amp;gt;");
          out.println("&amp;lt;ul&amp;gt;");
        }
      }
      out.printf("&amp;lt;li&amp;gt;&amp;lt;i&amp;gt;&amp;lt;font color=#0000cc&amp;gt;%TF %TT&amp;lt;/font&amp;gt; "
               + "&amp;lt;a href=\"http://twitter.com/kazmuzik\"&amp;gt;"
               + "&amp;lt;font color=#00cc00&amp;gt;#%d&amp;lt;/font&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;",
                 time, time, status.getId());
      out.printf("%s&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;lt;/li&amp;gt;%n", text);
      prevTime = time;
    }
    out.println("&amp;lt;/ul&amp;gt;");
    out.println("&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;");
    out.flush();
    out.close();
  }

  private static String addATag(String text) {
    StringBuilder sb = new StringBuilder();
    int n = 0;
    while (true) {
      int m = text.indexOf("http://", n);
      if (m &amp;lt; 0) {
        sb.append(text.substring(n));
        break;
      }
      sb.append(text.substring(n,m));
      n = text.indexOf(' ', m);
      String url = null;
      if (n &amp;lt; 0) {
        url = text.substring(m);
      }
      else {
        url = text.substring(m, n);
      }
      sb.append("&amp;lt;a href=\"");
      sb.append(url);
      sb.append("\"&amp;gt;");
      sb.append(url);
      sb.append("&amp;lt;/a&amp;gt;");
      if (n &amp;lt; 0) {
        break;
      }
    }
    return sb.toString();
  }
} &lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;これを実行して、HTML ファイルを作ります。&lt;br /&gt;&lt;table border="1" cellpadding="8"&gt;&lt;tr&gt;&lt;td bgcolor="#ffffaa"&gt;&lt;pre style="line-height:100%;"&gt;
$ mkdir classes
$ javac -d classes *.java
$ java -classpath classes TwitterXMLConverter kazmuzik.xml &amp;gt; kazmuzik.html
$ &lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;これを、一日分ずつ、cut &amp; paste で、ブログのエントリに貼付けていきました。&lt;a href="http://kazmuzik.net/lj/336012.html" rel="nofollow"&gt;5/8/2009 のサンプル&lt;/a&gt;です。とりあえず、5月分だけ、作成しました。&lt;br /&gt;&lt;br /&gt;せっかくなので、復習もかねて、JAXP でも使えば良かったかな、と反省しています。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2009-05-11 update&lt;/b&gt;&lt;br /&gt;Header に UTF-8 を指定しておきました。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:336252</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/336252.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=336252"/>
    <title>Twitter REST API (#3)</title>
    <published>2009-05-10T16:05:00Z</published>
    <updated>2009-05-10T16:14:58Z</updated>
    <category term="internet"/>
    <category term="programming"/>
    <content type="html">4月は、このブログを更新する時間もありませんでしたが、その分、なるべく &lt;a href="http://kazmuzik.net/lj/331290.html" rel="nofollow"&gt;Twitter&lt;/a&gt; でつぶいていました。そこで、&lt;a href="http://apiwiki.twitter.com/" rel="nofollow"&gt;Twitter API&lt;/a&gt; を用いて、なるべく簡単に&lt;a href="http://kazmuzik.net/lj/333487.html" rel="nofollow"&gt;このブログに取り込んでみる&lt;/a&gt;ことを考えてみました。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://apiwiki.twitter.com/Twitter-API-Documentation" rel="nofollow"&gt;Twitter API&lt;/a&gt; は、HTTP ベースで、Search API と REST API があります。今回は、&lt;a href="http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-user_timeline" rel="nofollow"&gt;REST API Timeline method の statuses/user_timeline&lt;/a&gt; を用います。HTTP ベースなので、curl コマンドで簡単にテストできます。&lt;br /&gt;&lt;table border="1" cellpadding="8"&gt;&lt;tr&gt;&lt;td bgcolor="#ffffaa"&gt;&lt;pre style="line-height:100%;"&gt;
$ curl 'http://twitter.com/statuses/user_timeline.xml?screen_name=kazmuzik&amp;count=200' &amp;gt; kazmuzik.xml
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  414k  100  414k    0     0   603k      0 --:--:-- --:--:-- --:--:--  809k
$ cat kazmuzik.xml
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;statuses type="array"&amp;gt;
&amp;lt;status&amp;gt;
  &amp;lt;created_at&amp;gt;Sun May 10 15:38:12 +0000 2009&amp;lt;/created_at&amp;gt;
  &amp;lt;id&amp;gt;1755243926&amp;lt;/id&amp;gt;
  &amp;lt;text&amp;gt;140&amp;amp;#25991;&amp;amp;#23383;&amp;amp;#12391;&amp;amp;#34920;&amp;amp;#29694;&amp;amp;#12391;&amp;amp;#12365;&amp;amp;#12427;&amp;amp;#20869;&amp;amp;#23481;&amp;amp;#12391;&amp;amp;#12377;\
&amp;amp;#12364;&amp;amp;#12289;&amp;amp;#33521;&amp;amp;#35486;&amp;amp;#12384;&amp;amp;#12392;&amp;amp;#26085;&amp;amp;#26412;&amp;amp;#35486;&amp;amp;#12398;&amp;amp;#21322;&amp;amp;#20998;&amp;amp;#20197;\
&amp;amp;#19979;&amp;amp;#12395;&amp;amp;#12394;&amp;amp;#12387;&amp;amp;#12390;&amp;amp;#12375;&amp;amp;#12414;&amp;amp;#12356;&amp;amp;#12414;&amp;amp;#12377;&amp;amp;#12290;&amp;amp;#12354;&amp;amp;#12427;\
&amp;amp;#31243;&amp;amp;#24230;&amp;amp;#12289;&amp;amp;#20013;&amp;amp;#36523;&amp;amp;#12364;&amp;amp;#12354;&amp;amp;#12427;&amp;amp;#22580;&amp;amp;#21512;&amp;amp;#12399;&amp;amp;#12289;&amp;amp;#26085;\
&amp;amp;#26412;&amp;amp;#35486;&amp;amp;#12364;&amp;amp;#22311;&amp;amp;#20498;&amp;amp;#30340;&amp;amp;#12395;&amp;amp;#26377;&amp;amp;#21033;&amp;amp;#12391;&amp;amp;#12377;&amp;amp;#12290;&amp;amp;#12371;\
&amp;amp;#12428;&amp;amp;#12418;&amp;amp;#12289;Unicode&amp;amp;#12364;&amp;amp;#26222;&amp;amp;#21450;&amp;amp;#12375;&amp;amp;#12390;&amp;amp;#12365;&amp;amp;#12383;&amp;amp;#12362;&amp;amp;#12363;\
&amp;amp;#12370;&amp;amp;#12391;&amp;amp;#12377;&amp;amp;#12290;&amp;lt;/text&amp;gt;
  &amp;lt;source&amp;gt;web&amp;lt;/source&amp;gt;
  &amp;lt;truncated&amp;gt;false&amp;lt;/truncated&amp;gt;
  &amp;lt;in_reply_to_status_id&amp;gt;&amp;lt;/in_reply_to_status_id&amp;gt;
  &amp;lt;in_reply_to_user_id&amp;gt;&amp;lt;/in_reply_to_user_id&amp;gt;
  &amp;lt;favorited&amp;gt;false&amp;lt;/favorited&amp;gt;
  &amp;lt;in_reply_to_screen_name&amp;gt;&amp;lt;/in_reply_to_screen_name&amp;gt;
  &amp;lt;user&amp;gt;
    &amp;lt;id&amp;gt;26517941&amp;lt;/id&amp;gt;
    &amp;lt;name&amp;gt;Kaz Muzik&amp;lt;/name&amp;gt;
...
    &amp;lt;statuses_count&amp;gt;204&amp;lt;/statuses_count&amp;gt;
    &amp;lt;notifications&amp;gt;&amp;lt;/notifications&amp;gt;
    &amp;lt;following&amp;gt;&amp;lt;/following&amp;gt;
  &amp;lt;/user&amp;gt;
&amp;lt;/status&amp;gt;
&amp;lt;/statuses&amp;gt;
$ &lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;1回の API call で取得できる上限は 200個です。現在のところ、すでにその上限を超えているので、2ページ目も取得して、concatenate してから、つなぎの 3行をマニュアルで削除して、ひとつの XML ファイルにしました。&lt;br /&gt;&lt;table border="1" cellpadding="8"&gt;&lt;tr&gt;&lt;td bgcolor="#ffffaa"&gt;&lt;pre style="line-height:100%;"&gt;
$ curl 'http://twitter.com/statuses/user_timeline.xml?screen_name=kazmuzik&amp;count=200&amp;page=2' &amp;gt;&amp;gt; kazmuzik.xml
$ vi kazmuzik.xml
$ &lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;これで、自分の今までのつぶやきがすべてひとつの XML ファイルに収まりました。ただし、上記の例のように、このままでは、扱いに不便なので、次は、これを加工してみます。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:334215</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/334215.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=334215"/>
    <title>Twitter 2009-05-07</title>
    <published>2009-05-10T04:01:12Z</published>
    <updated>2009-05-10T04:01:51Z</updated>
    <category term="twitter"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;i&gt;&lt;font color="#0000cc"&gt;2009-05-07 17:48:23&lt;/font&gt; &lt;a href="http://twitter.com/kazmuzik" rel="nofollow"&gt;&lt;font color="#00cc00"&gt;#1732840190&lt;/font&gt;&lt;/a&gt;&lt;/i&gt;&lt;br&gt;先ほど、USPS (郵便局)へ行きましたが、5/11/2009に再び料金が値上げされるようです。しかし、ここのところの度重なる値上げにも関わらず、サービスの質は落ちているように思います。日本に Priority Mailを送ったところ、確か以前は trackingできたはずが..&lt;br&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;i&gt;&lt;font color="#0000cc"&gt;2009-05-07 07:11:57&lt;/font&gt; &lt;a href="http://twitter.com/kazmuzik" rel="nofollow"&gt;&lt;font color="#00cc00"&gt;#1727345534&lt;/font&gt;&lt;/a&gt;&lt;/i&gt;&lt;br&gt;Mixerはラックに組み込んであるので、手元に volumeや muteなどを手っ取り早くコントロールできる小型のシンプルな mixerが欲しいところです。BEHRINGER XYNIX 502 &lt;a href="http://tr.im/kJHd" rel="nofollow"&gt;http://tr.im/kJHd&lt;/a&gt; あたりがちょうど良さそう...&lt;br&gt;&amp;nbsp;&lt;/li&gt;

&lt;li&gt;&lt;i&gt;&lt;font color="#0000cc"&gt;2009-05-07 06:50:04&lt;/font&gt; &lt;a href="http://twitter.com/kazmuzik" rel="nofollow"&gt;&lt;font color="#00cc00"&gt;#1727170568&lt;/font&gt;&lt;/a&gt;&lt;/i&gt;&lt;br&gt;massey pluginsの L2007 &lt;a href="http://tr.im/kJzV" rel="nofollow"&gt;http://tr.im/kJzV&lt;/a&gt; を購入しました。今までは、(freeになった)Maximや、L2007のデモを使っていましたが、プロジェクトが本格的になってきたので、購入を決定しました。DTM(Drum To MIDI)もおまけ..&lt;br&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:333487</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/333487.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=333487"/>
    <title>Twitter #2</title>
    <published>2009-05-01T17:00:53Z</published>
    <updated>2009-05-10T16:21:06Z</updated>
    <category term="internet"/>
    <content type="html">&lt;table cellspacing="16" align="left"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;a href="http://twitter.com/kazmuzik" rel="nofollow"&gt;&lt;img src="http://assets0.twitter.com/images/twitter_logo_header.png" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;a href="http://kazmuzik.net/lj/331290.html" rel="nofollow"&gt;Twitter&lt;/a&gt; のエントリには、140文字という制限がありますが、日本語の場合、漢字も1文字で、さらに日本語は単語の間にスペースが不要なので、英語よりもたくさんの情報を含めることができます。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kazmuzik.net/lj/332934.html" rel="nofollow"&gt;4月は、このブログもなかなか更新できませんでした&lt;/a&gt;が、そのかわり、Twitter では、なるべくつぶやくようにしていました。140文字のエントリですが、上記のように、そこそこの情報は含めることができるので、過去のつぶやきを、このブログに取り込んでみようと考えています(*)。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2009-05-10 update&lt;/b&gt;&lt;br /&gt;(*) -&amp;gt; &lt;a href="http://kazmuzik.net/lj/336252.html" rel="nofollow"&gt;Twitter REST API (#3)&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:332934</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/332934.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=332934"/>
    <title>今日から 5月、ブログを再開します</title>
    <published>2009-05-01T15:04:04Z</published>
    <updated>2009-05-01T15:05:07Z</updated>
    <category term="american_life"/>
    <content type="html">時が経つのははやいもので、今年も、もう 5月になってしまいました。&lt;br /&gt;&lt;br /&gt;4月は、引越に加え、レコーディングセッションや重要な手続きなどがあり、このブログを書いている余裕もありませんでしたが、今週になり、やっと少しずつ catch up できてきました。&lt;br /&gt;&lt;br /&gt;このブログも、ぼちぼち再開していこうと考えています。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:331693</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/331693.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=331693"/>
    <title>apache project list, thanks to shinsuke</title>
    <published>2009-04-07T14:37:25Z</published>
    <updated>2009-04-07T14:39:50Z</updated>
    <category term="programming"/>
    <content type="html">&lt;table cellspacing="16" align="right"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img src="http://apache.org/images/feather.gif" width="178"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;最近は、複雑なロジックを Java (まれに C++) で、スクラッチから、しこしこ書くことが多くなって、framework 的なものには疎くなりつつありますが、それでも、ちょくちょく必要になるときがあります。そういうときには、代表的な &lt;a href="http://apache.org/" rel="nofollow"&gt;Apache.org&lt;/a&gt; などを見たりしますが、ものすごい数のプロジェクトがあり、ひとつひとつ見て行くと、結構、時間がかかってしまいます。&lt;br /&gt;&lt;br /&gt;最近、&lt;a href="http://d.hatena.ne.jp/shinsuke_sugaya/" rel="nofollow"&gt;shinsuke&lt;/a&gt; さんが、&lt;a href="http://d.hatena.ne.jp/shinsuke_sugaya/20090403/1238764102" rel="nofollow"&gt;Apacheプロジェクト超一覧&lt;/a&gt;として、日本語でまとめてくれたので、紹介しておきます。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:331290</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/331290.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=331290"/>
    <title>Twitter</title>
    <published>2009-03-27T14:47:00Z</published>
    <updated>2009-03-27T14:49:41Z</updated>
    <category term="internet"/>
    <content type="html">&lt;table cellspacing="16" align="left"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;a href="http://twitter.com/kazmuzik" rel="nofollow"&gt;&lt;img src="http://assets0.twitter.com/images/twitter_logo_125x29.png" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;a href="http://twitter.com/" rel="nofollow"&gt;Twitter&lt;/a&gt; に登録しようと思い、今年になって、何度か、アクセスしてみましたが、over capacity と表示され、なかなかできませんでしたが、今朝、なんとか registration することができました。使い方次第では、なかな便利なツールというか、ビジネス的にも、いろいろな分野で応用できそうなサービスです。&lt;br /&gt;&lt;br /&gt;-&amp;gt; &lt;a href="http://twitter.com/kazmuzik" rel="nofollow"&gt;twitter.com/kazmuzik&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:327360</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/327360.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=327360"/>
    <title>SMC8014-CCR - internet connection upgrade project #12</title>
    <published>2009-03-08T15:58:41Z</published>
    <updated>2009-03-16T12:57:49Z</updated>
    <category term="music_and_computer"/>
    <content type="html">&lt;table cellspacing="16" align="right"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img src="http://www.smc.com/images/products/400/SMC8014_TES.jpg"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;a href="http://kazmuzik.net/lj/326237.html" rel="nofollow"&gt;Comcast の cable modem (router) は、SMC8014-CCR&lt;/a&gt; ですが、&lt;a href="http://www.smc.com/" rel="nofollow"&gt;SMC Networks&lt;/a&gt; のサイトを調べても、&lt;a href="http://www.smc.com/index.cfm?event=viewCategory&amp;amp;localeCode=EN_USA&amp;amp;cid=2" rel="nofollow"&gt;SMC8014 シリーズ&lt;/a&gt;はいくつかありますが、CCR というのはありません。多分、Comcast Cable R(Residential ?) という特別バージョンと思われます。SMC8014 には、Residential では、W-G, WG-SI, WN-RES, Commercial では、BIZ, TES, WG-BIZ とありますが、W は Wireless なので、Wilress 機能のない CCR は、BIZ か TES あたりになりますが、TES は &lt;a href="http://en.wikipedia.org/wiki/L2TPv3" rel="nofollow"&gt;L2TPv3&lt;/a&gt; をサポートしているので、&lt;a href="http://www.smc.com/index.cfm?event=viewProduct&amp;amp;localeCode=EN_USA&amp;amp;cid=2&amp;amp;scid=20&amp;amp;pid=1611" rel="nofollow"&gt;SMC8014-BIZ&lt;/a&gt; が一番近いようです。(写真の色では、SMC8014-TES の濃い色が近いようですが)&lt;br /&gt;&lt;br /&gt;SMC8014-CCR にログインして、HELP のドキュメントを読むと、SMC8014WG と記述してありますが、CCR にない VPN や Wireless の機能も説明してあるので、どちらにしても、SMC8014 シリーズの VPN (L2TPv3) や Wireless をサポートしていない一番 basic なタイプのようです。なお、4ポートある LAN は、10M/100Mbps で Gigabit には対応していないようです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;試しに、3.2GB ある Solaris Express Community Edition Build 109 の DVD ISO イメージをダウンロードしてみたところ、常時 2MB/sec 前後で、30分未満で完了しました。今までは、半日程度かかっていたので、ISO イメージなどの大きなファイルのダウンロード時間は、かなり改善されます。また 2MB/sec = 16Mbps なので、ほぼ spec 通りです。&lt;br /&gt;&lt;br /&gt;しかし、&lt;a href="http://www.comcast.com/Shop/Buyflow/Default.ashx?area=6&amp;amp;SourcePage=Internet" rel="nofollow"&gt;Comcast の Residential&lt;/a&gt; の方では、Business Preferred (16M/2M, $90) よりも高速な Blast! (20M/4M) が $50, Ultra (30M/5M) が $60 と、より安い値段で提供されています。また、$140 と高くなりますが、Extreme (50M/10M) という plan もあります。Residential の場合は、static IP address が option でもないので、Business Class にするしかありませんが、Business Class の方でも、reasonable な値段で、Ultra (30M/5M) 程度にしてもらいたいものです(＊)。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ちなみに、今朝は、7am になっても暗いな、と思っていたら、壁掛け時計の時刻が 1時間遅れていて、今日から daylight savings time になっていたことに気がつきました。3月の第2日曜日から夏時間になるのは、今年が 3年目です。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2009-03-11 update&lt;/b&gt;&lt;br /&gt;(＊) 3/10 に Comcast Business Class の sales 担当者にメールしたところ、Extreme 相当の 50M/10M が、月額 $190 で提供できる、とのことでした。しかし、そこまでの予算はないので、Ultra 相当の 30M/5M はどうか尋ねてみましたが、Business Class での提供はない、とのことでした。いずれは upgrade されると思いますが、それまでは、現行の Preferred Plan 16M/2M で使用することになります。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:327140</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/327140.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=327140"/>
    <title>GoDaddy Total DNS - internet connection upgrade project #11</title>
    <published>2009-03-08T14:11:26Z</published>
    <updated>2009-03-08T14:12:53Z</updated>
    <category term="computer_technology"/>
    <content type="html">&lt;a href="http://kazmuzik.net/lj/326237.html" rel="nofollow"&gt;来週早々には、Comcast で static IP address が assign される&lt;/a&gt;ので、DNS を update する必要があります。現在のところ、Internet に公開している name server としては、&lt;a href="http://kazmuzik.net/lj/305778.html" rel="nofollow"&gt;NeuStar UltraDNS (secondary.com) と EveryDNS&lt;/a&gt; をメインで使っていますが、ひとつだけ、GoDaddy の name server (domaincontrol.com) をそのまま使っている domain がありました。先日、その domain で、&lt;a href="http://kazmuzik.net/lj/322079.html" rel="nofollow"&gt;Google Apps&lt;/a&gt; を使うのに、DNS の設定をする必要があったので、&lt;a href="http://kazmuzik.net/lj/322079.html" rel="nofollow"&gt;GoDaddy の Total DNS&lt;/a&gt; という web ベースのツールを使ってみましたが、なかなか便利でした。このため、もうすぐ無料で使える期間が終了する UltraDNS でサービスしている domain を、GoDaddy の name server に移行しました。これで、DNS に関しては、GoDaddy だけで、設定から secondary server まで、まかなえることになり、自分で named をメンテナンスする必要がなくなりました。残りの EveryDNS でサービスしている domain も、Comcast で static IP address が使えるようになったら、GoDaddy の name server に切り替える予定です。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:326655</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/326655.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=326655"/>
    <title>iMac++ for my wife #5 - wired connection</title>
    <published>2009-03-08T05:31:53Z</published>
    <updated>2009-03-08T13:35:52Z</updated>
    <category term="music_and_computer"/>
    <content type="html">&lt;a href="http://kazmuzik.net/lj/315235.html" rel="nofollow"&gt;妻の iMac++ のネットワークは、AWLH6070 (AirLink101 150N PCI) で、AR690W (AirLink101 300N router) に接続&lt;/a&gt;していますが、これは wired の接続がうまくいかないためです。妻の bedroom から、living room の router までは、長い ethernet cable がありますが、長過ぎるため、router のところでは、巻いてありました。ところが、&lt;a href="http://kazmuzik.net/lj/326237.html" rel="nofollow"&gt;昨日、適当な長さの ethernet cable を自作&lt;/a&gt;したときに、このケーブルを切断して作成しました。このため、妻の bedroom から、living room までのケーブル長は、短くなって、両端のコネクタも新しくなりました。そこで、ノートPC で試したところ、ちゃんと通信できたので、今朝、iMac++ でも onboard の VIA の 8111B のポートを使って、Comcast の router に接続したところ、問題なく使えました(＊)。このため、AWLH6070 の方は off にして、wired で使うことにしました。&lt;br /&gt;&lt;br /&gt;しかし、LAN は、wired, WAN は cable と、改善しましたが、妻としては、今のところ、あまり改善したという実感はないようです。そんなもんかのぅ。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2009-03-08 update&lt;/b&gt;&lt;br /&gt;(＊) このケーブルは、&lt;a href="http://en.wikipedia.org/wiki/Category_5_cable" rel="nofollow"&gt;Category 5&lt;/a&gt; だったためかもしれません。今まで、あまり注意していなかったのですが、Cat 5 は、ANSI/TIA/EIA-568-A で定義されているため、終端の 8P8C modular plug は、T568A wiring となっていて、&lt;a href="http://en.wikipedia.org/wiki/Category_5_cable#Category_5e" rel="nofollow"&gt;Cat 5e&lt;/a&gt; は、TIA/EIA-568-B で定められているので、T568B となっているようです。また、Ethernet の 8-pin の modular plug は、ずっと &lt;a href="http://en.wikipedia.org/wiki/Registered_jack" rel="nofollow"&gt;RJ-45&lt;/a&gt; だと思っていましたが、正しくは、&lt;a href="http://en.wikipedia.org/wiki/8P8C" rel="nofollow"&gt;8P8C (8 position 8 contact)&lt;/a&gt; と言うようです。たかが、&lt;a href="http://en.wikipedia.org/wiki/Twisted_pair" rel="nofollow"&gt;Twisted Pair Calbe&lt;/a&gt; と考えていましたが、なかなか奥が深いです。&lt;br /&gt;-&amp;gt; &lt;a href="http://kazmuzik.net/lj/194462.html" rel="nofollow"&gt;TRENDnet 24-Port Rack Mount Patch Panel &amp; Paradin Tools - rackmount project #11&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:322341</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/322341.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=322341"/>
    <title>Adobe Reader 9 and GIMP - N-400 #6</title>
    <published>2009-02-23T06:29:02Z</published>
    <updated>2009-02-23T07:09:32Z</updated>
    <category term="computer_technology"/>
    <category term="immigration"/>
    <content type="html">今日は、Presidents Day で、私が約 8年前に U.S. へ来てからは、ずっと Bush が大統領でしたが、去年、めでたく、Obama が勝利して、先月、正式に大統領になりました。本当は、去年の選挙で vote したかったのですが、INS / USCIS の悪質な processing delay のため green card の取得が大幅に遅れ、今月、やっと N-400 をファイルできるところまで、きました。N-400 をファイルして、U.S.Citizen になるのが、Bush の時ではなく、Obama の時で、良かった、と思うことにしておきます。&lt;br /&gt;&lt;table cellspacing="16" align="right"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img src="http://wwwimages.adobe.com/www.adobe.com/products/acrobat/images/reader_icon_special.jpg"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;N-400 は、まだ eFile できないので、記入して郵送することになりますが、PDF ファイルは form になっていて、自分のコンピュウータでタイプして、プリントできるようになっています。先週、保険関係の申請の PDF では、Mac OS X 付属の Preview でもできたのですが、N-400 は最新のバージョンを使っているようで、&lt;a href="http://get.adobe.com/reader/" rel="nofollow"&gt;Adobe Reader 9&lt;/a&gt; を使う必要がありました。&lt;br /&gt;&lt;table cellspacing="16" align="left"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img src="http://gimp.lisanet.de/Website/Download_files/shapeimage_2.jpg"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;また、30日以内に撮影した photo も必要ですが、妻に digital camera で撮影してもらいました。iMaC#m7 で編集するので、USB ケーブルで接続しました。今回、初めてでしたが、自動的に iPhoto が立ち上がってきて、簡単に取り込むことができました。その後、2"x2" の正方形のイメージを作成するところまでは iPhoto で簡単に出来たのですが、&lt;a href="http://kazmuzik.net/lj/69614.html" rel="nofollow"&gt;それを、2x3 に並べて、4"x6" のイメージ&lt;/a&gt;を作成することが出来ず、結局、&lt;a href="http://www.gimp.org/" rel="nofollow"&gt;GIMP&lt;/a&gt; を使うことにしました。ただし、今までは、Linux (Fedora) で使っていたので、install されているか、yum で簡単に install できたのですが、今回は Mac OS X なので、&lt;a href="http://www.gimp.org/macintosh/" rel="nofollow"&gt;Mac OS X 用の GIMP&lt;/a&gt; を install しなければいけません。まずは、&lt;a href="http://www.macports.org/" rel="nofollow"&gt;MacPorts&lt;/a&gt; を試してみようと思いましたが、&lt;a href="http://kazmuzik.net/lj/319908.html" rel="nofollow"&gt;先週、DarwinPorts&lt;/a&gt; をインストールしたので、それを使って port install gimp とやりましたが、すぐに止まってしまいます。ただし、CPU は消費しているようですが、ディスクやネットワークにアクセスしている気配もありません。そこで、&lt;a href="http://gimp.lisanet.de/" rel="nofollow"&gt;GIMP on OS X&lt;/a&gt; をダウンロードして、インストールしました。こちらの方は X11 の上で、正常に立ち上がってきました。ただし、以前 Linux で使った時とは、若干、操作が異なるところがあり、戸惑うことが何度かありました。また、マウスの移動にカーソルの追従がかなり遅れる場合もありました。しかし、なんとか目的のイメージを作成することができ、Walgreens.com でオーダーしました。今日は、19¢+tax=21¢でした。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:318767</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/318767.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=318767"/>
    <title>field office processing time - N-400 #4</title>
    <published>2009-02-13T13:18:11Z</published>
    <updated>2009-02-13T13:19:48Z</updated>
    <category term="immigration"/>
    <content type="html">&lt;a href="http://kazmuzik.net/lj/205397.html" rel="nofollow"&gt;2007年夏の申請料の大幅な値上げの前に、駆け込みの申請が殺到して、膨大な backlog を抱えていた USCIS&lt;/a&gt; ですが、一応、ここ 1年でだいぶん改善してきているようです。2/4/2009 に update されている &lt;a href="http://www.uscis.gov/portal/site/uscis/menuitem.5af9bb95919f35e66f614176543f6d1a/?vgnextoid=97e19c337879d110VgnVCM1000004718190aRCRD" rel="nofollow"&gt;USCIS Processing Times Progressing Toward FY 2009 Goals&lt;/a&gt; によると、N-400 に関しては、値上げ前の goal は、7ヶ月だったところ、FY2009 の終わり(9/30/2009)には、5ヶ月を goal に設定しているようで、現状は 7.6ヶ月とあります。&lt;br /&gt;&lt;br /&gt;実際に、&lt;a href="https://egov.uscis.gov/cris/jsps/ptimes.jsp" rel="nofollow"&gt;Processing Times&lt;/a&gt; のページから、いくつかの field office を調べてみると、1/23/2009 に post されたデータで、11/30/2008 現在での processing date は、San Jose で　4/24/2009 (7ヶ月), San Francisco で 6/8/2008 (6ヶ月), Los Angeles で 9/3/2007 (14ヶ月) などとなっています。このあたり(Silicon Valley 近辺)では、順調に推移してきているようですが、Latino の多い大都会である Los Angeles では遅れているようです。&lt;br /&gt;&lt;br /&gt;ちなみに、現在の申請料は、N-400 で $595 に、biometrics の費用 $80 を加えて、$675 となっています。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:318562</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/318562.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=318562"/>
    <title>New Naturalization Test - N-400 #5</title>
    <published>2009-02-13T12:46:57Z</published>
    <updated>2009-02-13T12:53:00Z</updated>
    <category term="immigration"/>
    <content type="html">&lt;a href="http://kazmuzik.net/lj/317737.html" rel="nofollow"&gt;Naturalization における English and civics test について、2/3 には、実際あまり影響のない、年齢に関する取り扱い&lt;/a&gt;について書きましたが、最近、&lt;a href="http://www.uscis.gov/newtest" rel="nofollow"&gt;新しいテストが導入&lt;/a&gt;されたようで、10/1/2008 以降にファイルした人は、必ず、新しいテストで受けなければいけないようです。従来のテストは、10/1/2009 まで継続するようで、10/1/2008 以前にファイルした人は、それまでの間、どちらか選択できるようです。&lt;br /&gt;&lt;br /&gt;Study Materials をさっと見る限りでは、極端に難しくなったという印象はありませんが、interview が近くなったら、まじめに勉強しておいた方が良さそうです。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:312300</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/312300.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=312300"/>
    <title>Pro Tools LE 8 and Windows 7 on iMaC#m7</title>
    <published>2009-01-18T20:32:53Z</published>
    <updated>2009-01-19T06:48:20Z</updated>
    <category term="music_and_computer"/>
    <content type="html">&lt;a href="http://kazmuzik.net/lj/311970.html" rel="nofollow"&gt;昨日は、Windows 7 での Pro Tools LE 8 の評価には成功&lt;/a&gt;したものの、Vista でも発生していた interrupt による error -6086 や音切れの問題に悩まされました。今朝、&lt;a href="http://duc.digidesign.com/showthread.php?t=234923" rel="nofollow"&gt;DUC での同様の報告に関するスレッド&lt;/a&gt;や、&lt;a href="http://www.digidesign.com/index.cfm?langid=100&amp;amp;navid=54&amp;amp;itemid=23664" rel="nofollow"&gt;Digidesign による正式なドキュメント&lt;/a&gt;などを参考に、さらに試してみましたが、やはり解決はしませんでした。&lt;br /&gt;&lt;br /&gt;nVidia の chipset + AMD の CPU という組み合わせが悪い可能性もあるので、hard disk drive だけを外して、iMaC#m7 (GA-EP45-UD3P + Q6600) で試してみました。BIOS で SATA のモードを変更してやるだけで、Windows 7 が立ち上がってきたので、そのまま Pro Tools LE 8 を立ち上げたところ、iLok の問題も発生せず、session の再生でも error で止まることなく、Mac OS X の時と、ほぼ同等の安定した CPU 使用率で、動きました。最近では、Mac OS X の key binding に慣れているので、少し戸惑いましたが、Core 2 Quad となると、Mac OS X でも、Windows でも、気持ちよく操作することができます。&lt;br /&gt;&lt;br /&gt;iMaC#m7 の Windows 7 Performance Index ですが、Processor: 6.9 (Q6600), Memory (RAM): 6.9 (DDR2-800 4-4-4-12 2x2GB dual channel), Graphics: 7.9, Gaming graphics: 5.9 (GeForce 9800 DDR3 512MB), Primary hard disk: 3.0 (Seagate SATA2 320GB) と、3つの項目で Windows 7 から導入された 6.0 以上となり、Graphics は最高値の 7.9 となりました。&lt;br /&gt;&lt;img src="http://kazmuzik.net/images/lj/win7-imacsharpm7-20090118.png" width="640"&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="16" align="right"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img src="http://www.patriotmem.com/products/specs/patriot%20DDR2%20Fin_300px.jpg"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;なお、iMaC#m7 のメモリは、現在 6GB ですが、8GB とするために、去年のうちに、&lt;a href="http://www.patriotmem.com/products/detailp.jsp?prodline=5&amp;amp;catid=17&amp;amp;prodgroupid=109&amp;amp;id=680&amp;amp;type=1" rel="nofollow"&gt;Patriot Viper PC2-6400 4-4-4-12 2x2GB kit (PVS24G6400LLK)&lt;/a&gt; を 2つ買ってありました。Windows 7 Beta 32-bit を試すため、4GB とするのに、まだ未使用だったこのメモリを使ってみましたが、1組は不良品で、どちらを挿しても、起動しなくなりました。別の PC で試してみましたが、間違いありません。幸い、Fry's で購入してから、1ヶ月以内なので、交換しに行く必要があります。もう 1組の方は、どちらも大丈夫でした。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:311576</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/311576.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=311576"/>
    <title>desktop machines reconfiguration project #2 - for Windows 7 Beta</title>
    <published>2009-01-18T06:07:52Z</published>
    <updated>2009-01-18T18:34:06Z</updated>
    <category term="music_and_computer"/>
    <content type="html">&lt;a href="http://kazmuzik.net/lj/308546.html" rel="nofollow"&gt;先週末に、Server を Rack に組み込んだ&lt;/a&gt;後、desktop machine(s) reconfiguration project を始めましたが、&lt;a href="http://kazmuzik.net/lj/308841.html" rel="nofollow"&gt;iMac++ と iMaC#m7 を入れ換えた&lt;/a&gt;だけとなっていました。今週末は、このプロジェクトに、本格的に、手をつけることにしました。&lt;br /&gt;&lt;br /&gt;まずは、Windows 7 Beta マシンを用意することにして、&lt;a href="http://kazmuzik.net/lj/286066.html" rel="nofollow"&gt;11月下旬に壊れた、以前に妻が使っていた PC&lt;/a&gt; の筐体に、元 Linux サーバーのパーツを組み込むことにしまいた。そこで、壊れた PC から、マザーボードを取り外すと、CPU クーラーがぐらついていました。特に、外した覚えはないので、チェックすると、マザーボードについている、CPU クーラーの金具を受け止める、プラスチック製のパーツの、video card に近い方のほんの一部が壊れていて、CPU クーラーの金具が外れていました。このため、電源を入れてすぐに、CPU の温度が異常に高くなり、ブートしなくなったものと思われます。&lt;a href="http://kazmuzik.net/lj/295198.html" rel="nofollow"&gt;12/14/2008 には、壊れたのは、マザーボードの ECS NFORCE6M-A&lt;/a&gt; だと書きましたが、正確には、そのプラスチックのパーツだったわけです。しかし、これを修理する余裕はないので、予定通り、Linux サーバーのマザーボード NFORCE4M-A (v3.0) を使うことにしました。ただし、こちらの CPU は、AMD Athlon 64 X2 4200+ だったので、元-妻のPC から AMD Athlon 64 X2 6000+ と CPUクーラーを外して、入れ換えました。当面は、Winodws 7 Beta 32-bit を予定しているので、メモリはそのまま DDR2-800 2x2GB (4GB) です。また、video card は、GeForce 8600 GT DDR3 512MB, network は、いつもの AirLink101 gigabit ethernet adapter です。Hard disk は、Seagate SATA2 320GB で、DVD-ROM は、元々、ケースについていた IDE のものをそのまま使うことにしました。&lt;br /&gt;&lt;br /&gt;これに、電源は、たぶん Linux サーバーで使っていた(?)と思われる、RAIDMAX 450W を付けました。組み立てが完了したので、monitor, keyboard, mouse, network ケーブルを接続し、さらに電源ケーブルを入れて、Power Supply Unit のスイッチを入れると、バチッというような音がしたような気がして、なんとなく焦げ臭いような気がしました。急いで、power cable を外しましたが、やはり、電源ユニットから焦げ臭い匂いがしています。そこで、RAIDMAX 450W を取り外して、ThermalTake 430W に置き換えました。今度は、無事に立ち上がってきました。壊れたのは、電源ユニットだけで、すんだようです。&lt;br /&gt;&lt;br /&gt;USB Flash Memory からブートして、BIOS をアップデートしてから、Windows ... をインストールしました。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:308344</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/308344.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=308344"/>
    <title>Pro Tools LE 8 - 003 Factory Bundle iLok license issue</title>
    <published>2009-01-11T01:47:22Z</published>
    <updated>2009-01-11T01:49:22Z</updated>
    <category term="music_technology"/>
    <content type="html">&lt;a href="http://kazmuzik.net/lj/302896.html" rel="nofollow"&gt;1/2/2009 には、003 Factory Bundle をインストール&lt;/a&gt;しましたが、Pro Tools LE 8 の起動時に、authorize に失敗しているのに、気がつきました。なんとなく、&lt;a href="http://duc.digidesign.com/" rel="nofollow"&gt;DUC (Digidesign User Conference)&lt;/a&gt; で読んだような記憶があったので、調べてみると、&lt;a href="http://duc.digidesign.com/showthread.php?p=1319397#post1319397" rel="nofollow"&gt;12/19/2008 付けで、Digidesign Announcements の Pro Tools 8 Information のスレッド&lt;/a&gt;に、workaround が記述してありました。これによると、iLok のライセンスの description に変更があり、従来からのライセンスの iLok では、&lt;a href="http://www.digidesign.com/index.cfm?langid=100&amp;amp;navid=54&amp;amp;itemid=24497" rel="nofollow"&gt;Optinal Factory Bundle Installers&lt;/a&gt; のページから、v8.0 用ではなく、v7.x 用をダウンロードする必要があるとのことです。&lt;br /&gt;&lt;br /&gt;しかし、Mac OS X Leopard 用の v7.4.2 installer は、D-Fi と Maxim も含んでいるとの記述があります。これらは、Pro Tools LE 8 では、factory bundle 扱いではなく、Pro Tools LE 8 本体の installer でインストールされ、iLok なしで使えます。しかし、v7.4.2 の D-Fi と Maxim をインストールすると、iLok が必要になるはずです。また、Digidesign のページには明記されていませんでしたが、SansAmp PSA-1 も同じはずです。&lt;br /&gt;&lt;br /&gt;そこで、D-Fi 関連の 4つの dpm (LoFi.dpm, RectiFi.dpm, SciFi.dpm, VariFi.dpm) と、Maxim.dpm, SansAmp PSA-1.dpm の 6つを、Plug-Ins フォルダから移動しておいてから、v7.4.2 の 003 Factory Bundle plug-ins をインストールしました。このままで、iLok のライセンスが必要になるので、6つの dpm を削除して、退避しておいた v8 の dpm を戻してやれば、OK です。&lt;br /&gt;&lt;br /&gt;従来のライセンスのある iLok を常に挿している場合は、このような作業は不要ですが、せっかくライセンスなしで使えるので、別の iLok に移動しておいて、main の iLok をきれいに整理しておきたいですし、なんらかの事情で iLok が使えない場合でも、上記のようにしておけば大丈夫なので、安心です。&lt;br /&gt;&lt;br /&gt;これを考慮して、&lt;a href="http://kazmuzik.net/lj/302896.html" rel="nofollow"&gt;1/2/2009 のエントリにあるPlug-In のリスト&lt;/a&gt;を、若干、整理しておきました。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:308195</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/308195.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=308195"/>
    <title>Waves Berklee/Certification/Educational Bundle #3</title>
    <published>2009-01-11T01:06:46Z</published>
    <updated>2009-01-11T01:17:09Z</updated>
    <category term="music_technology"/>
    <content type="html">&lt;table cellspacing="16" align="right"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img src="http://waves.com/objects/Images/Icons/s1_icon.jpg"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;a href="http://kazmuzik.net/lj/307688.html" rel="nofollow"&gt;1/7/2009 に、Waves Berklee Bundle をインストール&lt;/a&gt;しましたが、起動時に、&lt;a href="http://waves.com/Content.aspx?id=275" rel="nofollow"&gt;S1 Stereo Imager&lt;/a&gt; のライセンスがないという警告が出ます。もともと、iLok のライセンスはないはずなので、インストールされたフォルダを調べてみました。&lt;br /&gt;&lt;br /&gt;Waves の個々の Plug-in(s) は、/Applications/Waves/Waves Plug-Ins/ に、C1.bundles などとインストールされます。/Library/Application Supports/Digidesign/Plug-Ins/ には、WaveShell-DAE 6.0.6.dpm という plug-in がひとつだけインストールされ、これが Waves Plug-Ins フォルダにある実際の Plug-in と仲介して動作するようです。&lt;br /&gt;&lt;table cellspacing="16" align="left"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img src="http://waves.com/objects/Images/Icons/supertap_icon.jpg"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Waves Plug-Ins フォルダを調べると、問題の S1.bundle がありました。これを削除したところ、起動時の警告は出なくなりました。ところが、そのフォルダを確認すると、SuperTap の bundle がありません。どうも、V6 Complete installer が、SuperTap のかわりに、S1 をインストールしたようです。このため、再び、V6 installer を起動して、個別の plug-in のリストから、SuperTap だけ選択して、インストールしました。これで、iLok にある Waves Certification Bundle の 6個の plug-in(s)がすべて使えるようになりました。&lt;br /&gt;&lt;br /&gt;&lt;table border="1" bgcolor="#ccccff"&gt;
&lt;tr&gt;&lt;td colspan="5"&gt;&lt;b&gt;Waves Plug-Ins&lt;/b&gt; : /Applications/Waves/Waves Plug-ins&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="center"&gt;&lt;i&gt;File&lt;/i&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;Name&lt;/i&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;Version&lt;/i&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;Identifier&lt;/i&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;i&gt;Bundle Info&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;C1.bundle&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;C1 6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;com.WavesAudio.C1.6.0.5.1&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;DLA.bundle&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;DLA 6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;com.WavesAudio.DLA.6.0.5.1&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;IDR.bundle&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;IDR 6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;com.WavesAudio.IDR.6.0.5.1&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;RComp.bundle&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;RComp 6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;com.WavesAudio.RComp.6.0.5.1&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;REQ.bundle&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;REQ 6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;com.WavesAudio.REQ.6.0.5.1&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;RVerb.bundle&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;RVerb 6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;com.WavesAudio.RVerb.6.0.5.1&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;SuperTap.bundle&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;SuperTap 6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;6.0.5&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;com.WavesAudio.SuperTap.6.0.5.1&lt;/font&gt;&lt;/td&gt;&lt;td align="left" valign="top"&gt;&lt;font size="1"&gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:306402</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/306402.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=306402"/>
    <title>JSPWiki #2 - MediaWikiTemplate - Solaris ZFS+VM Server Project #16</title>
    <published>2009-01-05T01:30:08Z</published>
    <updated>2009-01-05T05:48:48Z</updated>
    <category term="computer_technology"/>
    <content type="html">&lt;a href="http://kazmuzik.net/lj/305114.html" rel="nofollow"&gt;昨日は個人用の Wiki を Fedora 10 VM に移行&lt;/a&gt;しましたが、JSPWiki の default template では、やはり感じがでないばかりか、使い勝手も悪いような気がします。そこで、&lt;a href="http://www.jspwiki.org/wiki/MediaWikiTemplate" rel="nofollow"&gt;MediaWikiTemplate&lt;/a&gt; をインストールすることにしました。3年ぶりなので、ほとんど忘れていましたが、手順通りに行ったところ、わりとすんなりと setup することができました。&lt;br /&gt;&lt;table border="1" cellpadding="8"&gt;&lt;tr&gt;&lt;td bgcolor="#ffffaa"&gt;&lt;pre style="line-height:100%;"&gt;
$ cd /tmp
$ curl -O -L -R http://www.jspwiki.org/attach/MediaWikiTemplate/MediaWiki-2_4_0-compatible.zip
$ cd /opt/tomcat/webapps/KazMuzikWiki/templates
$ unzip /tmp/MediaWiki-2_4_0-compatible.zip
$ cp MediaWiki/*.txt /wiki/KazMuzikWiki-data
$ cp MediaWiki/*.jar ../WEB-INF/lib
$ cd ../WEB-INF
$ vi jspwiki.properties
...
jspwiki.templateDir =MediaWiki
...
jspwiki.auth.useOldAuth=true
jspwiki.useContainerAuth=false
jspwiki.authenticator = FileAuthenticator
jspwiki.fileAuthenticator.fileName = /tmp/passwords.txt
$ vi /tmp/passwords.txt
kazmuzik = *****
$ cd /opt/tomcat/webapps/KazMuzikWiki/templates/MediaWiki
$ cp /tmp/kazmuzik.png logo.png
$ vi jspwiki.css
...
#p-logo {
        z-index: 3000;
        position: absolute;
        overflow: hidden;
        top: 0;
        left: 0;
        margin-top: 20px;
        margin-left: 20px;
}
...
$ /opt/tomcat/bin/shutdown.sh
$ /opt/tomcat/bin/startup.sh
$ &lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;Authentication まわりは、前回(3年前)と違うような気がしますが、今回は、あまり詳しくみてる暇はありませんでした。&lt;br /&gt;&lt;br /&gt;JSPWiki には Lucene の index を作成したり、ブログに便利な機能があったりするようなので、おいおい利用していきたいと思います。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:304544</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/304544.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=304544"/>
    <title>TurboTax Deluxe 2008</title>
    <published>2009-01-03T17:43:18Z</published>
    <updated>2009-01-04T14:33:32Z</updated>
    <category term="tax"/>
    <content type="html">&lt;table cellspacing="16" align="left"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img src="http://turbotax.intuit.com/images/desktop-boxshots/ty08/deluxe-left.png"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;a href="http://turbotax.intuit.com/personal-taxes/cd-download/deluxe.jsp" rel="nofollow"&gt;TurboTax Deluxe 2008 (CD)&lt;/a&gt;を、online でオーダーしました。&lt;a href="http://kazmuzik.net/lj/176531.html" rel="nofollow"&gt;去年は、Home &amp; Business&lt;/a&gt; を購入しましたが、今年は、Deluxe で十分(なはず)です。TurboTax には、Federal, State, eFile の組み合わせがいろいろあって、ややこしいのですが、私が購入したのは、Deluxe Federal + State + Federal eFile で、State eFile は、追加で $17.95 必要になる見込みです。また、今回は、Mac OS X で行う予定です。&lt;br /&gt;&lt;br /&gt;去年の反省を踏まえて、&lt;a href="http://www.amazon.com/TurboTax-Deluxe-Federal-State-eFile/dp/B001GL6QHS" rel="nofollow"&gt;Amazon.com&lt;/a&gt; から、$33 〜 $34 + $4 (shipping) のところでオーダーしようと思いましたが、一応、&lt;a href="http://software.pricegrabber.com/financial-legal/m/701738609/" rel="nofollow"&gt;PriceGrabber.com&lt;/a&gt; を見たところ、Amazon.com　にも上位にリストされていて、また、consumer questions に timely にきちんと答えていて、信用できそうな &lt;a href="http://www.pricegrabber.com/SFstore.php/userid=179508" rel="nofollow"&gt;SCE, Inc.&lt;/a&gt; が、$25.95 + $8 (USPS Priority Mail) と、条件も良かったので、ここでオーダーしました。ちなみに、PriceGrabber.com では、&lt;a href="http://www.pricegrabber.com/info_policies.php/policy=protection" rel="nofollow"&gt;$15 の deductible があるものの $500 まで保証してくれる Member Protection&lt;/a&gt; があります。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:304149</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/304149.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=304149"/>
    <title>$68.31 - Google AdSense total earnings in 2008</title>
    <published>2009-01-03T16:05:24Z</published>
    <updated>2009-01-03T16:07:51Z</updated>
    <category term="tax"/>
    <category term="computer_technology"/>
    <content type="html">&lt;table cellspacing="16" align="right"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img src="https://www.google.com/adsense/static/en_US/images/google_sm.gif"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;a href="http://kazmuzik.net/lj/206825.html" rel="nofollow"&gt;去年の3月に Google AdSense&lt;/a&gt;を始め、&lt;a href="http://kazmuzik.net/lj/211494.html" rel="nofollow"&gt;W-9 を提出&lt;/a&gt;したりしましたが、2008年の total earnings は、$68.31 と、目標の $100 には及ばず、実際の収入には至っていません。&lt;br /&gt;&lt;br /&gt;今年は、ad もクリックしてもらえるように、&lt;a href="http://kazmuzik.net/" rel="nofollow"&gt;kazmuzik.net&lt;/a&gt; の内容も充実させていきたいと思います。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:303792</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/303792.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=303792"/>
    <title>AR430W firmware v1.02 .. still port forwarding issue</title>
    <published>2009-01-03T14:06:17Z</published>
    <updated>2009-01-03T14:23:50Z</updated>
    <category term="computer_technology"/>
    <content type="html">&lt;table cellspacing="16" align="left"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img src="http://airlink101.com/images/airlink101_logo_final_a.jpg"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;うちの&lt;a href="http://kazmuzik.net/lj/303589.html" rel="nofollow"&gt;ネットワークでは、大活躍の AirLink101&lt;/a&gt; ですが、&lt;a href="http://kazmuzik.net/lj/195562.html" rel="nofollow"&gt;AR430W&lt;/a&gt; の &lt;a href="http://kazmuzik.net/lj/203898.html" rel="nofollow"&gt;AirLink101 純正の firmware では、port forwarding が機能しません&lt;/a&gt;。9/29/20080 に、&lt;a href="http://www.airlink101.com/support/index.php?cmd=files&amp;amp;_a=download&amp;amp;id=324" rel="nofollow"&gt;v1.02 の firmware&lt;/a&gt; がリリースされていたので、ダウンロードして、flash してみましたが、これでも fix していませんでした。管理用の web UI は、AR690W のものとほとんど同じで、&lt;a href="http://kazmuzik.net/lj/301184.html" rel="nofollow"&gt;AR690W では port forwarding がちゃんと機能&lt;/a&gt;するので、これは AR430W だけの問題です。&lt;br /&gt;&lt;br /&gt;このため、AR430W で port forwarding を利用するには、&lt;a href="http://kazmuzik.net/lj/247683.html" rel="nofollow"&gt;DD-WRT&lt;/a&gt; を flash する必要がありそうです。Stable な最新バージョンは、まだ v24 SP1 でした。</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kazuomik:303589</id>
    <link rel="alternate" type="text/html" href="http://kazuomik.livejournal.com/303589.html"/>
    <link rel="self" type="text/xml" href="http://kazuomik.livejournal.com/data/atom/?itemid=303589"/>
    <title>AirLink101 AWLL6090 Wireless 300N USB Adapter and Ralink RT2870 for Mac OS X</title>
    <published>2009-01-03T07:24:13Z</published>
    <updated>2009-01-03T07:54:52Z</updated>
    <category term="computer_technology"/>
    <content type="html">&lt;a href="http://kazmuzik.net/lj/301184.html" rel="nofollow"&gt;昨日(1/1)、あまり深く考えず、勢いで購入した AirLink101 AWLL6090 Wireless 300N USB Adapter&lt;/a&gt; ですが、これは、AR690W と違い、USB で接続する PC がサポートしなければ使えません。&lt;a href="http://airlink101.com/products/awll6090.php" rel="nofollow"&gt;AirLink101 のウェブサイト&lt;/a&gt;を見ると、OS Compatibility として、Windows 2000 / XP / Vista しかリストされていません。また、ウェブ検索してみても、Mac OS X の情報は、出てきません。これは早まったかな、と思いましたが、一応、iMac++ に挿してみたところ、AirPort のデバイスとしては認識されませんでしたが、System Profiler の USB には、"802.11 n WLAN" として、Manufacturer: Ralink となっていました。&lt;br /&gt;&lt;br /&gt;Ralink といえば、&lt;a href="http://kazmuzik.net/lj/66035.html" rel="nofollow"&gt;iBook G4 で使っていた D-Link DWL G122&lt;/a&gt; の chipset が Ralink RT2500 で、&lt;a href="http://www.ralinktech.com/ralink/Home/Support/Macintosh.html" rel="nofollow"&gt;Ralink から、Mac OS X 用のソフトウェア&lt;/a&gt;が提供されていました。一応、アクセスしてみると、12/04/2008 に、&lt;a href="http://www.ralinktech.com.tw/data/drivers/RTUSB%20D2870-1.2.4.0a%20UI-1.6.8.0_2008_12_04.dmg" rel="nofollow"&gt;RT2870&lt;a&gt; と &lt;a href="http://www.ralinktech.com.tw/data/drivers/RTUSB%20D71w-1.2.4.0_D2500-1.1.3.0%20UI-1.6.8.0_2008_12_04.dmg" rel="nofollow"&gt;RT257x/RT2671&lt;/a&gt; のソフトウェアがリリースされていて、10.5 (Leopard) もサポートされています。ただし、AWILL6090 の chipset が何かわからず、最悪、どちらでもない可能性もあります(＊)。&lt;br /&gt;&lt;br /&gt;まずは、RT2870 用のソフトウェアをインストールしてみました。OS の再起動が必要で、Mac OS X が立ち上がってきてから、Ralink の USB Wireless Utility を走らせてみましたが、no device となっていました。次に、RT257x/2671 用をインストールしてみましたが、今度は、USB Wireless Utility も起動しなくなりました。ここで、いったんあきらめかけましたが、一応、uninstall してから、ひとつずつ install してみたりしましたが、やはり同じ結果でした。試しに、DWL G122 を挿したところ、network の新しいデバイスがみつかった、というようなメッセージが出て、System Preferences の Network が立ち上がってきて、新しい Ethernet が追加されていました。このときは、よくわからずに、いろいろいじっているうちに、再び、認識されなくなってしまいました。しかし、RT2870 の USB Wireless Utility を上げたまま、DWL G122 から、AWILL6090 に差し換えると、Site Survey に、Wireless Access Point のリストが出てきました。AR690W のものを選択して、connect すると、接続されたようで、Sytem Preferences の Network で、IP Address などの設定をすると、使えるようになりました。念のため、wired のデバイスを off にしたところ、wireless でネットワークに接続されていることが確認できました。&lt;br /&gt;&lt;br /&gt;ということで、結果的に、Mac OS X でも使えることがわかりました。ただし、AirPort ではなく、Ralink の USB Wireless Utility で connect する必要があり、その後は、Ethernet のデバイスとして、System Preferences の Network に現れます。妻の PC をセットアップして、wireless で使用する場合には、これで 802.11n 300N で接続できます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2009-01-02 update&lt;/b&gt;&lt;br /&gt;(＊) Ralink に、&lt;a href="http://www.ralinktech.com/ralink/data/RT2800.pdf" rel="nofollow"&gt;RT2800&lt;/a&gt; というドキュメントがあり、この chipset family が 802.11n をサポートしていることがわかります。&lt;/a&gt;&lt;/a&gt;</content>
  </entry>
</feed>

