タグ

ブックマーク / higepon.hatenablog.com (6)

  • 毎朝5時に起きてコードを書くソフトウェアエンジニア - higepon blog

    毎朝5時に起きて出勤前にコードを書くという習慣を始めた。2週間経ったのでまとめてみようと思う。この記録が小さい子持ちの30代パパ・ママエンジニアに役立つとうれしい。多分独身で若い人には役に立たない。 始める前に抱えていた問題 好きなコードを書きたい。勉強したい。そう思っても以下の理由により以前とは比べられないほどに時間がとれなくなってしまった。 子供に可能な限り時間を使いたい。結果的に自分の時間は減る コードを書く自由時間が極端に少ない 1人になれる時間がほとんど無い 家で10分以上集中できない。こどもが遊ぼう!って誘ってくるとか 子供に話かかられたり質問されたら出来る限り応えたい とにかく疲れやすい 以下のような典型的な1日。 朝は 6:30 頃に早起きの息子に起こされる。1人で起きて絵などを読める歳だが、静かに起きることは稀だ。トイレに行きたいとか。何かが見つからない。何だかんだで同

    毎朝5時に起きてコードを書くソフトウェアエンジニア - higepon blog
    teppey
    teppey 2014/06/23
  • EmacsのChangeLog で todo を管理するときにちょっとだけ楽しく - higepon blog

    僕は ChangeLog で todo を管理しています。 以下の様に箇条書きで、終わっていないものは□、終わったものは■(塗りつぶし)で書いています。(この方式は id:kambara に教わりました。) -□括弧の数の対応をチェック -□現状把握をして優先度を決める -□すべてのファイルにヘッダをつける -■match.yml/unmatch.yml, translate.yml -■beginで囲まないとテストにならない -■マクロをNodeに変換する -■Node::equalsを実装するtodo を入力するときはコピペか、「やる→□」という対応を IME に登録しておいて入力するのが良いでしょう。 そして todo が完了したら□を塗りつぶすイメージで■にするんですが、そのときの入力が面倒! と思ったので、以下のような Emacs Lisp を書いてみました。 □の上にカーソルを

    EmacsのChangeLog で todo を管理するときにちょっとだけ楽しく - higepon blog
    teppey
    teppey 2010/02/03
  • NB: とは - higepon blog

    Gaucheのソースコードを読んでいて NB: というのが出てくるので気になっていたので調べてみた。 ;; NB: proc is evaluated every iteration. Intended it to be a lambda form, ;; so that its call is inlined. 「nota bene」の略がNBで よく注意せよ という意味らしい。

    NB: とは - higepon blog
    teppey
    teppey 2009/09/05
    のーた べーね
  • Scheme処理系 Gauche の最適化まとめ前編 - higepon blog

    shiro さんが開発されている Scheme 処理系 Gauche 0.8.12 の最適化処理を勉強のためにまとめました。 よく Gauche のコードは宝の山だと聞きますが、その一端を分かってもらえるとうれしいです。 基的にGaucheのコードのコメントをまとめただけです。 Scheme のソースコードと簡単な英語が読める人はこのまとめを読むより src/compile.scm を直接読んだ方が正確に理解できると思います。 前提1 コンパイルと実行の流れ Gauche はスタックマシン型の仮想マシンでコードを実行します。 そのため Scheme のコードはスタックマシンで実行可能なコードにコンパイルされます。 つまり Scheme のコード →(コンパイル) マシンコード →(実行) 結果 という流れでコードが実行されることになります。 今回取り上げる、最適化は上の流れの「コンパイル

    Scheme処理系 Gauche の最適化まとめ前編 - higepon blog
  • 関数型言語の勉強にSICPを読もう - (7) 1章 - 反復をマスターしたいけど・・・ - higepon blog

    「SICPを読もう - (3) 1章 - 手続きによる抽象の構築(1-30ページ)」で反復が分からないと書いたのですが、trace を使えば視覚的に関数の呼び出しが理解できるのでこれを利用してみました。 題材としては一番単純な factorial を取り上げます。 まずは再帰版 (define (factorial n) (if (= 0 n) 1 (* n (factorial (- n 1)))))trace を行うためのおまじないをしてから実行してみます。 gosh> (use slib) gosh> (require 'trace) gosh> (factorial 5) gosh> CALL factorial 5 CALL factorial 4 CALL factorial 3 CALL factorial 2 CALL factorial 1 RETN factorial

    関数型言語の勉強にSICPを読もう - (7) 1章 - 反復をマスターしたいけど・・・ - higepon blog
  • 関数型言語の勉強にSICPを読もう - (6) 1章 - 小休止 traceを使えるようにする - higepon blog

    dankogaiさんからトラックバック404 Blog Not Found:scheme - traceとslibで助け舟を頂いた。 このように、「知らないとなかなかたどり着けない情報」をご提供いただけることはとても幸せなことだと思います。 slibとtraceの準備 Ubuntuならこんな感じ。 apt-get install slibgoshで requireしてみると・・・。 gosh> (use slib) #<undef> gosh> (require 'trace) *** ERROR: couldn't open output file: "/usr/share/gauche/0.8.4/lib/slibcat" Stack Trace: _______________________________________ 0 (call-with-output-file catp

    関数型言語の勉強にSICPを読もう - (6) 1章 - 小休止 traceを使えるようにする - higepon blog
    teppey
    teppey 2009/07/01
  • 1