心魅 - cocoromi -

半角スペース時々全角

Skypeがapple scriptから叩けるAPIを公開していた

全然知らなかったけど、いつの間にかMacにもAPIが来てた。 これで好きなだけSkypeのボットが作れるぞ。 基本的にはSkypeに対してAppleScriptのsend command でコマンドを送ることでAPIを利用出来る send command "SKYPE_API_COMMAND ARGUMENTS" script name …

Document Object Model Events

ブラウザJSでアプリケーションのロジックをつくろうとしていて、どうもObserver Patternになりそうなので、カスタムイベントを扱う方法を調べている。 取り合えずW3Cのドキュメントから。Level3はDraft。 http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-…

JSFLのオブジェクト継承関係一覧

すぐ分からなくなるので、リンクをメモ http://help.adobe.com/ja_JP/flash/cs/extend/WS359E0FA7-1DA9-4c9b-8AE3-CFED6B6B11CE.htmlinstanceType = "symbol" or "bitmap" or "embedded video" or "linked video" or "video" or "compiled clip" symbolType …

Transition,Animation関連のイベント

CSS3からはアニメーションが出来るようになりました。 そうなると重要なのはタイミングを測ることで、W3Cではその為のイベントも定義されています。 イベントの種類 Transition transitionend Animation animationstart animationend animationiteration CSS…

1つのゲストOS(Debian)にNATとBridgeのNICを同時に設定する

ホストに複数NICがあるケースは結構解説がされてたけど、ゲストでNATとBridgeを同時に使う方法はなかった。 ハマりポイント VMWare FusionのVMに複数NICを設定するのは基本的にGUIから+ボタンでサクサク追加出来るはずだが、 設定後VMをリブートしても設定…

簡易Javascriptテンプレートエンジン

ループと条件分岐をバッサリすてたら、意外とまともなのがかけた気がするから、眠い勢いで紹介してみる。http://github.com/umezo/umezone/blob/master/javascript/template.js 特徴 変数展開しかサポートしてない JSにコンパイルしている JSにコンパイルし…

VMからホストOSのMacのgrowlにnotifyを送る

mac

以前こんなエントリー 処理時間が一定以上かかったらGrowlで通知するzshrc - 心魅 〜 cocoromi 〜を書きましたが、現在の職業柄、コマンドの実行はVMで行っています。 なので、以前の仕組みではうまくいきません。そこで、今度はGrowlのGrowlTalk over UDPプ…

windows共有のパスをFinderで開くAutomator

mac

Windowsな環境の中で孤軍、Macで戦っているとよく以下のような、パスをFinderで開きたくなります。 \\server\path\to\folder\file.txt Finderではこのパスをそのまま解釈出来ないので、Automatorを噛ませてFinderで開けるようにしました。http://github.com/…

Windows ChromeのCanary版で垂直タブが試せるぞ!

http://googlesystem.blogspot.com/2010/08/google-chrome-labs.html まじで熱い。Canary版はここから落とせます。 ご利用は当然自己責任で。 http://tools.google.com/dlpage/chromesxs 実行時に以下のオプションをつけて起動。 --enable-vertical-tabs タ…

pick始めました。

あーあー。 なんか気づいたらお騒がせしていたようですが、俺の身になにかすごいことが起きてるとかそう言うのではないです。 いや過去形ではなんか色々ありましたが、そっちはもう大丈夫です。 今日も元気にペンギンクラブ セレブ買ってきました。 夏がイケ…

ListViewをスクロールすると設定したのと別の背景色に変わってしまう問題

多分、この問題にぶち当たってる人には、エントリータイトルで何が起きてるかわかると思う。 これは分からんかったなー。 というより、layoutとかlistSelectorの問題に見えてしまう。 解決方法 色々見当違いな方法(listSelectorとか)を試した挙句以下のスレ…

転職します

転職は落雷に似ている。 ほらあれって、雲からの電気と、地面からの電気がくっつくとドカーンって落ちるでしょ? 落ちたい!っていう電気だけじゃおちれないんですよ。 でも、ふとしたきっかけで、お迎え放電がきて落ちるわけですよ。 ドカーンってね。 遠く…

アプリケーション毎に言語入力モードを保持するようにする

Mac

