タグ

ブックマーク / blog.yugui.jp (50)

  • 新型コロナウイルス接触確認アプリのソースコードを請求してみた - 世界線航跡蔵

    厚生労働省の「新型コロナウイルス接触確認アプリ」が公開された。 かねて話題になっていたように、ある程度匿名性を保ったままbluetoothで他のデバイスが近隣に留まったことを認識する方式らしく、割と安心できそうかと思う。 またITMediaの記事によればCOVID-19 Japanという有志によるオープンソースプロジェクトを元にしているそうだ。 ただし、記事を読む限りでは完全にオープンソースプロジェクトそのままというわけではなく「COVID-19 Radar」の技術を核として厚生労働省がベンダーに開発を委託したとある。 そうなると、いくつか気になる点がある。 「COVID-19 Radar」のソースは公開されているからプライバシー等への懸念がある場合にはそれを読んで確認すれば良い、というような意見もあるが、「COVID-19 Radar」と「新型コロナウイルス接触確認アプリ」がその点におい

    新型コロナウイルス接触確認アプリのソースコードを請求してみた - 世界線航跡蔵
  • 転職エントリ(1年後) - 世界線航跡蔵

    Nianticに転職して1年あまりが過ぎた。 2018年の9月からNianticで働いているのだが、そういえば転職エントリーを書きそびれていた。 転職して以来、相変わらずサーバーサイドの開発をしていている。なお、開発しているのはIngressでもPokémon GOでもハリー・ポッター:魔法同盟でもない。 Nianticとの関わり Ingressは2014年12月から続けていて、Pokémon GOも日での正式リリース日からぼちぼちやってきているものの、それにしてもNianticで働くようになるとは思ってもみなかった。 Pokémon GOがなんかえらく流行り始めたときも、自分とは関係ない話だと思いつつGoogle Maps時代の知り合いが何人か関わっているのを思い出して無責任に祝福していたぐらいである。知り合いへのご祝儀のつもりでポケコインを1万円分ぐらい買って、行動圏内にルアーモジュ

    転職エントリ(1年後) - 世界線航跡蔵
  • ブロックによるRuby内DSLの起源 - 世界線航跡蔵

    時代とともにRubyの使われ方は変わってきましたが、いつの頃からか発生したDSLのホスト言語としての役割にはずっとお世話になってます。人に優しく、故にプログラマ以外にも優しく、これがとてもRubyらしくて好きな点です。 #ruby25th— Yuki Yugui Sonoda (@yugui) 2018年2月24日 僕にとってRubyはfluentdやchefのための言語ですが、プラガブルなOSSエコシステムであったり、強力なDSLを作りやすかったりするところにその魅力を感じます。特にfluentdは大好きなOSSで、Mackerel運営でもかなり参考にさせてもらっています。 #ruby25th おめでとうございます!— songmu (@songmu) 2018年2月24日 DSLは当に感動したところなんだけど、DSL開発ツールとしてのRubyが「発見」されたものなのか意図されたものな

    ブロックによるRuby内DSLの起源 - 世界線航跡蔵
  • 若い性同一性障害者への助言 - 世界線航跡蔵

    改名もしたし、ホルモン療法も続いているし、会社に甘えた感じではあるもののとりあえず社会生活はできているし、そんな感じで少し身の回りが落ち着いてきた気がする。ここらで、私より若い世代の、特に小中学生ぐらいで性同一性障害の方を対象に、今まで私が思ったことをまとめてみる。 まず、「性別違和を感じているなら、恐れることなくそれについてよく考えなさい」ということ。 思春期に一時的に自己の性別を受認できなくなるという例は確かにあるらしい。そして、性同一性障害であるというのは現状で確かにハンディキャップではあるから、だからそのことを認めて社会的に不利になるのが恐ろしくて、「今の自分の状態(性別違和)は一時の気の迷い」と思いたくなってしまう人がいるのは分かる。 でも、物心付く以前から、あるいは小学生ぐらいから、あるいは、特に二次性徴が始まってから、性別違和を自覚するようになって、そして性同一性障害と診断さ

    若い性同一性障害者への助言 - 世界線航跡蔵
    yuiseki
    yuiseki 2018/01/04
  • APIデザインケーススタディ —— Rubyライブラリを移植する前に読む本 - 世界線航跡蔵

    APIデザインケーススタディ 』というを頂戴したので読んでみた。 ライブラリ作者に向けて このRuby標準ライブラリを題材にして、分かりやすく、多様な機能をサポートして、互換性を保つAPIの設計をするにはどのように考えるべきかを教えてくれる。 ここでAPIと言っているのは、一般的なRubyのクラスとオブジェクトとメソッドから成るライブラリをどうデザインするか、という話である。 別にChef RecipeやRSpec DSLのようなちょっと変わったDSLを設計するとかそういう話ではない。確かにその種の言語内DSLのデザインには固有のセンスが必要とされるし、 Ruby DSL Handbook なんてが書かれているように実装にあたってもある種のテクニックが必要なのも確かだ。でも、それ以外の「ふつう」のライブラリのデザインは果たして簡単だろうか。 適切な粒度のクラスを定義する。必要な

    APIデザインケーススタディ —— Rubyライブラリを移植する前に読む本 - 世界線航跡蔵
    yuiseki
    yuiseki 2016/01/07
  • Dockerで何が変わるのか - 世界線航跡蔵

    DockerCon 2014 に行ってきた。 この会期中には各社からいくつもの製品が紹介/発表された。そして、それによってクラウドという技術は次のステージに移行したと言っても過言ではないだろう。 より自由にユーザーがクラウドベンダーを選べる時代へ。どうやってクラウドにうまくデプロイするかではなく、アプリケーションそのものに注力できる時代へ。 Dockerとは Docker とはいわゆるコンテナ技術の1つで、Linuxホスト環境の中に隔離された別のLinux環境を作ってくれる技術だ。 軽量仮想マシンと呼ばれたりもする。 Solaris Container とも似ている。 新しくないDocker 1つ述べておくとDocker技術的には新しくない。Dockerの価値は技術以外にある(とDockerCEODockerConで言ってた)。 技術的にはSolarisにはSolaris 10の頃か

    Dockerで何が変わるのか - 世界線航跡蔵
    yuiseki
    yuiseki 2014/06/15
  • fluentdを勉強中 - 世界線航跡蔵

    最近はlog collectionというと fluentd が話題らしいというので、少し触り始めている。 多少は分かってきたように思うので理解したことと、理解できていないところをまとめてみようと思う。 fluentdとは何か オフィシャルサイトには"tool to collect events and log"と書いてある。 要するに、サーバー群から継続的に情報を吸い上げるための仕組みを提供するdaemonである。 この「情報をかき集める」という枠組みは今時のサーバーサイドでは頻出パターンだ。 データベースサーバ、アプリケーションサーバー、フロントエンドキャッシュサーバー, ...と役割分担をするのが普通だし、 アプリケーションサーバーだって負荷分散のために複数インスタンスを持つのが当たり前だ。 そしてこれらサーバー群をきちんと管理するためには様々な情報をかき集めてきて一カ所に保存したり集

    fluentdを勉強中 - 世界線航跡蔵
    yuiseki
    yuiseki 2014/02/03
  • 光目覚まし時計 - 世界線航跡蔵

    ムーンムーン(moon moon) 光目覚まし時計 OKIRO(オキロー) 光で起きてスッキリ目覚め シルバー 出版社/メーカー: ムーンムーン(moon moon)メディア: 購入: 2人 クリック: 12回この商品を含むブログを見る 光目覚まし時計というものを初めて買った。騒音でなく光によって目覚めを図るというものだ。2ヶ月ばかり使っている限りではなかなか好印象だ。OKIROという直球な名前も一周回ってセンスよくすら感じる。定価は39,000円だけど、Amazonではもっと安く売ってたし。 私はもともと睡眠時間が長いたちで、日常生活を送っているとなかなかその体質に足るだけの睡眠時間を毎日とることは難しい。 それで起きられなくて目覚まし時計に頼る訳だけれども、生半可なものでは起きられない。新しい目覚まし時計を買うとしばらくは起きられるが、一週間ぐらい経って新しい機体の操作に慣れると半ば眠

    光目覚まし時計 - 世界線航跡蔵
    yuiseki
    yuiseki 2013/03/07
  • 良い相続人であるために - 世界線航跡蔵

    翔泳社の「君のために選んだ1冊 ソフトウェア開発の名著」という企画に寄稿を依頼されて、以下のような文章を書いた。ブログ等で公開して良いとのことだったのでここに公開したいと思う。 この企画は他の人の分を読むのが楽しみだ。早くができあがらないかな。 ちなみに「 きっと何者にもなれないお前たちに告げる 一冊」というタイトルを最初に思いついたけれど、長く読み継がれるであってほしいという企画の趣旨を鑑みて流行のネタを使うのは避けた。 yuguiがレガシーコードに絶望した人に贈りたい一冊 - 『レガシーコード改善ガイド』 レガシーコード改善ガイド (Object Oriented SELECTION) 作者: マイケル・C・フェザーズ,ウルシステムズ株式会社,平澤章,越智典子,稲葉信之,田村友彦,小堀真義出版社/メーカー: 翔泳社発売日: 2009/07/14メディア: 大型購入: 45人 クリ

    良い相続人であるために - 世界線航跡蔵
    yuiseki
    yuiseki 2011/12/23
  • 転職のお知らせ - 世界線航跡蔵

    世間は地震により慌ただしい。震源地近くの被災者の方にはお見舞いを申し上げる。 この最中に、個人的な報告を投下するのはちょっと憚られるものもあるのだけれども、あまり時期を外しても書く機会を逸するので思い切って書くことにしよう。 1月一杯で約3年務めた 株式会社スケールアウト を辞め、3月1日から Google Japan で働き始めた。twitterでは大勢の方に祝っていただき有り難い限りである。 Googleについては特に語ることはない。みんなが知っているし、私もまだみんなが知っているようなことの他は僅かしか知らない。だからスケールアウトについて語ることにしよう。 株式会社スケールアウト スケールアウトは広告配信エンジン/広告在庫管理システム/広告入稿システム/広告案件管理システムをフルスタックの製品「ScaleAds」を提供するスタートアップである。 創業 創業者の山崎大輔さんは、元はY

    転職のお知らせ - 世界線航跡蔵
    yuiseki
    yuiseki 2011/03/15
  • テクノロジーの世界の女性のロールモデルについて考えてみた - 世界線航跡蔵

    最近、「テクノロジー(あるいはオープンソース)の世界で目立つ女性というのは珍しい」 というようなことを言われることが何件か重なった。「 Rubyがそろそろ一回終わってみるべき10の理由 」とか、その他何件かね。 その重なりは私に、何か色々なことを考えさせた。考えたことについて何とはなしに書き下してみようと思う。 前提と社会 何とは言ってもオープンソースの世界で活躍しようと思ったら、それが好きでなければならない。そりゃあ、今時はオープンソースを積極的に貢献し、それを利用しようとする企業も少なくない。しかし、開発コミュニティには沢山の、開発が好きで好きで仕方が無くてそれに時間を努力を惜しまない人々がいる。その中でなにがしかをなしとげようと思ったら、やっぱり「業務命令だから」じゃなく「好きだから」でなければやっていくのは難しいだろう。 で、ソフトウェア開発が好きで好きで仕方がない女性ってのはどれ

    テクノロジーの世界の女性のロールモデルについて考えてみた - 世界線航跡蔵
    yuiseki
    yuiseki 2010/12/08
  • Rubyの変数スコープがキモい件 - 世界線航跡蔵

    記事を書くにあたってRubyの変数スコープを考えれば考える程気持ち悪く思えてくる。 ダイナミックスコープは慣れれば後置修飾子以外はあまり困らないんだけど、やっぱりブロック変数が気持ち悪すぎる。それから、制御構文はスコープを導入しないのにブロックは導入して、class/defに至っては外側のスコープを継承しないっていうのが気持ち悪い。 まぁ、これは関数ベースの発想に毒され過ぎなんだけど。Rubyは第一にはオブジェクト指向であって、非オブジェクト的構造化言語の性質は(Kernelモジュールとかで)シミュレートされているだけだし、関数型言語の性質はほんのり残ってるだけ。関数型っていう意味であればPythonのほうがまだ近いよね。 Rubyはクラスベースのオブジェクト指向言語なんだから、classやdefが特権的であって、そこでまったく新しいスコープが入るのはまぁ、わからんでもない。でもなー、クラ

    Rubyの変数スコープがキモい件 - 世界線航跡蔵
    yuiseki
    yuiseki 2010/10/30
  • 松江行 - 世界線航跡蔵

    RubyWorld Conference 2010 で発表を依頼されて松江に行ってきた。基的には 先の記事 に書いたとおり、 Ruby会議2010 同じような内容の発表である。RubyWorld Conferenceのほうはgeekばっかりじゃなくもっとビジネスよりの人、行政の人、研究機関の人、いろんな人が集まる集まりなわけだけれども、その中でRuby開発側の立場として、健在の状況をお話ししてきた。 9月5日 羽田から米子に飛んで、そこから松江に向かう。この飛行機は知り合いが沢山乗ってた。宿は主催側で手配してくれたので色々楽だ。宿に向かう途中、大場(寧子)さんと通り道にある造り酒屋を巡って試飲してお土産を買うなどした。 その後、発表者一同に合流。レセプションパーティーの料理がとっても美味しゅうございました。 9月6日 この日からconference番が始まったのだけれども、会場が寒い。

    松江行 - 世界線航跡蔵
    yuiseki
    yuiseki 2010/09/09
  • Ubuntu 10.4で端末をシリアルポートにしてみた - 世界線航跡蔵

    Ubuntu 10.4をインストールしたPC/AT互換機を、端末としてシリアルポートを使うように設定してみた。最近はクライアント環境としてはMacBook Proを専ら使っていて、他のマシンにはSSH経由で入ることが多いので、ディスプレイやキーボードは邪魔なだけだ。メンテするときもUnixワークステーションの類はMacにUSB-Serialアダプタを挿してシリアルで繋ぐので、PC/AT互換機もそれに合わせたい。 基的には Remote Serial Console HOWTO に従う。 設定をミスしたときのためのブートディスクは作らなかったけど、安全を期すならやっぱり作った方が良い。 このマシンのBIOSはシリアルポートに出力する機能が見あたらなかった。BIOSをシリアル経由で扱うのは諦める。 このマシンにはシリアルポート3は存在しないので、ttyS2を無効化する手順は必要なかった。 ブ

    Ubuntu 10.4で端末をシリアルポートにしてみた - 世界線航跡蔵
    yuiseki
    yuiseki 2010/06/28
  • 私は乗り越える。私を乗り越えよ。 - 世界線航跡蔵

    岩城保さんの「 左利きは身体障害か 」を読んだ。岩城さんが挙げる3つの段階にあわせて、私が為そうとしているGIDへの取り組み、活動家というものの意味あいについて考えてみる。 性同一性障害者への認知を広げ、社会適応を良くするということを考えたとき、前例として参考になるのは黒人公民権運動、フェミニズム、ゲイ・リベーションである。ところで、この組合せには見覚えがある。黒人、女性、同性愛者といえば合衆国の報道における3大圧力団体である。 これらの人々については、認知運動が成功してきたが故に圧力団体が機能し得ている。かつては機能しなかったし、いずれは機能しなくなるだろう。 段階1: 認知されていなかった状態 岩城さんの論では「左利きは当に身体の障害だと考えられていた」状態に当たる。whiteとcoloredの区別は自明視され、あらゆる局面における性別による役割分担が自然なものとされ、同性愛者は異常

    私は乗り越える。私を乗り越えよ。 - 世界線航跡蔵
    yuiseki
    yuiseki 2010/04/12
  • Rubyの呼び出し可能オブジェクトの比較(1) - 世界線航跡蔵

    Rubyにはコード片を表すオブジェクトが複数ある。 Method , UnboundMethod , Proc である。 Continuation は少し違うけど、実行コンテキストを記憶しているオブジェクトという意味では近いものがあるか。『 Ruby Way 』にはこういういろいろがあることについて「驚くほどのことではありません」と書いてあるけれども私は驚いた。で、これらが微妙に違うのだ。困ったもんだ。いや、便利なのかもしれないが。 それで今回はこれらの概要を眺めてみたいと思う。 普通のメソッド defでメソッドを定義するのが一番普通だやな。 class C def greeting(arg) puts "C#greeting reveived #{arg}" end def iterator yield 'iterator 1st' yield 'iterator 2nd' yield

    Rubyの呼び出し可能オブジェクトの比較(1) - 世界線航跡蔵
  • はまちちゃんと脆弱性報告のあり方 - 世界線航跡蔵

    はまちちゃん がいつものごとく、AmebaなうにCSRF脆弱性を発見して いたずらを仕掛けた 。そして、何故か今回だけ「それは迷惑行為だ」とかなんか騒がしい。 私はそもそも、はまちちゃんのいたずらを「隙があったからカンチョー」に喩えるのが程度がおかしいんじゃないかと思う。それで非技術者には話が通じていないのでは? CSRFやSQL Injectionを許していたら、何よりも守るべきユーザーの情報が危険だ。そしてAmebaがそういう脆弱性を持っていると言うことは、生越さんが指摘するように首相官邸からの公式情報を操作できるという意味だ。これは「隙があった」んじゃないだろう。「開腹したまま内臓が露出している」んだ。 ところが、どうも現実の医師とは違ってこの世界の、特にAmebaみたいな大きな会社の開発者はその辺の意識が甘い。「手術したけど、まー、内臓が見えててもすぐに死ぬ訳じゃないし、適当に皮被

    はまちちゃんと脆弱性報告のあり方 - 世界線航跡蔵
    yuiseki
    yuiseki 2009/12/13
  • ソフトウェア工学という謎 @ 2007年08月 @ ratio - rational - irrational @ IDM

    前にも似たようなことを書いたけど、もう一度。 " Web+DB Press "を読んだ。祝40号だそうだ。乙。「小飼弾のAlpha Geekに逢いたい」の中で、Dave Thomasが言ってる。 ソフトウェアエンジニアというものはありません……(中略)これ以上削れないというところまで削るのがエンジニアリング。……(中略)まだソフトウェアに関して我々はそのレベルには達していないんです。 そう。これは疑問だったんだよね。Daveは「まだありません」という立場みたいだけど。 ハードウェア開発がソフトウェア開発よりもよく工業化されているとは思えないんだけど、どうしてソフトウェア開発をハードウェア'''生産'''のように工業化しようという発想が出てくるのかな。ソフトウェアの工学なる奇抜なアイディアが、極限定的かつ特殊な状況で成功した事例はあるにしても一般化できるという根拠をどこに見いだすのかな。 と

    ソフトウェア工学という謎 @ 2007年08月 @ ratio - rational - irrational @ IDM
    yuiseki
    yuiseki 2009/12/04
  • 空セマンティクスのオーバーロード - 世界線航跡蔵

    Rubyには nil がある。Smalltalkから継承した知恵の1つである。 今更Rubyistには言うまでもないが、これはマクロに過ぎないCの NULL やオブジェクトではないJavaの null とは一線を画すものだ。C#の中の人が null を反省して「 nil いいなぁ」と言っていたらしいけれども、とにかく nil は良いものだ。 これはデフォルトのNull objectである。RubyにおいてもNull objectパターンは健在だが、「何らかの出力できるオブジェクト」でよい程度の軽量なケースにおいては、わざわざNull objectを定義しなくともデフォルトのNull objectとして nil を使うことができる。だから、その意味ではRubyではNull objectパターンは「当たり前」であると言ってもよいかもしれない。 空セマンティクス Null objectは何らかの

    空セマンティクスのオーバーロード - 世界線航跡蔵
    yuiseki
    yuiseki 2009/09/26
  • プログラミング言語の進化の方向 - 世界線航跡蔵

    セキュリティ&プログラミングキャンプ のBoFで、笹田さんがやってたセッションで話したことがある。言語の進化はベストプラクティスの取り込みにある、と。 ベストプラクティス取り込みの歴史 計算可能である事柄を計算するだけが問題であるなら、チューリング完全な言語なら何でも良いということになるし、不完全な言語は出る幕すらない。ラムダ計算からの自然なマップを考えるならS式で書いて何か実行すれば良いんだし、最小のプリミティブから出発するのが目的ならLazy Kなんかもいいかもしれない。 でも、工学的要請からは、計算可能関数が等しく計算の対象となるわけではない。そして、ある種の計算の傾向、パターンに対して「こうすればいい」「こう考えればいい」「こう設計すればいい」というベストプラクティスが生まれてくる。プログラミング言語の歴史を眺めていると、経験の中から立ち現れるベストプラクティスを取り込んだものが多

    プログラミング言語の進化の方向 - 世界線航跡蔵
    yuiseki
    yuiseki 2009/09/22