「コメントアウト」を含む日記 RSS

はてなキーワード: コメントアウトとは

2011-07-05

各電力会社電気料金照会Webサービス

関西電力だと日毎の使用料や前月差・前年同月差等がわかって便利なんだけど、このご時世なのにあまり話題にならないなぁ他の電力会社には似たようなサービスはないのか?とちょっと気になったので調べてみた。

東京電力北陸電力は見つかりませんでした。

※追記

東京電力にも同様のサービスがありました。

分かりやすいところにはリンクは見当たらなかったので、おかしいなあと思いつつさっきソース見たらコメントアウトしてありました。

震災に伴いコンテンツの掲載を控えている、とのことです

2011-05-16

はてブコメントページをWebApp版へ飛ばすProxomitronフィルタ


公式 Chrome ウェブアプリ はてなブックマーク」でコメントページを表示すると、旧UIのようにコメントだけを一覧表示できていい感じ。
というわけで訓練されたはてブ民の間ではuser.jsなどで飛ばしたりアレするのが流行るものと思われるが、グリモンだかなんだかに馴染みのない私は、今さら誰も触れないであうProxomitronを使った転送方法を記しておく。
適当ながらメタブ対策を盛り込んでみたのがチャームポイント

  1. 公式 Chrome ウェブアプリ はてなブックマーク」を導入する
  2. Proxomitronに「URL: URLControl」フィルタか「URL: Control URLフィルタを導入する
  3. 上記フィルタ対応するリストに以下のmatchを書き込む