WindowsユーザがMacユーザになって割と困りそうなこと。 Terminalでコーディング ↓ ブラウザで検索するために日本語入力をオン ↓ Terminalにもどってviで入力しようとして「ふんcちおn」 ↓ クソがっ・・・・ あるあるあるあるあるあるある え?ない? Wind…

マウスとタッチの違いを改めて考えて、タッチ操作のためのUIに思いをはせる

Android端末を手に入れて初めてタッチデバイスを、使っている。 タッチだから使いやすいと言う人もいるかもしれないけど、全くそんなことはないと思っている。 タッチでも使いにくいものは使いにくい。多くのWEBページがiPhone用のViewも用意しているのがそ…

AndroidアプリのActivityの画面の作り方 予備知識編

日記のタイトルにやたらと「の」が入っていて全くセンスがないですが、ヌルく見守ってください。Androidアプリ開発で基本的な画面の作り方を(眠いので)何回かに分けてメモっていきます。 大体以下のような内容を予定しています。 Activityって言われてさっ…

ウィジェットの長さの計算

魔法の公式 (74 * n) - 2 計算用スクリプト こういうマジックナンバー満載の公式はとっととスクリプト化しておくに限る。 #calWidgetLength expr 74 "*" $1 - 2 使い方は簡単 $ calWidgetLength 4 294

ヘッドホンが抜かれたことを検知する

Intentが飛んでくるので受信しましょう。 AudioManager.ACTION_AUDIO_BECOMING_NOISY AudioManager.ACTION_AUDIO_BECOMING_NOISY サンプル private static IntentFilter filter = new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY); private stat…

自作ステッカーをゲットする方法

※tableタグのデザインが死んでるのでなんとかしてます。あー自分でオリジナルのステッカーはりてぇなー って先週の日曜に思いついたんですよ。 手段 オリジナルステッカーを作る手段は大きく分けて3つです。 業者に頼む 自分で印刷+自分でカッティング カ…

MediaStoreからある音楽ファイルの情報を取得する

コード上である音楽ファイルのタイトルやアーティストなどを取得したい時がある。 え?ない? いやまぁあったんですよ。 はじめに AndroidではMediaScannerというのが定期的にSDカード内のメディア情報(画像や、音楽、動画)を収集しています。 この収集さ…

ContentResolver.queryメソッドの第3に?を使っておくと、第4引数で展開出来る

android.content.ContentResolver.queryメソッドの各引数は、それぞれSQLのSELECT句や、FROM句に対応している。 第3引数はWHERE句にあたるが、中に?を埋め込んでおくと第4引数で展開することが出来る。 queryの参考文献などはこちらがいいんじゃないでしょう…

MediaPlayerの状態遷移

音を再生するためのクラスMediaPlayerというのがあるのだが、こいつにたいして送るメッセージはMediaPlayerの状態に応じて変更する必要がある。状態遷移図がAPIドキュメントに読むのでコーディングするときはにらめっこしながらやりましょう。 MediaPlayer |…

ListViewのアイテムに右揃え+左揃えのテキストを配置する。

コンテナにRelativeLayoutを用いることで水平に左揃えと右揃えのテキストを表示することができる。 layout_widthとgravity layout_widthはその名の通り幅の指定で、許される限り最大の幅をとるfill_parentと子要素の幅に従うwrap_contentなどのキーワードを…

完全に乗り遅れたけど、Froyoにしてみた。

N1

Root化してRecoveryも変えて、カスタムModまで入れてるとFroyoにするのは結構大変。 ハマリポイントとかは続きに書きました。 手順 フルリカバリする OTA 2.1にupdateする OTA 2.2にupdateする 参考文献 基本的にはAndroid Custom Cookbookを見れば良い。 An…

Froyoで自前のFlashシンセを鳴らしてみた

N1

せっかくFroyoにしてFlash Player 10.1が動くようになったので、むかーし作ったシンセサイザを動かしてみた。 結果 なんかチカチカする。 音が途切れがち。 再生しているFlashはこちら http://umezo.tsuyabu.in/w/fl/synth.swf 動画は続きに

Macで無料DTMにはげむ

絶対有料ソフトなんて買わないんだから!Abelton Liveほしー DAW REAPER Windowsでも使ってたし、何の問題もない。 音源 Macで使える音源はVSTi , AUi , Componentファイル、どれもWindowsのバイナリとは互換がないのでMac用を探さねばならない ↓の辺はwindo…

