week

週報7月1週目

大雨 鴨川がかなり水位が高まっていて怖かった。 ICPC国内予選 4完49位。うっかりG問題に手を出してしまってE問題を解き損ねた。チームメイトに申し訳なし。 嘘喰い 500話全話無料を期間の最終日に知ってしまった。5時間で全話読むのは辛かった… moonwalk 安くカクテルを飲める店。お酒をほとんど飲まないので全て初めて飲んだ。 電気ブラン 偽電気ブラン(オリジナル) 赤玉ポートワイン マティーニ ダイキリ グラスホッパー マティーニがすごく好きだった。ベルモットの香りがとても好み。 赤玉は甘くて美味しかった。子供の頃想像していたワインの味がする。 ワインは甘くなさすぎて少し寂しい気持ちになっていた。 次 GADTの型推論 (いろいろ足りなくて大変) 証明の宿題

  • wass
    wass
1 min read
week

週報6月4週目

週報1ヶ月目 steamサマーセール OneShotを買ってプレイした。主人公が可愛いので好き。 mincaml進捗 TupleのEvalとTyping実装したら思い出してきた。 うろ覚えコンビニ選手権 部内ポッドキャストでやった。 元ネタ→https://nuwton.com/feature/8901/ ICPC模擬 終了30分後にD,Eもあってそうな状態になったのでぼちぼち‥ 実装スピードは今からはどうしようもなさそう。 次 GADTのTyping Coq ICPC

  • wass
    wass
1 min read
week

週報6月3週目

願書を書いた えらい インターンの面談 うけた 部内podcast 部内公開のpodcastの録音2回目をやった。自分のアウトプットの下手さがわかる。— wass (@wass80) 2018年6月22日 毎週とある友達とくだらない内容で話して、15分に編集して公開している。 アウトプットの下手さが身にしみてわかるのでつらい。 10回はしようと思っているので、その中でどこまで改善できるか。 次回予告 GADTむずい… ICPC直前なので実装の練習

  • wass
    wass
1 min read
week

週報6月2週目

豚の煮込み 40分の煮込みでは柔らかくはならない うどん打ち 加水率がかなり低かったので、讃岐うどんと言うよりダブルラリアット的な麺ができました。 うどん打ってます pic.twitter.com/GwXWl2J7ib— 📛:tofu_on_fire:📛 (@Kazakami_9) 2018年6月12日 クソポンチ絵 日本の深刻な課題に対してクソポンチ絵スライドを作り、プレゼンするゲーム。 忖度タイムというシステムが面白かった。 これはクソポンチ絵を作る天才の作品。課題はウナギの減少。 Rust勉強会 Programing Rustの輪読の担当回だった。 Crates and Modules。Rustのエコシステムはよくできている。 来週 GADTのEvalの実装

  • wass
    wass
1 min read
week

週報6月1週目

週報をブログに書くことにしました。 ウボンゴ3Dの5ピース問題 ウボンゴの3Dというボードゲームがあります。 このゲームは示されたブロックを組み合わせて、枠からはみ出ないように2段で作るゲームです。 もともとは4ピースを組み合わせて形を作るものです。 このウボンゴ3Dの5ピース問題を作るプログラムを書きました。 ウボンゴ3Dの問題 (ブロックを3段積んでください) pic.twitter.com/8yOg6ogBGC— wass (@wass80) 2018年6月3日 パズル好きな部員には好評で、1問に数時間溶かす姿を眺めることができました。 もしかしたら同人的に問題集を販売するかもしれないです。 リポジトリ mRuby時計 時計のプログラムを改良したので、実行できるmRubyのバイナリサイズが飛躍的に増えました。 時計にslackから画像を表示できるようになりました。 時計に画像が出せるようになった pic.twitter.com/U7VpD8yiqa— wass (@wass80)

  • wass
    wass
1 min read

Rubyのtrace命令の話を確かめる

こんばんは。 この記事はKMCアドベントカレンダー23日目の記事です。大遅刻です。 前日の記事はprimeさんの ビット演算マニアのためのAVX512入門 【KMCアドベントカレンダー 22日目】 - prime's diaryです 明日の記事はtetsutalowさんの 3つの事件で振り返る「何をやったらウイルス罪で捕まるか2017」 - Tetsu=TaLowの雑記(はてブロ版)です 本題 Ruby 2.5 の改善を自慢したい インターンの講義でお世話になった笹田さんの上の記事を読みました。 その記述を確かめながら小ネタにしようと思います。 次の素朴なコードのベンチマークを見てください。 require 'benchmark' Benchmark.bmbm 10 do |r|

  • wass
    wass
6 min read

Cookpadインターン参加記 または 東京観光

