« 2006年07月 | メイン | 2006年09月 »
2006年08月25日
Linux猫フィーダー(餌やり機) (動画)
どっかで見たようなダンボール箱に隠れているけど、誰も触れずに猫のエサが出てきている。
この DIY Automatic Cat Feeder、さてどのへんが Linux なのか、後半で内部挙動の解説がされるのだが…
うーむ、そういう仕組みかあ。
# ブックマークタグは「それfeedしといて」とか「それPla」とか希望
歳を取った自分の顔を表示するサービス
自分の顔じゃなくてもいいんだけど、ある顔写真を元に、老人風、子供風、白人風、エルグレコ風、酔っ払い風、などに変形してくれるサービス。
つまり、「自分は歳取ったらどんな顔になるのか」を見せてくれるという恐ろしいサービスだ。
オリジナル
![]()
老人風
ボティチェリ風
使い方
- 顔写真のイメージファイルをアップロード。その際に、現在の性別や年代、人種を補助情報として入力。
- 顔の部分の四角を指定して、Nextを押す
- 口と目にあたるところをマウスで指定、Nextを押す
- プルダウンで、「何風」にしたいかを選ぶと、変形されたイメージが表示される
できあがった写真を保存する"Save"ボタンは、今は動いてなくて対応中とのこと。どうしても変化した顔写真が使いたければ、画面キャプチャするのかな。
Javaが必要なので灰色のボックスが出て何も始まらない人はJava環境のインストールとブラウザの再起動が必要。
2006年08月18日
CSSの圧縮サービス比較記事
CSS Optimization: Make Your Sites Load Faster for Free というブログのエントリで、CSS の圧縮サービスの比較をしている。
空白や改行を除去したり、無くても同じ結果になる重複を省いたりすることで CSS のサイズをコンパクトにしてくれるサービスは、ウェブページの表示速度改善(や、帯域削減やサーバの利用効率向上)を目的としたものだ。
この記事では、4つのブラウザから使える無料サービスを使って、Digg や Slashdot といった著名なサイトの CSS を実際に圧縮し、圧縮率を比べている。
比較された4つのサービス、今回の測定対象では、Icey Compressor、Clean CSS、CSS Optimiser、Flumpcakes という順で成績が良かったということ。
圧縮率の高さもそうだが、整形・圧縮をかけた結果、元の表示と違ってしまうというケースも多いようで、再現性の高さも重要だということだ。
この記事では紹介されてなかったが、こういうサービスは多くて、他には、 CSS Formatter and Optimiser、csstweak、などもあり、Haskellで書かれたFactor CSSなんかも、サービスとして公開されているしソースも入手できる。
2006年08月14日
ケータイを光学+Bluetoothマウスにする
via Turning Nokia 6230i into a Bluetooth Mouse
ブルートゥースで遠隔通信が出来て、内蔵カメラでテーブルの模様が撮影できるのであれば、、、ということで考えて、やっちゃった人がいるようだ。
制御ソフトウェアは Java で書かれているとのこと。これ、今はジョークみたいだけど、実用化されることがあれば、ノートPCを持ち歩くときにマウスも持ち歩いている人に取っては朗報だと思う。いつも持ってる携帯電話がそのままマウスになるわけだから。
2006年08月09日
人間カメラ
見たものをカメラのようにすべて記憶できる男性が、ヘリからローマの街並みを45分間だけ眺め、その後3日間かけて大きなキャンバス上に、詳細まで再現している。
ダンボールオフィス
いたずら好きの同僚の出張中に、他のみんなが反撃に出た。
子供の頃にやりそうなことだけど、徹底してやるとこんなことに。
ところどころに書き込んである英文も、パンチが効いている。出張から戻って自席がこんなことになってたらたいへんだ。
透明公衆トイレ
via Swiss Public Toilet at Yet another Tech Blog
スイスのバーゼルにできた新名所。透明公衆トイレ

