Webエンジニアがこの先生きのこるには

職業というものは要するに、人のためにするものだということに、どうしても根本義を置かなければなりません。

人のためにする結果が己のためになるのだから、元はどうしても他人本位である。

すでに他人本位であるからには種類の選択分量の多少すべて、他を目安にして働かなければならない。

夏目漱石の名言 | 地球の名言


福岡くんだりの末端Webエンジニアまで 最近のいわゆる不景気がじんわり忍び寄ってきました
しかしながらpaperboy&co.などを退職してしまったにも関わらず、なんとか丸1年間(出向や下請けをせずに)フリーランスとして生きてこれたうえで 哲学的ななにかをつかんだ気がします


それは
(技術的なこと以外でも)新しいことに挑戦し続けて、それをビジネスに繋げる
ことじゃないだろうか、たぶん


追記: 会社で「君の力が必要だ!」と言われるための10の方法 - ZDNet Japan つまり、こういう事です

技術者として

技術は磨き続けたほうがいい
(↑個人的にはひとつの強みとその周辺技術を浅くで十分かと)
プログラミングをやめると強みがなくなる

第6回 [最終回]プログラマについて:プログラミングの光景|gihyo.jp … 技術評論社


独立/起業すること や Webサービス が「正解」なわけではない
(↑会社員や受託よりのびしろはありそう 海外とか)
個性 ポジション 向き不向き を理解する (いつかやれるようになる時も来るかも)

ある程度の年齢を迎えたプログラマが抱える悩み - bkブログ

プログラミング+α

技術は手段 活かされてなんぼ
英語力やwebサービス運営,特定業種の知識など 興味あるけどやってないことをはじめて、引き出しを増やす
上記を元にコードを書く (コードを書くために動く)
アウトプットに向けたインプット


新しいことをし続けるには = 人と会うのが一番早い気がする
人からの客観の方が本質は見える
「やりたいこと」も見つかるかも
苦労を共有することよりも思想の共有


【九州の方へ】福岡にはその土壌がある
福岡のIT系イベント2010年10月分のまとめ(転載OK) | 我流天性 がらくた屋
水曜どうしよう

おねがいですから、余裕を持ってください

引き出しの組み合わせでアイデアがうまれる
押し売りではない、自然発生的なビジネス
エンドユーザに価値を与える 過程は関係ない
価値をうむ(運営する)ことで余裕(たとえばお金)が生まれる
好きなことじゃないと続かない
余裕を持つことで外を見たり、若手を育てたりできる
みんなが余裕を持つこと自体がセーフティネットになる

ギークたちの耐えがたい部分最適性 - elm200 の日記

結論

よって、この先 生きのこるには
技術を使い、磨く(生業) + 投資的ななにか(仕事) = ビジネス
を継続しつづけること

仕事、していますか?: 304 Not Modified


みたいなことをぼんやり考えてみて 「自分はぜんぜんできてないな。」と思いました


あと、twitterしかしてないせいで文章が箇条書きになりました 残念です
follow me!!(質問にはだいたい何でも答えます) => @rytich on twitter


あせってはいけません。

ただ、牛のように、図々しく進んで行くのが大事です。

夏目漱石の名言 | 地球の名言


飛行機頭痛を鎮痛剤/耳栓なしで対策してみた

飛行機で(主に高度が下がりはじめるときに)頭や歯がものすごく痛くなります
もうこれからの人生に何かしらの影響がでそうなくらい痛い。
鼻からスイカ出すときくらい痛い。


どうも飛行機頭痛というようで、そこそこネットに記事もありました


結論からいうと鼻の通りをできるだけ良くしておいて、高度が下がり始めたら死ぬ気で耳抜きや鼻呼吸しまくることで全く痛くなりませんでした


以下、詳細

飛行機頭痛とは

1.これまで報告された症例はすべて男性である。

2.痛みの起こる部位は片方に偏っている。

3.痛みの起こる部位は目の周り(眼の奥、眉毛のあたりなど)が大部分である。

4.痛みの持続時間は20分以内であり、突然スーッと良くなる。

5.頭痛以外の症状は伴わないことが多いが、鼻が詰まった感じや同じ側から涙がでるなどの症状が報告されている。

6.発症年齢は平均31歳で、20歳〜40歳である。

7.痛みは大部分が着陸時に起こる。(頻度は少ないですが離陸時にも起きます。)

8.必ずしも頭痛持ちの方に起こるとは限らない。

