ブックマーク / www.kaoriya.net (11)

  • HHKB Studio レビュー — KaoriYa

    2023/10/25発売のHHKB Studioを購入し、構成・構造を細部まで検証したのでレビューします。 注意: 詳細レビューは執筆中で、随時追記しています。ひとまず総評まで読んでいってください。 レビューする私の立場 私はHHKB Studioの購入者です。 特にどこからか提供や依頼を受けてのレビューではありません。 またHHKBの従来品の愛用者でした。 初期のHHKB Professionalから始まり、 Pro 2、Type-S、HYBRID Type-Sまで色違いや予備品も含めて 合計7台を所有しています。 加えて2020年末より自作キーボードに傾倒しました。 短期間で大量のキットを組み立てたり、 自ら回路を設計したり、 ファームウェアを書き起こしたり、 あのKeyballシリーズのファームウェアを担当したり と 自作キーボードとポインティングデバイスに関する一定以上の知見を持っ

    HHKB Studio レビュー — KaoriYa
    delphinus35
    delphinus35 2023/10/27
    Macのトラックパッドにはやはり及ばないか。そりゃそうか。自作キーボード勢でもないし、買っても宝の持ち腐れになりそうだな。
  • カラー絵文字パッチ制作の経緯 — KaoriYa

    2017/11/26 19:30 頃に vim/vim へ pull request を出したカラー絵文字パッチが、 わずか3時間半のうちにマージされました。 制作に関わったのは mattn さん、k-takata さんそして私の3人で、 超優良な品質のパッチという自負はありましたが、 それでもこの短時間でのマージはまったく予想しておらず、 望外のことに喜びと達成感もひとしおです。 ではその余韻の残るうちに、 この色付き絵文字対応パッチ制作の時間的経緯を ログを掘り返して書き記しておきましょう。 来は Vim アドベントカレンダーのほうにも使えるネタなんですが、 まぁそちらには別のやつを考えましょうってことで。 あ、メッチャ長いんで要注意。 前日譚 まず以前から mattn さんは色付き絵文字を出したいと表明していました。 先日行われた VimConf 2017 でも言っていましたね。

  • golang でループを手っ取り早く並列化する方法 — KaoriYa

    func execLoop(list []Item) { for _, item := range list { do_something(item) } } list に格納された各 item に対して do_something() を適用する、よくあるタイプのループ処理です。 goroutine で並列化、その副作用 golang ではこの do_something() の適用を超お手軽に並列化できます。あ、もちろん do_something() はリエントラントである前提ですね。

  • golang は ゆるふわに JSON を扱えまぁす! — KaoriYa

    以下のツイートにもある通り、一見 golang は struct を定義しないと JSON を扱えないように見えます。他にも似たようなツイートをチラホラと見かけましたが、それらは全部誤解です。そこでこの記事では、golang でゆるふわ (structを定義せず) に JSON を扱う方法を紹介します。 golangrubyのようにゆるふわにJSONは扱えない? https://t.co/olsryDHc5G — bamchoh (@bamchoh) 2016年6月24日 この記事では入力の json.Unmarshal() を取り扱いますが、出力の json.Marshal() にも応用できます。 TL;DR json.Unmarshal() には *interface{} を渡せます interface{} は dproxy を使うと、値のアクセスで楽ができます json.Unmar

  • Vim scriptによるゲームの新アーキテクチャの考察 — KaoriYa

    従来のVim scriptによるゲーム作成時の問題点を解消する、 新しいアーキテクチャを考察してみました。 この記事は Vim script Advent Calendar 2015 の 13日目の記事です。 まずは以下のデモ画像(別ウィンドウ)を見てください。 かなりスムーズに○リオが動いています。実はこれ、全部Vim scriptでできています。 ソースコードは koron/vim-ario に置いてありますので、チェックアウトして gvim -S game.vim することで試せます。ただし動作確認・保証は Windows版の +kaoriya な gvim でしかしておりません。また解像度も画面幅1920ドット無いとおかしなことになるので、異なる環境の場合は各自で調整してPRなどしてください。 操作は以下のとおりです。 h - 左ボタンのトグル l - 右ボタンのトグル f - ジ

    delphinus35
    delphinus35 2015/12/13
    何これ頭おかしい
  • jQueryのメモリーリークの傾向と対策 — KaoriYa

    Web開発にとても便利なjQueryですが、 実はメモリーリークを誘発しやすい構造であることは あまり知られていないようです。 記事ではメモリーリークが発生する傾向と対策を紹介します。 皆さんjQueryは使ったことありますよね。Webでの開発ではとても便利で、ほぼ必須と言っても過言ではありません。しかしながらこのjQueryはメモリーリークを誘発しやすい構造であることはあまり知られていません。 GCのあるJavaScriptでメモリーリークが発生するとは何を言っとるんだ、と思われる向きもあるやもしれません。しかしGCがあっても、もう使わなくなったオブジェクトを配列やテーブル(Object)にしまいこんでいて、それを回収するタイミングが存在しなければ積もり積もってメモリを圧迫する、メモリーリークとなりうるというのは想像に難くないでしょう。jQueryで起こりうるメモリーリークはそのような

  • 正しいVimのロゴ — KaoriYa

    よく使われているVimのロゴ、なんかおかしいのです。 間違っているのです。その原因を明らかにし正しいロゴの使い方を啓蒙したいのです。 この記事は Vim Advent Calendar 2013 6日目です。 変なロゴとその出自 まずは下の画像を見てください。 2日目からの引用ですが、一見なんの変哲も無いVimの正式なロゴです。しかし何かがおかしい。わからない人もいるかもしれませんが、これは縦横比がおかしいのです。背景の緑の四角は来なら正方形でなければならなにもかかわらず、この画像では菱型になっています。この違いは昔からVimのアイコンに慣れ親しんだ身としては、快速電車の中で足の裏が痒くなったけど掻くに掻けないそんなもどかしさを感じずにはいられない、というわけです。 問題はこの縦横比が狂った画像がどこからやってきたのか。そのネタで引っ張ろうかとも思いましたが、実はWikipediaでした

    正しいVimのロゴ — KaoriYa
  • iBusがクソになった理由 — KaoriYa

    Xubuntu を 13.10 へアップデートしたら日本語入力(iBus)がクソになったのでその理由を調べてみました。 Xubuntu を 13.10 へアップデートしたら日本語入力(iBus)がクソ(1.5)になりました。どんなにクソかは iBus 1.5がクソすぎる に譲るとして、私はどうしてそうなったのか (あわよくばどうすれば直るのか) を真夜中に調べてましたのでその成果を記しておこうと思います。 私の場合 Vim でIMEを制御 できないことで問題が根深いことを知りました。調べてみると InputContext というクラスから is_enabled(), enable(), disable() の3つのメソッドが消えていました。これらのメソッドは端的に言うと日語の状態を取得、有効化、無効化するものです。うんもうIME制御なんてできません。ちなみに その修正が行われたのは約2年

    delphinus35
    delphinus35 2013/10/19
    (今の)Macではアプリごとに入力ソースの状態が管理できます。iBusは使ってないから動作は同じかわからないけども。
  • VimのDirectWriteの設定方法 — KaoriYa

    日配布を開始したVimには、すでに何度か紹介しているフォント描画を綺麗にするDirectWriteを利用したパッチを含めました。記事ではその利用方法を紹介します。 この画面は私が普段使っている UM+ フォントを用いたものです。これはいわゆるビットマップフォントというやつで、dot by dotでカッチリ表示されるので私は好きです。ちなみに設定はこんな感じ。

    delphinus35
    delphinus35 2013/05/31
    これでやっとcygwin + Putty DW + vim と同等になった
  • minimap-vimができるまで — KaoriYa

    水曜日の夜に生まれたminimap-vim、このプラグインを私がどう設計し実装したのか、その思考と行動の推移を再現してみましょう。 水曜日の夜に生まれたminimap-vim、このプラグインを私がどう設計し実装したのか、その思考と行動の推移を再現してみましょう。なおこの記事はVim Advent Calendar 20122日目の参加記事となります。 前置き Sublime Textのminimap確かにかっこいいなぁ。マーカー程度のことならsignでできるけどなぁ Sublime Textのminimap確かにかっこいいなぁ。マーカー程度のことならsignでできるけどなぁ — tyruさん (@tyru) 2012年11月28日 きっかけは tyru さんのこのつぶやきが目に止まったことでした。これを見た私は、ふとあることを思いつきます。 @tyru ふと思った。gvimもう一つたちあげ

  • Vimスクリプトを書いてみよう — KaoriYa

    目的 機能を持ったVimスクリプト(プラグイン)を徐々に作る様子を見て、書き方を学習してみよう 作るのはよくあるタイプのプラグイン Javaの単体テスト用クラスファイルを開く(作る)コマンドを作るよ 「ね、簡単でしょう(by ボブ)」と言ってみたい まずは雛形 ひな形としてこんなスクリプトを作ります。 command! -nargs=0 UtestAppend call <SID>UtestAppend() function! s:UtestAppend() echo 'HERE' endfunction " s:UtestAppend() UtestAppendというコマンドを追加 UtestAppendコマンドいが実行されたら ‘HERE’ と表示する ほら、すごく簡単ですね。 Javaだけに作用させる 以下はdiff形式で変更点だけ。 @@ -1,5 +1,17 @@ c

  • 1