見た。映画見たの2年ぶりとかそういうオーダーな気がする。
バットマンの文脈は一切知らないまま見たけど演出がよかった。 主人公は自分の意思とは関係なく笑ってしまう病気を持っており、場違いなシーンでもとにかく笑いを上げるのが、作品全体に不気味な雰囲気を漂わせていたと思う。
「人間失格」と通じるものがありそうだなとふと思った。どちらも悲哀があり、人生は悲劇なのか喜劇なのか、というところが共通していると思う。
今日のおすすめSlackチャンネルBOTをHeroku Buttonクリックで簡単にデプロイできるようにしました。ご活用ください。
確認画面でSlack BOTのトークンとチャンネルIDを入れればデプロイできて、スケジューラの設定をすれば毎日おすすめしてくれるようになる、という世界観になっています。
おもしろプロダクトを使ってもらうには、とにかく導入の敷居を下げることが大事だと思うので、やってみました。
あまり難しいことはしてなくて、公式ドキュメントを読みつつapp.jsonを書いてボタンを置くとだいたいできます。
Heroku Button かなりすんなり設置できたけど、1つだけハマりどころがあったので共有します。
formation
のスキーマが間違っており、GitHubにあるものが正しいapp.json validate
というコマンドでapp.jsonがスキーマに従っているかのvalidationを行うことができるのですが、以下のような身に覚えのないエラーが出て少し詰まりました。
Found an app.json file, but it's got some issues: - formation must be of array type
結論から言うと、公式ドキュメントにあるスキーマは間違っており、app.jsonのGitHubリポジトリにあるものが正しいです。
つまり、
"formation": { "web": {"quantity": 0} }
ではなくて、
"formation": [ {"process": "web", "quantity": 0} ]
のように書きます。
Slackのワークスペースが、大学のサークル、アルバイト先、研究室、と増えてきている。どれがどれかはまだ分かるけど、じぶんの発言を見るとどれも同じアイコンでそこに違いはない。
そこでワークスペースごとにじぶんのアイコンを変えてみることにした。 インターネットで普段使っているアイコンとは別のものを使うので、違いが生まれておもしろい。
フリーアイコンいろいろなところで入手できる。たとえばpixivにある。
Picrewとか使うと、パーツを組み合わせて最高かつオリジナリティのあるアイコンを作ることができて便利。利用規約には注意する必要がある。
Picrewの「かわいいおんなのこメーカー」でつくったよ! https://t.co/W24Qam6QEx #Picrew #かわいいおんなのこメーカー
— うたがわきき🔰💊 (@utgwkk) January 26, 2019
Waifu Labsとか使ったことないけど自動生成されそうなのでいかにもよさそうに見える。
サークルのSlackには、publicなチャンネルが660個ほどある。 その中には、100人以上がjoinしているチャンネルから、数人しかいないチャンネルまでさまざまある。 これだけチャンネルがあると、おもしろいチャンネルかもしれないけど人が少ない、とか、実はこのチャンネルでこんなことが話されている、みたいなことがあるかもしれない。
そこで、毎日おすすめのチャンネルをサジェストしてくれるBOTを作った。
こんな感じで、毎朝9時におすすめチャンネルを教えてもらうようにしてみた。
チャンネルのサジェストだけど、#general とかサジェストされてもおもしろくないので、人が少ないチャンネルからランダムでおすすめしてくれるようにしている。
チャンネル多すぎて把握しきれない、どのチャンネルで何を話しているのか分からない、そういった問題に一石を投じるために作りました。 実行ファイルを落として README にあるようにtokenや投稿先チャンネルを書いてやって実行すると動きます。cronとかで動かすとよさそう。ご活用ください。
今まで持っていた靴下をぜんぶ捨てて1つに統一した。 靴下、このペアは実はないとか、タンスの奥底にある、みたいな出来事ばかりが発生していて大変だったけど、統一することで生活が楽になった。
靴下の入ってるかごの先頭にある靴下を取って履けばよい。
靴下の入ってるかごの末尾に、洗濯して乾いた靴下を入れればよい。
新しく購入した靴下が、実はちょっとだけ柄が違った、みたいなことがあると破綻しそう。 そもそも、今まで使っていた靴下がこれから永久に購入できる保証はない。
靴下を買うときに既存の靴下をぜんぶ処分する運用が必要になると予想される。
ふと4年前に作ったwebサービスにアクセスしてみたところ、エラーが出ていたので、いい機会だと思いコードの修正をすることにした。
hatena-bookmark-read-all.herokuapp.com
コードとwebサービスはこれ。はてなブックマークの「あとで読む」を一気に読めるwebサービスで、4年前に はてな×ドワンゴ合同ハッカソン@京都 で作った。
はてなブックマークのAPIの仕様が変わっていてエラーを吐いていたので、とりあえず動くようにした。そのついでにコードをガリガリ書き換えていて、いくつか気づきがあった。
any(map(x.__contains__, ys))
って書いてあったらギョッとすると思うこれはハッカソンのコードですね、というところから、雑なwebサービスのコードですね、というところまで持っていくことができたと思う。 ページ遷移とくにないので、今やるならReactとかVue.jsとか使ってナウい感じに書くと思う。当時はMVVMみたいな概念は知らなくて、jQuery使ってDOMを直接いじってて手作り感がある。 まだ雑ではあって、認証失敗したらセッションをflushするのでもう一度ログインしてください、というモデルになっている。
みなさんも4年前に作ったもののコードを見直してみてはいかがでしょうか。4年経つとこうも変わるのかというのを感じられてお得だし、リファクタリングの練習になる。
先日サークルのコーディング合宿*1に参加したのですが、そのときにサークルの後輩であるnosくんとペアプロをしました。
ペアプロでやったことや感触はだいたいこのインタビューで話した通りで、この記事ではそのほかに思ったことを書きとめることにします。
VSCodeの拡張機能です。自分のVSCodeの設定を使いつつペアプロ・モブプロができます。導入方法は↓↓こちら↓↓を見てください。
Live Shareを開始すると共有リンクが生えて、それを踏むと参加できるという仕組みです。
従来、ペアプロ・モブプロといえば周りからどんどん声を上げてコードをどんどん書いていく、というモデルだったと思うんですけど、そこに直接介入できるという路線が生えたのがおもしろかったです。 自分でコードを書くので意思伝達のロスがより少なくなります。
コメントで、今こういうことをやっていてじゃあこれをやりましょうとか、こういう書き方ができますみたいなのをスッと書けるのがよかったです。こういうことを無限に口で伝えていると時間がもっとかかっていたと思います。
エディタだけでなくターミナルも共有されるのが思ったより便利で、gitのコマンドでちょっと難しいことをするとなったときに、相手のGit Bashに入っておもむろにコマンドを打つ、という行いができたのですぐに解決しました。
横だけでなく遠隔でもLive Shareが使えるようになっていて、コーディング合宿に参加していない部員の名前が書いてあるカーソルが登場するなどしていました。
現代は道具がどんどんよくなっていて、人間の方が道具について行くというモデルになっていると思っています。コーディング合宿という場でエディタの新しい機能を試すことができたのがよかったです。普段やろうとしてもなかなか機会がつかめないことがあるので、こういう機会にどんどん試したいです。