http://blog.m3.com/atama-chie/20070719/1

当方、34歳男性(無職)なのでぴったりあてはまります
しかも自分は副鼻腔炎(蓄膿症)っぽいので、副鼻腔が原因そうなのもうなずけます


対策

前夜にはそこそこ飲酒してしまいましたが、入浴時に鼻のつまりを極力排除しました
また、飛行機搭乗の1時間前からタバコとコーヒーを摂らないようにしました


離陸時は全く問題なし
通常飛行中は読書していたはずがいつの間にか寝ていて
高度が下がりはじめると目が覚めます

  • 口を大きく開き、アクビするような状態で耳抜き

 ↓↑

  • 口を閉じ、鼻から大きく深呼吸

を繰り返します
(客観的に見ると (*´д`*)ハァハァ ←こんな感じ )

症状

  • 高度 8,000m : 目が覚めた
  • 高度 7,000m : 頭の中に違和感が (ここから耳抜き,鼻深呼吸開始)
  • 高度 6,000m : 左目から涙 (左の鼻がややつまっていました)
  • 高度 4,500m : 歯や頭の芯で「パキッ!」っとかなってる
  • 高度 3,000m : なんだか圧迫感があるが、頭痛まではない (となりの女性から怪しまれる)

このままの調子で無事着陸。(着陸まで耳抜き,鼻呼吸は続けた)
数人から変態認定をいただいたものの飛行機頭痛は全く起こりませんでした



体調に大きく影響されそうなので鎮痛剤とか鼻炎薬、耳栓も持ってたほうがいいかもです


また、飛行機でこういう状態の人をみかけた場合は、「飛行機頭痛持ち(もしくは変態)なんだな」と認識いただけますと幸いです


参考リンク

こちらの記事を参考に上記の対策をやってみました
飛行機頭痛のまとめ: 気がつけば猫背

完璧なATND参加者一覧などといったものは存在しない。完璧な絶望が存在しないようにね。

福岡のシャレオツクラブイベント energy infomatic のサイトで使っていただけるとのことで、ajax(死語)を使ったATND参加者一覧スクリプトを259232秒程度で書き上げました

ATNDの参加メンバー一覧を表示するためのJavaScript(ajax,jQuery)

イベント開催支援ツール アテンド : ATND で特定のイベントに参加申込をした人の一覧をjQueryを使って非同期で API に問い合わせて任意の場所に表示するためのスクリプトです

ATND参加者一覧表示用JavaScript


ニッチな挙句、メンテナンスもしたくないのでGithubにあげたものの誰にも使われないまま終わると思いますので著作権など(あるなら)放棄します

ご利用ください

plaggerでtwitterにOauth認証で投稿するように

追記: 最新版 だと対応されてました><
id:otsune コメントありがとうございました


2010/08/16 で本当にtwitter APIBasic認証が使えなくなるかもしれないので Net::Twitter をアップデートして Oauth認証で投稿するようにしました

plagger使ってる人ってまだいるのかは謎

認証用の設定をtwitterの管理画面でヤリます

http://d.hatena.ne.jp/layerzero/20090930/p1
で非常に詳しく解説いただいてますので、上から順番にやっていって

  • Consumer key
  • Consumer secret
  • Access token
  • Access token secret

を手に入れた

投稿用のスクリプトを修正します

とりあえず

sudo cpan -i Net::Twitter


http://plagger.org/trac/browser/trunk/plagger/lib/Plagger/Plugin/Publish/Twitter.pm を修正
(パッチあてまくってるのでdiffとれませんでした><)

initialize をまるまる書き換えます
Plugin::Publish::Twitter.pm (19-27)

sub initialize {
    my($self, $context) = @_;
    $self->{twitter} = Net::Twitter->new(
        traits          => ['API::REST', 'OAuth'],
        consumer_key    => $self->conf->{consumer_key},
        consumer_secret => $self->conf->{consumer_key_secret},
    );
    $self->{twitter}->access_token($self->conf->{access_token});
    $self->{twitter}->access_token_secret($self->conf->{access_token_secret});
}

なんか Net::OAuth にアレされるみたいなので encode_utf8 を削除
Plugin::Publish::Twitter.pm (43)

$self->{twitter}->update( $body ) or $context->error("Can't update twitter status");


最後にレシピ側に最初に設定したトークンを(username,passwordのかわりに)設定します

  - module: Publish::Twitter
    config:
      consumer_key: *****************
      consumer_key_secret: *****************
      access_token: *****************
      access_token_secret: *****************

これでBasic認証が使えなくなっても吐露し放題!やったね

VirtualDocumentRoot を使った場合の DocumentRoot環境変数 に関するバッドノウハウ

レンタルサーバなどで複数のバーチャルホストを動的に扱う場合に、VirtualHostを毎回指定するのは面倒だし、再起動が必要なので VirtualDocumentRoot (mod_vhost_alias - Apache HTTP Server Version 2.2) を使ってみたところ、超便利ッ!

問題なくサブドメイン独自ドメインの動的割り当て(httpd再起動なし) が可能なのですが、サーバ環境変数の DocumentRoot (PHPだと $_SERVER["DOCUMENT_ROOT"]) が期待した通りの値になっていませんでした


Apacheのバーチャルホスト設定と環境変数について質問いたします… - 人力検索はてな
この質問の(3)の設定 やはりうまく動かないっぽい


アパッチのバグトラッキングシステムにもチケットが
26052 – DOCUMENT_ROOT environment variable set incorrectly with VirtualDocumentRoot
2003年からさんざんせっつかれてます


どうもApache環境変数は上書きできなさそうなので mod_vhost_alias.so を修正しました(修正してません)

PHPのサーバ環境変数を無理やり上書きする

もうとにかく動けばよくなってきたので PHP環境変数を無理やりサーバに上書きさせます

/etc/httpd/conf.d/vhost.conf (CentOS5.4 Apache2.23)

<VirtualHost *:80>
    UseCanonicalName    Off
    VirtualDocumentRoot /var/www/virtual/%0
    VirtualScriptAlias  /var/www/virtual/%0
    php_admin_value auto_prepend_file /var/www/document_root.php
</VirtualHost>

/var/www/document_root.php (↑で読み込ませてるスクリプト)

<?php
$_SERVER['DOCUMENT_ROOT'] = str_replace($_SERVER['SCRIPT_NAME'], "", $_SERVER['SCRIPT_FILENAME']);

これでゴリ押しで $_SERVER["DOCUMENT_ROOT"] が期待通りの値になりました!
他の言語とかオーバーヘッド? あーね。

yum でさくっと PHP5.2, 5.3 をインストールする

rytich2010-03-30


今だと普通にyumすると PHP5.1系が入っちゃうと思うのでメモ

sudo -s 

(これやったらrootと一緒なんでsudo使ってる意味ないような気がする)

などして以下、すべてroot権限で行っております

PHP5.2.*

rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

vim /etc/yum.repos.d/utterramblings.repo
(ファイル新規作成)

[utterramblings]
name=Jason Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
priority=1

enabledじゃないので普通の yum には反映されない
yum-priority を使っている場合は Base や rpmforge よりも priority の値を小さくしないとこちらが反映されない

yum --enablerepo=utterramblings install php-devel 

明示的にレポジトリを指定してます

これで今だと PHP5.2.11 が入りました


RHEL5/CentOS5用yumリポジトリ « ディノオープンディレクトリ だと suhoshin のパッチをあててくれてるっぽい

PHP5.3.*

wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
wget http://rpms.famillecollet.com/el5.i386/remi-release-5-7.el5.remi.noarch.rpm

新しいバージョンのrpmができるとなくなってしまうかもなので ブラウザで
http://download.fedora.redhat.com/pub/epel/5/i386/
Index of /el5.i386
を開いてみて一番最新のヤツを指定しました

rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

vim /etc/yum.repos.d/utterramblings.repo
(ファイルが出来てるので priorityとか追記)

[remi]
name=Les RPM de remi pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com/enterprise/5/remi/$basearch/
        http://iut-info.univ-reims.fr/remirpms/enterprise/5/remi/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
failovermethod=priority
priority=1
yum --enablerepo=remi install php-devel 

これで PHP5.3.2 入りそう



レポジトリがどの程度メンテナンスされてるのかはわかりませんが 非常にたすかります
ありがとうございます


参考URL:
CentOS 5.2上でPHP 5.2.6にアップグレード | Yama's Memorandum
CentOS で PHP5.2.5、MySQL5.0.54 を yum update - 熟年広報

Yet Another『百式』田口元氏 セルフブランディングセミナー

rytich2010-03-29


自分の人生を変えた Web三大神 のひとり gentaguchi にお会いできるということで 『 『百式』田口元氏 セルフブランディングセミナー』 in 福岡ビジネス・クリエイティブ道場勝負パンツを履いて挑みました

資料が公開されると思ってたので 資料に載ってない部分ばかりメモったんですが 資料が公開されてないようです
ただ http://digimaga.net/2010/03/100shiki-seminar-report.html で非常に詳細まで @digimaga がレポートしてくださってるので あわせて読んでいただけると少しは意味がわかるかもです

よかったですね

ストレスフリーの仕事術―仕事と人生をコントロールする52の法則

ストレスフリーの仕事術―仕事と人生をコントロールする52の法則

ソーシャルメディア時代のセルフブランディング」 by 田口元

自己紹介
アクセンチュア出身
ブログ(10年やってる)だけで生計たってる
ドン引きするくらい稼いでるブロガーさんも


顔出しNG
コードもがんがん書ける(かけません)
セミナーなどの話もあるが基本断ってる


オンラインメディアを使って信頼を獲得して行く方法

  • ブログが中心
  • twitterだと伝わりきれない -> ブログに誘導
  • mixiからもブログへ
  • ニュースサイトと提携
  • 信頼がお金に


信頼を獲得する7つの方法

オンラインでの信頼とは?

ブログは大きく分けて2種類、自分のための日記とビジネスブログ
違いは「いかに人に取り上げられるか」
信頼 自分で言う <<< 人に言われる
読者だけだと限定的 他のブロガーさんやtwittertterさんに取り上げてもらう

信頼されるために?

被リンクを集めよ
うけるのは ネタ帳 か 資料集
ホワイトボード使用開始「百式の田口さんは字がヘタ」


ぶっちゃけ被リンク獲得法
影響力のあるブロガーと友達になる!
国内でも2,30人 -> 会いに行くのが一番早い
自分のカテゴリだと2,3人でいい
無理だと思うよりはやった方がいい 明日死ぬかもしんないし

会ってどうする?

日本の場合は会うのが一番「信頼」への近道
ただし2度会う理由がない人が多い


おもしろい人達
KS 自分のキラーストーリーを持っているかどうか (USP)
コンパに行った時とか。(あんまり行かないけど) -> タイ古式マッサージの…


コスト?
ストーリーの為にはコストは度外視していい
デビッド・アレンに会うためだけにシアトルに行った
日本に来たときは必ず連絡してくれる -> 本も翻訳してる


信頼性の法則
ここでも、誰かの紹介で。


(田口さんの)今日のゴール -> おもしろい人を見つける


・もう一回会いたい!
T*2 お礼は二回言え (お礼ができるとわかれば他の人にも紹介できる)
社会人になると誰も注意しない 注意してくれる人重要 -> 年上の人に頼むといい


情報収集の仕方?
情報過多で押しつぶされてる人おおい -> アウトプットのあるインプットがインプット -> アウトプットする場がないとダメ
twitterは140文字だしマネタイズできない やっぱりブログで! -> メディアを持つのが前提

セミナーの参加方法

経営コンサルティングの人いわく 最初に質問すると情報量が2倍になる
情報量の期待値 (持ってない人が多い) -> 期待値に足りなかった場合は質問をする

先人(うまくいってる人,年上の人)から情報を引き出す方法

ネット(メディア)から入る情報は差別化できない
1.(小さな)アドバイスをもらう
2.すぐやる
3.すぐ報告する
= 「キミはすぐやるねー」= 行動力がある -> 「もっと教えて上げよう」


行動力が口コミ要素になって横に広がることも

「運の良い人、悪い人」

宝くじとかが当たる違いはなにか?
Maximize C.O. -> 宝くじをとにかく買ってる!
One week challenge: 1週間、1日1人は知らない人に話しかける(7人以上) -> ナチュラルにできる人はもともと運がいい人
脱マンネリ + 気分がいい (話しかけられた方も気分がいいよね ※ただし)


コラボ?
ここまで(の内容を)やるのは簡単
一歩抜きん出るためには なるべく速い段階で 企業(もしくは有名人)とコラボする


(田口さんの場合)すごい会議

会議シリーズ

集客力 (ブロガーを集客できた)
他の企業がやってるのでうちも

ミーティング手法

オレはミーティングがうまい!
経営者の意思決定をサポートする経営をする
「会議の95%の時間はコメントの交換である」
発言は4つの種類のどれかにする
- 提案 (をまとめる)
- リクエス
- 明確化のための質問
- yes/no

最強の交渉術

「俺がこんなにお前の事を思っているのにNOって言うの?」 -> 品行方正じゃないとダメだけど。
正直であれ 短期的な利益に惑わされるな
後ろめたいことがあるなら 完璧に隠すか 言っちゃうか フォローする

印象の法則

人の悪口をいってる人はイマイチ (建設的な批判はいいけど)


実行力

GTD!!GTD!!

ストレスのほとんどは「やりかけの仕事」から
1. 望むべき結果を定義する
2. ネクストアクションを考える

GTD最大のメリット

トップダウン
無駄なこともやらないとね
目の前の事はコントロール出来ているべき
ボトムアップを先にやってトップダウン -> それから「7つの習慣


ツール
習慣なんか変わらない -> 自分のやり方でやれる


ストレス
管理できていると安請け合いもできる

24 hours sheet (ピーター・ドラッガー)

実績記録シート
ドーピング
手元に白い紙を置いて 0時から24時 まで何をやったか書く (予定じゃなくて実績)
2週間くらいやるといろいろ片付く



他の人のやり方も参考にしつつ できるところからやっていこう

Q&A

質問タイム
一旦質問を全部集めてから回答します
質問のたびに「なるほどなるほど」ってずっと言ってた
ほぼ全ての質問に回答

集客方法

そんなものはない

自分のコンテンツのため方

ブログ

実績の粒度 -> 24 hours sheet

なんでもいい
書くことによって隙間時間をなくす

メンターの見つけ方

紹介の紹介
立場が上の人はやっぱりすごい

本の読み方/選び方

たくさん読んでない
たくさん献本される -> 8割読んでない
全部読まなくていい 覚えてなくていい (microsoft元社長)

尊敬している人が読んでいる本
勧めてもらったものが一番

欠かせないツールやソフト

それぞれのライフスタイルにあわせるべき
check*pad, Dropbox, 秀丸, 紙とペン
ブログは直接更新 オフラインだと死んじゃう
ツールは常に変わる

相手によってストーリーの使い分け

???

声をかける人の見分け方

わからない
30秒ルール 躊躇したら負け -> 顔が不自然になる 勢いで!

イデアを産み出す方法

ソリューション => 質問、問題に対する答え
答えがでない場合は質問を変えるべき
「最速で」をつけるといい

顔を公開しない理由

検索しても出てこない
おじいちゃんは1枚しか写真がないからカッコいい 子孫に検索されたくない
残さない選択をした

ネガコメへの対応

(ネガティブにならない方法)
悩みに悩んだ
避けられない
無視するのが一番
やって欲しいことは褒める 嫌なことは無視する
すごい落ち込んだ時は ポジティブサイド(いい面)を見つける

ジョブボード

すぐ終わると思ったけど思ったより続いてる
効果は0か100
ブランディングとして使われてる (求人に紛れてサービス紹介)

広告を見て買った経験

5年くらいテレビを見ていない
広告 -> 検索 -> 口コミ -> 購入

決断の指針

10年後に笑えるかどうか?

社会的目的

個人がメディアだけでくっていけることを示したい

広告業界

ソーシャルメディアは台頭してくる
日本はアメリカのような感じではない気が
わかんないっす -> 懇親会で

チェックしているサイト

popurls.com

ブログの更新が止まってない?

スミマセン
集中させた

ケータイ市場
電子書籍

スマートフォン キンドル ガラパゴス どうなるかわかんない
コンテンツを作る人にどれだけインセンティブがあるか?

時給

その時によって違う
相手がどのくらいの効果を得られるか (今日は手弁当)
先輩には恩返しできない 後ろに返すしかない

日本のブログについて

???

ブログのマネタイズ

アドセンスとか純広告
普通に食っていけるなー

独自ドメイン?ブログサービス?

???

百式のきっかけ

ドメインをとった -> 「社会人 百の心得」社内向
サイトを作った -> チームメンバーに言われてネタ帳を作った ドットコムが流行ってた

ワクワクしていること
55歳になったときにしていたいこと

コードを書きたい
エンジニアになりたい

注目していること

???

ブログと他のコンテンツを絡めてマネタイズしやすいもの

ブログ + イベント (ただコストもかかる)

英語を使えないとまずい?

アドバンテージにはなる
子どもができたら必ずやらせる
国は関係ないかも ただ日本はヌルい


以上でございます

うれしさのあまり泥酔して二次会などでも暴言を吐きまくってすみません

抱いてくれた田口さんと、この機会を作っていただいた皆様に 非常に感謝しております
ありがとうございました!