タグ

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

  • Google Maps上で二点間の中心点を観察できるページを作った - hitode909の日記

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

    Google Maps上で二点間の中心点を観察できるページを作った - hitode909の日記
    asyst
    asyst 2021/10/30
  • 未知の道に突入せず、まずは半分知ってるくらいの状態になる - hitode909の日記

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

    未知の道に突入せず、まずは半分知ってるくらいの状態になる - hitode909の日記
    asyst
    asyst 2021/01/07
  • 一人でやってると個人開発と同じクオリティになる問題 - hitode909の日記

    たまに、今のこの状況は組織パターンに載ってたこのパターンだ、と思い出すことがある。数年前に読んでまだ役立ってるのうちのひとつ。 今は「常に誰かが進捗させる」というプラクティスをやっている。それ自体はいいのだけど、問題なのは、チーム内チームのエンジニア二人チームでやっているので、一人が進捗させる、もう一人が差し込み対応する、という最小の形になっていること。 奥さんが家でやってる生け花教室のホームページを作る夫、みたいなものをイメージすると、奥さんが生花を教えることで進捗させて、夫がホームページ更新など雑務を巻き取るという構造をイメージできる。百人以上の人間がいる会社であっても、夫婦の生け花教室と同じ数の人のアサインでことを進めているのだとしたら、推進力では同じくらいしか出せないはず。実際には百人いる会社には経理の人がいたり総務の人が居たり、資が潤沢にあったら良いパソコンを使えるとか、いろ

    一人でやってると個人開発と同じクオリティになる問題 - hitode909の日記
    asyst
    asyst 2019/09/20
  • いつも「時間がない」あなたに 欠乏の行動経済学 - hitode909の日記

    リソースが足りない状態の人間について研究した。そのリソースは時間だったり資金だったりする。 スラック、つまり余裕があることが大事で、100円のおやつとか買うとき、それによって財産が100円減ることを考慮する人は居ない、毎月使えるスラックから支払われることになる。しかし、当に切羽詰まってると、少しのお金を作るために借金し、次の入金は利子の返済に当てることになる。 人間、気になることがあると、判断に使うためにリソースを奪われていって、能力が下がっていく。貧しい状態の人は生まれ持った能力が低いわけではなく、お金や時間の心配をしていることで能力が下がっていくことが実験によって確かめられている。という。 現代日で考えると、テレビに繋いでるレコーダーが残り1時間とか3時間とかで、毎日、次の番組を録画するために、歌まつりを早送りで見続けたり、古いバラエティ番組を消すかどうかで議論したりして時間を

    いつも「時間がない」あなたに 欠乏の行動経済学 - hitode909の日記
    asyst
    asyst 2019/01/16
  • 自分を退職に追い込む動きをすると良い - hitode909の日記

    去年,いまのチームに来たときは僕がフロントエンドのリファクタリングを進めたり面倒を見たりしていた.JS得意な友達がバイトに来てくれるようになり,今はその人がBabelを入れたりしてくれている.彼がバイトに来てくれなかったら,いまだになんとなく興味があるので見ますみたいな感じで一人で面倒見ていた気もする. よくある話で,属人性を高めないように自分の知識を展開しましょうという話があるけど,具体的にアクションプランを考えてもどれが一番良いのかわからない.抽象的に考えると,自分の仕事をなくして退職に追い込むような動きをすると良い.周りのレベルが上がったり移譲されたりしてその分野で価値を発揮できなくなってれば自分じゃなくてもできるようになっている 自分でなくても実装できるようになって,作戦の相談に乗ったりとかしていると,次はそこの属人性が上がってきて,自分のバリューを再びなくすには,誰でも計画を立て

    自分を退職に追い込む動きをすると良い - hitode909の日記
    asyst
    asyst 2018/09/12
  • 飲み会IoTボタン作った - hitode909の日記

    会社のオフィスは東京と京都に分かれていて,それぞれ,さらに7F,8F,9Fとか,B1,3F,4F,のように3フロアずつに分かれているので,合計6フロアあることになる.それに加えてリモートの人たちは家にいる. 定時後に,お疲れ様でしたとか言ってビールや日酒をあけることがあるのだけど,他のフロアでワイワイやってても気付きにくく,駆け付きにくい,駆け付けてもらいにくい,という問題がある. そこで,AWSのIoTボタンを使って人を呼べるようにした. 張り紙 このビールを冷やしてる冷蔵庫付近の壁に張り紙を貼った. 使い方 この乱雑な紙に使い方と,IoTボタンを貼り付けている.IoTボタンはボタンの裏側が接着面になっていて,ドキュメントに貼り付けることができて便利. 開催 1回押すと,Slackの#drinkingnow(飲み会の様子を共有するチャンネル)に飲み会開催中のお知らせが流れる.これが流れ

    飲み会IoTボタン作った - hitode909の日記
    asyst
    asyst 2018/06/07
  • エディタの左上にリアルタイムに顔を表示する - hitode909の日記

    エディタの左上にワイプでリアルタイプにカメラの入力が出てたらバラエティ番組みたいになって便利かと思ってやってみたけどただ意味不明な状態になるだけでとくに役には立たなかった,リモートペアプロするときにこちらの顔を送れるのは便利かもしれない. Atomのコンソールにこれを貼ればワイプ出せるはず. navigator.mediaDevices.getUserMedia({audio: false, video: true}).then((stream) => { const video = document.createElement('video');video.draggable=true;document.body.appendChild(video); video.srcObject=stream; video.style='position: absolute; left: 7vmin

    エディタの左上にリアルタイムに顔を表示する - hitode909の日記
    asyst
    asyst 2018/03/14
  • ビットコイン自動売買始めた - hitode909の日記

    coincheckにはAPIがあるので,ビットコインを自動売買して,寝てる間にどんどん儲けていきたい.世の中にはプログラムで売買するだけで暮らしてる人がいるのだから,やればできるはず.なぜ自分にできないのか.それは,まだ始めていないからである. ruby_coincheck_clientを使う 最初に見たnode-coincheckは認証つきのリクエストが動かなくて,コールバックをひたすら渡していく形でつらそうだったのであきらめた.ruby_coincheck_clientを試したら動いたのでRubyで書いている. Nonce must be incrementedというエラーが出ることがあって,コードは追ってないけど,現在時刻のエポック秒を使って認証していて,1秒に2回以上認証が必要なリクエストを発生させるとエラーが出るようだった.とりあえずsleep 1しているけど,最後にリクエストし

    ビットコイン自動売買始めた - hitode909の日記
    asyst
    asyst 2017/06/23
  • プロジェクト内からgrepして集計して補完を出してくれるAtomプラグインを作った - hitode909の日記

    これまでのあらすじ auto-programming.elのAtom版を作ってるよ,という話と,単なるスニペット以上に便利だよ,という話をしていた. blog.sushi.money blog.sushi.money できた できたのでGitHubに置いた. Emacs版ではPerlのスクリプトを呼んでたのを,Atom版ではふつうにchild_process.execしてgit grepして結果を解析するように変えた. Emacs Lispで複雑なロジックを書くのに慣れてなかったので難しいところはPerlで書いてたのだけど,JSならどんなに複雑なものでも書けるので助かる. 動いてる様子 Plackのリポジトリ内で適当に動かしている様子.use strict;はプロジェクト内に206回登場する,といったお得な情報も表示している. ご利用ください 開発前から予想はしていたけど,Atom Pac

    プロジェクト内からgrepして集計して補完を出してくれるAtomプラグインを作った - hitode909の日記
    asyst
    asyst 2016/11/17
  • はてなブログのAMP対応で学ぶウェブサービスのAMP対応 - hitode909の日記

    プレゼンモード 再生 ← / →で移動 fでフルスクリーン escでおわる こんにちは,id:hitode909です.このあと14時から品川のマイクロソフト様のオフィスでおこなわれている,YAP(PはパチモンのP)Cで発表します. この記事では,発表資料を公開いたします.現地の方は今すぐCルームに来てください.そうでないかたは懇親会でお会いしましょう. はてなブログのトピックもあるようです. トピック「YAPC」 #yapc8ojic のツイート はてなブログのAMP対応で学ぶウェブサービスのAMP対応 2016/07/03 YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa hitode909 自己紹介 id:hitode909 @hitode909 京都から来ました はてなはてなブログを作っている 自己紹介 YAPC 2015でベスト

    はてなブログのAMP対応で学ぶウェブサービスのAMP対応 - hitode909の日記
    asyst
    asyst 2016/07/03
  • sitemap.xmlをクロールしてサイト内の全ページのAMPのバリデーションをしてくれるコマンドラインツールを作った - hitode909の日記

    ウェブサービスのAMP対応するときに役立つ,sitemap.xmlをクロールしてサイト内の全ページのAMPのバリデーションをしてくれるコマンドラインツールを作った. GitHubにも置いてあるのでご紹介します. はじめに:AMPのバリデーションについて AMP(Accelerated Mobile Pages)はHTMLのサブセットなのだけど,ふつうのHTMLとちがって,バリデーションに通らないとAMPのページとは認めてもらえず,エラーが出てると検索結果などに出してもらえないので,がんばって直す必要がある. バリデーションの主なやり方には, クロールされるのを待ってSearch Consoleで見る AMPバリデータを使う の2つがある.順番に説明します. クロールされるのを待ってSearch Consoleで見る Search ConsoleからAMPのクロール状況を見れて,エラーが出て

    sitemap.xmlをクロールしてサイト内の全ページのAMPのバリデーションをしてくれるコマンドラインツールを作った - hitode909の日記
    asyst
    asyst 2016/06/23
  • HTML5のpicture要素を使ってブラウザの幅と関係なく眠いのを我慢している全然効率的でない男性を出す - hitode909の日記

    ブラウザの幅を変えるとさまざまな眠いのを我慢している全然効率的でない男性が出てきてたのしい!! 解説 HTML5のpicture要素を使っています. developer.mozilla.org こんなかんじ. スマホで見るときは,画面を横にすると何か変わるかもしれない. <picture> <source media="(min-width: 1450px)" srcset="//lh3.googleusercontent.com/-S_m9OixeJuI/V1_D1PsLAWI/AAAAAAABL-g/r4rj0cNH_gATzO1wFXGNzsmnEPAPcRXLQCKgB/s1024/IMG_0192.JPG"> <source media="(min-width: 1400px)" srcset="//lh3.googleusercontent.com/-ILHgX6OxywE/V

    HTML5のpicture要素を使ってブラウザの幅と関係なく眠いのを我慢している全然効率的でない男性を出す - hitode909の日記
    asyst
    asyst 2016/06/14
  • なぜひどいコードを書いてはいけないか - hitode909の日記

    ひどいコードは何やってるか分からない ひどいコードが何やってるか分かっても、なぜそうなってるのか、そこを変えるとどうなるか分からない ひどいコードは新たな変更に耐えられず書き直されることになる ひどいコードを書き直すには、ひどいコードがどうなっているか理解し、どこを変えるとどうなるのか理解する必要がある ひどいコードはたいていひどいテストコードが支えていて、テストコードがあったとしてもひどいコードと同様の問題があり、頼れるものが何もない どんなにひどいコードでも、書いた人を憎んではいけない。たとえ自分の書いたコードだとしても、先輩の書いたコードだとしても、ソフトウェアとしてひどい物にはひどいと言っていくことが大切で、だからと言って人に向かってひどいと言ってるわけではない。 最高の仲間たちが日々変化する難しい問題に対処していいコードを書いたり、ときにはひどいコードを書いている、という😇的な

    なぜひどいコードを書いてはいけないか - hitode909の日記
    asyst
    asyst 2016/02/08
  • JSON.stringifyでオブジェクトをいい感じに整形できるぞ - hitode909の日記

    JSON.stringifyでオブジェクトをいい感じに整形できます. あまり知られていない気がしたので,皆様にお知らせしようと思います. まずこれを読んでください. JSON.stringify(value, replacer, space) value any JavaScript value, usually an object or array. replacer an optional parameter that determines how object values are stringified for objects. It can be a function or an array of strings. space an optional parameter that specifies the indentation of nested structures. If

    JSON.stringifyでオブジェクトをいい感じに整形できるぞ - hitode909の日記
    asyst
    asyst 2015/11/16
  • 70ページでドメイン駆動設計の要点を押さえられるDomain-Driven Design Reference - hitode909の日記

    Domain-Driven Design Reference,Amazon見てたら発見して,安かったから買ってみた. ぺらっとしてて,ポケット索引集みたいな雰囲気.エリックエヴァンスのドメイン駆動設計から,要約が抜粋されていて,70ページくらいで,重要な概念を押さえられる.原著は著者の経験を語ってくれるコーナーが大半を占めるけど,このではバサッと切られて,定義だけが載ってる. 前のから10年くらい経ったので,新しい内容も増えてる.ドメインイベントとパートナーシップ,巨大な泥団子.いずれも実践ドメイン駆動設計に出てきた. これだけ読んでドメイン駆動設計さあ始めよう,とはならないだろうけど,でかい読みたくないけど議論には参加したい,とか,どんなものか軽く眺めたい,みたいな人が読むにはてっとり早いかもしれない. 唯一役立ったのが前書きで,エリックエヴァンスのドメイン駆動設計ののことをTh

    70ページでドメイン駆動設計の要点を押さえられるDomain-Driven Design Reference - hitode909の日記
    asyst
    asyst 2015/09/15
  • 作り直し - hitode909の日記

    ソフトウェアを作ってて、作り直したり、書き直したりするべきかどうかという話をすることがある。 大きな規模だと、ソフトウェアを作り直す、というところから、小さな規模だと、込み入った機能を書き直す、くらいまであるけど、作り直すとうまくいくのは、次の二つのうちどちらかではないか。 最初に作ったときより世の中の技術が発展したとき 昔のコンピュータでは収まらなかったとか、昔は良いライブラリがなかったけど、今はある、というとき。 単に今ありふれた技術で作り直すと、よいものができそう。 最初に作ったときよりはコンピュータのスペックが上がったので、そのつもりで、並列度倍に上げても止まらないし、より速く動かせる、とか。 昔はバッチで計算しないといけなかったけど、今ならリアルタイムに返せる、とか。 昔は依存管理のよいライブラリがなかったけど、今ならこれ入れたら簡単、とか。 最初に作ったときより人間の技術が発展

    作り直し - hitode909の日記
    asyst
    asyst 2015/09/08
  • YAPCの発表で紹介した本 - hitode909の日記

    YAPC発表で,良いを紹介しました オブジェクト指向入門 これは最高のです 下巻はいま在庫なかったので困る オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング) 作者: バートランド・メイヤー,酒匂寛 出版社/メーカー: 翔泳社 発売日: 2007/01/10 メディア: 単行(ソフトカバー) 購入: 11人 クリック: 307回 この商品を含むブログ (132件) を見る オブジェクト指向入門 第2版 方法論・実践 (IT Architects’Archive CLASSIC MODER) 作者: バートランド・メイヤー,酒匂寛 出版社/メーカー: 翔泳社 発売日: 2008/08/29 メディア: 単行(ソフトカバー) 購入: 5人 クリック: 97回 この商品を含むブログ (52件) を見る ドメイ

    YAPCの発表で紹介した本 - hitode909の日記
  • KAOSS DJで姉を出したり朝ご飯を選んだり絵文字を高速入力したりgit pushもできる - hitode909の日記

    最近KAOSS DJで遊んでて,きのうMIDIイベントを受け取るところまでできたので,もうちょっと知的なことをやってみる. フェーダーに応じて姉を出す クロスフェーダーの値に応じて文字を出してみる.UniMIDIでイベントを受け取って,182番のときだけ値を見てなんかする.182番はクロスフェーダの操作で,3番目にフェーダーの位置が入ってる. require 'bundler' Bundler.require input = UniMIDI::Input.first.open loop { events = input.gets events.each{|event| data = event[:data] next unless data[0] == 182 size = data[2] / 127.0 * 30 puts '姉' * size } } sketch-midi/ane.r

    KAOSS DJで姉を出したり朝ご飯を選んだり絵文字を高速入力したりgit pushもできる - hitode909の日記
    asyst
    asyst 2015/07/28
  • 気が狂った設計 - hitode909の日記

    大きめのこととか,自信のないところを触るときは,コード書く前に,こういう作戦考えてみたけどどうですかって聞いてみたり,こういうことやりたいんだけど一緒に考えませんかって,いっしょに話して設計考えたりするとよいと思う. 一緒に考えたすぐあとに気が狂った設計とか言い出したらおかしいので,未然に変な設計のままコード書いてしまうのを防げる. 特に辛い気持ちになるのが、「気が狂った設計」「クソコード」「(こんな実装は)有り得ない」といった言葉だ。 Pull Requestのレビューが辛くて会社をやめたい 単に言葉が強いのはよくないと思う.我が社にはそんな強い言葉でレビュー書く人はいない. 我が社には,普段から強い言葉を発する人もいなくて,みんな物腰柔らかな変な言葉を話している. 言葉使いや文体は,ずっと過ごしてると同僚から移ったりするので,普段からそういう言葉を話していると,全体の雰囲気も悪くなりそ

    気が狂った設計 - hitode909の日記
    asyst
    asyst 2015/07/04
  • 将来的には - hitode909の日記

    将来的には ← 将来はない時間のあるときに ← 時間はない余裕のあるときに ← 余裕はない手の空いた時に ← 手は空かないこのフィーチャーはPhase 2で ← イテレーションはPhase 1で完結する誰かやっといて ← やらない# TODO ← やらない# FIX ME ← 自分で直すことになる気付いた人が直す ← 自分で直すことになる

    将来的には - hitode909の日記
    asyst
    asyst 2015/04/12