chikuchikugonzalezの雑記帳

趣味とか日記とかメモとか(∩゚д゚)

開発

Rustでプロセスの実行ファイルパスを取得するナニカを作った

Process Entry、略して pentry と名付けました。 github.com大元の動機は結構前にGoでツール作ってた時、「あー、親プロセスの実行ファイルとれねーかなー」とか思ったたら既にあったというもの*1。 github.comで、これと同じことをRustできないかなー、って…

varsunをGitHubに引っ越した

ついこの間、初のRust用ライブラリ (Crate) を作たんですが、 chiku2gonzalez.hatenablog.comcrates.io の仕様とかでやっぱ Bitbucket に置いておくのは悲しいこと*1が起きるので、GitHubに引っ越しました*2 github.com *1:Ownerのアイコンをクリックして移…

Rust用の文字列展開ライブラリ varsun を作りました

ヴァルサンとか読みます *1。 crates.ioで公開してます → https://crates.io/crates/varsun どういうライブラリか やりたかったことは単純に、文字列に埋め込まれた環境変数を展開したかったのです。 具体的にはGo言語の os.ExpandEnv 相当のができればよか…

Rustでserde_codegenを使わずにシリアライズしたかった

RustでJSON/YAMLとかにシリアライズしたい場合、たぶん今なら serde を使えばいいんじゃないかと思ってるんだけど、 serde-rs.github.ioちょっと不便だなーって思うところがあって。それは serde_codegen だとビルドスクリプトに書くことになるので、複数バ…

ssh-keygenを使わずにOpenSSHキーペアを作りたかった

結果 Goで作りました。 bitbucket.org 目的とか もともとはWindowsでOpenSSHキーを作るのに、わざわざPuTTYGenを使うのはちょっとなー、でもCygwin入れたくないしなー、みたいなことを考えてました。*1 そんなときに、Goの非標準パッケージに golang.org/x/c…

適当なGo言語用ログライブラリのようなものを作った

LOGO is LOGger for GO chiku2gonzalez / logo — Bitbucket 動機 モンハンやってる合間に細々とツール作成しているわけですが、そんな中でログライブラリほしいなー、って思うことがあるんです。 ただ最近は、どのロガーもちょっとしたツールには機能過剰だ…

cfgo-driverは要らなかった

chiku2gonzalez.hatenablog.com前回の記事 ↑ で ( ・´ー・`)ドヤァ みたいに書きましたが別に分ける意味なかったのでそのうち再統合しておきます。やっときました。そのうち cfgo-driver を消しますね

2016年始まりましたね

あけましておめでとうございます。今年もchikuchikugonzalezをよろしくお願いします。などとあいさつを済ませたところで本題です。 昨年の最後のエントリで適当に作ったライブラリを紹介しましたが、その片方の cfgo でこんなことを言ってました。 そのうち…

適当に作ったGo用ライブラリ置いておきますね

chiku2gonzalez / xdgo — Bitbucket XDG Base Directory Specification のディレクトリから設定を読み込むためのライブラリ。 ってもパスしか返さないので読み込みは使う側でどうにかしてください。動機としては、ひっそりと作ってるツールの設定ファイルを…

Goで構造体スライスをXMLにして ( ;゚皿゚)ノシΣバンバン!! ってなった話

結論から書くと、ちゃんと構造体でラップしましょう、ということです。 出ないと書き出したXMLがちゃんと読み込まれなくて ( ;゚皿゚)ノシΣバンバン!! ってすることになります。 やらかしたこと 次のように、構造体とそのスライスを用意して、XMLに変換したわけで…

Go言語用PCXライブラリを作り直しました

ここで公開してあります。 chiku2gonzalez / PCX.go — Bitbucket*1もともとは chiku2gonzalez / Goobers — Bitbucket に含んでたんですが、思うところがあって分離しました 制約とか 8bit画像だけ対応しました Rubyで実装したときはなんちゃってモノクロ/2bi…

環境変数を切り替えてシェルを起動するツール作った (3回目)

表題の通り、過去C#で作った cosplay をGo言語で再実装 + 機能追加しました ( ´ー`)フゥー... その名も dresser (とdressup) 公開場所 BitBucketに置いてあります chiku2gonzalez / dresser — Bitbucket chiku2gonzalez / dresser — Bitbucket ライセンス…

Go言語でWindows形式の環境変数展開処理を作ってみた

