programming

5分で自分のTwitter GUIクライアントを作る方法

用意するもの Read/Write/DM可能なアプリケーションのコンシューマキーとシークレット(https://dev.twitter.com/appsで取得 subversionのクライアント (tortoiseSVNとか visual basic 2010 express (vb.netをビルドできる環境 1. subversionクライアントでリ…

Pythonでベジェ曲線クラスを実装してwxPythonで動かす

中学生でもわかるベジェ曲線を読んでなるほどなーと思い、理解の確認でPythonでベジェ曲線のクラスを実装した。 #! /usr/bin/python2.7 # coding: utf-8 # bezier.py # ref: http://ruiueyama.tumblr.com/post/11197882224 def pt(p, q, t): assert 0 <= t <…

shebang urlを使ってみた

ajaxなアプリケーションを、表示しているコンテンツによってurlを切り替えつつ(もちろん画面遷移無しで)googleに正しくクロールしてもらえるようにしたかったので、うわさの(?)shebangつきurlの動作を確かめました。What's the shebang/hashbang (#!) i…

python2.7からPriorityQueueが標準モジュールに入ってた

python2.7からQueueモジュールにスタック(LIFOQueue)と優先順位キュー(PriorityQueue)が入ってたので使ってみた。ダイクストラ法。グラフはwikipediaのダイクストラ法に載ってるやつから作った。 #! /usr/bin/python2.7 import Queue as queue nnodes = 6 di…

jQuery.zip.inflate - jQuery Plugin for inflating zip archive

かなりニッチな気がしますが・・・Queryでzipファイルを解凍するためのプラグインを作りました。ソースは以下に。 https://github.com/yatt/jquery.zip.inflate実際にコーディングしたのはjQuery.ajaxとの統合部分で、実際にzipを処理する部分はhttps://gith…

appengineでアプリケーションを作ってみて注意点・思った事

Google Code Jamに提出されたソースを閲覧するCodejam Source Viewerを作ったときに感じたappengineでアプリケーションを作る際の注意点をメモ. データストア編 アップロードできる静的ファイルは最大3000個まで。 ローカルにプロキシを置いてクロスサイトAj…

ガラケーからfavstar.fmのrecentを見るPython CGIスクリプト

手持ちのガラケーだとどうしようもない感じなので, ガラケーからfavstar.fmの最新のfav一覧を見られるようCGIスクリプトをぱぱっとかきました.

Google App EngineでUPDATE文/DELETE文を発行するモジュールを書いた

Google App EngineのGQLはSQLライクの構文が使えますが、実際にはSQLと比べると機能がかなり制限されています。その中でも開発時に最も面倒な制限のひとつに、一度のクエリで取得できるエンティティの数は1000個までという制限があります。つまり、データモ…

Google Code Jamに提出されたソースを閲覧するアプリケーションcodejam source viewerを作りました

Google App Engine上で、Codejam Source Viewerというサイトを作りました。Google Code Jamでsubmitされたソースコードを手軽に閲覧するためのアプリケーションです。公式のスコアボードでは、 特定のユーザを検索できない どの言語を使っているのか不明 ソ…

base64コーデックのjQuery Pluginを作った

webアプリケーションを作るのに必要になったので、jQuery向けのbase64コーデックプラグインを作りました。githubにソースがあります. https://github.com/yatt/jquery.base64 atob/btoaが使える場合そちらを使い(ネイティブコードでサポートされるのでずっと…

Ubuntu 10.04.1 LTSにmecab0.97をインストールする

aptで探してもなぜかpython向けバインディングは無いわsetup.pyはこけるわで無駄に時間くったので備忘録。 辞書のデフォルト文字コードがeuc-jpらしくutf-8の辞書が無いとコンソールの端末エンコーディングに合わない。 それからsetup.py installで共有ライ…

リモートホスト上でappengine開発サーバを起動する

appengineをいじっています。Djangoのときも同様のとこでちょっとだけ詰まったのでメモ。開発用サーバをwww.hoge.comで起動する場合の例。 $ python dev_appserver.py -a www.hoge.com /path/to/project

aojtools0.1.5をリリースしました。

aojtoolsを更新しました。AOJのサーバのドメインがrose.u-aizu.ac.jpからjudge.u-aizu.ac.jpに変更されたため対応しました。http://pypi.python.org/pypi/aojtools/0.1.5

Python2とPython3でHTTP POST+Cookie処理の比較

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)作者: 山本陽平出版社/メーカー: 技術評論社発売日: 2010/04/08メディア: 単行本(ソフトカバー)購入: 143人 クリック: 4,320回この商品を含むブログ (183件) を見る Python2系でurllibと…

C#の拡張メソッドでBitmapクラスをグレイスケール変換する

C#3.0から拡張メソッドというのが使えるようになったそうです。既存の型にメソッドを追加できます。すごい!!!そこで、たまたま書いていたアプリケーションで必要だった「Bitmapクラスをグレイスケール変換する」機能、これを拡張メソッドで定義してBitmap…

C#からtesseractを利用して画像から文字を認識する

