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

CodeIQの「お正月版 各桁総和ダンジョン」が面白かった

お馴染み柳井さんからの出題. FizzBuzzダンジョンの続編である,各桁総和ダンジョン. 特定の要件を満たす処理をレベルごとに設けられた制約の中で実現するというもの.とくに,Lv.3を見た時にびっくりした. 無名関数や剰余、数字が使えないのはまだしも,…

DjangoフレームワークでFormPreviewでも@login_requiredを使いたい

後輩たちと開発中のプロジェクトで,「要ログインな箇所で確認画面を挟むフォームを実装したい」なんて状況があった. 日本語のソースがまったくなかったのでネタになるかな.ほとんど英語ソースの抜粋だけど. とりあえず前知識. @login_requireはDjangoで…

ValueError: negative dimensions are not allowed

サイズの大きく、かつ、スパースなndarrayを操作すると発生する模様。 参考:http://stackoverflow.com/questions/12113498/valueerror-when-take-the-dot-product-of-two-sparse-matrices-in-scipyスパースってのは直訳で”疎な”とか”まばらな”とか。 機械学…

Numpyなどを使う際の名前の衝突

string.pyというファイルを配置したディレクトリで、 (1)PythonインタプリタからNumpyをimportしたり、 (2)Numpyをimoprtしているfoobar.pyファイルを実行したりすると 名前の衝突が起きてNumpyのインポートで例外が起きる。ためしにstring.pyをhogehoge.py…

numpy.ndarrayを特定の列でソートする

nは対象とする列のインデックス X = X[ X[:,n].argsort() ]

cythonを簡単に使って幸せになる方法

.pyあるいは.pyxファイル内で以下を記述するだけ。 numpyを使う必要がなければ、pyximport.install()の引数にinclude_dirsを含めなくても大丈夫。 import pyximport import numpy as np pyximport.install(setup_args={'include_dirs':[np.get_include()]}, …

CSVから重複するフィールドの個数を取得するコマンド

cut -d , -f 2 foobar.csv | sort | uniq -c | sort -r cut: ファイルの各行から選択した部分だけを切り出し、標準出力へ出力(-d:デリミタの指定, -f 所望のフィールドインデックス) sort: ファイルの内容をソートして標準出力に出力(-r: 降順) uniq: 標準…

/bootが100%でapt-get upgradeが動作しない件と、その解決策

自分用まとめ 症状: apt-get installやapt-get upgradeがエラーを吐く 診断: エラーメッセージによると、空き容量不足により、パッケージが展開できない。dfで確認すると、/bootが100%使われていた 解決案1: apt-get autoremoveで不要な容量をおまかせ削減す…

pythonでfor文を使う際の注意点

簡単なスクレイピング処理を行い、HTMLをCSVにまとめる作業中に見事にドハマリしてしまったので、反省の念を込めて覚書。 優秀なプログラマならこんな勘違いはしなくて済むのだろうか…猛省である。 ls = list( ([1,2],[3,4],[5,6]) ) print lsfor i in ls: _…

nxtOSECの開発環境構築 for Mac OS X

先週末、ETロボコン技術研修会に向けてLinuxでの開発環境構築を試みた。 nxtOSEKの開発環境を構築 nxtOSEKの開発環境を構築 その2 結果は惨敗。 ARM系のCPU向けコンパイルまでは無事成功したものの、NXTへの転送がうまくいかなかった。 (おそらくNXT側を別PC…

nxtOSEKの開発環境を構築 その2

nxtOSEKの開発環境を構築で、プログラムのNXT転送前まで完了した今回はNeXTToolを使って、プログラムの転送までをやってみる。 必要なパッケージを入手 $sudo apt-get install libusb-dev libusb-0.1-4 subversion fpc NeXTToolをソースからコンパイル windo…

nxtOSEKの開発環境を構築

環境: ubuntu12.04 1. Build and Install GNU ARM NXTに搭載されているcpuはARM系なので、ARM用のコンパイラを用意する必要がある $sudo apt-get install tk-dev ncurses-dev libmpfr-dev texinfo built_arm_toolchainのインストール 適当なディレクトリを作…

ubuntuにnumpy, scipy, matplotlib環境を構築

じつはapt-getならパッケージで手に入れられるみたいです! これに気づかず、かなり遠回りしてしまったので記しておきます。 $sudo apt-get install python python-dev $sudo apt-get install python-numpy python-scipy python-matplotlib

MacBookAirでUbuntuのライブUSBを作る

「Mac ubuntu usb インストールディスク」などでググると大量に情報がで発掘できるのですが、既に使えなくなってしまった情報が多かったので、まとめ。 (具体的にはunetbootinとかunetbootinとか、あとunetbootinとかで、ことごとく失敗しました。) 今回は…

git-pushで原因不明のエラー

リモートリポジトリにpushしたところ、以下の出力で原因不明のエラーに遭遇→解決したので記す。 Error: RPC failed; result=22, HTTP code=501 ちなみに501レスポンスは、サーバーの機能の未実装... 未実装って表示されているわりに、cloneやfetchはもちろん…

研究室指定のsvnと併用してごちゃごちゃになってもう嫌になったのでgitメモ

リモートブランチをそのままローカルに持ってくる git branch origin/

RaspberryPiでyoutubeを再生する

初期状態ではRaspberryPi(以下、rpi)にはフラッシュプレイヤーが存在しないため、youtubeが再生できないのです。 かといってAdobeからインストールしようにも、そもそもAdobe謹製のflashplayerはx86向けで提供されているので、インストールできない…と。(rpi…

RaspberryPiで室内音楽サーバ?を構築しました備忘録

sudo apt-get install apache2 apache-common apacheでhttp,cgi経由でスクリプトを動作させます sudo apt-get install alsa-utils mplayer mplayerを使って音楽(動画)を再生します /etc/network/interfacesを編集して、DHCPではなくIPを固定させます DHCPだ…