みずぴー日記

月に行こうという目標があったから、アポロは月に行けた。飛行機を改良した結果、月に行けたわけではない。

📈入力メソッドの魅力とつらさ

NGK2017Bで発表した。Misoca Advent Calendar 2017 - Qiitaの5日目でもある。 スライド 原稿 イントロ 今日は漢字入力がつらいという話をする。 このなかに入力メソッド、IME、FEPなどと呼ばれるソフトウェアを日常的に使っているひとはいますか? MS-IMEとか…

🍣寿司、パーサー、Scala.js

@smogamiに誘われたので、scala-js-ts-importerハッカソンに参加した。 経緯 NGK2017Bに行ったら、パーサを書くとピザか寿司がもらえるハッカソンが告知されていた。 寿司もパーサーも好きなので、@bleisと参加することにした。 ✨成果 準備する時間はなかっ…

⌨️キーボード配列の取得

入力メソッドはキー入力イベントをテキスト入力に変換する。 キーボードのキーが押されたときに、どのキー入力イベントが発生するかはmacOSの設定によって変更できる。 通常はキーに印字されている文字と一致するようにQwerty配列が用いられるが、Dvorak配列…

🖼入力メソッドの設定画面

入力メソッドはシステムに組込まれるので、ユーザとやりとりするための画面を持たない。 しかし、入力メソッドの挙動を設定するための設定画面は必要である。 macOS標準の日本語入力の設定画面はキーボード設定内に組み込んでいる。 この画面を実現するため…

⌚️UTC生活

iPhone/AppleWatchのタイムゾーンをUTCに切り替えて一ヶ月が経過した。 ✨きっかけ 1ヶ月前に格闘していたpluginkitの時刻表示がUTCだった。 過去に、他のソフトウェアでもログがUTCで出力されたことなどを思い出したので、せっかくなので普段使うタイムゾー…

🙊入力モードの非公開機能

