WWDC2018を見てた
昨年は見てなかったんだけど、今年は時間的に余裕あったのでリアタイで見てました。Twitterでも最初にハードウェアがないって言われたときの反応は「えぇ!?」って感じで面白かった。個人的に面白かったり興味が向いたやつを書きます。
1. iOS12
アプリの起動が40%、キーボードが50%、カメラが70%とそれぞれ起動速度が上がる。おまけに動作速度が上がり、かつ他の(つまり現行より旧い世代での)機種の切り捨てが無い。
USDZっていう新しいAR向けのフォーマットを作って、それに関連してメジャーアプリとかLEGOとかでデモやってた。それと、アプリに使用時間の制限を設ける。DNDとかの機能強化と、Kids Modeみたいな感じでペアレンタルコントロールでも同様の機能を提供する…。
Memoji/Animojiをセルフィーに重ねることができるようになった。関連してFaceTimeでは最大32人とGroup FaceTimeができる。もちろんMimojiで参加可能。デモにLED似のおっさんが出てたtのが強い記憶を残してるw
2. watchOS 5
学生証(Student ID)面白そう。たしかNFCだったような記憶があるんだけど、あれ日本でもやれるようになったらクソ便利そうだし使いたいなぁ。後はより活動量計としての側面が増えた、という印象。そしてWebコンテンツを閲覧できるように。ただ、Twitterでも流れてきてたけど今回発表された新機能使ったら流石にバッテリ持たない気がするんだよね、特にWebコンテンツと音楽。
ずっとエアロバイク漕ぎながらデモやってたのが面白かった。
tvOS 12はあんまり興味無いので飛ばす。
3. macOS Mojaveとダークモード
次のコードネームは「Mojave」。モハベ砂漠っていう所からとったらしい。そいで、遂にダークモードっていうテーマが出た、というのが今回結構大きいんじゃないかなー、と。Xcodeの黒背景にmolokai系のハイライトが出た瞬間の歓声も印象的だった。そりゃ開発者歓喜するよね~。
ダークモード自体はOS内で統合されてるようなので、他のアプリケーションでもダークモード。もちろんSafariも。
4. Safari
セキュリティ強化が大きい。メールの履歴やバックアップも一括りにしてセキュリティとして扱い、より厳格にユーザを保護する、というように見えた。
ma"x"OSのtypoを修正
5. macOS関係その他
Offive365を(たぶん今年中に)提供。こっちは'19以降だけどUIkitを含めて、iOS app用のコードでmacOS app用のコードとしても使えて動かせるるように。ただし、ただ単にコードの「使いまわし」が利くようになっただけで、移植性や(コードの)互換性がある、という程度ではないかと思ってる。それと、発表前からもあった「macOSとiOSはいつ統合するのか?」という疑問に対しては完全に否定。No。この面から考えてもやっぱり移植性じゃないかなぁ。
6. External GPUs
外付けGPU使うことができる。3つ付ければ素のMBPの6.5倍?よく見てない。ただ、デモ映像に出てきたリアルタイムレンダリングがアホみたいに綺麗だった。
7. ML
Xcode Playgrounds上でD&DでMLを使える。もちろんGPU。例に上がっていたのは24Hが24Mで終わった、という話。どんだけモンスターなんだよw
こんな感じでしょうか。やっぱり目玉はiOS12での新機能全般とwatchOS 5の学生証(NFC)、ダークモードだったかなぁ、という感じです。TwitterでもYouTubeでもSE2が無いと阿鼻叫喚してましたが、何にどう誘導されたらそこまで過度に期待するんだよ・・・と思いながら見てました。
シグノの太字を買ってきた
ファブリーズとかマウスウォッシュとか切らしていたのを思い出して買い物に行ったのだが、つい文房具売り場に寄ってしまいいつものように買ってしまった。
link:https://www.mpuni.co.jp/products/ballpoint_pens/gel/signo_cap/signo_broad.html
で、書いてるわけだがこれが心地いい。店頭で試筆したときは他のメーカのものより若干太い(正確には他メーカの同じ1.0mmが若干細い)ように思ったけど、にじみもなく裏移りも少ないし、ゲルインキなのでインクフローもドバドバ。
万年筆はFしか使わないけど、Bとかってこういう太さなのかなぁ、と思いながら使ってる。
紙との相性という面は、まだいつもの澪ペーパー使用のレポートパッドでしか書いてないけど、やっぱりドバドバで心地いい。色は黒、赤も買おうか迷ったが、書き始めが少し滲むので今回はパス。
そしてuniのサイトを見てて思ったのが、シグノ307の1.0mmとか出たらどうなるんだろう、と。0.5mmを使ったことあるんだけど、ジェスト寄りのヌメヌメ感でなんとも言い難い書き味だった。
後はどれくらいの期間でインクが無くなるかだなぁ。
VimをWindows(VC++2017)でコンパイルする
kaoriya版最新版の8.0.0596ではshellでcmdを開けるものの,画面分割では無い.また,場合によっては別ウィンドウの方を閉じなければならないと面倒だったので,単純に最新版のVim組み込みterminalが使いたくて自分でコンパイルしてみた.持ってるマシンも大学の環境も64bitなので,x86_amd64でコンパイルしている.使用ツールは以下の通り.
- VisualStudio2017 Community版(インストール済み)
- github.com/vim/vim を使用
- cmd.exe
- msys2(amd64) ---msys2はmingw64を使用
環境
1. 下準備
- cmd.exeを開く
- C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsx86_amd64.batを叩く
- ~/vim/srcに移動しておく
msys2はまっさらなインストール状態からpacmanで次を叩く(一部重複有) :
base-devel msys2-devel mingw-w64-x86_64-boost mingw-w64-x86_64-toolchain git
gitのインストール時にVimも入っていくが,ここでのmsys2の役割はwinptyのコンパイルなのでこれも気にしない.
2. winptyのコンパイル
- msys2のmingw64を開く
- https://github.com/rprichard/winpty をclone
- ./configure
- make
ここまででwinpty-master/build/にwinpty.dll,exe,lib,winpty-agent.exe, winpty-debugserver.exeの少なくとも5つが生成されていることを確認する.
configureでのエラー
最初これがうまくいかず数週間放置してたが,普通にパッケージインストールして「/bin/mingw64で」叩けば普通に出る.
3. vimをコンパイル
- 1.で次を叩く :
nmake -f Make_mvc.mak GUI=yes IME=yes MBYTE=yes ICONV=yes CSCOPE=yes NETBEANS=yes DEBUG=no
gvim.exe他が生成される.GUI=noにするとvim.exeも生成される.面倒なのでバッチファイルにして入れておく.
4. ディレクトリを作る
- USBメモリから使用しなければならない(特に大学)ため,適当なディレクトリを作って各種ファイルを入れていく.構成は Vimの:terminalを試したいのでソースからbuildした(windows) - Qiitaを参考にした.
- vim.exeも入れておいた.どこかで使い道を見つけるかもしれない.
- エンコーディング対策でlibiconvをmsys2から探して入れておく.
5. 完成
6. 課題
まとめ
意外と簡単だった.Linuxだと毎週ビルド挟んでるので,これでWinでも同じようにできる.
...プラグインに続く...
参考
Visual Studio 2013 で Vim をビルドする - Qiita vim-jp » VisualStudioを使ってのビルド方法 Vimに:terminalが実装され、Windowsではコマンドプロンプトが動くと知り試してみた - non vorrei lavorare GitHub - rprichard/winpty: A Windows software package providing an interface similar to a Unix pty-master for communicating with Windows console programs. Vim/GVimのビルドと実行環境の作成 - fudist
libncursesの方だった、という話
1週間ぶりくらいの記事です。冬って気分下がって嫌ですね。去年の冬はほぼ再発して、一昨年の冬も最悪な状況だったし、ろくなことが無いのでそろそろこんな季節が無くなってほしいくらい。そろそろ薬で何とかする、というのも避けたいところです。
chromeではなぜかトップバー(でいいんかな)が表示されず毛き始められないのでEdgeで書いていますが、長引くとメモリ食いまくるので早めに書き上げます。
さて、仮想マシンにはいってるubuntu16.04LTSのVimをまだ8.0に上げてない事に気づき、コンパイルしてきました。configureオプションはいつもの通りだったんですが、ターミナルライブラリがなぜか無いと怒られてしまいます。
結論から言えばlibncursesを入れ忘れてた、という所です。最初に怒られてからググったときはncurses-dev/develを入れたらおk、という風になってましたが、「そのままの」名前では勿論インストール候補には上がってきません。なので、debianパッケージ検索で調べるとlib~の方が出て来た、という顛末でした。
Vimはなんとかコンパイルでき、勿論そのままインストールまで行ったので漸く8.0になりました。標準の貧弱パッケージマネージャにこんにちはしてきます。
VSCの話
あけましておめでとうございます。三が日からは大きく外れてしまいますが、それでも割と明けて早い時期に書けているのはまだマシな所だと思います。
最近ちよっとしたスタイルの変化があって、普段使いするエディタをGVimからVisual Studio Codeに変えました。dlangを再開したのもその一つの要因なんですが、それ以上にインデントの問題がありました。大学の授業で提供されるコードが全て幅2で、自分のスタイルでは4なのですが、直そうといくらか頑張ったにも関わらず解消されなかったことが1つ目です。
もう一つ大きな要因があるとすると、git関係ですね。自分で情報集めてなんとかしろよ、というのはあったんですが、インデント問題とgit、細かいですがスニペットとかの問題もあって一々コマンド叩くのが面倒になってきた、というのが大きい所です。
VSCを使うにあたってまず問題になったのがメモリで、立ち上げたはいいものの裏でHD動画でも流しようものなら簡単に消費量が跳ね上がる、という状況が多発しました。なので持ち合わせている2GBを追加して6GBに増やし、将来的には10GBくらいあれば流石にどんな作業でも困ることはないんじゃないかなぁ、と思っています。
VSC自体ですが、メモリ増やせば特に何でもないです。GVimが、というか方向性が違うんで何とも言い難いんですが、基本的に欲しいものがデフォルトになっている辺りは評価が高いです。GVimであればプラグイン入れてようやく整ってきたかな、という初期構成の時間を別の事に充てられるとあたりはありがたいですし、マーケットプレイスがやたら充実してて、依存関係とか注意しなくても良いのが楽。
ということでVimキーバンド使えるようにしてからC+/dlang/JSとかJavaとか書けるようにしたヤツをWin/Linuxともに使ってます。Linuxだと頻度は高くないものの、ちょっとしたことにだけならVimを使うことがありますが、普段コード書く時は完全にVSCに置き換わりました。
こんな感じで、徐々にCLI一強からGUI+CLIという風にミックスして使い始め(ているつもり)ました。特にgit周り最高ですね。スニペットなんかもまぁまl使い勝手がいいようなので(C++では)、これを書いている直前にはdlang用のスニペットを書き換えるなどし、より楽にコーディングできるように改善していこうと思っています。