タグ

ブックマーク / kazu-yamamoto.hatenablog.jp (21)

  • 例として推奨されているドメイン名とIPアドレス - あどけない話

    解説記事や発表資料で、ドメインの例を出す場合、example.jp等を使うことが推奨されているのを知っている人は多いでしょう。しかし、IPアドレスの方は知らない人もいるみたいです。ここでは両方について出典を示しながらまとめます。 知っていて別の例を使うのはいいのですが、知らないで別の例を使うのはよくないです。 gTLDのドメイン名の例 RFC2606で以下のように定められています。 3. Reserved Example Second Level Domain Names The Internet Assigned Numbers Authority (IANA) also currently has the following second level domain names reserved which can be used as examples. example.com exa

    例として推奨されているドメイン名とIPアドレス - あどけない話
    masutaka26
    masutaka26 2016/10/20
    IP アドレスも RFC に定義されてた
  • Emacs 24.3/24.4 on Mac のフォント設定 - あどけない話

    Emacs で一番難しいのはフォントの設定です。特に Mac では地獄のように難しいです。とうわけで、Emacs 24.3 と来る Emacs 24.4 でうまくフォントを使うための設定を公開しておきます。 なお、Mac では素の Emacs を使ってはいけません。Emacs Mac port を使いましょう。パッチを当てるのは面倒なので、早く github なんかで公開されるといいですね。 ちなみに、素の Emacs を Dock から起動すると PATH を引き継がないので、はまります。Emacs Mac port なら PATH を引き継いでくれます。 フォントの設定 以下をお好みに合わせて変えて .emacs などに入れて下さい。 ;; 以下はフレームの設定 (defvar my-frame-parameters '((height . 40) (width . 80) (top

    Emacs 24.3/24.4 on Mac のフォント設定 - あどけない話
  • RSSリーダ BazQux と DNS キャッシュ - あどけない話

    BazQux(バズクックス)は、Google Reader の代替として密かに注目されている RSS リーダです。実装と運用を一人でやっている Vladimir Shabanov さんによると、BazQux のウリは、 高速である ブログのコメントも表示できる 複数のビューがある モバイルに対応している などらしいです。 BazQuxフロントエンドは、Ur/Web で記述されたコードから生成された JavaScript、バックエンドは Haskell だそうです。高速なのは、Haskell のおかげであると Vladimir さんは言っています。我々が開発している HTTP エンジンの Warp も使われているそうです。 現在、僕は Haskell 用の HTTP/2 ライブラリの作成に取り組んでおり、必要な技術を調べている過程で、redditでの議論のことを思い出しました。今回、よく

    RSSリーダ BazQux と DNS キャッシュ - あどけない話
    masutaka26
    masutaka26 2014/03/09
    ちょっと試した感じ、確かに軽くて良いかも。
  • 静的型付き言語プログラマから見た動的型付き言語 - あどけない話

    およそ20年前にAlan Kay の講演をきいたことがある。印象に残ったのは、彼が引き合いに出した McLuhan の言葉だ。 I don't know who discovered water, but it wasn't a fish. (拙訳)誰が水を発見したかは知らないが、発見者が魚でなかったことは確かだ。 誰しも信念という水の中を泳ぐ魚のような存在だ。思い切って飛び跳ね空気に触れてみなれば、自分が信念という水の中にいることに気付かない。 ある手法の利点を語るには、その手法の欠点や、他の手法の利点や欠点とできるだけ客観的に比較しなければ説得力がない。ただ、これを実践するのは難しい。この記事では、客観的になれているか自問自答しながら、動的型付き言語と静的型付き言語について比較してみようと思う。 僕は静的な C 言語から、動的な Perl、Lisp、JavaScript を経て、現在で

    静的型付き言語プログラマから見た動的型付き言語 - あどけない話
  • 関数型プログラミングと代入 - あどけない話

    関数型プログラミングでは、よく「代入は使ってはならない」と言われます。関数型言語の一種である Emacs Lisp を生業とする僕は、この言葉に長年悩まされてきました。代入を使わないで実用的なプログラムを書くことは無理だからです。 もちろん、問題の内容が数学の関数に類似したものなら、代入も副作用もないプログラムを書くことは簡単です。階乗(factorial)のコードは、以下のように奇麗に実装できます。 (defun factorial(n) (if (= n 1) 1 (* n (factorial (1- n))))) しかし、こう書けることと、実際にこう書くかということとは別問題です。 Scheme のように末尾最適化を実装していて、末尾再帰をループに変換してくれるなら、上記を末尾再帰に変換したコードを書くでしょう。 しかし、Emacs Lisp には末尾最適化がありませんから、スタッ

    関数型プログラミングと代入 - あどけない話
  • 2007-10-29 - あどけない話 JavaScript Lint

    これまで、JavaScript の構文チェックには JSLint を使ってきました。かなり強力なんですが、JavaScript で書かれているためブラウザー越しに使わなければならない、そして速度が遅いという問題がありました。 コマンドラインから使える構文チェッカとしては Rhino の js があります。しかし、これは僕の要求を満たしてくれるほど、チェックが厳しくありませんでした。 MacPorts をいじっていて、JavaScript Lint なるものがあることに気付き早速使ってみました。Crockford先生についても触れていることから分かるように、素晴らしいです。 使い方 コマンド名は、jsl です。JavaScript ファイルや script タグを含んだ HTML ファイルを引数 -process の後に渡します。 % jsl -process prototype-1.6.0

    2007-10-29 - あどけない話 JavaScript Lint
    masutaka26
    masutaka26 2011/08/12
    javascript-mode で flymake を使う方法。jsl は Homebrew にもある。Emacs-23.3 だと (require 'flymake-jsl) の前に (setq flymake-jsl-mode-map 'js-mode-map) が必要だった。
  • 文字コードに思う - あどけない話

    昔、INTERNET magazine に寄稿した「文字コードに思う」が PDF になって公開されていました。。。 PDF 化の話は伺ったような気もしますが、認識していませんでした。。。 文字コードのエッセイでも書こうかと思って、ふと検索したんです。。。

    文字コードに思う - あどけない話
  • jemalloc() ~ Firefox 3.0 爆速の理由 ~

    今日、IIJ 技術研究所で jemalloc() について簡単に説明しました。その資料を公開します。 jemalloc() 〜 Firefox 3.0 爆速の理由 〜

    jemalloc() ~ Firefox 3.0 爆速の理由 ~
  • 2011年に Haskell を始める人のために - あどけない話

    適切な一歩を踏み出すか否かは、大きな違いを生みます。この記事では、2011年に Haskell を始める人のために、著者が考える最適な入門方法を示します。 Haskell Platform をインストールする 昔人気のあった Hugs は、もう保守されていません。現在は、GHC の時代です。GHC とライブラリをパッケージ化した Haskell Platform をインストールして下さい。 インタープリタが使いたい場合は、付いてくる ghci を使います。 コンパイラ -- ghc インタプリタ -- ghci スクリプト -- runghc GHC マニュアルの日語訳もあります。 プログラミングHaskell 次に、プログラミングHaskellを読んで関数プログラミングの「こころ」を理解しましょう。 プログラミングHaskell 作者: Graham Hutton,山和彦出版社/メー

    2011年に Haskell を始める人のために - あどけない話
  • Cocoa Emacsでのフォント設定 - あどけない話

    Cocoa Emacs をそのまま使うと、等幅フォントの設定が使い物になりません。日語文字の幅は、英語文字の倍であるべきです! Web を調べても、みんな困っていることが分かっただけ。そこで自分でハックしてみましたが、到底手に負えないことが分かりました。(フォントEmacs の最も難しい部分です!) という訳で、Cocoa Emacs の Adrian Robert さんにメールしたところ、「フォント周りは半田さん」とのこと。結局、半田さんに質問しました。 そしてついに、Carbon な Emacs 22 でも CocoaEmacs 23 でも、希望通りにフォントを設定することができました。 以下がそうです。僕は、ヒラギノ丸ゴを使っています。 (setq my-font "-*-*-medium-r-normal--14-*-*-*-*-*-fontset-hiramaru")

    Cocoa Emacsでのフォント設定 - あどけない話
    masutaka26
    masutaka26 2010/12/08
    だいぶ綺麗になったけど、まだまだ。半角カタカナとかIIとか・とか化けるし。。
  • プログラマの壁 - あどけない話

    プログラマに向いている人と向いていない人がいるそうです。 Jeff Atwood さんの「どうしてプログラマに・・・プログラムが書けないのか?」: プログラムを書ける者とプログラムを書けない者の間にある大きな溝についてはよく知られているが、プログラマの職に応募してくる人間は、すでにこの溝を飛び越えているものだとばかり思っていた。明らかにこれは妥当な仮定ではないらしい。プログラムを書けないプログラマの面接で時間を無駄にしないために、FizzBuzzスタイルのふるい分けが必要ということだ。 どんなことでも向き不向きはあるでしょうから、これには納得いきます。しかし、プログラマになれる人の中にも、溝があるようです。 Joel Spolsk さんの「Javaスクールの危険」: 私のささやかな経験から言わせてもらうと、伝統的に大学のコンピュータサイエンスのカリキュラムで教えられているもので、多くの人が

    プログラマの壁 - あどけない話
  • No exchange - あどけない話

    もう2ヶ月ぐらい前になりますが、スーパーで買い物をしていたときのことです。レジで支払いを済ませた直後に、後ろに並んでいた外国人の方がレジの人に「この英語間違っていますよ」と言いました。 レジの人は意味が分からないようで、笑ってその場をやり過ごしてしまいました。僕は面白そうなので、外国人の方を捕まえて、いろいろ聞いてみました。 レジに表示してある "No exchnage" は、(犯罪防止の)「両替できないと」という意味にはならず、正しくは "We cannot break large bills" と言うべきだとのこと。調べてみたら、和製英語にも同じようなことが書かれていますね。 追記:Randy 曰く"No changes without purchase"が自然な英語だそうです。

    No exchange - あどけない話
  • Emacs Lisp のパターン - あどけない話

    デザイン(設計)パターンという程のことはない、Emacs Lisp のパターンを思いつくままに書きます。心は、 高階関数を書こう マクロを書こう です。 mapcar mapcar は、引数に関数をとる高階関数のよい例です。リストを取り、それぞれの値を加工して、新しいリストを返すパターンのときは、mapcar を使いましょう。 (mapcar '1+ '(1 2 3 4)) ;; => (2 3 4 5) mapcar には、自分のさせたい仕事を実装した関数を渡しましょう。 (defun f(x) (1+ (* x 2))) (mapcar 'f '(1 2 3 4)) ;; => (3 5 7 9) mapcar を連結しましょう。(オブジェクト指向でのメッセージの連結に似ていますね。) (mapcar '1+ (mapcar (lambda(x) (* x 2)) '(1 2 3 4)

    Emacs Lisp のパターン - あどけない話
  • Emacs Lisp でピュアな Lisp - あどけない話

    「基的な 7 つの関数を実装すれば、LISP は作れる」という話をよく聞きます。僕はこのことに疑問を持っていました。和田先生が、「"Lisp 1.5 Programmer's Manual" の EVAL の定義を読むとよく分る」とおっしゃったので、お借りして読みました。 このでは、EVAL が M 式で書かれており、すんなり頭に入ってきません。そこで、Emacs Lisp で実装してみました。 表記 関数の名前は、Emacs とぶつからないように、全部大文字にします。ただし、読みにくい表記は、読みやすい表記に変えることにしました。 QUOTE → ' (QUOTE T) → t (QUOTE F) → nil NIL → nil 7 つの基関数 さて、7 つの関数の定義です。 (defalias 'CAR 'car) (defalias 'CDR 'cdr) (defalias '

    Emacs Lisp でピュアな Lisp - あどけない話
    masutaka26
    masutaka26 2009/08/22
    "「基本的な 7 つの関数を実装すれば、LISP は作れる」は言い過ぎで、「機能がリスト処理に限定された LISP は作れる」と言うべきですね"
  • Emacs Lisp のダメなところ - あどけない話

    Emacs Lisp をこよなく愛する僕の目から、Emacs Lisp がダメだと思うところをまとめておきます。 文化的な問題 Emacs Lisper の多くは、Lisp が好きで使っているのではなく、Emacs が好きだからしかたなく使っているのでしょう。当は C で書きたいのに、無理して Lisp を利用している感じです。 そのため、Emacs に付いてくる Emacs Lisp のコードは、Lisp らしくないものがほとんどです。単に C での発想を Lisp で表現しています。 これらのコードは、読みこなせないぐらい関数が大きく、副作用のある部分とない部分が分離されていません。また高階関数を用いて、データ構造を走査するコードと実際に仕事をするコードを分離するという意識も低いようです。 GoogleMapReduceという論文のお陰で、Lisp の写像関数(map)と畳込み

    Emacs Lisp のダメなところ - あどけない話
    masutaka26
    masutaka26 2009/08/22
    "Emacs Lisp で非同期性を実現するには、TCP コネクションを開くか、外部コマンドを起動する必要があります"
  • The Little Schemer - あどけない話

    最近、Scheme がちょっとした流行になっているようです。 Scheme を勉強しようと思っている人に、僕が声を大にして薦めたいは、「The Little Schemer」です。 The Little Schemer (The MIT Press) 作者: Daniel P. Friedman,Matthias Felleisen出版社/メーカー: The MIT Press発売日: 1995/12/21メディア: ペーパーバック購入: 10人 クリック: 137回この商品を含むブログ (91件) を見る 1章から7章にかけて、たくさんの例題とともに「再帰」が説明されています。「再帰の再帰」も勉強できます。実際、「このを読んで人生が変わった」という感想を何回か聞いたことがあります。なぜなら、物事を再帰で考えられるようになるからです。再帰が分らない人は、ぜひ読んで下さい。 8章は、「ク

    The Little Schemer - あどけない話
  • Emacs Lisp の構造化 - あどけない話

    忌み嫌われているグローバル変数/関数をなるべく使用しないために、もう一つ小さな空間を用意している言語があります。僕のイメージでは、この空間はゆりかごです。ゆりかごの実現方法として、以下のようなものが挙げられるでしょう。 C++Java ならクラス JavaScript なら関数、あるいはオブジェクト・リテラル Scheme なら手続き(関数) Emacs Lisp も Lisp なんですから、ある関数をゆりかごにして、中に関数を定義したいところです。でも、これはできません。さて、どうするかという話です。 defun で defun defun の中で defun したいところですが、これはうまく行きません。外側の関数が実行されると、内側の関数がグローバル空間に定義されてしまうからです。 (defun foo (n) (defun bar (n) (1+ n)) (bar n)) (fbo

    Emacs Lisp の構造化 - あどけない話
  • Emacs補完候補の選択を便利に - あどけない話

    今話題のauto-complete.elを使ってみましたが、以下の点が使いづらく、使うのを止めてしまいました。 候補が最大10個しか出ない 10個以上の候補がある場合、次に打つべき文字が分らない バッファの最下部でメニューが表示されると、勝手にスクロールされる 個人的には、Emacsが提供する標準の Completion List モードを拡張する方がいいなぁと思いました。Completion List モードが使いにくいのは、以下の点です。 C-f/C-b/C-n/C-pはカーソルの移動であって、候補間の移動ではない RETで選ぶと、候補のリストを表示する前の状態に戻れない Emacs 22では、カーソルが他のバッファに行ってしまう Emacs 23では、元のバッファにカーソルが戻るが、余計なバッファが表示されたまま という訳で、これらを解決するコードを書いてみました。最後に付けているコ

    Emacs補完候補の選択を便利に - あどけない話
    masutaka26
    masutaka26 2009/08/22
    Mew の C-s/C-r はよく使ってる。 http://masutaka.net/chalow/2008-11-17-3.html
  • 文章の書き方(岩波新書) - あどけない話

    私にとっての文章の土台を便宜的に分類するとしたら、3つに分けられるだろう。 一番目は、大学の研究室での訓練。私が所属していた九大の牛島研では「推敲」というソフトを作っており、先輩たちの発表は、どういう文章が曖昧で、それをいかに見つけ出すかという内容が多かった。「父の写真」といった曖昧な文章をこれでもかと見せられるのである。学生時代に、曖昧な文章とは何か、正確な文章を書くにはどうすればいいか、じっくりと考える時間が取れたのは実に幸せだった。また、牛島教授はカタカナの使用にもうるさい人で、この指導にはとても感謝している。 二番目は、UNIX Magazine の連載中に編集長から教えて頂いたこと。たとえば、「山くんは文章がうまいけど、『非常に』と『行う』という言葉が多いね」と指摘された。今思えば、つまり「文章が下手だ」と優しく諭して頂いた訳だ。それ以来、僕はこの二つの言葉をいっさい使わなくな

    文章の書き方(岩波新書) - あどけない話
  • Firefox 3.5 で未対応の拡張機能を使う - あどけない話

    いくつかの拡張機能が Firefox 3.5 へ対応するのがあまりに遅いので、禁断の技に手をだしてしまいました。。。 Firefox 3.5 で、3.5 未対応のアドオンを利用するには以下のようにします。 URL バーに about:config と入力 コンテキストメニューで「新規作成」「真偽値」を選択 extensions.checkCompatibility を作って false とする Firefox 3.5 を再起動 拡張機能によっては Firefox 3.5 で動かなかったり、下手すると Firefox 3.5 が起動しなくなったりするでしょう。くれぐれも、自己責任でお願いします。 僕は以前と同じ操作感覚に戻れました。 なお、Firemacs ですが、Firefox 3.5 でうまく動かない機能があるようです。時間が取れたら、対応します。。。

    Firefox 3.5 で未対応の拡張機能を使う - あどけない話