cosyoの雑記

胡椒の花です。

日経Linuxの"まつもとゆきひろ プログラマのこだわり-プログラマノート術"を読んだ

日経Linux 2017年 08 月号

日経Linux 2017年 08 月号

先日,本屋で日経Linuxを立ち読みしていたらなかなか良い記事を発見. Ruby開発者のまつもとゆきひろ氏が連載している「プログラマのこだわり」という記事なのだが,結構共感できたり,新しい発見があったのでまとめておく.

プログラマの仕事風景

実際にプログラミングしているときは,少しキーを叩いては,コンパイラの実行完了をまったり,デバッカーを動かして出力におかしいところがないか探したり,あるいは腕を組んでプログラムの構造を考えたりしています

恥ずかしい話だけど,凄腕のプログラマーは,高速でコードを書き上げる方たちばかりだと思ってたよ...。いや,きっと自分よりは高速なんだろうけど...。

考えるときは"一冊のノートに"

私は紙のノートを使ってフロー情報を管理しています。紙のノートです。プログラマの割にアナログだなと思われるかもしれません。

自分は頭の中で思考を練るのが苦手で,とにかく出力しないとアイデアが浮かばない人間. まつもとさんも同じような思考を持っているらしく,安心した笑

まつもとさんはノートを使う際の条件を

  • 百均のリングノートで表紙が厚いものを買う

  • 日付を書く

  • ひとつのノートに何でも書き込む

としている.

特に,"ひとつのノートに何でも書き込む"は非常に共感した.以前,僕はなんでもかんでも分類しようとして必要な時に書きたいことが書けなくて,かえって自分を苦しめていた. そこで半年ほど前から考え事は全部A4のキャンパスノートにガリガリ書き込むようにしている.たまに,「やっぱりノート分けた方がいいかも...」と思う場面もあるが,まつもとさんも同じようなノートの付け方をしていると分かり自信がついた.

思考方法

まつもとさん場合,考えをまとめる時は

  • 1 情報収取

  • 2 集めた情報をノートに書き出し,整理

  • 3 アイデアの箇条書き,情報の並べ替え

のステップでおこなうらしい.

考えがまとまらない場合

  • インプットが足りない
  • 情報間の連携が足りない

ことが原因."情報間の連携が足りない"場合はいわゆる"ひらめき"に求めることになる.”ひらめき”は,リラックスしているときにふと「あ!」となるアレだ.

僕も難しい問題は,寝て起きて考えるか数日放置して取り組んでみるようにしている.意外とあっさりとけてしまうことがある.この手段を使ってもまとまらないなら,明らかに”インプットが足りない”だろう.

僕にとってはまつもとゆきひろ氏はスーパープログラマなんだけど,ノートの付け方とか思考法はあまり変わらないんだな,と今やってることに自身が持てた. あと立ち読みは,こうゆう巡り合わせがあるのでやめられないですね。

Raspberry Piのセットアップ

概要

Raspberry Piを使って作りたいものができたので,転がってたモデル2BでRasbianを起動できるようにした.

以下の環境でインストールと起動を行った.

  • Mac OSX 10.12.5
  • Raspberry Pi2 B
  • OS: Rasbian jessie
  • micro SD 32GB
  • 2.1A USB Power Adapter
  • Micro USB
  • HDMIケーブル
  • モニター

作業手順

Rasbianをインストールする手順は以下の通り.

  • 1 SDカードの初期化
  • 2 OSのイメージファイルをダウンロード
  • 3 zip圧縮されたイメージファイルを解凍
  • 4 SDカードにイメージを書き込む
  • 5 Raspberry PiにSDカードを挿入
  • 6 Raspbeery Piに電源を投入

1.SDカードの初期化

インストール作業の前にMicroSDカードを初期化する.
ターミナル上でも行えるらしいが,わかり易い「ディスクユーティリティ.app」を使う.
MacにSDカードを接続し,Lanchpad -> その他 ->「ディスクユーティリティ」を選択する. 下のような画面が出たら,"外部"からSDカードを選択する.このとき,SDカードの入れ子になっている側を選択する.(画像だとNO NAMEになっている方!) f:id:h2yoka:20170815214845p:plain

フォーマットしたいSDカードを選択した状態で,”消去”ボタンをディスクユーティリティ画面の上側から探す.選択すると別ウィンドウが立ち上がる.

以下の画像のようにパラメータを設定して,フォーマットを行う. f:id:h2yoka:20170815215027p:plain

2.Rasbian のイメージファイルをダウンロード

公式サイト[1]ではzipと,torrentが用意されている.OSのような容量の大きいファイルでは,torrentを使用してローカルにダウンロードする方が高速である.

自分は BitTorrent というアプリケーションをインストールした. [1]に表示されている,「Download Torrent」アイコンをクリックしダウンロードしたファイルをクリックする.すると,自動的にBitTorrentが起動する.
f:id:h2yoka:20170710004146p:plain

5分ほどでダウンロードは終了する(速い!)

3.zipファイルを解凍しSDカードにインストール

torrentでダウンロードしたisoファイルはzipで圧縮されている. 以下の手順で解凍する.

>cd Downloads/
>ls
2017-07-05-raspbian-jessie.zip
2017-07-05-raspbian-jessie.zip.torrent

>unzip 2017-07-05-raspbian-jessie.zip
Archive:  2017-07-05-raspbian-jessie.zip
inflating: 2017-07-05-raspbian-jessie.img

