のんびり兄さんのパスティ工場 このページをアンテナに追加 RSSフィード

2010-02-27

[]Python:文字列内での途中改行(のコツ) 19:43 Python:文字列内での途中改行(のコツ)を含むブックマーク

文字列が長くなりすぎるので行をまたいで1つの文字列を作りたい場合,

行末エスケープやトリプルクオテーションを使うことで実現できる.

通例は,

mystr = "Hellooooooooooooooooooooooooooooooooooooooooo\n \
             world.\n \
             I'm going to bed."

とするか,

mystr = """
             Helloooooooooooooooooooooooooooooooooooooooooo
             world.
             I'm going to bed.
             """

として複数行のstringを一度の代入で生成できる.

本来コードの見易さのために行う書き方であるので,目的に沿うように

この例では複数行文字列内でインデントをしている(行頭を揃えている).

しかし実際にこのコードをemacsなどで書き,

生成した文字列を出力すると,

インデント分が空白文字として書き出されてしまい,

上の例では"world."の位置がだいぶ右へ行ってしまう.

見易さを犠牲にしてインデントをしなければいいが,それでは本末転倒である.

この問題は複数行で文字列連結をすることで当然解決できる.

mystr = "Helloooooooooooooooooooooooooooooooooooooooooo\n" \
             + "world.\n" \
             + "I'm going to bed."

多少見易くなってほとんど見たままの出力がされる.

また数値を代入したい場合も

foo = 1
bar = 3.3333333
hoge = "hogehoge"

mystr2 = "foo = %d\n" % foo \
               + "bar = %f\n" % bar \
               + "hoge = %s" % hoge

で複数行でも一つの文字列に問題なく代入できる.

トラックバック - http://d.hatena.ne.jp/vitaminsforus/20100227

2009-12-23

[]emacs:browse-urlから起動するブラウザの変更 23:23 emacs:browse-urlから起動するブラウザの変更を含むブックマーク

emacsのtwittering-modeを試しに使ってみた.<iconまで表示されて素敵なプラグインですね.

リンクを開いた時に起動するブラウザデフォルトiceweasel(firefox)だったので,ちょこっと調整.

twittering-mode.elを見ると,どうやら外部ブラウザの起動は"browse-url"というelispファイルを使っているらしいことがわかる.

(twittering-enter関数なんかがそう)

なのでbrowse-urlの設定を.emacsに書いて変更.

この例ではLinux上のGoogle Chromeに変更するが,genericなのでコマンド指定の部分を任意のブラウザにできる.

firefoxをはじめepiphancyとかnetscapeとかは専用の関数があるみたいなのでそちらをどうぞ:参考URL

(setq browse-url-browser-function 'browse-url-generic
      browse-url-generic-program "google-chrome")

でOK.

こういう使い方だと,chromeの起動の速さに特に感心する.

トラックバック - http://d.hatena.ne.jp/vitaminsforus/20091223

2009-12-12

[]Debian LennyATOK X3をインストールした時のメモ 13:58 Debian LennyにATOK X3をインストールした時のメモを含むブックマーク

Debian LennyATOK X3をインストールした時のメモを置いておく.

なんかまたインストール作業が必要な予感がするので.

(世間はATOK 2010なんて騒いでますけどね.早くLinuxの方も盛り上げろよと.)

続きを読む

トラックバック - http://d.hatena.ne.jp/vitaminsforus/20091212

2009-12-04

[]Google Public DNSを使ってみた 09:29 Google Public DNSを使ってみたを含むブックマーク

ブラウジングが速くなった.

特に体感できたのがiGoogle,かな.

トラックバック - http://d.hatena.ne.jp/vitaminsforus/20091204

2009-12-03

[]TAPESTREA 16:04 TAPESTREAを含むブックマーク

今日知って驚いたもの.

TAPESTREA:

D

Princeton大学が開発した”環境音抽出・再生成システム”(端的に言ってしまうとしょぼい).

つまり:

  1. 様々な音が入った録音から環境音を複数抽出−>オブジェクト
  2. それらを加工(周波数・時間領域で伸縮,ランダム変化付与,etc...)
  3. できあがったオブジェクトを時間軸上で自由に並べて任意のサウンドスケープを構築

といったもの.

動画を見てもらうとわかるが,これらをちょいダサなGUIで直感的かつ簡潔に実装している優れモノ.

スペクトログラムを時間周波数で簡単に切り取れてしまうシステムって中々無いので,そこのところに妙に関心してしまった.

このあたりが従来のサンプリングシステムとは違うんじゃないか(そのあたりは詳しくないので自信なし).

また変化のランダムネスは環境音にとっては非常に大事なので,それをツマミでちょろっと変えられるのが嬉しい.

で研究室のDebian Lennyインストールしたんだが,Debianだとaudioというグループに入らないと,

オーディオデバイスにアクセスできないので,tapestreaを立ち上げる時にエラーが出る.

ところが当方はNIS環境下にいるため所属グループを簡単には追加できないとさー.

もちろん

# chmod 666 /dev/snd/*

なんかでパーミッションを与えるとその場は凌げるが,ログアウトしたり再起動すると元に戻ってしまう.

何か良い方法はないだろうか.

taps起動用のシェルスクリプト書くという手もあるにはあるんだけど,まずはもう少し根本を解決したいですね.

にしてもここの研究室(soundlabと呼ぶのか?)は面白い研究をしてるのですねー.


追記:/etc/rc.localにchmod以下を追記することで,毎回起動時にパーミッションを与えるようにしたら解決.もうちょっとスマートな解決法はありそうなんですけどね.

トラックバック - http://d.hatena.ne.jp/vitaminsforus/20091203