はてラボ新サービス良いですね

とりあえず,なぜ論文が書けないのか はてなボトル サービス終了のお知らせに相談したり.論文の期限とか,発表までのカウンターを作ってみました!

せいぜいはてなニュースに無様なニュースが流れないようにがんばりたいと思います.

ほかのカウンターはこちら

はてなキーワード公開

わーい,はてなキーワード公開だよー.Myキーワードがかなりおもしろい.

http://k.hatena.ne.jp/hakobe932/

http://gyazo.com/28bce6abd9e019bed2665472d552fb0d.png

はこべにっき#はMacPorts大手です.Perlで10位だったりしてうれしい.

キーワードブログもLLFutureの感想だけ見るとかが自由自在で良い感じ.

LLFutureに関するブログ記事まとめ

Perlのキーワードブログとかwatchしとくかな.

くわしくはanzenkunではなくてninjinkunのページで!
http://eighteentillidie.com/2008/09/entry-972.html

はてなインターンおわりー

ついぞ,先週末にはてなインターンの期間を終了しました.ほんとに充実した一月でした.一緒に参加したインターンのみんな,ちょーいろいろとお世話していただいた社員のみなさん,ほんとうにありがとうございました.

インターン中,しきりに研究がどうとか泣き叫んでいたんですが,本日一応のりこえ,ちょっと落ち着ました.なんで,今,忘れないうちに,インターンの感想などなどをつらつら書くことにしますよ.

*以下発散気味注意><

インターン前半

インターン前半は社員の方が講師の授業を受け,それに関する課題をこなすのが,主な内容でした.実は,少しは聞いたことがあるような内容が多かったので,まぁ,そんなに苦労せずにこなせるんじゃないかなーと思ってたのですが,そんなことはまったくなくて,かなりたいへんでしたよ.

ひとつひとつのトピックはそれほど難しくはないんですが,実際に課題にチャレンジしてみると,思っても見なかった問題にぶちあたって,なかなか進まないんですよねー.人が作ったプログラムをみて,「あー,これは,あーやってこーやれば簡単につくれるよねー」とかよく思ってしまいがちですが,そんなわけはまったくなくて,ほんとは,実際に作らないと分からないことだらけなんですよね.手を動かすのが大事.

課題がなかなか終わらなくて,帰りが終電近くになってしまうこともありました.id:masa138と電車の中とか,CoCo壱とかでコーディングしたのは,忘れられないです.

他のインターン生のみんなもそれぞれ工夫して課題をこなしていたので,まけじと自分もいろいろ工夫してがんばったりしました.緊張感があってかなり集中できました.

インターン後半

後半は,はてなダイアリーのチームに配属されて,id:keikuboさんとダイアリーの機能強化の仕事をしました.

うちは,AtomPub APIを作っていたのですが,はじめはかなり手間取りました.何も無いところから最終的に結構捨てたコードが多かったので,もうちょっと仕様を決めてからコードを書き始めればよかったなー.

このときも,自分ではいじれないところのコードを書いてもらったり,サーバの設定をしてもらったりと,スタッフの方にはちょーお世話になりました.いそがしいなかホントありがとうございました!

最後は,スケジュールも押し気味だったのですが,なんとかリリースにこぎつけれたのはすばらしかったです.リリース後の期待と不安が混じり合う複雑な感情ときたら!

わりと,勢いだけで突っ走ってしまうことが多かったのでid:keikuboさんにはわりと迷惑をかけてしまった気もします.ごめんなさいごめんなさい.でも,わりとうまくコミュニケーションがとれていて,楽しくすすめられました.「良い感じですね」

参加してよかったこと

やはり,集中して,緊張して*1長期間コードに向き合えたのが良かったです.集中して取り組むと,効率も上がるし,自分の成長の加速度も高い気がする.

あと,コードをスタッフの方に見てもらって,きれいな設計に変更したり,技術的にかなり勉強になったことも多かったです.

他のインターンのみんなが,それぞれすごい強みをもっているのも刺激的で,自分もそれにまけるかーってなって,最高速度に近いところで走り続けられたのも良かったですね.

