2013年の記事
apacheのmod_rewriteでドメインの移行
ドメイン移行しました! apacheのmod_rewriteを使って、新しいドメインに正規化する(転送する)方法の説明です。
RCSは結構便利っぽい?
RCSという超単純なバージョン管理ソフトの紹介です。1ファイルだけですが、地味に便利に使えます。
マウスでawesomeを使いたい事だってあるじゃない。
タイル型wmのawesomeをマウスを使って操作するやめの設定と、使い方の説明です。
シェルスクリプトでcsv的なデータを切り出す
`cut`というコマンドを使って、シェルスクリプトでcsvデータから特定の列を切り出す方法の解説です。
pythonのPILを使ってExifを見る
Python/PILを使って、jpeg画像のExifデータを読み出す方法です。
iPadではcssのbackground-attachmentを使えないらしい
iPadではCSSの`background-attachment`が動かないようです。なので、別の方法で同じようなことを実現してみました。
文字列がasciiなのかiso-2022-jpなのかを区別する
ある文字列を見て、そのエンコードがasciiなのかiso-2022-jpなのかを調べる方法です。
pythonでテスト用のメールサーバーを建てる
smtpを使ったアプリケーションのテストのために、pythonを使って簡易的なデバッグ用サーバーを立ち上げる手順です。
apacheのログに"GET http://www.google.com.tw HTTP/1.1"なんてのが来てる。
apacheのログを見ていたら、明らかに攻撃っぽいものが残っていたので目的と内容を調べてみました。
pythonで冪剰余
Pythonで冪乗余を計算する方法です。
pythonのシーケンス型から値を探したり数えたり
pythonのシーケンス型(文字列とかリストとか)から、最初に特定の値が出てくる場所を探したり出現数を数えたりする簡単な方法を見付けたのでメモ。
pythonで与えられた変数が文字列かどうか調べる
Pythonで、ある変数が文字列かどうかを調べるためのシンプルな方法です。
うちのapacheにCONNECTとかいうリクエストが。
apacheのアクセスログにCONNECTメソッドを使った攻撃が来ていたので、何をしようとしていたのかを調べてみました。
親愛なる変態に捧ぐ壁紙。
センター試験を受ける我が友の為に壁紙を作りました。なんとセンター試験までの日数をカウントダウンする壁紙!
pythonを使ったxml-rpcが簡単すぎてびっくりした話。
Pythonの標準ライブラリを使ってXML-RPCを実装してみたのですが、もの凄く手軽に実装出来ました。これを使うと、他のホストのPythonコードを手元のモジュールと同じように扱えます。
pythonのexcept文にExceptionを渡すと色々まとめて捕捉できる理由
pythonのtry-except文で`Exception`を渡すとあらゆる例外をキャッチ出来ます。この機能のメカニズムに気付いたので、Python内部の挙動のメモです。
シェルスクリプトでエポック秒を得る。
`date`コマンドを使って、シェルスクリプトの中でエポック秒(UNIX秒)を取得する方法です
pythonのリスト内包表記は凄い。すごく凄い。
Pythonの「リスト内包表記」という機能を使うと、あらゆるリストや辞書型、集合型なんかまで作ることが出来ます。というわけで、色々と試してみました。
C言語でビープ音を鳴らし、あまつさえ演奏する。
windowsのC言語で、好きな高さ・長さのビープ音を鳴らして自由に音楽を再生するプログラムを書いてみました。
windowsのPILでフォント読み込もうとしたらImportErrorが出るバグの修正パッチ作った。
windowsのPILでフォントを上手く読み込めないバグがあったので、無理やり修正するパッチを作成してみました。
pythonのクラスにブール値を持たせる。
Pythonのクラスに真偽値を持たせて、if文なんかでTrueっぽく見える/Falseっぽく見えるようなクラスを作る方法です。
pythonでビープ音を鳴らし、あまつさえ演奏する。
Pythonを使って、windows環境で自由な音程・長さのビープ音を鳴らして音楽を演奏するプログラムを作ってみました。
ctypes用のネットワーク関係の構造体
Python/ctypesで使用するための、イーサネット関係の構造体色々を定義してみました。
何の言語のソースコードかを判別してくれるやつ
任意の文字列を渡すと、その文字列が何の言語のソースコードなのかを識別してくれるプログラムをPythonで作ってみました。
シンタックスハイライトに対応してみた。
このブログでもついにシンタックスハイライトに対応しました。そのために使用した「source-highlight」というツールの使い方の解説です。
pythonのmax / min関数は意外と便利
Pythonで最大値/最小値を求めるための関数`max`/`min`の詳しい使い方の説明です。
cat5のケーブルとcat6のケーブルは何が違うのか。
イーサネットケーブルのカテゴリによって速度が違うわけですが、そもそも何故同じ形のケーブルで速度の違いが出てくるのかを調べてみました。
ついでにzfsのデータ圧縮を試してみる
zfsを使って、透過的にデータを圧縮する機能を試してみました。ざっくりベンチマークも合せて記載しています。
zfsの重複排除で未来を感じてみる
ubuntuにzfsをインストールして、ストレージプールを作って重複排除機能の実験をしてみました。100MBのストレージに1GBのファイルを書き込む(!?)という実験をしています。
pythonのisと==の違い
Pythonの`is`演算子と`==`演算子の挙動の違いについての解説記事です。
pythonのジェネレータをリスト内包表記的に書く
Pythonのジェネレータ式を使って、イテレータをリスト内包表記の書き方で書く方法です。
世界最強のセキュリティソフト作ったったwww(ネタ
ほこxたての放送が面白かったので、便乗してセキュリティソフトを作ってみました。これはネタです。完全にネタです。
Pythonで末尾再帰する
Pythonのデコレータを使って、末尾再帰最適化を実現する方法です。速くはならないけれど、少なくともどれだけループさせてもメモリが枯渇して停止することは無くなります。
キーワード機能を実装してみた
このブログにはタグ機能やジャンル分けなどが無いので、キーワード機能を付けてみました。
MeCabさんが記号を「サ変接続」と認識してしまう
MeCabが記号を「サ変接続」という分類をしてしまう問題に対して、辞書ファイルを修正して対応する方法です。
RFIDで遊んでみたかった。
SuicaやPASMOのようなRFIDの種類色々を調べてみた記録です。
pythonのlambda内で無理やり変数を定義する
Pythonのlambda式の中で無理やり変数を定義する小ネタです。関数の中で関数を定義することで擬似的に変数のようなものを実現します。
pythonのdoctestの使い方とか
Pythonに書いたコメントをテストとして実行出来る標準ライブラリ「doctest」の使い方の紹介です。
pythonは標準でtemplateが使えるらしい
Pythonの標準ライブラリとして搭載されている「template」というモジュールを使って、簡易的な文字列テンプレートを実現する方法です。
pythonのソースをweb越しにimportしてみる
Web上にあるPythonモジュールをそのままインポートする関数を作ってみました。かなり危険な気がするけれど、まあ実験用として。
pythonのモジュールをC言語から使う
Pythonで書かれたモジュールをPython/C APIを使ってC言語から呼び出す方法を試してみました。
pythonでhtmlの文字参照をなんとかする。
pythonの標準ライブラリ「htmllib」を使って「&」とか「>」なんかの文字参照を読める形に置換する方法です。
pythonの三項演算子
Pythonで「x == 1 ? "a" : "b"」みたいな三項演算子を書く方法です。
pythonのdbmモジュールを使ってみた
Pythonの「dbm」という標準ライブラリを使って、dict型っぽく使えるkey-valueデータベースを扱う方法です。
pythonのpyevolveで遺伝的アルゴリズム。
Pythonの「pyevolve」というライブラリを使って、遺伝的アルゴリズムの実装を試してみました。
遺伝的アルゴリズムってなんぞや。
遺伝的アルゴリズムの仕組みについての解説記事です。
C言語のu_int16とかって何なのよ。
C言語のint8とかu_int16とかの意味とサイズ、最大値と最小値のまとめです。
次世代starの候補版を公開したよ
自作のファイル転送ツール「Star」の最新の候補版、「DraftStar」を公開したので紹介です。
pythonのCryptoでAES暗号を使ってみた
Pythonの「pycrypto」というライブラリを使ってAES暗号で文字列の暗号化を試してみました。
scheme(gauche)でTCP通信してみる
lisp方言の1つであるScheme(Gauche)を使って、TCP通信の実験をしてみました。
サイト内検索を自作してみた。
このブログにもついにサイト内検索を実装してみました。というわけでテスト投稿です。
UnicodeとUCSとUTF
UnicodeにはUTF-8やUTF-16などのよく使う方式の他にUCS-2やUCS-4なんかの表わし方もあるそうです。色々調べてみたのでメモです。
pythonのデコレータを使ってお手軽ベンチマーク
Pythonでデコレータを使って、お手軽に関数単位のベンチマークを取る方法です。
メモリの中身と実行ファイル
exeファイルなんかの実行ファイルの中身の構造や、メモリ上での展開のされ方について調べてみました。
イーサネット関係のヘッダ
イーサネットの通信のために使う、C言語の構造体色々です。一応簡単な説明を付けてあります。
pythonのwhooshで全文検索してみる
Pythonの「woosh」というモジュールを使って日本語の全文検索を試してみました。若干構築が面倒ではありますが、かなり高速な検索が出来ます。
flaskでContent-Rangeを返す
Python/FlaskでRangeリクエストに答える(Content-Rangeヘッダを返す)方法です。
apache2のhttpd.confでURLの正規化をやってみたメモ。
「/index.html」へのアクセスを「/」に転送するような、URLの正規化をApache2で行なう方法です。
gentooでntpを使ってみた話
gentooでntpの設定をしてみました。ntpdのプロセスを用意するのは嫌だったので、cronから定期的にntpdateを呼び出す形式にしています。
pythonでinotifyを使ってみる。
linuxのinotifyを使って、ファイルシステムの変更を監視するプログラムをPythonで作ってみました。
Schemeで円周率出してみた
Scheme(Gauche)を使って円周率を計算するプログラムを書いてみました。
pythonを汚く書く
Pythonを汚く書く10個のアンチパターンまとめです。
今話題(?)のTorを使ってみる - Python編
SocksiPyというライブラリを使用して、PythonでSOCKSプロキシ(を使うTor)を経由して通信を行なう方法です。HTTP通信と、生のTCP通信の2通りの通信方法を試しています。
startxした時にtimeout in lockingとか言われる
X11を起動するべくstartxしたときに、「xauth: timeout in locking authority file」と言われるエラーを修正する方法です。
今話題(?)のTorを使ってみる - gentoo編
今何かと話題の匿名化ソフト「Tor」をgentooで試す方法です。「Vidalia」というソフトを使用しています。
今話題(?)のTorを使ってみる - windows編
今何かと話題の匿名化ソフト「Tor」をwindowsで試す方法です。「TorBrowser」というブラウザとセットになったものを使用しています。
gentooにSLiMインストールしてみた
gentooに「SLiM」という名前のディスプレイマネージャをインストールしてみました。これで、グラフィカルなログインページを表示させることが出来るようになります。
sqlite3を使ってみる
sqlite3(というよりもSQL)の使い方です。とりあえずなんとなくSQLを使えるようになるための逆引き表のようになっています。
C言語でfor i inをしたい
C言語のマクロを使って、Pythonなどのスクリプト言語にありがちな`for i in range(10)`のようなものを作ってみました。可読性がやばいので、ネタ記事と思ってください。
無料セキュリティソフトMSEの紹介をサクッと
マイクロソフトが開発している無料のアンチウイルスソフト「MSE」の紹介です。おすすめ。
ACCESS VIOLATION SUMMARY とかいうエラー
gentooのアップデートをしていたら発生した「ACCESS VIOLATION SUMMARY」から始まるエラーに対応する方法です。
pythonのモジュールをCで書く
Pythonから使えるモジュールをC言語で書く方法です。
CONFIG_DEVTMPFSがどうのでgentooが起動しない
OpenRCなgentooをカーネルアップデートしたあに「CONFIG_DEVTMPFS」とかいうエラーを出して起動しなくなった場合の対処方法です。
pythonでyahoo APIの校正支援を使ってみた
Pythonからyahoo APIの校正支援機能を使ってみました。
dmenuに学習っぽいことをしてもらう
Linux向けのキーボードランチャーである「dmenu」で、最近起動したコマンドを優先的に表示してもらうようにする方法です。
gentooでbootchart2を使ってみる
gentooにbootchart2を入れて、起動速度のベンチマークを取ってみました。プロセスごとの所要時間が分かるので、起動の最適化に使えます。
pythonのコンソールでプログレスバー的なもの
Pythonで作ったCLIコマンドで、プログレスバーのようなものを表示する方法です。
ソーシャルっぽいものに対応
twitterとfacebookでシェアするためのボタンを設置してみました。
feedに対応したよ!
Atom feedに対応してみました。
python cgiで外部ソースのインポートが出来ない
pythonで作ったCGIで「No module named」と言われてしまい外部のモジュールをインポート出来ない場合の対処方法です。
サイト内検索を使えるようにしてみた。
Googleカスタム検索を使ってサイト内検索を出来るようにしてみました。
starの使い方を投げやりに解説する
自作のファイル転送ソフト「star」の使い方です。
今年の目標
ロシア語を勉強したかったので、キリル文字の表を作ってみました。
親は大切に
Pythonで親プロセスを強制停止する方法です。
トップページ改良してみたり
トップページのデザインを変えたので、仕組みのメモです。
親殺し・・・って、どうやんの?@C言語
C言語で親プロセスを強制停止する方法についての話です。
pythonのthreadingを無理やり止めてみる
Python2.7の子スレッドを強制的に停止する方法です。
あけましておめでとうございます!