うん。はてなは「はてな飽きたけど他のに乗りかえるのもめんどい」感があって、長いことそのままだったのだけど、なんか自作したかったのでこっちに移動。 _
HTML生成システム作りなおし。Haskellで書いたよ。まだ色々足りないけど(TODO: コメント機能、過去ログ、アップロード、その他)。あと消えてしまった06-01-29と06-02-02を復元する。 _
外見的には昔のスタイルから色変えただけという気もするが。そんな時はHTMLを見てください。きちんとインデントされてます! _
いや、もはやスタイルなんていらねーよ!むしろRSSさえ出しておけばみんな満足なんだろ!ああ!web2.0の究極の形が、余計な外観を一切排除したRSSファイルでやりとりするとかなのだとしたら、文明の発達とは一体何だったのだろうか!どうでもいいけど、このスタイルは、黒板風をイメージしてるのだけど…微妙な…何が足りないかなー。(引っかいたときに嫌な音が出るとかだろうか?) _
そして、このサイトにバナーなどというのがあったことを思い出したのだった(あとでなんとかする→http://morihyphen.hp.infoseek.co.jp/image/banner.png)。かつて昔のwebサイトの自己主張にはねー、バナーというのがあってねー、それぞれの管理人がイタい主張をしてたのだよー。(イタくないのもあっただろうけど)。 _
今のぶろぐ世代の管理人達はどうやってイタい主張をしてるのかなー。 _
どうでもよい話として(昔のこのサイトのメインコンテンツは「どうでもいいはなし」だったことを覚えているか!)、僕が本名ではなくて、名前がH.N.になってるのは、出身がそういう文化だったからというのがあるよなー。(ほんとどうでもよい) _
関数型言語のアレは2over(記憶が正しければ)。ワナビーすぎ。 _
- _
ニコニコ見てたら朝。月曜から何やってるんだ… _
Parsec使いかた忘れたな…ていうかこれにParsec使うのはオーバースペックもいいところ。 _
まあいい。動いた。ところでParsecって日本語とかどうなんだろ…というか、Haskellの多バイトって…? _
アレ…なんか書きたかったからわざわざParsecなんて持ち出してきたんじゃなかったっけ…忘れた。眠い寝る。 _
- _
ワナビーってどういう意味かしら。 _
思い出した。HTMLでリスト作るためにHTML直打ちする必要があったんだった。そのための記法が必要だったのでParsec持ち出したんだ。 _
最近ゲーム途中すぎ。↓途中のゲームと止めてる理由とひとこと感想 _
あとマジカルホップやってたらShinobiってどんなゲームじゃったかなー、とか思って、積んでたShinobiを崩し初めた。なんか二段ジャンプの仕様が想定してたのと違う…攻撃当てたあとはもう一回ジャンプできると思ってたのだけど、できないな…こんなんだったけ。 _
Kunoichiはできますね - shinh
やっぱそうですか。そんな気がしてたんですが、Kunoichi手元に無くて確認できなかったんですよね…どこ行ったんだろう… - wo
やっぱShinobiは良いなー。ちゃんとアクションゲームって感じ。 _
マジカルホップをもうちょっとShinobiに近づけたらどうかな…ゲージが長くなってふよふよ浮いてられるのも良いけど、もっと、「倒し続けないと落ちる」感をなんとか。 _
-- _
permalinkもどき。まだ過去ログのほうが無いので、linkじゃない。そもそもweb上にpermanentなものを作ることはできるか?仕組みとしてはできてても、炎上して脱走、脱走時に全削除とかやったら終わりなわけで。皆さんは気になるサイトは保存しましょう!(これたしかTERRAZINEの人が言ってたような) _
Jでは保存用に最適なテキストバージョンも用意しています。(というか今用意した) _
test
-- _
ミラーしてるときはアップロードする前に向こうのを取得しておくこと!(というか、不要なディレクトリを含めないでよい方法を調べる) _
酔ってる。 _
-- _
酔ってるついでに、前書くとか言って書いてないのの続き。 _
と思ったけど酔いすぎて書けにい。 _
というか、続きで書きたかったことは、ここの人が僕よりも詳しく書いてくださったようで、僕の出番は無いと思った。 _
-- _
あと、HaskellのPrintfがおもしろいと思ったのだけど、ここ らへんで書いてあることなんじゃないかなーと思った。(実はよくわかっていない) _
-- _
HaskellのPrintfの挙動として、面白いのは、 _
Prelude> "a" == Text.Printf.printf "a" True Prelude> :type (Text.Printf.printf "a")::IO() (Text.Printf.printf "a")::IO() :: IO () Prelude> :type (Text.Printf.printf "a")::(Int->String) (Text.Printf.printf "a")::(Int->String) :: Int -> String Prelude> (Text.Printf.printf "a%d") 3 a3*** exception: Prelude.undefined -- このエラーはなんだ。
文脈に応じて型が変わるというところだと思う。で、ここらへんが型クラスを駆使して色々やっているの(らしいここの最後のほう)だけど、今読んだらわからんかった。 _
わかる範囲で説明しておく。(注意:ここで読んだことは人には絶対に言わないこと) _
まず、printfが返す型は、PrintfTypeのインスタンス。 _
Prelude> :type Text.Printf.printf Text.Printf.printf :: (Text.Printf.PrintfType r) => String -> r
ここで、IO()が返った場合、Stringが返った場合、フォーマットに対応するパラメータが引数で渡された場合、を、上でsyd_sydさんが書いてたテクニックを使って、場合分けする。 _
instance (IsChar c) => PrintfType [c] where spr fmt args = map fromChar (uprintf fmt (reverse args)) instance PrintfType (IO a) where spr fmt args = do putStr (uprintf fmt (reverse args)) return undefined instance (PrintfArg a, PrintfType r) => PrintfType (a -> r) where spr fmt args = \ a -> spr fmt (toUPrintf a : args)
上から順番に、Stringを返す場合、IO aを返す場合、フォーマットに対応できるパラメータ(↓このへん) _
instance PrintfArg Int where toUPrintf i = UInt i instance PrintfArg Integer where toUPrintf i = UInteger i instance PrintfArg Float where toUPrintf f = UFloat f instance PrintfArg Double where toUPrintf d = UDouble d
なんかそんな。んで、ぐにょぐにょ。(酷い終わりかた) _
ほい過去ログできた。 _
あとはコメント機能が付けばよいな。 _
アクセス解析とかはどこかのを借りればよいか。僕も弱ったものである。 _
-- _
別にprintfのようなデカい物を持ち出してこなくても、mallocが変な実装になってるのでそれを見ればよいと思った。(libraries/base/Foreign/Marshal/Alloc.hs) _
malloc :: Storable a => IO (Ptr a) malloc = doMalloc undefined where doMalloc :: Storable b => b -> IO (Ptr b) doMalloc dummy = mallocBytes (sizeOf dummy)
Haskellのmallocは引数をとらない。どうやってるかというと、undefinedの型が a(なんと呼べばいい?)になってて、それが推論のときになんだかんだ。 _
面白いけど、ちょっとトリッキーな気が。もうちょっとスッキリとする方法は無かったのかいなー。 _
-- _
どっかのプログラミング言語はシェルスクリプトを超えられるか。 _
リテラルの話。を、書かない。(最近書かなさすぎ) _
-- _
書きたいコードネタが色々たまってきたのだけど、なんもしてないな…なんかなー。 _
ほいコメントできた。 _
test
コメントの署名は各自適当に入れてください - wo
test
test
ニコニコ見ながら、あんな感じでコメント付けられないかなー、と思ったので、なんかやってみたけど、全然違うと思った。(ニコニコ見過ぎ) _
奇遇ですね > ニコニコ見すぎ - shinh
ニコニコのアカウント消しました!もう一回アカウント取れば終わりという説もありますが! wo
行ごとにコメント付けられます的な。 _
かっこいー!
しまった署名忘れた - niha
署名を忘れやすくなってるのも仕様です - wo
とりあえずこんな感じでいいだろ。今から間違えてアップロードしてしまったファイル達を消す作業に。 _
-- _
そういえばShinobiって攻略動画映えするんじゃないかなー、と思って、ニコニコ探してみたけど、ニコニコばっかだと思った。(いや、そんなに見てるわけじゃないけど) _
いや、そうじゃなくて…あんまり攻略動画無かったという話。タイムアタックとか何も無さすぎて地味だな…いや、なんかボス一瞬で倒してしまって、なにこのクソゲーって感じが。 _
Kunoichiお貸ししましょうか? それはそうとこのへんとか結構見栄えもする気がしますがダメでしょうか。手裏剣狙うのが難しいって知らなければ楽しめませんが。
http://youtube.com/watch?v=oKbYqPQSPCQ
Kunoichiですが…すいません。ちょっとゲームが溜まりすぎなので遠慮しておきます。Shinobiもうちょっとなんとかしてから考えます。
あと、上で、「地味だ」って書いてるのは、「わからない人が見たら地味だと思うのじゃないかなー」ぐらいの意味です。その動画なんかも、いや、見てすごく面白いのですが、知らない人が見たときに、どうなのかな、とかいうような。
ひたすら前にダッシュしてるだけに見える気が。
-- _
あー、あと、JavaScriptが有効になってないとコメントは見れません。 _
なんぞこれwww - n
ええ、まあ、なんかです。 - wo
日毎の枠の下に黒板消しを置くとかー。というかコメント欄でかすぎ。
画像リソースが必要になると急に面倒になるので、どうも遠慮してしまうのですが。あー、ブラウザの上で直接画像リソース作れるとかがあればよいのかも。
あと、コメント欄はいろんなニーズに応えるべくできる限り大きくしております。