トップ «前10日分 最新 次10日分» 追記

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|

ToDo:


2008-09-29

_ だるい

今日も無為な一日だった…

有意義なことと言えば hogelog さんの tumblr とそこからのリンクをだらだら読みあさってたというような。

少女ギターを弾くが出てきた。 あれはすばらしい。 つゆダクとか早く終われと思ってたけど今どうなったんだろう。 なんか違うのをまたスピリッツでやってるらしい…

(00:29)

_ DOS

ゴルフ場に入れた。

http://golf.shinh.org/p.rb?FizzBuzz#DOS

適当だけど終了処理入れても 79B だから勝ってるとは思う…

http://labs.cybozu.co.jp/blog/takesako/2007/05/fizzbuzz_x86.html

まぁ DOS っていうか COM って Windows でも Linux でも手軽に書けすし手軽に走るし、 アセンブリ入門には良い気がするなぁ。

(02:04)

_ 最適化オプション

で -Wall の挙動が変わるとかは知っといて損はない気がする。

i@u4 ~/test
> cat unused.c
int main() {
    int a;
    return a;
}
i@u4 ~/test
> gcc unused.c -Wall
i@u4 ~/test
> gcc unused.c -Wall -O2
unused.c: In function 'main':
unused.c:3: warning: 'a' is used uninitialized in this function

http://d.hatena.ne.jp/hyoshiok/20080927#p2

via http://homepage1.nifty.com/herumi/diary/latest.html#28

本題については2種類うんぬんについては

管理すべき実体が増えることは管理のコストが増加して、よろしくない。最適化オプシ
ョンなしのバイナリで延々デバッグしていたのだが、実は最適化オプションありのバイ
ナリでは当該バグに遭遇しないとか

のあたりはギャグで言ってるのかなぁ的なレベルだなぁ… 話が逆でターゲットが組み込みとかならコンパイラのバグ回避とか あると思うけど…

(02:40)

_ 全然適切な例が思いつかんけど

static inline void f(int i) {
    int* p = 0;
    int j ;
    for (j = 0; j < i; j++) {
        p += j;
    }
    for (j = 0; j < i; j++) {
        *p += j;
    }
    for (j = 0; j < i; j++) {
        p += j;
    }
}

int main() {
    f(10);
}

この程度の関数が inline 展開で消え失せたりして、

(gdb) run
Starting program: /home/i/test/a.out