画像や手書き文字から文字データを認識するOptical Character Recognition(OCR)ソフトウェアについて調べて使ってみました。左の画像は指定された画像をOCRで文字列を読み、出力するC#のフォームアプリケーションです。調べてみたところ、実用的なOCRソフト…

はてブのエントリページで自分自身にスターをつけているコメントをハイライトするユーザスクリプト書いた

今のところFirefoxにのみ対応、一覧のページにのみ対応です.2011-04-05のエントリページの変更に対応しています.yatt/highlight-self-stared-hatenabookmark - GitHubこんな感じになります。このページがサンプルとしてよさげ。はてなブックマーク - はてな…

東北大学の放射線モニタリング情報を取得する

福島の原発事故を受けて、東北大学が以下のurlで放射線のモニタリング情報を公開しています。http://www.bureau.tohoku.ac.jp/anzen/monitoring/ここから情報を取ってくるスクリプトを書きました。/jsonとかでデータにアクセスできるといいんだけどな。 # co…

Windows7, 64bitのPythonでPIL.Image.showを使えるようにする

Windows7で64bitのpython2.6にPILライブラリをインストールしたが、PIL.Image.showが使えない。 メソッドで使う_imagingモジュールが32bitバイナリでDLLのロードに失敗するみたいだ。自前でビルドとかものすごく面倒そうな感じだったのでどうしようかと思っ…

動作中のプロセスにキー入力をするフォームアプリケーション

.NETで他のプロセスにキー入力をする必要があったので、その方法について.NETを前提で調べました。結果、MSDNと@ITとかそこらを調べるだけでなんとかなりました。 プロセス一覧の取得 System.Diagnostics.Process.GetProcesses()でProcessインスタンスの配列…

IronPythonで画面をキャプチャする

.NETではSystem.Drawing.GraphicsのCopyFromScreenでキャプチャができるらしい。IronPythonでキャプチャを実行した。参考: http://lassy-tech.blogspot.com/2008/01/c_24.html http://d.hatena.ne.jp/Wacky/20070101/1167665225 import clr import System c…

pythonのzipfileモジュールがだめ文字をうまく扱ってくれないのを解決する

zipfileモジュールが駄目文字をうまく扱えない windowsで、フォルダを右クリック→送る→圧縮(zip)フォルダで作成したzipファイルをzipfileモジュールで正しく解凍できないケースに遭遇した。原因がわからず調べてみたら、どうやらsjisのだめ文字というのの…

progressbar for urllib.urlretrieve

地震で大変。ライフラインが止まってしまいました。困った困った。 urllib.urlretrieveにはreport_hook引数が用意されていて、callableを渡すとダウンロード状況をコールバックして知らせてくれます。シグネチャはこんな感じです。 report_hook(blocks_read,…

Impressive Python Syntax

list comprehension PEP 202 -- List Comprehensions [n for n in range(10) if n % 2 == 0] sample: import re lst = sum(re.findall('\d+', line) for line in open('lines.txt'), []) generator PEP 289 -- Generator Expressions def gen(n=0): while Tr…

フィボナッチ数を計算する方法をまとめてみた

Project Eulerで巨大な数のフィボナッチ数(10^14番目ぐらい)の剰余を求める必要があったので、関連するアルゴリズムについてまとめました。行列を使った最適化については@nico_shindanninさんにヒントをいただきました。 定義通り求める すぐに限界のくる方…

PythonのクラスをGUIで扱いやすいようラップ

既存のクラスのGUIを書こうとすると既存コードを弄る必要がある件 GUIプログラムを書く際に、ユーザの入力に対応して内部の状態を変更して、GUIを手動で更新みたいのは面倒すぎるので、内部の状態を更新するとUIは自動で更新される仕組みにしたい、と思うわ…

IronPythonでマルチスレッドプログラミング + Python3.2RC2のGIL

PythonでのマルチスレッドプログラムとGIL C言語とかJavaでマルチスレッドプログラムを組んでからCPython(C言語のPython実装)でマルチスレッドプログラムを組むとつまずきます。並列プログラムで実行速度が上がらないからです。その原因は、Pythonインタプリ…

C言語でプライオリティーキュー構造体

C言語で関数ポインタを使ってカプセル化に挑戦してみた でやってみたカプセル化にならって、優先順位付きキューを実装してみました。int型を扱うシンプルな作りをしていて、構造体を作るときに渡す列挙体の値で優先順位を昇順か降順か選択できます。また、ヒ…

curlでWM3500Rを再起動する

日本電気 モバイルWiMAXルータ AtermWM3500R マーズレッド PA-WM3500R(AT)R出版社/メーカー: NEC発売日: 2010/11/30メディア: Personal Computers購入: 1人 クリック: 133回この商品を含むブログ (26件) を見るWiMAXルータのWM3500Rはhttp://web.setupの管理…

TwitterアイコンをHTML5っぽくしてみる

convertコマンドを使ったPython CGIスクリプトを書いたのでメモ。 アイコン画像を台形の透過pngに変換してhtml5ロゴと合成し、base64エンコードしてhtmlソースに画像を埋め込んでいます。demo アイコン画像 #! /usr/bin/python # coding: utf-8 import sys i…