サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
goth-wrist-cut.hatenadiary.org
個人的お気に入りツールの一つ。dc。 逆ポーランド記法(RPN)の計算機。 linuxなら大体さいしょっから入ってるツール。 パッケージで言うとbc*1。 プログラミング序論の課題でRPNの話が出たので、ついでだし使い方でもまとめて見ようと思う。 とりあえずRPNがなんだ、ってのは適当にググってくださいな。 あくまでdcの使い方。 計算する とりあえず、計算したいだけなら $ dc 1 # 1をpushする 2 # 2をpushする + # 2,1をpopして、和をpushする p # topを出力する(スタックはいじらない。) 3 q # 終了する(quit) $明示的に出力する様にしないと何も結果を返さないので注意。 負数の扱い マイナス("-")は演算子として定義されているのでそのまま入力はできないらしい。 -1 # -と1として解釈される。のでスタックが空だとエラーになる dc:
そんなわけで修論Done!! 久々にはてブたるものを書いてみる. latexmkというlatexのコンパイルに便利なツールがあるらしい. で,ググると微妙に情報が古いサイトが多い?っぽい雰囲気なのでメモ代わりにはてぶ. 修論はずっとTeXで書いてて,やってるときはMakefileを書いてmakeをたたいてたんだけど,びみょーにうまくいかない. 単にうちのMakefileが悪かった,という話ではあるんだけど,TeXのコンパイルって,微妙にめんどい. .tex から latex で .aux 作って, .aux と hoge.bib から bibtex で .bbl つくって,そんでもってもいっちょlatexで .dvi を作り直して,そんで dvipdf で .pdf.ん?一回latexコマンド足りてない?気のせいか? そんなこんなで,Makefileのデフォルトのサフィックスルールが邪魔し
そんなわけでもうそろそろ6月ですが、3月のに行ったインターンで学んだこととか思い出すためにHadoopで遊んでみました。 方針的にはHBaseを中心に、適当にTwitter検索的なものを作ってみたり、あとはPigとかいじれればいいなぁ、と考えてます。 あと、基本的には「Hadoop徹底入門」をベースに経験をプラス、といったところです。 あまり有用な情報があるかは分かりませんが、メモ程度に。 兎にも角にもとりあえず準備から。 準備 手頃なマシンもないし、最初はEC2とか使ってみようかなー、とか思ったのですが、諸般の都合でVMWare上でやってます。 OSは適当にCentOS。Gentooとかも考えたんだけど、めんどそうなので一番簡単そうなせんとくんで。 HadoopはClouderaのをyumで。一番簡単そうn(ry ついでにいえば、一番簡単そうな疑似分散モードで遊ぼうと思ってます。 気が向
諸君 私はOperaが好きだ 諸君 私はOperaが大好きだ マウスジェスチャが好きだ ユーザスタイルシートが好きだ タブスタッキングが好きだ Opera Linkが好きだ Opera Uniteが好きだ Opera Mailが好きだ ウィンドウパネルが好きだ リンクパネルが好きだ ナビゲーションバーが好きだ Macで Windowsで Linuxで 組み込みで ガラケーで スマホで (ry そんなわけで、高校時代にAH-K3001V(別名:京ぽん)を買って以来Operaユーザのタケイです。 一時期Willcom 03に浮気したんだけど、最近京ぽんに戻したら、なんかしらないけどWX340KはOperaじゃなくなってすんごい残念。 というか、WX340Kは全体的になんか悪化してない? で、なんか気がついたらWinでもMacでもOperaを使うようになってますますOpera好きになっているわけ
※インターンのエントリを書こうとしたら何故かMySLのエントリになりました(注:インターンでmyslを作ったわけではないです)。 ※以下、予定を変更してお送りします。 ほぼ一年ぶりのエントリがmyslとか……。 myslについては http://d.hatena.ne.jp/m-bird/20080623/1214231431 や http://d.hatena.ne.jp/goth_wrist_cut/20080624/1214325754 を見て頂くとして、ちょいと改良(?)してみました。 前までのmyslは豊田氏のsl(http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/)にizumi氏のpatch(http://www.izumix.org.uk/sl/) を適応し、ncurses(http://ftp.gnu.org/pub/gnu/ncurses/
最近訳あってTerminal.appにおさらばして、iTermにこんにちはしました。 Terminal.appはすごく素敵で好きなんだけどxterm-256colorになってくれないのがすごく残念。 ことjabannerだとかターミナルでプレゼンだとかやっちゃう自分には256色のターミナルはすごく魅力的で...。 スクロールすると文字が壊れたり、ウィンドウを巡回のディフォルトのショートカットがすごく押しづらかったり、なんだけどiTerm使用中now! で、折角256色出るターミナルなのでvimも256色化したい所。 色々調べて、ググって、一応覚え書き程度のまとめ。 まず、vimを256色に対応させる。 関連helpは :help xterm-color あたり。 t_Coだとかt_AF, t_ABというオプションをいじるのも一つの手らしいが、もうすこしスマートなのはTERM環境変数をいじる
vimがいい、vimがいいを言い続けて4年目。 元はといえば学校のMacのemacsがやたら異常終了して、嫌気が差してvimを使い始めたのがハジマリ。 それまではWinユーザでメモ帳++なんぞを使っていたのですが...。 もしあのとき、emacsが異常終了しなければ、今頃自分は...。 そんなこんなで月日は流れ今となってはvim!vim!vim!な毎日。 暇さえあれば他人に布教し始める程のvim信者。 すべてのエディタはvim互換モードを持つべきだと言い張る今日この頃。 そういやバイナリエディタもvim互換がいいな。 いや、いっそvimがいい! 素敵そうではないか、vimでバイナリエディタ。 矩形選択がおもしろい程に活躍しそうだ。 正規表現による:sやら、マクロにC-A/C-X。 そんなこんなのvim de バイナリエディタ。 えっと、最初に一言だけ。 このエントリのまとめ: "vimで:
.bashrcはじめ設定ファイルのたぐいはちょくちょく書き加えるので少しずつカオスになっていく。 ということで、整理しつつ、いくつかtips的なアレコレをまとめてみた。 .bashrc編 まずは.bashrcから 環境変数をいじる糖衣function in .bashrc .bashrcを見てみるとやたら目に付くのが"export HOGEHOGE=hoge:${HOGEHOGE}"という記述。 単に環境変数を拡張しているだけなのだが、何を追加しているのか分かりづらいし、なにより環境変数が空だったときに余分な":"がつくのが嫌い。 ということで書いてみたのがこんな。 function AddPathPre() { if [ -z "${!1}" ]; then eval "export ${1}=${2}" else eval "export ${1}=${2}:\${${1}}" fi
タイトルまんま。 普段無線LANで生活してるので、接続先みれば今どこにいるのか自動化できる気がしたのでやってみた。 まず、SSIDの取得方法。 最初さっぱり分からなくて苦肉の策でsystem.logあたりを監視していたのですが、さすがにあれなのでGoogle先生にお伺いたてたところ /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport --getinfoで、無線LANの情報がとれるらしい。 うちのだとこんな感じ。 agrCtlRSSI: -74 agrExtRSSI: 0 agrCtlNoise: -92 agrExtNoise: 0 state: running op mode: station lastTxRate: 52 maxRate: 130 lastAssocSta
足し算の反対ってなんだ?と聞かれれば十人中十人ぐらいが引き算と答えると思う。 たしかに、f(x) = x + 5、みたいな関数に対して、足し算を引き算に変えた、g(x) = x - 5、は 例えば、f(3) = 3 + 5 = 8で、g(8) = 8 - 5 = 3、もっと一般的には f(g(x)) = (x - 5) + 5 = x = (x + 5) - 5 = g(f(x)) となるから確かに逆演算になる。 ではホントに足し算の反対は引き算だろうか? いや、上で結論でとるやん。とか言われそうだけど、あれは正しく「足し算」ではない。 もっと正確には過不足*1なく「足し算」ではない。 つまり、f(x) = x + 5は確かに足し算のうちの一つである。ただ、one of 足し算に過ぎない。 もちろん5と言う定数を、「任意の定数」に変えたとしても必要十分な「足し算」ではない。 などと勝手に断
使いこなすと鬼。 個人的には、対話的な編集処理はvim、一括処理はsedって感じ。 で、sedの使い方とかまとめてみようかな、とか思ったんだけど、ちょいとまとめきれん...。 ので、うちが時々使うsedの使い方をば。 ニコニコとかの動画を保存する。 さっそくアレ気な小見出しですいません...(д よく使うのがこれなんで。 # cacheフォルダへ移動 $ cd ~/.mozilla/firefox/ちょめちょめ.default/Cache/ # とりあえずVideoファイルを列挙してみる。 $ file * | grep Video BF3F3C06d01: Macromedia Flash Video # grepと同じヿが -nと"/パターン/p"でできる。 $ file * | sed -n "/Video/p" BF3F3C06d01: Macromedia Flas
最近音声チャットやらなんやらリリースなんかしちゃって、非常に波にノってる某id:viverとか、羽ばたいちゃってる鳥頭こと某id:m-birdとかACな人とたち喋ってるうちにsshの鍵の話になった。 512はもう小さすぎだよねとか、そういやうち今何bitの鍵使ってたっけ...とかとか。 で、調べてみた。 [goth@gothic ~]$ ssh-keygen -B 2024 XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /Users/goth/.ssh/id_rsa.pub (RSA)...? !? 2024!? [goth@gothic ~]$ factor 2024 2024: 2 2 2 11 23 なんねコレ。 1024でも無ければ2048でもない。 非常に中途半端なサイズの鍵。 ちゃんと動いてい
音量調整とかそういうのは、だいたいコマンドで叩くので普段はACPIを使ってなかったのだが、つい隣でid:athlonzがACPIの設定していたので試しに設定してみた。 以下覚書程度に、Gentoo on PrimePC(DosPara)でのACPIの設定方法をば。 まずはACPIがハードウェアのイベントを拾えるかどうかのテスト acpidが起動していれば $ acpi_listenでイベントが見れるはず。 もしくはacpidが動いてなければ # cat /proc/acpi/eventでもokなはず。 で、acpi_listenなりcatなりで監視しながら、マシンにくっついてるボタンをポチポチ押してみる。 電源ボタンやらスリープボタンも拾えるのだけど、拾った直後にシャットダウンし始めたりする可能性もあるので注意。 少なくともMandrivaだと無設定で電源ボタンは効いた...気がする。 う
Haskellでも可変長引数はできる。らしい。 まぁ、型が死ぬので絶対オススメしないが。 ということで、printfのソースをリスペクトしつつ、色々試してみた。 とりあえず、考え方としては、 hoge 1 2 3があったとき、hogeは一つ引数をとる"a -> b"と仮定する。 すると、 (hoge :: a -> b) 1 2 3 (hoge 1 :: b) 2 3と引数を一つ"喰べる"ことができる。 で、このbという型がまた、同様に"a -> b"と等しくなれば、 (hoge 1 :: b) 2 3 (hoge 1 :: a -> b) 2 3 (hoge 1 2 :: b) 3 (hoge 1 2 :: a -> b) 3 (hoge 1 2 3 :: b)と"喰べ"続けることができて、最後にbが残ると。 もちろん、"b = a -> b"は成り立たないし、無理矢理作っても、"the
ついでなんでさらしてみた。 bashrc # .bashrc # User specific aliases and functions # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi export PATH="/usr/local/bin:${PATH}" export PATH="/usr/share/colorgcc/:${PATH}" export PATH="${HOME}/bin:${PATH}" export PATH="/usr/lib/ccache/bin/:${PATH}" #export PATH="/usr/local/texlive/bin/:${PATH}" #
([0369]|[147]([0369]|[147][0369]*[258])*([258]|[147][0369]*[147])|[258]([0369]|[258][0369]*[147])*([147]|[258][0369]*[258]))+なんかさっそく横長ですいませぬ。 多分これであってるはず。3の倍数にマッチする正規表現です。 最短解であるかどうか保証は無いけどとりあえず過不足なくマッチするっぽい。 で、ちょいと冗長すぎて読みにくいんで、[0,3,6,9]を0と言ったように省略して、適当に改行/スペースをいれるとこんな感じ。 ( 0 | 1 (0 | 10*2)* (2 | 10*1) | 2 (0 | 20*1)* (1 | 20*2) )+なんとなく分かるかと思います。 なんとなく分からない方のために3の倍数に関するいくつかの性質。 なんか偉そうですいません。 10進数の
いつも気がついたら.vimrc編集、って感じなのでずいぶんカオスってきた。 で、色々と直してたのだけど、ついでにさらしてみるのもいいかと思ってさらしてみた。 まぁ、前に一度さらしてるのだが。 加えてちょこちょことおすすめ設定をば。 ということで、.vimrc全体。 syntax on filetype plugin on filetype indent on " set {{{1 set title set nocompatible set noinsertmode set ruler set wildmode=list:longest set wildmenu set showmatch set matchpairs+=<:> set matchtime=3 set hidden set nowrap set list set listchars=tab:\ \ ,trail:_,pre
こちらとこちらを参考にしつつ とりあえず、ここからactionscript.vimを落としてくる。 で、actionscript.vimを$VIM/vim71/syntax/*1あたりにぶちこむ。 で、$VIM/vim71/filetype.vimを編集。 ".as"ファイルはなんかatlasとかいうものに設定されてるけど、一切使ったことないし、以後使うこともないだろうから適当にコメントアウトしてactionscript用の設定を追加。 " Atlas -au BufNewFile,BufRead *.atl,*.as setf atlas +"au BufNewFile,BufRead *.atl,*.as setf atlas + +" ActionScript +au BufNewFile,BufRead *.as setf actionscript + これで".as"ファイルを開
長いんでエントリわけてみた。 Makefileで使える関数とかまとめてみた。 これで全部じゃないかも。 subst/patsubst 文字列の置換 patsubstの方はパターン付き. $(subst .c,.o,file1.c file2.c.c file3.h) # -> file1.o file2.o.o file3.h $(patsubst %.c,%.o,file1.c file2.c.c file3.h) # -> file1.o file2.c.o file3.h substは空白をアンダーバーに、とかそういうので使えそう。 拡張子を変える、とかならpatsubstを使おう。 strip 無駄な空白等の削除。 $(strip a b c ) # -> a b c $(if...)とかと組み合わせるといいみたい。 あまり使わない気がする。というか使ったことない...。 find
makeが好き。 プログラミングの時はもとより動画のエンコードするのにもおもわずMakefileかいちゃうぐらいmakeが好き。 まぁ、それ以上にvimが好きなんだけどね。 ということでMakefileのあれこれ。 メモ書き〜〆(д) とりあえずメモ代わりに、コンマ,空白の扱い comma:= , empty:= space:= $(empty) $(empty) foo:= a b c bar:= $(subst $(space),$(empty),$(foo)) # bar == "a,b,c" info Makefile に書いてあることそのまんまなんだけどね 具体例とか。 とりあえず授業とか1ファイル1バイナリなものをテキトーにmakeするMakefile SRCS=$(wildcard *.c) BINS=$(patsubst %.c,%,$(SRCS)) all: $(BINS
ヘッダー情報等、一切切らずにかつテキストで保存したとか思って書いてみた。 ruby なんとなくファイル名はcpop CUI で POP3メールとかそんなだった気がする。 どうでもいいのですでに忘却。 #!/usr/bin/env ruby #設定ファイル名 rcfile=".cpoprc" require 'net/pop' require 'yaml' require 'readline' require 'openssl' #暗号化 def encrypt(text, key) enc = OpenSSL::Cipher::Cipher.new('aes256') enc.encrypt enc.pkcs5_keyivgen(key) ((enc.update(text) + enc.final).unpack("H*")).to_s rescue false end #復号化 def
このページを最初にブックマークしてみませんか?
『goth-wrist-cut.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く