2011-01-01から1年間の記事一覧

2011年を振り返って

2011年も, もうすぐ終わろうとしています. 決して感慨深くなったりはしないたちなのですが, 振り返るのも悪く無いかなと思い, 書いています. 東日本大震災について 思えばこれの始まりは3/4でした.地震前兆か?☆鯨52頭海岸に…茨城県★NZ でも 「茨城県鹿嶋…

代数的データ型と準同型写像

最近考えていることを述べます. 代数的構造と準同型写像に関する考察です. 特に必要な知識は無いつもりですが, Haskellのコードを読めると嬉しいです. import Prelude hiding 以下のものを隠しておいて下さい. import Prelude hiding ((+), (++), length, Tr…

けいおんの映画見に行きました (ネタバレ注意ね

けいおんの映画を見に行きました. 開始して早々, 演奏シーンから入り, 音圧にやられました. 映画館で聞く放課後ティータイムはヤバイですね! 最初の演奏を聞いた瞬間, あ, これはライブシーンくるなっって思いました. あと, 音に関して言うと, 部室ってあん…

正規表現に関する妄言 ― モノイドなんじゃね

妄言です.当てにしないで下さい. 最近, 正規表現について妄想することが色々あるのです. その中で思ったのですが, 正規表現って僕には構造がややこしすぎます.とてもとてもややこしい.例えば, 論理演算と同じ構造が入るかどうか考えてみます. 尚, ココで言う…

A Play on Regular Expressions読んだ

A Play on Regular Expressions最後まで読みました. 対話的に書かれていて読みやすかったのと, ソースコードがほとんどそのまんま動いたため楽しかったです. 正直言って, 正規表現のエンジン書いたのは初めてでした. この論文の素晴らしい所は, そんなぼくで…

bbファイルがあるのに! LaTeX Error: Cannot determine size of graphic

bbファイルを用意してるのにこんなエラー ! LaTeX Error: Cannot determine size of graphic in 1.2-hoge.png (no BoundingBox). ちなみにgraphicxのオプションは \usepackage[dvipdfm]{graphicx} \usepackage[dvipdfm]{color} ちょっと考えて, 画像の名前を…

TOEFL受けました

今日, TOEFL受けてきました.初めての経験で色々と分からないことがあって, あんまり力出せなかったなぁ... 困ったこと.色んなサイトを見ていると, 「荷物は少なめに」って書いてあって, アレに騙されて,かばんを持たずに手ぶらで行ったのよ.そしたら, ケータイ…

R言語のexpressionでpiが文字化けする

R

解決してないです... labels <- expression (0, pi/2, pi, 3*pi/2, 2*pi) axis (side=1, at = seq(0, 2 * pi, pi / 2), lab = labels)とすると, πが≠に化ける. これの最初の0をPiに labels <- expression (Pi, pi/2, pi, 3*pi/2, 2*pi) axis (side=1, at = s…

createObjectURLの発行したURLが無効になった時

って仕様上は500番ですよね?Google Chromeは404(Not Found)を返すような 最近コイツのurlが殺されない方法を考えてるbackground_pageにcreateObjectURLが発行したURLを送ってやれば,セッションを閉じてもbg-pageが生きてるからURLも生き続けるよね的なまぁb…

Local Playerがビデオ対応しました!!!

Local Playerがビデオに対応しました!!! ローカルのディスクにある動画(mp4)を再生できるようになりました!!!createObjectURLを使えばいいということに昨日気がついて, これだけはアップしておこうと思ってリリースしました.もう再生ソフトなんていら…

zshのbindkeyをイジってワンストロークでエディターを起動する

zsh

zsh使う人なら割とよく知られてるっぽい技 function cdup() { echo cd .. zle reset-prompt } zle -N cdup bindkey '\^' cdup 「^」キーを押すと, どんどん上のディレクトリーに動く「^」自身を入力するには, ^V^みたいなかんじ ホームディレクトリーに「~」で移動…

createObjectURLがすごい件

最近またLocal Player (Chrome Player)を実装しなおしています.一応説明しておくと, Local Playerは, 完全にローカルで動作する音楽プレイヤーです.シンプルさを求め(実装がめんどくさいだけ), 操作しやすく(これは大事), 良い感じのプレイヤーです.半年前に…

色つき猫

catコマンドってどうも寂しい.ソースコードをcatしても, エディターのシンタックスハイライトになれた目には, どうも見難い.そこで, 色つきでcat出来るのないかなぁって調べてたら, 案の定すぐに見つけた.Are there any options to let cat output with colo…

xy-picのインストールスクリプト

xy-picという素晴らしいTeXのライブラリーがありますかなり重宝していますところがこのライブラリー, インストールがかなりめんどくさいですINSTALLというファイルに書かれたまんま実行すれば入るのですが, シェルスクリプト書いてみました. #! /usr/bin/env…

dyld: Library not loaded: /opt/local/lib/libicuuc.46.dylib

R

Rを触ってたら, ある日突然こんなのが出た. dyld: Library not loaded: /opt/local/lib/libicuuc.46.dylib Referenced from: /opt/local/lib/R/lib/x86_64/libR.dylib Reason: image not found 焦る焦るレポート書いてる途中なのにこれ, どうやらportをきち…

Code Jam Japan 2011 予選

ずっとcodeforcesもやってないし, たまにはこういうのやらなきゃなぁと思いつつ... 全然駄目ぽ(´・ω:;.:... AのsmallとCのsmall/largeが正解でした... とりあえずCの自分の解答 main = interact $ format . map solve . parseInput parseInput = tail . map (…

[]と[[]]でboolean

「と[]がfalseとtrueに対応するようなandとor作れないかなぁ >>=とかうまく使って」 @itchynyルール 短いこと 綺麗であること 途中でエラーが生じないこと Prelude> -- Prelude> -- []: false, [[]]: true Prelude> -- リストでBoolean計算!? Prelude> Prelude…

GHCインストール後のエラー

今日Ubuntuをクリーンインストールした後, GHCをインストールした後, ghciを起動しようとすると, こんなエラーが出た. Loading package integer-gmp ... <command line>: can't load .so/.DLL for: gmp (libgmp.so: cannot open shared object file: No such file or direc</command>…

Haskellのコード150行で, Twitterに投稿するだけのクライアントを作ったよ

Haskell触り始めて三ヶ月ほど経ったープログラミング自体を始めて, 一年半くらいー (だいたい3日前, こんな夢を見たんだ せんぱーいwww プログラム書いててwww OAuth触れないのってwww 笑ってませんよ?wwww ちょ、ちょっとごめんなさいwww あはははwww…

HaskellでCurses!!! HSCursesライブラリーを使ってみたよ

Cursesというのは, TUIなアプリケーションを作るためのライブラリーの事です.参考: http://ja.wikipedia.org/wiki/Cursesこれを使ったら, ターミナルの上で, UIを実現するのが楽になるらしい.色んな言語で実装されているので, みんなも好きな言語で探してみ…

Jison入門!!!

最近, Jisonを使おうとしている人をちらほら見るので, ちょっと入門的なやつを書いてみる. 定義(てけとー Jisonというのは, JavaScriptで書かれたパーサーを吐くことができる, パーサジェネレーターの一つ 現在Jisonは https://github.com/zaach/jison で入…

可愛いzshの作り方

zsh

うちのzshがあまりに可愛いので、ちょっと紹介します。 突然ですが、終了ステータスというものがあります。 int main () { return 0; // ← これだ!!! } シェルの特殊変数では、$?がこれにあたります。 あと、zshにはConditional Substitutionというものもあ…

CoffeeScriptをやってみた

ずっと避けてきたCoffeeScriptを使ってみた HTMLはJade,CSSはLESS,JavaScriptはCoffeeScriptがいいんじゃないかな? インストールとかは公式に載ってるから割愛三つともVimのsyntaxが既に作られているのは嬉しい テキトーに書いたサンプルみたいな物Jade LESS…

1 > 2 > 1はfalse

1 2 > 1はfalse.トンチですか?いいえ, JavaScriptです. 優秀な奴はPython.エラーを吐くのはHaskell.嘘を付くのがJavaScript. なんでJavaScriptでこんなことになるのか.関係を表す演算子は左から評価されます.3 > 2 > 1 → (3 > 2) > 1 → true > 1両辺のToNumb…

SyntaxError: Unexpected token }とは何か

Google Chromeのコンソールで, 「(」と打ってEnterしてみましょう. > ( SyntaxError: Unexpected token } えっ...? 僕 } なんて打ってないよ... ワケがわからないよ...いろいろ実験してみましょう. > ( SyntaxError: Unexpected token } > - SyntaxError: Unex…

1..nが配列になるある一つの方法

> Number.prototype.n = function () { for(var i = +this, a = []; i <= n; a.push(i++)); return a; } [Function] > n = 15 15 > x = 1..n () [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ] > x [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1…

if文の{}はどんな場合でも書くべきか?

JavaScriptでは, ifの{}は省略できます. if (a > 10) foo(); else bar(); hoge(); は if (a > 10) { foo(); } else { bar(); } hoge(); と同じ. ECMAScriptの定義では, 12 Statement Statement: Block ... 12.1 Block Block: { StatementList(optional) } St…

正規表現で数式パーサー書いたよ!

最近コンパイラーのお勉強をしてます.練習で数式のパーサーをSLR(1)で書いてみたり,単純に下降再帰で書いてみたり,演算子順位法で書こうとしたりしています...でも, 数式をパースするだけなら, スタックとか作らなくてもいいんじゃね?数式を手計算で変形して…

下降再帰/演算子順位で数式パーサー

前回の記事の続き的な何か.数式パーサーを下降!!!! じゃなくて書こう!!! 実は, id:ajalabox さんの http://d.hatena.ne.jp/ajalabox/20110328/1301319299 にかなり精神的に影響を受けた. うおおおおおおおおおおおおお俺も言語処理系作りてええええええええ…

Google ChromeのExtensionを作るときはBranding Guidelinesに気をつけよう.

Chrome Playerを作って絶賛ほったらかし中...さてさて, Chrome Playerと書いたのですが,リンク先のアプリ名がLocal Playerになってるじゃないかああぁああ.とか思った人はいますか.(記事を書いた時点ではLocal Playerでした)アプリ名を変えました.3/19にChro…