Python mini hack-a-thon 雪山合宿 2018に参加した #pyhack¶
合宿としては4回目 Python mini hack-a-thon 雪山合宿 2018 - connpass にいってきました。過去の記録を辿ると夏、冬それぞれ2回ずつの参加だそうです。
今回やったこと¶
https://twitter.com/kashew_nuts/status/954237124735254528
https://twitter.com/kashew_nuts/status/954263435331584000
https://twitter.com/kashew_nuts/status/955027956551725057
だいたいこんな感じです。それ以外にはtmuxとより仲良くなろうとしたり、UbuntuにKindle入らないなーと思ってうんうん唸ってたりしました。
1日目¶
https://twitter.com/kashew_nuts/status/954152696256212995
会社のバターコーヒーエバンジェリストの影響で飲み始めた、バターコーヒーをお供に新幹線で出発。
恒例の刀屋¶
https://twitter.com/kashew_nuts/status/954226561598636032
普通そうに見えますが、実はどんぶりにぎっちりとそばが敷き詰められており大変ボリュームがありました。満足。
2日目¶
2日目は昼間はほぼスノボして、一眠りしたら夜はボードゲームしてました。
雪山の様子¶
https://twitter.com/kashew_nuts/status/954528371848835072
約1年ぶりのスノボしてきました。あんまり雪が積もってなかったこともあり、雪がカチコチですっ転ぶとヒッププロテクターをつけていても痛みで悶絶しましたが強い心で滑ってきました。
3日目¶
前日スノボですっ転んだときのダメージか、首筋が痛む3日目。朝昼と堪能し、それ以外は疲れて寝てた…
帰りの新幹線では何故か急にdotfilesのsetupスクリプトをPython化しようと思い立ってコーディングしてました。 結果はこんな感じ→ dotfiles/setup.py
https://twitter.com/kashew_nuts/status/954996736803487744
またいくぞー。
Linuxデスクトップを半年ぶりに導入した¶
macOSからArchLinuxにしたが結局macOSに戻ってきた話 — kashew_nuts-blog 以来半年ぶりにLinuxデスクトップを導入しました。
多少の問題はありますが、今のところ快適です。安定して使えていますね。
動機¶
「メモリのゆとりは心のゆとり」と誰かがいってました。
これまでプライベートのPCは最大メモリが8GBだったのですが、PyCharmやVMを気兼ねなく使えるとはいえず、Dockerを使うにも快適とは言えませんでした。OS面で言ってもmacOSでがんばるのも、Windowsに適合するのもつらそうだなと思い、原点回帰してUbuntuをデスクトップで使うことにしました。
Ubuntuを初めて使ったのは大学生の頃、最初に入っていたWindowsXPをまるごと消し飛ばしたのが最初だったと記憶しています。バージョンも8.04LTSがでた頃でした。今回は最終的にUbuntu17.10を入れました。
PC事前準備¶
新しいPCを購入ました。
macbookはハードウェア・ソフトウェアの両面から魅力を感じなくなってきたので、 Dellの Inspiron13 7370 という機種を購入しました。第8世代のCPUなのでCore i5でいいかなと思ったのですが、メーカーのサイトでマニュアルを見てみるとメモリの換装が困難(というか無理)そうだったので諦めてはじめからフルスペックモデルです。
Linuxデスクトップを導入するにあたり、気になっていたのは次のとおりです。
WiFiやBluetooth接続
サスペンドやハイバーネーションといった電源周り
HDMIなどの外部接続
Linuxデスクトップとして動いている実績があるか
PCメーカーとしてDellはUbuntuの対応も長く続けていますし、情報も多そうだったので問題ないと思い選択しました。キーボードの打鍵感や配列、トラックパッドの感触も確認して問題なさそうだったので購入。
ディストリビューション選び¶
Linuxデスクトップとしてはこれまで Ubuntu(数回) -> ArchLinux(Antelgos)
ときたので再度 ArchLinux
にしようかとも思いましたが、ここでは Ubuntu を導入することにしました。
理由としては、次のとおりです。
情報は少ないより多いほうがいい
Ubuntuの情報は多い
ArchLinuxのWikiも参考になることはわかっている
両者をいいとこ取りしよう!
ローリング・リリースよりLTSも考慮に入れた運用を行いたい
ArchLinuxで常に最新が使える環境はよかったが、ドキドキすることも確かだった
Ubuntuは半年に一回、もしくはLTSで二年に一回に新しくできるので心の準備ができる
「もしかしたら今日PCが起動しなくなるかも…」と考えるなら、最新より心の安定をとりたい
デスクトップ環境がUnityからGnomeに戻る!
これが一番大きかったかも(?)
バージョン選びはLTS版のUbuntu16.04LTSを導入しようとしました。
しかし自分の環境では appstreamcli
というのがエラーをはき、対応したかと思ったらそれ以降も定期的にエラーを吐くので「どうせUbuntu18.04LTSでGnomeになるのだから17.10にしよう」と思い、Ubuntu17.10を入れることにしました。
Ubuntu17.10はBIOS破壊のバグがあったりしたようなのですが、自分のマシンは対象じゃなかったことと、ちょうどBIOS破壊の対応をしたバージョンがリリースされたようだったので採用しました。
[参考] 「BIOS破壊バグ」を修正したUbuntu 17.10.1のISOイメージ公開。本家・日本語Remix・各フレーバーまとめ | Linux Fan
Windows側で事前準備¶
Ubuntuをインストールする前に、 Windowsは消さずにUbuntuとのデュアルブート構成にする ことにしました。
理由としては「出荷状態に戻す手段を確保しておきたかったから」です。 USBメモリをリカバリ用に設定・作成しておけたとして、USBを紛失するリスクはゼロじゃないですし、 0.1%くらいWindowsを使いたくなる機会があるかもしれないと考えました。
なのでWindows側で事前準備として以下を実施。
コンピュータの管理かUbuntu用のディスク空き領域を確保
Ubuntu: 350GB (メインで使うのでガッツリ確保)
Windows: 120GB (WindowsUpdateなどで40~60GBぐらいは使ってる記憶があったので余裕をもたせた)
残: リカバリ領域など
高速スタートアップとセキュアブート解除:
これらを設定しないとOSのインストールや起動、ファイルシステムのマウントに問題が発生しうるらしい
ディスクの空き領域は自分で決めましたが、Dellが公開している Dell PCでデュアルブートとしてUbuntuおよび最近のWindowsオペレーティングシステムをインストールする方法 | Dell 日本 のままに作業を進めました。
インストール自体はつつがなく終了。
Ubuntuの使用環境¶
使用環境を書いておくと次の通りです。
- ログインプログラム
GDM
- デスクトップ環境
Gnome
- 日本語入力
iBus + mozc
- ターミナル
gnome-terminal
デフォルトのままですね。困ったことがでてくるまではこのままで行こうとおもってます。
Ubuntu側の設定¶
さて日本語Remix版ではない本家版のUbuntuを入れたので、日本語の言語設定がすんでいません。 それ以外にも必要なアプリケーションなどもあるので、何を行ったのかを書いておきます。
最新版にアップデート¶
ログイン後にアップデートを促されたので指示にしたがって実行
各種必要なツールをインストール¶
ビルドに必要なツール群導入¶
$ sudo apt -y install build-essential libsqlite3-dev libreadline6-dev libgdbm-dev zlib1g-dev libbz2-dev sqlite3 tk-dev zip libssl-dev
CapsLockキーをCtrlキーにする¶
$ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"
PyCharmインストール¶
deb
を落としてこようとしたら、JetBrainsのサイトで「 snap
を使え」とでてきたので指示にしたがって導入
$ sudo snap install pycharm-professional --classic
DLが必要だったものをインストール¶
GitHubのreleasesよりDLして導入
Ricty Diminied : 等幅フォント
ghq : リポジトリ操作用
pt : コード検索
hub : Gitのヘルパー
各種Webサイトより
deb
をDLしてきてインストールDropbox: ファイル共有
Google Chrome: ブラウザ
Slack: チャットツール
VirtualBox: 仮想環境管理ツール
Vagrant: VirtualBoxのラッパー
各種設定を変更¶
言語サポート: 言語->言語のインストールと削除:
日本語
にチェックをつけてインストール設定
デバイス->マウスとタッチパッド->ナチュナルスクロール:
OFF
Dock->Dockを自動的に隠す:
ON
サウンド->音響効果->警告音の音量:
OFF
電源管理->画面の明るさ:
最小
電源管理->キーボードの明るさ:
真ん中
詳細->ユーザー: アイコンを好みのものに変更
ibus-mozc: ツール->プロパティ->一般->キー設定->キー設定の選択: 以下の設定を追加
すべてのモード(直接入力、入力文字なし、変換前入力中、変換中、サジェスト表示中、サジェスト選択中)、入力キー「ESC」、「Ctrl+[」のコマンドを「キャンセル後IMEを無効化」にする
モード「直接入力」、入力キー「Henkan」のコマンドを「IMEを有効化」にする
モード「入力文字なし」、入力キー「Muhenkan」のコマンドを「IMEを無効化」にする
ログイン時: ログインボタンの左隣にある歯車を選択し
Wayland
→Xorg
に変更WaylandだとIMEで変換候補が明後日の場所にでる。
GnomeTerminal: 設定->プロファイル
全般->常にメニューバーをデフォルトで表示する:
OFF
プロファイル->編集:
全般
起動時の端末サイズ:
100
列,50
行端末ベルを鳴らす:
OFF
文字の外観->フォントを指定する:
Ricty Diminied Regular 14
色
文字や背景の色->組み込みのスキーム:
黒背景に灰色文字
文字や背景の色->透過の背景をON:
20%透過
バレッド->組み込みのスキーム:
Linuxコンソール
GNOME Tweeks: GNOME3の高度な設定
ufw有効化
解決したこと¶
単に設定しておけばOKというものでもなかったものについてメモしておきます。
Bluetoothヘッドホンがぷちぷちいってる¶
プロファイルを変更して対応(HSP/HFP→A2DP)
アプリの切り替えをアプリごとにまとめるのではなく、ウインドウごとにしたい¶
https://linuxfan.info/setup-gnome-shell-extensions を参考にAlternateTabインストール
gnome-terminalのタブが慣れない¶
tmuxを導入: macOSでも入れてはいたが、まじめにはつかってなかったのでこれを期に導入
基本操作は tmuxを使い始めたので基本的な機能の使い方とかを整理してみた - 完熟トマト を参考にした
tmux.conf
は必要になったときに都度調べている
gnome-terminalは背景の透過ができたけど、vimが透過されない¶
vimから
:colorscheme default
すると透過できたのでカラースキームの問題と判断vimが透過できるように 背景透過でかっこいいvimを作る | MY ROBOTICS を参考に
.vimrc
に設定追記
mozcの変換候補がGoogleIMEのと比べて弱い…¶
「いんたーねっと」→「Internet」のように補完されるようにしたい
Mozc UT2 をインストールする - Ubuntu 17.10編 を参考にmozcを自前ビルドしインストール
(若干)気になっていること¶
細かいことは必要になったときに対応するつもりですが、現状で気になっているのは次のとおりです。
外部ディスプレイの推奨解像度だと出力が認識されない¶
奮闘の記録としては以下のような感じ。 せっかくだから最大出力でやりたいところだが、今のところ対応策は検討がついてない…
Ubuntu側の設定をミスって、外部ディスプレイの方だけ移すようにしてしまったので余計に…
電源をOFFにしてから接続しようとしてもNG
xrandrコマンドも試してみたがうまく行かず。
xrandrコマンドでうまくいった (ただ、PC側の最大解像度と同じところまでしか出力できないっぽい?)
HDMIケーブルで接続した状態で(PCの画面は黒いままだが)xrandrコマンドをやることで認識していることは確認
試しにPC側と同じ解像度を選択したらいけた。
外部ディスプレイは2560x1440が推奨だが、1920x1080までしか出力できていない(←いまココ)
peco-historyでターミナルに実行するコマンドがでてこない¶
pecoでインタラクティブにヒストリを検索→実行するようにしていたが、何故か実行時に一度ターミナルに出力するようにしていた実行コマンドが出力されなくなってしまったので、デフォルトの挙動に戻した。けどmacOSでは動いてるので何か違うのだとは思う。
(1/30追記) WindowsとUbuntuを切り替えて起動するにはUFEIで設定の切り替えが必要¶
普通に起動時にUbuntuもWindowsも起動できそうな画面がでてきます。 しかしセキュアブートをOFFにした影響らしく、Windowsを起動しようとすると次のような画面が表示され、回復キーの入力が求められました。
回復キーを毎回入力する羽目になっても嫌なので入れずに済む手順を探すことにします。 「セキュアブートを再度有効にするか、BitLockerを中断してWindowsを起動する必要がある」と書いてあるので BitLockerを中断したらいけるかなと思って試しましたがダメでした。BitLockerをWindows側でOFFにすればいけるかなとも思ったのですが、面倒だったのでやめました。
結局Windowsを起動するときは次のような手順を踏むことにしました。
UFEIを起動する (自分のPCだとF12キー連打しながら電源ON)
セキュアブートを
ON
ブートシーケンスの一覧にある
Ubuntu
のチェックボックスをOFF
保存して終了するとWindows起動
Ubuntuに戻すときはON/OFFにしたものをもとに戻して対応します。 若干面倒ですがほぼWindowsは使わないので問題ないと判断。
Sphinx + 翻訳 Hack-a-thon 開発合宿に参加しました #sphinxjp¶
一泊二日で行ってきました。イベントのURLは次のとおり。
Sphinx + 翻訳 Hack-a-thon 開発合宿 - connpass
会場は 国立女性教育会館 という埼玉県比企郡嵐山町にある宿泊研修施設で行いました。新宿から1.5hでいけて値段も手頃だったので作業に集中できてよかったです。
1日目やったこと¶
13:00ぐらいに集合して、合宿スタートしました。やったことは次のとおりです。
Djangoの公式ドキュメント https://docs.djangoproject.com/ja/ を翻訳¶
8月に翻訳プロジェクトにJOINして、ちょっと間が空いていたのでこれを期に取り組みました。実施したのは次のとおりです。
Django-2.0のチュートリアル の未訳部分翻訳完了
Djangoフォームの翻訳を進めました。ボリュームが大きくて翻訳率は1%進んだかなといった感じ。進められたのは次の通り
Djangoフォームの進捗率を出すのに、Django documentationの Django を使う 全体、つまりモデルやURL、テンプレート、Class-based views、マイグレーションなど topics 全体を対象にTransifexが計算してるので、進んでる感じがあまりしない…
翻訳したのはいずれかのタイミングで反映されると思います。
Vim談義をした¶
https://twitter.com/kashew_nuts/status/949984961754406912
夕飯→お風呂を堪能したあと軽くVim話をしたりしました。
clipboard
オプションを題材にVimのバージョン情報の見方、ヘルプの引き方、設定してあるオプションの見方を話した。「デフォルトの動作を覚えるとプラグイン使わなくてもできますよ。」という話をした。
「必要だったらVimはビルドすることもありますよ」と話したら、「Gentoo以外でビルドしたくない!」と言われそうゆうものかーと思った。
「Vimモヒカンがいる」とかいわれたけどそんなことないよ。ヘルプの引き方知ってるだけだよ。
PCどうしよう話をした¶
某社(っていっても2社だけど…)のPCを使うツラみを共有した後、DellやThinkPad使えばいいんじゃねという話をした。注文したDellのPCはやくこないかなー。
この日は日付変わる頃に部屋に戻って、1時前には寝てたと思います。はやい。
2日目やったこと¶
珍しく7時前に起きてゆるゆると朝食に。
https://twitter.com/kashew_nuts/status/950175081644269568
朝ごはん食べてる時にちょっとアクシデントがあったけどごめんなさい。
ご飯を食べて作業場所に移動中、凍結していた池に突撃したりしました。
https://twitter.com/shimizukawa/status/950224587710545920
1日目につづき、Djangoフォームの翻訳を進めました。1日目に精根尽き果てたのか、この日はあまり捗らなかった… やること微妙に変えたりしてリフレッシュするのも大事ですね。
雑感¶
開発合宿は夏と冬に #pyhack でいったことしかなかったが、今回は場所も集中しやすい環境ができていたので作業が捗ったのはよかったです。 今後も無理にならないペースで翻訳とか携わっていけたらいいなと思います。