#はてブコメントページをChrome Web App版に飛ばす 2011/05/17 14:50
(^$OHDR(Referer:http://b.hatena.ne.jp/viewer\?))$URL(http://b.hatena.ne.jp/entry(/|\?mode=more?url=)(s/$SET(#=https://)|(http(s|)://)\#|(^(^[^/]++.))$SET(#=http://))(\#))$SET(9=$UESC(\@))$JUMP(http://b.hatena.ne.jp/viewer?entry=$ESC(\9))
($OHDR(Referer:http://b.hatena.ne.jp/viewer\?))$URL((http://b.hatena.ne.jp/entry/*)\0)$SET(9=$UESC(\0))$JUMP(http://b.hatena.ne.jp/viewer?entry=$ESC(\9))

下の行はメタブのためのmatch。タイトル下のブクマ数カウンタークリックするとメタブページへ飛ぶようになる。不要ならばコメントアウト

不具合があればどこかでid:Falkyidコールするか@Sizukenにmentionを飛ばすかすると直るかも。


UIの好き嫌いが分かれてる感じですが、好き放題CSSを流し込んで左ペインさんに消えていただいたり、jsいじくってインラインプレビューを無効化したり、ちょこちょこいじってやるとそこそこ快適なブコメビューワになりますよ。新UIよりはずいぶんマシな感じですね。http://img.ly/system/uploads/000/993/748/original_PrtSc_000114.png

おまけ

アップローダがかなりドイヒーなので転載http://www42.tok2.com/home/proxo/4.html

<<< URLControlフィルタ >>>

これはURLを扱うヘッダフィルタを1つにまとめるフィルタですime.nuを飛ばしたり、他のサイトジャンプさせたりと、指定の
仕方次第で様々なことが実現出来ますバージョン4.5以上推奨。
4.4以下で動くかは不明。(バージョンアップ推奨)



(インストール方法)

1、オミトロンフォルダ内のListsフォルダの中に URLControl.txt という
  テキストファイルを作る。

2、このテキストファイルを 設定、BlockFile、追加 から URLControl と
  いう名前オミトロンに登録する。

3、下のヘッダフィルタオミトロンに追加する。
  範囲選択で下のフィルタを選択、コピーファイル、設定フィルタの併合、
  クリップボードからデータを併合、ファイルデフォルトの設定に保存。

-----------------------

[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: URLControl (Out)"
Match = "$LST(URLControl)"

-----------------------

4 URLControl.txt にURLとその処理方法を登録すれば完成。



( URLControl.txt の記述例 )

書き方は

$URL(http://付きのURL)行いたい処理

という感じです。

例、
# ヤフー上のページにアクセスしようとしたgoogleトップページに飛ばす。
$URL(http://www.yahoo.co.jp/)$JUMP(http://www.google.co.jp/)



#------------------------- URLControl.txt -------------------------
# NOADDURL
# 先頭に # がある行は無視されます。

# 2chime広告ページを踏まずに直接リンク先に行く。
$URL(([^:]+:/+)\0(ime.(nu|st)/|pinktower.com/)(\1))$JUMP(\0\1)

# したらばで、広告ページを踏まずに直接リンク先に行く。
$URL(http://jbbs.shitaraba.com/bbs/link.cgi\?url=\0)$JUMP(\0)

# Livedoor ブログ検索
$URL(http://sf.livedoor.com/show\?blog_url=([^&]+)\0)$JUMP(\0)

# 旧tripodアクセスしようとしてたら移転先のinfoseekに飛ばす。(2種類)
$URL(([^:]+:/+)\0(cgi|members).tripod.co.jp/([^/]+)\1\2)$JUMP(\0\1.at.infoseek.co.jp\2)
$URL(([^:]+:/+)\0([^/]++.|)\1tripod.co.jp/)$JUMP(\0\1at.infoseek.co.jp\p\q\a)

# Proxomitron-Jでウェブフィルタを無効にする。
$URL(http://www.pluto.dti.ne.jp/~tengu/proxomitron/)$FILTER(False)

# Proxomitron User's Wikiウェブフィルタを無効にする。
$URL(http://abc.s65.xrea.com/prox/wiki/)$FILTER(False)


### 以下はコメントアウトして無効になっています。
### 有効にした場合コード行の先頭の # を消して下さい。


# local.ptron/以下に接続するときWEBフィルタを無効にする。
# Bypassリストから local.ptron/ を消してこれを使えば
# local.ptron/ にもヘッダフィルタが使えます。
#$URL(http://local.ptron/)$FILTER(False)

# アクセスするときキーボードのSキーを押していたらページのソースを表示する。
#$KEYCHK(S)$URL(([^:]+:/+)\0\1)$RDIR(\0\xsrc..bypass..\1)

# アクセスするときキーボードのDキーを押していたらデバックモードでソースを表示する。
#$KEYCHK(D)$URL(([^:]+:/+)\0\1)$RDIR(\0\xdbug..\1)

# pya! で「18歳以上ですか? はい、いいえ」ページをスキップ。
#$URL(http://pya.cc/pyaimg/han.php\?han=\0)$JUMP(http://pya.cc/pyaimg/spimg.php?imgid=\0)

#------------------------- URLControl.txt -------------------------



※ \k はマッチ欄では動かないのでこのフィルタでは使えません。
  \kを使いたい処理は Kill-a-URL フィルタをご利用下さい。


更新情報2004/4/14 -> 2006/4/18 リスト更新

2011-05-07

モテる情報女子力を磨くための4つの心得 「ATMを使えない女をアピー

こんにちは技術恋愛戦略学を専攻しているユビキタスです。私は学歴スキルもありませんし偽装請負ですが、情報系の恋愛に関してはプロフェッショナル。今回は、モテる情報女子力を磨くための4つの心得を皆さんにお教えしたいと思います。

 

1. あえて2~3世代前の開発言語スキル履歴書に書いて行く

あえて2~3世代前の言語を使うようにしましょう。そして会社マッチング面談で好みの人事がいたら話しかけ、わざとらしくラップトップを出していじってみましょう。そして「あ~ん! このC○B○L本当にマジでチョームカつくんですけどぉぉお~!」と言って、人事に「どうしたの?」と言わせましょう。言わせたらもう大成功。「オブジェクト志向開発とか詳しくなくてぇ~! ずっとコレ使ってるんですけどぉ~! 使いにくいんですぅ~!ぷんぷくり~ん(怒)」と言いましょう。だいたいの人事は新しい開発案件に流したがる習性があるので、古かったとしても1世代前の案件担当しているはずです

そこで男が「新しいスキルがほしくないの?」と言ってくるはず(言ってこない空気が読めない人事はその時点でガン無視OK)。そう言われたらあなたは「なんかなんかぁ~! 最近C# 5.0が人気なんでしょー!? あれってどうなんですかぁ? 新しいスキル学びたいんですけどわかんなぁぁああい!! 私かわいそーなコ★」と返します。すると男は「C# 4.0でしょ? 5.0はま仕様も決まってないよ。本当に良くわからないみたいだね。どんなスキルが欲しいの?」という話になって、次の営業日にふたりで案件選びのデートに行けるというわけですあなた女子力が高ければ、人事が優良案件を紹介してくれるかも!?

 

2. コードhogeを使うとモテる

「var」とか「temp」などを表現する「hoge」をコードに入れると、コードレビュワー男性SEは「なんかこの子カワイイなぁ」や「指導してあげたいかも」と思ってくれますコード管理ツール上では現実世界よりもイメージが増幅されて相手に伝わるので 「hoge」を多用することによって、男性あなた可憐女の子しい勘違いしてくれるのです。そういうキャラクターにするとほぼ絶対に同僚プログラマに嫌われますが気にしないようにしましょう。

 

3. とりあえず営業には「えー! なにそれ!?  知りたい知りたーい♪」と言っておく

ミーティングなどで営業がSEプログラマに話すことといえば予算話や納期の話ばかり。よって、プログラマにとってどうにもならない話ばかりです。でもそこで適当に「へぇ検収間に合うんですかぁ~?」とか「よくわかんないですけど予算超過しそうですねぇ」と返してしまうと、さすがの営業も「このプログラマダメだな」と気がついてしまいます。ダメプログラマだとバレたら終わりです。そこは無意味テンションをあげて、「えー! なにその業務要件!? 知りたい知りたーい♪」と言っておくのが正解。たとえ理解できない仕様でも、テンションと積極性でその場を乗り切りましょう。積極的に話を聞いてくれる女性に営業は弱いのです

いろいろと話を聞いたあと、「〇〇は〇〇扱いで、〇〇が〇〇になるバグは見なかったことにするんですね! 忘れたぞぉ! メモ廃棄!コメント削除!」と該当コードコメントアウトすればパーフェクト。続けて頭に指をさしてくるくる回しつつ「キュンキュンキュン! キュンキュンキュン!」と言って、「どうしたの?」と男に言わせるのもアリ。そこで「私のバグ発生履歴マスタからレコード物理デリートしているのでありますっ☆」と言えば女子力アップ! そこでまたマネージャーは「この子おもしろくて使えるかも!?」と思ってくれます。私は学歴スキルもありません偽装請負ですが、こういうテクニックを使えば知識がない私のようなバカ女のほうがモテたりするのですマネージャー自己保身に走りたいですからね。

 

4. レストランではATMを使えない女をアピールせよ

客先担当者の男とレストランに入ったら、真っ先にATMなどの銀行SIerを使ったシステムを探して「あーん! 私これ使えないんですよねぇ~(悲)」と言いましょう。するとほぼ100パーセント「どうして? キャッシュカード持ってないの?」と聞かれるので、「カード持ってるし使いたいけど使えないんです><」と返答しましょう。ここでまた100パーセントカードがあるのにどうして使えないの?」と聞かれるので、うつむいて3~5秒ほど間をおいてからボソッとこう言います。「……だって、……だってATM使ったらエンジニアが死んじゃうじゃないですかぁっ! 孫請けプログラマかわいそうですぅ! まだ有給とってないのにぃぃ~(悲)。労災すら降りないんですよ……」と身を震わせて言うのです

その瞬間、あなた女子力がアップします。きっと男は「なんて優しい労働基準監督官のようなコなんだろう! 絶対にゲットしてやるぞ! コイツはうちの担当SEだ!」と心のなかで誓い、あなたに惚れ込むはずです。意中の会社担当することになったら、そんなことは忘れて好きなだけATMを使って大丈夫です。「使えないんじゃなかったっけ?」と言われたら「大丈夫になった」とか「もみ消した」、「そんなこと都市伝説です」と言っておけばOKです

2011-03-19

ドラゴンボールで学ぶオブジェクト指向Z

これは http://anond.hatelabo.jp/20110316202255 の続編です

GTをやる前に改を書いてくれている人がいてとてもしっかりした内容なのでちゃんと勉強したい人はそっちを見てね!

d:id:ryoasai:20110317 - ドラゴンボールで学ぶオブジェクト指向 改 | 達人プログラマーを目指して

またオブジェクト指向については

d:id:m-hiyama:20080109 いまさらながらだけど、オブジェクトクラスの関係を究めてみようよ | 檜山正幸のキマイラ飼育

がとても詳しいです。合わせて読むとかなりしっかりと理解出来ると思います。

変な書籍を買うよりこちらがオススメです



はじめに(いいわけ

ホットエントリに行くとは思っておらず、皆様ありがとうございます

ドラゴンボールオブジェクト指向にする」というコンセプトではなく、「オブジェクト指向を(無理矢理)ドラゴンボールで説明する」という遊びだったので

プログラマーの方々にはツッコミを受けてしまいましたがここは遊びだと思って楽しんで下さい…。

ドラゴンボールは小さい頃から大好きでしたが流石にうるおぼえ過ぎました

専門家の方々からも厳しいツッコミを受けました



それはさておき「説明する題材を決める→好きな漫画から無理矢理当てはまりそうな例を考える」という思考実験なので、気が向いた方は色々考えてみると楽しいと思います。僕は楽しかったです

ジョジョの奇妙な冒険で学ぶオブジェクト指向

 スタンドとか波紋法とか色々面白そうです

ジャニーズで学ぶオブジェクト指向

 これは難易度が高そうです

BLで学ぶオブジェクト指向

 継承誘い受け、移譲=ヘタレ攻めだと思います。



結論

やっぱりドラゴンボールで例えると分かりやすいな!

無理がある!




ドラゴンボールで学ぶオブエジェクト思考Z ドラゴンボールで学ぶデザインパターン

デザインパターンとはドクターゲロが考えた「こうやって設計すれば色々捗るぞ」という例のことです。実際はGoFという人たちが考えたもので23個のよくあるパターン名前を付けて整理してくれたわけですね。

23個の中にはブルマさんですらわからいものが多いので(さすがドクターゲロですね)良く使う、代表的な物をいくつか紹介しま



Singletonパターン

Singleton世界に一つだけしか存在出来ないようにする方法です

balls = new DragonBalls(); //これでは誰でもドラゴンボールを作れてしまう!
balls.callShenron();

クラスの中にはいくつかのメソッドがありますが、簡単に言うと外から呼べるもの、外からでは呼べないもの

二種類があります。そうやってメソッド保護することで世界崩壊を防ぐわけですね。

基本的な戦闘力をアップさせるには本人の努力が必要になり、外から簡単に挙げられてしまうとジャンプ三本柱が外れてしまいます。

(某漫画などは努力しなくともあがったりしますが)

ただナメック星の最長老界王神などはかなり偉いので、本人の才能を引き出すことが可能した

現実には思いつきのような仕様を後から言われることが多々あります。困ります


//地球上にひとつだけ存在するドラゴンボールをつくろう
class DragonBalls{
	private DragonBalls(){
	      //ドラゴンボールを作れないように生成メソッド保護します。
	}
	static function sagasouze(){
		static singleton_dragonball;
		//ドラゴンボールを生成。
		//DragonBallsクラスの中なので、保護してある「new DragonBalls()」を呼べます。
		if(!singleton_dragonball)singleton_dragonball = new DragonBalls();
		return singleton_dragonball;
	}
}

これで界王神から怒られることもありませんね。

プログラマーは神なのでドラゴンボールを作れます




Proxyパターン

何かの処理を行うためにProxy、代理人を立てる設計です

地球のみんなは地球しか話せませんが、ナメック星にいるクリリンを通して願いを叶える必要があります

クリリンももちろん地球しか話せませんが、ナメック語を話せるデンデがいるため、地球のみんなは願いを叶えることが出来ます

class Kuririn{
     private dende = new Dende();
     
     function request( wish1, wish2, wisth3){
		this.dende.request(wish1);
		this.dende.request(wish2);
		this.dende.request(wish3);
     }
}

kuririn.request(
	"ピッコロを生き返らせてくれ",
	"ピッコロナメック星へとワープさせてくれ",
	"ナメック星にいる孫悟空フリーザ以外を全員地球へとワープさせる"
);

この場合メリットはデンデが何をやっているかクリリンプログラミングした人が知る必要が無いということです

デンデを通して願いと伝える実装だけ行えば大丈夫です

地球の人はナメック星にいるナメック星人が「デンデ」であることを知る必要もありません。

それでも願いは叶うんです

本来であればデンデやクリリンは願いが叶うのを待つ必要がありましたが、地球の人は一気に伝えることが可能なように設計しました

それでないと不便ですからね。

//デンデクラスナメック星人英語でNamekianらしいですclass Dende extends Namekian{
	function translate(word){
		namekian = *****//ナメック語に翻訳します。
		return namekian;
	}
	function request(wish){
		static polunga;
		if(!polunga){
			polunga = DragonBalls.spell("タッカラプト ポッポルンガ プリピット パロ");
		}
		polunga.ask(this.trasnlate(wish));
	}
}




Template Method

大まかなアルゴリズムだけ決めておいて、実装はサブクラスに任せる設計がTemplate Methodです

ナメック星に行く方法を考えた時いくつかの方法がありました。古い宇宙船を探してきて直して載せて…っていちいち書くより同じメソッドナメック星に行けたほうが便利ですね。

abstract class WayToNamek{
	abstract function prepareSpaceShip();
	abstract function launchSpaceShip( ship ) ; 
	function gotoSU839045YX( people ){
		ship = prepareSpaceShip( );			//船を修理しまship.load(people);					//人を載せます
		this.launchSpaceShip(ship);	//船を出発します。
	}
}

ナメック星に行く方法を定義したので「ブルマクリリン悟飯」組と「悟空」をそれぞれナメック星に連れて行きましょう。

way = new WayWithKamisamaShip();
way.gotoSU839045YX( buruma, kuririn, gohan );

way = new WayWithSaiyajinShip();
way.gotoSU839045YX( goku );

と簡単に方位SU83、距離9045YXまで乗員を連れて行くことが出来ます

つの方法を実装します。神様の船を修理して行く方法と、サイヤ人の船(悟空が乗ってきた船)で行く方法の二つです

//神様の船で行きますclass WayWithKamisamaShip extends WayToNamek{
 	function prepareSpaceShip(){
 		return new KamisamaShip(); //船を準備します。神様の船を使います。
 	}
 	function launchSpaceShip(ship){
 		ship.inputByVoice("ナメック星に出発");	//
 	}
 }
 class WayWithSaiyajinShip extends WayToNamek{
 	function prepareSpaceShip(){
 		return new SaiyajinShip();      //船を準備します。サイヤ人の船(フリーザの船?)を使います。
 	}
 	function launchSpaceShip(ship){
		//audio = new HighSpecAudio();
 		//ship.setAudio(audio);
 		ship.turnOnCenterButton();	//真ん中のボタンを押すだけ
 	}
 }

元になる船も違いますし、発射の仕方も違いますが同じ呼び出し方が出来ます

オーディオの位置が決まりませんでしたが、今回の運用では不要とのクライアントからのご意見したのでだったので

せっかく用意したオーディオ無駄になりましたが、コメントアウトしてあります




他のパターン

他にもまだまだあります。のんびり紹介していこうと思います。

ではでは。

2011-01-29

読んでいて嫌になったプログラム

なんか知らないけど、外注の不具合を直せとか、他人の尻ぬぐいとか、破綻したプロジェクトの火消しとか、ばかりで、0からの開発なんてほとんどやらせてもらえないんだが

今まで手をつけた他人のプログラムで嫌になったランキング

第7位 main関数だけで2000行overだったプログラム(C言語)

    ある意味作った奴は天才だと思う。俺には2000行も覚えていられない

第6位 switch文の1つのcaseブロックが1000行overだったプログラム(C言語)

    最終的にはswitch文が終わったのは1万行を超えていたorz

第5位 コメント文ばっかりと思ったプログラムが、実は日本語関数名だったプログラム(VB)

    騙された(苦笑)

第4位 どんなに読んで修正して実行しても、いっこうに直らないと思ったら、関数突入直後にreturnしていたプログラム(C言語)

    最初のreturn文に気が付かなかった自分が悪いのか

第3位 どんなに読んで修正して実行しても、いっこうに直らないと思ったら、#if 0 ~ #endifでコメントアウトしていたプログラム(C言語)

    やはり気が付かなかった自分が悪いのか。プリコンパイラの出力結果で眺めていれば良かったorz

第2位 全くインデントが無いプログラム(C言語)

第1位 変数名が全部女性名前だったプログラム(C言語)

    全く理解出来んかったわ

2010-09-29

チームのマナーに疑問

共有に上げて周知したものって、簡単にパス変えちゃいけないと思うんですよ。

以前にフォルダ構成変えられた時は本当参りましたよ。

ローカルに作ったショートカットが全滅ですからね。

何があったんだって思いました。



そういやビルド通らないのをコミットしてる人もいましたよね。

コメント部分しか変更してないから問題ないと思って

チェックアウトしてみればこれだもの。

どこか間違って消しちゃったかと思いましたよ。

原因追求してみたらプロジェクトファイルコミットし忘れてるがな。

追加したファイルだけじゃそりゃビルド通りません。

通りでリンカが文句言うわけだ。

こっちの環境じゃ動いた、とか言われても困りますよ。

お前何年目だよ。

「何もやってないんだけど・・・」とか言う初心者かっての。



以前のコードコメントアウトして残しておいて、テストコード追加して

いくつものファイルがそんな状態なものを、とりあえず明日続きやるからってコミットする。

マジ勘弁。

そんでコミットログに何も書かない。

自分担当分だから他の人が見ないと思ってるのかしら。



ドキュメントも無い状態だからって四苦八苦しているのは分かるけど、

こんな状態でうまく進むわけねーだろ。



と言ってやりたいが、

入社して間もない俺はそのようなことは言えないのであった。悔しい。びくんびくん

2010-08-17

http://anond.hatelabo.jp/20100817101928

改善しようとすると、老人がすっ飛んで来て邪魔をする」

改善するよりは他のウンコに移る方が効率がいい」

というのが、ウンコたちの主張。

老人が飛んで来るような事例を本当に実際に経験したのかどうかは、まあほぼ匿名ネットだからどうとでも言えるわなw



ただし、俺はウンコの方の肩も持ちたいんだけど、大企業でも(大企業ほど?)結構「古いコードコメントアウトして残せ」みたいなルール採用してるんよね。そんなプロジェクトに参加してると、そういう根幹に関わるルール改善するのは難しい。改善案を提案してみても「そうだよね、分かってるんだけど・・」とはぐらかされて、そこから上に伝播しない。改善するのは並大抵の労力ではいかん。

2010-08-07

イエッフーイイェッイェッイェッイェッフーハッハー!

親の忠告コメントアウト

俺の夢をコンパイル

エグゼファイルバグだらけ。

でも、それが人間ですから!人間ですから!(´:ω;`)ブワッ

やっぱ、品質テスト通らないかな・・・。

2010-05-17

去年、婚活していた。

なんか結婚についての話を読んでいたら、書きたくなった。

結果から書くと、今は結婚どころか一人暮らしをしてる。こうなったのも止むなし、という気もするけど。

自分について

当時39才。男のオタクでこの年まで恋人がいたことはなし。女性経験も無し。でも二次の妄想で十分事足りてるので、特に問題もなし。

結婚しようと思ったのは、そろそろ親に孫の一つも見せてやろうかなぁ、と思ったから。別に親は嫌いじゃなかったし、結婚しないの? という追求も厳しくなってきたので。

年収は7M円位、貯金・貯蓄は30M円位。普通の事務系のサラリーマン課長とかそんな感じ。

煙草は吸わず、賭け事はやらず、車も持たず。酒はつきあい程度。二ヶ月に一本程度、ゲームアマゾンから買うくらい。

両親と一軒家に同居。色々と事情があって。

まあ、典型的喪男かと。

-見合い相手とか

婚活、というとパーティとかがまず考えられますが、自分は地道に、結婚相談所とかに登録して、見合い相手を見繕って見合いしていきました。

もう自分も結構な年なので、あまり高望みをするつもりはありませんでした。趣味自体を理解して欲しい、というつもりもなく、ただ、考え方というか感性というか、そういう部分が合っている人がいればいいなぁ、などと考えていました。

年齢が近い方がよいかなぁ、と三十後半の人と何人も会ってみてたわけですが……いや、すごかった。なんていうか、「この目の前の男は、自分の自由と交換にこの後の人生を養ってもらうに値するか」って目で、ずーっと見られてるわけです。いや、本当にこんなことを考えていたかは分かりませんが、観察されていたことには違いないですね。

お前も女の方を観察してたんだろう? と言われそうですが、まあ、そうですね。ただ、自分場合「この後の人生を共に過ごすことができる程に、感性が一致しているか」という観点でした。だから色々と質問したり話を振ってみたりするわけですが……反応があるのは、お金とか、資産とか、親の面倒はどうする、とかそういう話ばかり。

中にはその上、「いかにこの男の持っている金を自分の物にするか」って考えてるような人もいましたが。考えてた、っていうか口に出てましたからね。「結婚したら財布は私が管理します」とか言っちゃう人。外見もかなりアレでしたが……ああ、醜女とかそういうんじゃなくて、見合いだというのに髪がボサボサとか。ありえん。

他にも、化粧のしすぎで顔面真っ白になってる人とかもいましたね。その下がどうなってるのか、恐ろしくて想像も出来ません。

あと困ったところとして、「あなたとの見合いは会社会議をしているみたいでおもしろくない」と言われたこともあります。何でも、最初に会合のゴールを決めてそのゴール目指して話し合いをする、ということが会社会議みたいで嫌だ、というのです。見合いをタダで飲食できて男と話が出来る席、とでも考えてるんですかね。今後の人生を決める重要決断につながる場だというのに。

-良さそうな人はいたものの

十人くらいは会いましたかね。一人、まあこの人なら、って感じの人がいました。あんまり金金って感じじゃなかったし、話をしていても受け答えがおもしろい。何度かデートして、互いの意志も確認して、悪くないかな、って感じまでなりました。二次元萌えキャラ属性風に言えば、眼鏡っ娘で、ちびっ子で、貧乳。頭の回転も悪くなく、ツッコミが独特。良い感じです。

でまあ、話を先に進めるか、と、互いの両親に会うことを計画しました。この家族と今後付き合って行けそうか確認しようというわけです。

まずは彼女自分の両親に会わせてみたのですが、なんかそれ以降彼女の反応が悪くなった。ある日メールを送っても返答が無くなってしまったので、結婚相談所経由で問い合わせてもらったら、話を無かったことにして欲しい、と返ってきました。どうも、親が合わなかったらしい。何が合わなかったのか、まではわかりませんが。もしくはそれはただの言い訳で、今まで嫌々付き合っていたのか。(一応顔を合わせてもらった後に直接話を聞いたところでは、特に問題無い、とは言ってたんですが……直接そういうことは言いずらいでしょう)

まあ残念ですがしかたがない。そういうこともあるさ、と自分は思っていました。

-正体見たり

上記の別れから四ヶ月程が経ちましたか。その間に色々あり、実家を離れて一人暮しを始めていました。実家近くの結婚相談所に登録していたのでそこも解約していたんですが、突然その結婚相談所から電話がありました。

この一方的に連絡を切った彼女が、自分とやり直したい、と言ってる、というんです。何でも、自分と別れた後、他の人と見合いをしてみたがどうも良い感じの人がいない。これだったら自分の方がよいので、またやり直せないか、ということらしく。

思わず、「ハァ?」とかリアルで言っちゃいましたよ。相手は結婚相談所の人でしたが。

何か理由があるから別れたというのに、それを忘れたんでしょうか? 自分と付き合うということは、そのことと再度向き合わないといけないというのに。

それとも、とりあえず自分と付き合っておいて、もっと良さそうな人が現れたら、また都合良く別れると言い出すんでしょうか。

一言で言えば、ふざけんな、と。結局この女性も、自分の金が目当てだったのかと、そう思ったわけです。

さらに馬鹿げたことに、結婚相談所がこれを勧めてくるのです。せっかく忘れられない、と言ってくれているのだから、もう一度くらい会ってみたら、とか。あの時(付き合ってた頃は)いい人だって言ってたでしょ? とか。

-結局

これでもう、結婚する気は一切失せました。少なくとも、結婚紹介所を使って積極的に結婚相手を探すつもりは。

ネット上で云々言われている婚活している女性について、実態がよくわかりました。あんなのは特別な一部なんだろう、と思っていましたが、大半があんな感じでした。寄生されるのは毛頭ごめんです。

それに結婚紹介所、口先では色々あなたのためを思って相手を探して云々言ってますが、結局適当な二人をくっつけて成功報酬が欲しいだけなのだ、ということが、上のことでよく分かりました。まあ、商売だから仕方がないのでしょうが、その商売に乗ってやる義理もないわけです。

色々あって、両親に孫の顔を見せてあげよう、という気もすっかりなくなっていますし、まあこれからは結婚もせずに生きていくのでしょう。


-ついでに両親について

とかも書いてみたけど、論点がずれるのでコメントアウト

2010-04-22

Redmine 0.9.3をTomcat 6で実行する方法

結構苦労したので健忘録として。。

環境は以下のとおり

JDK, Tomcat, JRubyインストール済み

MySQLインストール
yum install mysql-server
MySQLの起動
/etc/init.d/mysqld start
MySQLの設定

rootパスワードなどを設定する

mysql_secure_installation
Rubyモジュールインストール

RubyGemsモジュールインストールする

jruby -S gem install rails
jruby -S gem install warbler
jruby -S gem install activerecord-jdbc-adapter
jruby -S gem install activerecord-jdbcmysql-adapter
jruby -S gem install jdbc-mysql
MySQLRedmineデータベースを作成
mysql -u root -p
mysql> create database redmine character set utf8;
mysql> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'redmine';
mysql> exit

(ここでは、パスワードredmineしているが自由に)

RedmineDB設定

(任意の場所にRedmine解凍して、解凍先のディレクトリに移動した後)

cp config/database.yml.example config/database.yml
vi config/database.yml

database.yml

production:
  adapter: jdbcmysql
  database: redmine
  host: localhost
  username: redmine
  password: redmine
  encoding: utf8

#development:
#
#
#test:
#
#

後のwarbleでのエラーを防ぐため、developmentとtestコメントアウト

DBへのデータ投入
jruby -S rake generate_session_store
jruby -S rake db:migrate RAILS_ENV=production
jruby -S rake load_default_data RAILS_ENV=production
起動確認

script/serverで起動し、http://localhost:3000 にアクセスして正常に動作するか確認する

jruby script/server -e production
production.rbの修正

Tomcatで動かしたときにログ出力するための設定をする

vi config/environments/production.rb
config.logger = Logger.new(config.log_path)
config.logger.level = Logger::INFO
warblerの設定

warble.rbを生成

jruby -S warble config

warble.rbを修正

vi config/warble.rb
  config.dirs = %w(app config lib log vendor tmp extra files lang)
  config.gems = ["jdbc-mysql", "activerecord-jdbcmysql-adapter", "activerecord-jdbc-adapter"]
  config.gems["rails"] = "2.3.5"
  config.gems["rack"] = "1.0.1"
  config.webxml.rails.env = "production"

warファイルを作成

jruby -S warble

できたwarファイルTomcatに配置して、Tomcatを起動する

mv redmine-0.9.3.war /usr/local/tomcat/webapps/redmine.war
/usr/local/tomcat/bin/startup.sh

warblerのバグ(?)でwarに入らないファイルコピーして入れる

cp vendor/gems/rubytree-0.5.2/.specification /usr/local/tomcat/webapps/redmine/WEB-INF/vendor/gems/rubytree-0.5.2

http://localhost:8080/redmine/ にアクセスしてインストールできたか確認して完了!

2010-04-20

SIerアウトソーシングに起因する人材問題

人材の流動化か囲い込みか(http://remote.seesaa.net/article/147006872.html)」で示される問題は、SIer案件であれば1つや2つはよく起こっている。ここまで問題が積み重なっててひどいのはあまりない(...と思いたい)以下は実際にみてきた現場の惨状。

2.ドキュメント無茶苦茶

excel方眼紙はよく見かけます。修正にやたらと手間がかかるので苦痛です。継続的にメンテナンスする必要があるドキュメントには向いてません。あと、ソースコード日本語訳したようなひどい設計書が多いです。そんなもんソースコードで十分だろって思います。

3.プロダクトのソース管理無茶苦茶

本番環境コンパイルしたりとか、恐ろしい事をしている現場がありました。それでソースコードレポジトリとの同期が取れてなくてどのファイルが実際に稼働しているコードなのか分からなくなったりもしていました。

4.ユニットテストコードがない

ユニットテストがないのはデフォルトです。テスト仕様書が残っていればまあいい方ですが、テスト項目に「正常に動くこと」としか書かれてない場合もあって信用できません。

5.GUIがひどすぎる

RDBMSをつかったシステムで、会社の休業日を管理するテーブルの編集画面レコード番号が必要かどうかで議論が始まり一時間くらいぐだぐだと会議をしたりします。そんなもん年月日でユニークキーにしておけば十分。いちいちユーザに番号を振らせるという手間をとらせたいんだろうか。

アウトソーシングSIerの開発力は空洞化した

自社で一貫して設計から実装まで担当しているSIerは別として、そうでないSIerには実際にモノを作っている人間は居ない。仕様の検討段階での資料作成から、アーキテクチャ設計設計テスト運用までほとんど外注にたよりきっており、ざっくりなマネジメントをしているだけだったりする。

設計から外注に丸投げしているSIerでは、日本式のやりかたとか言う以前に、そもそもSIerの社内にシステム開発を行ったオリジナルメンバー存在すること自体少ない。

すでにSIerでは内製することすら出来ない状態まで空洞化している。

元記事のコメントより

コストダウンの名の下に人減らしだけは進みましたが、そのことがどれくらい破壊的な影響をもたらしているかを、上の人が全く理解できていません。上の人ほど開発経験に乏しく、細部を理解できていないのです。

『鉄筋減らしてコストダウン』して住めないマンション大量生産したマンション販売会社がありましたが、IT業界は減らすどころか「鉄筋も柱も無くしてコストダウン」を目指してる感さえあります。

IT業界は減らすどころか「鉄筋も柱も無くしてコストダウン」を目指してる感さえあります。

ってのは言い得て妙だ。

技術力がないのでマネジメント不安

SIerはモノを作るのが仕事ではありません、マネジメントするのが仕事です」キリッ!

ってよく言うけど、マネジメントに関しても、技術的な問題が起こっても解決するだけの力がないので、下請けに残業してくれという根性マネジメントしか出来てない。顧客から仕様変更の要求があった場合でも、どういう影響があるかも理解できてないので、全部請けてきて下請けに丸投げとか。

たちが悪いのは見当違いなルールを課して管理したつもりになっている事。

外注に頼り切っているSIerでは、アーキテクチャ設計ドキュメント整備、ソースコード管理テスト自働化GUIデザインは社外の他人まかせになってしまっており、現状の開発方法でどのような問題があるのか気づくことができない。そういった現場から遠い場所にいる連中が現場をうまく回すためのルールを作れるとは思えない。

SIer謹製足枷にしかなっていないルールの例には事欠かない。

2009-11-14

[] とあるウィキペディア項目の半生

復活以前: 2007年10月中旬以前

web archive によれば (*)、少なくとも2007年10月11日からは存在していたらしい。

10月16日に一度削除されているので、これ以前の履歴は今となっては分からない。

当時の記録を見ると、それなりに多くアクセスされる項目だったことが分かる。

復活: 2007年10月19日13時51分 (JST) 第1版 http://ja.wikipedia.org/w/index.php?oldid=15591850

ひとこと定義



少なすぎるようにも見えるが、これは著作権の問題を完全に排除するためにこうなっているのだと思う。

もしも下手に削除前の内容から切り抜きしたりすると、初版に問題を潜伏することになる。

あとで初版になにか問題が見つかったとして、その初版のみの削除をやろうとしても、MediaWiki仕様上、できない。

全版削除をやらざるをえなくて、あとあと残念なことになる。

それを防ぐために最小限しか書いていないのだと思う。



以後、複数の編集者による断続的な編集が続く。

再生: 2007年10月20日3時52分 第94版 http://ja.wikipedia.org/w/index.php?diff=15606665&oldid=15591850

20名以上の編集者によって、半日がかりで、百科事典項目っぽい体裁がととのえられる。

主な内容追加をしているのは数名で、残りは草取り(校正、見栄えの調整)としての編集

削除前の内容のうち無断転載部分以外は問題ない内容だったため、

それを参考にスムーズに内容が構築されていると思われる(少し前まで編集していた人なら、たいていバックアップをとっているので)。

炎上: 2007年10月21日10時48分 第122版 http://ja.wikipedia.org/w/index.php?oldid=15633646

この前後数日、テレビ番組アッコにおまかせ!」での紹介のされ方について、ネット上で炎上があった。

その余波で加筆が多く行われる。

短文の加筆やそれをコメントアウトする編集、さらに再書き込みする編集などが相次ぎ、文章としてのまとまりが悪くなる。

再構成: 2007年10月22日16時35分 第181版 http://ja.wikipedia.org/w/index.php?diff=15661141&oldid=15659033

ここでいったん白紙化されたあと、再構成される。



ちなみにここで再構成をしたのは、16日の削除依頼にもとづいて削除を行った管理者。

白紙化は削除とは違って敷居が低く、その場で反対する人がいなければやってもいい。

あるいは、やってみて誰からも文句がつかなければいい。

いずれにしても履歴はそのままなので、元の状態に戻すのも同様に簡単なのがその理由。

炎上: 2007年10月28日15時41分 第257版 http://ja.wikipedia.org/w/index.php?oldid=15785488

この前後数週間、「検索にヒットしない」騒動に起因する加筆が多く行われる。

細々とした追記に関して、編集合戦に近い状態が続く。

結果としては、ソースがつけられた(メディアで報じられた)部分が生き残った。

この騒動と「アッコにおまかせ」騒動への言及は、現在の最新版でも一つの節として残されている。

膨張: 2007年12月17日8時21分 第306版 http://ja.wikipedia.org/w/index.php?oldid=16774930

11月12月、「非公式設定」「ニコニコ動画で話題を呼ぶ」の2つの節の編集が活発化。

その後、2008年2月頃(たとえばこのあたり)まで、二次設定についての記述を中心に増量がつづく。

その後

このあたりから編集の間隔は数日あくことが多くなり、発展速度はゆるやかになる。

荒らしやそのリバート、短期間の書き込み制限なども、これ以後はほとんどなくなる。



内容的にも、以後1年半ほど基本的な骨組みや文章は変わっていない。

新規情報の追加や細部の修正は少しずつ行われているものの、大規模な増量はない。

派生商品など大きな新情報ができた場合も、簡単に記載して、詳細を別の項目に分けるケースが多い。



すでに一つの項目として量的に十分多くなっているため、

あまり長くなり要点が分からなくなるのを避ける意図が働いているのだと思う。

2009年11月14日15時56分 第636版 http://ja.wikipedia.org/w/index.php?oldid=29000596

2009-05-17

Visual Studioでのsnes9x-1.5.1のビルドのコツ

・snes9x-1.5.1-srcフォルダを入れるまとめフォルダを作る(ここにzliblibpngとfmodとnasmのフォルダを突っ込むため)。


・zlibソースDLして解凍する。できたフォルダをzlibリネームしてまとめフォルダに突っ込む。zlibフォルダ内のcrc32.cをemucrc32.cにリネームする。


libpngはコンパイル済みバイナリDLして解凍する。できたフォルダlibpngにリネームしてまとめフォルダに突っ込む。ソリューションエクスプローラlibPNGフォルダ内の*.cをプロジェクトから除外する。プロジェクトプロパティで追加の依存ファイル一覧にあるlibpngmt.liblibpng.libリネームする。


・fmodはver.3系(ver.4系でのビルドは未確認)のコンパイル済みバイナリDLして解凍する。できたフォルダの中のフォルダをfmodにリネームしてまとめフォルダに突っ込む。


・nasmはコンパイル済みバイナリDLして解凍する。できたフォルダの中のフォルダをnasmにリネームしてまとめフォルダに突っ込む。nasmはプロジェクト中の*.asmのビルドに必要になる。後の*.asmのビルド設定との整合性のためこの通りに配置すること。


プロジェクトプロパティDirectX SDKのIncludeとLibフォルダパスを通す。


プロジェクトプロパティで、「リンク前のイベント」に次のコマンドを追加する。

pushd "$(SolutionDir)..\"

del "i386\*.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\2xsaimmx.asm" "-oi386\2xsaimmx.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\bilinear.asm" "-oi386\bilinear.obj"

rem "$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\c4.asm" "-oi386\c4.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2.asm" "-oi386\fxemu2.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2b.asm" "-oi386\fxemu2b.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxemu2c.asm" "-oi386\fxemu2c.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\fxtable.asm" "-oi386\fxtable.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\sfxproc.asm" "-oi386\sfxproc.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\spc.asm" "-oi386\spc.obj"

"$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\zsnes.asm" "-oi386\zsnes.obj"

rem "$(SolutionDir)..\..\nasm\nasm.exe" -f coff "i386\zsnesc4.asm" "-oi386\zsnesc4.obj"

popd

上記のコマンドに出てくる11個の*.objファイルプロジェクトに追加する。ただしコマンドコメントアウトされている2つ(c4.objとzsnesc4.obj)はビルドから除外しておくこと。


・SARマクロ(sar.h)が原因でコンパイラが死ぬので、このマクロを不使用にするためにport.hの277行のRIGHTSHIFT_IS_SARマクロ定義を未定義にする。


ここまでの手順でビルドが通る。


TODO:

プリプロセッサZSNES_C4を有効にする時の設定

2009-04-24

http://anond.hatelabo.jp/20090423032006

最初のあなた。

foreach 男 in 気になる男
  女.告白(男);
  new 返事待ちスレッド().start();
  join();
  continue if 返事.ごめん();
  二人 = new カップル(女,男);
  while !二人.別れた()
    二人.ごにょごにょ();
  end
  # 二人.dispose(); #コメントアウト
  while !女.気が済んだ()
    女.アプローチ(男)
  end
end

今のあなた。

new 女スレッド().start();
foreach 男 in 気になる男
  女.告白(男);
end

女スレッド extends スレッド
  def run
    while true
      返事 = 返事キュー.get();
      continue if 返事 == null;
      continue if 返事.ごめん();
      二人 = new カップル(女,男);
      while !二人.別れた()
        二人.ごにょごにょ();
      end
      二人.dispose();
    end
  end
end

ふつう

foreach 男 in 気になる男
  女.告白(男);
  返事待ちスレッド.start();
  join();
  continue if 返事.ごめん();
  二人 = new カップル(女,男);
  while !二人.別れた()
    二人.ごにょごにょ();
  end
  二人.dispose();
end

2009-03-10

老害SIerに殺される

ギークの方か、SIerから逃げ切ることに成功した方はイラッシャイマセンカ?

暇がありましたら、お助け下さい。

生まれつき、生活保護が下りない程度のコミュニケーション障害を持っている者です。 (診断書はないですが)

なぜかSIerプロジェクトに投入されてしまいました。ここで変に夢を持ってしまったのが過ちでした。

それからというもの、わけの分からない規約に縛られる度に落ち込み激しい鬱状態になり、

できないことがあるたびに自傷衝動が起きてしまいます。

数百時間残業しましたが、


その他数え切れないほどのローカルルール存在理由が何一つわかりません。

なんであんなものを理解でき、従順に従うことができる人がいるのか不思議でなりません。

そして、それでもプロジェクトがやめられません (決して楽しいという意味ではありません!)

向いていない、鬱になるだけとわかっていて一々指示に従い、ますます死にたくなってしまう始末です。

なぜかSIerではプログラミングの難易度は低く扱われる傾向があります。わかってない老害が多いからでしょうか。

自分が知らないだけで何かデスマーチを簡単に収束させる圧倒的抜け道のような方法でもあるのでしょうか?

そんな甘いものがないとしたら、せめてSIerから逃げだす方法はありませんか?

遺書に似たような事が書いてあった人間が万が一報道されたらTVデビューしてしまいます。

このままでは本当にSIerに殺されます。どうかお助け下さい。

http://anond.hatelabo.jp/20090310095053 の症状にかなり近いです

告発するつもりは一切ないので、労働基準監督所には一切通報しないで下さい

----

プログラミングは人を殺すことはないが、

老害は人を殺すことがあるような気がする。

2008-11-20

ソースコードの修正履歴をコメントアウトで残す方式だった。別れたい

修正履歴をコメントアウトで残す方式だと、新旧のコードを並べて比較した時なんか分かりにくいww

可読性さがっちゃうしww

男にはせめてソースコード管理システムくらい使って欲しい・・・

バグとか出て、ソースコード修正が必要になったら・・・・もう最悪ww

せめて普通VSSCVSぐらいは使って欲しい。

常識的に考えて欲しいだけなんです!

コメントアウト方式のソースコードレビューする時の恥ずかしさとか分かる?

あのね?たとえば商用系で障害が起こって10??20人ぐらいで対策会議とか開くでしょ?

それぞれ腕利きのプログラマとかお客さんとか来るわけじゃない?

みんな普通SubVersionGitMercurialClearCaseとか期待してるわけでしょ?

コメントアウト方式でノコノコ書いてたら大恥かくでしょうがww

2008-10-29

目標コメントアウト

12月9日までに体重を10kg落とす。ゼッタイ。まずそれが最初の条件。

ということは1週間で平均3kgは落としたいな。がんばろー おー!

2008-07-24

http://anond.hatelabo.jp/20080724035950

プログラマーお仕事

あたし・・・実は・・・プログラマーなんだ。

ずっと、黙ってて、ごめん。・・・隠してて、ごめん。

でも、どうしても言えなかったの。

あたしがプログラマーだって知ったら、きっとみんな離れていっちゃうって思って。こわくて。

わかってる。わかってるよ。

プログラマー初級シスアドを通った人だけがなることができる、カスタマープロフィットに関わるシリアスビジネスだって。

でもね・・。

でもね、全然ちがうんだよ。

あたし、みんなが思ってるようなキレイなものじゃないんだよ。

あたしは汚れている。

あたしのキーボードは、汚れているんだよ。

プログラマーになったとき、すごく嬉しかった。知り合いのハッカーになったような気でいたの。

あたし馬鹿だから、お客様ビジネスを作るんだ!なんて、本気で思ってた。

でもね、全然違ったんだよ。

元請から言い渡された Sヨ の詳細設計仕様書は全く別のものだった。

お客様ビジネスを、まるでビル・ゲイツのように平等に助けるようなものじゃなかった。

あたしたちプログラマーに課せられた任務、・・・・それは、デバッグ だった。

生きるべき仕様と、それ以外のバグのふるいわけ。

そして、それを見守ること。

ねぇ知ってた?

この世界には、あるんだよ。こんな日本のど真ん中にね、平然と、あるの。

どうなっても大丈夫バグっていうのが。

プログラマーはね、それを見守るの。

プログラマー六本木ヒルズホリエモンで、勝ち組特権階級の象徴だからね、

そこにあるだけで、まるでビジネスが行われているかのような錯覚を起こさせる。

あたしの仕事は、そうやって、平等にビジネスが行われているかのように見せる暗幕みたいなものだったの。

ソフトウェアなんて、全然、救えなかったよ。

救う義務も権利も、この任務にはなかったの。

例え、その仕様がどうすれば助かるか、明確に解っていたとしても、

あたしたちは元請の命令が無いかぎり、何一つのコーディングもできない。

苦しいとサポート電話をかけ続けるクレーマーがいても、

あたしたちにはパッチ仕様変更も与えることはできないの。

ただ、ただ、走って火消し屋を呼びに行くだけ。そして伝えるだけ。

でもね、この国の「火消し屋」は非常に貴重な存在

火消し屋は稀有な存在

夜なんかになれば、一つのフロアにどこからともなく現われるの。

たくさんのプログラマーたちが、一人の火消し屋に群がっていた。

先生、コアを吐いている人がいます!」

先生、表領域が苦しい人がいます!」

先生サニタイズが弱い人がいます!」

先生デッドロックでもがいてる人がいます!」

懸命にプログラマーたちが叫んでた。

でも火消し屋は一人。

私も声を荒げて「苦しい言い訳をするプログラマーがいます!」って叫んだの。

でも、ここでもふるいわけが始まる。

人員レベル、難度、納期。そんなものが現象と一緒くた になって命令が言い渡される。

「とりあえずスタックトレースを」

と言ったきり、火消し屋は朝までチームのもとに来れなかったの(お客さんのところに言い訳に行った)。

その日、10秒ごとに Mantis の履歴が増えた。

「苦しい、苦しい、まだ苦しい」

「もう少しだけ待ってください、今火消し屋、来ますから・・」

何度も火消し屋のもとに走ったけど・・・。

火消し屋は、今にも心臓の止まりそうなお客さんと仕様と納期の折衝にあたっていた。

あたしは火消し屋に背中側から叫んだ。

「null チェックを入れても、まだぬるぽみたいなんです!」

「ガッ!」

コメントアウトの行数を上げた。でも駄目だった。QA からの質問は止まない。

そのバグだけじゃない。

トイレに連れて行ってください(コンプライアンス的な意味で」

「基板が焼けたから替えてください」

「エスタロンを飲ませてください」

「ブートが走らないんですが」

「眠れません」

デバッガを走らせる。

忙しさにコードが荒くなる。

残業時間が 400 越えたプログラマーエレベーターに乗って外に出て行こうとする。

遠くのフロアで、缶コーヒータバコの売り切れ音が聞こえる。

必死にあたしもふるい分けた。

今、一番検収ハネられる危険があるバグから、一番仕様満たしてないバグから、手を差し伸べなきゃ。

「いつになったら納品されるんだ!」と言われても。

「単価高い」と言われても。

私は頭を下げたり、ちょっと言い争ったりもしながら、

バグが、バグが、バグが」と言う人のとこに走ったよ。

家から家族が消えていた。離婚届をかいていた。

あたしはカーネルだ!と思った。

一刻を争うバグ対。火消し屋に聞いてる時間は無かったの。

あたしは火消し屋の指示を待たずにロジック検査をした。差分プログラミングの extends だった。

急いで火消し屋に連絡した。

「差分プログラミングの extends です。継承元のコードいじっていいですか?!」

「いや、コードを見ないとわからない、ただこっちの処置があるから、10分後に行く」

コードは胸を掻きむしるようスパゲッティしていた。

「待てません!リリースします!」

あたしは火消し屋の指示無くパッチコミットした。バグの症状はスッと納まった。

それは駄目なことだったけど、一人のバグを救ったことに、あたしは浮かれてたの。

貧相な正義感をぶら下げて、意気揚々と自席に戻ってきたの。

自席の・・・・

自席のモニターの一台の波形が、フラットになってた。

あたしは急いでスタックトレースに飛んだよ。

でも、亡くなってた。

ログを吐けないプロセスさんだった。

システムコールも呼べない人だった。

あたしは、その日、目の前の苦しいバグに夢中で、ps なんか見てなかった。

それでもね、・・・あたし、まだ、プログラマーなんだよ・・。

火消し屋は QA に「いつ何があってもおかしくない COBOLer の書かれたコードでしたから・・」と時間稼ぎの工作をしていた。

QA のテスターは「ありがとうございました」と額に青筋を浮かべてバグレポートに「仕様です」と書いて取り下げた。

そして、あたしにも「プログラマーさん、ありがとね」と言ったの。

大好きな、ソフトウェアだった。

このシステムが立ち上がる頃から知っていて、αリリースから知っていて。

「自分は寂しがり屋だから、最期は dankogai に手を握ってもらいながらホッテントリ入りしたい」と言っていた。

あたしが新人の頃から知っていて、viカーソル移動が苦手だったのも知っていて、

Xenix はわしが育てた」が口癖だった。

「まぁ、・・・歳だったし、運用中にも止められないって言ってたからなー」

と火消し屋があたしの背中ごしに言った。

あたしは GC モニターの記録を見てたの。

その記録には、波形が Full GC 後もヒープ使用量が右肩上がりとなりメリリークするさまがしっかりと記録されていた。

高負荷だから死んだんじゃない、そこにはメモリリークで死んでくプロセスがあった。

でも、そんなこと全部まるめこんで、kill んじゃって仕方ないっていうプロセスが、そこにはあったんだ。

似たようなことはざらにあった。

何人ものプログラマーが、自社ビルの屋上の端から零れていったよ。

でも、あたし・・・プログラマーなんだ。

誰も、辞めろって言わないの。

火消し屋は鉄火場にブチ込まれただけだから、言わない。

顧客は実情がわからないから、言わない。

プログラマー同士は実情がわかってるから、言わない。

IPA はきっと、全部知ってて、それ込みで「それが10年は泥のように働けということだ」と言うかもしれないけど。

いや、言わないか。IPA は、何も言わない。きっと。

救えたかもしれないバグを、プログラマーは一番わかってる。見えてしまう。

PM の指示が適してないのも、判断が遅いのも、仕様変更履歴がのってないのも、全部わかってる。

それでも「あの時!」と、自分の行動と判断を何度も振りかえる。

その向こうにはいつも「あのとき、こうしておけば」が、くっきりと見える。

でも、救えなかった責任も、見過ごした責任プログラマーには問われない。

プログラマー仕事は、責任を負うことじゃないから。

プログラマーって・・ほんと、なんなんだろうね・・・。

プログラマーなんて、なんの仕様検討も許されていないのに、

パッチ一粒すら出せないのに、

設計一つ指示できないのに、

テストパターンに関わることなんて、一つも独立してできないのに、

テスト部門が持たされてるのはプログラマーコールだけなんだよ。

どんなに辛くてもプログラマーしか呼べないなんて。

そしてあたしたちは色んなものを抱えて、バグの前に立つ。

火消し屋が来ること、来れないこと、

できるデバッグがあること、ないこと、

SIer未来、残された時間

色んなことを知りながら、本当の意味世界を変えられるコーディング力もないままに、

さも救いのギークが舞い降りたかのような顔で。

IT ギョーカイが崩壊していく。

全然止められない速度で。

その日○製作所の城で、あたしは見てるんだ。

沈んでいく汎用機の命を。

それがね、2008年プログラマーお仕事





----------------

不謹慎かつ日本語崩壊でサーセンwwww

医療な人とコンピュータな人ってネット上見てる限りにおいては親近感抱いてるっぽいよね。

2008-06-11

[][] この記事について書く リンクの追加

増田ソースを眺めてたら、「この記事について書く」って機能のリンクコメントアウトされてたのでproxomitronを使って復活させてみた。

何でコメントアウトしてんだろう、結構便利なのに。

greasemonkeyあたりで書けば需要あるかね?

[Patterns]
Name = "masuda:simple reply"
Active = TRUE
Multi = TRUE
URL = "anond.hatelabo.jp/*"
Limit = 256
Match = "<!--\s($NEST(<a*,href=$AV(*edit\?title*)*,/a>))\1\s-->"
Replace = "\1"

2008-04-11

http://anond.hatelabo.jp/20080411174207

モテない系といっていいかどうかわからないが…

なりたくない、っていうのは、ほんの少しでもそういうものになりたい、あこがれる自分もいるってことだろうか?

(本当に興味ないならわざわざコメントアウトしなかなーと)

であれば、(スイーツ的な)結婚=バカ、っていう考えを一瞬でも捨ててみるといいかもしれない。あと結婚墓場的な悲観とか。

ドレスひらひら、お脳カラッポ、パッパラパーの騒ぎなんかやってあほらしい、私は違うのよ、って思って心のバランス保ちたい

という気持ちもわかるけど。結婚なり出産なり、いったん「あっち側」の世界になった女って、何故か「こっち側」にいた頃の

ことをすっかり忘れてしまうかのようだし。(そうでない人もいっぱいいるけど)

ただ、個人的な考えだけど、すましていれば足元をすくわれる事も少ないぶん面白みというか、いまひとつな人間になってしまうような。

つまり、バカでもいいじゃんってことです。

あとは、「ちょっとなりたい気持ちも捨てきれない、しかしどこかで馬鹿にするのも止められない、そんなプライドも含めて自分が好き」

ってことなら、好きなだけ悩むのもよいかと思われる。

2008-03-12

仕事を辞めたくなった

愚痴です。ただの匿名で書き散らしたかった日記です。スルー推奨。

うん、書いてみたけど、特定されると嫌なのでコメントアウト。我ながらチキンだなぁ。

さてこれからどうしよう。やっぱり転職する方向で考えていくのがいいのかな。

2008-03-02

[][]はてブのhotentryで、2chコピペブログや「ネタ」を削除する

http://anond.hatelabo.jp/20080102122736

汎用性を上げてみた。

はてブのhotentryから削除するgreasemonkey

Sleipnir2のseahorseでも使える。

// ==UserScript==
// @name           hatebufilter
// @namespace      hatebufilter
// @description    Hatena bookmark filter
// @include        http://b.hatena.ne.jp/hotentry*
// @include        http://b.hatena.ne.jp/entrylist*
// ==/UserScript==
/*
問題点
いまのところなし

・問題が起こりそうなURL
http://b.hatena.ne.jp/hotentry?mode=daily&amp;date=20080224
http://b.hatena.ne.jp/hotentry?mode=daily&amp;date=20080218
**/

(function(){
	// Hatebu Tag
	var HatebuTagParentNum = 3;

	var filters = [
		// moconico douga
		{"tag": "div", "name": "entry", "pattern": "nicovideo\.jp"},
/*
		// tag of "2ch"
		{"tag": "a", "name": "tag", "pattern": "2ch", "parentNum": HatebuTagParentNum},
		{"tag": "a", "name": "tag", "pattern": "\\*2ch", "parentNum": HatebuTagParentNum},
**/
		// 2ch blogs  
		//  livedoor
		{"tag": "div", "name": "entry",
			"pattern": /http:\/\/blog\.livedoor\.jp\/(insidears|dqnplus)\//},
		{"tag": "div", "name": "entry",
			"pattern": /http:\/\/(guideline|alfalfa|news4vip)\.livedoor\.biz\//},
		//  fc2
		{"tag": "div", "name": "entry",
			"pattern": /http:\/\/(urasoku|news23vip|waranote|vipvipblogblog|netanabe|res2ch|kanasoku|tenkomo)\.blog\d+\.fc2\.com\//},

		// tag of "neta"
		{"tag": "a", "name": "tag", "pattern": "ネタ", "parentNum": HatebuTagParentNum},
		{"tag": "a", "name": "tag", "pattern": "*ネタ", "parentNum": HatebuTagParentNum},

		// hatena anonymouse diary
		{"tag": "div", "name": "entry", "pattern": /http:\/\/anond\.hatelabo\.jp\//}
	];

	for (var i = 0; i < filters.length; i++) {
		var f = filters[i];
		filtering(f.tag, f.name, f.pattern, f.parentNum== undefined ? 1 : f.parentNum);
	}

	function filtering(tag, name, pattern, parentNodeNum){
		var entrylist = document.getElementsByTagName(tag);
                //print("pattern = " + pattern);
		for(var idx = entrylist.length - 1; 0 <= idx; idx--){
//        for(var idx = 0; idx < entrylist.length - 1; idx++){
			if (entrylist[idx].className == name){
				if (entrylist[idx].innerHTML.match(pattern)) {
					var node = entrylist[idx];
					var oldNode = null;
					for (var j = 0; j < parentNodeNum; j++) {
						oldNode = node;
						node = node.parentNode;
					}
					// print("class = " + oldNode.getAttribute("class"));
					// print("id = " + oldNode.getAttribute("id"));
					node.removeChild(oldNode);
				}
			}
		}
	}
})();

hatebufilter.user.jsなどとUTF-8で保存して使う。

しかし、増田コード記法日本語貼り付けたら化けるんだが・・・どうすればいいんだろ?

コメントアウトを直せば、2chコピペブログ以外の「2chタグ自体での削除も可能です。

いろいろ削除していると、まーオレンジニュースでいいじゃんという。

# スーパー引用記法にしました

2008-02-13

東方良くある二次設定

「良くある間違い」とも言う


以後追加予定

wikipediaの「東方Projectの登場キャラクター#二次設定について」のコメントアウト部分も参照

うどんげが「はいてない」って設定はどっから生まれたんだか……

  • 永琳も蓬莱の薬を飲んでるって設定は、冥界組EDで見れる

2007-11-29

友人が死んだ

訃報」というメールで友人が死んだことを知らされた。

数年のあいだまったく疎遠になっていたから、全然実感がなかった。その後、別の友人から電話で改めて知らされて、mixiでもぼかして触れられているのを見て、やっと本当なのか、と思った。

原因については、事故病気か、まだ知らない。電話してくれた友人は、そういう話が出てないということは、言えないような理由かもしれない、と言っていた。あるかもしれないと僕も思った。

彼と僕は、プログラミングが好きで、他にも本を読んだり、音楽をやるのも好きだった。

情報系の高専で同じクラスだった彼は、地元業界大手に入った。僕は高専を出てから東京にいる。高専の友人は身近には一人もいない。

高専時代、コンピュータサイエンスというほど高尚なことはやっていなかったけれど、それに憧れていた。すごく便利なソフトを作ることよりも、すごく綺麗なプログラムを作ることの方が好きだった。いかに短くまとまった、速く動くプログラムを作るか。

だからパズルを解くようなプログラムを、よく書いていた。同じ問題を解くプログラムを作って、たがいに比べていたりした。

彼自身のことより、一緒に作ったものがずっと鮮明に思い出せる。

古いバックアップ解凍して、彼が書いたプログラムソースコードを見た。そのとき何週間かはかけていたものだけど、いま見るととても短い。変数の名前の付け方、コメントアウトされた初期のコード不思議と、彼が書いた部分はいまでも区別が付く。

そのあと、ふと彼の名前で検索してみたら、意外にたくさんの件数がヒットした。

オープンソースソフトメーリングリストが大半だった。

コミッターになっていたらしい。

何回も彼の名前が更新ログに載っていた。

ソースを読むためにダウンロードした。

彼のパッチ部分を探して見てみたけれど、昔の面影みたいなものは別になかった。

彼の書いたコードは、いつか別の人に上書きされるかもしれないけれど、バージョン管理から消されない限り、レポジトリに残りつづける。

残念ながら、Linuxカーネルのように数十年生き残るソフトではないだろうけれど、少なくとも、いま、彼の作品は生きている。

2007-09-25

[]10日目

いちおう、ごりごりで作った。ごりごりのものができあがった。



おちから言うと、大会コンテスト用のサーバーにあげようとしたらパスワードが違うようで入れなくて、

再発行しても接続できなくてぼくの夏は終わった・・・


一応エントリーだけしておいたけど、何かむなしい。

ハッ、この隙にもっとつくりこめということかな??

正直デザインまでまるで手もつけられていないし、画像のUP/EDITもしようとしたのだけど、

一日じゃ実装までいかなかった・・・。

いまだ、いまのうちに・・・!!!


というか、代理でたてたサーバーにうまくUPすることができない…。

オワタ。完全にオワタ。



has_many :XXX, :through XXXX

:throughの使いどころがいまいちピンとこない。指定しておくと何かいいことがあるのだろうか?


全角スペースの混入を視覚的に判別できないだろうか。

一度でも全角スペースや+をタイプしてしまうと、IDEが内部エラーをおこしてしまう。削除にてこずる。



http://railsblog.drecom.jp/tamu/archive/9

include AuthenticatedSystem

before_filter :login_required, :only => [ :new, :update ] # newとupdateのみログインが必要

before_filter :login_required, :except => [ :index] # indexを除きログインが必要




./script/../config/boot.rb:59:Warning: require_gem is obsolete. Use gem instead.

http://tridentfield.x0.com/blog/?p=34

gem 'rails', version

#require_gem 'rails', version # 一応コメントアウト


[Ruby]9日目

http://anond.hatelabo.jp/20070925065127

- 転職ならen
- 派遣ならen
2ページ中1ページ目を表示(合計:36件)