これのすごいのは、アートではなく、外からは見えないミラーガラスになっていて、ちゃんと実用に耐えうるところ。
投稿者 秋元 : 11:30 | コメント (2) | トラックバック
2006年08月08日
Ajax Desktop の比較記事
続々登場する「Ajaxデスクトップ」はWebを変えるか が良かった。
こんなまとめ記事を書きたいな、とはずっと思っていて、Ajax Desktop 系のサービスをリストアップしていたのだけど、けっこうまとめるのが難しいな、と思っているうちに上記の記事が出たわけ。
上記記事のまとめの論調についても強く同意で、Ajax Desktop とか Ajax OS って、技術者からみたら作るのは面白いんだろうけど、どうもニーズが見当たらない気がする。誰がどうしてそれを必要するのか、それが普及してみんながそれで仕事をする様子、というのがどうも僕には想像しづらい。
ただ、記事にもあるように、多くのプレイヤーがいろいろやっているうちに、何か違うすごいものができる可能性もあるので、目が離せない分野だとも思う。
投稿者 秋元 : 19:22 | コメント (1) | トラックバック
世界の「,」(カンマ)と「.」(ピリオド)を解き明かす
エキサイトニュースの 「,」(カンマ)と「.」(ピリオド)の不思議な関係 という記事で、世界各国で数値の表記がどう違うかという話題を取り上げている。
「そしてギリシャは……ギリシャ語がわからん! 調査断念。」
なんて書いてあるけど、こういうのはウェブで各国語を検索するよりも、国際化されたアプリケーションを見てみると回答が得やすい。
たとえば、Windows だと[コントロールパネル]-[地域と言語]-[地域オプション] で「使う言語」を切り替えると、各国での数値のフォーマットや通貨単位、時間の表記などを知ることができる。実際に切り替えなくても選択するだけで表示は変わるので、フォーマットを確認したらキャンセルしてもいい。
各国向けに国際化されたアプリケーションでは、それぞれの国の人がバグレポートを出してくるので、自然に間違いが正されることが多い。ま、メジャーなアプリケーションじゃないと直らないけど。
Java も国際化の扱いは充実してるので、こういった一覧を取ることができる。
| 国名 | 数字表記 |
| アラブ首長国連邦 | 1,234,567.89 |
| バーレーン | 1,234,567.89 |
| アルジェリア | 1,234,567.89 |
| エジプト | 1,234,567.89 |
| イラク | 1,234,567.89 |
| ヨルダン | 1,234,567.89 |
| クウェート | 1,234,567.89 |
| レバノン | 1,234,567.89 |
| リビア | 1,234,567.89 |
| モロッコ | 1,234,567.89 |
| オマーン | 1,234,567.89 |
| カタール | 1,234,567.89 |
| サウジアラビア | 1,234,567.89 |
| スーダン | 1,234,567.89 |
| シリア | 1,234,567.89 |
| チュニジア | 1,234,567.89 |
| イエメン | 1,234,567.89 |
| インド | १,२३४,५६७.८९ |
| イスラエル | 1,234,567.89 |
| 日本 | 1,234,567.89 |
| 大韓民国 | 1,234,567.89 |
| タイ | 1,234,567.89 |
| タイ | ๑,๒๓๔,๕๖๗.๘๙ |
| ベトナム | 1.234.567,89 |
| 中華人民共和国 | 1,234,567.89 |
| 香港 | 1,234,567.89 |
| 台湾 | 1,234,567.89 |
| ベラルーシ | 1 234 567,89 |
| ブルガリア | 1 234 567,89 |
| スペイン | 1.234.567,89 |
| チェコ | 1 234 567,89 |
| デンマーク | 1.234.567,89 |
| オーストリア | 1.234.567,89 |
| スイス | 1'234'567.89 |
| ドイツ | 1.234.567,89 |
| ルクセンブルク | 1.234.567,89 |
| ギリシア | 1.234.567,89 |
| オーストラリア | 1,234,567.89 |
| カナダ | 1,234,567.89 |
| イギリス | 1,234,567.89 |
| アイルランド | 1,234,567.89 |
| インド | 1,234,567.89 |
| ニュージーランド | 1,234,567.89 |
| 南アフリカ | 1,234,567.89 |
| アルゼンチン | 1.234.567,89 |
| ボリビア | 1,234,567.89 |
| チリ | 1.234.567,89 |
| コロンビア | 1,234,567.89 |
| コスタリカ | 1,234,567.89 |
| ドミニカ共和国 | 1,234,567.89 |
| エクアドル | 1,234,567.89 |
| スペイン | 1.234.567,89 |
| グアテマラ | 1,234,567.89 |
| ホンジュラス | 1,234,567.89 |
| メキシコ | 1,234,567.89 |
| ニカラグア | 1,234,567.89 |
| パナマ | 1,234,567.89 |
| ペルー | 1.234.567,89 |
| プエルトリコ | 1,234,567.89 |
| パラグアイ | 1.234.567,89 |
| エルサルバドル | 1,234,567.89 |
| ウルグアイ | 1.234.567,89 |
| ベネズエラ | 1.234.567,89 |
| エストニア | 1 234 567,89 |
| フィンランド | 1 234 567,89 |
| ベルギー | 1.234.567,89 |
| カナダ | 1 234 567,89 |
| スイス | 1'234'567.89 |
| フランス | 1 234 567,89 |
| ルクセンブルク | 1 234 567,89 |
| クロアチア | 1.234.567,89 |
| ハンガリー | 1 234 567,89 |
| アイスランド | 1.234.567,89 |
| スイス | 1'234'567.89 |
| イタリア | 1.234.567,89 |
| リトアニア | 1.234.567,89 |
| ラトビア | 1 234 567,89 |
| マケドニア | 1.234.567,89 |
| ベルギー | 1.234.567,89 |
| オランダ | 1.234.567,89 |
| ノルウェー | 1 234 567,89 |
| ノルウェー | 1 234 567,89 |
| ポーランド | 1 234 567,89 |
| ブラジル | 1.234.567,89 |
| ポルトガル | 1.234.567,89 |
| ルーマニア | 1.234.567,89 |
| ロシア | 1 234 567,89 |
| スロバキア | 1 234 567,89 |
| スロベニア | 1.234.567,89 |
| アルバニア | 1.234.567,89 |
| スウェーデン | 1 234 567,89 |
| トルコ | 1.234.567,89 |
| ウクライナ | 1.234.567,89 |
| アメリカ合衆国 | 1,234,567.89 |
コードは以下。最近 Java 使ってなかったので、いろんなものが思い出せなくて苦労した。書き方とか使ってるクラスとか古臭いかったら申し訳ない。
import java.util.List;
import java.util.ArrayList;
import java.util.Locale;
import java.text.NumberFormat;
import java.io.FileOutputStream;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
/**
* show number formats example in all Java-available countries
*
* usage:
* > javac WorldNumberFormats.java
* > java WorldNumberFormats
* (open result.txt with UTF-8 compatible editors/browsers)
*
*/
public class WorldNumberFormats {
public static void main(String argv[]) {
double amount = 1234567.89;
PrintWriter writer = null;
try {
writer =
new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("result.txt"), "UTF-8"
)
)
);
Locale[] allLocales = Locale.getAvailableLocales();
for (Locale oneLocale : allLocales) {
String localeCountry = oneLocale.getDisplayCountry();
if (localeCountry == null || localeCountry == "") {
// this locale is language-locale so ignore it
continue;
}
NumberFormat oneFormat =
NumberFormat.getNumberInstance(oneLocale);
writer.println(
localeCountry + " :\t" + oneFormat.format(amount));
}
writer.flush();
writer.close();
} catch (Exception ex) {
if (writer != null) {
writer.flush();
writer.close();
}
ex.printStackTrace();
}
}
}
デュランデュランが Second Life 世界でコンサート
大規模オンラインゲーム Second Life で、Duran Duran がコンサートをするというニュース
架空世界でコンサートをする、世界初のメジャーバンド、ということになるらしい。どんなアバターで登場するかはすでに手配済だけどまだ秘密ということだ。
過去に類似の例があったかどうか知らないけど、日本でも今からやれば日本初にはなれる?
2006年8月のブログ界レポート by Technorati CEO
Technorati の CEO、David Sifry のブログ Sifry's Alerts で、3ヶ月ぶりのブログ界定点観測のエントリが上がっている。
あいかわらず、面白いグラフがいくつも載っている。ひとつ紹介するとこれ。
![]()
ブログエントリの総量を、書かれている言語で分類したもの。英語と日本語の言語人口の差を考えると、日本でのブログが他国に比べていかに活発かがわかる。
そのほかにも、ブログの数、新規ブログの増加数、エントリ数とニュース・事件の関係、マスメディアと人気ブログの対比、書き込み時間帯と言語の相関、などのグラフが解説されている。
まとめは長文のエントリの最後の部分にある。ブログスペースが3年で100倍の大きさになったとか、Technorati に届く Weblog Ping の7割 はスパマーからだとか、そういった興味深い項目が10個並べられている。
2006年08月07日
Google Web Toolkit の評価結果
サイボウズ本社開発部の公開している技術サイト CYDN で、Google Web Toolkit (GWT)の試用記が公開されている。
Java だけで(Javascript を書かずに)、マルチプラットフォーム対応の Ajax ページが作成できる GWT 。他のサーバサイド言語でも同様の試みはあるが、サーバサイド側の言語知識だけで Ajax 対応のアプリケーションが作成できるのは、チームの技術者を集める立場であれば気になる技術だろう。しかも、GMail や Google Maps で Ajax の可能性を牽引する Google の発表したツール/ライブラリである。
同様の、「覚える言語はひとつだけ」というコンセプトを逆側、クライアントサイドから追求すると、Server Side Javascript ということになるだろう。こちらもいくつか実装があるけれど、サイボウズ・ラボからも何人もが参加している AJAJA がここのところ熱い。
2006年08月06日
ボウズマン動画
ボウズマンのテーマって、動画もあったんだ…知らなかった。mp3 は入社前から公開されてたのを聴いたことあったけど。
歌ってる人が歌ってる人だし、これはいい社歌(?)だよ。
投稿者 秋元 : 14:19 | コメント (2) | トラックバック
2006年08月03日
Google Content Blocker
(リンク先のドメイン名に注意)
Google コンテントブロッカーは、広告を見るのに邪魔になる本文をブロックしてくれる新サービスということ。
コンテンツがブロックされたあとのページでは、広告をクリックしたり、広告の内容を読んだり、広告をクリックしたり、広告について友達に教えたり、広告をクリックしたりできる。
コンテンツに注意をそらされてしまって広告を見逃してしまう人には役に立つサービスかもしれないですね。
# まとめ方、口調が違う?
2006年08月02日
少子化少子化と言うけれど
この星で生まれている赤ちゃんの様子を視覚化したサービス。ま、それだけなんだけど。
"Show continent"をオンにすると、どの大陸で生まれた赤ん坊か、というマークがつく。