ビルドしたバイナリからビルドに利用したGoのバージョン情報を読む
なにができる?
- goでビルド済みのバイナリからgoのバージョン情報が取得できます。
なにがうれしいの?
- 配布した(された)バイナリはどのgoのバージョンでビルドされたのかわかります。ので、goの本体にセキュリティ修正などが行われた際、もし古いバージョンだと困るのであれば調べることができます。
やってみよう
適当な実行ファイルをビルドする。とりあえずhelloworldレベルで。
$ cd hello $ cat main.go package main import "fmt" func main() { fmt.Println("Hello, 世界") } $ go build
go tool nm
コマンドで、変数buildVersion
のアドレスが特定できる(ちなみに、buildVersion
は $GOROOT/src/runtime/zversion.go
にある変数):
$ go tool nm hello | grep buildVersion 258ec0 D runtime.buildVersion
これをgdbで見てみると:
$ gdb hello GNU gdb (GDB) 7.9.1 Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-apple-darwin13.4.0". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from hello...done. Loading Go Runtime support. (gdb) x/s *0x258ec0 0x18f110 <go.string.*+8176>: "go1.5.1" (gdb)
で読めます。なお、以前go get
したコンパイル済みのバイナリからもGoのバージョン情報を引き出すことができます。
簡単にバージョンを調べたい
gdbで見るのは面倒なので、objdumpでバージョン情報を取得できるようにしてみました(Linux):
使い方:
$ ./goversion.bash hello go1.5.1
さらに簡単に・・
動かなくなるかもしれませんが単純にgrepしてもいいかもしれません。
力技:
$ objdump -s hello | grep -E "go[0-9]" | sed -e 's/.*\(go.*\).*/\1/' -e 's/\.\.\+//g' go1.5.1
他にいい方法があれば教えて下さい!

Binary Hacks ―ハッカー秘伝のテクニック100選
- 作者: 高林哲,鵜飼文敏,佐藤祐介,浜地慎一郎,首藤一幸
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2006/11/14
- メディア: 単行本(ソフトカバー)
- 購入: 23人 クリック: 383回
- この商品を含むブログ (223件) を見る
よく使う電源タップ
昔から愛用しているタップについて調べてみた。
背景
買おうと思ったら
取り扱いがなくなっていたorz
一人暮らしの時からこれを3つくらい使って少しづつ増やしてきた。おもちゃや家電が増えるとコンセントですぐに増やせるこれが役に立つ。壁からはみ出ないし、片側に2つ出ているのでコードを逃がしやすく、拡張性が高い。
さて、どうするか。
同じもの?似たものがあるみたい

