2012/01/31
2012/01/30
server1を踏み台にしてserver2にsloginしつつlocalでchromeにsocks5プロクシ刺してserver2のイントラWebにアクセスする(?)
みたいなメモがてらブログ書こうとしたら不明なプログラムが挟まってて断念した。
ということで、ここは予定地。
追記
挟まってるプログラムはこれっぽい このconnect.cっぽい。ubuntuでもコンパイルしてみた。追記:本題
.ssh/configに以下を追記。Host server2 ProxyCommand ssh valvallow@server1 /home/valvallow/bin/connect 192.168.XXX.XXX %p User fooでserver2をlocalの8888ポートにbind(?)。
$ slogin -D 8888 server2chromeにproxyを刺して対象のurlを開く。
$ chromium-browser --proxy-server="socks5://localhost:8888" http://192.168.XXX.XXX/sample.html/よくわかってないので、なんか認識間違ってるかも。
これも追記
そういえばchromeのプロクシ刺し替えはこちらが便利だと教えてもらった。gitで.ssh/id_rsa以外の鍵を使う(GIT_SSH)
メモし忘れてた。
valvallow@ubuntu ~/temp $ cat ~/temp/git_ssh/work #!/bin/sh exec ssh -o User=valvallow -o IdentityFile=/home/valvallow/.ssh/work/id_rsa "$@" valvallow@ubuntu ~/temp $ export GIT_SSH="/home/valvallow/temp/git_ssh/work" valvallow@ubuntu ~/temp $ mkdir test && cd test valvallow@ubuntu ~/temp/test $ git clone valvallow@server:/repos/test-git.git Cloning into test-git... Enter passphrase for key '/home/valvallow/.ssh/work/id_rsa': remote: Counting objects: 44, done. remote: Compressing objects: 100% (43/43), done. remote: Total 44 (delta 21), reused 0 (delta 0) Receiving objects: 100% (44/44), 782.50 KiB | 666 KiB/s, done. Resolving deltas: 100% (21/21), done.
参考
- プロキシ経由などhttpしか使えない環境でSSHと鍵を使ってGitHubにpushする方法 - Guyon Diary
- github に登録する公開鍵ファイルを id_rsa.pub じゃない名前で使いたい→ ~/.ssh/config で解決 - 刺身☆ブーメランのはてなダイアリー
- git over ssh with options
labels :
git
2012/01/28
2012/01/27
2012/01/26
2012/01/26
- インターネットMAGMA
- 大日本印刷、100枚を一括読み取りできるUHF帯ICタグ:1枚10円台の低価格化を実現 | IT・情報通信業界 - 財経新聞
- RFID - Wikipedia
- DNP、かざす必要のないUHF帯ICタグカードを2011年11月より発売開始 | エンタープライズ | マイナビニュース
- 在庫管理から顧客サービスまで対応可能なUHF帯ICタグ(凸版印刷) « ペイメントナビ - カード決済、PCI DSS、ICカード・ポイントカードの啓蒙ポータルサイト
- GitHubをもっとソーシャルに使いこなすための7つ道具 - @IT
- gistコマンドよりちょっと便利なgisty - SWDYH
- www.ubiquitous-forum.jp/documents/jissyou-best3.pdf
- 定量的研究 - Wikipedia
- 定性的研究 - Wikipedia
- シマンテック社:今すぐ「pcAnywhere」の使用停止を - うさぎ文学日記
- 千年の風に吹かれて : CYGWIN environment variable option "nodosfilewarning" turns off this warning.
- E - TextEditor | Forum
- 南よ! 海の見える方! - 使う気が無い人向けのPowerShell入門
- Google Web Fonts
labels :
bookmark,
feedburner,
Web
2012/01/25
github pages
ちょっと前に試しに作ってみてた。
で、リポジトリごとにこういうことができるらしい
ので試してみた
へぇー。
ということでこれを試してみようかな。 きっかけはこちら
2日連続でちょっと遠出しただけで絶賛体調不良中。
ということでこれを試してみようかな。 きっかけはこちら
別件
そういえばprivateなリポジトリが作れるbitbucketでしばらく前からgitを使えるということを思い出したのでこっちも試してみた。2日連続でちょっと遠出しただけで絶賛体調不良中。
2012/01/24
2012/01/23
デスクトップでもthinkpadのキーボードを!!(笑)
labels :
diary
cygwinでcron
これはちょっと苦労した。
でも、cronでやればshell script使えるしな!
- cygwin で cron を使う
- pycronからcygwinのcronに乗り換えた - 空繰再繰
- cygwin の cron で定期処理してみる - ぽくてる
- Cygwinでcronを使うときのメモ - XXXannex
- 便利だったらどれでもいいじゃん!(k-square)
- CygwinでCronサーバーを動かす - ブックマクロ開発に
windowsにも似たようなものがあるんだって!あちゃー(ノ∀`)
でも、cronでやればshell script使えるしな!
追記
ネットを探すと% cygrunsrv --install cron --path /usr/sbin/cron -a -Dって出てくるけど、うちのcronさんは
% cygrunsrv --install cron --path /usr/sbin/cron -a -n -u cyg_serverでした。-Dではなく-n。
追記
labels :
cygwin
windows server に cygwin 入れて sshd サーバ立てて git サーバにした話
タイトルでほとんど内容終わり。windows 2008 serverでもcygwinって普通に使えるんですね。ちょっと驚いた。
- CygwinのOpenSSHを使って安全に自宅のWindowsにアクセス - himazu archive 2.0
- CygwinによるWindows環境でのSSHサーバ構築手順 [HiTo!サポートサイト Tech.Info]
linuxでやるより面倒だったけど、意外となんとかなるもんで。今回はWindows Server 2008。サーバはgit入れてsshd立てて外から接続できれば終わり。つまり、cygwinのsetup.exeもしくはapt-cygなどからOpenSSHとgitをインストール。もちろんfirewallでsshのポートの許可も必要。
これで家でも外出先でも手軽に会社のgitサーバーに対してpush/pullできますよっと。ただ環境作ってる途中、GIT_SSHで少しハマった。cygwinだけなら簡単なんだが、クライアントでGUIからgitを使う、visual studioで使う、という前提で環境作ると面倒、大変、わかりにくい。ところがあった。shellの方が快適ですね。
しかし、意外とちゃんと動くもんで。cygwinやるじゃん。
追記
ちょっと設定変更したらハマった。復旧に数時間。。この辺のエラー
ssh_exchange_identification Connection closed by 192.168.1.xxx ssh_exchange_identification: Connection closed by remote host cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: fatal: /var/empty must be owned by root and not group or world-writable Operation not permitted
今回はこれで解決した。
% cygrunsrv -E sshd % cygrunsrv -R sshd % cygrunsrv --install sshd --path /usr/sbin/sshd -a -D -u cyg_server % cygrunsrv -S sshd % chown cyg_server /var/empty % chmod 700 /var/empty
linuxならsshの設定してパッケージマネージャからgit入れるだけなんだけどね。あいにく会社にlinuxサーバーがなくて、windows server 2008があるんで使わない手はないかなと。
追記
こういう方法もあるようで。
- Thinking megane: WindowsでGit共有リポジトリをさくっと構築
- 2012-11-06 - Veritas Operation
- Techno Pocket - Technical Memo - Gitリモートサーバー on Windows (for 勉強環境)構築メモ
tumblrの楽しみ方 がいこつ編
tumblr楽しいですね。楽しいです。
つい先日まではスクラップブックくらいの感覚で使ってました。
で、
reblog!!そして、reblog!!\宣/
投稿にはchrome拡張のTaberareloo使ってます。emacs拡張もあったりする(笑) これがあるとはかどる。
それと短時間でfollowしまくると規制されるっぽい。 取りあえずこんな感じか。
- 気になった記事をブックマーク
- 気に入った文章をquote
- 気になった文章をquote
- 面白かった画像をup
で、
- ブックマークしたlinkは1日分をまとめてブログに投稿(bot)
- 自分のquoteからランダムにポストするtwitter bot
reblog!!そして、reblog!!\宣/
投稿にはchrome拡張のTaberareloo使ってます。emacs拡張もあったりする(笑) これがあるとはかどる。
それと短時間でfollowしまくると規制されるっぽい。 取りあえずこんな感じか。
追記
あー、そうだ、androidのtumblr公式アプリもreblogがはかどる。
labels :
diary
2012/01/22
2012/01/21
日記(GALAXY S IIでいつの間にか起動しているアプリがある)
ふと起動中のアプリをみるとワンセグとビデオメーカーと設定が起動してるんですよね。どのタイミングで起動してるのかわからなくてイラっとしてたんですが、どうやらマナーモードを切り替えるタイミングで起動しているらしい。なんでやねん。でも起動するタイミングがわかったので別にもういい。勝手にしてくれ。
そういえば別件で昨日「カーネル入れ替えたらいいですよ」というアドバイスを受けた。そんなことをしたりするのかandroid。電話のできるネット用小型PCという認識で使っていこうと思っているますので深追いしない方向で。。アプリ開発?何それおいしいの?
そういえば別件で昨日「カーネル入れ替えたらいいですよ」というアドバイスを受けた。そんなことをしたりするのかandroid。電話のできるネット用小型PCという認識で使っていこうと思っているますので深追いしない方向で。。アプリ開発?何それおいしいの?
labels :
diary
2012/01/20
Gmailで別のメールアドレスをpop受信してると「メールを今すぐ確認する」が面倒
GmailのLabsから「POP アカウントの更新」を有効にしとくと受信トレイの更新ボタンで一緒に確認してくれるらしい。
2012/01/19
辞書コマンド(あるいはshellで辞書、terminalで辞書、Shellで翻訳)
新しく開発環境を準備する際に、自分なりに欠かせないものがありますよね。emacsだったりzshだったり、windowsならcygwinやcolinuxなどなど人それぞれでしょう。私の場合その中の一つに辞書コマンドがあります。
私にとってshellで辞書を引けるかどうかはすごく重要です。というかプログラミングするときって辞書を引く機会が多いのでできるだけ手軽な方がいいです。辞書を持ち歩くわけにもいかないし、いちいちブラウザで調べるのも手間過ぎます。専用の辞書ソフトを使うというのも手かもしれませんが、これもブラウザを使うのとあまり差がありません。emacsの中だけに住んでる人はsdicで済ませたりするんでしょうけど、私は最近「脱emacs引きこもり」したので却下。
辞書コマンドを使うようになってまだ1年くらいです。今ではもう欠かすことのできないツールです。(grepでいいんじゃないかという話もありますけど)
で、結局どの辞書コマンドを使っているかというとzeeというperlスクリプトです。下記サイトの「がらくた置き場」から頂きました。(実際はzeeをちょっと改造してあるものをとある人からもらった) こんな感じ
辞書ファイルはgeneとかjddictとか。オフラインでも使えて超便利。
あと、mtranという自作(?)の翻訳プログラムも結構役に立ってる。けど、web apiを使うのでオフラインでしか使えない。正確には自作じゃなくてここ が元ネタ。このコマンドを自分なりに書きなおしたものを使っています。 つかみんなどうやって辞書引いてんの?便利な方法があったら誰か教えてください。今んとこzeeで大満足ですけども。
私にとってshellで辞書を引けるかどうかはすごく重要です。というかプログラミングするときって辞書を引く機会が多いのでできるだけ手軽な方がいいです。辞書を持ち歩くわけにもいかないし、いちいちブラウザで調べるのも手間過ぎます。専用の辞書ソフトを使うというのも手かもしれませんが、これもブラウザを使うのとあまり差がありません。emacsの中だけに住んでる人はsdicで済ませたりするんでしょうけど、私は最近「脱emacs引きこもり」したので却下。
辞書コマンドを使うようになってまだ1年くらいです。今ではもう欠かすことのできないツールです。(grepでいいんじゃないかという話もありますけど)
で、結局どの辞書コマンドを使っているかというとzeeというperlスクリプトです。下記サイトの「がらくた置き場」から頂きました。(実際はzeeをちょっと改造してあるものをとある人からもらった) こんな感じ
$ zee lisp lispかたこと, 舌足らずに話す LISP List Processor リスプ, コンピュータのプログラミング言語の一つ $ zee scheme scheme 仕組み, 一覧表, 組織, 概要, 理論体系, 図式, 計画, 考え(よく ない)たくらみ, 陰謀, たくらむ $ zee 元旦 元旦 (日本の) New Year's Day 元旦(とそれに続く数日) new year, new, year $ zee プログラム アプリケーション プログラム 【コンピュータ】 application program アプリケーション プログラム インタフェース 【コンピュータ】 API Application Program Interface オブジェクトプログラム object program コスト改善プログラム cost improvement program コボル(事務処理用のプログラム言語) COBOL Common Business Oriented Language デバッグする(プログラムのミスを取り除く) debug ドローイング系のプログラムでよく使われる十字形のカーソル crosshair cursor ネットワーク制御プログラム;略:NCP ... .. .
辞書ファイルはgeneとかjddictとか。オフラインでも使えて超便利。
あと、mtranという自作(?)の翻訳プログラムも結構役に立ってる。けど、web apiを使うのでオフラインでしか使えない。正確には自作じゃなくてここ が元ネタ。このコマンドを自分なりに書きなおしたものを使っています。 つかみんなどうやって辞書引いてんの?便利な方法があったら誰か教えてください。今んとこzeeで大満足ですけども。
他
こういうのもあるみたい。 cygwinに入らなかったので諦めた。今度ubuntuで試してみよう。しかし、辞書コマンドのググりにくさは異常。Vim選択範囲一括コメントアウト
メモってなかったので
Visual Studio 2010のvimキーバインド拡張VsVimで同じオペレーションしてもコメントアウトできなくて詰んだ。。どうやるんだろ。
C-v I [comment string] ESCで、これはいいんだけど・・・
Visual Studio 2010のvimキーバインド拡張VsVimで同じオペレーションしてもコメントアウトできなくて詰んだ。。どうやるんだろ。
labels :
vim
zshでESC qを知らなくて人生損してた
2012/01/18
2012/01/18
- RFID (ICタグ)::アクティブRFIDの種類と特長|AINIXウェブサイト
- RFIDタグ(ICタグ)::Omni-ID|AINIXウェブサイト
- 北興産業|アクティブICタグ 【MEGRAS(メグラス)】製品案内
- 北興産業|アクティブICタグ 【MEGRAS(メグラス)】製品案内
- 微弱電波規格のアクティブ型RFIDシステム『NIRE(ニレ) タイプ1,タイプ2』 | 概要 / 特徴 | NTT-AT
- 三菱電機 UHF帯RFID: Q&A (よくあるご質問)
- ロングレンジRFIDリーダー“tranSpeed” — 株式会社ロックシステム
- RFID SYSYTEM 13.56MHz製品|日立ハイテクマテリアルズ|
- 学校では教えてくれないエンジニアリング英語 #5: crufty, kludge, janky, ghetto: blog.bulknews.net
labels :
bookmark,
feedburner,
Web
2012/01/17
2012/01/15
brainf*ckインタプリタを書いてみた
brainf*ckインタプリタを書いたことがなければプログラマに非ずなどと言われることもあるようなので書いてみた。Gauche。
しかしプログラマには「hogehogeでなければプログラマに非ず」が多いですよね。ハードル高いの多いし。どうなってんだこの業界。
どの道ついてけないので、書けそうなものの中で面白そうなものをやってみる、というスタンス。
取りあえずHello worldが動くところまで書いたところ。replもつけてみた。コードがすごく納得できない状態なので、もう何度か書いてみたい。特にinterpretとparse(つまりメインディッシュ)がもうちょっとどうにかできないもんかと。
今回brainf*ckがどういう言語かちゃんと知って心惹かれました。面白い言語なんですねーこれ。しかも作るの簡単。なるほどlispと同じく使う人より実装する人の方が多い言語。lispと違うのは使う人がいなくて実装する人しかいないところか。
ソース
#!/usr/local/bin/gosh ;;; ;;; bfi - brainf*ck interpreter ;;; ;; sample - Hello world ;; >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]<.>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++++++. (use srfi-1) (use file.util) ; file->string (use gauche.parseopt) (define (usage) (print "Usage: bfi [options ...] [file]") (exit 1)) (define (interpret code ptr mem) (let rec ((code code)) (if (null? code) (values ptr mem) (begin (if (list? (car code)) (until (zero? (vector-ref mem ptr)) (rec (car code))) (case (car code) ((#\+)(inc! (vector-ref mem ptr))) ((#\-)(dec! (vector-ref mem ptr))) ((#\<)(dec! ptr)) ((#\>)(inc! ptr)) ((#\.)(write-byte (vector-ref mem ptr)) (flush)) ((#\,)(set! (vector-ref mem ptr)(read-byte (current-input-port)))))) (rec (cdr code)))))) (define (parse str) (let1 ls (string->list str) (let rec ((ls ls)(acc '())) (if (null? ls) (reverse acc) (case (car ls) ((#\+ #\- #\< #\> #\. #\,)(rec (cdr ls)(cons (car ls) acc))) ((#\[)(rec (let1 rest (drop-while (pa$ (complement equal?) #\])(cdr ls)) (if (null? rest) '() (cdr rest))) (cons (rec (cdr ls) '()) acc))) ((#\])(reverse acc)) (else (rec (cdr ls) acc))))))) (define (repl mem) (print ";; brainf*ck interactive shell") (print ";; q to exit.") (let rec ((ptr 0)(mem mem)) (display "bfi> ") (flush) (let1 input (read-line) (when (equal? input "q") (exit 0)) (receive (ptr mem) (interpret (parse (x->string input)) ptr mem) (rec ptr mem))))) (define (run-bf str mem) (interpret (parse str) 0 mem)) (define (main args) (let-args (cdr args) ((memory-size "m|memory-size=i" 1024) (interactive "i|interactive") (help "h|help" => usage) (else (opt . _) (print "Unknown option : " opt) (usage)) . rest) (let ((mem (make-vector memory-size 0))) (cond ((and (null? rest) interactive)(repl mem)) ((null? rest)(run-bf (port->string (current-input-port)) mem)) ((run-bf (file->string (car rest)) mem)) (else (usage))))))
使い方
$ bfi hello.bf Hello World!
$ echo '>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]<.>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++++++.' | bfi Hello World!
$ bfi -i ;; brainf*ck interactive shell ;; q to exit. bfi> >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]<.>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++++++. Hello World! bfi> q $
参考
- Schemeで適当にBrainFuckインタプリタ - hogeなlog
- SchemeでBrainFuck その2 - hogeなlog
- Scheme:Brainfuck
- Scheme:Brainfuck:別解
- Gauche で Brainf*ck を作ってみた。 - sirocco の書いてもすぐに忘れるメモ
日記(世の中狭いという話)
ありきたりな話題。ありきたりな話題だけど、それを実感した話。
今日はとあるイベントに参加してきた。某企業が開催するイベント。そこでは偶然にも友人知人が様々な立場で関わっていた。大学時代のサークルの先輩後輩、一緒に飲んだことのある他サークルの方々、地元の知人などなど。そういった方々が開催企業の社員だったり、イベントに参加している企業の社員だったり。
それほど仲が良かったわけでもない。社会人になってから一度も連絡を取ったことが無い。お互い名前すらよく覚えてない。大学時代ですらスレ違うときに「お疲れー」というだけの仲。それでも好意でサービスしてくれたり値引きしてくれたり。
すごく助かった。本当にありがたかった。人との繋がりは大切だ。大事なのは人脈だ。なんてことは大昔から言いつくされている。当たり前のことを実体験として強く認識した一日だった。自分もいざ友人知人に偶然遭遇したときに、何か役に立つことができる人になりたい。
今日はとあるイベントに参加してきた。某企業が開催するイベント。そこでは偶然にも友人知人が様々な立場で関わっていた。大学時代のサークルの先輩後輩、一緒に飲んだことのある他サークルの方々、地元の知人などなど。そういった方々が開催企業の社員だったり、イベントに参加している企業の社員だったり。
それほど仲が良かったわけでもない。社会人になってから一度も連絡を取ったことが無い。お互い名前すらよく覚えてない。大学時代ですらスレ違うときに「お疲れー」というだけの仲。それでも好意でサービスしてくれたり値引きしてくれたり。
すごく助かった。本当にありがたかった。人との繋がりは大切だ。大事なのは人脈だ。なんてことは大昔から言いつくされている。当たり前のことを実体験として強く認識した一日だった。自分もいざ友人知人に偶然遭遇したときに、何か役に立つことができる人になりたい。
日記(自分語り)
先日28歳になった。私はプログラマとして働いている。大学を卒業してから次で4社目だ。ずっと同じ業界で同じ職種。
私は理系の大学を出たわけではないし、プログラミングの技術について専門教育を受けたわけでもない。高校も大学も文系。数学も物理も大の苦手だった。それどころか算数でつまずいて以来、理系の教科は嫌いで仕方なかった。大学では社会福祉学部で福祉と幼児教育を学び保育士の資格を取った。ピアノの単位を苦労して取ったり、体育の授業でダンスや劇をした。卒論も書いたことがない。卒業ゼミで銅版画を作成して卒業した。しかし残念なことに、今のところ保育士の資格が役に立ったことはない。いや、話のネタになることはある。
情報系の学部を出た人やコンピュータサイエンスの教育を受けてきた人がうらやましかった。若い頃からプログラミングをしている人がうらやましかった。有名なプログラマを見るたびに、勉強会に行くたびに、うらやましさと後悔をおぼえた。自分用のPCを手にしたのは大学3年だった。プログラミングを始めたのは就職してからだ。「もっと早くプログラミングに出会っていたら」「もっと早くPCを買っていたら」「情報系の大学に行っていたら」「学生の頃にもっと本を読んでいれば」などと思うことがある。
だけど、最近はそういうことを思うことがほとんどなくなった。私は私なりに学生生活を楽しく過ごしたからだ。
つづく...
P.S 落ち込むこともあるけれど、私プログラミングが好きです。
私は理系の大学を出たわけではないし、プログラミングの技術について専門教育を受けたわけでもない。高校も大学も文系。数学も物理も大の苦手だった。それどころか算数でつまずいて以来、理系の教科は嫌いで仕方なかった。大学では社会福祉学部で福祉と幼児教育を学び保育士の資格を取った。ピアノの単位を苦労して取ったり、体育の授業でダンスや劇をした。卒論も書いたことがない。卒業ゼミで銅版画を作成して卒業した。しかし残念なことに、今のところ保育士の資格が役に立ったことはない。いや、話のネタになることはある。
情報系の学部を出た人やコンピュータサイエンスの教育を受けてきた人がうらやましかった。若い頃からプログラミングをしている人がうらやましかった。有名なプログラマを見るたびに、勉強会に行くたびに、うらやましさと後悔をおぼえた。自分用のPCを手にしたのは大学3年だった。プログラミングを始めたのは就職してからだ。「もっと早くプログラミングに出会っていたら」「もっと早くPCを買っていたら」「情報系の大学に行っていたら」「学生の頃にもっと本を読んでいれば」などと思うことがある。
だけど、最近はそういうことを思うことがほとんどなくなった。私は私なりに学生生活を楽しく過ごしたからだ。
つづく...
P.S 落ち込むこともあるけれど、私プログラミングが好きです。
labels :
diary
2012/01/14
プログラミングがはかどるとき
- やらなきゃいけないことがある
- でもやりたくない
つまり、目を背けたい何かがあるとき。現実逃避に最適。で、プログラミングよりさらにはかどるのはemacsとかshellとかscreenなどのカスタマイズ。さらにはかどるのはネット\(^o^)/
labels :
diary
emacsでコードリーディング(view-mode, follow-mode, inertial-scroll)
labels :
Emacs
2012/01/13
2012/01/12
2012/01/11
2012/01/10
日記(tumblrの規制とか)
先日こんなことをした。
で、見つけた方々を片っ端からfollowした。アカウント作っただけっぽいのとidの前後に_が入ってる人はスルーしました。followee20人くらいが一気に500人以上になったのでdashboardがかなりいい感じにカオスです。(結構過激な)18金の流量も増えたので今後は人前でdashboardを開くことはできなくなりそう・・・。
tumblrでfollowを繰り返すとしばらく規制されるみたい(たぶん丸1日)なので、500人くらいfollowするのに3日かかった。 最初は300人followした時点で規制されたっぽい。その後は100人ごとに規制されたんじゃないかという気がする。
tumblrやばい。今まではdashboardはあまり見ずに使ってましたが、それはもったいないことだったようです。
ボット作って眺めたり ランダムに表示するコマンド作って眺めたり その日1日のbookmarkをまとめてblogに投稿するbotを作って眺めたり だけど、followeeを増やしたdashboardの時間泥棒っぷりは異常。
tumblrでfollowを繰り返すとしばらく規制されるみたい(たぶん丸1日)なので、500人くらいfollowするのに3日かかった。 最初は300人followした時点で規制されたっぽい。その後は100人ごとに規制されたんじゃないかという気がする。
tumblrやばい。今まではdashboardはあまり見ずに使ってましたが、それはもったいないことだったようです。
ボット作って眺めたり ランダムに表示するコマンド作って眺めたり その日1日のbookmarkをまとめてblogに投稿するbotを作って眺めたり だけど、followeeを増やしたdashboardの時間泥棒っぷりは異常。
labels :
diary
2012/01/09
2012/01/08
2012/01/07
shell scriptのこと
今、
ってのをパラパラ読んでるんですが、これはいいですね。
で、読んでて思うんですがshell scriptすげーな。奥が深いというか複雑というか大変というか。きっとshell scriptとして便利になるために時には歪な仕様をとり込みつつ進化してきたんでしょう。大雑把な言語だと思っていましたが細かいところを見ると言語として面白いんですね。しかし、こんなに覚えきれねーだろ(笑)
その点lispって偉大だなとつくづく思いますよホント。覚えること少ないしシンプルで一貫していて秩序がある。
おっと、lispのことを書くと急に宗教っぽくなるな。
で、この本の2章「シェル変数」を読んでたら、たくさんの初期化方法が用意してあることに驚きましたよ。こんなにあんのかよ。。覚えるつもりはないけどメモっときたいので、そのうちブログに書くかも。$*と$@の違いとかそういうのも。もうね、知らんがなと言いたくなるくらいですがw
shell scriptいいよなー。shell scriptでハックするためにshell scriptもハックされてきたような、そんな感触が。胸が熱くなるな。
で、読んでて思うんですがshell scriptすげーな。奥が深いというか複雑というか大変というか。きっとshell scriptとして便利になるために時には歪な仕様をとり込みつつ進化してきたんでしょう。大雑把な言語だと思っていましたが細かいところを見ると言語として面白いんですね。しかし、こんなに覚えきれねーだろ(笑)
その点lispって偉大だなとつくづく思いますよホント。覚えること少ないしシンプルで一貫していて秩序がある。
おっと、lispのことを書くと急に宗教っぽくなるな。
で、この本の2章「シェル変数」を読んでたら、たくさんの初期化方法が用意してあることに驚きましたよ。こんなにあんのかよ。。覚えるつもりはないけどメモっときたいので、そのうちブログに書くかも。$*と$@の違いとかそういうのも。もうね、知らんがなと言いたくなるくらいですがw
shell scriptいいよなー。shell scriptでハックするためにshell scriptもハックされてきたような、そんな感触が。胸が熱くなるな。
twitterのfolloweeが同じIDでtumblrに登録しているかfollowee全員分調べる
tumblr面白いですよねー。
tumblrのdashboard見てたら何時間も経ってた、なんてこともよくあります。。
ということで、twitterでfollowしてる人がtumblrやってたらfollowしてみようかなーって。
こんな感じ。
自分なんりに一番てっとり早い方法でやったつもり。
探せばそういうサービスがあったりして・・・
んで、実際に存在したurlは手動で開いて手動でfollowするという情弱ぶり。
さてテキストに羅列してあるurlを一気にブラウザで開くには・・・
これでいいか
tumblrのdashboard見てたら何時間も経ってた、なんてこともよくあります。。
動機
tumblrが面白いのはいいんだけど、followする人を見つけるのが大変。大変というか見つけ方がよくわからん。ということで、twitterでfollowしてる人がtumblrやってたらfollowしてみようかなーって。
方法
- twitter apiでfriends(followee)のscreen_name一覧を取得する
- screen_nameをtumblrのurlにする
- urlが存在するか確認する
こんな感じ。
$ twitter-friends valvallow | awk '{print $1".tumblr.com"}' | available-url
- twitter-friends(gaucheスクリプト)で指定したuserがfollowしているuserのscreen_name一覧を取得する
- awkでtumblrのurlにして
- available-url(gaucheスクリプト)でurlが存在するか確認する
コード
Gaucheです。自分なんりに一番てっとり早い方法でやったつもり。
探せばそういうサービスがあったりして・・・
んで、実際に存在したurlは手動で開いて手動でfollowするという情弱ぶり。
参考
追記
結果に余計なものが含まれてたので、さらに$ cat url.txt | awk '!/#/' | awk '!/_/'する必要があった。(結果がurl.txtに入ってるとして)
追記
それでも600くらいあって、とても手動じゃ開ききれない・・・。さてテキストに羅列してあるurlを一気にブラウザで開くには・・・
これでいいか
追記
同じことやってる人がいた追記
!/[#_]/
2012/01/06
2012/01/05
Re: assoc-store
自分なりに書いてみた。
keyがなかったらaconsして、なければalistを途中でぶった切ってkeyとvalueに置き換える、ということでわりと素直なつもり。
(それに共有構造ってこういう使い方もアリなのか)
keyがなかったらaconsして、なければalistを途中でぶった切ってkeyとvalueに置き換える、ということでわりと素直なつもり。
(use srfi-1) (define (assoc-store alist key val) (define (equal-key? ls) (equal? (car ls) key)) (if (find equal-key? alist) (receive (head tail) (span (complement equal-key?) alist) (append head (acons key val (cdr tail)))) (acons key val alist)))
(define alist '((hoge . 1) (foo . 2) (bar . 3) (baz . 4))) (assoc-store alist 'foo 5) ;; => ((hoge . 1) (foo . 5) (bar . 3) (baz . 4)) (assoc-store alist 'fuga 5) ;; => ((fuga . 5) (hoge . 1) (foo . 2) (bar . 3) (baz . 4)) (define alist2 '((hoge . 1) (hoge . 3))) (assoc-store alist2 'hoge 9) ;; => ((hoge . 9) (hoge . 3))
追記
これでいいか。(use srfi-1) (define (assoc-store alist key val) (receive (head tail) (span (^l (not (equal? (car l) key))) alist) (if (null? tail) (acons key val alist) (append head (acons key val (cdr tail))))))
追記
unfoldがあったかー。list処理はmap, fold, named-letの優先順位で候補を考えるけど、間でunfoldやpair-foldの存在を思い出すようにしよう。(それに共有構造ってこういう使い方もアリなのか)
2012/01/04
2012/01/02
2011年lisp/scheme/gaucheピックアップ
これと同じノリで。
これは2012年ですが。
ピックアップと言いながらほとんど載ってるかも。
gauche
- favrand自動更新
- クリスマスツリーを飾りました。Lispで。
- gauche-library-directory探訪001:gauche/macroutil.scm
- gauche-library-directory探訪000:はじめに
- 最近の雑多なコマンド(gauche)
- gaucheでgoogleの非公開apiを使って天気を取得するコマンド
- gaucheのtext.progressとtputコマンド(コマンド?)
- 最近の雑多なコマンド(gauche)
- gaucheで「プログラマに半角全角の入り乱れた英数字を見せ続けると死ぬ。」コマンド
- 「お題:文字列を先頭から見て同じところまで除去」
- flatten
- GaucheのリファレンスURL
- Gaucheでradix sort
- Gaucheでbucket sort
- Gaucheでbubble sort
- 計算で「桁数」「指定した桁の数」を求める
- Gaucheのmoduleとdefine-in-moduleとevalで作るsandbox
- ifをcondで書け
- 初期状態で見えているsymbolたち(Gaucheのuserモジュール)
- twitter apiの日付け
- Twitterのお気に入りをランダムに表示して楽しむ
- consでqueue
- フラットなリストをネストしたリストに
- scheme(gauche)でもsleep-sort
- gauche に macrolet
- macroexpand %macroexpand unwrap-syntax
- define-method
- :init-value でハマった・・・ :init-form が正解だった
- 多値と receive
- gauche で json を post
- json に変換可能な alist を walk
- gauche cgi カレンダー
- カプレカ数
- Gauche-dbd-pg を使うにあたって
- Gauche-gd: 再帰曲線(フラクタル)
- Gauche-gd: インストールと Hello, world !!
- Emacs で Scheme (Gauche)する設定
- scramble (The Seasoned Schemer)
- ニコニコわいこんびねーた
- [1,2,3,4,5] が与えられたとき [[1,2][2,3][3,4][4,5]] を返すような関数を定義せよ
- Gauche: use してる module から export されてる symbol たち
- リストをランダムに並べ変える
- query string
- 0から1000までの0の数を数える
- gauche の oo
- gauche script の linux と windows
- cygwin に gauche-dbd-pg
- basic 認証、digest 認証
- ランダムな文字列
- 「ランダムにビット列を作っていったら、[0,0,1] が最初に登場するのは、いつ頃でしょう?」
- Gauche で goo.gl api (httpsとか)
- serversman(centos) に postgreSQL に Gauche-dbd-pg
- 継続の実装方針
- プログラミング Gauche の object マクロと LOL の dlambda マクロ
他
- emacs lispのplist
- Re: lispのマクロ定義について
- On Lisp
- .stumpwmrcさらし
- ておくlet
- JavaベースのScheme
- 「Scheme修行」献本頂きました!
- カッコいい言語
- 何が何を束縛するって?
- 日記(Scheme/Lisp とか、DSL とか)
- SICP の友
- PostgreSQL のストアドを Scheme で
- vallog: SICP 原書の amazon レビュー 和訳(Paul Graham, Peter Norvig ...
labels :
feedburner,
Gauche,
Lisp,
scheme
2012/01/01
shellコマンド記事まとめまたはワンライナー記事まとめ
2011年に書いたshellコマンド系記事まとめ。
まとめてみてわかったけど同じようなこといくつも書いてるな。
こちらも
まとめてみてわかったけど同じようなこといくつも書いてるな。
こちらも
ssh, find
- ssh先のディレクトリをtarしてローカルにコピーして展開(ssh, cd, tarしてtar)
- find結果をtarしてsshしてtar展開
- findで指定した条件以外を検索
- ssh bind address
- findしてcp(コピー)
- ssh越しにfindしてtarで固めてローカルにコピー
- ssh越しにdiffを取る
- ssh, find, xargs, tarで本番環境ぶっ壊した
- Network File Copy using SSH
date, 他
- dateコマンドで日付の加減算
- dateコマンドでepochとか
- 日付を2進数とか16進数に変換してみるshell script(date, bc)
- bcで基数変換
- permissionを数値で表示
- man ascii
- mkdirでディレクトリを一括作成
- LaTeXでパッケージを追加する
shell script他
- シェルスクリプトで適当なcsvを作る
- shellで適当にCSVを作る(while, od, /dev/random, shasum, cut, expr)
- shellで連番の欠番を探す(awk)
- shellで適当な数値セットを作る(while, od, /dev/random, expr)
- sedでマッチした部分を置換にも使う
- extractコマンド
- shellで乱数(od, /dev/random, tr)
web他
ubuntu
- バッテリーの状態を表示するシェルスクリプト(状態、パーセント、残り時間)
- Linuxでterminalからguiを自動操作(automation)
- notify-sendでラーメンタイマーというかリマインダ(ubuntuおまけでcygwin+growl for windows)
- terminalから音量調節(ubuntu, amixer)
- terminalから輝度を調節
- 矩形スクリーンショット
- shellからterminalの幅と高さを取得(tput)
- chromium proxy
- ubuntu 11.10 デフォルトの画像ビューア
- dropbox start
vim, emacs他
- vimで選択範囲の文字数
- vimの行番号
- gnu screenでpageup/pagedown
- もじこーど(emacs, vim, screen)
- emacsコマンドでbyte compile
- org-modeで文字の修飾
- apt-getからt-code入れたらemacsのisearchがバグる
- Emacsでregionをインデント
- Emacsでカタカナの全角半角変換(SKKとか)
- Emacs: iimage.el (画像表示)
- Emacs で改行マーク、全角スペースマーク、タブマークなどを表示する
- org-paste-subtree: The kill is not a (set of) tree(s) - please use to yank anyway
- Emacs で Scheme (Gauche)する設定
- Emacs: popwin.el が快適過ぎる
- Emacs: 「次の単語(というかS式)を指定した文字で囲む」 earmuff.el
- org-agenda の weekly-view の日付フォーマットを変更した
- org-agenda の weekly-view の日付フォーマットを変更した
- eshell を使ってみることに
- which-func-mode で関数名をヘッダーラインに表示するやつをトグルする
- キー操作で Emacs のフレーム位置やサイズを変更するマイナーモード frame-arrange.el を作りました
- Emacs の bookmark がもう少し便利だったら良いのに
- Re:Emacs でインタラクティブに SQL する
- Emacs: モードラインじゃなくタイトルバーに日付と時間を表示する
- Emacs でインタラクティブに SQL する (Microsoft SQL Server 2005 編)
- Emacs: 自分用かるふわ face (calfw.el, calfw-ical.el)
- windows(cygwin) + emacs + tramp + ssh(plink)
他
- twitter client (terminal, shell, cui)
- 「The Art of Unix Programming」と「Software Engineering Radio」
- csharp repl
- cygwinもターミナルからパッケージ管理を(apt-cyg)
- bash のプロンプトに git の branch を表示する
2011/12 の筋トレ
日時 | 体重 | 腕立て | 腹筋 |
---|---|---|---|
2011-12-01 | 58.8 | 100 | 50 |
2011-12-02 | 59.2 | 100 | 50 |
2011-12-05 | 58.8 | 100 | 50 |
2011-12-06 | 59.2 | 100 | 50 |
2011-12-08 | 58.4 | 150 | 60 |
2011-12-15 | 59.0 | 120 | 60 |
2011-12-18 | 58.0 | 100 | 50 |
2011-12-20 | 59.4 | 100 | 80 |
2011-12-22 | 59.4 | 100 | 60 |
2011-12-24 | 58.8 | 100 | 0 |
2011-12-25 | 58.8 | 100 | 50 |
2011-12-26 | 58.0 | 140 | 65 |
2011-12-30 | 59.2 | 100 | 50 |
合計13/31日 | 平均58.84 | 1410 | 675 |
2011/11月頭から始めた筋トレ。なかなか続いてます。
胸筋は結構ついてきましたが腹筋がなかなか割れません。
実は触ってみると腹筋もついてきてる。どうやら表面の脂肪が邪魔で、見た目ではわかりにくい。それでも少しずつ割れてきたので期待。
今年は体脂肪率を落とすことを目標にしよう。そうしたらきっと腹筋も割れ(て見え)る。若い頃腹筋が割れてたのはたぶん単に体脂肪率が低かったからだと気づく。となると、食事の方で調整が必要かなー・・・。今体脂肪率が15%なので、半年後10%目標で。。どうだろ、厳しいかなー・・・。
あ、腹筋はシットアップからクランチに変更したら効果が上がった気がします。
2012年が明けたので書き初めしました。lispで。
明けましておめでとうございます。書き初めしました。lisp(というかscheme(というかgauche))で。辰年なので図形言語でドラゴン曲線を描くべきかとも思いましたが書き初めにしました。元ネタはこちら。
Gauche-gdは仕事でも使っていたので、一部流用しつつ。
フォントはここと同じものにしました。
gauche 0.9.2以降で動きます。最後の「あけおめ」のように別のfontでもOK。
こんな感じで
参考
参考にしたのはこちらGauche-gdは仕事でも使っていたので、一部流用しつつ。
使い方
コマンドにしたので、下記のように使えます。フォントはここと同じものにしました。
gauche 0.9.2以降で動きます。最後の「あけおめ」のように別のfontでもOK。
$ kakizome "吾唯足知" "ばるばろう" /home/valvallow/.fonts/opentype/aoyagireisyosimo/aoyagireisyosimo.otf | hd -C | lessすると以下のような出力が得られるので、> hoge.pngとかして下さい。
00000000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 |.PNG........IHDR| 00000010 00 00 00 7a 00 00 01 60 08 02 00 00 00 fb 01 fa |...z...`........| 00000020 fa 00 00 20 00 49 44 41 54 78 9c ed 9d 7f 4c 1b |... .IDATx....L.| 00000030 e7 fd c7 ef eb b8 8e 71 5c 8f b8 ae eb 52 87 7a |.......q\....R.z| 00000040 0c b9 1e 75 19 a2 8c 51 ea 52 46 a9 85 18 65 cc |...u...Q.RF...e.| 00000050 65 14 a1 34 62 94 b2 88 a1 2c c9 a2 8c a1 28 42 |e..4b....,....(B| 00000060 34 5f 84 22 14 21 c4 88 47 29 63 0c 65 0c 51 44 |4_.".!..G)c.e.QD| 00000070 29 a5 94 22 0f 21 ca 18 63 d4 73 29 61 8e 87 98 |)..".!..c.s)a...| 00000080 71 88 e3 38 84 3a ae 63 8c 89 bf 7f dc b7 de f5 |q..8.:.c........| ... .. .
こんな感じで
$ kakizome "吾唯足知" "ばるばろう" /home/valvallow/.fonts/opentype/aoyagireisyosimo/aoyagireisyosimo.otf > temp/hoge.png ; eog temp/hoge.pngソースは以下の通り。
関連
登録:
投稿 (Atom)