2008-01-01から1年間の記事一覧
まず始めに、ChromeはDNSによる名前解決結果のキャッシュと「DNSプリフェッチ」技術を用いて、名前解決処理にかかる時間を短縮している。DNSプリフェッチとは、Webページ上にあるリンク先ホスト名を先読みし、あらかじめ名前解決を行って結果をキャッシュし…
やりたいこと: MacのCocoaアプリで簡単にルータのポートを自動的に開きたい。 使うもの: 調べてみたら「TCMPortMapper」というフレームワークがあるそうです。UPnPかNAT-PMPに対応しているルータなら、とても簡単です。サンプルとしてGUIでポートを開くツー…
http://twitter.com/chigatter/status/1044989956
NaCl (Native Client) by Google GoogleがリリースしたNaClがはやっているみたい。 一言で言えば、ブラウザの中で安全かつ高速にx86のネイティブコードを実行する技術。ただし安全性の保証のため、専用のtoolchainに変更が必要。 すぐ動くものを出してきたの…
twicliからTwitterに投稿した文字数をOutputzでカウントするプラグインを作ってみました。*1 (Outputzは自分のアウトプットをカウントするWebサービスです。) 使い方: Outputzにアクセスし、「あなたのOutputzを見る」→「設定」タブで、「復活の呪文」を…
Linux 2.6.24以降には、PIDネームスペースを複数持てるという機能が入っています。(PID = process ID。) 詳しい説明は Process IDs in a multi-namespace world [LWN.net] などに譲りますが、おおまかには、 cloneシステムコールでプロセスを生成する際、CLO…
Safari限定。Webkitを使っているChromeでも行けるかも。1. 適当なページのブックマークを作り、URLを以下の文字列に書き換える。(はてなだとjavascriptリンク張れない…) javascript:b=document.body;b.style.webkitTransition='-webkit-transform%201s%20e…
Twitterでフォローしている人同士を線で結んだグラフ(フォローグラフ)を、一部で流行り(?)のR言語で描いてみます。 手順。 1. Twitterのフォロー関係を取得する。 今回は自分がフォローしている230人ほどのTwitter-erについて、それぞれフォローしている人…
Brainfuckとは + - , . [ ] の8命令だけからなるプログラミング言語です。チューリング完全なので、頑張ればどんなプログラムでも書けるハズですが、なにしろ8命令しか無いので書くのはとても大変です。一方、コンパイラやインタプリタを書くのはとても簡単…
LinuxとMac OS Xではshebangに書いたオプションの扱いが異なるらしい、という話。ちょっと実験してみました。 args.c => gcc -o args args.c でコンパイル #include <stdio.h> main(int argc, char *argv[]) { int i; for (i = 0; i < argc; i++) printf("argv[%d] = </stdio.h>…
家にあるTVやエアコンを、iPod touchや携帯電話からネットワーク経由でリモコン制御する仕掛けを作ってみました。 要は一種のPCに接続できる学習リモコンなのですが、信号の波形をPCに取り込んで解析できるので、リモコンにもともとついていない信号を送った…
気になるアナウンスが。 Google グループ セキュリティ上の理由で10/25にTwitterのほとんどのAPIからcallbackパラメータがなくなるとか。 つまりJSONP非対応に!? それじゃtwicli動かないじゃん>< 追記 どうやらprotectedユーザの発言を返さないようにする…
d.y.d.を見て、O(n)くらい→必要ならO(1)で n*(n+1)/ 2 にするとかオーダーを意識しよう、という趣旨だということは百も承知で、ローレベルな最適化をして遊んでしまったのでメモ。 #include <stdio.h> #include <stdlib.h> int main( int argc, char* argv[] ) { if( argc >= 2 </stdlib.h></stdio.h>…
※2015/3/15追記 2015/2月ごろから本記事の方法はTwitterでの実利用は困難になりました。レスポンスヘッダに"content-disposition: attachment; filename=json.json"が追加されるようになったため、json.jsonというファイルとしてダウンロードが行われてしま…
前のエントリで書いたGrowl用Web APIを単独で動くサーバにし、アイコンにも対応しました。 バックグラウンドで動かしておいて、 http://localhost:23080/title=たいとる&msg=ほげほげ&icon=http://url/〜.jpgというURLにアクセスすると、Growlでメッセージが…
GrowlをWebアプリから叩くためのAPIを提供します。ローカルホスト上にCGIが動くWebサーバが必要です。0. Growlをインストールし、システム環境設定>Growl>ネットワークで「通知される受信を聞く」をONにする。 1. CPANでMac::Growlなど必要なライブラリをイ…
WebブラウザベースのTwitterクライアントtwicli。 twicliをユーザの好みに合わせて機能拡張できるプラグイン機能を追加しました。 といってもまだ追加できるものは余りないのですが、今後に向けて。 仕組み プラグインはJavaScriptで記述し、どこかのWebサー…
以前twicli開発メモで、JavaScriptでJSONPを返すクロスドメインAPIを動的に呼び出す方法を書きました。が、script要素を覚えておいて削除する必要があるetc. いろいろと面倒でした。そこでクラス化し、クロージャを使って自動的に不要なタグを除去するように…
使い方 VLCをインストール(適当なフォルダにコピー)。VLC-0.8.6iで動作確認しています。最新版だと動かないかも。 下記スクリプトを「スクリプトエディタ」に貼付けてアプリケーション形式で保存 変換したい動画ファイルをドラッグ&ドロップ 変換後、VLCが…
最近、クロスドメインなJavaScriptを使ってWebブラウザだけで動くTwitterクライアント「twicli」というものを開発中です。 http://www.geocities.jp/twicli/ で公開しています。 動作はFirefox, Safari(iPhoneのMobileSafariでもOK), Operaで確認しています…
perlでArrayのリファレンスを得ようとしてハマったのでメモ。[$a, $b, $c] と \($a, $b, $c) は別物。@x = ($a, $b, $c); \@x と \($a, $b, $c)も同様。 前者はArrayのリファレンスですが、後者は \$a, \$b, \$cを要素とするArrayになる。 perl -le 'print […
おまけ程度にこれくらいはあっても良いかも、という設定です。 ディレクトリ一覧を表示する server.modules = ( ... "mod_dirlisting", } server.dir-listing = "enable"でもiPod touchで見るとものすごく字が小さい…。拡大すりゃ良いんですが。 エラーログ…
id:NeoCat:20080723 で動かしたiPod上のlighttpd上で、CGIを動かせるようにする方法です。 手順 0. lighttpdを動くようにする。id:NeoCat:20080723 参照。 1. /etc/lighttpdのモジュールにmod_cgiを加える。 server.modules = ( "mod_cgi", ←追加 "mod_acces…
何となく作ってみた。Cでワンライナー(1liner)っぽいものが書けます。 OSのテストなどでシステムコールを直接呼びたいときなんかは便利かと。perlでsysopenとかやるよりも直接的。 使用方法 ce [-m] [-I sysheader] [-i header] [C-code] [args ...] -m : in…
iPod touch 2.0では今のところiComicが動きません。 2.0用の野良toolchainが出てるらしいのでコンパイルし直せば良いのかもしれませんが、結構大変そう。。 それならと、しばらくはMobileSafariでしのぐべく、補助スクリプトを書いてみました。 下記スクリプ…
JB済みiPhone / iPod touch(2.0)上で軽量HTTPDサーバ lighttpd を動かしてみたのでやり方のメモ。ただし今のところ静的コンテンツの配信のみです(lighttpd自体はCGIなどにも対応しています)。 ローカルにファイルをおいておくと、オフライン時でも見られて便…
tokyo-emacsをustreamで眺めていてElispが書いてみたくなり、SystemTapスクリプトを編集&ついでに実行できるメジャーモードを書いてみました。 これを使うと、EmacsからホストのLinuxカーネルをHackして、いろんな情報をとったりできます。 書いたものは本…
id:cho45 さんに補足して頂いたようで...ありがとうございます。^^; ちなみに、ゆのっち / 元ネタはちゃんと知ってますw
id:NeoCat:20080713:1215944362 のようなテクニックを使うと、どんな言語でもソースの読み込み時点で書き変えてしまうことにより、ゆの対応にできる? 例えば % cat yuno.rb puts "x / _ / x < 来週も見てくださいね!" % ruby yuno.rb <= 書き換えられた上で…
id:NeoCat:20080713:1215944362 の簡単な解説です。まずSystemTapとは、簡単なスクリプトでLinuxのカーネルの動きを解析するためのツールです。 詳しくはRedHatの解説in日本語とか本家サイトとか、man stapとかman stapexとかをどうぞ。 普通は情報をとるだ…