chikuchikugonzalezの雑記帳

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

MX ERGO来た

╭( ・ㅂ・)و̑

充電式なの、届いてから知ったのが私です。

今のところ、ポインタ速度が M570 の頃の感覚とずれてるくらいで、ほかは特に気になる部分はないですね。さすが *1

気になる本体の傾け機構はこんな感じ

20°
f:id:chikuchikugonzalez:20170924192015j:plain f:id:chikuchikugonzalez:20170924192021j:plain

残念ながら、この間の設定はほぼ無理でした。10°とか設定でき無さそうな感じで、カタンって変わっちゃう(´・ω・`)

それから

いつの間にやら設定ソフトウェアが SetPoint さんではなく、新しく Logicool Options に変わってた。

f:id:chikuchikugonzalez:20170924190145p:plain
増加
増加て。*2

*1:エレコム製の時は、ポインタがうまいこと進まない個体にあたったからなぁ

*2:なんだろ、Additional とかそんな感じのやつかな。または Option。どっちにしろ翻訳どうなってんの。

最近 Oblivion を復活させたのでメモを残しておく

つい最近、唐突に Oblivion やりたくなった*1ので環境を戻してました。つい Steam 版買っちゃってた*2のもあって、ゲームのインストールはサクッとで来たんだけど、MOD 管理環境が面倒なことになった。

*1:ニコ動で見てる「ロリコンが歩くスカイリム」にタマネギが出てきたからだと思う

*2:だいぶ前にGOTY版を買って持ってるにもかかわらず

続きを読む

ふと思い出した BodySlide Outfit Studio でメッシュを壊してた話

だいぶ前*1にこんなこと言ってました。


なんのこっちゃって話なんですが、これは防具の一部が形状変更スライダーに対応してないから、既存体型からウェイトをコピーして対応させようとしてたやつです。
で、その時に何が起きてたかというと、保存したメッシュが盛大に崩れて死ぬ*2っていう。

結論としては、操作順間違ってただけなんですけどね。

*1:一月末

*2:読み込むとCTD

続きを読む

Functional Homes v2の雑翻訳してた

Skyrimでハニーサイドに住んでるんですが、溶鉱炉がほしくてつい家改造MODである Functional Homes入れたんですが。
Functional Homes at Skyrim Nexus - mods and community
日本語訳が見つからないので雑翻訳作っておきました ╭( ・ㅂ・)و̑
*1

追記 (2016/12/05未明)
  • esp側を忘れてたのでそっちを追加 *2
  • 長くなったので続きを読む化

*1:Potion Combinerが強敵でした

*2:ホワイトランでブリーズホームを買おうとして気が付いた

続きを読む

最近のコントローラ事情

ついこの間、Windows 10ならBluetooth接続できるという新型 Xbox One ワイヤレスコントローラを買ってました。

いやホントに、フツーに繋がってUSBポートが一個空いたのは感動モノでしたね*1

とはいえ電池式になってしまったので、電池切れ対策どうしようかなー、とりあえずはエボルタかなー?

そんな時に

(´-`).。oO(Xbox Oneのプレイ&チャージキットってあったよな…?)
(´-`).。oO(いやでもそれだと結局充電用にポートふさぐし、それだと無線じゃなくて優先扱いになってしまうしなー)
(´-`)…
( ゚д゚)!
( ゚д゚)USB充電器使えばいいんじゃね?

で、そろえたもの

Xbox One プレイ & チャージ キット

Xbox One プレイ & チャージ キット

これで充電しながら無線のままでいられる環境がそろってしまった( ・´ー・`)

*1:4個中3個埋まってたのが2個に減った

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

Process Entry、略して pentry と名付けました。
github.com

大元の動機は結構前にGoでツール作ってた時、「あー、親プロセスの実行ファイルとれねーかなー」とか思ったたら既にあったというもの*1
github.com

で、これと同じことをRustできないかなー、って思ったのが始まり。
つーてLinux側は特に心配してなかったんだけど、Windows側はFFIの関係でちょっと苦労した*2

使い方

基本はプロセスIDから探すので、こうなります。ところでホントにlibc使わないと今のプロセスID取れないんですか…?

extern crate libc;
extern crate pentry;

let pid: i32;
unsafe {
    pid = libc::getpid() as i32;
}

if let Ok(ps) = pentry::find(pid) {
    println!("#{} {}", ps.pid(), ps.path().unwrap());
}

で、いちいちlibc書くのめんどいだろうからヘルパー的に現在プロセスを取得する関数はあります。

extern crate pentry;

if let Ok(ps) = pentry::current() {
    println!("{:?}", ps);
}

取得できたプロセスオブジェクトには親プロセスを取得するためのメソッド parent() が生えているので、それをたどれば親プロセスを取得できます( ´∀`)b

extern crate pentry;

let ps  = pentry::current().unwrap();
let pps = ps.parent().unwrap();
println!("Parent: {:?}", pps);
おまけ:pentryコマンド

cargo install pentryとかすると一緒に pentry コマンドが $HOME/.cargo/bin に配置されます。これを使うと特定プロセスの実行ファイルとか見れます、たぶん*3
ある意味参考実装的なものですね。

chiku2gonzalez@xenial:~$ pentry  -h
Show some process information.

USAGE: pentry -h|--help
       pentry [-P|--parent] [PID [PID...]]

Options:
    -h, --help          Show this usage message.
    -P, --parent        Inspect parent process entry.

chiku2gonzalez@xenial:~$ .cargo/bin/pentry
  PID	 PPID	PATH
 5284	 2379	/home/chiku2gonzalez/.cargo/bin/pentry

chiku2gonzalez@xenial:~$ .cargo/bin/pentry -P
  PID	 PPID	PATH
 2379	 2377	/bin/bash
 5295	 2379	┗ /home/chiku2gonzalez/.cargo/bin/pentry

chiku2gonzalez@xenial:~$ 
余談

とりあえず trait を Go の interface みたいにできないのがツライ(´・ω・`) *4

*1:HashiCorpの人が作ってた

*2:コード量の大半はFFI絡みという

*3:フルパスに関しては取れないこともある前提で。型もOptionだし。

*4:Result型に入らない的な意味で