>ls
2017-07-05-raspbian-jessie.img
2017-07-05-raspbian-jessie.zip
2017-07-05-raspbian-jessie.zip.torrent

.img ファイルがzipコマンドを実行したディレクトリに作成されていれば完了

4.SDカードにイメージを書き込む

まず,SDカードの接続先を調べる.使用するコマンドは"diskutil".

> diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            499.4 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *31.0 GB    disk1
   1:                 DOS_FAT_32                         31.0 GB    disk1s1

ここから,/dev/disk1 にSDカードがマウントされていることがわかる. /dev/disk1 はデバイスファイル名で,disks1 はパーテーション名となっている.

次にSDカードをアンマウントする.
Macでは,補助記憶装置を接続すると自動的にマウントされてしまう.OSの書き込みには"dd"コマンドを使用するが,SDカードがマウントされた状態では書き込みを行えない.

> sudo diskutil umount /dev/disk1s1
Password:
Volume (null) on disk1s1 unmounted
>sudo diskutil umountDisk /dev/disk1
Unmount of all volumes on disk1 was successful

SDカードにイメージファイルを書き込む. マシンスペックによるが,終了まで数十分は必要.

> sudo dd bs=1m if=/Users/〇〇/Downloads/2017-07-05-raspbian-jessie.img of=/dev/disk1
4445+1 records in
4445+1 records out
4661483821 bytes transferred in 2703.358912 secs (1724330 bytes/sec)

5. Rasberry PiにSDカードを接続

しっかりと奥まで差し込むこと.

6. Rasberry Piに電源投入

用意したモニターとRaspberry PiHDMIケーブルで接続する.電源を投入してRaspberry のロゴが表示されれば正常に動作している. f:id:h2yoka:20170710003521j:plain

その後デスクトップが立ち上がる. f:id:h2yoka:20170710003528j:plain

もし正常に動作しない場合は,再度SDカードの初期化とddコマンドによる書き込みをしてみること.

備考

Raspbeery Piの現行モデルは 3 となっている.

また,Raspberry Piをいじるならモニターはあった方が良い.小さくて安価なものが売られている.

小生も所持しているが,外でのデバック用で使用している.

アマチュア無線技師4級を取得

概要

6月の中旬にアマチュア無線の試験を受けてきた.
無事合格できた.この記事では受験から免許が届くまでの流れを書き留める.これから受ける人の参考になれば.

きっかけ

 友人と特定小電力トランシーバーを買い込んでフリーライセンスラジオの一斉オンエアデーに参加したのが受験のきっかけ (フリーライセンスラジオのイベントはここから確認できる).

初めてにしては上々で,最長で那須塩原の人と交信できた.10mWの無線機で140km近く電波が飛ぶなんて驚きだ.これで味をしめて、免許取得を目指した

勉強法

5月から勉強を初めて,過去問をひたすら暗記した.購入した過去問はこれ.

初級アマチュア無線予想問題集2017年版: 完全丸暗記

初級アマチュア無線予想問題集2017年版: 完全丸暗記

 とにかくこれをやり込めば,大抵の人は合格できる.4級の試験自体も過去問からほぼそのまま出題されるので, 合格率8割程度. イメージが掴みにくい人は,漫画で解説してくれている本もあるので余裕があれば買ってみてもいいかもしれない.

コミック版 最新ハム問題集 (CQ comics)

コミック版 最新ハム問題集 (CQ comics)

受験方法

受験方法は

  • 事前申請
  • 当日受験

の二種類がある.自分は当日受験で合格した.
 事前申請は日本無線協会から行える.事前申し込みの場合,試験日は申請月の1〜2ヶ月先になるので,早く受験したい人は当日試験をおすすめする.
 当日試験の場合,晴海本部で試験が毎月行われている.なので東京近郊に在住ならすぐに受けられる可能性がある.4級の当日受験は午前と午後に一回ずつ行われ,どちらかを受験できる.受験のためには受験料と証明写真が必要になる.
 また,会場には早めに到着することも重要.試験の定員が200名程度しかなく,しかもこれが割と埋まってしまうからだ.自分のときも,8:30頃到着(試験開始は10:30)したが,すでに20名ほど待機していた.

受験後

 試験結果は当日発表される.受験後1時間ほど待つと,壁に合格者番号が張り出される.(受験期を思い出した...) f:id:h2yoka:20170708000256j:plain

 ここで合格とわかれば,試験会場で免許申請を行うことが可能だ.免許申請を行う場合は,別途

  • 住所を証明できる書類 [1]

  • 証明写真(受験用とは別) [2]

が必要になる.特に[1]は,住民票の写し等といった公的なものしか受け付けてくれないので早めに手配しておくことを忘れずに.また試験後一週間程度で,自宅に合格通知書が届く. f:id:h2yoka:20170707140539j:plain

免許証の取得

 免許申請をしておけば,指定先の住所に免許が届く.大体2〜3週間すると投函されている.気長に待つ.
f:id:h2yoka:20170707140640j:plain

終わりに

 ふと思い立って受験したアマチュア無線4級だが,試験の難易度より受験のために事前調査が必要だったり,免許申請の手続き方に気を使ったという印象だ.また,免許が届くまでに時間がかかるなど,思ったように開局の申請ができないことも分かった.免許取得ってこんなに大変なのか...

そして開局するにはこれから無線機を購入して,通信局に開局申請をしなくてはならない.
開局までの道のりは遠い...