タグ

ブックマーク / www.kanasansoft.com (21)

  • HTML5のVibration APIを使って画面を見なくてもダイヤルできるやつ作った (Kanasansoft Web Lab.)

    画面にタッチしたり、タッチしている位置を移動すると、ボタンの種類別にもっている振動パターンでふるえる。 入力の決定は、画面から指をはなしたタイミングになっている。 入力を無効にしたい場合は、「Cancel」の位置で指をはなすと良い。 一番上の入力した番号が表示されているところで指をはなすと、入力済みの番号の確認が可能。 あとは、説明しなくても使えるかと。 画面の回転は無考慮。 ソースはGitHubにも上げた。

    otsune
    otsune 2012/09/14
  • JavaScriptの顔認識ライブラリをチューニングしたら実用レベルになったという話 (Kanasansoft Web Lab.)

    ただ、WebRTCで顔認識させようとすると遅くてしかたがなかった。 最初は速いこともあるが、10回ぐらい認識をさせるとすぐに遅くなる。 とりあえず、デモ。 そこで、チューニングをしてみることにした。 まず、JavaScriptの定番の高速化を試してみた。 例えば、正の数で使える「Math.floor(x)」を「(x | 0)」に、整数で使える「x * Math.pow(2, y)」を「x << y」にする等。 これで、10~30%高速化できた。 次に、遅くなっている部分を調べたら、Web Workersで分散するための仕組みが遅くなる原因だとわかった。 これは、Web Workersを使わない場合にも影響が出ていた。 じゃあ、Web Workersを使えば速くなるのかといえばその逆で、20倍遅くなっていた。 詳しくは調べてないけど、多分Workerスレッドに処理データを渡す時にJSON化が

    otsune
    otsune 2012/05/05
  • "森".replace("木",???);//???に何入れる? (Kanasansoft Web Lab.)

    某チャットで話題になったのでまとめ。 ※カッコは重複。 ■漢数字 㐂𠦄𤾩 ■カタカナ 劦叒厽品 ■大きさ 𡘙尛 ■曜日(月がない。おしい!) 焱淼鑫森垚晶 ■人体の部位 掱聶惢舙毳瞐 ■群衆 众姦孨壵 ■生物 猋蟲贔赑犇羴驫鱻麤龘㽓 ■気象・地形 磊䨺靐飍畾厵灥(晶) ■その他 刕䆐䖃嚞馫皛矗芔譶轟雥飝骉𣁾𠓗𠓾矗 ■よっつシリーズ 燚㵘𨰻𣊭㗊茻㠭䨻䲜𠈌 ■その他気になった文字 亖畕氛𠓺㔺尜壘

    otsune
    otsune 2011/04/20
  • Java Scripting APIからAppleScriptを使う (Kanasansoft Web Lab.)

    JavaScriptAppleScriptを、Java Scripting APIを使って実行する場合の違いを調べたのが下のコード(Mac OS X 10.5 & JavaSE-1.6で確認)。 コードを見てもらえばわかるが、AppleScript用のスクリプトエンジンは、グローバル変数やグローバル関数の状態を維持しない。 (各スクリプト言語向けのスクリプトエンジンの多くは状態を維持するが、Java Scripting APIは状態の維持を必須としていないらしい。) また、Invocableインターフェイスを実装していない。 つまり、AppleScriptをJava Scripting API経由で利用する場合は、基的にScriptEngine.evalの引数内に一度に全ての処理を記述するのが良さそう。 AppleScriptから一時ファイルにデータを書き出したり、他のアプリケーション

    otsune
    otsune 2011/01/10
  • JavaScript Advent Calendar 2010 三日目 インターネットチャンネル (Kanasansoft Web Lab.)

    2010年12月1日から25日まで、毎日違う人が JavaScript にまつわるブログ記事を書く企画です。 参加表明した順番が日付(12月◯日)となります。 今年の始めにFirefoxが加速度センサに対応し、iOS4.2.1でSafariがジャイロスコープセンサや加速度センサに対応しました。 そして、KinectがHackされChromeのExtensionからも使えるようになりました。 このようなセンサをブラウザから利用できるようになったのは、今年になってからとお思いの方もいらっしゃるかもしれませんが、もっと前から似たようなものがあります。 それは、インターネットチャンネルです。 インターネットチャンネルとは、Wii用のウェブブラウザです。 「Wiiショッピングチャンネル」からWiiチャンネルの形式でダウンロードできます。 ベータ版公開当時は無料、正式版に以降するときに500Wiiポイ

    otsune
    otsune 2010/12/08
  • 2009年06月から2010年05月までに開催された勉強会の数を都道府県別に集計してみた (Kanasansoft Web Lab.)

    いわゆる「地方」という言葉は好きではないが、東京以外もしくは関東圏以外を指す適切な言葉が見つからなかったので、ここでは「地方」とする。 Twitter上で次のようなTweetをした。 『関東でイベントや勉強会を行なって結果失敗しても、流行っている分野であれば、次回も参加者は集まる。失敗した回の参加者は次は参加しなくても、新規の参加者が見込まれる。まさに参加者の使い捨て。』 『地方のコミュニティにとって、勉強会・イベントの失敗は死活問題。このため一回一回に真剣に取り組んでいる印象がある。関西でもこの傾向があったので、それ以外の場所ではもっと必至だろうと充分予測できる。』 『関東でも真剣にやっているところもあるけど、適当にやっているところの割合が高いと思う。』 『時間を割いて来てくれた参加者が満足してくれているか、何かを得て帰ったか、刺激になったか。勢いで開催して、参加者の事を考えていないとこ

    otsune
    otsune 2010/06/07
  • できるだけ簡単にMacでローカルにGyazoサーバを立てる方法 (Kanasansoft Web Lab.)

    来であれば、0.2に入っている「upload.cgi」を使えば良いのですが、Rubyの実装に変更があったためそのままでは動作しません。 「Digest::MD5.new(imagedata).to_s」の部分を「Digest::MD5.new.update(imagedata).to_s」に変更します。 (MacOSX 10.5の場合。これ以前のOSXでは修正が不要かもしれません。) また、「upload.cgi」は、同一ディレクトリにファイルを保存するため、実行環境配下に画像ファイルが入ってしまいます。 これでは、画像ファイルが実行ファイルと認識されてしまうため、ブラウザから参照する事ができません。 (仕様的にcgiファイルでも受け取り実行環境に配置されてしまうため、セキュリティ的にも危険です。) このため、画像を受け取る専用のアカウントを作成し、実行環境下でない「サイト」フォルダ(内

    otsune
    otsune 2010/03/06
  • Mavenで個人情報漏洩 (Kanasansoft Web Lab.)

    Mavenについて簡単に説明すると、Javaでの開発ライフサイクルを管理してくれる非常に便利なツール。 ライブラリのjarファイルのダウンロード・プロジェクトのビルド・パッケージだけでなく、テスト実行やレポートの作成、作成されたjavadocのサイトへの配置、パッケージしたプロジェクトのデプロイ等々、これらを全て半自動化できる。 Maven自体もプラグインで拡張できるため、Windows向けのexeファイル化、Mac向けのappパッケージ化にも対応できる。 そんな便利ツールで個人情報が漏れかかった。 と言ってもセキュリティホールを見つけたという話ではなく、どちらかというと文化の違いに起因していると思う。 また、個人情報と言っても名だけである。 日のコミュニティでは、名を伏せて活動している人が多いと思うが、PCへのログインは名を使っている人はどれくらいいるのだろうか。 漏洩は、そのよ

    otsune
    otsune 2009/12/10
  • Keynoteで文字が光っているようにする方法 (Kanasansoft Web Lab.)

    自分が作ったスライドで、ハローのように文字が光っているように見える効果がある。 このやり方を聞かれたので細かく説明してみる。 Keynoteには文字やオブジェクトを光らせるような効果はない。 じゃあ、どうやっているのかと言えば実は単純で、影を使っている。 影の色を選択できるアプリケーションであれば、この方法は使えるはず。 Keynoteでこれをやる場合のコツは、文字を太くしておくこと。 Keynoteの影の総量は、対象となるオブジェクトの面積に依存するようなので、細い文字を光らせてもあまり見栄えがよくない。

    otsune
    otsune 2009/12/02
  • ヒウィッヒヒーの神様 (Kanasansoft Web Lab.)

    PostとResがTLに巣う 絶対Favo もらえるはずなの 落ちるサーバ 淋しく一人 マウス握りしめる私 復旧二時間 しかも遅延あり 相手はWassrにもいるんだから 今夜 OFF会 期待している FollowerのFollowerに 目立つには どうしたらいいの 一番の悩み 誰かをdisればいい そんなの嘘だと 思いませんか? Boy Tweets Girl ReTweetの予感 きっと誰かが Resくれる Followingなう ヒウィッヒヒーの神様 この人でしょうか ノリでust 中継なのよ 未Followingの男の人って Mixi はてブ Blogにtako3 さりげなく チェックしなくちゃ 待っていました タイムライン 早くProtect取って見せてよ つぶやき素敵 アイコンも素敵 思わず見とれてしまうの リア充で実況ならば @より#タグ 「DM送らせて」と さっそくOK 

    otsune
    otsune 2009/07/29
  • RubyKaigi2009のRejectKaigiで発表してきました (Kanasansoft Web Lab.)

    Ruby会議2009のReject会議、元々は最終日のスタッフが撤収作業中に行なう予定なのですが、2日目のビアバッシュ中にも急遽開催が決定されたようです。そのReject会議(別名:酒の肴)で発表してきました。資料を公開しておきます。 以前、OSC2008Kansaiで発表した資料をマスタにしたので、2時間ちょっとで作成しました。編集中に気付いたのですが、OSCからちょうど一年なんですね。驚きました。前回は念入りにリハーサルを行ないましたが、今回はイメージトレーニングのみの一発番。 発表の番になってプロジェクタに端末を繋いだら、原因不明のメモリ不足とか言われて当に焦りました。10日以上起動しっぱなしのMacで資料作成中に、JSONを画面いっぱいに表示したスライドを作成中に、Keynoteの動きが緩慢になったため、これが原因の可能性があるんじゃないかと思っています。順番を変わってもらって

    otsune
    otsune 2009/07/20
  • 世にも奇妙なJavaScriptの機能 (Kanasansoft Web Lab.)

    "α".toUpperCase(); //=>"Α" "Α".toLowerCase(); //=>"α" "ω".toUpperCase(); //=>"Ω" "Ω".toLowerCase(); //=>"ω" "ψ".toUpperCase(); //=>"Ψ" "Ψ".toLowerCase(); //=>"ψ" "ա".toUpperCase(); //=>"Ա" "Ա".toLowerCase(); //=>"ա" "â".toUpperCase(); //=>"Â" "Â".toLowerCase(); //=>"â"

    otsune
    otsune 2009/06/11
  • JSDeferredを読む (Kanasansoft Web Lab.)

    JSDeferredを読み込み展開すると、Globalで新しく使えるようになるメソッドは、「next」「call」「parallel」「wait」「loop」の次の5つ。 どのような事をするLibraryなのかなんとなく理解できますね。実行中のエラーを捕まえる「error」なんてのもあるようです。これらを、メソッドチェーンで繋いでいくのが、JSDeferredの使い方らしいです。何故、「らしい」かというと使った事がないから。でも、JSDeferredを使っている人やJSDeferredのコードを読んだ人のblogからは興奮が伝わってきます。

  • スクリーンショットを印刷してもクオリティを落とさないようにする本当の方法 (Kanasansoft Web Lab.)

    ディザリングの有無に限らず、明らかに画質が劣化している。このような画像を見てクオリティが落ちないと言えるのだろうか。補足すると減色処理をしなければならない事もある。一例がアニメーションGIFだ。FlashやAPNG、もしくはJavaScriptでもアニメーションが可能であるが、正常に表示される可能性が一番高いのはアニメーションGIFであることには変わりがない。 個人的には、拡大縮小処理はあまりお勧めしない。考えられる用途は、スクリーンショットをとってExcel等の別アプリケーションに張り込む事だとではなかろうか。で、あるならそのまま張り付け、ドローの機能を使って拡大縮小すれば良い。最近のアプリケーションは、内部的にどのような処理が行なわれているかわからないが、クオリティが高いまま拡大縮小してくれる。知っている限りで酷いものといえば、数世代前のWindowsPowerPointで、張り込ん

    otsune
    otsune 2009/05/13
  • 環境変数にIDやPASSWORDを設定しなければならない状況で、ID/PASSWORDをファイルに平文で保存したりシェルの履歴に残したくない (Kanasansoft Web Lab.)

    zshを前提にしているが、問題の解決方法が重要なので、ちょっと記述を変更すれば他のシェルでもできるようになるはず。また、暗号化には「gpg」の共通鍵暗号化方式(対象鍵)を使用している。

    otsune
    otsune 2009/05/06
  • 『JavaScript:The Good Parts』を読んで (Kanasansoft Web Lab.)

    JavaScript:The Good Parts 「良いパーツ」によるベストプラクティス』を読んだ。 人によっては良なのかもしれないけど、良とは断定できない内容。いや、悪いじゃないんだけど、筆者の自己主張が強すぎる感じがする。「ペストプラクティス」と断定できないと思う。『「ベストプラクティス」の候補を列挙』しているといったところかなぁ。玉石混淆で、言い過ぎな部分ややり過ぎな部分がある。こんな感じなので、初心者にはお勧めしない。初心者が下手に読んでしまうと変なクセがつきそうな内容だった。サンプルコードを見てそれに突っ込みを入れられるぐらいのスキルがないとダメだと思う。ただ、突っ込めるのであれば楽しめるんかないかと思う。JavaScriptのこれまで見たことのないような記述方法は非常に良い刺激になった。javaScriptの凄い人の意見を是非聞いてみたい。

    otsune
    otsune 2009/04/21
  • GreasemonkeyのGM_setValueで保存できるデータの種類 (Kanasansoft Web Lab.)

    GreasemonkeyのAPIであるGM_setValueで保存できるデータの種類に制限があるのをご存知ですか? それを調べるために、次のようなUserScriptを実行してみます。 但し、unsafeWindowを使っているので信用のおけるsiteで実行してください。 // ==UserScript== // @name GM_xxxValueTest // @namespace http://www.kanasansoft.com/ // @include * // ==/UserScript== ( function(){ var data=[ ["Boolean",true], ["Number",12345], ["Number",12345.67890], ["String","12345"], ["Array",[1,2,3,4,5,"a","b","c"]], ["Dat

    otsune
    otsune 2009/02/22
  • http://www.kanasansoft.com/buf/nankinnikun.jpg

    otsune
    otsune 2009/01/24
  • XSSを修正しないという事 (Kanasansoft Web Lab.)

    今読み返すと、あちこちに変な日語が混じっていますね。 訂正するのも嫌らしいのでそのままにしておきます。 はてなブックマークというサービスで、当エントリーに対してついたコメントに返信していきます。 このエントリーには、「XSSの危険性をわかっていない人に理解してもらう」というのが前提としてありました。 そして、「技術の疎い人にも理解して動いてもらう」という願いもありました。 このために、「多少の誤解を与えたとしてもなんとなく理解してもらう」事を重要視しています。 これを踏まえて以下記述します。 「#」ではじまるのがはてなブックマークのコメントです。 #2008年10月24日 g616blackheart ガードが堅いと言われた……どうしてだろう? #2008年10月24日 anigoka なんかガードが堅いて言われちゃったんだけど、なに,オレが非コミュだって言いたいの!? 申し訳ないです。

    otsune
    otsune 2008/10/24
  • ブラウザの四隅を占有するGreasemonkeyをなんとかしたい (Kanasansoft Web Lab.)

    AutoPagerizeのように、ブラウザ上に何かを表示するタイプのuserscriptがある。とりあえずここではこの種のuserscriptをUserScriptWidgetと呼ぶ事にする。AutoPagerizeのように、ブラウザの表示領域の角に何かを表示するようなUserScriptWidgetが増えてくると四隅の取り合いになる。右上はもうAutoPagerizeが勝ち取った感があるが、他の角はどうなるかわからない。同じ位置に表示されるUserScriptWidgetも出てくるだろうし、何より最大で4つまでしか使うことができない。少しずらして表示させたとしてもいつかは破綻する。今後のためにUserScriptWidgetの表示を管理するuserscriptを作成した。 installすると画面の左上に歯車のアイコンが表示される。このアイコンをクリックするとラジオボタンが表示されるので