タグ

ブックマーク / songmu.jp (25)

  • 同僚をどう呼ぶか ~ さん付けやあだ名など | おそらくはそれさえも平凡な日々

    数年前から業務上では同僚に通りの良いあだ名がない場合、極力「さん」付で呼ぶように意識している。新卒やインターンの大学生を無条件で君付けで呼ぶみたいなのをやめたいと思ったのだ。 呼称から暗黙の権威勾配が生まれることは少なくない。例えば、上司が部下を君付けで呼び、部下が上司をさん付けで呼ぶという光景はよく見られる。上下関係が前提にあり、逆転させると違和感を感じるはずだ。こういう暗黙の権威勾配は双方の心理に染み付いてしまい、構造を変えるのが難しくなる。 逆に、我々のIT業界では、新卒やインターン生が数年後に自分の上司になることも珍しくない。流動性が高くて素晴らしいことである。その時に呼び方を「君」から「さん」に変えるのもおかしな話である。そもそも上下関係によって呼び方が変わるのはナンセンスだと私は思っていて、仕事の上ではお互い一人前の大人でリスペクトしあいたいし、個人的にフラットさを志向している

    同僚をどう呼ぶか ~ さん付けやあだ名など | おそらくはそれさえも平凡な日々
  • git-set-mtimeをリリースしました | おそらくはそれさえも平凡な日々

    https://github.com/Songmu/git-set-mtime ローカルファイルとディレクトリのmtimeをgitの最新コミット日時に書き換えてくれるツール。rosylillyが作っていたやつを以前から使わせてもらっていたのだけど、それをforkしたままバイナリリリースもしました。 % go get github.com/Songmu/git-set-mtime でもインストール可能です。オリジナルに対する変更点は以下のとおりです。 Go版のみにしてruby版は削除 macで動いていなかったので修正 デカイリポジトリで実行すると、too many open filesで死ぬことがあったのでsemaphore入れた 特にruby版削除は大きな変更になってしまうので、fork側で別途メンテナンスさせてもらうことにしました。ライセンスなどは元のライセンスを残しつつ適宜アップデート

    git-set-mtimeをリリースしました | おそらくはそれさえも平凡な日々
    yuiseki
    yuiseki 2023/01/07
  • 退職 | おそらくはそれさえも平凡な日々

    12月末でLaunchableを退職します。実際には11月30日が業務最終日で12月は求職活動をしていました。幸い12月中に転職先を決めることができ、1月から次の会社で働きます。次の会社は年明けにお知らせします。 求職活動中は多くの方や会社から連絡をいただき当にありがたかったです。全てにお返事をすることができず申し訳ありませんが、直接お知らせできなかった方にはこちらでお知らせとなることをご了承ください。 以上でお知らせは終わりで、以降は単なる中年男性のしょうもない独白です。 退職は非常に残念で、Launchableでまだまだやりたいことはあり、これからというところでもあったのですが、言ってしまえば西海岸外資の洗礼を受けたということです。 今回の僕の挑戦はあっけなく終りを迎え、ほろ苦い体験となりました。とはいえ間違いなく良い経験にはなりました。Launchableの事業は引き続き応援してい

    退職 | おそらくはそれさえも平凡な日々
  • リリース用のpull requestを自動作成し、マージされたら自動でタグを打つtagpr | おそらくはそれさえも平凡な日々

    常々GitHubにtag requestが欲しいと言ってきましたが、それを実現するツールを作りました。OSSなど、バージョニングとリリースが伴うソフトウェア開発のリリースエンジニアリングをとにかく楽にしたいという動機です。既に自分が管理している幾つかのOSSでは導入して便利に利用しています。 https://github.com/Songmu/tagpr アイデア 基の発想は以下のようにシンプルです。 リリース用のpull requestがGitHub Actionsで自動で作られる バージョン番号が書かれたファイルやCHANGELOG.mdを自動更新 そのpull requestをマージするとマージコミットに自動でバージョンtagが打たれる semver前提 リリース用のpull requestを自動で作りマージボタンを以てリリースと為す、というのは、みんな(僕が)大好き git-pr

    リリース用のpull requestを自動作成し、マージされたら自動でタグを打つtagpr | おそらくはそれさえも平凡な日々
  • git-pr-releaseとGitHub Actionsでワンクリックデプロイを実現する | おそらくはそれさえも平凡な日々

    突然ですが、git-pr-releaseのなんちゃってコラボレーターである私が僭越ながら、その王道の使い方を皆様に伝授していきます。何番煎じかの記事ではありますが、現代の、特にGitHub Actions出現以降の使い方をまとめたいというのが動機です。 https://github.com/x-motemen/git-pr-release https://rubygems.org/gems/git-pr-release git-pr-releaseはGitHubを業務開発で利用している場合に便利なツールで、デフォルトブランチにマージされたpull requestをリリース項目として一覧し、それをpull request化してくれるものです。これにより以下のことが実現できます。 リリース項目が一覧されることによるリリース内容の明確化 マージボタンによる明快なワンクリックデプロイの実現 pul

    git-pr-releaseとGitHub Actionsでワンクリックデプロイを実現する | おそらくはそれさえも平凡な日々
    yuiseki
    yuiseki 2022/08/08
  • Montereyと(After)Shokzの相性問題とその解決方法 | おそらくはそれさえも平凡な日々

    macOSをMontereyにあげてからShokzの骨伝導ヘッドフォンが不調になる、具体的にはミーティング中に突然ミュートになるという問題がある。ボヤキや暫定解決方法含めてTwitter上に書き散らしていたが、困っている人が相変わらずいるようなのでまとめておく。と言っても、以下のredditに書かれている内容そのままです。 https://www.reddit.com/r/Zoom/comments/qhmpkg/aftershokz_aeropex_on_zoom_and_macos_monterey/ 自動音量調整が効いている場合それが悪さをする サウンド環境設定を開いて観察するとよく分かる マイク音量がどんどん下がっていってミュートされてしまう 音量自動調整を無効にすれば暫定解決 会議ツールの設定でそれができればOK (zoom等) 設定できない場合もChromeであれば以下の拡張を

    Montereyと(After)Shokzの相性問題とその解決方法 | おそらくはそれさえも平凡な日々
  • 私と楽天経済圏とふるさと納税 | おそらくはそれさえも平凡な日々

    タイトルの通りでふるさと納税の話も出てくるのでご承知おきください。ふるさと納税を快く思っておらず、仕組みを理解した上で利用しない人は、主義があって良いことだと思います。私も良い制度だとは思っていません。 ふるさと納税は5年ほど前に別のサイトで一度利用し、その後は利用していなかったのですが、一昨年楽天ふるさと納税をしてみて、その流れからズブズブと楽天経済圏に降ってしまった。ある程度自分の生活の中では最終形に近い形になったのでまとめてみます。 裏技に近いと思えるようなテクニックも少し紹介します。一般的に裏技的なテクニックを喧伝しすぎることはサービス提供者に対してフェアではないので良くないと思っていますが、今回の場合「被るダメージよりも塞ぐコストのほうが大きいから放置している割れ窓」ではなく、楽天側がちゃんとサービス設計した上でそうしていると思われるので、書いて差し支えないだろうと判断している

    私と楽天経済圏とふるさと納税 | おそらくはそれさえも平凡な日々
  • Launchableに入社しました | おそらくはそれさえも平凡な日々

    日10月1日、LaunchableにPrincipal Software Engineerとして入社しました。最近日エンジニア界隈でも少しづつ聞かれるようになったIC(Individual Contributor)としてのキャリアです。 ご存知の方も多いとは思いますが、LaunchableはあのJenkinsを作った川口さんらが2年前に創業された、まだ若いスタートアップです。自動テストにおける、スローテストやflakyテスト等の痛みを、AIの力で解決するプロダクトを作っています。 シリーズAの調達を終え、採用にも力を入れています。現在は、サービスの肝に関わるData Scientistを一番求めているようなので、興味のある方は是非採用応募してください。 Careers: Data Scientist - US or Japan | Launchable Inc. 元々優秀なスタッフ揃

    Launchableに入社しました | おそらくはそれさえも平凡な日々
  • Gitのワークフローについての私のスタンス | おそらくはそれさえも平凡な日々

    Gitのワークフロー、好みが分かれる分野で自転車置き場の議論にもなりがちだと感じている。基的にはプロジェクトの流儀に素直に従い、余計なストレスを抱えないのが良いと考えている。例えば、私はマージコミットを作るのが好みだが、OSS活動等では「squash & mergeして」って言われることもあり、そういうときは当然素直に従うようにしている。 ということで、私のGitのワークフローについてのスタンスについて書いておこうと思う。私と一緒に働く人や、働くことを検討している人の参考になればと思います。もちろん、この辺りは、良い方向に変化もさせていきたい。例えばエントリー内でも触れていますが、私は昔はforce pushを禁止したいくらいでしたが、今は使っても良い、と思うようになりました。 Natureの特にGoでのバックエンド開発はこれに近い感じだとイメージしてもらえればと思います。ただ、できてな

    Gitのワークフローについての私のスタンス | おそらくはそれさえも平凡な日々
  • Let's Encryptのルート証明書切替周り(完結編) | おそらくはそれさえも平凡な日々

    tl;dr 驚くべきハックにより旧Androidも引き続き証明書エラーなくサイトを閲覧できそうです いよいよ5/4に標準の証明書チェーンが切り替わります 前回までのおさらい Android7.1以前でLet's Encrypt証明書のサイトが見られなくなる Let's Encryptの証明書切替周りその後 Let's Encryptはルート証明書を自身(ISRG)の認証局のルート証明書(ISRG Root X1)に切り替えようとしています。現在は、IdenTrustのルート証明書(DST Root CA X3)が使われています。 正確に言うと、ISRGは新しい認証局なのでそのルート証明書の普及率も当然低く、中間証明書はIdenTrustのルート証明書でクロスサインされており、それが標準で使われています。標準がDSTになっているだけで、ISRGのルート証明書のチェーンの証明書も指定すれば今で

    Let's Encryptのルート証明書切替周り(完結編) | おそらくはそれさえも平凡な日々
  • Android7.1以前でLet's Encrypt証明書のサイトが見られなくなる | おそらくはそれさえも平凡な日々

    追記: その後の動きについて書きました → Let's Encryptの証明書切替周りその後 このサイトはLet's Encryptで証明書発行しているのでタイトルの件が気になったのだが、どうもあまり話題になっていない。恥ずかしながらSSL周り詳しいわけじゃないので、誤っているかも知れない。識者の意見を求む。 Let's Encryptが使われているサイトがAndroid7.1以前のバージョンで今年の9月29日以降見られなくなる可能性がある 延命策は用意されそうだが、それも来年の9月29日まで Let's Encryptのルート証明書切り替え計画に起因している Let's Encryptのルート証明書の変更 Let's Encryptはルート証明書を自身(ISRG)の認証局のルート証明書(ISRG Root X1)に切り替えようとしている。現在は、IdenTrustのルート証明書(DST

    Android7.1以前でLet's Encrypt証明書のサイトが見られなくなる | おそらくはそれさえも平凡な日々
  • ghq v1リリースとghq-handbookのお知らせ | おそらくはそれさえも平凡な日々

    https://github.com/motemen/ghq/releases/tag/v1.0.0 年末にアナウンスしていた通り、先程ghq v1.0.0をリリースしました。変更点は以下のエントリでお知らせしていたとおりです。その他Subversion周りの対応を無駄に頑張って強化したりしました。 https://songmu.jp/riji/entry/2019-12-28-ghq.html 是非ご利用ください。 年末年始休暇中にドキュメントを書いていたのですが、思ったよりもしっかりとした分量になったので、思い立って電子書籍にして販売してみることにしました。 https://leanpub.com/ghq-handbook 日語で20ページほどです。値段は$1.99くらいにしたかったのですが、Leanpubで収益を上げる場合には$4.99が下限のようなので、その額に設定させてもらいま

    ghq v1リリースとghq-handbookのお知らせ | おそらくはそれさえも平凡な日々
  • ghqで仕事用と趣味用でディレクトリ分けしてリポジトリ管理しやすくなりました | おそらくはそれさえも平凡な日々

    2020年1月5日追記: v1リリースしました https://songmu.jp/riji/entry/2020-01-05-ghq-v1.html https://github.com/motemen/ghq 最近のghqの状況と、v1リリースに向けた非互換変更などのアナウンスです。現状の最新のv0.17.4を前提に書きます。 ghq.<url>.root 設定により細やかにclone先を設定可能に 例えば、gitconfig上に以下のように設定すれば、デフォルトでは"~/src/hobby" に、仕事用は"~/src/work"にcloneされます。 [ghq] root = ~/src/hobby [ghq "https://github.com/myorg"] root = ~/src/work [ghq "https://myvcs.example.com"] root = ~

    ghqで仕事用と趣味用でディレクトリ分けしてリポジトリ管理しやすくなりました | おそらくはそれさえも平凡な日々
  • CircleCIでgit-pr-releaseする | おそらくはそれさえも平凡な日々

    git-pr-releaseそのものの説明に関してはninjinkunの以下のエントリを参照ください。 git-pr-releaseのすすめ さて、現職に入社したら、git-pr-releaseが使われていたのですが、リリース担当者が手元で実行するフローになっていました。しかし、git-pr-releaseの場であり発祥の地でもある、はてな社では、git-pr-releaseはCIに作らせるものであったので、それに倣って、こちらも現職で利用しているCircleCIに作らせるようにしてみた。 手順 .git-pr-releaseをrepositoryに配置する GIT_PR_RELEASE_TOKEN をCircleCIに登録する .circleci/config.yml にjobを設定する おまけ machine accountを作るといいよ Triage(トリアージ)権限が便利 1.

    CircleCIでgit-pr-releaseする | おそらくはそれさえも平凡な日々
  • Nature Remo作ってる会社のCTOになったのでみんな買ってくれよな! | おそらくはそれさえも平凡な日々

    6月1日付けでNature Japan株式会社の取締役CTOに就任しました。最初の営業日の6/3(月)からいきなり台湾出張に行ってきました。良いスタートアップ感。ついでに日6月5日に39歳になりました。新たなチャレンジにワクワクしています。 大塚(@maaash)さん、村瀬(@typester)さんに続く3代目のCTOとなります。2人はカヤック時代の同僚でもありますが、カヤックのラボチームのダブルエースだった彼らの後任としてCTOをやるのは恐れ多いのですが、僕は組織づくりなど含めて僕なりに組織に貢献していきます。 当社はおかげさまでスマートリモコンのNature Remoが好調で、現在はNature Remo Eというスマートエネルギーハブの開発を進めているところです。今後は電力なども見据えて事業を展開していく計画で面白いフェーズにあります。 まだ、社員全員でも10人に満たない小さな会社

    Nature Remo作ってる会社のCTOになったのでみんな買ってくれよな! | おそらくはそれさえも平凡な日々
  • Goのバイナリへのファイル同梱はstatikで決まり | おそらくはそれさえも平凡な日々

    https://github.com/rakyll/statik Goのバイナリにファイルを同梱するという誰もが欲しいはずのものがなかなか決定版がなく、go-bindataがメンテを終了し、go-assetsもいまいちメンテが滞っているので、statikを使うことにしました。作者のrakyllさんも実績のある方なので大丈夫でしょう。 statikも少しpull requestの取り込みが滞っていたのですが、試しにpull requestを送ってみたらちゃんと取り込まれたので大丈夫そう。 https://github.com/rakyll/statik/pull/61 元々、ファイル単体を取得する分には問題なかったのですが、ファイルシステムとして走査しようとするとうまく辿れない問題があり、このpull requestで修正しました。ですのでより安心して使えるでしょう。 http.FileSy

    Goのバイナリへのファイル同梱はstatikで決まり | おそらくはそれさえも平凡な日々
  • Homebrewで自作ツールを簡単にインストール可能にする | おそらくはそれさえも平凡な日々

    まとめを先に 自分のGitHub上にtapリポジトリをサクッと作る そこにFormulaと呼ばれるファイルをコミットする maltmill というツールを使うと簡単! 用語 Formula 各ツールのインストール手順を記述するファイル maltmill.rb であれば maltmillのインストーラー RubyのDSLで記述 tap Formulaを配置するリソースリポジトリ GitHub上に"homebrew-"プレフィクスで作成する これらは自前で簡単に作ることができます。公式リポジトリに頑張ってpull requestを送ることもできますが、個人的なものであれば気軽に自前で作ってしまうことがおすすめです。 tapリポジトリの作成 前項で書いたとおり"homebrew-"プレフィクスを付けて命名すればOKです。僕の場合homebrew-tapという名前で作っています。 https://

    Homebrewで自作ツールを簡単にインストール可能にする | おそらくはそれさえも平凡な日々
  • 実行中のプロセスの終了を検知して通知をするpeepというのを作った | おそらくはそれさえも平凡な日々

    https://github.com/Songmu/peep なにかコマンドを実行して、思ったより時間がかかりそうな場合、終了を通知して欲しくなること、あると思います。それをしてくれるのが peep です。言うなれば、 horenso の後付版です。 使い方はめちゃくちゃ簡単で、以下のようにpidと、その後に任意のコマンドを指定します。 % peep $pid -- /peth/to/notification-script 当該 $pid のプロセスが終了したら、指定したコマンドが動くという仕組みです。なんと、リモートプロセスの終了も検知できます。 インストール go get % go get github.com/Songmu/peep/cmd/peep % go get github.com/Songmu/peep/cmd/peep-notify Homebrew % brew ins

    実行中のプロセスの終了を検知して通知をするpeepというのを作った | おそらくはそれさえも平凡な日々
  • JSONを使ってコマンドラインを動的に組み立てて実行するjfillを作った | おそらくはそれさえも平凡な日々

    https://github.com/Songmu/jfill 標準入力からJSONを受け取り、その値を使ってコマンドラインを組み立てて実行するユーティリティです。以下のような具合です。 インストール % go get github.com/Songmu/jfill/cmd/jfill もしくはGitHub Releasesからご利用ください。 使い方 % echo '{"name":"jfill"}' | jfill echo Hello {{name}}! Hello jfill! {{name}} の部分がプレースホルダーです。それがJSONの入力を元に置換され実行されています。 プレースホルダー内には以下のようにデフォルト値を指定することも可能です。 % echo '{}' | jfill echo Hello {{name:jfill}}! Hello jfill! {{name

    JSONを使ってコマンドラインを動的に組み立てて実行するjfillを作った | おそらくはそれさえも平凡な日々
  • Redisアプリケーションパターン | おそらくはそれさえも平凡な日々

    この記事は、はてなエンジニアアドベントカレンダー2016の12日目の記事です。 先日こういうツイートをしました。 Redisはキャッシュ用途のミドルウェアだと思わない方が良いと思う — songmu (@songmu) 2016年12月10日 言いたかったのは、Redisはキャッシュのためだけのミドルウェアだと誤解されがちなのですが実際はそうではないということです。実際、公式サイト を見に行くと以下の様なことが書かれています。 Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. つまり、Redisは多彩なデータ構造を保持できるインメモリーのデータストアで、様々な活用法があり、キャッシュとして「も」使える、とい

    Redisアプリケーションパターン | おそらくはそれさえも平凡な日々