Add the Eucalyn keyboard layout
iris

Add the Eucalyn keyboard layout

最近 Iris というキーボードを組み立て使い始めました。 iris - ゆるふわキャンパー 元々 Planck というキーボードを使用しており、素晴らしいキーボードでとても気に入っていたのですがエンド・ゲームを目指すために左右分離型のキーボードに手を出してしまったのでした。 ※エンド・ゲームが一体何を指すのかは諸説あり、お金がなくなったときを指すという意見や、はたまた検索をやめた時であるという意見もあります。 私がキーボードを組み立て始めた理由の一つに、より手が疲れないキーボードが欲しいというものがありますが、左右分離型のカラムスタッガード配列である Iris を組み立てたことによりこの点はとても満足のいくものとなりました (現時点では…)。 キーボードの物理的な形状以外に手の負担を少なくする方法としては、指の移動をホームポジションからなるべく崩さないようにする、という方法もあります。より効率よく文字を入力するために様々なキーのレイアウトが考案されており、一般に普及しているレイアウトの QWERTY 以外に Dvorak や Colemak など様々なレイアウトが存在しています。 レイアウトを変えるのは正直慣れるまでまともに文字を打てないんじゃないかという不安が大きいですが、

  • Lorentzca
    Lorentzca
3 min read
Build and release keymap on GitHub Actions
iris

Build and release keymap on GitHub Actions

最近 Iris という自作キーボードを組み立てて使い始めました。 Iris キーボードを組み立てた! 自作キーボードの利点の一つとしてキーマップを自由に変更可能という点があります。キーマップの変更はファームウェアを書き換えることで行います。ファームウェアは現在恐らく自作キーボード界のデファクトスタンダードである qmk_firmware を使うことが多いと思われ、Iris も qmk_firmware に対応しているものの一つです。 QMK Firmware qmk_firmware は有志の手によって GUI ツールが用意されておりますが私は現在 GitHub 上でコードベースで管理しております。理由としては変更の履歴を残しておきたいからです。他にもありますが要するに GitHub だと管理が楽! Iris を組む前は元々 Planck という自作キーボードを使っておりそちらも

  • Lorentzca
    Lorentzca
4 min read
I'm going home button v2
aws

I'm going home button v2

私は毎日帰宅する際に「今から帰るボタン」を押して LINE メッセージを送っています。 帰りますボタンを作った 最近このボタンに機能を追加しより便利にしてみました。 追加した機能 Google カレンダーと連携し、ボタンを押したタイミングからその日の 23 時 59 分までの間に始まるイベントがある場合 (飲み会とか)、イベントの内容を送るようにしてみました。 以下のような感じです。 日を跨ぐ可能性も考慮して終わりの時間には日付も入れるようにしています。 Google カレンダーからイベントを取得する方法 これ調べるのが結構大変だった…。混乱ポイントだったのが、まず適当にググってみたところ旧 Google カレンダー API の情報とごっちゃになっておりそこが混乱の元でした。Google 公式ドキュメントでも旧 API の情報が残っていて?ややこしい感じでした。

  • Lorentzca
    Lorentzca
3 min read
Iris keyboard Build
mech-keyboard

Iris keyboard Build

現在 Planck という自作キーボードを使っています。 planck - ゆるふわキャンパー Planck はとても気に入っており特に以下の点を気にいっています。☺ 格子型の配列が意外に使い心地が良い。見た目も好き。 コンパクトで手が疲れにくい。 が、欲を言えば 分離型だとさらに疲れにくそう。 もう少しエルゴノミクス寄りでもいいかも。 という気持ちもあり、設計から自作をするのもちょっと自信がまだ無かったので Planck と同じくキット型の自作キーボードを漁ってみました。MiniDox 等と迷った挙句、Iris というキーボードが良さげだったので PCB 等を買いました。 Iris Keyboard の PCB を購入しました 上記記事から気付いたら 2 億年ほどの時が経ち、

  • Lorentzca
    Lorentzca
5 min read
Using Trello to manage private projects
trello

Using Trello to manage private projects