頑張った、俺頑張った(´;ω;`) div.highlight { background-color: white; } div.highlight>pre { background-color: #FCFCFC; } setコマンドのヘルプ見ながら実装したんだけど、やっぱコマンドプロンプト固有なのはムリゲーだよね*1 *1:CMDEXTVERSIONとか

そういえばGo言語の感想とか書いてなかった

ちょっと前に仕事で使うかもー、みたいなこと言われたのをきっかけにGo言語触ってたりしたんですが、現時点(Go1.2~1.3)での感想とか(・3・)アルェーなところとかまとめてなかった。すでに出遅れ感ありまくる。

peco使って何かしたかった

pecoが流行ってるらしいのでとりあえず、ディレクトリ移動するコマンドを書いてみたわけで. pecoでディレクトリを選択してcdするスクリプト (Windowsバッチファイル) やり残し 実はpushd / popd のほうが戻りやすいんじゃないかと思ってる あと日本語パス名…

Go言語用PCXエンコーダ/デコーダを実装してみた

最近仕事でもGo言語が出てきているので、いい加減練習しなきゃなと思っているわけで。 その練習として前に cosplayコマンドをGo言語で書き直した話 - chikuchikugonzalezの雑記帳 とかやってたけど、MUGENerであることを考えたらむしろPCX画像対応したほうが…

cosplayコマンドをGo言語で書き直した話

以前 カジュアルに環境変数を変えたcmdを動かすためにcosplayコマンド作った - chikuchikugonzalezの雑記帳 という記事で cosplay とかいうコマンド作ったんですが、このたびGo言語をやることになったのでキャッチアップも兼ねて移植してみてた。↓違い cospl…

オレオレライブラリを(うっかり)rubygemsに公開しました

やっちまった感ある。まさか`gem yank`だと存在をなかったことにできないとは思わなかった('A`). そしてこれが初gemという.

VIM用MUGENシンタックスファイルの置場を変えたりとか

今まで https://bitbucket.org/chiku2gonzalez/vim-mugen に置いてあったんだけど、ついに GitHub上に移動して、さらにプロジェクト名も変更して https://github.com/chikuchikugonzalez/mugen.vim にした*1。移転理由は単に、NeoBundleで自分のプラグインも…

VirtualBox4.3.10でVBoxGuestAdditionsのmount.vboxsfがリンク切れする問題の続き

昨日の Debian 7.4のVagrant用Boxを作ったりとかしてました、ハイ - chikuchikugonzalezの雑記帳 であった、/sbin/mount.vboxsf がリンク切れてる問題なんだけど、今日Debian 7.4を再インストールしてたらなんか何もしなくても解決するっぽい。というのも、…

Debian 7.4のVagrant用Boxを作ったりとかしてました、ハイ

こういうのって Qiita に書けばいいんだろうけど*1、アカウントないのでとりあえずこっち。やったことといえば ググった情報を基にVirtual Box使ってVagrant用のDebian 7.4 のBOXを作った( ー`дー´)キリッ なんだけど、まさかVirtual Boxに罠があるとは思わなかっ…

自分の雑多コード置き場作った

いくつかRubyのC拡張の実験してたんだけど、実は今まで↓のようなコードを毎回作ってた。 template<typename T> static inline T* DataUnwrapStruct(VALUE obj) { T* ptr; Data_Get_Struct(obj, T, ptr); return ptr; } さすがにこれ使いまわせるだろってことど、そういっ</typename>…

RubyのC拡張で配置newを使うためのマクロ考えた

RixILっていうRixmap公開用っていう位置づけのRuby C拡張書いてるわけなんですが、C++で書いてるせいで後からnewでインスタンス作る実装が必要になったしまったわけです。 その場合メモリが足りない場合にRubyのNoMemoryErrorを出したいという欲求が出まして…

Ruby 2.0.0 (RubyInstaller) + DevKit (mingw32 4.7.2) でハマったこと

自前のC拡張 (C++使ってる) をビルドして動くかなー( ^ω^)ワクワク とかやってたんですが見事にはまったので誰かタスケテ なにがあったのか とりあえず環境はこんなの Ruby 2.0.0 (patchlevel 353) RubyInstallerで入れた DevKit (mingw32 4.7.2) RubyInstal…

カジュアルに環境変数を変えたcmdを動かすためにcosplayコマンド作った

ついカッとなって作った。リポジトリはこれ→ https://bitbucket.org/chiku2gonzalez/cosplay です。 使い方 PATHを通した後 C:\>closet add ruby200 C:\>closet edit --editor=gvim C:\>cosplay ruby200 みたいにします。"closet edit" コマンドですが、ただ…

VIM用MUGE構文ハイライト定義を更新しました

PC移行したらMUGEN環境再構築するはめになっているchikuchikugonzalezです。そういえば MUGEN も1.1のベータが出る段階になったらしいので、自前のVIM用シンタックスハイライト定義ファイルを更新しました。1.1 Beta 1のドキュメントベースですが。その成果…

rbcom (Ruby Command Switcher) 作った(`・ω・´)