Cookpadインターン2017に参加していました。 その時の行動ログを写真とともに残しておきます。 Cookpadには社食というものはなく, 代わりにキッチンがあります。インターン前半の講義フェイズでは, お昼ごはんは人事さんが作ってくださいました。どれも美味しかったです。 特にこのキーマカレーはとても美味しかったです。残ったカレーを講義終わってから温め直して食べました。講義中はこの事以外考えてなかった気がします。 インターンの初週が終わると, はじめてのコミケがありました。初日だけ参加しました。KMCのブースと辺りの技術系ブースを眺め, ボカロCDを何枚か買いあさりました。 とあるボドゲ会にお邪魔することができました。東京に来てしばらくボドゲができていませんでした。そのため, 11時間連続でボドゲしたこの日はとても満足しました。 翌日, KMCの仲間とともに謎の大会に参加しました。ボドゲの筆記テストあり, キャプテンリノを高く積み上げ, よくあるジレンマ問題をやり, 交渉のゲームでは無になりました。こういう気楽な遊びは神経を使わなくて本当に楽しいです。 スカイツリーを下から眺めました。京都タワーとそれほど変わらない気もしました。しかし, 京都駅に帰ったところ京都タワーはめちゃくちゃ低いことに気づきました。 一番恋しかったのはハイライトのチキンカツですね。代わりになるものを探して一番近かったのは浜勝のチキンカツでした。 Cookpadのキッチンで唐揚げを作りました。

  • wass
    wass
3 min read

バイトをやめた

いわゆる退職エントリです。 大学でRとbashで遺伝子データの解析を1年超やってました。 辞めた理由は1ヶ月のインターンに行くためです。 インターンの後も学部3,4回生はそれなりに忙しいのもあります。 学部生は大学で働いても専門性が加味されず, あんまりお金にならない。 遺伝子学の分野は実験(WET)と解析(DRY)の混合になります。WETとDRY両方に精通している人間は多くないようです。僕はもちろんDRY。実験室は一度見たきり。 マウスやヒトのリファレンスゲノムってかんたんにダウンロードできるんです。ヒトの実際のAやらGやらCやらTやらを眺めるのは面白かったです。自分もこれとほとんど同じなの不思議に感じます。あと, 誰の遺伝子なんだろう。リファレンスゲノムは時々アップデートされるので, 誰か1人のというわけではなさそう。 辛かったのはR言語。Rを使う必要が何故あるのかというと, 生物系のRのライブラリリポジトリがあり, そこのライブラリにはたいてい論文がついています。代わりが効きにくいのです。 Rに触れた最初はかなり苦痛でした。言語仕様と標準ライブラリはもれなくクソです。tidyverseライブラリ群にはかなり救われました。tidyverseとforeach使ってればRはマスターしたと言っていいと思います。(あといくつかの統計的モデルのライブラリが必要) tidyverseを使う中でRはメタプログラミング言語という事に気づきました。

  • wass
    wass
2 min read

ICPC国内予選2017参加記

こんにちは。3回生のwassです。 ICPCに参加したのでそのログを残しておきます。 僕は競プロから1年以上退いて, 活動としては部内のプロコンに月に1回程度参加するぐらいでした。 そのため実装はチームメイトに任せることにしました。 A: やってもらった。 B: やってもらった。焦って誤読しあってしまったのは良くなかった。みんなで同じ問題読む大事さを忘れていた。 C: やるだけ。やってもらった。 D: 困った。全探索解法部分はわかるが, bitDP部分でつまずく。半嘘解法を思いつき実装しているチームメイトを眺めた。オーダーがnだけ余計にかかる解法のため実行に時間がかかっていたらしい。 E: Dを実行しながらEを僕が実装することになった。構文木の全列挙で間に合うことがわかる。構文木のデータ構造を作らずに探索する方法は気づかなかった。構文木を素直に全列挙し, 恒等式判定をする実装をした。実行がコンテスト終了に間に合わなかった。あとで確認すると実装は合ってたっぽい。Dではついてた-O3を忘れていたのは事故。 G: 右手法で探索をすれば行けるやろという気分ではいた。だけ。

  • wass
    wass
1 min read

部室に温度センサーとかつけて監視する

こんにちは, KMC2回生のwass80です。 この記事はKMC Advent Calendar 2016 21日目の記事です. 昨日の記事はtronくんの「Neutron 買ってみたのは いいけれど……」でした。記事タイトルが575ですね。 明日の記事はbase64くんの「いい感じのメドレーを自動生成したい」です。自分がもやりたかったことやられたので, 後でいい感じコミットぜったいしたる。 今回はRaspberryPi3 ModelBを買ったので, 使って部室の監視をしたいと思います。 概略図 Raspberryにつながった温度センサーの値をfluentdでinfluxDBに送りつける。 grafanaでグラフを表示。 用意するもの Amazon RasberryPi3 B microSDHCカード 秋月 BME280使用 温湿度・

  • wass
    wass
5 min read
event

ISUCON6本戦を復習して勉強する