処理時間が一定以上かかったらGrowlで通知するzshrc

なんかよくわからないけど、ネットからコマンドコピペしてきたら微妙に時間かかるっぽい! ↓ ちょっとニコ動でもみてよっかな ↓ 2時間後 ↓ ッハ! あるあるあるあるあるあるあるある そんな時に処理が終わったらGrowlで教えてくれたら良くね?ってわけでそん…

Macを買って2〜3日の間にやったこと

だめ結構いろんなことやったのにメモしてなくてわすれる。めもめも1. 10.5 -> 10.6 2. XCode 3. mac ports 4. portsでgit mercurial python vimをいれた 5. Chrome Skype 夜フクロウ QuickSilver入れた 6. Spacesの設定した 7. GoogleIME入れた 8. TerminalC…

そろそろNexus one について感想を言っておくか

実は2月の中旬にNexus Oneを購入していた。 購入方法 1ShopMobile.com $ 665.5011日に購入し、確認のメールを受け取った後、18日の追跡番号の通知まで一切のメールがなくクソ不安だった。あと11日よりまえのどっかの真夜中に一回別のサイトから注文したけど…

pythonの正規表現でマッチしたグループを参照する

pythonの正規表現でマッチした部分の文字列を取得するにはmatchメソッドの戻り値のgroupメソッドを使います。 正規表現 http://www.python.jp/doc/2.5/lib/re-objects.html 4. パターンにもっと力を 正規表現オブジェクトの生成とマッチング reパッケージのc…

pythonのmakoでファイルからテンプレートを読む

pythonのテンプレートエンジンmakoでテンプレートをファイルから読み込むにはコンストラクタでキーワード引数を使います。 mako welcome to Mako! Djangoだとファイルから読むのが面倒だったからmakoに乗り換え。 ファイルからテンプレート読み込み キーワー…

pythonでファイルのコピー・移動

pythonでファイル操作(not中身)をするときにはosパッケージかshutilパッケージを使います。 os 14.1.4 ファイルとディレクトリ shutil 404 Not Found コピー コピーはshutilパッケージで出来ます。 ex) ディレクトリをコピーする import shutil shutil.cop…

gmWrapperのソースをgithubで公開しました

グリモンuserscriptをChromeに移植するときに使う、GM APIのラッパっぽいものとプロジェクトテンプレートを書いた - 心魅 〜 cocoromi 〜 上記のエントリーでアップしたChrome用のGreaseMonkeyラッパーのソースをgithubにupしました。http://github.com/umez…

opensocial-jqueryでリクエストをsigned requestにする方法

URLの後ろにsignedって付ける。 簡単。涙がでる。 参考文献:AjaxOAuth - opensocial-jquery - jQuery.ajax のリクエストに署名できます。jQuery.get や jQuery.post などのショートカットでもリクエストに署名できます。 - OpenSocial jQuery is jQuery bas…

Djangoでリクエストを受け付けるようになるまでの手順概要

Django便利なんだけど、最初にやることが多すぎて覚えられないから、手順をメモる。 本家チュートリアルはこちらはじめての Django アプリ作成、その 1 — Django v1.0 documentation django-admin.py startprojectでプロジェクトを開始する settings.pyにDB…

pythonでソースファイルの絶対パスを取得する

注:python 2.6で動作確認しました。 pythonの事は良くわからない。だからどんなことでもメモしていく。 参考文献:6.2 os.path -- 共通のパス名操作 アプリケーションを作っていると、とあるファイルからの相対パスで指定したくなることと言うのが良くある…

とある集団のLT合戦に先鋒で参加してきた

id:mirakuiがプレゼンで使ってたから使ってみたかっただけです。 謎のLTをしてきました 目的不明にとある集団が二組ほどあつまってLT合戦をするイベントがありました。せっかくなので軽くまとめます。人物について公にしていいのか良くわからないので、…

Treeコンポーネントの葉部分を削除する

前置きをしなければならない。 だいぶ怒りにまかせてこのエントリーを書いた。 書いたコードは記憶を頼りに雰囲気を再現しているだけだし、詳細な状況再現もされていない。 ただ1つ言えるのはXMLListを使うと不幸になりそうだ、ということだ。 まえおきおわ…

明日(12/06)開催の文学フリーマーケットにサークル参加します。 I-18

