サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
m-kawato.hatenadiary.org
Ubuntu 12.10上で動画ファイル変換ツールavconv (ffmpegからフォークして名称変更したらしい) を使ってMP3エンコードする方法についてメモ。 参考情報: http://ubuntuforums.org/showthread.php?t=1967864 単にavconvとlibmp3lame0を入れただけの状態ではMP3エンコードしてくれないようです。 $ avconv -i infile.flv -c:a libmp3lame -b:a 192k outfile.mp3 avconv version 0.8.4-6:0.8.4-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers built on Nov 6 2012 16:49:20 with gcc 4.7.2 [flv @ 0x8b770c
前回のあらすじ AndroidHttpClientを用いたデータ取得 - m-kawato@hatena_diary ↑ではAndroidHttpClientを使いましたが、↓この辺の記事を参考に、HttpURLConnectionを使って書き直してみました。 Y.A.M の 雑記帳: Android Apache HTTP Client と HttpURLConnection どっちを使うべき? Android API ReferenceのHttpURLConnectionの項: http://developer.android.com/reference/java/net/HttpURLConnection.html 割と親切なコード例が載っているので特に悩むところはありません。 基本的な構造はAndroidHttpClientを使ったサンプルから変えていませんが、インタフェースが異な
Ruby/Rails向けの認証連携フレームワークの定番らしいOmniAuthを使って、OAuth経由でTwitterに投稿するサンプルRailsアプリを作ってみました。 参考にしたサイト: http://ja.asciicasts.com/episodes/241-simple-omniauth arunagw/omniauth-twitter - GitHub 「簡単なOmniAuth」に詳細な使い方が説明されていますが、現在のOmniAuth 1.1と合っていない箇所があるので、適宜公式ドキュメントを参照しています。 動作環境: Ubuntu 12.10 Desktop (32ビット版) on VMware Player Ruby 1.9.3-p362 Rails 3.2.10 omniauth 1.1.1 omniauth-twitter 0.0.14 twitter 4.4.2 (
この記事は、HTML5 Advent Calendar 2012の15日目のエントリーです。 WebSocketは、Webサーバ・ブラウザ間で双方向に通信するための仕様であり、APIとプロトコルがそれぞれ以下の規格で定義されています。 API: W3C WebSocket API プロトコル: IETF RFC 6455 - The WebSocket Protocol (日本語訳) Node.js + Socket.IO のようなライブラリを使うと割と簡単にWebSocketが使えますが、中で何が起こっているかもう少し追ってみたいという動機により、tcpdump+WireSharkによるパケットキャプチャを通してWebSocket通信の中身を調べてみました。 作業環境 サーバ側、クライアント側ともホストはWindows 7 (64ビット版) で、サーバはその上の仮想マシンとして動かしてい
GCM (Google Cloud Messaging) は、Googleのサーバ (GCMサーバ) を介してAndroid機にキー・バリュー形式のメッセージを送るサービスです。最近出た「Google Androidプログラミング入門 改訂2版」の付録としてGCMが取り上げられていたのもあって、この本のサンプルに沿って (というかほぼ丸写し) GCMによるメッセージ送受信を試してみました。 テスト環境: GCM受信にはGoogle Playアプリが必須 (らしい) なので、Androidエミュレータでは動作しません。 Android SDK r20 on Ubuntu 12.04 APIレベル: 9 (Android 2.3) 実行環境: Galaxy Nexus (SC-04D) Google Androidプログラミング入門 改訂2版 作者: 江川崇,神原健一,山田暁通,佐野徹郎,郷田
Webページの内容をローカルに保存して、Android機で見るという状況を考えます。 オフラインで見るだけならRead It Laterなどの手段もありますが、認証つきサイトだとローカル保存できないといった制約があるので、ここではPC上のブラウザでページを保存→SDカードにコピー→Android上のブラウザで開くという手順を取ることにします。 (これだけでも十分めんどくさいですが…) …が、Androidの標準ブラウザには「ファイルを開く」という操作がない! ということで、SDカードに保存したHTMLファイルをAndroid上のブラウザから開く方法について少し実験してみました。 検証環境は、EVO 3D (ISW12HT, Android 2.3.4, ファームウェアバージョン 1.09.970.5) です。 HTMLファイルの準備 ここでは実験として、以下のような小さいHTMLファイルを
以前のGRUBでは起動メニュー (menu.lst) を手で編集していましたが、現在のUbuntuのGRUB 2はupdate-grub (grub-mkconfigのフロントエンド) でgrub.cfgを生成する仕組みに変わっているようです。今までgrub.cfgを直接いじっていましたが、そろそろ正しい生成方法を調べてみました。 (GRUB標準の機能とUbuntu固有部分の切り分けがちゃんとできていないので、ひとまず手元のUbuntu 10.10前提で) 情報源: Grub2 - Community Ubuntu Documentation 動作環境: Ubuntu 10.10 /etc/grub.d/ このディレクトリには、grub.cfg生成の際に呼び出されるヘルパースクリプトが格納されています。 10_linux: HDDにインストールされているLinuxを検出して、Linuxに関
このエントリは「Ruby Advent Calendar jp: 2010」の20日目です。前日の記事はkwappa.856さんの「冗談で作ったrubygemsを「Pebbles」モジュールに押し込める」でした。明日はyuunyanさんの予定です。 はじめに RubyでGUIアプリケーションを書くのは比較的マイナーなのか情報が少なく、かつこれといった定番ライブラリが存在しないようです (特にクロスプラットフォームを志向した場合)。 比較的学習コストが小さく、かつクロスプラットフォームなGUIツールキットとして、この辺 (MOONGIFT)で紹介されている「Shoes」が良さげだったので、手元のUbuntu Linux上で試してみました。導入が若干面倒ではありますが、非常にシンプルな記述でGUIアプリが書けそうではあります。 Ubuntuを前提に書いていますが、おそらくFedoraなど他のデ
ローレンス・レッシグの「CODE Version 2.0」をKindleで読みたいという動機から。 「CODE」の英語版PDFは上記のページから無償でダウンロード可能ですが、Kindleで読むにはKindleネイティブ形式の方が読みやすいです (可変文字サイズなどの理由で)。 ただし、「CODE」のKindle版は存在するらしいものの、残念ながら日本を含むAsia&Pacific地域では購入できないようです。(なぜ?) 幸いなことに、「CODE」のWikiサイト上にEPUB版のスナップショットが置かれているので、これをKindleで読めるMOBI形式に変換することを試みます。 ここでは、Amazon公式のMOBIファイル生成ツール「KindleGen」を使います。 参考にした情報 Kindle 電子書籍の作り方 (Kindlegen) - 言語ゲーム (山宮隆の日記) 電子書籍 ePub電
RejectKaigi2010発表資料の文章版です。 Android側の実行環境はNexus One, Android 2.2です。 動機 Google Developer Day 2010のDevQuizで出題されていたPac-Manのシミュレータをいろんな人が公開しているのを見て、こんなのがAndroidでさっくりと動かせたら良いなぁと。 Androidアプリケーションの開発は、Eclipse+Android用プラグインによるクロス開発が基本ですが、PCからAndroid機 (またはエミュレータ) へのパッケージ転送およびインストールに数十秒程度の時間を要するため、ちょっとずついじっては試しに実行して…というサイクルを繰り返すにはあまり向いていません。 Android上でJRubyが動くと聞いたことがあるので、どういう状況かを実際に触って調べてみました。 (と言いつつ、実際はAndro
Fedora 12上でRuby 1.9.1-p376のビルドを試みたところ、コンパイルエラーが発生しました。Fedora 12では、OpenSSLのバージョンが従来の0.9.8系から1.0 (beta) に置き換わった影響で、そのままではRubyのビルドに失敗するようです。 makeのログから抜粋: make[1]: ディレクトリ `/home/m-kawato/src/ruby-1.9.1-p376/ext/openssl' に入ります ... ossl_pkcs7.c:575: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token【参考1】 http://cohakim.wordpress.com/2009/11/25/fedora-12-%E3%81%A7-ruby-enterprise-ed
最近のMacOSでは最初からRubyが入っている (いつからかは知らない) ものの、irbで日本語が入力できないという問題があるようです。 【参考】Mac のruby のirb で日本語入力をできるようにする - LukeSilvia’s diary 上記のページではMacPortsからRubyを入れる方法と、readlineとRubyをソースからビルドする方法が紹介されていますが、ここでは別解として、MacPortsで入れたreadlineと、自分でソースからビルドするRubyをリンクする方法を試してみました。 テスト環境: Mac OS 10.6 (Snow Leopard) on Mac mini MacPorts 1.8.1 readline 6.0 (MacPorts) Ruby 1.8.7-p174/Ruby 1.9.1-p376 1. MacPortsでreadlineライブ
この記事は、Ruby Advent Calendar jp: 2009参加記事です。前日はudzuraさんの「Ruby1.8.7、1.9.1、1.9.2preview1を簡単に切り替える@Ubuntu9.10」でした。明日はdan5.yaさんです。 やりたいこと Rubyの構造体 (Struct) では、以下のようにメソッド呼び出しの形で構造体メンバにアクセスすることができます。 Dog = Struct.new(:name, :age) pochi = Dog.new("pochi", 3) pochi.age #=> 3 一方、ハッシュを使う場合、値を取り出すためには [] の中にハッシュキーを入れる形にする必要があります。 pochi = {:name => "pochi", :age => 3} pochi[:age] #=> 3 puts pochi.age #=> NoMeth
TokyuRuby会議01にて発表してきました。正直言ってありがちな話題とは思いますが、自分にとっては何かを作る&学習する動機になっているのと、参加者にとって何かの役に立つこともあればいいなぁと思います。 正しいTwitter-likeサービス間連携の提案View more documents from Masahiro Kawato. 以下、補足的な意味も含めて内容説明。 ありがちなTwitter-likeサービス間連携とその問題点 Twitterの登場以来、多くのSNS系サービスがタイムラインベースのUIを採用しています。代表的なものでは、 Facebook Friendfeed mixiボイス GREE (ひとこと) Amebaなう (仮) など。ここでは、これらのタイムラインベースの情報共有サービスを指して、「Twitter-likeサービス」と総称します。 これらのサービス間相互
2009/7/31に開催された『第7回アーバンコンピューティングシンポジウム「創造するアーキテクチャ」』(私は参加していませんが…) の講演ビデオがYouTubeにアップされていますが、今のところインデックス的なものは見当たらないので、とりあえず自分用にリンク集を作っておきました。 関連情報: 技評の予告記事 『創造するアーキテクチャ』第7回アーバンコンピューティングシンポジウム開催決定! Fumiさんによるレポート http://fumi.vox.com/library/post/urban.html Introduction: 木原民雄さん (NTT) 01/19 http://www.youtube.com/watch?v=9DTG2oVCmIs 中西泰人さん (慶應義塾大学) パート 02/19 http://www.youtube.com/watch?v=55y-o5Uye0g
Twitterでフォロー情報消失事故発生という噂を聞いたので、自分がフォローしているユーザの情報をバックアップすることを試みました。Ruby用のTwitterクライアントライブラリ「Twitter4R」を使用しています。 結果的にはごく簡単に取れたのですが、どうもTwitter4Rはドキュメントが貧弱なので、なかなか試行錯誤を要しました。 # 要はソースを読めばいいわけですが、Rubyコード読解力が怪しいもので… ポイントは以下の2点です。 Twitter::Client#my(:friends) で、自分のフォロー先ユーザの情報が、Twitter::Userの配列として得られる。 Twitter::User#to_hash() で、ユーザの属性がハッシュとして得られる。 以下のようなコードで、自分がフォローしているユーザのID一覧を取得できることを確認しました。 #!/usr/bin/r
Rubyの標準添付ライブラリRSSを用いて、はてなブックマークのRSSから情報を取得するサンプルを作ってみました。 情報源: RSS Parser - COZMIXNG RSSフィード取得 RSS::Parserから直接HTTPでRSSを取得することもできるようですが、実験段階で本物のはてなブックマークにリクエストが多発するのは避けたいので、まずはローカルにRSSフィードを保存します。 $ wget http://b.hatena.ne.jp/m-kawato/rss $ mv rss rss.xml RSSフィードのパーズ/アイテム取得 RSS:Parser.parseで、手元のRSSフィードをパーズし、その結果であるRSS::RDFオブジェクトのitemsオブジェクトで全アイテムを取得することができます。ここまではチュートリアルそのまま。 test1.rb: require 'rss'
続き: 『パターン、Wiki、XP』読書メモ (その2) この本、しばらく前に届いた後積ん読していましたが、RubyKaigi2009でテンション上がった勢いで読み進めています。 パターン、Wiki、XP ~時を超えた創造の原則 (WEB+DB PRESS plusシリーズ) 作者: 江渡浩一郎出版社/メーカー: 技術評論社発売日: 2009/07/10メディア: 単行本(ソフトカバー)購入: 75人 クリック: 1,306回この商品を含むブログ (155件) を見る まだ前半までしか読み終えていませんが、今までの自分の経験や見聞から形成されたぼんやりした価値観に近いものが、どういう背景を持つものかがかなり明確に言語化されている感じがして、読んでいてワクワクします。 以下、まとめて感想という形で書くのは荷が重いので、読書メモという形で気になったところをピックアップします。 1章: クリスト
Ruby会議2009に併設されたRejectKaigiにて、最近のTwitter+iPhoneいじりの成果をちょろっと発表しました。 ライトニングトークはとにかくインパクト重要という感があるので、反応は今ひとつかなぁという感じですが、まあ何事も経験ですね。 せっかくなので発表資料をSlideShareにアップロードしておきました。 http://www.slideshare.net/mkawato/gpstwitter4r (追記) ustreamに発表ビデオがアップロードされていたので一応リンク貼っておきます。発表練習なしの一発本番なので見れたものではないですが… http://www.ustream.tv/recorded/1827976 気が向けば、はてなダイアリーに解説記事を書きます。
「IT勉強会カレンダー」プログラミング・情報科学関連の勉強会情報を集約する場としては最も網羅性の高いものだと思いますが、情報量が多すぎて、自分の求める情報を探すのが難しいというのも事実です。 # というか、調べるのが面倒で放置しているうちに、「こんな勉強会があったのか!」と後悔することもしばしば そこで、Google CalendarのAPIを使って日付単位で勉強会情報のエントリを切り出し、後でRubyスクリプトでフィルタリングをかけることを試みてみます。Google Calendar API単体でもキーワードでフィルタリングをかけられますが、スクリプト化した方が融通が効きそうなので。 まずは、手始めにGoogle Calendar APIによる切り出しと、取得したAtomフィードをRubyから読み出す処理を作成してみました。 情報源 Google Calendar APIの情報を探すのに
前回の記事、「IT勉強会カレンダー」から、1日単位でエントリを切り出す をベースに、勉強会情報をTwitterに自動投稿するスクリプトを作ってみました。 仕様は若干変更して、「指定した日に開催される勉強会」ではなく「昨日1日間に更新されたエントリの内容」を投稿するようにしています。少なくとも私にとってはその方が便利そうなので。新着記事だけでなく、一定期間ごとにリマインダを投稿する方が良さそうですが、それは今後のお楽しみということで。 とりあえずテスト用Twitterアカウントを対象に手動実行したところでは期待通りに動いているようなので、今後専用アカウントを作って、cronで自動実行することを考えています。 メモ Twitterへの記事投稿のために、Ruby用のTwitterクライアントライブラリ「Twitter4R」を使用 http://twitter4r.rubyforge.org/ G
bit.ly (短縮URL) API呼び出し (その1) - m-kawato@hatena_diary bit.ly APIの様子がつかめてきたので、本題のTwitter投稿のためのURL短縮を試してみます。 ここでは、入力としてメッセージ本文とURLを受け取り、必要に応じてURLを短縮URLに変換した形で本文とURLを連結します。 特に面倒な処理は必要ありませんが、入力中のURLがURLとして正当かどうかをチェックするために、Rubyの標準ライブラリuriを使用しています。 #!/usr/bin/ruby -Ku require 'rubygems' require 'net/http' Net::HTTP.version_1_2 require 'json' require 'jcode' require 'uri' BIT_LY_AUTH = 'login=<ユーザID>&apiK
急に思い立って、USBメモリからのLinuxの起動を試してみました。 予備調査として少しググってみたところでは、Puppy LinuxがUSBメモリ起動に向いたディストリビューションらしい。ということで、Puppy LinuxをUSBメモリに入れて、そこからの起動を試しました。 USBメモリからのブートで一般に難しいとされる点、 BIOSがUSBメモリからのブートに対応しているとは限らない USBメモリがブートに対応しているとは限らない に加えて、 Puppy Linuxを触ったことがない USBメモリからのブートを試したことがない という固有の状況により、問題の切り分けが難しいのが最大の問題でした。 結果的には、多少の試行錯誤を要したものの、大きなトラブルなく起動に成功しました。さすがにPuppy Linuxは最初からUSBメモリからのブートを対象に含めているだけはありますね。 以下、作
Twitter APIを使ったTwitterへの記事投稿では、URLはbit.lyによる短縮URLに自動的に変換されるのですが、入力のステータスメッセージが140字を超えると、bit.lyに通す前に切り詰められてしまい、結果として短縮URLが適用されないようです。 # ちゃんと条件は確認していませんが そこで、bit.lyもWeb APIを公開しているので、先にURLだけ短縮URL化してからTwitterに投稿することを試みてみます。 まずは、bit.ly APIの感触をつかむために、簡単なサンプルを試してみました。 情報源 bit.ly API Documentation bit.ly APIまとめ bit.ly APIを使うためには、事前にbit.ly上にユーザアカウントを作成する必要がある (無償)。 Web API呼び出しの際に、以下のいずれかの方法でユーザ認証を行う。 HTTP
Ubuntu 9.04が正式リリースされたので、早速ダウンロード&インストールしてみました。普段はWindowsのVMware上で動かすことが多いのですが、今回はLinux上のVMを試してみるために、ホストOSとしてインストールしています。 とりあえずKVMのインストールとvirt-managerを使ったVMの作成まで試してみたので、メモを兼ねて報告します。 主な構成 CPU: Athlon64 X2 5600+ (Windsor) MB: ASUS M2A-VM RAM: 4GB OS: Ubuntu 9.04 Desktop Edition, 64bit 参考にしたドキュメント Ubuntu Server Guide - 17. Virtualization 上記ドキュメントにはvirt-managerの説明はあまりないので、試行錯誤で動かしています。逆に、ドキュメントに記載されている
ニコニコ動画データ分析研究発表会に参加してきました。せっかくなので、簡単に感想を書いておきます。 多くの発表に共通して動画のタグ情報を用いているほか、説明文中のリンクや、コメントのユーザID情報を使ったものがあった。コメントの文章については、まだ活用する余地が大きそう。動画ファイルそのものを分析対象にするのはさすがに厳しいかな… タグや動画、作者間の関連やその可視化の話は確かに面白いが、そこから何か有用な結果を得るために、もう少し何かが必要そうな感じ。 濱野さんの「Fluxonomy」(あるいはタグ戦争) の話は「鋭い!」という感じ。というか私はタグの編集は未経験のライトユーザですが… ほとんどの発表に共通して、データ取得 (連続取得制限とか) が課題である模様。livedoor clipと同様に、研究者向けにデータを提供するような仕組みができると良いなあ。 今回の発表では見当たらなかった
最近Rubyはそれなりに使っているものの、Ruby on Railsは以前勉強しかけたきり放置していて、そろそろ再勉強しようとテキストを探していたら、こんなのを見つけました。 LearningRails - BuildingWebApps # 2008/12/12 リンク先修正 Web上の無料のチュートリアルで、Podcastとそのトランスクリプト、およびScreencastが提供されています。 Railsはバージョンアップが激しいので、どのバージョンに対応しているかが気になるところですが、どうやら2.0を対象にしているようです。少し拾い読みしたところでは、かなりしっかり作られている印象。英語のリスニングの練習にもなって一石二鳥ですね。 こんなのが無料で提供されているとは素晴らしい。 ということで、この辺から手をつけてみようかなと思います。
12/6(土)に開催された第2回ソーシャルブックマーク研究会に参加してきました。 すでに詳細な参加レポートが出ているので、簡単に感想だけ。 SBMがつくるコミュニティ、SBMでつくるコミュニティ - 研究・サービスの両面から 発表者: 大向 一輝さん (国立情報学研究所/株式会社グルコース) 研究のアプローチとして、既存の数理モデルを当てはめるのではなく、コミュニティにどっぷりつかることでシンプルな仮説を作り、検証することと表明されていたのが印象的でした。ソーシャルメディア系の研究では、対象を遠くから眺めているだけでは本質がつかめないんじゃないかという感覚を何となく持っているので。 研究内容については、「1ゲッター」(多くのエントリについて最初にブックマークする人) に着目したという点は筋が良さそう。 ソーシャルブックマークデータの時間情報を使った情報フィルタリングと検索 発表者: 上野
特に何に使おうという目的があるわけではありませんが、root権限が使えるLinux VPS (仮想専用サーバ) が欲しくなったので、価格的に手頃なLinode.comの一番安いプラン「Linode 360」を契約してみました。 Linodeは、Xenベースのホスティングサービスです。同種のサービスとしては、Slicehostの評判が良いようですが、約$20/月のプラン同士の比較では、Slicehost: メモリ256MBに対してLinode: 360MBと、Linodeの方がお得感があったので、ひとまずLinodeを選択しました。 今のところ、Ubuntu 8.04 LTS上にlighttpdとHiki (個人的なメモ用) をインストールし、動くところまで確認しました。 導入過程で、仮想ディスクの作成、OSイメージ作成などの作業を行うWebインタフェースがなかなかよくできていたので、ここで
次のページ
このページを最初にブックマークしてみませんか?
『m-kawato@hatena_diary』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く