やっぱ,スタッフの方にはかなわねーなーと思う人がいっぱいいて,極めればここまでできるのかという,指標がわかったのも今後自分を鍛える上で役に立ちそうです.

あたりまえだけど,会社って多くの人が助け合わないとなりたってないんだなーというのも実感できました.ほんといろんな人に助けてもらった.

スタッフの方はおもしろい人が多くて,技術以外のあれやこれやの話ですごい盛り上がれたのも印象的でした.というかまた,しゃべりに行きたいです.ホント.

オフィスランチがめちゃうまだったのもポイントですね!

まとめ

なんか発散してきたので,強引にまとめておきます.もう,将来の自分が思い出を振り返るためにしか使えないような記事ですね.

とりあえず,はてなインターンを通じてかなり成長できたし,自信もつきました.なんだかんだで一月も拘束されるし,毎日ほんとにたいへんだけれども,それだけの価値はある,充実した日々になりました.

最後にしていただいた評価によると,うちはオールラウンダーらしいので,オールラウンダーを極めるか,なにか強みを得られるようポイントを鍛えていくか考えたいですね.

くどいようですが,はてなのスタッフの方々にはほんといろいろお世話になりました.ありがとうございました.次に行くときもかまってくださいね.

*1:プロダクションコードだしね!

はてなインターンNOW


本日より一ヶ月間,はてなのインターンシップに参加します.お世話になる皆々様方,どうぞよろしくお願いいたします.

あとの方のURLの二枚目の写真にうつっている変な頭がうちです.後ろ姿だけで特定されてます.こわいよのなかですね!

はてなという楽しくて生産的なことができる場で,普段はできない大規模開発に携わる経験ができると期待しています.おもしろいことやるぞー.

実に楽しい一ヶ月になりそうです.

HatenarMapによると

http://hatenarmaps.com/

Mac島にいるらしいです.MacPorts記事の人気があるからかしら.Perl島が近かったりして,それなりに実態に近い感じになっているっぽいなー.flash島がid:nitoyonによって支配されてたりしていておもしろい.

なんとなく,はてな村はオーストラリアに近い形をしているのだな,と思いました.

はてなダイアリーのtwitterモジュール

っぽいものをrssモジュールで実現。右のカラムのプロファイルの下にセットしてみました。

<hatena name="rss" url="http://twitter.com/statuses/user_timeline/3408751.rss" moduletitle="twitter" 
    listlimit="1" dateformat="%H:%i" template="hatena-module">

うーん、みためがいまいち。

はてなのシンタックス・ハイライトがダイアリーにも

はてなダイアリー日記 - 入力したプログラムコードを色付けするスーパーpre記法 シンタックス・ハイライトの実装について

やっとはてなダイアリーにも実装された。やっぱり、べた書きのコードはるのは見にくくて結構いやだったのでこれはうれしい所ですよ。さっそく、本日がっこうでぐだぐだ書いて見ていたコードを貼付けてみよう。

import System
import Char

main =
  do
    cs <- getContents
    args <- getArgs
    putStrLn $ unlines $ concatMap (splitLine $ parseArgs args) $ lines cs

  where
    parseArgs :: [String] -> Int
    parseArgs [] = 60
    parseArgs (x:_) =
      if all isDigit x
        then stringToInt x
        else 60
      where
        stringToInt :: String -> Int
        stringToInt cs =
          let
            n = digitToInt $ last cs
          in
            n + (stringToInt' 10 $ rdrop 1 cs)
          where
            rdrop :: Int -> [a] -> [a]
            rdrop n as = reverse $ drop n $ reverse as

            stringToInt' :: Int -> String -> Int
            stringToInt' _ [] = 0
            stringToInt' d cs =
              let
                n = digitToInt $ last cs
              in
                n * d + (stringToInt' (d * 10) $ rdrop 1 cs)

    splitLine :: Int -> String -> [String]
    splitLine _ [] = []
    splitLine n cs =
      let
        splited = splitAt n cs
        newline = fst splited
        remain  = snd splited
      in
        newline : splitLine n remain

Haskellかよ。はじめてのひとがHaskell書くとこうなります。たぶん。
つかstringToIntが長すぎ。ふつうのHaskell使いはこれを鬼のように短く書けるに違いない。