最近、Trello でやりたいことを管理しています。 これが割といい感じなのでメモしておきます。 やりたいこととは 主に以下の「やりたいこと」を対象として管理しています。 書きたいブログのテーマ 作りたいツール 試してみたいサービスや機能 個人サーバーの運用ネタ 上記の通り個人プロジェクト (と言うには小規模ですが) 的な思いつきや小ネタが対象となっています。 今まで 今まではずっと Any.do に思いついたことを書き込んでいましたが、以下の課題がありました。 今日やること、明日やること、のように管理されるがもっとフワッとした単位で管理したかった。 思いつきでどんどん書き込んでいるので 100 個以上のタスクが溜まっていた。 いざ作業開始したとして平日の業務後や土日にちまちま進める感じなので、そういったスケジュール感にマッチしない。 というわけで Any.do は何も悪くなくお前の使い方がおかしかったんだ!

  • Lorentzca
    Lorentzca
2 min read
Convert ePUB file to Mobi file with the KindleGen command
kindle

Convert ePUB file to Mobi file with the KindleGen command

最近 Kindle Paperwhite を買いました。 本はアナログ派だったのですが引っ越ししてから通勤時間が短くなるなど生活の変化があり、出したり引っ込めたりがしやすい Kindle を買ってみました。が、思った以上になんだかリズムと合ってしまい最近購入する本はほぼ電子版を買うようになりました…。目も疲れにくいし電子ペーパーすごいな。あと前職のパイセンとキャンプに行った時にパイセンが Kindle を持ってきていてなるほどな〜というのもあり… (キャンプは意外と暇になるし自然の中で本を読むのは気持ちが良い)。 電子ペーパー - Wikipedia さて、最近 O'Reilly Japan Ebook Store で書籍を購入したのですが、ダウンロードできる形式が ePub か PDF のみでした (これは書籍によるみたいです)。ePub

  • Lorentzca
    Lorentzca
1 min read
System job is suitable for running mackerel-agent with Nomad
nomad

System job is suitable for running mackerel-agent with Nomad

現在 Nomad クラスターを展開しこのブログを運用しています。 nomad - ゆるふわキャンパー Nomad クラスターは現在 3 台のサーバーから構成されており、それぞれのサーバーは Mackerel でモニタリングしています。Mackerel へサーバーのメトリクスを送るためには mackerel-agent が必要ですが、mackerel-agent は Docker イメージが用意されているので、これを Nomad のジョブとして動かし Nomad クラスターの各サーバーを監視しています。 mackerel/mackerel-agent ジョブのタイプは Service タイプを使っており、各サーバに対し 1

  • Lorentzca
    Lorentzca
2 min read
Run Let's Encrypt client with Nomad job
nomad

Run Let's Encrypt client with Nomad job

SSL 証明書の取得の自動化を可能とするプロトコルとして ACME (Automated Certificate Management Environment) がありこれの実装として Let’s Encrypt というサービスがあります。 Let’s Encrypt のクライアントとしては certbot や lego があります。どちらも以下のように Docker イメージが公開されており、つまり Nomad のジョブとして簡単に動かすことが可能です。 Docker Hub - certbot Docker Hub -

  • Lorentzca
    Lorentzca
6 min read
Improved blog search page
algolia

Improved blog search page

このブログの内容は Algolia にインデックスし Algolia API を使って検索できるようにしています。自分の記事を見返すタイミングがしばしばあるので、その時はこれを使い Alfred ワークフローからインクリメンタルサーチして目的の記事を開いたり、あと地味にブログ内の静的ページとして検索ページを用意したりしています。algolia - ゆるふわキャンパー今回はそのブログ内の検索ページを改善してみました!Before:After:検索ページを設定してから長いこと (3 年くらい) 素朴な見た目のままだったのですが、しばらくみない間に Algolia のドキュメントが充実してきてフロントエンドさっぱりわからないマンでもなんとかチュートリアルを元にそれっぽいものができるような状態になっていたので (ありがたい 🙏) 今回検索ページの改修に踏み切ってみたのでした。主に以下の点で改善されています。 😊 検索結果が大きく、見やすく表示されるようになった。 記事の概要を出すようにした。 記事のサムネイル画像を出すようにした。 記事の投稿日時を出すようにした。 検索結果の数、検索にかかった時間を出すようにした。

  • Lorentzca
    Lorentzca
2 min read
Create a new Dropbox Paper document from Alfred workflow
alfred

Create a new Dropbox Paper document from Alfred workflow

