2015年の記事
macのpandasだってHDF5を使いたい
Pythonのpandasで使うためのHDFライブラリを、Mac OSにインストールするための方法です。
pythonのmatplotlib(とちょこっとpandas)でローソク足のチャートを書く
pythonのmatplotlibとpandasを使って、株やFXで使われるようなローソク足チャートを作成する方法のメモです。
技術ブログをお勧めする4つの理由
技術をやるならブログを書け。というわけで、技術ブログをお勧めする4つの理由です。
pythonのpandasで移動平均を出したい
Pythonのpandasを使って、FXや株のチャートで使われている単純移動平均(SMA)や指数移動平均(EMA)を算出する方法です。
virtualboxをemergeしようとするとno input filesとか言われる
gentooのportageでVirtualBoxをインストールしようとしたところ、gccがno input filesというエラーを吐いたので、対処しました。
cuda(nvcc)でpythonのモジュールを作ってみた
C言語を使って、CUDAを扱うことができるPythonモジュールを自作してみました。この記事ではサンプルコードとして、gpuの数を数えるモジュールを作っています。
gnuplotで面グラフっぽいものを描きたい
gnuplotを使って、値の範囲を示すことが出来る面グラフを作成する方法です。
CUDA使って九九の計算をやってみた
C言語/CUDAを使う練習として、GPUで九九の計算をしてみました。
wpa_supplicant使ってWPA2エンタープライズなWi-Fiに繋ぎたい
linuxのwpa_supplicantを使ってWPA2 エンタープライズなWi-Fiに接続するための設定ファイルの書き方です。
Javaで文字の出現回数を数えたい
Javaを使って文字列の中に特定の文字がいくつ含まれるかを数える方法です。4種類の方法をベンチマークして比較しました。
AndroidのMediaStoreから端末内の音楽ファイルのパスを取得してみる
AndroidのMediaStoreを使って、Javaで端末内の音楽ファイルのフルパスを取得する方法です。非推奨の方法ですが、それなりに高速にちゃんと動きます。
pythonのcontextlibでwith文を活用したい
Pythonのwith文の実装を簡単にしてくれる標準ライブラリ「contextlib」の色々な使い方です。
androidでSearchView使おうと思ったらgetActionViewがnullを返してくる。releaseビルドのときだけ。
AndroidのSearchViewをcompatライブラリで使おうとすると、releaseビルドのときだけMenuItemCompat.getActionViewがnullを返してくる問題の修正方法です。
RuuMusicっていうandroid用の音楽プレイヤーを作った
自分用に自作したAndroid用の新しい音楽プレイヤー、「RuuMusic」の紹介です。ファイラのようなUIで音楽を聞ける、シンプルで簡単な音楽プレイヤーです。
linuxで写真の撮影日時を修正する
カメラの日時設定を間違えていたときに、ズレておかしくなってしまったExifのタイムスタンプ情報をexiv2というコマンドを使って一括で修正する方法です。
python/Pillowで輪郭を見つけたり強調したり
Pythonの画像処理ライブラリPillow(PIL)で、輪郭の検出や強調などのタスクを試してみました。
夏休みの自由研究をした。
8月なのでと思い付きで始めた歴代Linuxカーネルのコンパイル時間についての夏休みの自由研究がついに終わりました。最終の結果報告です。
vimのgnモーションはすごく便利、かもしれない。
Vimで検索結果を使ったマクロを組むときに便利なモーション「gn」の紹介です。検索結果全体をモーションで指定することが出来ます。
gentooでコンソールからgmailを読み書きする
linuxのコンソールからメールを扱うためのコマンド「ssmtp」と「fetchmail」の紹介です。
ブログ用のマークアップ言語を変えた
このブログを書くために使っている自作CMSモドキに入れているマークアップ言語を、これまた新たに作った自作のマークアップ言語「ふにゅう」に置き換えました。
pythonのdoctestのカバレッジを取る
pythonのcoverageというツールを使って、doctestを使ってコメントの中に書いたテストのカバレッジを取得する方法です。テキスト形式やHTML形式などの出力を試しました。
hydraの古い書き方、新しい書き方。
ブルートフォースに使うペネトレーションテスト用のツール「Hydra」の新しいオプションと古いオプションを比較してみました。
python/OpenCVで複数の画像から背景だけを取り出す
同じ場所で撮られた複数の画像を処理して、その場所の背景画像を生成するプログラムをPython/OpenCVで実装してみました。動体検出の仕組みを応用して自分で実装しています。
googleの検索結果にサイト内検索の窓を表示しよう。
schema.orgのJSON-LDを使用したリッチスニペットをウェブサイトに仕込んで、Googleの検索結果にサイト内検索の窓が表示されるようにする方法です。
macのautomatorでsshfsとかramfsを自動マウントする
Mac OSに付属している自動化ツール「automator」を使って、sshfsやramfsなどの特殊なストレージを自動的にマウントする方法です。マウントに限らず、色々なスクリプトを実行出来るはずです。
python/flaskでgoogleにOpenIDでログインしてみた。ライブラリ無しで。
Python/flaskを使ってOAuthの仕組みを自分で1から実装して、Googleアカウントを使ったOpenIDログインを試してみました。
xargsでもパイプとかif文とか使いたい
Linuxのコマンドであるxargsに渡すコマンドの中でパイプやif文なんかのシェルの機能を使用するための方法です。
夏休みの自由研究が半分終わった。
8月なので夏休みの自由研究をしようと思い立ち、半月が経過しました。現状の中間報告です。
pacemっていうARアプリ的なものを作った
友人とハッカソンをして作った、AR空間上にビーコンを置くことが出来るWebアプリ「pacem」の紹介です。
macのbashでもglobstarを使いたい
`**/*`のようにして再帰的にファイルを指定することが出来るbashのオプション「gblostar」を、Mac OS上でも使用できるようにする方法です。インストールにはHomebrewを使っています。
cmakeにThe current CMakeCache.txt directory云々とかってエラー吐かれた。
cmakeを使っているプロジェクトの場所を移動して、移動後に再コンパイルしようとすると失敗する問題への対処方法です。
gentooにfcitx-skkを入れてみた。
日本語の入力を少しでも速く行うべく、SKKとかいうIMEをgentooインストールして使ってみました。fcitxとの組み合わせで、自分でコンパイルして入れています。
gnuplotで書いた棒グラフのx軸に生える線を消したい
gnuplotで書いた棒グラフのx軸にちょこんと生える小さな線、「xtics」を消す方法です。
夏休みの自由研究を始めた。
せっかくの夏休みなので、自由研究をしてみることにしました。歴代linuxのカーネルコンパイル時間について調べてみることにします。
nginxでURLの最後にindex.htmlを付けさせたくない。
Nginxで配信しているWebサイトで、`/hoge/index.html`ではなくて`/hoge/`でアクセスさせるための設定の方法です。
gzipの圧縮レベルと速度の関係を調べてみた
gzipの圧縮レベルと速度や圧縮率の特性が気になったので、python付属のgzipライブラリで実験をしてみました。
uwsgiのemperorを他のバージョンのpythonで。
uWSGIのemperorを使用してpythonのWebサービスを実行するときに、Pythonのバージョンを明示的に指定する方法です。
C言語のwhileとdo-whileに速度の違いはあるのか。
C言語におけるwhile文とdo-while文で速度に違いが出るのかが知りたかったので、gccでアセンブリにしてコードを眺めてみました。末尾にベンチマークの結果も載せています。
python3.4を使うならpathlibを使おう
Python3.4以降から標準ライブラリに入った「pathlib」という便利なファイルパス操作用のライブラリの解説です。かなり便利です。
ROT13エンコーディングも出来る。そう、vimならね?
vimを使っていれば、ROT13で暗号化した安全なファイルを作る事が出来ます。…安全?
暗号化だって出来る。そう、vimならね?
vimを使っていれば、いつでも暗号化した安全なファイルを作る事が出来ます。そう、vimならね?
python3.3のyield fromとは何なのか
Python3.4のasyncioで使われるyield fromという構文は、どうやらPython3.3で既に導入されていたようです。asyncio以外の場面での使い方について調べてみました。
pythonのitertoolsはかなり便利っぽい
Python3でイテレータを扱うときに便利な標準ライブラリ「itertools」の紹介です。
C言語で一行じゃんけんをした。
C言語を使った難読プログラミングとして書いた一行じゃんけんの解説記事です。かなりC言語(とgcc)の使用を悪用して書いています。
python/OpenCVでレシートみたいな四角いものを見つけてトリミングする
PythonとOpenCVを使って、レシートやメモのような四角い領域を見付けて、その部分だけ綺麗に切り抜くプログラムを書いてみました。
python3.4/3.5のasyncioが何となく不満。
Python3.4/3.5から導入されるasyncioライブラリの使い方や挙動を調べてみました。現時点ではまだなんとも不満な感じです。
apacheのaccess_logにjavaのソースコードみたいなアクセスが記録されていた。(Struts2の脆弱性S2-016への攻撃)
自宅サーバで動かしているApacheに対してStruts2の脆弱性「S2-016」を悪用しようとする攻撃が来ていたので、その内容を調べてみました。
pythonでapache killerを書いてみる
友人のサーバの脆弱性を調べていたらapacheのバージョンが古かったので、試しにapache killerと言われる攻撃手法を試してみました。
pythonでキリ番かどうか判定する
Pythonを使って、ゾロ目や連番などのキリ番を検出するコードを書いてみた記録です。正規表現を使用する場合とpythonコードだけの2パターンあります。
xlibでX11のマウスを制御してみた。
linux/X11の環境用に、Xlibを使ってカーソルが画面内をポンポン跳ね回ったりクリックをエミュレーションしたりするプログラムを書いてみました。
Linuxのinotify-toolsでファイルやディレクトリの変更を監視する
Linuxカーネルが持つファイルシステムの変更検知システムである"inotify"という機能をコマンドラインで扱うためのツール「inotify-tools」の使い方の紹介です。
WerkzeugのSecureCookieを試してみた。
Pythonのflaskのセッションを実装するために使われている"Werkzeug"というライブラリの"SecureCookie"という機能を直接触ってみました。Werkzeug、結構高機能で楽しいです。
lftpのチートシート的なやつ
linuxのftpクライアントである"lftp"の使い方のメモです。
dcコマンドで遊んでみた
Linuxには`dc`というコマンドがあります。cdコマンドと打ち間違えそうなやつですが、れっきとした計算用のマクロ言語(?)のようです。色々なマクロを組んで試してみました。
linuxのコマンドだけでcsvを取り回してみる
Linuxのシェルで使えるコマンドを組み合わせて、csvファイルを便利に扱う方法の解説です。殆んど不自由なく色々なことが出来ます。
HTML5のcanvasの中身をコピー
HTML5のcanvasを使ってお絵描きした内容を、そのまままるごとコピーする方法です。結構簡単に出来るみたいです。
HTML5のcanvasでお絵描きしてみた。
HTML5のcanvasを使用して、簡単なお絵描きツールのようなものを作ってみました。結構色々遊べそうです。
mercurialが入ってない共有サーバにデプロイするのにmercurial使いたい。
古いサーバ、古いパッケージ管理システムであっても、mercurialであればホームディレクトリにインストールしてプッシュしたり出来るそうです。共有サーバにインストールして、リポジトリをプッシュする方法のメモです。
gentooのportageが落とすtarballを綺麗にしよう
gentooのportageがダウンロードしてくるtarballが大量に溜ってしまっていたのですが、不要なものを見つけて綺麗にしてくれるツールがありました。
C言語/GTKでファイルやらソケットやらのfdが読み込み(or書き込み)可能になるのを待ちたい。
GTKにあるチャンネルという機能を使用して、ファイルハンドラや通信用のソケットなどのfdが読み書き可能になるのを待つためのC言語のコードを書いてみました。
Google Analytics見たらsocial-buttons.comとやらからスパムアクセスが。
social-buttons.comというところからやたらと大量のアクセスが来ていたので、Google Analyticsの設定を変えてレポートに表示しないように設定しました。
Haskellであまり末尾再帰を使わない理由
Haskellを勉強するためにサンプルソースを見ていると、中々末尾再帰を使ったコードを見かけないことに気付きました。簡単な実験をして、何故Haskellでは末尾再帰にしないのかを調べてみました。
Haskellでエラトステネスの篩
Haskellの勉強のために、エラトステネスの篩で素数のリストを生成するプログラムを書いてみました。安直な実装でも無限リストが作れるので、Haskellの威力を感じます。
python標準のunittestのカバレッジを取る
Pythonのunittestモジュールで行なった単体テストのカバレッジを取るツール「coverage」の使い方の解説です。
vimでバイナリファイルをいじる
vimとxxdコマンドを組み合わせて、バイナリファイルを読んだり編集したりする方法の解説です。
HaskellでProject Eulerに挑戦してみた
Project Eulerというプログラミング問題を眺めていて、Haskellを使えば綺麗に書けそうだと思ったので実際に書いてみました。この記事では1問目から5問目までを問いています。
python/OpenCVでwebカメラを使ったlinuxの液晶の明るさ自動調整
python/OpenCVでwebカメラの映像から周囲の明るさを検出して、自動的に最適な画面の明るさを設定してくれるプログラムを作りました。
linuxのC言語でforkしたりpipeでおしゃべりしたり
linux/C言語でマルチプロセス処理をするためによく使われる"fork"について調べてみた記録です。
ASUS EeeBook x205TAにArch Linuxを入れてみた
ASUSのネットブック EeeBook x205TAにArch Linuxを入れる手順です。ひとまずインストールが成功するまで書いてありますが、ドライバ回りはわりとトラブルが山積しています…。
ASUS EeeBook x205TAにgentooを入れようともがいた話
ASUSのEeeeBook x205TAにgentooを入れようと頑張った記録です。カーネルの起動までは成功しましたが、ストレージ関連を上手く扱えず最後まで起動出来ませんでした。
gentooでハイバネートとかサスペンドとか
ノートパソコン(AcerのAspire One D257)でハイバネートやサスペンドを使うべく、gentooのセットアップを行ないました。多分他の環境でも動くと思います。
C言語でX11のウィンドウ名を設定する
dwmというウィンドウマネージャで使用するために、X11のルートウィンドウの名前を変更するプログラムをC言語で作ってみました。
linuxのdwmをマルチモニタで使おう
dwmというlinux用のウィンドウマネージャをマルチモニタ環境で使うときのショートカットや設定などです。
CとC++とHaskellとnasmで書いたハローワールド
C、C++、Haskell、アセンブリ(nasm)の4つの言語でハローワールドを書いてみて、それぞれのコンパイル後のサイズを比べてみました。
pythonのOpenCVでモザイクをかける
python/OpenCVを使って、簡単に画像にモザイクを掛ける方法です。組み合わせで部分的なモザイクも可能なはずです。
python/OpenCVで輪郭検出してたらなんかかっこいい画像が出来た
python/OpenCVを使って輪郭検出をして、ちょっと格好良さげな画像を作ってみました。
python/OpenCVで透過pngをオーバレイする
python/OpenCVを使って、画像の上に別の画像を重ねる方法の解説です。透過画像のアルファチャンネルを考慮するものとしないものの2種類があります。
pythonのOpenCVでリアルタイムに笑い男
python/Opencvを使って、webカメラの映像をリアルタイムで読み込んで顔を検出して、笑い男の画像を重ねるプログラムを作ってみました。
pythonのOpenCVとpillow(PIL)を組み合わせて顔にモザイク
pythonのOpenCVを使って顔を検出して、pillowを使ってその顔にモザイクを掛けるというプログラムを書いてみました。
HaskellでCGIを書いてみた
ライブラリ無しのHaskellだけで階乗を計算するcgiプログラムを作ってみました。
Linuxのパッケージマネージャを"とりあえず使う"ための早見表
Linuxの主要なディストリビューションに入っているパッケージマネージャの、最低限必要そうなコマンドの早見表です。
gentooのカーネル更新したらvboxdrvがどっか行った
gentooのカーネルを更新したら、"vboxdrv"というカーネルモジュールを読み込めなくなってしまいました。この問題の解決方法です。
シェルで"昨日"みたいな相対的な日付が欲しい
dateコマンドを使って、「昨日」や「n日前」、「n時間後」といった相対的な日時を取得する方法です。
明けまして