ブックマーク / blog.sushi.money (28)

  • Macで毎分スクリーンショットを撮って手元に貯めておくスクリプト - hitode909の日記

    書いてたテキストエリアがどっかいく、みたいなことがたびたびあって、スクショを定期的に取っていればこんなことにならないのに…と思っていた。 先日、Redash用に、がんばって書いたSQLがどっかいってしまい、ものすごく悲しい、という出来事があったのであ、あまりに悲しさに、重い腰を上げてスクリプトを書いた。 きのうがんばって書いたRedashクエリを保存せずに消してしまった悲しみから、Macの画面のスクリーンショットを撮り続けるスクリプトを書いて、xbar経由で毎分実行してキャプチャし続けている。Macに入ってるOCR機能も呼び出して検索できるようにしたい https://t.co/ibVVCLZszg— 趣味はマリンスポーツです (@hitode909) 2023年11月30日 やっていること 画面全体のスクショを撮って、デスクトップ内のフォルダに置いていく 複数ディスプレイを使ってる場合も

    Macで毎分スクリーンショットを撮って手元に貯めておくスクリプト - hitode909の日記
    toshikish
    toshikish 2023/12/03
  • みなさん1on1のときくらいカメラオンにしてますか?そうでもない? - hitode909の日記

    身の回りではチームのMTGとかは普段カメラオフでも、1on1のときくらいはオンにしている人が多い気がする。たぶん1年以上顔見てない人もいるけどとくに困ってないので、僕はどちらでもいいのだけどみなさんはどうだろう。 僕はある日、手荒れ対策でMacをクラムシェルモードにしたらカメラが畳まれてしまい使えなくなってしまった、という事情である日カメラオフにして過ごしていた。 さっき一念発起してMacのフタをあけてカメラオンにしてみたけど、ケーブル(高額なケーブルなので長さにゆとりのあるものは買えない)が短いので、ひきちぎれそう。 普段はカメラオフだけど、1on1のときくらいはカメラを— 趣味はマリンスポーツです (@hitode909) 2023年8月21日 この日記が、カメラオンにするのが当然、みたいな押し付けを推し進める記事にはならないようにしたい。 むしろ、1on1だからといってMacのフタ開

    みなさん1on1のときくらいカメラオンにしてますか?そうでもない? - hitode909の日記
    toshikish
    toshikish 2023/08/21
  • 自分のはてなブログをChat GPTにつないだ - hitode909の日記

    id:nishiohirokazuさん作のScrapboxの情報をChat GPTに流し込んで対話するスクリプトがおもしろそうだったので動かして遊んでみていた。 自分のScrapboxChatGPTにつないだ - 西尾泰和のScrapbox 自分のScrapboxからおすすめサウナを案内してもらえた。おもしろい。自分のはてなブログとも対話したい。 https://t.co/7L51YPVURe pic.twitter.com/ijVXEFDXGl— 趣味はマリンスポーツです (@hitode909) 2023年3月10日 自分はScrapboxよりはてなブログのほうをよく書いてるので、当然はてなブログと対話してみたい。 はてなブログのMT形式のエクスポート結果をScrapboxのエクスポート結果のJSONっぽく乱暴に書き換えるスクリプトを用意して、はてなブログのデータを使ってチャットでき

    自分のはてなブログをChat GPTにつないだ - hitode909の日記
    toshikish
    toshikish 2023/03/10
  • ユーザースクリプトが書きにくくなると初学者が自由に練習できる場が減っていきそう - hitode909の日記

    DTMをどうやって始めるかというと、テレビとかで流れてる曲を耳コピで打ち込んで匿名掲示板に放流する、するとボコボコに叩かれる、それを糧に成長していくかただちに脱落していく、そういう流れがあったのだけど、近年はJASRACが手作りMIDIに対する集金を始めたそうで、雑MIDIを公開すると著作権料を徴収されてしまう、これでは初学者が耳コピからDTMを始めるルートが閉ざされてしまっているのでは、という話が20年前くらいにはあった。 Greasemonkeyとかユーザースクリプトとかも同様な雰囲気があると思って、おおらかな時代は乱雑なコードを書いて好きに動かしていた。 blog.sushi.money blog.sushi.money 現代のChromeは.user.jsをブラウザにドロップしてもすんなり動かしてくれなくて、雑なJSを書いて動かしたい、という衝動をかなえるための参入障壁が上がってい

    ユーザースクリプトが書きにくくなると初学者が自由に練習できる場が減っていきそう - hitode909の日記
    toshikish
    toshikish 2022/06/23
  • ワクワクという字を見ると歩かせたくなる - hitode909の日記

    ワクワクイベントって良い字の形だと思って、ワクワクワクってワクワクのエネルギーで字が這い回ってると良さそうだと思う。

    ワクワクという字を見ると歩かせたくなる - hitode909の日記
    toshikish
    toshikish 2022/04/06
  • 次のたのしみを用意しておくのは大事 - hitode909の日記

    どんなことでも、次にたのしみなことを用意しておくのは大事だと思って、次にたのしみなことがあったら、今どんな状況でも、まあ、たのしみなことはあるんだし、今はただ生きていればなんでもいいよ、という気分になれる。 今プライベートでたのしみなことは、引っ越したら自然豊かな環境に移れそうなことで、朝とか昼休みとかにちょっと散歩に出るのが楽しみ。 仕事でたのしみなことは、HTTPのレスポンスヘッダをちょっと調整するということをやっていて、手分けしてちょっとずつやってるのでだんだん結果が出てくるのがたのしみ。 それらがなかったら、次に何を心待ちにして過ごせばよいかわからなくなってしまうと思う。 順序が逆転しているように感じられるかもしれないけど、たのしみなことがない人は、なにか一つ、たのしみなことを作ると良いと思う。 犬を飼ってたら元気が出ました、じゃなくて、元気のない人に犬を飼わせると元気が出るかもし

    次のたのしみを用意しておくのは大事 - hitode909の日記
    toshikish
    toshikish 2021/11/18
  • Google Maps上で二点間の中心点を観察できるページを作った - hitode909の日記

    最近引越し先を探していて、もうちょっと北がいいとか、通勤を考えるとうちのオフィスに近いほうがいいか、とかディスカッションしていたのだけど、実際のところ中心点はどこなのか?と気になってきた。 Google Maps上で経路は見えるけど中心点は見えないので、ちょっとAPIを呼んで可視化するページを作った。 きのうの深夜と今朝の早朝にちょっとずつ作ってるうちに方向性がぶれてきて、中心点に、「愛」と書かれたピンがプロットされる。 オフィス間の中心見ての通り、我が家の職場の中心点は御所の中心付近で、ここに住むと双方への通勤が非常に快適になることがわかった。 せっかくなので好きなキーワードを入力して、好きな場所と場所の中央を見えるようにしている。 よく冗談で、いまから東京オフィスと京都オフィスの中心で集まって、そこで宴会をしよう!とか言っているのだけど、その正確な場所を割り出せる。 はてな京都オフィス

    Google Maps上で二点間の中心点を観察できるページを作った - hitode909の日記
    toshikish
    toshikish 2021/10/30
  • 個人で作ったツールをなんでもDocker Hubに上げる姿勢に違和感を感じてきた - hitode909の日記

    docker pullしてdocker runするだけで動いて便利じゃん、各言語のセットアップとかも省けるのでどこでも動いてありがたい、と思っていて、個人で作ってるツールもDocker Hubに上げたりしていた。 でも最近は、そういう時代でもないのかな、と思ってきている。 各言語でのライブラリ管理と二重の管理になってしまう Node.jsで作ったツールのイメージを作ると、awesome-tool2.0っていうdockerイメージの中にawesome-tool2.0がインストールされていて、そのイメージにNode.jsも同梱する形になる。 awesome-tool3.0をリリースするときには、まずはnpmに3.0を公開して、そのあとでDockerHubにもビルドして公開する、という流れになる。 各言語のパッケージマネージャのライフサイクルと別に、DockerHubへの公開、というフローが挟ま

    個人で作ったツールをなんでもDocker Hubに上げる姿勢に違和感を感じてきた - hitode909の日記
    toshikish
    toshikish 2021/09/17
  • 子供のBody Batteryを計測する - hitode909の日記

    以前id:yanbeさんがfitbitを装着して睡眠時間とか計測されてたのを思い出して、子供に装着してみたら、ちゃんと心拍数が取れた。心拍数120って出てきて、早いな!と思ったけど赤子はそんなものなようだった。 子供の足にGARMINの腕時計をつけたら心拍数、ストレス、Body Batteryを測れるようになった。おもちゃをあげてみてストレスの上下を観察することで何を求めているか分析できそう。今はストレス95だけどニコニコしておもちゃを舐め回している— 趣味はマリンスポーツです (@hitode909) 2021年8月26日 授乳中、ストレスレベルが50くらいまで下がった、すごい— 趣味はマリンスポーツです (@hitode909) 2021年8月26日 ストレスやBody Batteryは一応表示されたけど遊び用くらいのものだと思って、もっと言えば大人向けの数字も、いろんな値から計測

    子供のBody Batteryを計測する - hitode909の日記
    toshikish
    toshikish 2021/08/27
  • 育休を取得してから復帰するまでのまとめ - hitode909の日記

    4〜6月まで、育休を取得していた。こまごまとした出来事があったので、育休を取得して復帰するまでのことをまとめておく。 育休について 育児休業は国の制度で、会社の制度ではない。よく、何ヶ月か休むんです、と言うと、いいですね、うちの会社にはそういうのがなくて、と返されたりするけど、国の制度なので、まともな会社なら、ないことはないはず。ないように見えているとしたら、制度としてはあるけど雰囲気的に取りにくいか、当に違法な状態で制度がない、ということらしい。 もう一つ、あまり知られていないこととしては、育児休暇ではなくて育児休業である、ということ。僕もしばらく知らなくて途中で気づいた。 前提 職業や労働環境が違うとぜんぜん違う話になりそうなので最初に書いておくと、Webアプリケーションエンジニアをしていて、ここ一年ほどは自宅からリモートワークしていた。 採用情報はこちら。全員応募してください。 h

    育休を取得してから復帰するまでのまとめ - hitode909の日記
    toshikish
    toshikish 2021/07/22
  • 子の泣いてる時間を観察したくてM5StickCで泣き声モニタを作った - hitode909の日記

    深夜に絶叫する子を抱っこしていると、いつから泣いてるのか、いつまで泣いてるのか、など考えてしまって精神的に参ってくる。 実際のところどれくらいのペースで泣いてるのか可視化したくなって、M5StickCで可視化するグッズを作った。 作りたいもの 常時マイク入力がオンになっていて、直近しばらくの音量の履歴が可視化されたら便利そうだと考えた。 可視化によって子が泣き止むわけではなくても、「しばらく泣いてる気がしたけどまだ3分くらいだ」とか、「10分間に渡って静かにしていて偉い」とか数値を見て客観的な考察をできるようになりたい。 M5StickC M5StickCは小型のM5Stack。 小さくて邪魔にならなさそうなのと、マイクがついているので買ってみた。 3000円以下で買ってきて書いたコードが動いて画面に表示もできるのでおもしろいと思う。 www.switch-science.com 実装する

    子の泣いてる時間を観察したくてM5StickCで泣き声モニタを作った - hitode909の日記
    toshikish
    toshikish 2021/05/06
  • 一人ずつ接続しているオンラインMTGに会議室から複数名で参加する迷惑行為 - hitode909の日記

    オンラインMTG(や、単なるオンラインの雑談)において、大半のメンバーが自宅などから一人ずつ接続しているときに、会議室などから複数名で参加すると、迷惑なことがある。 家メンバーと会議室メンバーの状況を比較すると、会議室メンバーには以下のような有利さがある。 遅延時間が有利 会議室のメンバー同士はいち早く情報をキャッチできるので、早く返答でき、リモートメンバーの発話チャンスを奪うことができる 視界が有利 会議室のメンバー同士は見えている範囲が広いので、ジェスチャーをキャッチアップできる。リモートメンバーには通じない 音圧で有利 会議室メンバーは話者が多いので音圧を上げて場を制圧することができる 音質面でのギャップがある 一人で接続するときには、近い距離のマイクで音を拾っていることが多いけど、会議室のマイクは話者から距離があって、音量や残響音などに差があり、聞き取りづらいので、会議室メンバーが

    一人ずつ接続しているオンラインMTGに会議室から複数名で参加する迷惑行為 - hitode909の日記
    toshikish
    toshikish 2021/04/02
  • 1画面1APIと比べるとGraphQLのAPIはどこから作ったらいいか分かりにくい - hitode909の日記

    Backends for Frontends的に、1画面につき1つずつAPIを作っていると、画面のリストを作って、それぞれ1画面につき1個ずつAPIを作っていくことになるので、進捗の把握がやりやすかった。10画面あって3APIできてたら進捗30%ということになる。 グラフをたどって開発することになる GraphQLAPIを作っていると、「実はこの画面を組み立てるためのクエリは、あちらの画面の条件を変えたものである」みたいなことが起きるようになる。たとえば、トップページではサマリを表示していて、もっと見るを押すと全件表示するような場合とか。 このように、着手しようとするともう作るものがなかったりとか、逆に、作るときに、他の画面から使う想定でパラメータの設計をするなど、考えることが増えたりもする。 スキーマに沿ってグラフをたどるだけで画面を組み立てられるのは良いことだけど、開発内容の依存関係

    1画面1APIと比べるとGraphQLのAPIはどこから作ったらいいか分かりにくい - hitode909の日記
    toshikish
    toshikish 2021/02/16
  • ネイティブアプリからGraphQLを叩くときにどこまでパラメータ化するか - hitode909の日記

    GraphQLを使って、ネイティブアプリにさまざまな集計方法のランキングを出す、というときについて考えている。 たとえば、ソーシャルブックマークアプリを作っているなら、「総合」「一般」「世の中」「政治と経済」みたいに、カテゴリごとのランキングを出すことがイメージできると思う。 どのようなqueryを用意して、どこまでパラメータ化するか、どこまで自由にするかによって、サーバークライアント間の責任分担や、その後の変更コストが変わってくる。 サーバーサイドで制御する rankings: [Ranking!]!みたいに、クライアントからは「ランキングください」とだけ送るパターンを考えられる。クライアントでは、Arrayの返ってきた順に画面上に表示する。 良い点 サーバーサイドでランキングの定義を持てるので、APIだけでなく、ウェブの画面に表示するランキングなど、他の面との仕様を揃えやすい 変更がサ

    ネイティブアプリからGraphQLを叩くときにどこまでパラメータ化するか - hitode909の日記
    toshikish
    toshikish 2021/02/06
  • リモートワーク大全 - hitode909の日記

    リモートワークでの働き化ががちゃんと定まってない、他社の事例を参考にしよう、という話があったので読んでみた。シックス・アパートの人たちのリモートワーク情報が載っている文化が明文化されている 信頼、性善説に基づいて無駄を省こう、みたいな、主となる方針が明文化されているのが良いと思った。 リモートワークで暮らす上で、こっちとこっちなら、どっちが望ましい状態なんだっけ、というときに、毎回、個人で考えるんじゃなくて、ここに立ち返るとこっち、とすぐに判断できそうだし、そこは前提として議論が進むので楽そう。こういうものがないと、真に生産性が上がるのはどっち?とか、生産性上げたいんだっけ、それよりはこっちのほうが大事、とか、どこから議論を出発するか苦労することになる。 ちょっとしたTIPSがまとまっている YESともNOともとれる,曖昧な返事をやめよう、みたいな、ちょっとしたテクニックが載っていた

    リモートワーク大全 - hitode909の日記
    toshikish
    toshikish 2021/01/19
  • 未知の道に突入せず、まずは半分知ってるくらいの状態になる - hitode909の日記

    Perl製アプリケーションからGraphQLを喋ってみたい、ということがあって昨年末に2週間くらいでプロトタイピングしていた。 CPANにGraphQLというライブラリが公開されていて、社内の利用実績もあるので、これをいきなり使ってみても良かったのだけど、自分はGraphQLについては、耳では知っていて、GitHubAPIを呼び出したことがある、くらいで、実際に実装したことはなかった。 このような状態で突き進むと、問題に遭遇したときに2パターンの怪しさが出てきて、切り分けていくことになる。未知のものが多すぎて、プロジェクトXの、トンネルを掘るだけで難しいのに現地の言葉はわからない、みたいな回をイメージしてください。 GraphQL自体への理解が間違っているパターン スキーマ、クエリの書き方が悪い、概念を勘違いしている、など PerlでのGraphQLライブラリの使い方が間違っているパター

    未知の道に突入せず、まずは半分知ってるくらいの状態になる - hitode909の日記
    toshikish
    toshikish 2021/01/06
  • テンション上がらないときは誰か呼んできてペア作業すると良い - hitode909の日記

    という話を2年くらい前に社内ブログにちょろっと書いていたのをid:aerealが探していたので発掘しておきました。 個人的なテンション上がらないときのおすすめテクニックは誰か呼んできてペア作業することで、ブログチームにいたときは困ったらはこべさんをペアプロしましょうって呼んできて、僕は横から応援する係に回り、代わりに書いてもらってた。 逆の立場のときもあり、テンションが下がったときに助け合える関係になってるとチームとして強くなれそう。 はこべさん(id:hakobe932)はパソコンダンプカーみたいな感じの人で、なんでも倒していってくれるので、助けを求めるとすべてが解決する。 助けを求めて、名乗り出てくれた人にやってもらう、というのがひどい話でもあるけど、人によって得意不得意があり、呼ばれて出てきた方は苦にならず進めてくれることもある。 あまりに面倒な作業とか、ふたりともテンション上がらな

    テンション上がらないときは誰か呼んできてペア作業すると良い - hitode909の日記
    toshikish
    toshikish 2020/12/18
  • 家族用メーリングリストを作ってユーザー登録に使っておけばよかった - hitode909の日記

    家族内での情報共有や管理について、お金の管理は共用の口座と家族カードで、とか、情報共有はScrapboxで、とか、快適になっているのだけど、唯一、やっておけばよかったなというのが、メーリングリストを作っておくこと。 一緒に住んでると同じ情報にアクセスしたいことがしばしばあるのだけど、そういうときに、二人で使える共用のユーザーアカウントがあると便利なことがあると思う。 たとえば飛行機のチケットを取るときとか、予約の確認メール必ず転送したり、その後フライトがキャンセルになったらそのメールも転送したりと、たいへんめんどくさい。インドに行ったときにフライトがどんどんキャンセルになって、のメールアドレスに届いて、どこまで転送してもらったっけ、とわけわからなくなっていた。 各種手続きに使うメールアドレスをメーリングリストにしておくほうが緊急のメールが来たときに早く気付けそう 不確実性コーンを見て心を

    家族用メーリングリストを作ってユーザー登録に使っておけばよかった - hitode909の日記
    toshikish
    toshikish 2020/12/12
  • アウトプットの品質を下げておくと気軽に書けるようになる - hitode909の日記

    12月であるし、アドベントカレンダーが回っていたりして、よくできた興味深いブログの記事を目にすることが多い。 よくできた記事ばかり見ていると、自分もちゃんとしたものを出さなければ、となってしまうことがありそう。しかしちょっと待ってほしい。 ブログ記事、といっても、プロの編集の手が入ったお金のかかった記事、一人で頑張って書いた大作、チョロっと書いて出てきた日記まで様々なものがある。 100文字くらいで終わっているものもあれば10万文字くらい書かれているものもあるので、文量に1000倍の差がある。 映像の世界で1000倍の差を出そうとすると、2時間すなわち7000秒の映画と、スマホで撮った7秒の動画、くらいの差がある。 2時間で観れるすばらしい映画がなにかあるとして、 Amazon.co.jp: フォレスト・ガンプ/一期一会 (字幕版)を観る | Prime Video これの1000分の1の

    アウトプットの品質を下げておくと気軽に書けるようになる - hitode909の日記
    toshikish
    toshikish 2020/12/10
  • JavaScript 長いループ 分割 - hitode909の日記

    ブラウザで長いループや、重い処理をともなうループを回したいとき、同期的にJavaScriptを実行するとメインスレッドがブロックしてしまうので、ちょっとずつ細切れに分割して実行したい、ということがある。 昨日久しぶりに書いたら新たなパターンと出会ったので、これまでにどう書いてて今回どうなったかメモ。 setTimeoutする 以前(10年前とか)はこんなのをよく書いていた。 itemsがでかいArrayで、console.logがすごく重い処理だとして読んでください。 function iterateHeavyTask(items) { const startAt = new Date(); while (items.length > 0 && new Date().getTime() - startAt < 10) { console.log(items.shift()); } if (

    JavaScript 長いループ 分割 - hitode909の日記
    toshikish
    toshikish 2020/11/26