Alfred ワークフローから Dropbox Paper ドキュメントを作成できるようにしてみました。この記事は以下のシリーズの続きになります (台風で…!暇…!)。Dropbox Paper のドキュメントを一覧して開くことのできる Alfred Workflow を作成したDropbox Paper ワークフローにドキュメントのコピー機能を追加しました今までは Alfred から dbp new すると Dropbox Paper のトップページに飛ぶ挙動でしたが、タイトルを入力するとそのタイトルのドキュメントの編集画面に飛ぶ方ようにしたかったので改善してみました。これからは dbp new <タイトル> を実行すると直ぐに編集画面に飛べます。方法これも基本は

  • Lorentzca
    Lorentzca
2 min read
Add copy action to Alfred Dropbox Paper Workflow
alfred

Add copy action to Alfred Dropbox Paper Workflow

先週 Dropbox Paper のドキュメントを一覧し開く Alfred ワークフローを作成しました。Dropbox Paper のドキュメントを一覧して開くことのできる Alfred Workflow を作成したこれで直ぐにドキュメントにアクセスできるようになって便利になったのですが、一方課題も…。課題Dropbox Paper は主にブログの下書き用に使っているのですが、Dropbox Paper のドキュメントをコピーして Ghost のエディターに貼り付けると表示が崩れるというかなり致命的な問題がありました。これでは不便すぎる…。Dropbox Paper はマークダウンで書けますが、どうやらコピーされたテキストはマークダウン形式にならないみたいです。そりゃそうか。解決方法Dropbox API ではマークダウン形式でドキュメントの内容を取得可能な API が用意されているので、これを使ってワークフローでリストされたドキュメントを選択するとその内容をマークダウン形式でクリップボードに保存する機能を追加しました。

  • Lorentzca
    Lorentzca
1 min read
Split DigitalOcean project
digitalocean

Split DigitalOcean project

最近このブログを Nomad クラスター環境へ移行しました。 Nomad クラスターを作成する Nomad クラスター上で Ghost ブログを動作させる クラスターは DigitalOcean 上に構築しており、構築は Terraform で自動化しています。ウェブサーバーやブログなどのアプリケーションの配備や管理は Nomad に任せています。 DigitalOcean ではプロジェクトという単位でリソースをまとめることが出来ます。 Projects :: DigitalOcean Product Documentation とりあえず Nomad クラスター関連のリソースをまとめる意図で Nomad Cluster というプロジェクトを作成し Droplet や Load

  • Lorentzca
    Lorentzca
1 min read
Dropbox Paper Alfred Workflow
alfred

Dropbox Paper Alfred Workflow

私は今までローカルの Dropbox フォルダ以下にブログ記事の下書きを保管していました。 MacDown というマークダウンエディタで下書きを作成、Alfred で下書きフォルダを開く、といった方法で運用していました。その辺については以下に細かく書いています。 去年より個人ブログのポスト数を2倍くらい増やせたのでなぜなのか書く この方法ですがそもそも Dropbox Paper を使えばローカルにファイル保存しなくていいし、マークダウン対応してるし、PC でもスマホでも関係なく使えるのでええやんと思い始め、Dropbox Paper を使ったフローに移行することにしました。 そこで引き続き Alfred でシュッと下書きを参照したり新規記事を作成出来れば嬉しいので今回そのような Alfred Workflow を作ってみました。 GitHub - lorentzca/alfred-dropboxpaper-workflow: Alfred Dropbox Paper

  • Lorentzca
    Lorentzca
3 min read
I changed my 1Password account to family type
1password

I changed my 1Password account to family type

私はパスワードの管理に 1Password を使用しています。 1Password は個人向けやエンタープライズ向け等いくつかの種類があり、今までは個人向けのプランを使用していました。そして最近個人向けプランからファミリープランに変更しました。 👪 家族を安全に守るためのパスワードマネージャー | 1Password 感想などメモしていく。 ちなみに以前 1Password を買い切り版からサブスクリプション版に変更した際の記事は以下です (2 年以上経つのか…)。 1Passwordを買い切り版からライセンス版に移行しました ファミリープランに変更した理由 といっても 2 つしかないですが…。 マネーフォワード ME のアカウントを共有したかったから これが一番の動機です。 💰 現在妻と二人で暮らしているのですが、生活費や諸々のお金の動きを見える化したくなりました。私は元々マネーフォワード ME を使用しておりかつプレミアム会員なので、いい感じに可視化ができているのですが、個人ではなく世帯としての支出もいい感じに見えるようにしたいので色々考えた結果アカウントを共有することにしました (二人とも自分の支出の履歴を見られることに抵抗が無い)。 本来ならマネーフォワード

  • Lorentzca
    Lorentzca