ELECOM 電源タップ 片面+下方向 3個口 ホワイト T-TR4WH
- 出版社/メーカー: エレコム
- 発売日: 2003/10/15
- メディア: Personal Computers
- 購入: 4人 クリック: 15回
- この商品を含むブログ (2件) を見る
![125V/15A コーナータップ EA940CD-11 [その他] 125V/15A コーナータップ EA940CD-11 [その他]](http://ecx.images-amazon.com/images/I/21M%2BZhLBpHL._SL160_.jpg)
125V/15A コーナータップ EA940CD-11 [その他]
- 出版社/メーカー: エスコ
- メディア: その他
- この商品を含むブログを見る
![サイドコーナータップ 3個口 白 [HS-AS315/W-G] サイドコーナータップ 3個口 白 [HS-AS315/W-G]](http://ecx.images-amazon.com/images/I/31ikKkfk7sL._SL160_.jpg)
サイドコーナータップ 3個口 白 [HS-AS315/W-G]
- 出版社/メーカー: オーム電機
- 発売日: 2006/07/21
- メディア: Personal Computers
- この商品を含むブログを見る

エスコ AC125V/15Aコーナータップ EA940CD-11
- 出版社/メーカー: エスコ
- メディア:
- この商品を含むブログを見る

明工社 コーナータップ 耐トラッキングタイプ 15A 125V 黒 MR7540B
- 出版社/メーカー: 明工社
- メディア:
- この商品を含むブログを見る

明工社 コーナータップ 耐トラッキングタイプ 15A 125V 白 MR7540W
- 出版社/メーカー: 明工社
- メディア:
- この商品を含むブログを見る

コーナータップ 耐トラッキングタイプ 15A 125V 白 MR7540W
- 出版社/メーカー: ノーブランド品
- メディア:
- この商品を含むブログを見る
安く手に入れるにはどうしましょうかね。。
LinuxからUSB HUBの電源のON/OFFを制御してみる
はじめに
USBの規格上、各ポートの電源の制御ができる(Per-port power switchingというらしい?)そうですが、その機能を実装しているデバイスがあまり無いようです。 いろいろを探してみるとSUGOI HUBがその機能を実装しているということなので買って試してみました。

システムトークス SUGOI HUB4Xシリーズ ブラック アダプタ付 電力供給安定型 USB2-HUB4XA-BK
- 出版社/メーカー: システムトークス
- 発売日: 2009/01/19
- メディア: Personal Computers
- クリック: 3回
- この商品を含むブログを見る

システムトークス SUGOI HUB4Xシリーズ ホワイト アダプタ付 電力供給安定型 USB2-HUB4XA-WH
- 出版社/メーカー: システムトークス
- 発売日: 2009/01/19
- メディア: Personal Computers
- 購入: 1人 クリック: 1回
- この商品を含むブログを見る
lsusbコマンドで確認する
Linuxならなんでもいいですが、とりあえずraspberry pi 2で。
lsusb
で確認してみます:
pi@raspberrypi ~ $ sudo lsusb Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 004: ID 0409:005a NEC Corp. HighSpeed Hub
このなかのNEC Corp.製のチップのデバイスがSUGOI HUBです。BUS=1, Device=4
であることがわかります。
hub-ctrlを使って制御する
portの電源制御が簡単にできるようになるので利用してみます:
http://www.gniibe.org/development/ac-power-control-by-USB-hub/index.html
hub-ctrlをコンパイル
$ wget http://www.gniibe.org/oitoite/ac-power-control-by-USB-hub/hub-ctrl.c $ gcc -O2 -o hub-ctrl hub-ctrl.c -lusb
-v
で各portの状態が確認できます:
pi@raspberrypi ~ $ sudo ./hub-ctrl -v Hub #0 at 001:004 INFO: individual power switching. Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0100 power Port 3: 0000.0100 power Port 4: 0000.0100 power *snip*
Hub #0 at 001:004
が先にlsusbで確認したBUS=1, Device=4
のSUGOI HUBです。
操作してみる
portはSUGOI HUBの左から1,2,3,4の順で指定できます。
$ sudo ./hub-ctrl -b 1 -d 4 -P 1 -p 0 # port 1のpower off $ sudo ./hub-ctrl -b 1 -d 4 -P 1 -p 1 # port 1のpower on $ sudo ./hub-ctrl -b 1 -d 4 -P 2 -p 0 # port 2のpower off $ sudo ./hub-ctrl -b 1 -d 4 -P 2 -p 1 # port 2のpower on
なお、port 3,4は操作できませんでした。
これでUSBファンなどが自在に操作できます! USB電源連動のタップを使えば、安全に電化製品を制御できそうですね。
https://gist.github.com/atotto/5c1d55a2cb99ced9f7c7
raspberry piでやっていて気になったこと
hub-ctrl -v
で確認するとBUS=1, Device=2
にも何か見えています。
これはraspberry piのものです。
Hub #1 at 001:002 INFO: individual power switching. WARN: Port indicators are NOT supported. Hub Port Status: Port 1: 0000.0503 highspeed power enable connect Port 2: 0000.0100 power Port 3: 0000.0100 power Port 4: 0000.0503 highspeed power enable connect Port 5: 0000.0100 power Hub #2 at 001:001 INFO: ganged switching. WARN: Port indicators are NOT supported. Hub Port Status: Port 1: 0000.0503 highspeed power enable connect
ためしに、raspberry piのportを操作してみました。 port 1の電源を落とすとLANが落ちました:
$ sudo ./hub-ctrl -b 1 -d 2 -P 1 -p 0
port 2、または、port 4を操作するとraspberry piのUSBの電源がすべて落ちました:
$ sudo ./hub-ctrl -b 1 -d 2 -P 2 -p 0
$ sudo ./hub-ctrl -b 1 -d 2 -P 4 -p 0
残りのport 3,5はよくわかりません。 #どこの資料をみればいいのでしょう。。
YAPC::Asia 2015 へ行ってきた #yapcasia
YAPC::Asiaへ行ってきました。 関係者の皆様、本当にありがとうございました。
YAPCというと、Perlに関するカンファレンスで、私自身Perlをまともに使っていないということもあり、見送っていました。が、Rebuildでアナウンスを聞き、実は技術者のお祭りなんだよ!最後だよ!ということで初参加しました。
結果、参加して良かったです。これが最後ということですが、次に繋がる最後だと思っています。今後の祭りも楽しみに生きていこうと思います。
ありがとうございました! #yapcasia pic.twitter.com/l72W89bKRz
— atotto (@atotto) 2015, 8月 22
聞いた・参加したもの一覧
day1:
- Opening - YAPC::Asia Tokyo 2015
- メリークリスマス! - YAPC::Asia Tokyo 2015
- Managing Containers at Scale with CoreOS and Kubernetes - YAPC::Asia Tokyo 2015
- TBD - YAPC::Asia Tokyo 2015
- Conway's Law of Distributed Work - YAPC::Asia Tokyo 2015
- Electron: Building desktop apps with web technologies - YAPC::Asia Tokyo 2015
- esa.io - 趣味から育てたWebサービスで生きていく - YAPC::Asia Tokyo 2015
- Lightning Talks Day 1 - YAPC::Asia Tokyo 2015
- 懇親会 - YAPC::Asia Tokyo 2015
day2:
- PolyglotのためのDocker - 我々はどこから来てどこへ向かうのか - YAPC::Asia Tokyo 2015
- NASA主催の世界最大級ハッカソンSpaceAppsを運営した話 - YAPC::Asia Tokyo 2015
- Docker3兄弟について - YAPC::Asia Tokyo 2015
- Adventures in Refactoring - YAPC::Asia Tokyo 2015
- Parallelism, Concurrency, and Asynchrony in Perl 6 - YAPC::Asia Tokyo 2015
- Profiling & Optimizing in Go - YAPC::Asia Tokyo 2015
- Lightning Talks Day 2 - YAPC::Asia Tokyo 2015
- クロージング 🎉 - YAPC::Asia Tokyo 2015
ほとんどAトラックにいました。
- HTTP/2時代のウェブサイト設計 - YAPC::Asia Tokyo 2015
- どうしてこうなった? Node.jsとio.jsの分裂と統合の行方。これからどう進化していくのか? - YAPC::Asia Tokyo 2015
- HTTP2 時代の Web - YAPC::Asia Tokyo 2015
も聞きたかったものの、他の行きたいものとバッティングしてしまいました。後日資料を追いたいと思います。
その他リンク:
すこし詳しく
Merry Christmas! / Larry Wall
最初どういう話なのかついていけませんでした・・が、ざっくりまとめると、Perl5とPerl6の違うようで似ていて、また別の進化がある、、というようなことだと思います。
- Perl5 → hobbit
- Perl6 → LotR
この違いについてしっかりとした教養が足りませんでした・・。スタートレックやスター・ウォーズについては知識があるのですが、こっちの勉強範囲を広げる必要がありそうです。
また、ラリーさん曰く、「Perl6はこれまでクリスマスに出すとは言っていた。が何年のクリスマスとは言ってこなかった!Perl6は何事もなければ2015のクリスマスにリリースする、かもしれない」というアナウンスがあり、盛り上がりました。
Managing Containers at Scale with CoreOS and Kubernetes / Kelsey Hightower
slide: Managing Containers at Scale with CoreOS and Kubernetes
Kubernetesについてちょっと知りたかったので参加。
Kubernetes:くべぇねぇてす
ライブでデモをしながらだったのでイメージが湧きやすかったです。資料yapc-asia-2015/demo at master · kelseyhightower/yapc-asia-2015 · GitHub
- コンテナ管理がしやすそう。
- Podでコンテナをまとめて運用する。
- 異常をきたしたコンテナは安全に切り離してデバッグする。←これ重要!
TBD (Toward Brain-aware Design) / Yukihiro Matsumoto
アーキテクチャの進化、考え方は振り子のようになっていて、それにより新しいことが生まれてくる。
そんななかで、マルチコア時代のシェルスクリプトって見直されてきている:
- パイプライン処理でマルチコアを有効的につかえそう
- でもShellで書くのつらい
マルチコア時代のスクリプトを書く言語としてstreemを提案している。
感想:
弟ではありませんw #yapcasiaA #yapcasia pic.twitter.com/Zn3C5WpcyF
— atotto (@atotto) 2015, 8月 21
@mattn_jpさんすごすぎる。
streemをウォッチしていこうと思う。
Docker For Polyglots : Where We've Come From, and Where We Can Go / @upthecyberpunks at Docker
polyglots = 多数の言語を使えるひと
将来はシンクライアントな構成になっていく
Dockerの方向性:
- より簡単にさまざまなコンテナを使えるようにする
テクノロジーを使うための敷居を下げる
すぐれたエンジニアなら適切なテクノロジーを適切なところで使いたい
→ 開発環境を設計、利用、運用していくのは大変。さらに健全な状態で運用することも大変
すべての人がすべてのツールを学ぶことはできない
Tooling is difficult
ビルドのための仕組みを手元で再現するのはむずかしい → 貢献しようとしてくれるひとへの敷居が高い
参入障壁を減らす、トラックナンバーを下げる。それなら、
- 環境の構築を自動化したい
- dependency hellをなくしたい
Dockerはこういった問題に対応できる。
- Dockerを使って環境を簡単に定義できる!
- DockerfileはREADMEとして使える!
- kernelさえサポートしていればよい!
感想:
アプリケーションの実行環境の構築はDockerでやっているが、開発環境の構築までは手を付けていない。 開発環境は個人の好みの問題もあって結構むずかしい。いい解決案を探して行きたいなぁ。
Docker 3兄弟について / @toritori0318
- Docker Machine
- Docker Compose
- Docker Swarm
全然使ってませんでした。Linuxマシンを直接触っているのもあってdockerコマンドを直接。。ちょっと、このあたりで整理する必要がありそう、かも?
関係無いですがOSX・・というかMacをつかって開発したい。
Adventures in Refactoring / Ben Lavender
リファクタリングのありがたいお話。
振る舞いを変えずにコードを整理していく。
go fmtは良い仕組みです!
Parallelism, Concurrency, and Asynchrony in Perl 6 / Jonathan Worthington
Perl6でサポートされる並列、並行、非同期処理の話。
各問題について丁寧に説明があり、わかりやすかった。 タスクの処理やデータ処理などをスクリプトで書くときに重宝しそう。streemとともにウォッチが必要。
Perl6まだかな・・・
Profiling & Optimizing in Go / Brad Fitzpatrick
トラックAの最後の講演はなんと @bratfitz さんのGo言語の話。 @bratfitz さんはGo言語のコアな開発者です。
資料: bradfitz/talk-yapc-asia-2015 · GitHub slide: YAPC: Go Debugging, Profiling, and Optimization - Google スライド
@bradfitz さんのライブコーディングすごい。そしてわかりやすい。Youtubeでもライブコーディングの動画があるのでオススメです。
みんなでGo言語やりましょう(ぉ
GoCon 2015 summerを見てきました #gocon
2015-06-21のgocon 2015 summerを見てきました。
遠方からいらっしゃっていた @kwmt27 さんや @qt_luigi さんに会えたり、 @vvakame さんにTypeScriptについていろいろ聞いたり、その他皆様ありがとうございました!
次回も楽しみにしています!
以下、簡単なものですが、メモを公開します。
- 募集: http://gocon.connpass.com/event/14063/
- 詳細: https://github.com/GoCon/GoCon/blob/master/2015summer.rst
- togetter: http://togetter.com/li/837367
Keynote by @francesc at Google
It's an exciting time to be a gopher
Go 1.5 won't have a single line of C
Go in Go:
- don't like C
- love writing Go
- a more maintenable code base
- more mind space left for innovation (no context switch)
Program analysis:
- dynamic analysis
- debbuging
- code cover
- static analysis
- gofmt, golint, go vet
SSA (Single Static Assignment):
- Data flow analysis easier
- SSA Backend plan for go1.6
- source code analysis tool
- pointer analysis
- analysis: satatic function call or dynamic function call
- call stack
- godoc -analysis
Mobile:
- gomobile
- demo https://github.com/crawshaw/balloon
- debug on PC, run on Android!
総括: Goで開発ベースは全部整うし、モバイルもこれから書けるし、Goでいいやん。
"What I Talk About When I Talk About CLI Tool By Golang" by @deeeet at rakuten
https://speakerdeck.com/tcnksm/what-i-talk-about-when-i-talk-about-cli-tool-by-golang-number-gocon
Cloud foundry : Goで書き直し中
Command line toolつくるときに使えるライブラリ:
感想:
flagパッケージでほとんど事足りる、が、必要に応じてライブラリ使うほうがいいかも。
"Generative Programming in Go" by @monochromegane at GMO Pepabo
https://speakerdeck.com/monochromegane/generative-programming-in-go
generate programming
- Go + AST + Template + goimports = Code
- argen: https://github.com/monochromegane/argen
- reflectを使うと性能が落ちる -> 使わないようにする
templateは可読性重視。goimportsで自動整形する:
func writeWithFormat(file, template string, structs structs) ([]byte, error) { var b bytes.Buffer w := bufio.NewWriter(&b) write(w, template, structs) w.Flush() formatted, err := imports.Process(file, b.Bytes(), nil) if err != nil { return nil, err } return formatted, nil } func write(w io.Writer, tplText string, structs structs) error { t := template.New("t") t.Funcs(template.FuncMap{}) tpl := template.Must(t.Parse(tplText)) if err := tpl.Execute(w, structs); err != nil { return err } return nil }
感想:
ASTでGoのコードを解析してコードを生成するというのは、それなりにメンテナンスコストもかかるので、細かい所を除いた8割くらいにおさえていた方がいい、というのがこれまでの経験で思う所。 goimportsの処理をコードから呼ぶことで整形するのは良いかもしれないので今度実装したい。
"GoCon 2015 Summer GoのASTをいじくって新しいツールを作る" by @vvakame at TopGate
http://www.slideshare.net/vvakame/gocon-2015-summer
TypeScript and Go の人
- https://github.com/favclip/jwg
- Goのstructのjsonタグを自動生成
- GoのAST便利
"Gore: A Tale of Go REPL" by @motemen at hatena
https://speakerdeck.com/motemen/gore-a-tale-of-go-repl
Gore: https://github.com/motemen/gore
- REPL
- Goを試したいときにirbみたいにやりたい
- しくみ: 中でgo runしてる
- コードをastで解析して各行をラップしてmainで実行する
"Debugging Go Code with GDB" by @kaneshin at eureka
https://speakerdeck.com/kaneshin/debugging-go-code-with-gdb
サービスをGoで書き換え中。
デバッグ:
- printデバッグやめろ
- gdbでデバッグしよう
- requre go1.4+
- OSX: brew install homebrew/dupes/gdb
go build -gcflags "-N -l"
- GoのGDB対応は発展途上
- コンパイル速いし → printデバッグでもいいか。
感想:
GoでGDBは何度か試みたことがある、が、うまく動くことが少なかったので諦めていた。 go1.4+で解消されているのであればまたチャレンジしてみようかな。
"Scaling Sourcegraph with Go" by Gabriel Aszalos(@gabrielaszalos) at Sourcegraph
https://sourcegraph.com/ https://srclib.org/
- ソースコード解析
- go-sourcegraph API
- https://sourcegraph.com/github.com/golang/go@ac452349e4f40c30d50f9922bf2c4592e748ce5e/.tree/src/encoding/json/decode.go
- gRPCでサービスを分割 https://github.com/grpc/grpc
感想:
ソースコードの解析サービスがWebブラウザで手軽に閲覧できるのはうれしい。 gRPCをもう取り込んでい活用していてすごい。 いろんなノウハウが溜まっていそう。
ikawaha at パシフィックポーター
形態素解析 kagomme
https://github.com/ikawaha/kagome
go gettableを目指す
- go-bindata でバイナリのassetを。 https://github.com/jteeuwen/go-bindata
- nomemcopy : use reflect/unsafe
感想:
形態素解析の話からはじまってどこへ向かうのかとおもったら、go getで簡単に取れるようにするための工夫がいろいろあった。 go-bindataつかったことないので困ったら活用しよう。
cubicdaiya at Mercari
https://speakerdeck.com/cubicdaiya/a-general-push-notification-server-in-go
nginxの人
- goroutineのリークには気をつける
- https://github.com/fukata/golang-stats-api-handler
"Golang, make and robotics" by @HideyukiTakei at beatrobo
https://speakerdeck.com/hideyuki/golang-make-and-robotics-number-gocon
Go in Robot
- http://gobot.io/
- Arudino Firmata : http://firmata.org/wiki/Main_Page
- gRPCクライアント -> gRPCを通じてシリアル通信 -> AVR
- プロトコルバッファprotocを使う。IDLで定義したものをコンパイル
感想:
ロボット動いてた。 IDLなんだかんだで使ったことない。試さないと。
"広告サーバーでのGoの開発・運用" by @catatsuy at ビクシブ
https://speakerdeck.com/catatsuy/p-ads-server-gocon2015
インフラまわり 広告サーバをGoで作っている
- nginx → Circus → Application(golang)
- nginxでユーザーのリクエストをバッファリングする
- アクセス制御も簡単
- nginx <-unix domain socket-> Circus <-file descriptor-> go
- Circus http://circus.readthedocs.org/en/latest/
- Goのアプリをデプロイ後、circusctl reloadするだけ
感想:
nginx <--> Circus <--> Go の組合せでの運用は良さ気。 GoでCircusのような実装ってないのかな?
nishio ryota サイバーエージェント
サーバーサイド
- 基盤はJavaの開発が長い
- Goのメリット: 並行性、わかりやすさ、速度
- コード: 読みやすい、フォーマット・コード規約が明確
- 学習コスト: A Tour of Go、Effective Goで基本的(6割)に書けるようになる。Goらしく書くにはその先
- 開発環境: 充実 gfmt, golint, go vet etc..
- デプロイ: クロスコンパイル簡単。
- テスト: 標準で。 go test
- ベンチマーク: 簡単。 go bench, go tool benchcmp
- プロファイル: 標準。 runtime/pprof, net/http/pprof
- パッケージ管理: まだこれから
- Goっぽさ: 標準パッケージで学ぶ。
感想:
人出が足りてないという割にはちゃんと使いこなせていてすごい。 Goの勉強会を開催するらしいので遊びに行ってみたい。
その他
じゃんけん大会でgopherげっとしましたー!ありがとうございます #gocon pic.twitter.com/IzAnua2vvR
— atotto (@atotto) 2015, 6月 21
2歳になった息子にgopher見せたら「いらない!」って言われた。ので、無事に明日、共に会社に出社します。
— atotto (@atotto) June 21, 2015
去年、Denverのgopherconでもらったピンクのgopherと並んで記念写真。 pic.twitter.com/IQ6jmeXQG4
— atotto (@atotto) June 21, 2015
Tex Yoda(トラックポイントキーボード)
これいいです。
メカニカルキーボードにトラックポイントがついているキーボード(Tex Yoda)です。
以前よりトラックポイントが付いているキーボードを愛用していて、こんなの
![Lenovo ThinkPlus USBトラベルキーボード ウルトラナビ付 [31P9514] Lenovo ThinkPlus USBトラベルキーボード ウルトラナビ付 [31P9514]](http://ecx.images-amazon.com/images/I/31S9A64DZQL._SL160_.jpg)
Lenovo ThinkPlus USBトラベルキーボード ウルトラナビ付 [31P9514]
- 出版社/メーカー: Lenovo
- 発売日: 2004/06/11
- メディア: Personal Computers
- 購入: 1人 クリック: 148回
- この商品を含むブログ (34件) を見る

レノボ・ジャパン ThinkPad USB トラックポイントキーボード(日本語) 55Y9024
- 出版社/メーカー: Lenovo
- 発売日: 2009/08/25
- メディア: Personal Computers
- 購入: 23人 クリック: 680回
- この商品を含むブログ (40件) を見る

レノボ・ジャパン ThinkPad Bluetooth ワイヤレス・トラックポイント・キーボード - 英語 0B47189
- 出版社/メーカー: レノボ・ジャパン
- 発売日: 2013/06/25
- メディア: Personal Computers
- この商品を含むブログ (2件) を見る
を使ってきました。ちなみに上の2つはもう売っていません。
メカニカルキーボードも使ってみたいと思いつつ、トラックポイントがないので踏みきれていませんでした。 #そういえば大学の先輩がHHKに穴を開けてトラックポイントを取り付ける改造を試みていましたが、あれはどうなったんだろう・・
そんなところにTex Yodaが Massdrop https://www.massdrop.com/buy/tex-yoda で購入できるということを知って乗っかってみました。 なお、Massdropは、サイトで欲しい人を募り、目標人数を達成(drop)すれば割引価格で購入できるというショッピングサイトです。
メカニカルキーボードははじめてなので、軸について調査。
なんとなくこれみて茶色かなということで茶軸を選択。
2015/02/01にdropが完了して、発送されたのが4/8。待ち長いですが、まとまった数での購入なのでこのあたりはしかたないですね。
Tex Yodaは基本的に自分で組み立てる(ハンダ付け)必要があります。 注文時に組み立て済みのものを選択できますが+$50くらいかかります。
組み立ては全工程で2hほどかかりました。
- 組み立て方: TEX Yoda Assembly Instructions - Massdrop
- 詳しいレポート: TEX Yoda Trackpoint Keyboardを買った | うなすけとあれこれ
操作感は良好。トラックポイントの感度がこれまで使っていたものより入力が大きいので調整が必要でした。
自分で組み立てるのは楽しいし愛着わきますね。