gitリポジトリをshallowに変換

git

環境 git-1.7.4 $ git clone --depth=1 https://hoge.com/hoge/hoge.git とかでリポジトリをshallowクローンできるのは知っていたのですが、通常のリポジトリを簡単にshallow化する方法を発見したのでメモメモ。 $ git clone https://hoge.com/hoge/hoge.git…

x64なubuntuでx86ビルドする

$ sudo apt-get install g++-multilib $ g++ -m32 -c -o main.o main.cpp $ g++ -m32 -o main main.o m32つけるだけだとビルドエラーになった。g++-multilibをインストールしておかないとダメみたい。

luajit vs pypy

luajitがアツイという話を聞きつけたのでpypyと比較してみた。 luajitは id:pcl:20100203 を参考に。 -- prime.lua function isprime(n, primes) nsqrt = n ^ 0.5 for i = 1, #primes do if nsqrt < primes[i] then break end if n % primes[i] == 0 then re…

pipとeasy_installの違い

何が違うんだかわからんけど、virtualenv先でもscons使いたかったのでpipでインストールしようとしたら入らんのでどうしようか悩んでたけど、easy_installしたらサクっと入った。 そういうこともあるのね。

boost with sqlite3

// -*- coding: utf-8-with-signature-dos -*- //============================================================================== #include <sqlite3.h> #include <boost/format.hpp> #include <boost/bind.hpp> #include <string> #include <iostream> #include <functional> using boost::format; using boost::bind; …</functional></iostream></string></boost/bind.hpp></boost/format.hpp></sqlite3.h>

boost勉強中

boostが楽しいassignとかlambdaとか便利やわ〜。 // -*- coding: utf-8-with-signature-dos -*- //============================================================================== #include <boost/lambda/lambda.hpp> #include <boost/lambda/bind.hpp> #include <boost/assign.hpp> // lambda/bind.hppと一緒にincludeする</boost/assign.hpp></boost/lambda/bind.hpp></boost/lambda/lambda.hpp>…

コメントアウトの切り替え

ふと思いついたpythonで#if/defのようなことをやる方法 C/C++:#if/defを使う #if 0 ... 無効 ... #else ... 有効 ... #endif #if 1 ^ .. 0->1に書き換え ... 有効 ... #else ... 無効 ... #endif C/C++:コメントを使う /* ... 無効 ... /*/ ... 有効 ... /…

py2exeのデフォルトエンコーディング

環境:python2.7 / win32 py2exeでexe化するとデフォルトエンコードが設定されずasciiのままになります。この状態で日本語をprintするとエンコードエラーになり正常に動作しない。いままでsys.stdout=codecs.getwriter('cp932')(sys.stdout)って書いてたけど…

crc32