3 min read
Run mackerel-agent as a Nomad job
nomad

Run mackerel-agent as a Nomad job

最近ブログを動かしている環境を単一のサーバーから Nomad クラスターへと変更しました。Nomad クラスター上で Ghost ブログを動作させる以前からサーバーの監視を Mackerel を用いて行なっており、今回もクラスターを構成するノード上で mackerel-agent を起動し、監視を行います。ただし、 Nomad のジョブとして動かしてみます。Nomad のジョブとして mackerel-agent を動かす今までは単一の VPS を使っていたので mackerel-agent は普通にサーバーにインストールしていました。CentOS / RedHat にインストールする - Mackerel ヘルプ今回 Nomad を使うにあたりどのように mackerel-agent

  • Lorentzca
    Lorentzca
2 min read
Running Ghost blog on Nomad Cluster
nomad

Running Ghost blog on Nomad Cluster

このブログは数年間単一のサーバーで稼働していました。学習も兼ねてわざわざ自前でサーバーを運用していたのですが、最近新しい構成に移したくなり、Kubernetes の流行もあってクラスターやマイクロサービスといった時代の流れに乗るべく、Nomad クラスターへの移行を行いました。Nomad クラスターの作成までは下記記事にまとめています (インフラやクラスターの設定等はここからさらに変更しています)。Nomad クラスターを作成する今回はこの Nomad クラスター上で Ghost を動かすところまでをまとめます。構成以下の通り、DigitalOcean のマネージドロードバランサー配下に Droplet を 3台配置し、クラスターを構成しています。クラスターを構成するノードではそれぞれ Nomad と Consul が稼働しており、Consul でサービスディスカバリーを、Nomad でワークロードオーケストレーションを行なっています。稼働しているジョブNomad

  • Lorentzca
    Lorentzca
7 min read
OTOKOMAE CAMP #7
camp

OTOKOMAE CAMP #7

今年も男前キャンプに参加してきました!!⛺男前キャンプは水道橋にあるアウトドアをコンセプトにしたカフェバー、 BASE CAMP のオーナーである A-suke さんが主催しているイベントです。男前キャンプカフェ&バー BASE CAMP の紹介私は今回で3回目の参加となります。男前キャンプ#5に参加してきました!男前キャンプ#6に参加してきました!会場は月尾根自然の森キャンプ場でした。その名の通り、尾根にあるキャンプ場で森の中にある素敵な場所でした。キャンプ場の概要は以下。朝から入れる釣り堀がある直火は禁止ゴミは持ち帰り水道有りシャワー有りトイレ有り (汲み取り式)中央線梁川駅から徒歩で15分ほど (坂を登っていく)駅前に個人商店有り (9時開店) 今回の男前目標は、バックパック1つ、電車で参加木と木の間にロープを張り、張ったロープを使ってタープを設営する方法を試してみる薪は全て落ちている枝を使う (バックパックでそもそも薪持っていけないので)でした。出発〜

  • Lorentzca
    Lorentzca
6 min read
Create Nomad Cluster on DigitalOcean
nomad

Create Nomad Cluster on DigitalOcean

Nomad 上にこのブログ (Ghost) を移そうと考えています。 Nomad by HashiCorp そこで、まずは Nomad クラスターを DigitalOcean 上に作成してみました。 この記事の一番最後にクラスター作成に使用している Terraform のファイルを貼っておきます。 Nomad とは Nomad とは Docker コンテナや Qemu 仮想マシン、 Java アプリケーション等のデプロイ、それらによる処理の実行の管理を自動的に行うツールです。 つまり、ワークロードオーケストレーターです。 Introduction - Nomad by

  • Lorentzca
    Lorentzca
9 min read
Manage state files on Terraform Cloud
terraform

Manage state files on Terraform Cloud

先日発表された Terraform Cloud の Remote State Management 機能、絶対いいやつなので試してみます。 Introducing Terraform Cloud Remote State Management Terraform Cloud とは Terraform Cloud とは terraform のために作られた SaaS です。 以下のような機能が (今後公開予定の機能も含め) あります。 state ファイル管理ストレージ terraform を複数人で運用するためのコラボレーション機能 terraform

  • Lorentzca
    Lorentzca
3 min read
I am Mackerel ambassador
mackerel

I am Mackerel ambassador