これ chiku2gonzalez / rbcom — Bitbucket なんだこれ 昔作った chiku2gonzalez / rbcmd — Bitbucket をC#で作り直しました. さすがに100% Pure Batでのバージョン解析を改良する気にはならなかったね(*ノω・*)テヘとりあえずテキトー感あふれるReadmeしか書い…

Windows7のRuby 1.9.3にRMagickをインストールしてみたわけで

ひっそりとRixmapとかいう似非ビットマップ画像処理ライブラリつくってるわけなんですが、こいつを作ろうと思ったきっかけっていうのは結局PILレベルで楽に使える画像処理ライブラリが見つからなかったから、だったわけです。が、RMagickが使えるのならばそ…

CygwinでGHCを使おうとして挫折した話

タイトル通り、挫折しました(´・ω・`)ビルドできねぇとかどうしろと(´・ω・`) 先に結論 д゚) つ Haskell Platform

Ruby2.0 (RubyInstaller版)で自前のC拡張がビルドできなかった問題について

まず結論から言うと、 RubyのC拡張をC++で書くとハマるぞ-( ゚д゚) C++を使ってさらにC++0xとか使おうとするときは-std=c++0xじゃなくて-std=gnu++0xじゃないとハマるぞ-( ゚д゚) です。 前提として次の環境でした。 Ruby2.0.0p0 (RubyInstaller版 32bit) DevK…

PCX (4bit) のメモ

