インストールや設定がめんどいのでメールサーバーなしでlogwatch
ここ
素晴らしい。
sendemailは野良ビルドしなくても
sudo apt-get install sendemail libio-socket-ssl-perl libnet-ssleay-perl
でOK
2012年4月20日金曜日
2012年4月9日月曜日
2012年4月7日土曜日
UbuntuのfirefoxでJAVA pligin有効化
2012年4月6日金曜日
generic viewでerror
あんまりアホなことすると、とんでもないエラーを吐いたので記録。
Exception Type: TypeError
Exception Value: __init__() takes exactly 1 argument (2 given)
ってわかりませんですがな。
実は、
FooGenericView.as_view()
の後ろが抜けていただけ。orz
Exception Type: TypeError
Exception Value: __init__() takes exactly 1 argument (2 given)
ってわかりませんですがな。
実は、
FooGenericView.as_view()
の後ろが抜けていただけ。orz
2012年4月4日水曜日
Django否定のfilter
こいつ気に入らないから、除いてなんてことあるよね。(ウソ)
from django.contrib.auth.models import User
from django.db.models import Q
User.objects.filter(~Q(id=1))
from django.contrib.auth.models import User
from django.db.models import Q
User.objects.filter(~Q(id=1))
2012年3月30日金曜日
sakura.ad.jpのパスワード管理およびサポートがタコ
さくらインターネットのVPSが熱いので、「さくらインターネット」をかつて利用していたことがあったのでVPS借りようとしたがサインアップで「※会員IDもしくはパスワードが間違っています」だそうだ。
おかしいなと思ってトップページから会員メニューへログインしたらできた。
上記のことをサポートに伝えたら「会員メニュー内のパスワード設定で新しいパスワード」を設定しろという。
とか言っている間に、
「さくらのVPS 2G」プランのお申し込み受付一時停止のお知らせ
となってしまった。orz
田中社長
プログラムにも社内にもバグが紛れ込んでまっせ。
追記:
「会員メニュー内のパスワード設定で新しいパスワード」で異なったパスワードを設定したら、ログイン出来た。しかし、またしても、「さくらのVPS 2G」プランのお申し込み受付一時停止のお知らせ
orz
追記:
第2回目で何とかゲットしますた。
おかしいなと思ってトップページから会員メニューへログインしたらできた。
はあ?
IDを変えるわけにもいかないので会員メニュー内のパスワード設定で新しいパスワードを古いパスワードのまま設定しなおした。そしてサインアップしようとしたが「※会員IDもしくはパスワードが間違っています」だそうだ。はあ?
無論、会員メニューにはログアウトして再度ログインもできる。上記のことをサポートに伝えたら「会員メニュー内のパスワード設定で新しいパスワード」を設定しろという。
とか言っている間に、
「さくらのVPS 2G」プランのお申し込み受付一時停止のお知らせ
となってしまった。orz
田中社長
プログラムにも社内にもバグが紛れ込んでまっせ。
追記:
「会員メニュー内のパスワード設定で新しいパスワード」で異なったパスワードを設定したら、ログイン出来た。しかし、またしても、「さくらのVPS 2G」プランのお申し込み受付一時停止のお知らせ
orz
追記:
第2回目で何とかゲットしますた。
\mathversion{bold}が悪さ
texliveでlongtableのフォントサイズが拡大されたりしていたが
\mathversion{bold}が悪さをしてました。
なぜそうなるのかは不明だが、トップに書いておくのはやめて個別に数式のところに\brで解決。
\mathversion{bold}が悪さをしてました。
なぜそうなるのかは不明だが、トップに書いておくのはやめて個別に数式のところに\brで解決。
2012年3月23日金曜日
texliveで文字サイズがA4に収まらない。
2012年3月22日木曜日
pipでupdate
virtualenv.pyで作った環境にpipでinstallしたものをupdateしたい。
pip freeze -l | sed 's/=.*$//' | grep -v dateutil | xargs pip install -U
grep -v dateutilは1.5を入れときたいから。
pip freeze -l | sed 's/=.*$//' | grep -v dateutil | xargs pip install -U
grep -v dateutilは1.5を入れときたいから。
2012年3月9日金曜日
upTex@texliveでしおり文字化け
\usepackage{atbegshi}
\AtBeginShipoutFirst{\special{pdf:tounicode UTF8-UCS2}}
\usepackage[dvipdfm,bookmarks=true,bookmarksnumbered=true, bookmarkstype=toc]{hyperref}
を入れる。
「互換性の問題から,元の機能は削除してあります。」
だそうだ。
残るは、文字の大きさだ。
\AtBeginShipoutFirst{\special{pdf:tounicode UTF8-UCS2}}
\usepackage[dvipdfm,bookmarks=true,bookmarksnumbered=true, bookmarkstype=toc]{hyperref}
を入れる。
「互換性の問題から,元の機能は削除してあります。」
だそうだ。
残るは、文字の大きさだ。
2012年3月8日木曜日
py2exeでUnicodeDecodeError: 'utf8' codec can't decode byte 0x83 in position 32: invalid start byte
Traceback (most recent call last):
File ".\setup.py", line 38, in <module>
zipfile = None,
File "C:\Python27\lib\distutils\core.py", line 152, in setup
dist.run_commands()
File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands
self.run_command(cmd)
File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\Python27\lib\site-packages\py2exe\build_exe.py", line 243, in run
self._run()
File "C:\Python27\lib\site-packages\py2exe\build_exe.py", line 312, in _run
self.create_binaries(py_files, extensions, dlls)
File "C:\Python27\lib\site-packages\py2exe\build_exe.py", line 572, in create_
binaries
arcname, target.script)
File "C:\Python27\lib\site-packages\py2exe\build_exe.py", line 796, in build_e
xecutable
exe_path = os.path.join(self.dist_dir, exe_base + ext)
File "C:\Python27\lib\ntpath.py", line 108, in join
path += "\\" + b
File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x83 in position 32: invalid
start byte
とでたら、ソースをどっか他所へ、デスクトップではダメ。
多分、pythonのバグだと思うけれど。追求する時間がないので放置
File ".\setup.py", line 38, in <module>
zipfile = None,
File "C:\Python27\lib\distutils\core.py", line 152, in setup
dist.run_commands()
File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands
self.run_command(cmd)
File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\Python27\lib\site-packages\py2exe\build_exe.py", line 243, in run
self._run()
File "C:\Python27\lib\site-packages\py2exe\build_exe.py", line 312, in _run
self.create_binaries(py_files, extensions, dlls)
File "C:\Python27\lib\site-packages\py2exe\build_exe.py", line 572, in create_
binaries
arcname, target.script)
File "C:\Python27\lib\site-packages\py2exe\build_exe.py", line 796, in build_e
xecutable
exe_path = os.path.join(self.dist_dir, exe_base + ext)
File "C:\Python27\lib\ntpath.py", line 108, in join
path += "\\" + b
File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x83 in position 32: invalid
start byte
とでたら、ソースをどっか他所へ、デスクトップではダメ。
多分、pythonのバグだと思うけれど。追求する時間がないので放置
py2exeでerror: MSVCP90.dll: No such file or directory
dllへのパス
sys.path.append(u'..\\path\\to\dll')
を追加
sys.path.append(u'..\\path\\to\dll')
を追加
py2exeでRuntimeError: Could not find the matplotlib data files
py2exeでRuntimeError: Could not find the matplotlib data files
と出たら
data_files=matplotlib.get_py2exe_datafiles(),
を、setupに追加しよう。ここ
と出たら
data_files=matplotlib.get_py2exe_datafiles(),
を、setupに追加しよう。ここ
py2exeでDebug: src/helpers.cpp(140): 'CreateActCtx' failed with error
py2exeでDebug: src/helpers.cpp(140): 'CreateActCtx' failed with errorと出たら、
console=[u'mixer.py'],
から
windows=[u'mixer.py'],
wxPythonを使っているとき注意
console=[u'mixer.py'],
から
windows=[u'mixer.py'],
wxPythonを使っているとき注意
2012年3月6日火曜日
upTex@texlive
texliveにupTexが含まれたみたいなので、ここ。
指示に従ってインストール。
wget -c http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz
wget -c http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz.sha256
sha256sum -c ./install-tl-unx.tar.gz.sha256
tar -xzf ./install-tl-unx.tar.gz
cd ./install-tl-20120408/
sudo ./install-tl
sudo /usr/local/texlive/2011/bin/x86_64-linux/tlmgr update --self --all
sudo /usr/local/texlive/2011/bin/x86_64-linux/tlmgr --repository http://www.tug.org/~preining/tlptexlive/ update --all
sudo /usr/local/texlive/2011/bin/x86_64-linux/tlmgr --repository http://www.tug.org/~preining/tlptexlive/ install pmetapost pxdvi uptex
えらく時間が掛る。
sudo aptget install ttf-ipafont
dvipdfmxでwqy-zenhei.ttfで怒られる。
sudo mkdir /usr/local/texlive/2011/texmf-dist/fonts/truetype/public/wqy-zenhei/
sudo ln -s /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc /usr/local/texlive/2011/texmf-dist/fonts/truetype/public/wqy-zenhei/wqy-zenhei.ttf
sudo /usr/local/texlive/2011/bin/i386-linux/mktexlsr
kpsewhich wqy-zenhei.ttf
/usr/local/texlive/2011/texmf-dist/fonts/truetype/public/wqy-zenhei/wqy-zenhei.ttf
dvipdfmx -f cjk.map ./***.dvi
でけた。
でも、フォントサイズが異なるような。A4に収まらない。???
目次も文字化け???
なんかちゃうんやろな。元のTexファイルは別の環境でpdfがちゃんとできていたから。
指示に従ってインストール。
wget -c http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz
wget -c http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz.sha256
sha256sum -c ./install-tl-unx.tar.gz.sha256
tar -xzf ./install-tl-unx.tar.gz
cd ./install-tl-20120408/
sudo ./install-tl
sudo /usr/local/texlive/2011/bin/x86_64-linux/tlmgr update --self --all
sudo /usr/local/texlive/2011/bin/x86_64-linux/tlmgr --repository http://www.tug.org/~preining/tlptexlive/ update --all
sudo /usr/local/texlive/2011/bin/x86_64-linux/tlmgr --repository http://www.tug.org/~preining/tlptexlive/ install pmetapost pxdvi uptex
えらく時間が掛る。
sudo aptget install ttf-ipafont
dvipdfmxでwqy-zenhei.ttfで怒られる。
sudo mkdir /usr/local/texlive/2011/texmf-dist/fonts/truetype/public/wqy-zenhei/
sudo ln -s /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc /usr/local/texlive/2011/texmf-dist/fonts/truetype/public/wqy-zenhei/wqy-zenhei.ttf
sudo /usr/local/texlive/2011/bin/i386-linux/mktexlsr
kpsewhich wqy-zenhei.ttf
/usr/local/texlive/2011/texmf-dist/fonts/truetype/public/wqy-zenhei/wqy-zenhei.ttf
dvipdfmx -f cjk.map ./***.dvi
でけた。
でも、フォントサイズが異なるような。A4に収まらない。???
目次も文字化け???
なんかちゃうんやろな。元のTexファイルは別の環境でpdfがちゃんとできていたから。
2012年3月2日金曜日
BeautifulSoupでtable内tr検索
図書館の貸出を自働で取り込むプログラムをつくろうとしたら、<table>タグの中に<table>が複数入れ子になっている汚いhtmlでBeautifulSoupでfindAll(u'tr')としたら下の階のも取り出してしまう。
findAll(u'tr', recursive=False)
で単一階層から取り出してくれる。
findAll(u'tr', recursive=False)
で単一階層から取り出してくれる。
2012年2月20日月曜日
2012年2月15日水曜日
pyUSB 1.0
デバイスを見つける。
idVendorとidProductにセットして呼ぶ
device = usb.core.find(idVendor=vendor_id, idProduct=product_id)
デバイスを閉じる。
usb.util.dispose_resources(device)
最初0.4で作っていたが、1.0では動かなかった。legacyで動くはずなんだけれどバグだと思って、めんどくさいから、1.0で作りなおしたとさ。
idVendorとidProductにセットして呼ぶ
device = usb.core.find(idVendor=vendor_id, idProduct=product_id)
デバイスを閉じる。
usb.util.dispose_resources(device)
最初0.4で作っていたが、1.0では動かなかった。legacyで動くはずなんだけれどバグだと思って、めんどくさいから、1.0で作りなおしたとさ。
2012年2月6日月曜日
mbed始めました。
冷やし中華じゃあ無いよ。
mbed始めました。
オンラインに開発環境があるって素敵。
いままでマイコンって開発環境整えて始めるまでが大変だったけれど、ゲジゲジ買ってきてUSBを挿してサインアップするだけ。
一個だけチカチカするのではつまらないので4つ流してみました。
て言うか、簡単すぎ。ものの10分でできた。
小学生でも高学年なら十分やれるね。
mbed始めました。
オンラインに開発環境があるって素敵。
いままでマイコンって開発環境整えて始めるまでが大変だったけれど、ゲジゲジ買ってきてUSBを挿してサインアップするだけ。
一個だけチカチカするのではつまらないので4つ流してみました。
て言うか、簡単すぎ。ものの10分でできた。
小学生でも高学年なら十分やれるね。
2012年2月1日水曜日
windows XPでlibusb-win32によってインストールされたドライバ削除
2012年1月31日火曜日
libusb with pyUSB
pythonでUSBを使わなければならなかったので、試行錯誤の結果をメモ。
必要なもの。
1. libusb
2. pyUSB
3. SnoopyPo
ターゲットはUSB接続のA/D、D/Aモジュール。windows XPまでしかサポートされていないがwindows 7で使いたい。
1)開発環境はUbuntuなのでlibusbとpyUSBはapt-getでinstall
2)SnoopyPoでUSB通信を傍受。使い方は同梱のsnnopy_pro.txtに書いてある。xmlにexportしてBULK_OR_INTERRUPT_TRANSFERのendpointとpayloadbytesに注目
例えば今回の8bitD/A出力だと
3)pyUSBの基礎は他を当たってね。
4)2)の情報からD/A出力は
usb_dev.handle.interruptWrite(usb_dev.endpoints[0].address, [0x29, 0x03, 0xff, 0x34], timeout)
追記:
http://www.jespersaur.com/drupal/book/export/html/21
http://www.cs.indiana.edu/~bpisupat/work/usb.html
http://www.ladyada.net/learn/diykinect/
http://www.linuxjournal.com/article/7353
http://tali.admingilde.org/linux-docbook/writing_usb_driver.pdf
http://www.reactivated.net/weblog-content/20050806-reverse-0.2.txt
http://matthias.vallentin.net/blog/2007/04/writing-a-linux-kernel-driver-for-an-unknown-usb-device/
必要なもの。
1. libusb
2. pyUSB
3. SnoopyPo
ターゲットはUSB接続のA/D、D/Aモジュール。windows XPまでしかサポートされていないがwindows 7で使いたい。
1)開発環境はUbuntuなのでlibusbとpyUSBはapt-getでinstall
2)SnoopyPoでUSB通信を傍受。使い方は同梱のsnnopy_pro.txtに書いてある。xmlにexportしてBULK_OR_INTERRUPT_TRANSFERのendpointとpayloadbytesに注目
例えば今回の8bitD/A出力だと
<urb sequence="13">となっている。
<function>
BULK_OR_INTERRUPT_TRANSFER
</function>
<endpoint>
-1
</endpoint>
<packetcount>
1
</packetcount>
<payload packet="0">
<payloadcount>
4
</payloadcount>
<payloadbytes>
29033300
</payloadbytes>
</payload>
</urb>
3)pyUSBの基礎は他を当たってね。
4)2)の情報からD/A出力は
usb_dev.handle.interruptWrite(usb_dev.endpoints[0].address, [0x29, 0x03, 0xff, 0x34], timeout)
追記:
http://www.jespersaur.com/drupal/book/export/html/21
http://www.cs.indiana.edu/~bpisupat/work/usb.html
http://www.ladyada.net/learn/diykinect/
http://www.linuxjournal.com/article/7353
http://tali.admingilde.org/linux-docbook/writing_usb_driver.pdf
http://www.reactivated.net/weblog-content/20050806-reverse-0.2.txt
http://matthias.vallentin.net/blog/2007/04/writing-a-linux-kernel-driver-for-an-unknown-usb-device/
2012年1月28日土曜日
linuxでUSB vender ID
$lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 058f:6377 Alcor Micro Corp. Multimedia Card Reader
Bus 003 Device 003: ID 0bd5:0120
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 058f:6377 Alcor Micro Corp. Multimedia Card Reader
Bus 003 Device 003: ID 0bd5:0120
2012年1月24日火曜日
HttpResponseRedirectにcontextを渡す。
あるページにリダイレクトして、リダイレクト元のページに戻るれるようボタンを表示したい。
request.session['send_page'] = reverse('send_page')
return HttpResponseRedirect(u'page_send_to')
リダイレクト先のテンプレートで
{% if request.session.send_paget %}
<a href="{{ request.session.send_page }}"><img src="{{ MEDIA_URL }}path2img/back.png" alt="Back to Tree" /></a>
{% endif %}
request.session['send_page'] = reverse('send_page')
return HttpResponseRedirect(u'page_send_to')
リダイレクト先のテンプレートで
{% if request.session.send_paget %}
<a href="{{ request.session.send_page }}"><img src="{{ MEDIA_URL }}path2img/back.png" alt="Back to Tree" /></a>
{% endif %}
2012年1月23日月曜日
DjangoでformのForeignKey選択設定
Djangoでmodelを与えてformを作成すると、勝手にForeignKeyはselectionをoptionで用意してくれる
tutorialの
tutorialの
class Choice(models.Model): poll = models.ForeignKey(Poll) choice = models.CharField(max_length=200) votes = models.IntegerField()
なら、pollはclass Select(Widget)でoptionに選択可能なqueryの結果が表示される。
でもここではその中でも特定の要素を持つものに絞りたい。
form.fields['poll'].queryset = Poll.objects.filter(hoge=fuga)
さらに、特定の値をデフォルトにするには、
form.fields['poll'].initial = Poll.objects.get(pk=fuga)
2012年1月10日火曜日
matplotlibで日本語
ここを参考にさせて頂きました。knaka20blueさんありがとうございます。
前の投稿分に日本語でタイトル追加。
前の投稿分に日本語でタイトル追加。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Used to guarantee to use at least Wx2.8
import wxversion
wxversion.ensureMinimal('2.8')
import wx
import wx.aui
import matplotlib
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
from matplotlib.backends.backend_wxagg import NavigationToolbar2Wx
import matplotlib.font_manager as fm
class Plot(wx.Panel):
def __init__(self, parent, id = -1, dpi = None, **kwargs):
wx.Panel.__init__(self, parent, id=id, **kwargs)
self.figure = matplotlib.figure.Figure(dpi=dpi, figsize=(2,2))
self.canvas = FigureCanvasWxAgg(self, -1, self.figure)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.canvas, 1, wx.EXPAND)
self.SetSizer(sizer)
def get_figure(self):
return self.figure
def demo():
app = wx.PySimpleApp()
frame = wx.Frame(None, -1, 'Plotter')
plot = Plot(frame)
sizer = wx.BoxSizer()
sizer.Add(plot, 1, wx.EXPAND)
frame.SetSizer(sizer)
axes = plot.get_figure().gca()
axes.plot([1, 2, 3, 4, ],[2, 1, 4, 1, ])
prop = fm.FontProperties(fname='/usr/share/fonts/opentype/ipafont/ipag.ttf')
plot.get_figure().gca(kwargs='title').set_title(u'グラフだぴょーん', size='24', fontproperties=prop)
frame.Show()
app.MainLoop()
if __name__ == "__main__":
demo()
matplotlibでグラフ
GL220を使って取り込んだデーターをグラフ化したい。
探してきたのは「matplotlib」
wxWidgetsともバインドできるらしい。という事でサンプルを見てみたが、手が込んでいて猿脳にはわからない。ということで最小限化してみた。
探してきたのは「matplotlib」
wxWidgetsともバインドできるらしい。という事でサンプルを見てみたが、手が込んでいて猿脳にはわからない。ということで最小限化してみた。
#!/usr/bin/env pythonもとは、embedding_in_wx5.py 。wxPanel上にFigureCanvasWxAggを重ねて、そのパネルをwxFrameにwxBoxSizerで貼りつけた。
# -*- coding: utf-8 -*-
# Used to guarantee to use at least Wx2.8
import wxversion
wxversion.ensureMinimal('2.8')
import wx
import wx.aui
import matplotlib
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
from matplotlib.backends.backend_wxagg import NavigationToolbar2Wx
class Plot(wx.Panel):
def __init__(self, parent, id = -1, dpi = None, **kwargs):
wx.Panel.__init__(self, parent, id=id, **kwargs)
self.figure = matplotlib.figure.Figure(dpi=dpi, figsize=(2,2))
self.canvas = FigureCanvasWxAgg(self, -1, self.figure)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.canvas, 1, wx.EXPAND)
self.SetSizer(sizer)
def get_figure(self):
return self.figure
def demo():
app = wx.PySimpleApp()
frame = wx.Frame(None, -1, 'Plotter')
plot = Plot(frame)
sizer = wx.BoxSizer()
sizer.Add(plot, 1, wx.EXPAND)
frame.SetSizer(sizer)
axes = plot.get_figure().gca()
axes.plot([1, 2, 3, 4, ],[2, 1, 4, 1, ])
frame.Show()
app.MainLoop()
if __name__ == "__main__":
demo()
登録:
投稿 (Atom)