先日 Mackerel アンバサダープログラムへ招待いただき、アンバサダーの任を仰せつかりました。 🙏🙏🙏 Mackerel アンバサダープログラム はじめます! - Mackerel ブログ #mackerelio Mackerel は愛着のある監視サービスであり、プライベートでも有料プランを契約し使用しておりました。 mackerel - ゆるふわキャンパー Mackerel との出会い 前職で、まだ Nagios や Cacti をメインに使用していた時代に社内勉強会で取り上げられていたのをきっかけに知りました (確か)。 それから Mackerel の採用が決まり、 Mackerel への移行やプラグインの作成等を業務で行なっていました。 勉強も兼ねて運用している当ブログをホストしているサーバも個人で取得した Mackerel

  • Lorentzca
    Lorentzca
1 min read
Monitor lock status with Mackerel
mackerel

Monitor lock status with Mackerel

Sesame というスマート鍵を購入し、より快適な生活が手に入りました。 セサミスマートロックを買った また、 Sesame の API を試してみました。 Sesame API を試す 次の段階として、鍵の状態を Mackerel で監視してみます。 ※念のため補足すると、公式アプリでも鍵の施錠/開錠を検知したら push 通知することができるので、必要最低限の監視はできていると言えます。 なぜ監視するのか ちょっと話が横道に逸れますが、スマート鍵の導入に興味がありつつためらう理由の一つに、セキュリティが挙げられるんじゃないかな、と思っています。特に「不具合や誤作動で知らないうちに解錠される可能性があるんじゃないか」「クラッキングされて解錠されてしまうことはないのか」という点が不安に思われるんじゃないかな、と思います。 個人的には不具合で解錠されてしまう可能性より、

  • Lorentzca
    Lorentzca
6 min read
Sesame API
smartlock

Sesame API

Sesame というスマート鍵を使い始めてはや1ヶ月が経ちました。 セサミスマートロックを買った Wi-fi と接続するモジュールも買い、 Sesame はもはや生活に欠かせない機器となりました。神。ハンズフリーで解錠できることがこんなに快適だったなんて! Wi-fi モジュールを買ったことでインターネットと接続できるようになり、 API も使えるようになったのでとりあえず鍵かかってるか API から取得してみます。 条件 API を利用するための条件です。 Wi-fi モジュールを購入し、セットアップ済みであること (Sesame がインターネットへ接続している必要があるため) Sesame の設定でクラウド連携が有効になっていること API キーの取得 Sesame 公式サイトのダッシュボード (BETA) から API キーを取得できます。

  • Lorentzca
    Lorentzca
1 min read
Sesame Smart Lock
iot

Sesame Smart Lock

帰宅時に鍵をゴソゴソするのが面倒 (特に雨天時の買い物帰り) で Sesame というスマートロック製品をポチりました。 ポチった!在庫切れなのでいつ届くか…。セサミminiが出たらキャンセルしてminiの方買おうかな。— †深淵の覚醒者† (@lorentzca) 2019年2月9日 在庫が無く2億年ほど待ちましたがようやく届いた!!! 届いたので続き。幅はビクトリノックスとほぼ同じ長さ。事前に大きさ測ってはいたけど、思ったよりずんぐりした印象! pic.twitter.com/OmkZqTHcZK— †深淵の覚醒者† (@lorentzca) 2019年3月30日 Amazon で買いました。 Amazon.co.jp: 【Works with Alexa認定製品】

  • Lorentzca
    Lorentzca
4 min read
Cloud Support Engineer Recruiting Day!
meetup

Cloud Support Engineer Recruiting Day!

下記イベントに参加してきました。🏃 クラウドサポートエンジニアRecruiting Day! | Peatix サポートエンジニアNight さんのイベントは以前にも一度参加していて、サポートエンジニアに焦点を当てたイベントは (多分) 珍しいので、あまりサポートエンジニアについて知らない方が参加してみても楽しいんじゃないかな〜と思います。 以前参加した際の記事はこちらです。 サポートエンジニアNight vol.2 例のごとく感想を書きます。 お客さまの課題をエンジニアリングで解決する" Mackerel CRE のアプローチ @a_know さんと @mur_ms_ さんの登壇でした。この前お二人の対談記事も上がっていましたね。 はてなで働くエンジニアにアンケートシリーズ第4回 a-know, missasan - Hatena

  • Lorentzca
    Lorentzca
5 min read