最近PTVS(http://pytools.codeplex.com/)なんて面白いものも出てくるし、Aptanaがver3になってpydev標準装備など、どんどんpythonブームが来ている感じがしてワクワクします。 crc32 crc32の計算方法を調べたのでメモしておきます。 from binascii import cr…

PyPy 1.5

http://morepypy.blogspot.com/2011/04/pypy-15-released-catching-up.html もう1.5が出た。活発やねぇ。 1.4も1.5も速度が上がらないなぁと思ってたらwin64だったからっぽいですね。 32bitで試したらかなり速くなった!これたぶんx64だとハナから諦めてnoji…

bs-showの拡張

bsのファイル一覧表示を使っていましたが、ディレクトリも表示したくなったので調べてみました。 (when (load "bs") (defun my-visits-non-file-or-dir (buffer) (and (not (buffer-file-name buffer)) ; ファイルパスが入っていない (not (eq (buffer-local…

pimplパターン+コンパイルタイムアサート

C++

pimplパターンは良く使うのだけれど、毎回newするのは如何なものかと思っていた。コンパイルタイムアサート使ってこんな風に書けばメモリブロックがひとつで済む。 hoge.h // コントローラ class Controller { public: Controller(); const char* name() con…

PyPy 1.4

先日言ってたのがやっぱしリリースされました。早速試してみよっと。 http://morepypy.blogspot.com/2010/11/pypy-14-ouroboros-in-practice.html

pypyでexeを作る

環境はbashとpython2.7とVisualStudio2008で試しました。 まずはpypyの最新ソースを取ってくる $ git svn -r HEAD http://codespeak.net/svn/pypy/trunk pypy-trunk もしくは $ svn co http://codespeak.net/svn/pypy/trunk pypy-trunk 適当な.pyを書く #!/u…

どかんを試す

Windows版FUSEのDokanライブラリ http://dokan-dev.net/ インストールすると入っているサンプルのmirror.exeを試してみました。 まずは直接Eドライブへアクセスした場合。 こちらがXドライブへEドライブをマウントした場合。 速い!むしろ遅くなると予想…

コンパイラの未使用変数警告を消す

C++

void fun(int num) { int val = getval(); } 警告レベルが高いとnumとvalで警告が出る。 void fun(int /*num*/) { int val = getval(); (void)val; } 引数んとこに書くなら変数名をコメントアウト関数内で書くならvoidキャスト。msvcもgccもこれでいける。

argparse

#!/usr/bin/env python # -*- coding: utf-8 -*- import argparse parser = argparse.ArgumentParser() parser.add_argument('-o', '--output') parser.add_argument('-v', dest='verbose', action='store_true') args = parser.parse_args() print 'args.ou…

wxProgressDialog

プログレスバーを使って進捗表示。 #!/usr/bin/env python # -*- coding: utf-8 -*- import wx count = 10 app = wx.PySimpleApp() progress = wx.ProgressDialog( u'progressing ...', u' '*80, maximum = count, parent = None, style = wx.PD_APP_MODAL|w…

windows用のPyQt4をビルド

折角python2.7にしたのにnokiaさんRiverbankさんがPyQt4のpython2.7版をupしてくれないので自前でビルドしました。やり方を忘れないようにメモ。 http://diotavelli.net/PyQtWiki/BuildPyQt4Windows 基本的に上記サイトに書いてあることをそのままやっただけ…

gcc-3とgcc-4の切り替え

$ /usr/sbin/update-alternatives --config gcc gccのバージョン切り替えコマンド。こんなんあるんだね。

コマンドラインでC-hを使う方法

すぐ忘れるのでメモメモ http://www.freia.jp/taka/blog/690 $ easy_install -Z pyreadline --- pyreadline/keysyms/keysyms.py.orig +++ pyreadline/keysyms/keysyms.py @@ -119,6 +119,10 @@ char = chr(VkKeyScan(ord(char)) & 0xff) elif control: char=…

git rebaseでupdate-refで止まる件

git

http://d.hatena.ne.jp/miau/20100514/1273860616 git-rebaseで唐突にusageが出るのはそういうことだったのか。なるほど。

pdbで日本語入りソースをデバッグするとき

マルチバイト文字入りのコードをpdb.pyでデバッグ開始するとencodeうんたらでbreakされる。バグ?ググったら修正の仕方が載ってたのでメモメモ。 http://bugs.python.org/issue6719 --- pdb.py (revision 74707) +++ pdb.py (working copy) @@ -183,11 +183,…

diredをwindowsのexplorerと同じ並び順にする

(setq ls-lisp-ignore-case t) ; ファイル名の大文字小文字無視でソート (setq ls-lisp-dirs-first t) ; ディレクトリとファイルを分けて表示 (setq dired-listing-switches "-AlGh") ; グループ表示なし、'.'/'..'を非表示、サイズをK/Mに変換 もう半分慣れ…

mergeの癖

git

masterを作業用ブランチにrebaseしたら作業用コミットがrebase後のコミットに書き換えられてしまい、違うリポにcloneしてあったブランチにpushできなくなった。 作業用ブランチを一度pullしてからならpushできたのだけど同じ内容のコミットがマージ履歴とし…

gitkは良い

git

ログを見るのにgitkを使っています。このサクっと表示される感じが素敵です。 以前から使っていたmercurialのリポジトリをgitに移行したんですが、規模が小さいせいかpull/pushはmercurialの方が早かった。ちょっと残念。

magit導入

magit導入してみた。Staged changesが出ないなーっと思ったら、msysgitに入っているgit.cmdを使ってると戻り値が取れなくなるので、stagedファイルが存在しないと見なされるみたい。git.exeを呼ぶようにしたら出た。 素敵。

git

git

試してみた。msysgitをインストールして.batでラップして環境変数を閉じ込める。これで準備完了。 SSD上のファイル数:11319、総容量:1077MBのフォルダをaddするのに2分強。commitするのに2分半。cloneするのに4分半。ちなみにtgzで圧縮するだけで1分半かかる…

hudson入れてみた

http://hudson-ci.org/ 会社の共有マシンにhudson入れてみました。いままで手作りで書いてたところを書かなくてもいい!しかも痒いところにほぼ手が届いていて素敵です。hudsonの存在を教えてくださった方々に多謝。 web系アプリは面白いですね。早くauのAnd…

pingアプリの結果を逐次表示

昨日の実装だとpingの終了を待たないと結果が表示されないので、逐次表示されるように修正してみた。 作ってみる 構成 ping2/ - main.py - static/ - favicon.png - jquery-1.4.2.min.js - test.css - test.js - templates/ - index.html index.html $def wi…

web.pyでpingアプリ

最近はtwitterでつぶやくばかりではてな日記は書いてませんね。こっちに書かないと回想できないのでたまにはこっちにも書きます。 前準備 web.pyをインストール $ easy_install web.py 現時点でのバージョンは0.32。 作ってみる ディレクトリ構成 hoge/ - ma…

早くなった

etc

[id:shive:20100114:1263439475] 重くなった件、いろいろ試した結果、環境変数PATHが多かったり存在しないフォルダを指定しているのが原因だったみたい。普段使う場所を極力手前に持ってきて使わない場所を消したらストレスの無い速度に戻った。たぶん一番重…

玄箱復活

自宅の落雷停電とともにクラッシュしていた玄箱の中身を消してdebian化して復活させました。aptでpython2.5とdjangoを入れて携帯電話からdjangoのIt worked!が見れるところまで確認。やっぱりdebianは楽でいいです。後はなんか家計簿アプリを自作して個人的…

NTEmacsで画像表示

画像表示しようと思ったら出なかったのでメモ。howmを使っていて画像挿入が欲しくなったので調べてみたら標準でiimage-modeというのがあるらしい。 しかし、自分の環境だとエラーが出て表示されない。どうやらImageMagickを入れなきゃいかんみたい。なのでこ…

標準django完全解説

開発のプロが教える標準Django完全解説―Webアプリケーションフレームワーク (デベロッパー・ツール・シリーズ)作者: 増田泰,中居良介,露木誠,松原豊出版社/メーカー: アスキー・メディアワークス発売日: 2008/06/19メディア: 単行本購入: 13人 クリック: 196…

クラウド環境

etc

次のプロジェクトではまともな自動ビルド環境を導入しようと、hudsonをいじってます。いや、ほんとはbuildbotをいじりたいんですが、言葉の壁と日本での普及具合からまずは、ってことで。 hudsonってクラウド環境がしっかりしてるんですが、これローカルマシ…

重いけど

etc

ファイルオープンがやたら遅い件、CrystalDiskMarkの結果が去年の10月に取ったものとだいぶ違う。ファイルが大きいほど速度向上していて2倍以上速い場合もある。ファイルサイズが大きい方を優先して転送するようになったのかー。これはWindowsUpdateのせい…

重い

etc

この前WindowsUpdateしたあたりからやたらファイルオープンが重くなった。SSDのドライブは重くないのでHDDかRAIDのドライバのせいか?うーん。。。

PyQt4に圧倒された

いままでwxPython弄ってきましたが、ここに来て会社の人にPyQt4を薦められインストールしてみました。そしたら何じゃこりゃ!demoアプリがかっこよさが違う!うにーんうにうにーんって動いてます。以前KDE(Qtをバックエンドに使ったdesktop)を触ったことがあ…

すばらしい

[id:moriyoshi:20091214:1260779899] 参考になるなぁ。多謝。

あけましておめでとうございます。

etc

あけました。今年はしばらくお休みからのスタートです。 休み明けからまた忙しくなる予定なので、この休み中にいろんなことを吸収したい。

py++

昨日の続き。py++を使ってみる。 py++をセットアップ http://language-binding.net/pyplusplus/pyplusplus.html 参考 http://anond.hatelabo.jp/20080320141900 [id:kakk0u:20080706:1215365707] http://sourceforge.net/projects/pygccxml/ http://www.gccx…

悪戦苦闘

C++実装された既存のライブラリをpy++でpythonに落とすコードを書いてみていますが、関数のオーバーロードとか、return_opaque_pointerとかの指定がよく分からない。member_functionとかで関数を拾ってきて設定するっぽいのだけど、関数の検索がうまくいかな…

sconsの.sln/.vcproj出力機能

ただのNMAKEエクスポータじゃねぇか!!

boost.pythonでvirtualのoverride

http://svn.sourceforge.jp/svnroot/shive/junk/diary/2009/20091216_override.tar.gz やってみた。 class Person { public: Person() { } virtual ~Person() { } void say() { printf("[%08X]%s\n", (uintptr_t)this, _what()); } virtual const char* _wha…

C++クラスをpythonへ公開する

http://svn.sourceforge.jp/svnroot/shive/junk/diary/2009/20091215boostpython.tar.gz詳細は↑こちらを参照。 // src\person.cpp #include "stdafx.h" class Person { public: Person() { printf("[%08X]Person.ctor\r\n", (uintptr_t)this); } virtual ~Pe…

vs9のプリコンパイルヘッダをsconsでビルド

# SConstruct from os import environ from distutils.sysconfig import get_python_inc, get_python_lib # 環境設定 env = Environment( CPPFLAGS = ['/O2', '/MD', '/EHsc'], CPPPATH = [ environ['BOOST_INC'], get_python_inc() ], LIBPATH = [ environ[…

Boost.Pythonに挑戦

// src/fibo.cpp #include <boost/python.hpp> int fibo(int n) { if(n == 0) return 0; if(n == 1) return 1; return fibo(n - 1) + fibo(n - 2); } BOOST_PYTHON_MODULE(fibo) { boost::python::def("fibo", fibo); } # SConstruct from os import environ from distutils.sy</boost/python.hpp>…

ブログタイトル

etc

最近抱えていた仕事が1本終わったので、ブログタイトルを変えてみました。 ゲームプログラマよりもゲームエンジニアの方がイメージが良い。

android渇望

etc

こんな検索される前に早くandroid端末を出してくれ。auさん。