照明の話、というかARTWORK STUDIOのGlowの話

pyspaアドベントカレンダー20日目担当、garsueです。昨日はtaichiさんの超大作でした。 今年の春頃に引っ越して家具家電いろいろ見直した結果、照明についていくらか知識を得たのでそのことを書きます。 結論 天井ベタ付けシーリングライトは生活感そのものだと認識せよ モダンテイストが許されるならGlowマジオススメ 照明と向き合い始めたきっかけ 引っ越しに伴い、住環境やインテリアについて見直し始めたことが大きなきっかけでした。近年は出社回帰の流れもありつつも、リモートワークもまだまだ求められていますし、自分が長く過ごす空間を自分にとってアガる環境にしたい、みたいなモチベーションが大きかったです。 インテリアについてゆるゆるYouTubeやらなんやらで雑に情報収集した結果、どうも照明がコスパよく部屋の印象をコントロールできるポイントらしいということを知りました。注目させたいポイントは照らしつつそうでないところは暗くする、みたいなメリハリをつける効果だったり、ペンダントライトやフロアライトは照明そのものが存在感の強いアイテムである、といった理由かららしいです。 ...

12月 20, 2023 · garsue

Facilitatorパターンの紹介

最近ちょろっとgo 1.18beta1を使ってGenericsに触れたので、GoのGenerics関連の実装パターンを紹介する。 Generics facilitators in Goで@rakyll氏が紹介していたFacilitatorsというパターンだ。 といってもそんなに難しいものではない。理解すべき点は2つ。 Goではメソッドに型パラメータを持たせられないという制約がある 代わりにレシーバをパラメータ化できる ジェネリックなメソッドがほしいときは一度ジェネリックな型の値を返し、その型で目的のメソッドを実装する。 この中間で一度挟んでいる型をFacilitatorと呼んでいる。 ...

1月 24, 2022 · garsue

RTAが好きなら真空ジェシカを見よ

この記事はpyspa Advent Calender 2021の19日目です。昨日は@chezouさんのバンクーバー移住の話でした。社会保障が充実していて驚きました。ご飯も美味しそうです。 さて、もともと今日はRTA in Japan Winter 2021について書こうと思っていたのですが、本日決勝戦を迎えるM-1グランプリ2021があまりにも熱すぎたのでRTAとお笑い両方のトピックをカバーできる真空ジェシカについて書きます。 ...

12月 19, 2021 · garsue

Unlearn RDBMS

アンラーンいいたかっただけというのはさておき、一念発起してRDBMSについての知識を棚卸ししてモダンな製品ないしデータ構造ないしアルゴリズムをさらってみようと思い立った。 イノシシ本をベースにしつつ、その他書籍やWebサイトを参考に自分なりに理解をまとめていくつもり。 なぜ思い立ったか MySQL5系ばかり(+たまにNoSQL製品)としか向き合ってこなかったことに危機感を覚えたから。 流石に最先端のDB研究を追いたいみたいなことは考えていないが、世のDB界隈の進歩に対して自分のキャリアの中で触れる技術があまりにも変わらなすぎた。 所謂NewSQLと呼ばれるような製品が普及し始めているし、MySQLですら8がでて久しいというのに、だ。 言い換えれば、シングルリーダーのMySQLで提供できるスケーラビリティや可用性を超えたプロダクトを作ることができない1。やばいやん。 ...

9月 27, 2021 · garsue

GoでGCのタイミングをprintデバッグする

runtime.SetFinalizerを使って値ごとのデバッグプリント関数を仕込むことでGCされたときにデバッグログを残すテクニックを教えてもらったのでメモしておく。 package main import ( "bytes" "fmt" "runtime" ) func main() { buf := bytes.NewBuffer(nil) runtime.SetFinalizer(buf, func(v interface{}) { fmt.Printf("disposed: %T\n", v) }) runtime.GC() } みたいな感じで確認できる(Playground)。ただし上記サンプルだとすぐにプログラムが終了する都合上、実行ごとにログが出たり出なかったり結果が安定しなかった。ファイナライザーの実行は別Goroutineで実行されるとのことなのでそのへんはやむなし。

9月 12, 2021 · garsue

WSLから起動したGoLand(IntelliJ)で日本語入力する

WSL内のGoLand1をVcXsrv経由で使う際、日本語入力で困る人は多い。最低限入力できるようになるまでの手順を残しておく。 2021/08/09現在、GoLandの日本語入力まわりに不具合があるらしく、そのあたりがハマりどころになっている。おそらく以下の不具合と同様の問題と思われる。 IntelliJ IDEA 2019.2等でmacOS環境において日本語入力中に発生する問題と回避策 uim-mozcのインストール まずは普通にIMEを使える状態にする。 ここではuim-mozcを利用する。fcitx-mozcやibus-mozcよりも依存が少なくコンパクトかつシンプルに思えるので個人的にはuim-mozcがおすすめ。 sudo apt install uim uim-mozc uim-xim uim-mozcの設定と起動 mozcをuimに登録する。 sudo uim-module-manager --register mozc 以下の環境変数を設定し、uim-ximを起動する。ぼくは$HOME/.profileに書いている。 export GTK_IM_MODULE=uim export QT_IM_MODULE=uim export XMODIFIERS="@im=uim" export UIM_CANDWIN_PROG=uim-candwin-gtk uim-xim & これで一度再起動し、xtermやgeditなど適当なXアプリケーションで日本語入力できることを確認すると良い。 デフォルト設定ではShift + SpaceでIMEを切り替えられる。設定はuim-pref-gtkで変更できる。 しかし冒頭で述べた問題があるため、これだけではGoLandで日本語入力できるようにはならない。 ...

8月 9, 2021 · garsue

スプレッドシートでDSUMにインラインで複数の条件を渡す方法

以下のように配列中にKey-Valueのペアを書く。 DAVERAGE とかも同様。 =DSUM(A1:C7,"価格", {{"銘柄";"<>Microsoft"},{"銘柄";"<>Netflix"}}) 実際のサンプル ...

7月 18, 2021 · garsue

git commit --fixupの機能がちょっと増えた

Gitのv2.32.0から git commit で指定できる --fixup オプションで amend, reword が使えるようになった。 既存のコミットにちょい足しして後でまとめ上げたいときに便利な --fixup だが、今までコミットメッセージは変えることが出来なかった。 今回追加された git commit --fixup=amend:<commit> を使うと、コミットの内容だけでなくコミットメッセージまで変更できる。 git commit --fixup=reword:<commit> を使えばコミットメッセージだけ変更できる。 それらの修正コミットを積んだあとでおもむろに git rebase -i --autosquash を叩けばいい感じにコミットをまとめやすい。 rebaseの際には fixup -C コマンドとしてtodo list1にあらわれてくる。 todo listはこんな感じ。 ...

7月 10, 2021 · garsue

主としてコードを書くポジション

仕事においてひさびさに主としてコードを書くポジションにいるので改めて感じたことを残しておく、要するにポエム。 ...

6月 21, 2021 · garsue

手元のコンテナをざっと俯瞰するならctopが便利

手元の開発環境でコンテナのリソース消費やログをざっと確認するツールとして ctop が便利。 常時10個以上コンテナを動かしてるような人におすすめ。 ctopとは topコマンドっぽい感じでコンテナごとのCPUやメモリ消費を表示するコンソールアプリケーション。 それだけなら docker container stats でも事足りるが、ctopはもう少しインタラクティブに操作できる。 Docker DesktopのGUIをターミナルにもってきた感じ。 ...

5月 30, 2021 · garsue