さて、所属している部の活動として、明日(12/06)の文学フリーマーッケト、通称「文フリ」にサークル参加をします。つまり、本を売ります。文フリについてはこちら http://bunfree.net/ 日時場所 つヤ部のブースはI-18です。 I-18の場所は こちら http://bu…

2009年の目標進捗

2009の目標日記2回/月 技術系読書0.5冊/月 音楽の成果をアウトプット6本/年 ふむ。と言うことは 日記が22本 読書5冊 音楽が5本 かな。 進捗 日記 47 読書 2冊ぐらい?読破したものはない 音楽 13ぐらい まとめ 読書以外はB達成。 BBCならB達成でいいよね? …

ここまでの雑感

速い。 ココ5〜6回のエントリーを見てもらえば判りますが、必須だったuserscriptはすべて移植してしまいました。(Fast lookup alcとか ちんまいuserscriptを山ほど書く人間としても、extensionは十分作りやすいので問題なし。 というわけで、いま足りない…

グリモンuserscriptをChromeに移植するときに使う、GM APIのラッパっぽいものとプロジェクトテンプレートを書いた

2010/10/17 公開先をGithubにしています。 http://d.hatena.ne.jp/umezo/20100411/1270988391 Chrome速くて良いのですが、いかんせん、グリモンとか便利な物が無い。 そこでグリモンのスクリプトをextensionとしてChromeに持って行きたいのですが、GM_*なAPI…

localStorageをつかってエクステンションの設定を管理する

エクステンションではlocalStorageを使ってデータを保存することができます。 簡単なサンプルは以下のページに載っています。 Options http://code.google.com/chrome/extensions/options.html コンテントスクリプト以外のエクステンション要素からはJavascr…

extension内のパーツやextension間で通信するためのAPI

extensionには様々なパーツがありますが。 それぞれのパーツ間でメッセージングを行うAPIが用意されています。 Message Passing http://code.google.com/chrome/extensions/messaging.html Communication between extensions and their content scripts work…

content scriptからクロスサイトなXHRするプロトタイプ

なおこのプロトタイプは完成しません。 AutoPagerize for Chromeのソースを参考にcontentスクリプトからクロスサイトなxhrをしてみた。AutoPagerize for Chrome http://d.hatena.ne.jp/swdyh/20090525/1243232130 あと個人的な都合でGM_xmlHttpRequestのラッ…

extensionのcontent scriptで出来ないこと

http://code.google.com/chrome/extensions/content_scripts.html However, content scripts have some limitations. They cannot:Use chrome.* APIs (except for parts of chrome.extension) Use variables or functions defined by their extension's page…

ガチテクノへの道 1

やっぱりテクノ曲が作りたい。 テクノと言えばミニマルな音と、あまりメロディアスじゃない感じがポイントだと思うんだけど、 ミニマルだけで、人を惹き付け続けるというのはあまりにもハードルが高い。 自分で作ってても聞き続けられない。リズム超重要 結…

コードワークとベースの研究(?)2

前回からさらに2パターンほど打ち込んでみたのを、うしろにくっつけてみる んーーーーーー・・・・ 微妙なの?どうなの? なんとかギリギリつながってはいるような・・・。 やっぱり理論が欲しい。 取り合えず前回分も合わせて、アドリブでカオスパッドこす…

コードワークとベースの研究(?)

やっぱりいい加減コードをちゃんと扱えるようになりたいなと。一応、書籍を読んだりしてコードの勉強してますが、未だにしっくり来ない。 サンプルのコード進行とか鳴らしてみても、うまく進行してるように聞こえないんだよね。 と、いうわけで 相変わらずカ…

ギター練習2

「2年のブランクを取り戻し、2年前の俺を超えろ!」プロジェクト先生はこちら http://www.nicovideo.jp/watch/sm7812894今日の成果まとめ タブ譜を見ながら弾くパートの変更 アルペジオダメダメ ソロ前とラストにミス タブ譜はこちら

ギター練習1

「2年のブランクを取り戻し、2年前の俺を超えろ!」プロジェクト先生はこちら http://www.nicovideo.jp/watch/sm7812894今日の成果まとめ まだまだ細かいところがダメダメ。 集中力が切れて2回コード間違える。 ギターソロは無理なので潔く保留 先生の動画