プロコン合宿

2週間近く経ってしまいましたが. 3/11〜13 の 3 日間の合宿を開催しました. 北は北海道から南は沖縄まで各地から足を運んでいただき本当にありがとうございました. Day1 会津大の 3 時間セット. @cos65535 さんと @lyoz さんと組ませていただきました. …

GTKでつながってるボタン

Gnome shell のアカウントの追加とかでよく見るつながってるボタンってどうやって作るんだろうと思って調べた. ButtonBox の style class として linked を設定するとできるらしい. glade だと,共通タブに Style Classes という項目がある. あと,Gnome …

パーフェクトPythonを読んだ

関数型言語始めようかと思って本屋行ってパーフェクトPython衝動買いした.— Tsushimaさん (@utisam) 2013年3月15日 な… 何を言ってるのか わからねーと思うが(ry 基本的な文法紹介するだけとかWebアプリに偏ってたりしてなくておもしろそうと思ったので…

新デスクトップとディストリと最適化

大学の研究室でデスクトップPC割り当ててもらったので早速Linuxをインストールすることに. 要望としては: gnome3系(gnome-shell, Unity, Cinnamon)が簡単に入る 長く使いたい(半年とかですぐインストールするの面倒) python2.7がメイン python3.3がパッケ…

Fedora 18 を入れてみた

Python3 が 2.7 を超えてきたらしい ので移行したいなと思い,どうせならディストリごと変更してみました. Ubuntu12.10 は Unity の依存関係だろうと思うけど python3 は 3.2 で python3.3 が別に用意されています. 他にもハードの相性とかが悪くていろい…

「われ敗れたり」を読んだ

故・米長永世棋聖の「われ敗れたり」を本屋で立ち読みしてて首が痛くなってきたので衝動買いしました. 電王戦でボンクラーズに敗れた話がまとめられています. 将棋の棚にあったけど情報系の読み物としても十分おもしろいなぁと思いました(確かに将棋のル…

MIDIファイルを生成する

Python3は文字列とかバイト列とかの扱いがすっきりした感じがするので練習がてらStandardMIDIFileを出力させてみた. :::python #!/usr/bin/env python3 #-*- coding:utf-8 -*- import copy import heapq class SMF(object): '''Standard MIDI File ''' def …

Tkinterでウィンドウの最大化

Windowsでは :::python from Tkinter import * root = Tk() root.state('zoomed') LinuxとかMacだと :::python from Tkinter import * root = Tk() root.attributes("-zoomed", "1") 参考:Maximizing the window of a Tkinter app - Devourer09

middlewareで簡単アクセス解析

Djangoのmiddlewareって意外と単純なんですね. Django: ミドルウェアの実装方法(全てのビューに処理をフックする方法) - PHACTORY process_reques から request データベースに放り込むようにすると簡単なアクセス解析アプリが作れる. 見る方は template…

django-skelを使うようにした

リファクタリングになったし表示速度にも効いてる気がする. Djangoが分かってきたけど綺麗に作るには……?という人には非常に良いと思う. django-skel - github django-skel 1.4 documentation Django 1.4のproject template便利 - Make組ブログ settings/p…

Djangoで更新する度に日付が変わるバグに遭遇した

DjangoでDateTimeFieldを使っていたら, なぜか管理画面で日付が更新ボタンを押す度に変わる. それも±9:00で. modelのメソッドでバグ出しちゃったかなーと思ったけどそうでもなさそう. 結局settings.pyで TIME_ZONE = 'Asia/Tokyo' としてたせいでした. …

腐ったmakeを支える技術

まさか自分と同い年のMakefileと戦うことになるとは。— Tsushimaさん (@utisam) 12月 26, 2012 あんまり身に付けたくない力だけど付いてしまったものは仕方がない. これ以上C/C++のビルドごときで時間を取られたくないので文章化したい(パズルみたいでちょ…

BLAKE2をPythonから

Sourceforge.JP Magazine の記事 に BLAKE2 というものが載ってたので,ctypesの練習がてら書いてみた. Makefile: :::makefile CC=gcc CFLAGS=-shared -std=c99 -O3 -march=native -Wall -fPIC -fopenmp -I../sse -I/usr/include/python2.7 LIBS= #FILES=bl…

Pythonで補完できる使い勝手の良いCUIアプリを

自分で作ったCUIアプリで補完が欲しいと思ってたら それっぽいもの があった. ここ のSimpleCompleterを使えば良いのだけど, 単純なので良ければbisectを使うともうちょっとうまく書けると思う. :::python import readline import bisect def complete(c)…

OpenGLでマルチスレッド使うといろいろと詰む話

ウインドウ系のスレッドとビジネスロジックのスレッドを分けてglutPostRedisplay適当に呼んだらいいかなーとか思って作ってたら詰んだ. コールバック以下でないとglutPostRedisplayを呼べないらしい. glutGetModifiersも同様にコールバック以下でないとダ…

2進数の話

読んだ内容を確かめるときによくIPythonを使うんですが… :::python In [18]: format(-10, '08b') Out[18]: '-0001010' 違うんだ.期待した答えはそうじゃないんだ…… :::python In [19]: format(0x100 - 10, '08b') Out[19]: '11110110' ビット操作のアルゴリ…

負の数の割り算

Pythonで割り算に負の数を含めるとC/C++と違う挙動をする. :::sh $ python -c "print 4//(-3)" -2 $ gcc -xc - int main() { printf("%d\n", 4 / (-3)); } $ ./a.out -1 pythonは負の無限大方向に丸めてくれる. これは数学的に望ましいらしい(The History …

Pythonで競技プログラミング

ありがたいことにAOJもAtCoderもいろいろな言語に対応しています. 邪道な感じですが新しい発見があっておもしろいです. 入力 C/C++/Javaから始めるとraw_inputもinputも1行とってくるので一瞬つまります. raw_inputをsplitしましょう.カンマ区切りも柔軟…

waf + msvc + boost

boost::threadをwafでコンパイルしようとして頑張った。 Visual Studioでググった通りにコンパイル オプションを復元してコマンドでコンパイル wafで同じオプションになるようにwscript書く 最終的なwscriptは以下の通り #!/usr/bin/env python def configur…

C++でクラスを作るときに気を付けるべきこと

C++って,「このクラスこういう使い方していいの?」とか,「こう書いたらあれしたらマズイことになる」とか,「ほげほげなクラスはこう書かなくてはいけない」とか多すぎる気がするのでまとめてみる. 継承される可能性があるか デストラクタかvirtualかそ…

libxppを立ち上げました

github Windowsでもそれほどgitが不便ではないようです. DirectX10で作ろうと思っています. 11は対応するPCが無いので未定です. でもまぁ9, 10ほど違うわけではないので大丈夫かなとか思ってます. DirectX10以降は3Dはシェーダ必須なのがすごくだるいで…

ICPC夏合宿

ICPCの夏合宿に参加してきました. 昨年までは招待制でしたが,今年からは自由に参加することが出来ました. Day1の懇親会ではもう少し交流できたらよかったなぁと後悔しています. 懇親会では,まだ日本では未発売のNexus7触らせていただきました. 今持っ…

SSH先でメール出す

SSHで接続してそこからmailコマンド使うとき,mailコマンドは文字コードをよしなにしてくれないので,UTF-8で送ると文字化けしてしまう. nkfが入っていれば良いのですが,入ってなかったのでスクリプト書きました. #!/usr/bin/env python #-*- coding:utf-…

モバイル版Firefoxで崩れる

モバイル版firefoxだとデザイン崩れるけど、アプリのコメント見る限りズームおかしいのはこっちのせいでは無い気がする。— Tsushimaさん (@utisam) 9月 7, 2012 Media Queriesが効くようになったら多分大丈夫だと思う.

Markdownテスト

マークダウンで書けるようにしてみた markdown 突然のマークダウン!!! Markdown コード #!/usr/bin/python # Code goes here ... from django.db import models class Entry(models.Model): DRAFT, PUBLISHED = ('D', 'P') STATUS_CHOICES = ((DRAFT, 'dr…

ブログ移動しました

Bloggerも良かったのだけれど, 今のVPS,乗り換え時期に乗り換えれなかったので,そろそろ乗り換えたい.— Tsushimaさん (@utisam) 8月 25, 2012 ということで,いろいろとDjango+Sphinx+gitでまとめて見ました.

django-admin.pyの補完が古い

zsh

Ubuntu12.04のzshの補完関数にあるdjango-admin.pyでstartprojectが補完されない. というわけでパッチ

DjangoでAJAX

Ajaxを勉強しようの初めのサンプルをdjangoで動的に返せるようにしてみる. $ django-admin.py startproject ajax $ cd ajax $ chmod 775 manage.py $ gedit ajax/(urls.py|views.py) $ python manage.py runserver 単純にURL割り当ててviewsで返すだけ. 非…

twitter feat. gedit commander plugin

commanderプラグインを読んでたらtweepyと合わせて簡単に出来そうだったので作ってみた. pipからtweepyをインストール gedit-pluginsパッケージとかからCommanderプラグインを入れて設定から有効にします. $HOME/.config/gedit/commander/modules/ にお好…

geditをコンパイル

ふとgeditの最新版が欲しくなったのでgitから落としてきてコンパイルした. とくに新しいからといってめぼしい機能はないのだけれど,気分の問題. debian stable の時はいろいろとパッケージがなくて断念したんだけど,Ubuntuは充分揃ってていがいとすんな…