新型コロナウイルス接触確認アプリのソースコードを請求してみた

厚生労働省の「新型コロナウイルス接触確認アプリ」が公開された。 かねて話題になっていたように、ある程度匿名性を保ったままbluetoothで他のデバイスが近隣に留まったことを認識する方式らしく、割と安心できそうかと思う。 またITMediaの記事によればCOV…

巨大数論の面白み ―― 現代思想 「巨大数の世界」

現代思想 2019年12月号 特集=巨大数の世界 ―アルキメデスからグーゴロジーまで―作者:鈴木真治,フィッシュ,小林銅蟲,詩野うら出版社/メーカー: 青土社発売日: 2019/11/28メディア: ムック 『現代思想2019年12月号 特集=巨大数の世界』を読んだ。かのフィッシ…

転職エントリ(1年後)

Nianticに転職して1年あまりが過ぎた。 2018年の9月からNianticで働いているのだが、そういえば転職エントリーを書きそびれていた。 転職して以来、相変わらずサーバーサイドの開発をしていている。なお、開発しているのはIngressでもPokémon GOでもハリー・…

福井行

IngressのField Testがあるので福井に行ってきた。 Field Testは国内でも数か所で実施されるのでどこに行こうか結構迷ったのだけど、結果としては福井で正解であった。なんだか、自分でも思った以上に福井と縁があったので、終始それを感じて楽しめたのであ…

時間管理研修の話

ある社内研修の一コマだった。 私は受講対象者ではないんだけど、良く覚えていない謎の理由によりオブザーバーとして参加していた。 ちょうど講師が「重要でなく緊急でもないもの」「重要でないが緊急のもの」「重要だが緊急でないもの」「重要で緊急のもの…

ブロックによるRuby内DSLの起源

時代とともにRubyの使われ方は変わってきましたが、いつの頃からか発生したDSLのホスト言語としての役割にはずっとお世話になってます。人に優しく、故にプログラマ以外にも優しく、これがとてもRubyらしくて好きな点です。 #ruby25th— Yuki Yugui Sonoda (@…

Corporate Reliability Engineering

最近、SRE - Site Reliability EngineeringのアナロジーとしてCorporate Reliability Engineeringというのを考えられないかみたいな話を社内でしている。 SREは伝統的なシステム運用チームの仕事を再定義したものだ。SREはシステムの安定だけを至上目的にす…

はてなブログに引っ越した

ここ何年か自作のブログシステムrhianoletheでブログをホストしていたが、とうとう耐えきれなくなったので、はてなブログに引っ越した。 主なリソースについてはすべて旧URLからのリダイレクトを提供しているつもりだが、取りこぼしがあったらアクセスログを…

Jsonnetでwebアプリケーションの設定ファイルをテスト可能に

最近、Jsonnetを用いてwebアプリケーションをデプロイする際に適用する設定群をテストしようとしている。今やInfrastructure as a Codeと言われて久しく、アプリケーション配備の基盤構成もそ...

情報技術による変革の道のりを思う

www

祖父母と話していて、ちょっと調べて本を読んで考えれば分かることに対してなぜいつまでも堂々巡りの思考を巡らしているのだろうと思うことが良くあった。 学生時代に工場生産や農...

APIデザインケーススタディ —— Rubyライブラリを移植する前に読む本

『APIデザインケーススタディ』という本を頂戴したので読んでみた。この本はRuby標準ライブラリを題材にして、分かりやすく、多様な機能をサポートして、互換性を保つAPIの設計をする...

次世代webカンファレンス

www

次世代webカンファレンスのserver_archセッションでお話することになった。 イベント趣旨にある「答えの出ていない問題を登壇者が話し合う」というのが面白そうであり、当日はどのよう...

Ruby-Jsonnet

最近Jsonnetを触っていて、とりあえず公式のC++ライブラリをラップしたRuby拡張ライブラリを書いてみた。 合わせて、QiitaにJsonnetの解説記事も書いてみた。

grpc-gateway機能ひとめぐり

次のような項目が設定できる。 HTTP request pathのパターン(+ HTTP method)とgRPCメソッドの対応関係 例では全部POSTで受けているが、任意のHTTPメソッドを利用できる Protocol Buffers messageのどの部...

Automation Account Pattern

ContextThe service you are developing provides APIs for users. When an user calls an API, (s)he must show a short-living authorization credential, e.g. an OAuth2 token.The user creates, owns, updates or deletes resources in the service on …

Automation Accountパターン