ISUCON6お疲れ様でした。とても楽しかったです。 :innocent:チームは順位表で😇と表示されていました。 これは運営の方がわざわざ実装をしてくださったらしいです。 絵文字のチームが増えると 🍣と🍺問題 が起こりうるのでやめましょう。 競技中のポータルサイトの右上に現れる"Hello, 😇"は面白かったです。 ぜひこの絵文字を結果発表で前に大きく出したかった。 :innocent:チームは与えられた実装よりスコアを下げてしまいました。 全くもって付け焼き刃が通らないという様子で作問者の思惑通りに手のひらの上で転がされた感じになりました。チームの3人の知識を合わせて0.01人の量に満たないことがわかったので, これから勉強していきたいと思います。 docker上で実行されているrackアプリにrack-lineprofileを仕込むという戦略を最初に予定していたのですが, 実行したところ一切のログが残らず混乱をしてしまいました。プロファイルを取る方法を失い, nodeでのボトルネック具合もよくわからないので, 問題点を追求できなかったです。 その場合でもCPU時間を参考にすればよかったです。 今回はチーム内での分担も行うことが出来ず, 問題に取り組む効率が最悪だったと思います。 全体の構成図を最初に書いておけば方針の決定に役立ったと思いました。 本番中はreactやらSSEやらSSLやらでかなり打ちのめされていました‥。 やることがたくさんあるとてもいい問題だったので,

  • wass
    wass
1 min read
event

ISUCON6予選学生枠通過しました

びっくりしました。 :innocent:チームのチームメイトはKMCの同期の @utgwkk くんと先輩の @yu3mars さんでした。お疲れ様でした。 やったことは, GET /が遅くてSCOREが0 とりあえずhtmlifyの無駄を関数をくくりだして呼び出しを減らす。 すべてのカラムを使っていないSelect *を削減。 POST /starが遅くてSCOREが0 データベースを直接問い合わせる。疎結合なにそれおいしいの。 静的ファイルのキャッシュ utgwくんが調べてやってくれた。 GET /keyword/が遅い 難敵。utgwくんのProfileによるとここが他の100倍ぐらいの律速。 原因は動的生成される長大な正規表現gsub。 自分で実装書き換えるのは試したけど厳しかった。 頭が冷えていれば, まずテストケースを作るところからやるべき。 だけどそんな筋力がない。アホコラは競プロでお願いします。 終了一時間前に pattern

  • wass
    wass
1 min read
event

RubyKaigi 2日目のメモ

話を聞きながら, 拙いリスニング力のメモなので, 信頼しないでください。 1日目 day 2 [A] Fearlessly Refactoring Legacy Ruby Justin Searls @searls 既存コードを維持しながらその振る舞いを保存して, リファクタリング時に変化を検出する仕組み。 Refactoring Patterns Testは大事だ Characterization Test(Unit Test) A/Bテスト suture : Refactors as Surgeries 以前の振る舞いを記憶しておいて, 変化が起きれば警告する 以前の振る舞いの結果の比較を指定できる なんで今と昔の結果の比較が2引数関数なんだ?

  • wass
    wass
3 min read
event

RubyKaigi 1日目のメモ

話を聞きながら, 拙いリスニング力のメモなので, 信頼しないでください。 2日目 Day1 [A] Ruby3 Typing Yukihiro "Matz" Matsumoto @yukihiro_matz 型を書かなくても, 実行時の情報も使ってコードの検査ができるのではという提案。 振る舞いがあっていればいいDuckTyping GoのInterfaceによるStructural Subtypingは振る舞いを見ているだけでシンプル。 実行時エラーが不親切 ドキュメンテーションが書きにくい 型書くよね? コンパイル時チェックしない型アノテーションってどうなの?(Python3) MixedType GradualType 一部分にだけ型 → 一部でも書きたくない 型推論で良いんじゃないの? → 柔軟性がない 頭のなかの式から振る舞いを推論する Rubyの仕組みと相性は良くない気がする

  • wass
    wass
3 min read

天下wiki武道会を見てきた

天下wiki武道会 本物のwikiエンジンを見せてくれ 発表者の半分以上の方が自作wikiをつくられていた。 wikiと個人blogを一サイトで提供するサービスがあった。 ストックとフローをうまく組み合わせるために, blog→wikiの引用が提供されると便利そうだった。 Wikipediaでは自己研究は好まれない。 blogの研究をwikiにまとめるという使い方ができればそれと違った独自性がありそうだ。 wikiのページ間のつながりをどのように見せるかも注目だった。 被リンクのページを大きく表示・分類することで, 参照関係を逆にたどりやすくする仕組みは, 思いもしないつながりが発見されて興味深かった。 wikiの記法の標準になっていたmarkdownの欠点も指摘されていた。 一つに, markdownはスマホから打ちにくいという声があった。 markdownの最もよく使う記号は#だと思う。 スマホでこの記号を打つのは確かにめんどくさい。 それなら, 行頭スペースの数でタイトルを宣言することもありかもしれない。 置換も大変になるからだめか。 PukiWikiのバージョンが1.5.1に上がったらしい。 PHP7に対応したので速度が2倍になるようだ。 それでも全文検索は遅い。 PHPだけで高速化するのは面倒そうだ。

  • wass
    wass
1 min read