バージョンは2.8 (値は2) を指定すること RLEエンコードのみ対応の模様 0xF0と0x0Fでマスクして格納すること (前4bitと後ろ4bitで2ピクセル分のデータを1バイトに入れる) 当然のごとくインデックスカラー画像 ViXが落ちるお。 IrfanViewなら表示できるお(´・…

メモ化を使った自作画像処理ライブラリでのメモリ削減試行

Rixmapなんていう画像処理ライブラリ作ってるわけなんですが、Rixmap::Colorクラスという色を表すクラスがメモリ食いなんで、メモ化 (参考:blog.pasberth.com: Ruby: newを再定義してインスタンスをメモ化)とかいうのを使って同じ色は同じオブジェクトを使…

WindowsでGitを使う方法 (非正攻法だと思ふ)

WindowsでGitを使いたいと思った時、選択肢としては msysGit GitHub for Windowsもコレだよなー Cygwinでgit くらいが選択肢としてよく上がりますネ。でもですよ、コレだと例えばHerokuなんかはアウトになる時がありまして(´・ω・`) 具体的には Cygwin入っ…

PCXファイルフォーマットのメモ書き

忘れないようにするためのメモっぽいなにかです。とりあえずわかったこと RLE圧縮がデフォルト というより、非圧縮のPCXは仕様外っぽい RLE圧縮は『行単位』で実施 全ピクセルデータをまとめてRLE圧縮しない まとめて圧縮するとソフトウェアによっては表示不…

PaaSを使ってみた感想的ななにか

えー、ちょいちょいシェリスたんBotをGAEから移設しようとしてまして、とりあえずHerokuとDotCloudに目をつけて試してみたんですよ。 結論から言うと、WindowsだとCygwin必須です。以下愚痴 Herokuの場合 herokuはDotCloudよりは楽でしたね、相対的に。 gem …

sndファイルフォーマットについて

ちょいと調べたら偉い単純だった件 フォーマット概要 基本的にSFFと一緒だった +------------------------------------------+ | SND Header (512bytes) | +------------------------------------------+ | SND Node (16bytes + N bytes (wav file) | | × n …

JNIを使ったJavaプログラムをCygwinのGCJでexe化した時のメモ

まぁ、まずはJNIから JavaにはJNIっていう、メソッドをC/C++で書ける機能があります *1。 例えば次のようにmainすらnative化出来たりしますね public class HelloWorld { static { System.loadLibrary("hw"); } public static native void main(String[] arg…

SFFv2をSFFv1にするスクリプト組んでみた

事の発端はTwitterなんですけどね。 @chiku2gonzalez sprmake2関連でぐぐってたらそちらのサイトを見かけました。 SFFv1からv2へのコンバートツールなどを作っていらっしゃるようですが、逆にv2からv1にコンバートすることは可能でしょうか? 64bitOSで旧s…

PythonでEnum型

いっこ前のでメタクラスでシングルトンとかやりましたが、なんとなく必要になったEnum型の実装もメタクラスでやってみた。 いや先人の知恵でEnum型は実装済みだったんですが、Enumっぽいクラスのサブクラスにするのがなんとなくやだったので(;´∀`) つまり…

Pythonでシングルトン

基本的にPythonista見習いなので、とりあえずPythonでやってみたい衝動があります。 それでここ最近メタプログラミングとかいうのに目覚めたので、メタクラスを使ってちょいちょい遊びました。で、手始めにシングルトンオブジェクトをあれやこれや先人の知恵…

mattr_accessorとcattr_accessor

Rubyの記事を検索して出てくるページにですね、モジュールに対するattr_accessorみたいな関数であるmattr_accessorというのがあったのですよ。 で、それを使おうとしたら そんなんしらんわ(´・ω・`) 的なことをRubyインタプリタさんは言ってくるわけですよ…

製作環境とかなんとか

ウチの製作環境。たぶん同じ構成の人はいないと思うけど。 用途 ツール名 SFF編集 SFF Air Editor, SFF Air Maker AIR編集 〃 SND編集 〃 記述系 GVIM (香り屋版) *1 ドット絵編集 EDGE, GraphicsGale, GIMP2 減色 Padie 画像の縮小 Bitmap Resizer 音声編集…

ウィンドウを表示するだけのコード

なんとなくメモ的ななにか。 Java系 Javaの場合 public class WindowJava { public static void main(String[] args) { javax.swing.JFrame win = new javax.swing.JFrame(); win.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); win…

Work in Progress まとめ

なんかいろいろ背負い込んだのでまとめておく。 優先度 名称 備考 高 Notocactus (ベルトスクロールアクションゲームエンジン) Oops, you've found a dead link — Bitbucket ↑ 【MUGEN】シェリス様作るよプロジェクト 【MUGEN】ルナ姫木再構築プロジェクト ↓…

PythonからDXライブラリを使ってみる

たまには技術屋っぽい事も書いておかないと、とか思って最近やってることについて書くなど。とある方の手伝いで真面目にDirectX触らないといけない自体になりまして*1。 とりあえず楽できそうなDXライブラリに手を出してみみました。が、C/C++な時点でPHPに…

printf/sprintfフォーマット指定子でフィールド幅を可変にする方法

まさかMUGEN関係の記事を見てて新たな知恵を得ようとは。それもC言語的な方面の。発端はdrab氏 (でいいのかな) の%nの記事で、 4.フィールド幅、精度 既に、メモリエディタさえ用意すれば%nを使えるようになったはずですが、ここでは%nを利用する上での小…

GAEで動作するTwitter BOTとか作ってたりもした

現在セリフデータ収集中なので動作してません*1が、GAE/PythonでTwitter BOTつくってました。 抱き枕カバー到着で発作的につくりはじめたやつなので、当然のごとくシェリス様です。むしろこっちが先で、なんでか知らんがMUGENキャラ化してた。で、そのメモを…

WindowsでApache2+Mongrel+Redmineをやってやったわー(ヽ'ω`)

シェリス様つくるのになんとなーくタスク管理とかしたかったので再度Redmineを投入してみました*1。 前回はTomcat+JRuby+Redmineな環境でしたが、今回はApache2でやりたかった。そしてすごく嵌ったのである。ぶっちゃけWindows+Apache環境でRedmineなんて考…

PythonからJNIを操作するC拡張を作ってみた

なんとなくPythonの拡張を作ってみたくてこの2日間がんばってみた*1。Pythonを扱っているはずだけどC++しかやってないな、そういえば。 で、作ったものはpyjvmモジュールと名づけてみた。何をするものかというと、PythonからJavaVM (JNI関数) を呼ぶだけ。し…

Zend_DateとZend_LocaleとZend_Dbではまったことのメモ

Zend_Dateを使ってMySQLに日付データを入れようとしたらなんだかしらないけどデフォルトに設定した'0000-00-00 00:00:00'になる問題にぶちあたったので、解決までのメモ。 たぶんこの現象 (Zend_Date::now() storing wrong date into DB) と同じだと思う。あ…