はてなキーワード: レポジトリとは
http://d.hatena.ne.jp/megascus/20180726/1532557216
----
空リプで文句言う人がいて悲しいらしいが、直接リプライで文句言う人はブロックされたみたい(https://twitter.com/neuecc/status/1022474784569876481)(https://twitter.com/megascus/status/1022431727979913217)なんで、増田で書くわ。
@megascusがMSの自動翻訳がおかしい問題をツイッター経由で知って、軽い気持ちでフィードバックしようとしたのが6月。
https://twitter.com/megascus/status/1009298346064822273
(彼はJavaプログラマーなので、.NETのフレームワークデザインガイドラインにはモチベーションがないはずなので、たぶん気まぐれからの善意)
そしたら自動でGitHubのレポジトリにissueが立つという予想しない仕掛けだったので、一週間後に気づいてちょっと驚く。
https://twitter.com/megascus/status/1011826869413470209
どうやら、初めにMicrosoft Docsが始まった2016年の時点では、フィードバックコメントはGitHubと連動なんてしていなかったらしい。
https://docs.microsoft.com/en-us/teamblog/introducing-docs-microsoft-com
それが、2018年2月にシステムが変わってGitHubと連動するようになっている。
https://docs.microsoft.com/en-us/teamblog/a-new-feedback-system-is-coming-to-docs
でもそんなのMS寄りの人しか知らなくて当然だし、日本語ページからのフィードバックの流れの中で全然説明されていないので、@megascusが驚くのも当然だし、UXは改善されるべき。
(彼はフィードバックコメントの一週間前にMicrosoft DocsについてのQiitaの投稿を読んで「こういうのって普通なのでは。」と言ってた https://twitter.com/megascus/status/1006760629494042626 ようだが、Qiitaの記事のフローとは異なるので、GitHub管理されてるとはまったく思わなかったんだろう。)
それよりも、割と前から、MSDNやMicrosoft Docsの日本語文書がクオリティひくい機械翻訳ベースになって、フィードバック(コメントもissueもPRも)対応にも日本語ネイティブの人がほぼ関わってなさそうな残念な感じできてるっぽいのだけど、それもたぶんMS製品に興味ない人には関係ない話だな。
@kiyokuraはそのあたりのことをわかってるMS寄りの人なのか、issueに英語でコメント。@kiyokuraのコメントは元のフィードバックとはちょっと違う話をしているが、それより@megascusはいきなり英語で割り込まれたからまた驚いたかもしれない。
で、7/24に「マイクロソフトのスタイルガイドラインに従わない」というよくわからない不当な理由でクローズ。@megascusにも@kiyokuraにも何の問題もないにもかかわらず。@megascusのコメントをちゃんと読まずに@kiyokuraのコメントだけを読んだのか(日本語がわからないならわかるやつに聞くことをしなかったのか)はわからんが、とにかくMSの対応はひどい。
一番最初にHomebrewを落としてくるときなんだけど、素のOSX LoinのcURLを使ってHomebrew用のcURLを落とす過程で、セキュリティ接続のエラーが起きてるみたいだ。
困らないケースって、その人がHomebrewを導入したタイミングではまだレポジトリが高いセキュリティを要求してなかったとか、
あるいはFinkやMacPortsから移行する場合、新しめのOpenSSLやcURLを入れていたからセキュリティ接続ができたんじゃないか、と思う。
とにかく、素のLionのcURLはHomebrewのcURLを落としてこれない。セキュリティ証明書の問題かもしれないが、そのあたりはよく分からないからなんかもういいってなってる。
http://anond.hatelabo.jp/20161209203205
何か書き出したら長くなったから、ちゃんと書く。
あと、code-checkは最近耳にして、つい一緒にあげてしまった。
企業が登録して使うサービスっぽいからここに上げるものじゃなかった…すまん。
・30代前半
・2回転職したことあって、1回目はエージェントで、2回目はpaizaで転職した。
問題解いたらランクっての取れるけど、企業の要求満たしてないと応募できない。
応募すると企業から、2〜3個分のソース見れるようになるっぽい。
実際に使って転職した。
自分のQiita記事とかGitHubのレポジトリをまとめといて、それを就活に使う。
自分で全部やらないといけないから、それが自分に有利になる人にはすごくいいと思う。
流石に、Webフォームもなしで面接日を決めるのは面倒だったけど、初めから社長やCTOと会えるのは面白かった。
受けたとこの人事の人は、冷やかしで来る人も結構いて困るって言ってたけど。
採用側も全部自力みたいだから、企業によってはレスポンス遅かったりする。
転職終わった頃にメッセージ送ってきたとこもあって、なんだかなーって思うことも。
コード見てくれるとこと比べると、書類選考と人事面接挟むからステップ多いのも面倒だなと思った。
推薦とかしてほしい人にはいいのかも。
リクルートエージェントと同じ。
訳あって、ある法律とその関連法の条文を生まれて初めて隅から隅まで読んだ。
なんだこりゃ。ひたすらスパゲッティのようにクソのような日本語が絡み合っているだけじゃないか。
こんなクソみたいなものを更にクソにするためにパッチを作成したり、
クソの内容を解説することでカネを得る職業に、日本最高峰の頭脳集団が浪費されているのか。
しかも法令データ提供システムとかいう国が提供するレポジトリでは改正履歴が閲覧できないときた。
履歴が見れなきゃ頻繁に改正される法律の意図や目的がわからんではないか。
・ニコニコ動画の視聴にも問題ない(Flashも動く。けど新バージョンのリリースはもうないらしい)
・MinecraftもJavaベースなので問題ない。MODも今のところ全部動いている。(Buildcraft, IC2_experimental, Thermal Expansion, etc.)
・家で文書作るときもとりあえずLbreofficeで下書きして会社で整形する。
・アップデートで勝手に再起動されない(これされるとほんとに殺意が芽生える)
・起動と終了が早い。でもスタンバイモードから復旧したときにたまにマウスの左クリックが効かない。
・USBメモリ、プリンタ、スキャナ、だいたいのデバイスは認識してくれる。
・かゆいところに手が届く系のソフト(自炊した画像をまとめてスマホの画面サイズのPDFにしてくれるやつとか)は少ない。
・JAVA, Chromium, Flash全部がSynaptic(ウィンドウズでいう「プログラムと機能」)でインストールできる。昔apt-getで出来なかったことでもわりとできるようになってる。
・Linux Mintは指定されたレポジトリの追加さえすればIMEと日本語環境の構築が簡単。このやりかたの方がMozc単体でインストールするよりも安定性が高い(気がする)。
・MATEもCinnamonも使いやすい。スタートメニュー的ボタンがあってWindowsからの移行もわりと簡単。
・Cinnamonのほうがウィンドウマネージャーとしての機能は優秀(画面のスナップで四隅にタイリングできたりデスクトップの切り替えが直感的)だけど如何せん重い。動作が一瞬遅れる。ノートや一昔前のスペックならMATEが妥当だし、MATEとCinnamonに大きな操作上の違いはない。
・Linux Mintに限らず、LinuxはGUIが独立しているので、Cinnamon版をインストールして自分に合わなくてもSynapticでMATEをインストールすれば良い。
ギャルゲエロゲとLinuxの相性については、Wineのエミュレータを使う上でいいものと悪いものがあるけども、次に当てはまる奴が動かない可能性高い
・Livemaker製
逆に、2Dベースだったり、ライブラリに依存しないようなタイプだと動く? でもしょっぱな動いてても途中で急に詰むこともあるので、エロゲはおとなしくWin機でしたほうが良い。
条件に該当するサイト、リストアップいただきありがとうございます!
https://jjyap.wordpress.com/2014/05/24/installing-opencv-2-4-9-on-mac-osx-with-python-support/
OpenCVの導入解説として、初めてこの操作をする人に向けて丁寧に説明されているのは素晴らしい。初めて取り組む人に向けては、ここまで噛み砕くと不安感を払拭できてよさそう。ただし、慣れている、またはOpenCVを実際に使って云々と解説する場合は、コマンドの例は飛ばす方がすっきりしそう。
http://kometchtech.blog.fc2.com/blog-entry-1173.html
わからないことはわからないと書くのは、賛成。Qiitaのような知見をさくっとまとめるサイトなら、これくらいがいいかも。
問題が起きたときに、わからないと一旦置かれていた部分を追いかける必要があるフラグも立ちやすい。
苦しんで覚えるC言語
http://9cguide.appspot.com/ にもアップされているものと同じ?もしそうだとしたら、解説→ドリル→解説…と、学習参考書に近いものを求められているのかと理解している。
自分自身が持つ技術水準や、求められる情報(導入, 応用, ケーススタディのサイズ)によって、読んでもらったときに理解してもらいやすいものは違うことを、別の観点から知ることができてGoodでした。
---
さて、自分自身が先に示された6つの条件を満たしていると考えているブログはこんな所。
上記2つはいずれも読者に「ある程度」の知識があることを要求している。その上で、運用している上で遭遇する問題…それもドキュメントにない情報…を、後で同じ問題に遭遇した人が問題解決を再現できる水準で記録されていることに感服する。
ただ最近はまず公式とマニュアルを見に行って、よくわからなければググって傍系のStackOverflow(一番これが多いです)・英語圏のブログ・解説サイトに行く、エラーが出たら--debugしてみてよくわからなかったらエラーをググるなどの使い方をしているので、あまり日本のブログにぶち当たることは無いです。
これは同感。公式マニュアルを見たら解決する問題が多いし、公式マニュアルで嘘をつかれる可能性は比較的低い。
---
技術ブログを書いている人間として、嬉しいなと思うのはこんな順番。
で、何より嬉しいのは、なんてことはない話だが…
である。
俗にいう「使えないシステム」ってやつをつかまされたのかもしれない。
今、オブジェクト指向言語みたいので、業務ツール作っているんだけど設計が見えてきた段階で実は環境がボロボロなことに気が付いてきた。たとえばpushとかpullみたいなレポジトリと挨拶するコマンドが何種類かあるんだけど、なんかhageっていうコマンド打たなきゃいけなくて憎い。TortoiseHgでpushしようとするとhage hair pushみたいなエラーが出て全然pushできないし、そもそもcommitとpullの違いがよくわからない。社内のSEに聞いても、commitは個人レポジトリに反映するだけで、pushしないとマスターレポジトリには反映されない、あとmergeが必要って言っている。TortoiseHgにMergeしてっていったら「それは無理」の一点張り。そうする間に新しい変更が反映されていたりして、もうぐっちゃぐちゃ。CVSだけじゃなくてほかにも必要な自動ビルド環境の画面が執事だったり、そもそもユニットテストのAssertionが欠落しててすべてSuccessになってたりとかしてどうにもならない。
このまま実装がすすんでテストフェーズになったら大変なことになるって言っても「CVSくらい使えるのが当然だし、ブランチとかなにそれ美味しの」とかサラッというし。40代のクソガキが!つうかpush/pullがよくわかんねぇのは俺のせいだけどいくら何でも今の時代CVSはねーよ!っていうかCVNじゃねーかよ!まぎらわしいなって、ベテランに文句言ったところでツールを変えたがるとは思えない。だからといってPerforceのライセンス買う金もない。push and pullしてgitgitする時間も金もない。死にそうです。
つかれた。p4mergeが使いたい。
僕はプログラマーです。
でも僕のMacBookProには何故かAdobeのソフトウェアが入っています。
デザイナーの人がデザインファイルを.psdや.aiや.fw.pngのまま当然の様に投げて来るからです。
僕はAdobeのソフトウェアに精通しているわけではありません。
ですので複雑なレイヤー構造のファイルを切り出すのにはかなり時間を要します。
でもレイヤー構造の説明をしてくれるデザイナーの人は殆ど居ません。
デザイナー同士だとその複雑な構造でもやり取り出来るのかも知れませんが、僕には大抵よく分かりません。
例えば、Photoshopのエフェクトレイヤーが掛かっているボタンはボタンだけ切り出す時に凄く苦労します。
例えば、薄くシャドーが掛かってるデザインは素敵な質感を表現出来るかもしれませんが説明してもらわないとどこまで切り出したら良いか分かりません。
一所懸命頑張って切り出した画像でアプリを作っていたら「この部分が滲んでいる」とか「ここが1pxズレている」とか言われます。
僕はAdobeに精通する為の努力をしなきゃいけないのでしょうか?
そもそもAdobeのソフトウェアは高価です。 今なら毎月3000円払わなきゃいけません。
でも実際使う機会は月に2〜3回あるか無いかです。
一回の起動が1000円です。
じゃあデザイナーの人にも僕がソースコードのまま投げても良いのでしょうか?
Xcodeは無料です。 AppleのiOS Developerライセンスは年8400円です。
ビルドから実機へのインストールくらいならボタン押すだけで出来ます。
じゃあデザイナーの人にもGitでデザインファイルを共有して貰っても良いのでしょうか?
Gitは無料です。 レポジトリは僕が作ります。 GUIクライアントは有料かもしれません。
多少学習コストは掛かりますがcommitとpullとpushくらいならすぐ覚えられます。
デザイナーの人が数分で切り出せるボタンを試行錯誤して30分掛けて切り出す間、僕がコードを書けばデザイナーの人が8時間プログラムを書くよりも随分作業が進む自信はあります。
きっと何かしらのデザインルールでレイアウトされたデザインの座標を一個一個調べながらボタンを配置していく間、僕がコードを書くよりも、最初からこのボタンはここに配置するってレイアウト図を見せてくれればバグを一個や二個くらい潰せる時間が作れます。
デザインファイルを最初からpngで書き出して貰ってレイアウト図と一緒にくださいというのはプログラマーの怠慢でしょうか?
どう書き出すとプログラマーが使い易いか一番良いのか分からない、とよく言われます。
でも、最初に言ってくれればどういう風に切り出して欲しいか説明します。
もしかするとアニメーションを追加する為にレイヤーにしたり、書き出す構造が変化することもあるかもしれません。
それでも僕がどこまで切り出せば良いか分からないシャドーを書き出した方が良いのでしょうか?
AdobeのツールはGUIだから誰でも分かるのかもしれませんが、それはデザイナーの人が
self = [super init]; if(self) { [self setShadowImage:[UIImage imageWithNamed:@"shadow。png"]]; } return self;
別に上の謎の文字列だって適当な文字列じゃないんです。 きちんとした意味があります。 誰だってちゃんと分かるはずです。
ボタンが1px右が正解か2px左が正解かを判別するよりも簡単に間違ってるかどうか分かるシンプルなものです。
確かにAdobeのツールはよく出来ているので僕でも頑張れば使うことが出来ます。
でも、僕はAdobeのツールを使った時の生産性よりも、Stack OverflowやはてなダイアリーやClass Referenceと睨めっこしながらキーボードを叩いて居る方が生産性が高い人種だと思っています。
ただ、デザイナーの人がもう一手間かけて頂けるだけで、僕はもっとコードを書いたりデバッグ出来るし、結果的にプロジェクトとして良い物が出来上がるんじゃないかなというだけなんです。
デザイナーの人がAdobeのツールを習得するためにマウスやペンタブを触っていた時間を僕はプログラムを覚えるためにキーボードを叩き続けていたんです。
もし、デザイナーの人がもう一手間かけて頂けたら...
http://blogos.com/article/53423/
だいたいこんなかんじのEULA
1. これはGoogleNexusです。サムスンが作ってGoogleが売っています。いいビジネスモデルでしょ?
2.rootを取るということは,誰かにrootを取られる可能性があることを常に忘れないでください。
4.ソースをフォークするときは,マージの計画を立てること。あなたがフォークしたソースを持て余している間にも元のツリーは進みます。
5.ガジェットはあなたを助けてはくれません。あなたがしてほしいことを指示しなければいけません。注:メーカーの宣伝メールなどは別途考慮します。
6.万が一文鎮にしたり文鎮にしたり文鎮にしたりしたら,まず冷静にどこまで動くのか考えてください。ブートローダーが動けばなんとかなります。こういうことは怒ります。
7.このテクノロジーを使って自分を幸せにすること。もし面白いROMができたら,リソースをみなと共有すること。
8.面と向かって言えないようなFUCKな言葉で誰かがあなたのROMをFUCKだと言っても,それはその人の自由です。無視するのも良いですが,でも自分でも見返してみましょう。100のFUCKのうち1つは良い指摘も含まれています。
9.友達にすら使わせられないようなアルファ段階のROMは公開しないでください。それは内内で行うこと。
10.チート禁止。私の古いNexsus SにシェアできるようなROMをお願いします。パフォーマンス優先はときにバッテリーを損ないます。バランスは,最初は私に聞きなさい。あとで自分で考えなさい。
11.公共の場では,「それiPhone?」と言われても,くどくど説明しないこと。だいたい通じていれば,ひとさまの発言を汲んであげてください。
12.他の人にあなたのレポジトリの管理パスワードを教えてはいけません。笑わないで。参加ユーザーを作るのが面倒くさくて ついやってしまうときもあるのです。インターネットはあなたが思うよりも悪意に満ちています。
13.初期バンドルアプリを膨大に作らないこと。すべてを収録する必要はありません。/systemよりも/dataのほうが広いのです。
14.ときどき家にスマフォを置いて出かけてください。自分にとってスマフォが重要じゃないと思えたら,大人の階段を1つ登っています。また,逆にこの場合は必要だと思ったら,今度はそこを突き詰めたROMを作りましょう。
15.古いアニメ,古い音楽,古いゲームも楽しんでください。あなたの世代は史上もっとも幅広い娯楽にアクセスできる時代なのよ。プログレについてキングクリムゾンとアメリンカンプログレッシブとジャーマンプログレッシブで言っていることが違うことを確認してください。
17.前を向いて歩いてください。自分がものにぶつかって怪我をするのは勝手ですが,人様に怪我をさせると,いろんな意味で面倒です。
アニメやゲームのキャラクター情報をまとめてるサイトがないから作りたいなぁって
思ってたんだけどhtmlは初歩しか分からないしプログラミングもできないので構想するだけで作れなかった。
ゼロから4ヶ月でWEBサービスをリリースした人の記事を見つけて「自分にもできるかな!」なんて思い挑戦してみたけど理解できず挫折・・・orz
それでもWEBサイトを作りたかったので制作会社に発注してみようと思い立った。
ただのキャラクターのデータベースだけではつまらないのでコミュニティ要素なども付けて
ネットで見つけた制作会社に見積もってもらうと下記のようになった。
合計1,483,125円
以前、SNS「ウェブカレ」のサイト制作費が1千万円で安く仕上がった(潰れたけど・・・)という話があったから
なんとなく3~400万くらいかかるんじゃないかなと不安だったんだけど予想より安い見積もりだったので、
このくらいの金額ならなんとか出せる!ということで制作してもらうことにしました。
本当は何社かに見積もってもらって比較しようと思ったんだけど面倒だったのでそのまま制作をお願いすることにした。
(最初はもう少し高かったけど機能の簡略化とオープンソースのライブラリを使用してもらう事で費用を抑えてもらった。)
去年の10月の頭くらいから打ち合わせを始めて第1フェーズでワイヤーフレーム作成と仕様策定をして第2フェーズのhtml、システム開発に
移ったのは中旬だったかな?その段階で前金で4割の580,650円を支払いました。
制作会社には3回くらい打ち合せに行って、あとはメールでやり取りしていました。
当初は12月中にリリースを予定してたんだけど、なんだかんだで伸びてあらかた出来上がったのが2月の中旬くらい。
ちなみに僕はヒッキー(どれくらいヒッキーかというと外出は3日に1回くらい)なので制作してもらっている間は
↓作ったサイト
サーバはさくらのVPS 8Gを使用。CentOS5の64bit
設定した項目は以下のとおり
HDDが3つあって、普通に/var/wwwにコンテンツを入れていくとHDDが溢れそうだったので、容量の大きいものを使うように工夫したりなど。
メモリもそこそこ積んであるサーバなので、mysql、php、apcに多めにメモリを割り当てる設定をした。
本当はmyISMやInnoDBエンジンでLIKE "%word%"のようなクエリーを投げて十分なパフォーマンスが出ればいいんですけどね。
それはムリなので、全文検索エンジンとしてgroongaを使用。
groongaを使用するために先にインストールしたのはこんな感じ
この時点でいざ、groonga!と思ってgroongaをインストールしようとすると競合を起こして入らない。
epel、remiレポジトリからインストールしてあったmysqlと衝突してたのでyum remove "mysql*"で
一旦mysqlを消して、groongaレポジトリからmysqlとgroongaをインストール。
するとgroongaは入ったものの、今度はphpから使おうとしてもphp-mysqlパッケージが入らない。
あちらを立てればこちらが立たぬ状態で本当にこまった。
どうしようもないので、やりたくないけどyum-downloadonlyを使ってパッケージに含まれる設定やら、soファイルなどを直接とってきて入れた。
mysql.so、mysqli.so、pdo_mysql.soを/usr/lib64/php/modules/にコピーしたり、設定をコピーしたり、少しずついじりながら、なんとか動いてくれた。
状態としてはmysqlとgroongaはgroongaレポジトリから、phpと本来php-mysqlパッケージでインストールされるmysql.soは手動で置いたことになる。
シェルから直接mysqlにログインするときはgroongaレポジトリのやつを、phpからmysqlを呼ぶときは手動で置いたmysql.soを使うことになっている。
ちょっと心境的にしんどい。別の方法があったかもしれないけど、調べても分からず結局1日くらいかかった。
アクセスは、サイト全体(トータル)、サイト全体(当日分)、各コンテンツ日別、各コンテンツ週間、各コンテンツトータルのアクセスをとるようにしています。
検討した候補はmemcaced、apc、mysql、redis、fileあたりなんですが、
fileは候補にあがったものの、メンドウ、、どうせなら楽な既製品がいい。と思って候補から外しました。
残るはmysqlかredisだけど、redisが高速って聞いていたのでredisにしてみました。
最初全部redisに入れて、集計した結果をmysqlに入れるつもりでしたが、週間ランキングなどはINSERT INTO .. DUPLICATE ONを使って、
アクセスした週の月曜日00:00:00のタイムスタンプとコンテンツIDをキーにしたレコードを作ればそのまま週間ランキングになるなー。と思ってmysqlを使っています。
コンテンツのトータルアクセス数もコンテンツのレコードにpvという項目をつくってUPDATE table SET pv=pv+1 WHERE id = ? のようにしました。
最初難しく考えていたけど、こうすることによって大分楽になったなーといった感じ。
全文検索エンジンや対話検索、ここにこのリンクがあればなぁ。。という所に何とかしてリンクを作るのが本当に大変だった。
使い勝手を良くするために、ここにこの機能をなど、さくっと思いつくのは簡単でもそれを実現するために、あーでもない、こーでもないと
DB・プログラムとにらめっこしながら「あ!こうすればできる!でもそうすると今度はこっちが・・・」みたいなのがあったりでとても大変だった。
http://www.yamdas.org/column/technique/hatenablog.html
なお、タイトルに PART I とあるが、このネーミングはメル・ブルックスの『珍説世界史 PART I』にちなんだもので、PART II 以降は存在しない。つまり、あなた(ソフトウェア企業)が絶対すべきでないことは、Joel Spolsky にとってこの文章に書かれることだけなのだ。それは何か?
まぁ、そんなわけないんだけどね。
「最近のはてなの体たらくへの失望感に名前を付けたい」というだけの文章にマジレスするのも我ながらどうかと思うし、気持ちは分からなくもないんだが、最近は「はてブ」以外全く使ってない俺でも、長年お世話になってきたはてなに対してそれなりに愛着というものがあるわけで、ディスられるばかりの流れに少しばかり反抗を試みたい。これは、それだけのエントリだ。
というわけで、以下に書くのは、技術の話でも倫理の話でもない。どうか気軽に読んでほしい。
実例を挙げる。
今やワールドワイドな影響力を持つ勝ち組ソーシャルサービスのTwitterだが、彼らは、ここ数年でバックエンドの大半をスクラッチから完全に書き換えた。しかも、RubyからJavaへと、使用言語すら変更してしまった。
http://d.hatena.ne.jp/teppei-studio/20110709/1310168002
もう一つ。Tumblrも、LAMPアーキテクチャからJVMベースへ切り替えた。その過程で、Twitterがオープンソース化した技術を取り入れたりもしている。
http://blog.kyanny.me/entry/2012/02/19/002256
『「古いコードはクズだ」というのは錯覚だ』というJoelの意見は、一面では正しいが、他の面では間違っている。なぜなら、あるソフトウェアに求められていること(要件)は、時間と共にどんどん変化するからだ。
書き直そうが、書き直すまいが、一番ダメなソフトウェアとは「ユーザの要求に応えられないソフトウェア」だ。規模や環境の変化によって古い技術の技術的限界に直面したり、ビジネス環境の変化に追随する必要が出てきたのなら、「スクラッチから書き直す」のは立派に一つの選択肢だ。
はてなダイアリーの最初のバージョンがどういうものかは俺もよく知らないが、おそらく「LAMP」がエッジなキーワードとして持て囃されていた頃に書かれたプロダクトなんじゃないかな(間違ってたら突っ込みを)。それから時代は下り、Ruby on Railsに代表されるCoCなフレームワークの登場を経て、今や大規模分散や非同期を前提としたアーキテクチャが当たり前の時代。当然改修はしているだろうけど、MySQLを職人芸で負荷分散していた時代からは大分遠いところに来たのは間違いない。
何より、はてなダイアリーといえば「はてな記法」とカスタマイズの自由度の高さがウリだったわけだが、これらの存在が、今や機能追加や改良の妨げになっているとしても不思議じゃない。
はてなブログ開発の動機として「今どきの技術で、最初からやり直す」というのがあるのは間違いないが、それは「スクラッチからの書き直し」だから悪手なのだろうか。結局のところ、レガシーコードのメンテナンスを続ける場合と比べてどちらがより低コストか、という話の結論によるとしか言えない。
はてダのソーシャル要素といえば「トラックバック」と「idコール」と「キーワードリンク」だったわけだが、全部Twitter(とTogetter)に持っていかれたよね、という話。
だから、「はてダver.2」や「ブログ2.0」を望む声が大きいのは理解できるけど、ぶっちゃけ、そんなもんに開発リソースを突っ込んでも勝ち目なんか無い。んで、それに代わるアイディアを持ってる奴はどこにもいないと。だから、既存コードの改良ではなくスクラッチから書き直し、スモールスタートでフィードバックを受けながら方向性を考えていく、という方向性はそんなに間違っていないと思う。
ただ、現状を放置すると「それTumblrでできるよ」という話にしかならん、というのはその通りで。それ以外だと、もしgithubがblogサービスを始めたりすると、かなり客を持っていかれるのではないかという予感はする。いっそのこと、Tumblrのデッドコピーから始めるのが一番早いのかもしらんね。
少し別の話を。
これは、Twitterのgithubレポジトリだ。上でも書いた通り、Twitterはサービスをスクラッチから書き換えた。で、その過程で開発した内部向けのフレームワークを、どんどんオープンソース化している。彼らが、内部の技術をきちんと体系化して再利用可能にしていることの証左と言える。
一方、はてなのgithubレポジトリ。正直、サンプルとかプラグインばかりですね、と。
色々と理由はあるんだと思うが、一つ思うのは職人芸頼りで自分たちの技術を体系化するという部分が弱いんじゃないか、ということ(はてな発のオープンソースで広く使われてるのって何かあったっけ?)。
先ほどから散々「書き直していい」と主張しているが、誰かが言っていた通り、技術の本質を捕まえきっていない状態でフルスクラッチをやっても、失敗する可能性は高い。はてなブログがどちらなのかは、中の人にしか分からないことだけど。
はてなが経営的にあまり状況がよろしくない、という推測はおそらく当たっているのではないかと思う。
タイムラインで、誰かが「まっとうな方法で収益化する方法を真面目に考えるべきだった」と言っていたのを見た。それをしていれば、今回のような事態を招くことは無かったのだろうか。
だが、「まっとうなビジネスモデル」とは何だろう。実際問題として、ここ最近成功しているネットサービスのビジネスモデルで「ターゲティング広告」と「マスなユーザベースから抽出したビッグデータを解析して売る」以外で何か有力なものはあっただろうか。FacebookにせよTwitterにせよ、収益化の原動力はユーザ行動解析だったりするわけだ(彼らがオープンソース化に積極的なのは、インフラ技術が差別化の源ではない、という面もある)。
まぁ、あとはガチャだが、どちらにせよ現状では高木先生の逆鱗に触れるようなものしかないよね。
そんなわけで、それらに代わる第四のマネタイズモデルを思いついた人は、ぜひ近藤さんに教えてあげると良いんじゃないかな。あればだけど。
今後はてながどうなるかは分からないけど、一つ希望したいことがあるとすれば、故伊藤計劃氏のダイアリーがこの先も保全されることを望みたい。
それは、エントリを全て魚拓しろ、という話ではもちろんない。彼の生前に書かれたエントリは、当時の「はてな」という生態系を構成する一部でもあるわけで、そこから切り離して文章だけをアーカイブしてもあまり意味がない。
彼らの独占の仕方の前では、ウォルマートさえ街角の個人商店にすぎず、
そのような候補者は限りなくあるだろうが、
科学や最先端研究を理解することが望ましいということには、誰もが賛意を惜しまない。
最新の知識を欠いては安定した民主的決定は不可能だ。
タイムズ紙やサンデー・タイムズ紙をアクセスするのに24時間あたり1ドルという、
マードック流の購読システムには飽き飽きしている人も多いだろう。
しかし、少なくともその期間内はいくつでも記事を読めるし、ダウンロードしておくこともできる。
エルゼビアの出版する学術雑誌では、1つの論文を読むのに31.50ドルかかる(原注1)。
シュプリンガーは34.95ユーロ(原注2)。ワイリー・ブラックウェルは42ドルだ(原注3)。
1981年に出版されたレターを読みたければ、やはり31.50ドルだ(原注4)。
もちろん、(まだそれがあるとして)図書館で読むという選択肢もあるが、
図書館も多額の購読料に苦しめられている。
化学分野の学術雑誌の場合、年間購読料は平均して3792ドルだ(原注5)。
私が見た範囲ではエルゼビアの Biochimica et Biophysica Acta の2万930ドル(原注6)が最高額だ。
大学図書館は購読を打ちきることで帳尻を合わせようとしているが、雑誌購読費は予算の65%を占めている(原注7)。
そのつけは学生に跳ね返ってくる。
一方、学術出版社は論文と論文の査読と編集作業の大半とをタダで手に入れている。
コンテンツの製作に当たって支払いをするのは出版社自身ではなく、
そしてそれを読むために、私たちはもう一度支払うのである。
上がりは天文学的だ。
前会計年度のエルゼビアの経常利益率営業利益率は 36% (20億ポンドの収入中7億2400万ポンド)(原注
8)。
エルゼビア、シュプリンガー、ワイリーはそれぞれ競合企業を買収した結果、
研究者は最新の情報に追いつくためそれを読まなければならない。
多くの場合、出版者はたくさんの学術雑誌をパッケージとしてまとめて購読するよう、図書館に強制している。
この国の人々を食い物にした極悪人の一人、
ロバート・マクスウェルが学術出版でその財の大半をなしたことは驚くに当たらない。
製作と配布の費用をまかなうためにこれらの購読料を課さざるをえない、と出版社は主張する。
また(シュプリンガーの言葉では)「雑誌のブランドを築き、学術情報流通を電子的基盤で支援する」という付加価値を提供もしているという(原注10)。
「出版社が出版プロセスに与える付加価値は相対的にはほとんどないと考えられる。
もし出版社の反論するように出版プロセスがそれほど複雑で高コストだとすれば、40%の利益率は不可能だ」(原注11)。
大出版社は、投稿から出版までに1年以上の長いプロセスをかけることによって、
研究を伝播させるどころか研究を隠してしまっている(原注12)。
ここに見られるのは、公共の資源を独占し不当な価格を課す、純粋なレンティエ資本主義である。
その製作に当たって自分たちがすでに支払っている知識を得たければ、
これが学術界に対して害をなすのはもちろんだが、
世俗に対してはさらにひどいことになっている。
私は主張をするときは根拠となる原典をたどれるようにしておくべき、
だがその主張を私が公正に要約しているかどうか、読者が検証しようと思っても、
その費用を支払えるとは限らない。
数千ポンドを支払わなければならない(原注12)。
「全ての人は自由に……科学の進展とその恩恵を享受する権利を有する」とする世界人権宣言に抵触する恐れすらある(原注13)。
Public Library of Science (PLoS) や物理の arxiv.org などの優れた事例もあるとはいえ、
オープンアクセス出版は独占資本家を駆逐するには至らなかった。
「利益率40%の時代はまもなくロバート・マクスウェルと同様に終わりを迎えるかもしれない」と予言した(原注14)。
しかし2010年のエルゼビアの利益率は1998年と変わらず36%のままだった(原注15)。
その理由は、大出版社がインパクトファクター上位に来る学術雑誌を手中にしているからだ。
こうした雑誌で出版することは、研究者にとって、研究費を獲得しキャリアを積むためにかかせない(原注16)。
とっかかりとしてオープンアクセスジャーナルを読むことはできるが、
クローズドな方もけっきょくは読まなければならない。
少数の例外を除いて、各国政府は彼らと対決することができていない。
米国 National Institutes of Health は、自らの研究費を獲得した研究者がオープンアクセスのアーカイブに論文を置くように求めている(原注17)が、
英国の Research Council の公共アクセスについての宣言は無意味の極致である。
それは「出版社が現在のポリシーの精神を維持しつづけるという仮定」に基づいている(原注18)。
政府の研究費に基づいて製作される論文がすべて無料の公共データベースにおかれるよう強制すべきだ(原注19)。
また長期的には、政府は研究者と協調して中間搾取者を追い出し、
ビョルン・ブレンブスの提案に沿い、学術論文とデータの世界単一アーカイブを作る取り組みを進めるべきだ(原注20)。
いまは略奪を受けている図書館の支出でそれを運営することもできるだろう。
George Monbiot
http://www.monbiot.com/2011/08/29/the-lairds-of-learning/
「人材の流動化か囲い込みか(http://remote.seesaa.net/article/147006872.html)」で示される問題は、SIerの案件であれば1つや2つはよく起こっている。ここまで問題が積み重なっててひどいのはあまりない(...と思いたい)以下は実際にみてきた現場の惨状。
excel方眼紙はよく見かけます。修正にやたらと手間がかかるので苦痛です。継続的にメンテナンスする必要があるドキュメントには向いてません。あと、ソースコードを日本語訳したようなひどい設計書が多いです。そんなもんソースコードで十分だろって思います。
本番環境でコンパイルしたりとか、恐ろしい事をしている現場がありました。それでソースコードレポジトリとの同期が取れてなくてどのファイルが実際に稼働しているコードなのか分からなくなったりもしていました。
ユニットテストがないのはデフォルトです。テスト仕様書が残っていればまあいい方ですが、テスト項目に「正常に動くこと」としか書かれてない場合もあって信用できません。
5.GUIがひどすぎる
RDBMSをつかったシステムで、会社の休業日を管理するテーブルの編集画面にレコード番号が必要かどうかで議論が始まり一時間くらいぐだぐだと会議をしたりします。そんなもん年月日でユニークキーにしておけば十分。いちいちユーザに番号を振らせるという手間をとらせたいんだろうか。
自社で一貫して設計から実装まで担当しているSIerは別として、そうでないSIerには実際にモノを作っている人間は居ない。仕様の検討段階での資料作成から、アーキテクチャ設計、設計、テスト、運用までほとんど外注にたよりきっており、ざっくりなマネジメントをしているだけだったりする。
設計から外注に丸投げしているSIerでは、日本式のやりかたとか言う以前に、そもそもSIerの社内にシステム開発を行ったオリジナルメンバーが存在すること自体少ない。
すでにSIerでは内製することすら出来ない状態まで空洞化している。
元記事のコメントより
コストダウンの名の下に人減らしだけは進みましたが、そのことがどれくらい破壊的な影響をもたらしているかを、上の人が全く理解できていません。上の人ほど開発経験に乏しく、細部を理解できていないのです。
『鉄筋減らしてコストダウン』して住めないマンションを大量生産したマンション販売会社がありましたが、IT業界は減らすどころか「鉄筋も柱も無くしてコストダウン」を目指してる感さえあります。
IT業界は減らすどころか「鉄筋も柱も無くしてコストダウン」を目指してる感さえあります。
ってのは言い得て妙だ。
「SIerはモノを作るのが仕事ではありません、マネジメントするのが仕事です」キリッ!
ってよく言うけど、マネジメントに関しても、技術的な問題が起こっても解決するだけの力がないので、下請けに残業してくれという根性マネジメントしか出来てない。顧客から仕様変更の要求があった場合でも、どういう影響があるかも理解できてないので、全部請けてきて下請けに丸投げとか。
たちが悪いのは見当違いなルールを課して管理したつもりになっている事。
外注に頼り切っているSIerでは、アーキテクチャ設計、ドキュメント整備、ソースコード管理、テストの自働化、GUIデザインは社外の他人まかせになってしまっており、現状の開発方法でどのような問題があるのか気づくことができない。そういった現場から遠い場所にいる連中が現場をうまく回すためのルールを作れるとは思えない。
そのコードに直接自分の葛藤とかを表現できないのかなって意味不明な欲がでてくるわけ。自己実現欲求みたいなものがコードで解消できないのかって思うわけ。
コードは難しいがバージョン管理で葛藤を表現するのはきっと可能。
2007-03-12
Rev:1 斬新なソフトウェアの構想を思いついたのでとりあえずレポジトリを作っておく
2007-03-12
Rev:2 とりあえずプロトタイプを作ってみた。このペースなら二週間もあればできるかも
2007-03-18
Rev:10 挙動が怪しいがなんとか動いているように見える
2007-04-15
2007-08-18
Rev:21 モチベーションが下がって放置状態だったが、久しぶりに実装をする
2007-09-12
Rev:22 設計の重大ミスを発見。リファクタリングしなくちゃ。めんどくせえ
2008-02-12
Rev:41 有名な××さんの書いた○○というソフトウェアで似たような機能があるのを発見した。
2008-02-25
[admin@sakura2 ~]$ uname -a Linux sakura2 2.6.9-67.0.4.ELsmp #1 SMP Sun Feb 3 07:08:57 EST 2008 i686 athlon i386 GNU/Linux [admin@sakura2 ~]$ cat /etc/issue.net CentOS release 4.6 (Final) Kernel \r on an \m
# yum update # yum remove emacs emacspeak emacs-leim emacs-common # yum remove NetworkManager # yum remove bluez-bluefw bluez-hcidump bluez-libs bluez-utils # yum remove cups cups-libs # yum remove irda-utils isdn4k-utils pcmcia-cs wireless-tools # yum remove wpa_supplicant gpm xinetd # yum remove ppp nfs-utils lksctp-tools autofs # yum remove xorg-x11-libs # yum remove selinux-policy-targeted # yum remove vsftpd # yum clean all
[admin@sakura2 ~]$ uname -a Linux sakura2 2.6.9-67.0.7.ELsmp #1 SMP Sat Mar 15 06:54:55 EDT 2008 i686 athlon i386 GNU/Linux
# rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-notes-5.1.0-2.i386.rpm \ http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-5-1.0.el5.centos.1.i386.rpm [root@sakura2 admin]# cat /etc/issue.net CentOS release 5 (Final) Kernel \r on an \m # yum update glib procps udev iptables # rpm -Uvh --nodeps http://mirror.centos.org/centos/5/os/i386/CentOS/initscripts-8.45.17.EL-1.el5.centos.1.i386.rpm \ http://mirror.centos.org/centos/5/os/i386/CentOS/mkinitrd-5.1.19.6-19.i386.rpm # rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-1.39-10.el5.i386.rpm \ http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-libs-1.39-10.el5.i386.rpm \ http://mirror.centos.org/centos/5/os/i386/CentOS/e2fsprogs-devel-1.39-10.el5.i386.rpm
# rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/kernel-2.6.18-53.el5.i686.rpm
[admin@sakura2 ~]$ uname -a Linux sakura2 2.6.18-53.el5 #1 SMP Mon Nov 12 02:22:48 EST 2007 i686 athlon i386 GNU/Linux # yum clean all [root@sakura2 admin]# yum --version Loading "fastestmirror" plugin 2.4.3 [root@sakura2 admin]# rpm --version RPM version 4.3.3
# yum update Error: Missing Dependency: python-abi = 2.3 is needed by package python-elementtree
# vi /etc/ssh/sshd_config # /etc/init.d/sshd restart
# vi /etc/yum.repos.d/dhozac-vserver.repo
# yum update kernel # yum install util-vserver{,-core,-lib,-sysv,-build}
[admin@sakura2 ~]$ uname -a Linux sakura2 2.6.22.19-vs2.3.0.34.1 #1 SMP Mon Mar 17 05:32:04 EDT 2008 i686 athlon i386 GNU/Linux
# yum update bash screen rsync # /etc/init.d/iptables save # /etc/init.d/iptables start # cat /etc/sysconfig/iptables # Generated by iptables-save v1.3.5 on Mon Mar 24 19:57:07 2008 **filter :INPUT ACCEPT [1067:96557] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [63680:6208436] :e0 - [0:0] -A INPUT -i eth0 -j e0 -A e0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A e0 -p icmp -m icmp --icmp-type 8 -j ACCEPT -A e0 -p tcp -m tcp --dport 22 -j ACCEPT -A e0 -p tcp -m tcp --dport 80 -j ACCEPT -A e0 -p tcp -m tcp --dport 443 -j ACCEPT -A e0 -j REJECT --reject-with icmp-port-unreachable COMMIT # Completed on Mon Mar 24 19:57:07 2008 # Generated by iptables-save v1.3.5 on Mon Mar 24 19:57:07 2008 **nat :PREROUTING ACCEPT [179:10642] :POSTROUTING ACCEPT [213:13895] :OUTPUT ACCEPT [251:16220] -A PREROUTING -s ! 10.0.0.0/255.255.255.0 -p tcp -m tcp --dport NNNN -j DNAT --to-destination 10.0.0.1:22 -A POSTROUTING -s 10.0.0.0/255.255.255.0 -d ! 10.0.0.0/255.255.255.0 -j SNAT --to-source AAA.BBB.CCC.DDD COMMIT # Completed on Mon Mar 24 19:57:07 2008
[root@sakura2 ~]# /usr/sbin/vserver-stat CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME 40013 27 301.5M 73.8M 30m36s31 56m38s90 11d06h56 one 40015 5 10.8M 4.4M 0m28s33 0m12s68 9d04h23 two 40016 2 4.2M 1.3M 0m00s47 0m00s64 0m01s97 three
先月、正式にリリースされたUbuntu Feistyなんですが、これが本当に使いやすい。自分は第一次Linuxブームの頃からずーっとLinuxを使ってきましたが、おそらく現在最高峰のディストリビューションじゃないかと思います。とはいえ、このことは知らない人には伝わらないと思うので、以下、個人的にスゴいと思うところを書き連ねていくことにします。
Ubuntuは、起動が速い・動作が速い・更新が速い、と三拍子揃っている。自動ログインに設定していると、本当にあっという間に立ち上がります。動作速度は、まあWindowsと比べるとまだまだなんですけど、過去に比べてべらぼうに速くなりましたよ。パッケージ管理も速い!一度aptを体験すると、もうyumには戻れません。
いや、OSXと比べるとまだまだなんですけどね。IPA系を入れて、Firefoxを明朝フォントで見ることにしたらびっくりするくらい読みやすい[1]。Windowsの場合、日本語で斜体のページなんてとても読めたものじゃないですからねえ。
みなさん100年のエディタ[2]使ってますか?実は、フリーなGnu EmacsはフリーなGUI環境であるX11上では、TrueTypeフォントの表示が出来ませんでした。WindowsとMac OS X上では余裕で出来るのに。これは最新版の開発ブランチで解決されてますが、まだ正式にはリリースされていません。
ところが、Ubuntuには最新版のバイナリパッケージ[3]があって簡単にインストールすることができます。自分でコンパイルしてもいいですが、パッケージで入れると他のElispパッケージ(Anthy.elとかphysical-line.elとか)が入れやすくていい。最新版なんで不具合が心配ですが、作業してて落ちたことはまだありません。ただし、M+1VM+IPAGフォントを指定すると何故か落ちます。
GNOMEは本当にどんどん便利になってきています。特に個人的に便利だと思うのは、Deskbar Applet[4]とNautilus g-script[5]の二つ。
前者はデスクトップ検索&ランチャ。デフォルトではタスクバーに表示されてないから自分で出す。Alt+F3でなんでも検索できるし、コマンドを打てば実行できる。ウィキペディア検索ができたり何かと便利。
後者はGUIシェルの拡張。Nautilus(Windowsでいうエクスプローラ)上でコンテキストメニューを好きなように設定できる。これがあれば「フォルダ上でマウスを使ってsvn up」なんて動作をあっというまに書けます。こんな風に。
# .gnome2/nautilus-scripts/SVN_Update* cd $NAUTILUS_SCRIPT_CURRENT_URI exec zenity --info --text="`svn up`"
レポジトリを有効にして、gstreamer系をインストールするだけ。Adobe Flashも(32bitCPUなら)Firefoxでyoutubeを見に行って、指示通りにインストールするだけ。いやあ、いい時代になったものですね。
Acrobat Reader, Google Earth, Picasa, Skype, Javaなんかが簡単にインストールできます。いやあ、いい時代になったものですね。個人的にはもっと、Linux上でも商用アプリが増えてもいいと思うけどなあ。
「他人と違う」ってのはそれだけで素晴らしい。違いすぎると苦痛ですけど、今のUbnutuレベルなら、やせ我慢してしのぐことができます。粋ですねえ。ファッションとしてのLinuxというのはいかがでしょうか。