期限
期限切られたから割と頑張ってなんとか期限内に終わらせたら、相手の都合で結局延期しました、とか最近よくある。
まぁスケジュールなんて流動的なものだから別にいいんだけど、連発するとだんだん萎えてくる。もう次のやつは期限オーバーでいいかって思ってしまう。
期限決めはむずかしいですねぇ。
期限切られたから割と頑張ってなんとか期限内に終わらせたら、相手の都合で結局延期しました、とか最近よくある。
まぁスケジュールなんて流動的なものだから別にいいんだけど、連発するとだんだん萎えてくる。もう次のやつは期限オーバーでいいかって思ってしまう。
期限決めはむずかしいですねぇ。
あらゆるレイヤで割れ窓理論があるなぁ。自分一人頑張ってるのがアホ臭くなる時がある。
割れ窓は、低いレベルに陥るだけじゃなくて、高いレベルを求めないってものあるわけで、「別にそんなに悪くない」レベルでまわりが満足しちゃうと、より高いレベルを求めてる人はなんか一人で苦労しててむなしくなる。
全て理想通りにはいかないし、仕事ってのは多分99.9999999%は妥協の産物なので、どこで折り合いつけるかではある。でも人間怠惰なんで、ちょっとでも気をゆるめると安易な方向には流れるもの。意図的にせよ無意識にせよ。
まぁ現実的なラインとしては、結局今まで通り、自分は常に高く目線を維持しつつ、もう抜いてもいいやと思ったら切り替えて、極めて標準レベルに近いところを最低限のエネルギーでまわしておくってことなんだろう。その分のエネルギーをより自分の投資対効果の高いところに費やすだけ。
研究になったらちょっとこの辺の考え方は違うんだろうなぁ。仕事は本当にシンプルだよ。おかねほしい。
なんかこうシンプルなTODOリスト管理ってないかなぁ。
RTMはインタフェースとしてはまずまずよく出来てると思うんだけど、かなり高機能なので逆にシンプルに使おうとすると富豪的すぎる気がします。
BTS(Redmineとか)のチケットを使って管理するとプログラマっぽい感じがしますが、これも富豪的すぎる気がします。
必要要件を整理しないとなんとも、ですね。
仮想OSだったり、mondrescureだったりがあれば、サーバをファイルシステムごとコピーできるんだから、セットアップスクリプトは不要という意見には賛成しかねます。
新しいサーバを作る時は、たしかに今の最新の状態をコピーして作れるのでいいですが、何かの設定(例えばsysctrl.conf)で変更すべきものが出てきた時には結局既存のサーバも更新するわけで、その時にファイルシステムコピーでつくり直すことはできないですよね。
クラウドとかで「コピーだからセットアップ楽勝」とか言うのは間違ってはいないですが、そのあとの運用も考えると結構大変ですよっと。
Chefとかこの辺まとめてる感じなんですかね。仰々しくて使ったことないですが。
サーバのセットアップスクリプトは、rerun可能にしておくと良いと思うんですよね。
空の状態であれば、各種設定を行い、セットアップ終わった状態で叩くと、所定の設定が正しくされてるかチェックしておかしいものがあればアラートを上げて修正してしまう感じ。
つまり、プログラムでいうテストコード的な役割を兼ねるべきだと思うんです。
そうしておけば、定期的に全サーバでそれを走らせることで変な変更を誰かが行っても気づけるし、セットアップスクリプトの更新があったときにも、既存サーバでも実行してしまえば最新化されるし。
仮想サーバの様に丸コピーできるとしても、基本セットアップの更新はいくらでもありえることなので上記の様な仕組みは多かれ少なかれ必要だと思っている次第です。
そういうフレームワークを作ってしまいたい次第。
自分が手を動かせば全部できるんだけど、ドキュメントとか書いてる暇はなくて、でも僕だけしかできないとまずいよなーと思って、自分が担当になってる部分以外はあんまり手を出さないようにしてるんだけど、やっぱり個々人の努力とかにまかせただけだと、そこまでキャッチアップはしてくれないかなぁ。
やっぱ自分が記憶の中にもってるだけの知識についてドキュメント書くのがいいんだろうか。でも日々アップデートされてたりするからそれをドキュメントに毎度反映する必要があることを考えるとちょっと無理がある。
理想としてはコードを与えれば自分の知識レベルまで勝手にキャッチアップしてくれて、阿吽で話せるのが一番なんだろうけど、難しいかなぁ。自分はそれでキャッチアップしちゃった部分が多いのでやればできると思ってるんだけど。
生まれてはじめてスキー板履いてみた。
iTermで昔マウス認識させようと頑張ったけど結局挫折した。これやってみてうまくいくならTerminal.appにしようかな。キーマップを変えられないと困るけど。
とりあえず今使ってる.screenrc。ctrl+左右でウィンドウ切り替えるのは無いと困る。他は適当なのでこの機に作り直したい。
escape ^z^z
bind ^U encoding utf8 utf8
bind ^E encoding eucjp utf8
bind ^S encoding sjis utf8
#bindkey "^[[5A" stuff "\015exit\012" ##dengerous...
bindkey "^[[5B" screen
bindkey "^[[5C" next
bindkey "^[[5D" prev
termcapinfo xterm "ks=\E[?1l\E:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C:kh=\E[5~:kH=\E[F"
termcapinfo xterm ti@:te@ ##not work...
bind -c REGION 2 split
bind -c REGION 1 only
bind -c REGION 0 remove
bind -c REGION o focus
bind -c REGION ^ resize
bind ^x command -c REGION
bind r eval 'echo "Resize window"' 'command -c resize'
bind -c resize ^] command
bind -c resize j eval 'resize +1' 'command -c resize'
bind -c resize k eval 'resize -1' 'command -c resize'
shelltitle "$ |bash"
hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w"
vbell off
startup_message off
autodetach on
defscrollback 10240
sessionname riywo
やりたいことが増える一方で処理できない。
Wikipediaで各年代のアニメを見ながら、抜き出してみた。疲れた。
クリーンインストールするときの手順.自動化したい.
サブドメインを設定したフォルダに,解凍したものをそのままFTPでアップロード.
プレフィックスを現行のものとかぶらない様に!
最初にadminで入り,別名の管理者ユーザを作成したら,adminは削除.
wp.Vicunaを利用.スキンはstyle.cssで変更できる.
* Display a tag clouds.の直前くらいに以下を追加.
/* Widget対応 */
register_sidebar(array(
'name' => 'navi',
'before_widget' => "\t\t<dt id=\"".'%1$s'."\" class=\"widget ".'%1$s'."\">",
'after_widget' => "\t\t</dd>\n",
'before_title' => "",
'after_title' => "</dt>\n\t\t<dd>\n",
));
register_sidebar(array(
'name' => 'others',
'before_widget' => "\t\t<dt id=\"".'%1$s'."\" class=\"widget ".'%1$s'."\">",
'after_widget' => "\t\t</dd>\n",
'before_title' => "",
'after_title' => "</dt>\n\t\t<dd>\n",
));
<dl class="navi">の直後に
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('navi') ) : ?>
</dl><!--end navi-->の直前に
<?php endif; ?>
<dl class="others">の直後に
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('others') ) : ?>
</dl><!--end others-->の直前に
<?php endif; ?>
Windowsしか無いと思ってたら,Linuxのあるし,MacでもPortを使えば簡単にインストール…,のはずがちょっとつまった.
とりあえずXcodeを最新にしておくこと.ADCのアカウントを取得してそこからDLするけど結構でかいので時間がかかる.あとはターミナルで
$ sudo port install opencv
で行けるかと思いきや,なんかリンクが切れてるので自力で貼り直す必要がある.
$ sudo ln -s /usr/X11/lib/libXrandr.2.dylib /usr/X11/lib/libXrandr.2.0.0.dylib
としてやるとOK.先にやっておくべきかな.
とりあえず早速顔認識をやりたいので,やる.
$ sudo chmod +x /opt/local/share/opencv/sample/c/build_all.sh
$ sudo /opt/local/share/opencv/sample/c/build_all.sh
$ /opt/local/share/opencv/sample/c/facedetect --cascade=/opt/local/share/opencv/haarcascades/haarcascade_frontalface_alt.xml
できた!
いろいろ調べる.
Twitter Trackbacks for 修士論文の代わりに退学願を提出してきた - As a Futurist… [riywo.com] on Topsy.com
703 :就職戦線異状名無しさん:2009/02/27(金) 18:57:53
http://blog.riywo.com/2009/02/27/120733
なんともいえないね
704 :就職戦線異状名無しさん:2009/02/27(金) 19:18:36
>>703
まったく共感できない
この人はこれからも苦労しそうだね
705 :就職戦線異状名無しさん:2009/02/27(金) 19:23:27
>>703
>ということで,さようなら東京大学.
ひぃぃもったいない
706 :就職戦線異状名無しさん:2009/02/27(金) 19:27:04
>>703
人の人生にいちゃもんつけるのは性に合わないが
こいつは馬鹿だろ
707 :就職戦線異状名無しさん:2009/02/27(金) 20:00:18
長くて読む気しないお
708 :就職戦線異状名無しさん:2009/02/27(金) 20:26:21
敢えて共感するとしたら、日本企業の異常な新卒主義に対する反感だろうな
709 :就職戦線異状名無しさん:2009/02/27(金) 22:19:28
何がダメかって、M2なのがダメだな。
こういう考えができるならM1で退学するべきだった。
それなら、ダメ院生で親に寄生している奴らよりよっぽどいいと思うが。
37 : すずめちゃん(関東地方):2009/02/28(土) 20:22:57.99 ID:9Y6HPhvz
東大でさえ就職予備校と化してるしな
この人は日本の大学の現状に失望して東大を先週辞めた
読んでみると良いよ
http://blog.riywo.com/2009/02/27/120733
46 : すずめちゃん(九州):2009/02/28(土) 20:27:45.91 ID:FWq2R8mW
>>37
こいつロクに大学行ってねえじゃねえか死ね
47 : すずめちゃん(大阪府):2009/02/28(土) 20:27:49.14 ID:3+iw698p
>>37
馬鹿だろこいつ
50 : すずめちゃん(dion軍):2009/02/28(土) 20:30:35.14 ID:kzP2HMol
>>37
なにこれ?修士論文書けないから中退したんだろw
まず適当にgitを入れる.
$ sudo apt-get install git-core #Ubuntu
$ sudo port install git-core #MacOS
とりあえず最初にGlobal設定(Git環境全体の設定で,これからやるすべてのGitレポジトリに 適応される).用は,いつもつかう設定書いておけと言うこと.
git config --global user.name riywoみたいに設定してもいいけど,
面倒なので~/.gitconfigを書いておく.コピペでOKのはず.あと,~/.gitignoreもね.
[user]
name = riywo
email = riywo@example.com
[core]
excludesfile = /home/riywo/.gitignore
editor = emacs
[diff]
color = auto
rename = copy
[pager]
color = true
[color]
status = auto
branch = auto
interactive = auto
[github]
user = riywo
token = ***********************
*~
#*#
.#*
.DS_Store
Githubの情報はGithubでアカウント作れば取得できるはず.適当にやる.
既存の自分レポジトリを(例えばGithubから)Cloneするなら
$ git clone git@github.com:riywo/plagger.git
とすれば,カレントディレクトリにplaggerというフォルダができ,その中に ファイルが収納されます.Githubでは「git://」で始まるURLの場合には cloneすることしかできません.Pushしたければ,Adminの人に連絡して Repository Collaboratorsにしてもらうか,Forkして自分のレポジトリで 管理する.
新しく,もしくは存在するフォルダをGitで管理するなら
$ cd mydir
$ git init
$ git add *
$ git commit -a -m 'Initial'
これでmydirの中身がローカルレポジトリに入ったので,あとはリモートを設定して送るだけ.
$ git remote add origin git@github.com:riywo/myapp.git
$ git push origin master
Githubなどだったら,Webインタフェースで適当に作れるはず. その際,SSHの公開鍵認証を使う場合が多いので,公開鍵を送っておき, keychainを使うようにすると便利.
自分でリモートを立てる場合
$ mkdir /var/git/myapp.git
$ cd /var/git/myapp.git
$ git --bare init
こんな感じ.認証はSSH公開鍵を普通に設定しておけば,クライアントから
$ git clone ssh://riywo@example.com/var/git/myapp.git
でさくっとできるはず.
- git rm --cached <filename>
- git revert
- git reset --soft
- git reset --hard
- git pull --rebase
$ git branch experimental
$ git branch
存在する全てのブランチのリストが表示されます:
$ git checkout experimental
(edit file)
$ git commit -a
$ git checkout master
experimental ブランチで変更した後、master ブランチに戻っている為、変更した内容がもはや見えなくなっていることを確認してください。
(edit file)
$ git commit -a
この時点で2つのブランチは分岐しました。それぞれ異なる変更が行なわれています。 experimental の変更を master にマージするには、以下のようにします。
$ git merge experimental
変更がコンフリクト(競合)しない場合は、これでマージ完了です。コンフリクトがある時は、マーカーが問題のあるファイル内に残り、コンフリクトを示すでしょう。
$ git diff
(edit)
$ git commit -a
だめだ,知らんことが多すぎる.勉強が必要だ.