コンテキストあなたが開発しているサービスはユーザー向けにAPIを提供している。そして、APIを利用するにはユーザーは短寿命の認可情報(たとえばOAuth2トークン)を提示しなければならな...

grpc-gateway更新

先日公開したgrpc-gatewayだが、gRPCのメーリングリストで宣伝したらGoogleからフィードバックがあったので対応した。実はGoogleは社内にgrpc-gatewayに似た仕組みを持っていて、RESTful APIとgRPCの...

gRPC-JSON proxy

grpc-gatewayというgRPCからJSON APIへの変換プロキシ生成機を書いた。 これを使えば社内のmicroservicesはgRPCで通信しつつ公開APIはJSON APIで提供する、みたいなことが簡単になる。背景gRPCの良い...

Managed VMsに移行

今までこのblogはVPS上で動作させてきたが、この度Managed VMsに移行した。 Wikiと全文検索は一時的に利用不能になっているが、他はそのまま動作しているはずだ。主な動機はいまどき個人blo...

言語処理100本ノックを敢えてRubyで (3)

20. JSONデータの読み込みrequire 'json' uk = File.foreach("jawiki-country.json"). map(&JSON.method(:parse)). find {|article| article['title'] == 'イギリス' } raise "no article about イギリス" unless uk puts uk['text'] 感覚的なものだけど、こ…

言語処理100本ノックを敢えてRubyで (2)

10. 行数のカウントp $<.count !sh wc hightemp.txt $<の仕様はまさにこういう処理を書くために考えられている。 が、今回に関しては普通ならわざわざ書かずにwcを使う。11. タブをスペースに置換$<.each_line do |line| puts line.gsub(/\t/, ' ') end !sh …

言語処理100本ノックを敢えてRubyで (1)

言語処理100本ノックを(飽きるまで)やってみるにあたり、敢えてRubyで書いてみる。基本的にはPythonを想定しているらしいし、そもそもNLPライブラリの充実度から言ってもPythonを使うのが極めて妥当な選択といえるだろう。そこを敢えてRubyで。00. 文字列の…

アンダースタンディング・コンピュテーション

『アンダースタンディング・コンピュテーション』を監訳者の笹田さんから頂戴したので、読んだ感想をまとめてみる。この本はRubyを用いて計算理論を紹介しようというものだ。具体的には次のようなトピックを扱っている。 形式的意味論 操作的意味論 表示的意…

Dockerイメージのフォーマット

問: Dockerイメージはどういうフォーマットなのか 答: 特定のフォーマットはないが転送時はtar 以前の記事では、Dockerはアプリケーション動作環境のファイルステムをまとめて差分転送できると書いた。 ではこのディスクイメージはどういうフォーマットなの…

Heroku本を読んだ

『プロフェッショナルのための実践Heroku入門』をざっと読んだ。コンパクトにまとまっていて良い本だと思う。 Herokuの概要、各言語の開発環境セットアップ、Herokuを用いたアプリケーションの開発サイクル、デプロイの仕組み、Addon, Herokuアーキテクチャ…

libchanを読んだ

libchanを読んだのでまとめてみる。

Dockerで何が変わるのか

DockerCon 2014に行ってきた。 この会期中には各社からいくつもの製品が紹介発表された。そして、それによってクラウドという技術は次のステージに移行したと言っても過言ではないだろう。 あのサンフランシスコのホテルで、サーバーサイドの歴史は変わった…

fluentdを勉強中

最近はlog collectionというと<URL:http://www.fluentd.org/|fluentd>が話題らしいというので、少し触り始めている。 多少は分かってきたように思うので理解したことと、理解できていないところをまとめてみようと思う。fluentdとは何かオフィシャルサイトには"tool to collect events and log"と</url:http://www.fluentd.org/|fluentd>…

環境に優しい難読コード

ぼちぼち忘年会やクリスマス会のシーズンとなってきた。そんなパーティーの1つに出欠の連絡をしなければならない場面があったのだけど、どうやらネタ回答を期待されているらしかったので次のように回答した。puts [[->(&f){->(n){f[f[f[f[f[f[f[f[f[f[f[f[f…

Ubuntu 12.04 preciseをaufs rootにした

表題のようにaufsをroot filesystemとしてマウントしてみたので、手順をメモする。経緯最近DNA940という面白い機器を手に入れた。なんでも本来は産業用機器のベースとして使用することを想定した機体で、中身はx86ベースの基板にGbE×4やらコンソールポートや…