タグ

ブックマーク / hiratara.hatenadiary.jp (21)

  • 今日は YAPC::Hakodate 2024 の日でした - Pixel Pedals of Tomakomai

    昨日から YAPC::Hakodate 2024 に参加していました。今回は何も書き残すつもりはなかったのですが、せっかく会社のお金で来させてもらっているので何か収穫を持って帰らねばと思っていたら手元にメモができたので、未来の自分のためにも公開して残しておきます。 10/4 前夜祭 デジタルIDウォレットが切り開くHigh Assurance Identity Proofingの未来 / kokukuma さん high assurance identity proofing wallet を使った認証 iOS / android credential manager どんな身元確認か、仕組み resolution 情報取得, validation 検証, verification 当に人が送ったのか ホ方式 写真とその厚みなどで確認 へ方式 ICチップから読み込んだ情報で顔写真を使う

    今日は YAPC::Hakodate 2024 の日でした - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2024/10/06
  • BROMPTON図鑑に出演した - Pixel Pedals of Tomakomai

    縁あって日発売の「BROMPTON図鑑」に出演させて頂いた。見開き 2 ページを含む 4 ページを使って、所有しているブロンプトンを紹介して頂いた。 見誌を頂いたので中身も読んだが、全ページブロンプトンへの愛に溢れた素晴らしい内容になっている。紹介されているオーナーは総勢 25 人で、それぞれ個性的である。どんな人物が、どのようにカスタムをしたブロンプトンを、どういう使い方をしているのか、読んでいるとブロンプトンの懐の深さに感服するとともに、こういうこともできたのかとワクワクしてくる。他、各部名称の紹介から日初のブロンプトンを追う企画まで、ムックとは思えない贅沢な内容だった。興味がある方には購入をオススメする。 さて、出演したブロンプトンについてだが、実は 去年購入したブロンプトン ではない。今年のゴールデンウィークにもう一台ブロンプトンを購入しており、今回出演したブロンプトンはそち

    BROMPTON図鑑に出演した - Pixel Pedals of Tomakomai
  • 父が亡くなった - Pixel Pedals of Tomakomai

    1 月 11 日に父が 69 歳で亡くなった。 2020 年 8 月 3 日に動脈瘤が破裂して救急搬送され、 2021 年 10 月 17 日に再度破裂して再手術、そして、三度動脈瘤が大きくなったため年始から手術に臨んでいたのだが、難度の高い手術で予定を大幅に上回る 15 時間もかかってしまい、その後血圧が安定することはなかった。 正直に言うと、自分のショックはそこまで大きくはない。最初に倒れてからは、常に万が一の事を考えて後悔がないように行動していたし、今回の手術に関しても医者の説明などを聞いていると相当な難易度であることは想像できた。かと言って、 2 度破裂していることを考えると 3 度目も破裂すると考えるべきで、どんな難易度でも手術は受けるしかなかったわけだ。恐らく父も同じ考えで、年末年始にかけて色々と LINE が来ていた。自分で取り寄せた魚介を捌いて丼を作り、「包丁を握るのもこれ

    父が亡くなった - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2023/01/18
  • 2022年に買ってよかったもの - Pixel Pedals of Tomakomai

    結論から言うと、 brompton である。 今年の 2 月末に買ったもの だが、今でも使い続けている。 以下のグラフを見て欲しい。 2014 年から何をやっても下がらなかった体重が、コロナ禍で最盛期 77Kg まで上昇したが、 brompton を買っただけであっという間に 10Kg 以上下がっている。 brompton の良い点 brompton の良い点などはすでに以下のエントリで書いているので、それから約 10 ヶ月が経ってアップデートがあったことを書いておく。 自転車を買った - Pixel Pedals of Tomakomai 使うか使わないかよくわからなくても常に持ち歩こうと思っていた 持ち歩きは買った直後に諦めた 実は、あれから常に持ち歩いている。もう少し正確に言うと、常に自転車で移動をしている。電車に乗ろうとするから持ち歩きが大変なのであって、自転車のまま持ち歩くのであ

    2022年に買ってよかったもの - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2023/01/01
    brompton(自転車)。自転車移動で必須用具についての情報
  • TypeScriptの分配条件型 - Pixel Pedals of Tomakomai

    最近オライリーのTypeScriptを読んでいるが、型システムが頭がおかしくて(褒めてる)とても面白い。 www.oreilly.co.jp TypeScriptでは、こんな感じの型レベル関数が定義できる。以下の Extract2 は T のうち、 U であるものを展開するというものである。同様の働きをする Extract が組み込みで定義されているので、ここでは 2 と名前を付けた。 type Extract2<T, U> = T extends U ? T : never; Extract2 を使うと、例えばオブジェクト型のキーの型で、文字列であるものだけを型として取り出せる。 type O = { "name": string, "age": number, 0: number }; type A1 = Extract2<keyof O, string >; // type A1

    TypeScriptの分配条件型 - Pixel Pedals of Tomakomai
  • AVL木 - Pixel Pedals of Tomakomai

    確か、いい感じに深くなりすぎない木だよね。回転?なにそれ?みたいな状態から実装し始めたら、面倒で死ぬかと思った。 AVL Tree by Java -- これで分かったAVL木 とか AVL木の回転(要素の挿入や削除のしかた) - Qiita とかを参考に実装した。2週間くらい前から2回ほどチャレンジしてギブアップしていて、日、腰を据えて三度目の正直。コードを整形する気力が残ってないので、そのまま貼り付け。 type 'a btree = | Node of int * 'a * 'a btree * 'a btree | Leaf ;; let rotate_right t = match t with | Leaf -> Leaf | Node (bx, x, Node (by, y, ty1, ty2), tx2) -> let hty1 = by in let hty2 = 0

    AVL木 - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2020/05/05
  • WSLのubuntuにDist::Millaを入れる - Pixel Pedals of Tomakomai

    WSL のubuntuにDist::Millaを入れたときのメモ。plenv、perl5.26.1、cpanmくらいまではすんなり入った。 割と試行錯誤して入れたから、他にも必要かも。 $ perl -v This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux ..略.. # Dist::Zilla::Plugin::LicenseFromModule からの依存が漏れてそう $ cpanm JSON # SSL関連 $ sudo apt install libssl-dev $ sudo apt install openssl # nonblockingのテスト落ちてるけど諦めた $ cpanm -f --notest IO::Socket::SSL # タイムゾーン設定 $ sudo dpkg-

    WSLのubuntuにDist::Millaを入れる - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2018/05/11
  • Haskell入門という本を書きました - Pixel Pedals of Tomakomai

    Haskell入門 というを書きました。まだ店頭で買うことはできませんが、amazonでは予約を開始しています。また、電子版も早いうちに出ると聞いているので、そちらもあわせてお求め下さい。技術評論社さんのサイトではサンプルのpdfも読むことができます。 Haskellには すごいH というとても良い教科書がすでにありますが、「アプリケーションを作って楽しむ」という観点から書かれたも欲しいなということを常々感じていました1。すごいHでHaskellの考え方やプログラムの組み方は学べますが、例えば、プロジェクトを作成して開発を始めるにはどうするかであったり、必要なライブラリをどこから探してどのように自分のプロジェクトへ組み込むのかといった、開発に必要な基的な事項は自分で学ぶ必要があります。今回執筆した Haskell入門 ではとにかくHaskellでアプリケーションを作ることにフォー

    Haskell入門という本を書きました - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2017/09/17
  • 今日は「builderscon tokyo 2017 一日目」の日です - 北海道苫小牧市出身の初老PGが書くブログ

    慶応日吉キャンバスにおりますので、自分用のメモを残しておきます。 Opening / lestrrat さん 諸事情で英語(スライドは日語)。 builderscon は YAPC::Asia の直系のカンファレンス いろんな技術の話を集めたものがbuilderscon 近年、様々な技術が互いに関わり合うようになっている 新しいものを発見する場 (Discover something new) #builderscon @builderscon スポンサーランチあるよ ベストスピーカー賞投票してね パネルで写真撮ってね STAFFは腕章つけてるよ 問い合わせは Twittergoogle group のメールで LTの通知していた時間が間違っていたので、ごめんなさい LTはその場の熱意で登壇するのが一番いいです! Desktop Apps with JavaScript / fel

    今日は「builderscon tokyo 2017 一日目」の日です - 北海道苫小牧市出身の初老PGが書くブログ
    ishiduca
    ishiduca 2017/08/04
  • CoroとAnyEventを一緒に使うならunblock_subを覚えておくべき - Pixel Pedals of Tomakomai

    以前に、 なお、(2)でフロントエンドの処理を書く時は(0)のバックエンドとは逆に、AnyEventは直接使わない方が無難だと思います。理由は、AnyEventのイベントループからはCoroの層の関数が使えないからです。 Coro::AnyEventでフロントエンドをコールバックを使わずに書く なんて書いてたので、多少追記を。 CoroとAnyEventの相性 これは、非常によいです。 Coroは use Coro::AnyEvent とか明示的にしなくても、内部でAnyEventを使っています。例えば、Coro::Timer::sleepは制御を他スレッドに渡してその後自分のスレッドに戻ってくるという動きをしますが、この「自分のスレッドに戻ってくる」という動作を、AnyEventのイベントループに預けたコールバックから自スレッドのreadyを呼んで起こしてもらうことで実現しています。 C

    CoroとAnyEventを一緒に使うならunblock_subを覚えておくべき - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2014/09/05
    unblock_sub
  • 今日は「秋のエンジニアぶつかり稽古 2013」の日です - Pixel Pedals of Tomakomai

    @__kanさんを見に来てます。メモを取る必要のあるイベントかわかりませんが、一応。 行事の内田さんより YAPCでのカヤックさんの企画 かん関とあんちぽ関の取り組み 「俺の気を見せてやる」プレゼンタイム 吉高由里子と僕 / @hisaichi5518さん コピペ辛い→おじさん達となくしてる 吉高由里子さんが大好き 笑顔が素敵な女優さん 吉高由里子さんに相応しい男か 「吉高由里子 彼氏」でググる 野田洋次郎→ラッドのボーカルらしい バンドマンにはなれないけど、クリエイターなら クリエイターとは 作家、芸術家。作って発表してる人 カヤック 「WEBクリエイターの集団」 僕もクリエイターだ! 仕事では書いてないので、胸を貼って言えない 吉高由里子さんに関係するものをネットに公開→結婚 おもしろ法人にいても面白いことを言えない 「最高のハックは、日常的な問題への個人的な解決策」 ワンクリックで

    今日は「秋のエンジニアぶつかり稽古 2013」の日です - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2013/11/24
  • ペアプロの新ジャンル「ぶつかり稽古」の面白さ - Pixel Pedals of Tomakomai

    秋のエンジニアぶつかり稽古 2013で横綱級エンジニアのペアプログラミングを見てきたのだけど、これが想像以上に面白かった。他のイベントでもドンドンやるべき。 「ぶつかり稽古」はあんちぽさん(@kentaroさん)が考案した新しいエンターテインメントペアプログラミングのスタイル。単体テストを書く"受ける側"と、そのテストを通すために実装する"ぶつかる側"が交互にコードを書いて行き、聴衆はそれを観覧する。一種のライブコーディングではあるのだが、2人が実装に関わるため、事前の想定と違う方向にコーディングが進み易く、実装者のよりリアルな問題への対処方法を観察することができる。その人が普段どのようにコードを書いているかも、より正確に想像しやすい。参加者もテストを通す側の立場に立って内容を考えられるので、自分の実装と参加者の実装の癖の違いを楽しむこともできる。ぶつかる側だった@__kanさんは懇親会で

    ペアプロの新ジャンル「ぶつかり稽古」の面白さ - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2013/11/24
  • 採択されればYAPCで話すつもりの型の話について - Pixel Pedals of Tomakomai

    今年のYAPC Asia 2013にはTypes and Perl Languageというタイトルで話をしようと申し込んだのだけど、リジェクトされそうな気しかしないので話そうとしていることの概要を書いておく。なお、トークのタイトルは名著TaPLのオマージュである*1。 以下のGoのコードをきちんと型付けされていると言って、異論を持つ人は少ないだろう。 func inc(x int) int { return x + 1 } では、以下のperlのコードはどうだろう? sub inc { $_[0] + 1; } 型がないという人もいれば、実行時に型を意識しているのだから型はあると反論する人もいるだろう。しかし、さらに別の見方として、このコードは先ほどの正しく型付けされたGoのコードから型の指定をとりはらったものだとも言える。という事は、もし、GoPerlでプログラムを実行するルールが大差

    採択されればYAPCで話すつもりの型の話について - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2013/07/17
  • 今日は『Webサービスのつくり方』出版記念イベントの日です - Pixel Pedals of Tomakomai

    仕事をサボって『Webサービスのつくり方』出版記念イベントに来ていますので、適当にレポートします。結局ゆーすけべーさん不在のまま始まりました(笑)。 今日の進め方 → 参加者が紙に書いた質問に全て答える けんすうさんの案らしい ゆーすけべーさん登場 → 市役所の用事が5分で終わるはずが30分かかった、ごめん! 「すわってください」 司会の方はゆーすけべーさんのお知り合い ハッシュタグは #web_essey 司「なぜけんすうさんとゆーすけべーさんは知り合いに?」 ゆ「いつの間にか知り合い。目指す方向は近い。バックグラウンドが違う。これからのネットを支えるのは自分達の世代と言われる。ぜひ質問したい。」 け「全然覚えてない。81年産まれつながり。自分は会社を大きくして一でやりたい。ゆーすけべーはたくさんのサービス。違いが面白い」 司「このお二方はユース代表のイメージなので今日は楽しみ。」 こ

    今日は『Webサービスのつくり方』出版記念イベントの日です - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2012/12/05
  • JSON::XSで作られる浮動小数点数でハマった話 - Pixel Pedals of Tomakomai

    JSON::XSを使うと、小数は浮動小数点数にパースしてくれる。 use JSON::XS qw(decode_json); my ($double) = @{decode_json("[0.6]")}; この値、printすると "0.6" なのだけど、0.6とイコールではない。 print $double, "\n"; # 0.6 print +($double - 0.6), "\n"; # 1.11022302462516e-16 なので、直感と違う振る舞いをしたりする。 # 3 / 0.6 == 5 printf "%s / %s == %s\n", 3, 0.6, int(3 / 0.6); # 3 / 0.6 == 4 <- unexpected :( printf "%s / %s == %s\n", 3, $double, int(3 / $double); 仕方ないので

    JSON::XSで作られる浮動小数点数でハマった話 - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2012/10/26
  • 今日はYokohama.pm #9の日です - Pixel Pedals of Tomakomai

    残念ながら横浜市民ではなくなりましたが、Yokohama.pm #9に参加しています。USTはこちら。 myfinderさん - 転職して1年間(弱)やってきたこと こちらのトークは、USTなしでした。 自作サーバインフラ 引継 ケーブリング修正 サーバが落ちる問題 WEB+DB PRESSの寄稿の計画 → 寄稿 MySQLのパフォーマンス改善 → 30分のトランザクションなど web APIの整備 AWS JPAスポンサー YAPC::Asia 2012に fluentd、TreasureData 楽しいよ! kanさん - use Smart::Options Getopt::Long 標準 使い方がキモい Getopt::Compat::WithCmd けっこう複雑 opts Smart::Argsをパクry 型の変換 optimist(node.js) 直感的、きっちりも使える S

    今日はYokohama.pm #9の日です - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2012/10/21
  • Moose::RoleはJavaのInterfaceなんかじゃない - Pixel Pedals of Tomakomai

    Moose::RoleはJavaのInterfaceと似たような物だと思ってたんですが、大きな誤解でした。 モダンPerlの世界へようこそを読んで、Moose::RoleはTraits: Composable Units of Behaviorの概念の実装らしいことがわかったので、この論文を読んでみました。*1。非常に面白い内容でした。P.12 の a) と b) を見るだけでも、この概念の面白さが伝わるんじゃないかと。要は、指定した振る舞い(requires)から新しい振る舞い(provides)を作るものが、Traitsってことです。(ただし、ここで言う振る舞いにはアクセサを含みます。) 誤解していたこと Moose::RoleをTraitsとして見なすとすれば、JavaのInterfaceの性質である以下の2点は誤解です*2。 Moose::Roleは、単なるインタフェース(API)

    Moose::RoleはJavaのInterfaceなんかじゃない - Pixel Pedals of Tomakomai
  • Tatsumaki でブラウザベースの Twitter Streaming - Pixel Pedals of Tomakomai

    それってHamakiなんですが、試しに作ってみたので一応。ただし、Tatsumakiは、 This is considered as alpha quality software. Most of the stuff are undocumented since it's considered unstable and will likely to change. You should sometimes look at the source code or example apps in eg directory to see how this thing works. Tatsumaki なので自己責任で:-p 後、このエントリより eg/chat を見た方が勉強になりますw Tatsumaki概要 TatsumakiはPlackとAnyEventをベースにしたTornadoっぽくWE

    Tatsumaki でブラウザベースの Twitter Streaming - Pixel Pedals of Tomakomai
  • 任天堂の #codepuzzle がすばらしい出来だった - Pixel Pedals of Tomakomai

    任天堂のコードパズルを裏までクリアしたので感想を。 Let's take tea break. Code Puzzle / Nintendo これ、実は経緯を知らずにやってたのだけどPyconJP2012の配布物に入っていたものらしい*1。任天堂公式の配布物だけあって、クオリティが非常に高い。序盤は簡単な問題から始まり、通常のクリアまでは1時間半程度。前の問題を踏まえて徐々にレベルが上がる。サイトのセンスも良いし、ヒントも適度に充実していて、非常に楽しく遊べた。 その後、あることをすることで裏ルートが始まる。いわばこの裏ルートからが当のゲームの始まりで、ここからいきなりヒントがなくなって投げ出される。それでも、じっくり考えればわかるという絶妙な難易度調整。わかったときの「ああ、そうか」と思えるのも、きちんとした伏線がいろいろ貼られている賜物だろう。 最終問題ははっきり言ってこの手の*2問

    任天堂の #codepuzzle がすばらしい出来だった - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2012/09/19
  • Plack::Middleware::WebSocket and Web::Hippie - Pixel Pedals of Tomakomai

    YAPCで@clkaoさんのトークを聞いて興味が湧いたので、Plack::Middleware::WebSocketのechoのサンプルをWeb::Hippieを使って書き換えてみました。 書き換え方はこんな感じ。 Web::Hippieのよいところ WebSocketだけでなく、Multiple XMLHttpRequestやlong pollにも対応している AnyEvent::Handleを意識しなくてよい Web::Hippieのいまいちなところ Mooseへ直接依存している(Mouseが使えない) イベントハンドラはPSGIアプリケーション*1 後、これらは所詮はMiddlewareなので、WAFが持つような機能は期待できません。ルーティングやテンプレートエンジンは別の方法を探す必要があります。 *1:クライアントからのデータを受け取った時のハンドラがPSGIアプリケーションなの

    Plack::Middleware::WebSocket and Web::Hippie - Pixel Pedals of Tomakomai
    ishiduca
    ishiduca 2012/05/15