入力モードは、Technical Noteやヘッダファイルに記載されていた内容である。 実際は、その内容以外にも文書化されていない機能がいくつか存在している。 文末文字の指定 macOSにはスペースを二回押すことでピリオドを入力する機能がある。(参考: macOS 10.1…

🌓入力モード

一部の入力メソッドは複数のモードを持つ。例えば、macOS標準の日本語入力がひらがな入力モードとカタカナ入力モードを持つ。 EmojiIMを拡張し、絵文字入力モードとアルファベット入力モードの2つのモードを実装した。 関連資料 入力モードに関する資料は複…

🌐各言語の入力メソッド

macOSに搭載されている各言語の入力メソッドの挙動を調べた。 中国語 発音を入力したのちに変換するピン音入力、注音輸入法と、漢字の字形に基づいて入力したのち変換する五筆字型入力、およびその派生型がある。いずれの方式でも、入力した文字をもとに候補…

📖変換候補の表示・選択・無

絵文字入力メソッドに絵文字候補の表示・選択を追加した。やったことと、IMKCandidatesクラスのドキュメントと挙動の差異について書く。 コード #8 Show candidate using IMKCandidates IMKCandidatesクラスの使い方 InputMethodKitのIMKCandidatesを用いる…

🚀bitrise.io for macOS app

macOSアプリのCIとしてbitrise.ioを使いはじめた。 ❌ 署名エラー 初期状態でテストを実行すると、アプリケーションに署名するための証明書がbitrise.ioに登録されていないため、エラーとなる。 ❌ error: No signing certificate "Mac Development" found: No…

⚡️ReactiveInputMethod

入力メソッドを拡張し、テキストを入力し、Enterで確定できるようにした。 コード https://github.com/mzp/EmojiIM/tree/marked 未確定文字列の挿入 未確定文字列は、入力セッションの一部としてマークされている文字列なのでmarked textと呼ばれる。 IMKTex…

🔬Appleの非公開APIの調べ方

Touchbarに変換候補を出すの、とうとう成功した pic.twitter.com/zXNjawZct5— mzp (@mzp) 2017年9月30日 入力メソッドからタッチバーを使う方法を調べるために使った各種ツールの使い方をメモしておく。 class-dump 実行ファイルからObjective-Cのヘッダファ…

🐙Githubブラウザ for iOS11

iOS11で追加されたFilesアプリから、Githubレポジトリを見るための拡張を作った。 AppStoreから入手できる。 OctoEyeHIROKI MIZUNOProductivityFree Github->Octocat->Octopusという連想で、OctoEyeという名前にした。 ⭐️使い方 OctoEyeをインストール・初期…

🍣入力メソッド

すべてのキー入力に対してを入力する入力メソッドを作った。 を入力するだけのInputMethodができた pic.twitter.com/0If6KVNTAT— mzp (@mzp) 2017年9月16日 コード https://github.com/mzp/EmojiIM 入力メソッドの構成 入力メソッドによるテキスト入力は、各…

🙋つらい時に挙げる札

こういうのを作った。元ツイートが消えているので出典が示せないが、 死にたいにゃんシールが一番近いと思う。 材料 Seriaでそれっぽいのを買った。 PPシート 不透明 家具用のアルミパイプ ✂️制作風景 TextEditで縦書きテキストの画像を作った。フォントはヒ…

📝論文紹介: Software Development Waste(ソフトウェア開発におけるムダ)

ICSE 2017 勉強会のために論文を眺めてたら、リーンソフトウェア開発におけるムダについて調査した論文*1がおもしろそうだったので読んだ。 背景: リーンソフトウェア開発 Womackはトヨタ生産方式を分析し、リーン思考を提案した*2。これは、「資源を消費し…

🎤発表資料

勉強会の発表資料を作る際に気をつけていること。 最近だとThe reason for using reason #ML_study - みずぴー日記を作った。 関係ない話は削る 発表で言いたいことがぼやけてしまうので、余分な話はしないようにしている。 自己紹介をいれると発表のテーマ…

📝The reason for using reason #ML_study

ML勉強会 #2で話した。 要約 近年のJavaScriptは進化が激しく、様々な拡張が提案されている。その中にはMLの機能を類似したものも多数ある。例えば、オブジェクトとレコード型のように使えるようにする拡張やパターンマッチを導入する拡張といったものが提案…

✈️北海道ワーク

先週一週間は北海道の旭川で過した。 長期休暇を取ったわけではなく、昼間はリモートで勤務をした上で夕方から観光していた。 宿 有給消化中の友人と一緒にAirbnbで部屋を借りた。 1週間でたいだい6万円くらい。 調理器具がついてたので、近所のスーパーで買…

📋Trello.md

TrelloボードをMarkdownに変換してクリップボードに書き込むChrome拡張を作った。 ボードの例 変換後のMarkdownの例(esaで変換した) インストール Trello.md - Chrome Web Store Trelloのボードを開いた上で画面右上のアイコンをクリックすると、Markdown化…

🔀bs-lwt

BuckleScriptで非同期処理を書きたかったので、Lwtのバインディングを作った。 たぶんReasonからも使えると思う。 github.com 制限 Lwtの一部はUnixモジュールなどに依存しているのでBuckleScriptからは使えない。 なのでコア部分(src/core以下にあるモジュ…

🌴沖縄

地域を変えれば花粉症が軽減するのがどうかに興味があったので沖縄にいってきた。 沖縄は梅雨の時期だということは出発前日まで気づいてなかった。 座間見 とまりんに行ったら、ちょうど座間見行きのフェリーがでてたので乗った。1年前に来たときは海が荒れ…

🔬redux-saga

redux-sagaの動きを調べた。 redux-sagaは redux-sagaで非同期処理と戦うで説明されているように、非同期処理などを直列プログラムのような形式(直接形式; direct style) で書くためのライブラリである。 そのためにタスクを導入し、その切り替えを制御して…

🌐Webサーバ

JavaScriptの動作確認をするときなどに、簡単なWebサーバを使いたいことがある。 これまではWebrickで書いたWebサーバを使っていたが、Rustで書き直して単一バイナリで動作するようにした。 インストール https://github.com/mzp/tiny-web-serverからダウン…

🔀Rust クロスコンパイル

Docker for Mac内のRustでmacOS向けのプログラムを書けるようにした。 Rustのクロスコンパイルの設定ができたので、Docker for MacでmacOS用のプログラムが書けるようになってきた— mzp (@mzp) 2017年5月2日 ⭐️要約 以下のDockerfireでクロスコンパイルので…

複数列Slack

Slack のデスクトップアプリは、1つのチャンネルしか表示できないため一覧性が悪い。 そこで、複数のチャンネルを一度に表示できるアプリを作った。 ダウンロード https://github.com/mzp/SlackStack チャンネル切り替え作業の増加 Slack のデスクトップアプ…

😀 for zsh

github等で使える絵文字コード(:sushi: みたいなやつ)を入力するzaw のsourcesを作った。 コミットメッセージの先頭に絵文字をいれるようにしているので、それを入力するときに便利。 インストール antigen でインストールする。 antigen bundle mzp/zaw-emo…

🐬Docker for Mac without qcow2

Docker for MacのファイルIOが遅い。VirtualBox上で動いているDockerと比較しても遅い。 これにはいくつかの原因があるが、その1つとしてディスクイメージのフォーマットとしてqcow2を用いていることがあげられる。 qcow2は書き込み時に必要な容量を確保する…

ぺろぺろ - Github pull request bot framework -

名古屋Ruby会議03で発表した。 発表資料 関連記事 Prpr: bot for github pull request - みずぴー日記 Prpr設計判断 - みずぴー日記 原稿 導入 自己紹介 こんにちは、mzpです。 大須はたまにくるので、この大須演芸場も気になってはいたんですが、なかなか…

今朝書いたシェルスクリプト

こんなシェルスクリプトをいくつか書いてレポジトリにコミットした。 ./bin/docker/bundle #!/bin/sh docker-compose run --rm app bundle "$@" ./bin/docker/rails #!/bin/sh docker-compose run --rm app bundle exec rails "$@" できること ./bin/docker/…