Program received signal SIGSEGV, Segmentation fault.
main () at hard_to_debug.c:15
15      int main() {
(gdb) bt
#0  main () at hard_to_debug.c:15

とか言われたら結構キツいというか 場合によってはデバッグビルドしなおして gdb で追う方が速いとか言いたいんだけど、 例があんまり適切じゃないからイマイチ。

まぁ僕も gdb 使うとしても たいていは最適化ついたままでやってるし、 たいていのケースで慣れりゃデバッグできるよ〜的な 主張はわかるんだけども。

それはそうと、最近よく妄想するのは、 最適化とか strip かかったバイナリの行を推測するようなツール。 strip されててもその関数のダンプと関数内の落ちた位置を 人間が見たらだいたいどこで死んだかわかるよね。 そういうカンをある程度自動化できないかなぁ的な。

あとスタックトレースって その関数の何分の何まで進んだかとか表示してくれると 上記のような推測がしやすくなるんだけどなぁとかいう。 まぁ分岐あると推測外したりしまくりそうだけど。

(03:00)

_ T9

http://ja.wikipedia.org/wiki/T9

おおー。子音入力をだれか

(04:17)


2008-09-27

_ 短い答えはいまいち書けなかった

http://www.atdot.net/~ko1/diary/200809.html#d27

o = [1, 3, 4, 5, 6, 12, 13, 15]

$_=o*','
o.map{|v|sub(/#{v-1}(.)?,(#{v})|.*\d$/){$1?$2+$1:"[#$&]"}}
p eval$_

要はこの問題、何がイヤって 長くなるとかうんぬんより条件式が多くなりまくるのが ウザいということであり、ささださんのは2つしか無いので優秀。

で、その意味で僕のコードは 一つしか無いので素晴らしいと主張したいのである。

(05:53)

_

o.map{|v|sub(/.*\d$|#{v-1}(.)?,(#{v})\b/){$1?$2+$1:"[#$&]"}}

とかじゃないとだめか。左っかはの \b は無くていい気が するが自信なす

(05:58)


2008-09-26

_ 最近のマラソン

書こうと思いつつ書いてなかった。遠い記憶である…

  • 36 XORPlusEnc

えらい弱い共通鍵暗号を解くというもの。 鍵は単語データベース+ちょっとした操作みたいな簡単な方法で作られ、 さらにどんな鍵だと推測しても文章の後半部分は ほとんど解読されてしまう、という情けない暗号。 だから前半部分の精度が重要。

序盤頑張って n-gram とか単語一覧とか圧縮して埋めてたんだけど、 終わりの方にリロードしてみたらだいぶ前に errata 入ってて 単語一覧取得する関数提供されてるでやんのバーカ、 みたいな感じだった。

まぁでもそれなりに頑張って、18位程度のものができたっぽい。 アルゴリズムは忘れた。

01:48 >i< 僕は色々迷走しましたが
01:50 >i< 文字ごとの2gram&3gramと、確定個所と一致した単語があるとボーナスとかと
、TWLに入ってる単語プラスWikiNameから引っこ抜いてきた単語辞書にある単語が出てき
たらボーナス、とかだったと思います
01:50 >i< 何が良かったのかとかよくわからん
01:53 >i< 確かに 3gram デカい割にイマイチ効果なかった気がしてました
01:54 >i< なんかたしか金曜くらいまで
01:54 >i< getWord とかいう関数が与えられてるのに気付かなくて
01:55 >i< 単語リスト埋めるのは無理かなー → 確定した個所の回りから greedy に確定
させてくか → となると 2gram だけじゃ心細いな という感じで 3gram 作った覚えが
01:55 >i< そしてその後 TWL06.txt 圧縮すれば埋め込めることに気付いて
01:55 >i< 埋め込んで満足した後に getWord の存在に気付きました
01:57 >i< あでも単語リスト埋めるのにその圧縮使えたので
01:57 >i< まぁ良かったといえば良かったです
01:59 >i< もっとひどかった
01:59 >i< 06.28.2008 12:23:36 の段階でまだ埋め込んでるから
01:59 >i< 時差考えると土曜の晩すか
02:04 >i< 探索はなんか僕は TWL のリストだけ適用したものに対して 2gram&3gra
02:05 >i< mでチェックしといて、その中で成績良かった100個の後ろに数値くっつけて総
探索とかだった気がします

何言ってるかよくわからん。 たぶん Wikipedia のページの先頭部分を保存しておくみたいなのを やろうとしてイマイチだったんだけど、 うまいことやればそれが結構効くはずだった、 ってあたりがもっと上位との差だったんじゃなかったけか…

まぁそれはともかくコードサイズがなんか事故で大きすぎて、 0点だったのでガツンと rate 落ちてわらった。

  • 37 Textures

面白そうだなーと思ったけど確か忙しすぎて参加できず。

ttp://www.topcoder.com/contest/problem/Textures/1.png

こいう絵の分割をするのね。

  • 38 PieceMover

これも忙しかった。あとそもそもどうやって解いたもんかぱっと案がなかった。 16パズルみたいな物体だっけ。

  • 39 OneTimePad

暗号アゲイン。今度こそ圧縮ガツンとやろうと思ったんだけど、 まぁなんか忙しかったんじゃなかったっけ。

  • 40 Klondike

いわゆるソリティア。 課題が面白そうだったので、忙しかったけど 適当にやってみたらそれなりのができたので、 そのそれなりのを投稿して終了。

http://www.topcoder.com/longcontest/?module=ViewSubmissionHistory&rd=13565&pm=10014&cr=8400878

いつも再提出しまくるのにあまりしてないあたり 気合いが足りてない。 やったこと:

22:51 >i< 超普通で単に先読みするだけですね
23:02 >i< 僕は見えてる範囲でたくさん裏返ってるカードを表にできるのが良い手である
、という感じでやりましたが
23:02 >i< 探索が超適当なので、遅くてすごい浅い読みしかしてません
23:03 >i< 上の方の人は深い読み + その基準で同じスコアの場合でも deck の状態とか
でスコアリング、って感じですかね
23:03 >i< 僕もその手のスコアリングみたいなのはほどほどにやったんですが
23:04 >i< 適当なヒューリスティックだとかえって悪くなるばかりで
23:04 >i< よくわからんのでめどくなりました

そうそう考えたアイデアがことごとくローカルテストケースに対して 悪く働いたのでやる気が尽きた。

  • Threadfest

レイトレーサだったらしい。2週間もムリ。やってない。

  • 41 Steganography

面白そうだったのでちょっとコード書いてみる。 画像中の下位ビットに埋められた画像を起こす。 Sample 1 は復元できてるようなノイズあるような… っていうかサイズ全然あってないから、きちんとやらないとなぁ、 と思って、色々アイデアは考えたけど実装せずに風邪その他で終了。

(00:01)

_ まさか C のことじゃないすよね

http://q.hatena.ne.jp/1221708568

重箱の隅だけど、えーとなんでダメなんだ…とか考えて ああ for 文とかかとかわかった。 K&R 適当に見るに、式文と do while 文と jump 文は セミコロンで終わるって感じみたいだ。

にしてもこの議論面白いなぁ… 誰か shiro さんの琴線に触れる煽り方をマスターすると良いね。

やっぱ SICP とか読んでみた方がいいのかなぁとか 思った俺は完全に踊らされている。

そこで反抗期としては無理に反論して SICP を読まない必要があるのである。 いや別に反論せずに読まなくてもいいんだけど。

まぁアレかなぁ。 やっぱプログラミング言語が非常にプログラミングに とって重要な要素であるのは当然だけど、 でもやっぱそこどうでもいい、 ってやっちゃうのはちょっと無理があるかな。

縄文人であることは賛成であって、 火の使い方も石器の作り方も improve していこーって フェーズなんだとは思う (どうでもいいけど improve という単語の便利さは異常)。 でまぁ石器の研究に必要な程度の火の扱い方をマスターした子に対して、 文明の本質を教えるために火の起こし方はどの流儀が… とか言われちゃうと、石器こそが文明の本質であると思ってる子としては ふがほげ。

全然よくわからん。

要は OS こそがプログラミングの本質である!!!と 思いつつ言語もほどほどにたしなんでる子が、 プログラミング言語について自分に学ぶべき点があることは自覚しつつ OS の勉強を先行させる、ってのはまぁいいだろみたいな。

でまぁ僕の言いたいこととしては 勉強のネタが時間に対して自乗くらいのオーダーで増えてるから 本当に困るというような。 しかも年々加速してるだろコレ。 となると SICP とかは老後でいいんだよ!! みたいなそういう。

にしても Python とか教え始めてる系の話だけど、 JavaScript は結構いい候補な気がすごいするよなぁ。 俺 JS interpreter (ECMA の仕様のキモい部分は無視して) とか作ったら色々勉強できそう。

まず JavaScript for education という言語を定義してだね…

(22:08)

_ ↑への正しい反論

機械語を直接吐かない言語に本質などない!

ていうか機械語を書け!

機械語を理解して始めて

まず CPU for education とかそういう命令セットを定義してだね…

てかMMIX ってそいう目的か。な? 知らん

(22:13)

_ 37.1

非常にいけてない

(22:14)

_ emacs

(require 'uniquify)
(setq uniquify-buffer-name-style 'post-forward-angle-brackets)

が便利だと教えてもらう。わいわい

(23:45)

本日のツッコミ(全1件) [ツッコミを入れる]

_ きむら(K) [>てかMMIX ってそいう目的か そういう面もあると思いますが、 ・高水準言語は流行すたりがあり、また言語ごとに記..]


2008-09-25

_ てか

http://d.hatena.ne.jp/sumii/20080924/p1#c

自分でメール投げればいいと気付いた。

(01:05)

_ 微熱

依然37度かー。微妙に長いなぁ

なんかアリが大量発生したりしてるのは 死臭が出てるとかそんな感じなんだろうか。

(01:17)

_ vimperator

gi 使えなくなってる、かな

(23:29)

_ 微熱日記

36.9 。実はこのへんが平熱説。 でも頭痛いからなぁ。

そんなことよりずっと寝てたから やりたかったこと忘れまくった。

  • BulletML => JS compiler
  • Yajit2.0 (もう 1.0 は忘れる)
  • sevilwm
  • ゴルフ場系
  • SDL なんか
  • Canvas でなんか

まぁそんなことより久々に俺言語作りたい欲が。

(23:39)

本日のツッコミ(全2件) [ツッコミを入れる]

_ nanasi [おだいじに]

_ shinh [ありがとうございますー]


2008-09-24


2008-09-23

_ まだ

37度普通にあるなぁ。

なんもやる気が起きなくてかなしい

(17:24)

_ わーど

http://twitter.com/alohakun/statuses/931308570

むしろ中二病的には Word だなんて!絶望した!!みたいな

(17:54)

_ flash

備忘録

apt -d libflash0c2
apt -d gnash
apt -d libflash-mozplugin

こやつらを消さないと Adobe のが動かない。

(22:53)

_ 弾幕風 + オーエン

http://www.nicovideo.jp/watch/sm4572867

すごいなーと思いつつも、 手動でもこの程度なんだな…っていう残念さも。

結局高速弾じゃないとなかなかシンクロを感じられないんだよなぁ。 あと光らせるのはずるいけどいいな

(23:12)


2008-09-22

_ びょー

体調悪い上にやるべきことがあって 二日間何も無かった気がする…

やるべきことの方は、 なんかこいうのこんなにできない子だっけ、 って感じで時間がかかった。 なんか丸一日溶けたんじゃないか。 うぐぐ。

(02:16)

_ バファリン

きくなぁ。頭いたくなくなった

(21:17)


2008-09-21

_ 万能トラブルシューティング

http://secretgeek.net/checklist.html

via http://d.hatena.ne.jp/KZR/20080920

これはべんりだ。 なんせ w3m で見たら

A simple checklist for fixing regular problems

1. Enable javascript
[Refresh List]
:: built with wscg :: submit items:: home (secretGeek)

って教えてくれた!

(21:32)


2008-09-20

_ 英語

http://d.hatena.ne.jp/Ozy/20080917#p1

なんちゃら翻訳はさておき、 俺これさっぱり訳せないのがアレですね…

(00:41)

_ イベント待ち

http://twitter.com/hogelog/statuses/928187549

SDL_WaitEvent で待ったら大丈夫そうな

(16:17)

本日のツッコミ(全1件) [ツッコミを入れる]

_ hogelog [御察しの通りpollで取ってまして、waitで取るようにしたら静かになってくれました。ありがとうございます。]


2008-09-19

_ 矛盾したライセンス

http://d.hatena.ne.jp/nazodane/20080918/1221748642

ふと矛盾したライセンスをかかげると全く使えなくなるのかな… とか思ったけど、別にそんなことない気がした。 要は全部守ればたぶんいいんだよな単に。 ライセンス変更可能で特許取得禁止だと、 えーと特許取得禁止なライセンスに変更するなら別にOKみたいなそういう。 ホントかな。

で、

  • 男性のみ使用可能です。
  • 男性は使用してはいけません。

とかだと完璧な矛盾ライセンス。

まぁそういう問題からフリーな GBL で 10 おくえんください

http://shinh.skr.jp/m/?date=20060817#p06

(00:08)


2024年
10月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
1.niha(2014-05-24 05:24) 2.hi_saito(2014-05-24 05:24) 3.ku-ma-me(2014-05-24 05:24)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h