EnterJam「ザ・ノイジーズ」のRSSを勝手に配信する

EnterJamのPodcast番組「ザ・ノイジーズ」が面白い。 しかし、なぜかたまにしかRSSが更新されないため聴くのがちょっと面倒。 というわけで、勝手にノイジーズのRSSを配信することにした。 https://the-noises-podcast.herokuapp.com/rss 上記のURLをPodcast…

寝る間にタンパク質を摂ると良いとかいう話

本当かよ?と思って調べてみたら、元ネタっぽい論文を見つけた。 「Protein ingestion before sleep improves postexercise overnight recovery.」 この論文によると、就寝する30分前に(カゼイン)プロテインを摂取した被験者は、しなかった被験者に比べて体…

Friction Labsの話

via Chalk Talk Podcast 質の高いクライミング用チョークメーカーとして知られるFriction Labsのファウンダーが出演したChalk Talk Podcastのエピソードが面白かったのでメモ。 聞き間違いしているところがあるかもしれないので悪しからず。 Q. 君らに科学的…

最近のこと

なぜか所沢市に引っ越しをする。 住民票を所沢市に移したところ、市役所の窓口で西武ライオンズの観戦チケットをプレゼントしてもらった。すごい。 最寄りのボルダリングジムはBaseCampに。 グレーディングは甘め?な感じもするけど、面白い課題が多いので通…

最近の体のこと

年末だし最近の体の調子について、とりとめもなくまとめてみる。 体重 54.5~56.5kgを推移。 最近は55.0kgぐらいに落ち着いてきたので、とりあえずは54.0kgを目指したい 食生活 野菜多め + デザートにヨーグルトがデフォルトの食生活に変更したところ、ウン…

最近読んだ本

ヒューオールダシー=ウィリアムズ「人体の物語: 解剖学から見たヒトの不思議」 人体の物語: 解剖学から見たヒトの不思議 (ハヤカワ・ポピュラー・サイエンス)作者: ヒューオールダシー=ウィリアムズ,Hugh Aldersey‐Williams,松井信彦出版社/メーカー: 早川書…

Exercism.ioでプログラミングを学ぶ

Exercism.ioは、 演習問題を解く コードレビューを受ける コードを修正する というフィードバックループを通してプログラミングを学ぶためのWebサイトです。 Clojure, CoffeeScript, C++, C#, Elixir, Erlang, F#, Go, Haskell, JavaScript, Lua, Objective-…

動画で学ぶボルダリング フットワーク

3Qが登れるかどうかぐらいのレベルからまったく上達しない@ninosekiです。 フットワークを改めて勉強するために解説動画をまとめてみました。 How to Use Heel & Toe Hooks | Rock Climbing ... ヒールフック、トゥフックに関する解説。英語だけど聞き取…

Padrinoでの設定情報の管理法

Padrinoで設定情報を管理する良さ気な方法がないか調べた。 何個かPadrinoを使ったアプリのソースを見てみたけど、@udzuraのhaircutで実装されたやり方が一番しっくりきたのでメモっておく。 設定ファイル(YAML)の作成 config/配下に設定ファイル(YAML)を配…

連続した日付をまとめたい

2014-01-01,a 2014-01-02,b 2014-01-03,c 2014-01-04,d 2014-01-06,e 2014-01-07,f 2014-01-09,g 2014-01-11,h こういう一列目に日付が入ったCSVデータがあるとして、日付が連続している期間をこんな感じでまとめたい。 2014-01-01 - 2014-01-04 2014-01-06 …

ネストしたモジュールを書く場合の注意点

rubyflow経由で読んだ「How You Nest Modules Matters in Ruby」の内容を紹介する。 ネストしたモジュールを記述する際、シンタックスの違いで挙動が異なることについての記事だ。 Rubyではネストしたモジュール(とクラス)を記述するために2つの異なるシンタ…

高浜運河沿緑地を歩く

港区 高浜運河沿緑地を歩く。全周は約2.6km。 品川のオフィス街と東京海洋大学を隔てている運河、というとわかりやすいか。 高浜運河沿にはSCEや東洋水産、フィリップスなど有名企業のオフィスビルが並ぶ。 このためか、平日昼間にはぼっち飯を楽しむ人たち…

Hash Selectorパターン

「Hash Selector Pattern」を読んだ。 if / elseやcase / switchよりもHashを使用したほうが可読性が上がるよねという事例が紹介されている。 # if / elseの場合 if flash[:type] == :success 'alert-success' elsif flash[:type] == :error 'alert-danger' …

ザ・ノイジーズのRubyクライアントを作った

EnterJamのポッドキャスト番組「ザ・ノイジーズ」が面白いっすねー。 けど、何故かRSSフィードの更新が滞っていたり過去の放送分のエントリが含まれいなかったりして不便だったので、Rubyでダウンロード専用クライアントを作りました。 インストール $ gem i…

2013年度に飲んだビール(全115銘柄)を振り返る

どうも。若きアル中ことUntappdユーザーの@ninosekiです。 今年度はよくビールを飲んだな~ということで、2013年度に飲んだビールの総まとめを行いたいと思います。 2013年度に飲んだビール一覧(全115銘柄) ブルワリー 銘柄 種別 アルコール度数 飲んだ回数 …

open-uriによるダウンロード状況をプログレスバーで可視化する

日本語での情報があまりなかったのでまとめておく。 なお、プログレスバーのライブラリとして ruby-progressbar を使用した。 require 'open-uri' require 'ruby-progressbar' URL = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.1.tar.gz" content_l…

セキュリティのためのEffective Logging

Websec.ioの 「Effective Security Logging with Monolog」 というエントリが参考になったので要点を紹介する。 いつ・なにをロギングするか ユーザーアクション & 管理(ログイン、ログアウト、プロフィールの更新、権限の変更) リクエストに関する情報(ホス…

「ジムに通う人の栄養学」のメモ

ジムに通う人の栄養学 (ブルーバックス)作者: 岡村浩嗣出版社/メーカー: 講談社発売日: 2013/03/20メディア: 新書この商品を含むブログ (1件) を見る 「ジムに通う人の栄養学」を読了。 以下、プロテインまわりの知識をメモ。 なお、ここで言う「プロテイン…

スイーツ(笑)なクールジャパン

クールジャパン推進会議で金美齢がスイーツを推しまくっていて、ちょっと引いた。 クールジャパン推進会議 第1回 たまたま、台湾の人に2つのことを相談されました。1つは、台湾で非常にレベルの高い洋菓子屋さんをやりたい。それは日本とタイアップしなけ…

NICTの「サイバーセキュリティ戦略(案)」に対するパブコメ読んだ

番号 枝番号 提出者 該当ページ 概要 26 5 個人 21 日本語による独自の基本ソフト(OS)の研究・開発を推奨してはいかがでしょうか。ITは英語と切っても切り離せないことが抵抗感を生じさせている一因と感じています。日本語のプログラムソースによる基本ソ…

葛西臨海公園でマテ貝を採取してきた

葛西臨海公園に到着。 西なぎさへ。 シャベルで地面をえぐって、マテ貝がいそうな穴があったら塩をふりかける作業を繰り返した。 500mlのペットボトルいっぱいになる量のマテ貝を採取完了。 これは楽しい。

AtCoder Regular Contest #004

http://arc004.contest.atcoder.jp/ A, B問題だけ。 それ以降はわかりませんでした。(馬鹿 A - 2点間距離の最大値 ( The longest distance ) n = gets.chomp.to_i points = [] n.times do points << gets.chomp.split( " " ).map{ |e| e.to_i } end max = 0.…

Japan Brewers Cup & Festival 2013

横浜の大さん橋ホールで行われているJapan Brewers Cup & Festival 2013に行ってきた。 混雑を予想してたけど、金曜の夜はそれほどでもなく。 以下が飲んだビールのリスト。 Outsider Brewing / ペールエール 熊澤酒造 / 湘南ピルスナー アウグスビール / To…

AtCoder Regular Contest #002

http://arc002.contest.atcoder.jp/ A, B, C問題だけ。 A. うるう年 def is_leap_year(year) if year % 400 == 0 true elsif year % 100 != 0 and year % 4 == 0 true else false end end y = gets.chomp.to_i puts is_leap_year(y) ? "YES" : "NO" B. 割り…

AtCoder Regular Contest #001

http://arc001.contest.atcoder.jp/ A, B問題だけ。 A, Bは楽勝でささっと解けたけど、C以降に取り組む気にはなれず・・・。(馬鹿 A. センター採点 n = gets.chomp.to_i answers = gets.chomp.split "" hash = Hash.new 0 answers.each do |answer| hash[ans…

Codeforces Round #169 (Div. 2)

http://www.codeforces.com/contest/276 A, B問題だけ。 A. Lunch Rush n, k = gets.chomp.split(" ").map{ |e| e.to_i } ans = -10000000000 n.times do f, t = gets.chomp.split(" ").map{ |e| e.to_i } tmp = nil if t > k tmp = f - (t - k) else tmp = …

Codeforces Round #166 (Div. 2)

http://www.codeforces.com/contest/263 A, B問題だけ。 A. Beautiful Year require 'set' def is_disinct_digts(digits) set = Set.new digits return true if set.length == digits.length false end y = gets.chomp.to_i ans = nil for i in 1 .. 9000 do…

Codeforces Round #161 (Div. 2)

http://www.codeforces.com/contest/263 A, B問題だけ。 A. Beautiful Matrix x, y = 0, 0 for i in 0 .. 4 do cols = gets.chomp.split(" ").map{|n| n.to_i} for j in 0 .. 4 do if cols[j] == 1 x = j y = i break end end end puts (2 - x).abs + (2 - y…

Codeforces Round #160 (Div. 2)

http://www.codeforces.com/contest/262/ またまたA,B問題だけ。 A. Roma and Lucky Numbers n個の整数値からなる配列が与えられる。 配列に含まれる数字のうち、各桁の"4"と"7"の合計がkを超えないものの数をカウントせよ。 n, k = gets.chomp.split(" ").m…

Codeforces Round #159 (Div. 2)

http://www.codeforces.com/contest/257 またもA, B問題だけ。 A. Sockets 英文を読み解くのに時間がかかった・・・。 def solve(n, m, k, a) return 0 if k >= m a.sort_by! {|x| -x} socket = k - 1 for i in 0 .. (n - 1) return i + 1 if (a[i] + socket…

SeleniumのPageObjectパターンを学ぶ

SeleniumにおけるPageObjectパターンとは、ページを1つのオブジェクトとしてとらえるデザインパターンの1種のこと。 PageObjectパターンを使用してSeleniumを使ったテストスイートを構築することで、コードの重複化を防ぐことができる。 PageObjectパターン…

Codeforces Round #158 (Div. 2)

http://www.codeforces.com/contest/260 A,B問題だけ。 A. Adding Digits def op(a, b) for i in 0 .. 9 do c = a * 10 + i return c if c % b == 0 end -1 end a, b, n = gets.chomp.split(" ").map{|n| n.to_i} c = op(a, b) if c == -1 puts -1 else puts…

ボルダリング #2012inReview

今年の4~5月くらいにクライミングシューズ(スポルティバのコブラ)を買って、週1~2くらいのペースでジムに通ってた。 その甲斐あってか、体脂肪率が23%ぐらいから18%まで落ちた。体重は約7kg減。 よかったよかった。 ボルダリング自体の腕前は、4~5級の課…

Codeforces Round #156 (Div. 2)

http://www.codeforces.com/contest/255 A,B問題だけ。 A. Greg's Workout n = gets.chomp.to_i a = gets.chomp.split(" ").map{|n| n.to_i} chest = 0 biceps = 0 back = 0 0.step(n, 3) do |idx| chest += a[idx] if not a[idx].nil? biceps += a[idx + 1]…

Codeforces Round #154 (Div. 2)

http://www.codeforces.com/contest/253/ A,B問題だけ。 A. Boys and Girls 少年(B)と少女(G)の数がそれぞれ与えられる。 できるかぎり異性が隣合うようにしながら一列にならべる。 $stdin = File.open("input.txt") $stdout = File.open("output.txt", "w")…

Codeforces Round #152 (Div. 2)

http://www.codeforces.com/contest/248 またもA,B問題だけ解いた。 A. Cupboards 問題文を読み解くのに時間がかかった・・・。 左右のドアの開閉状況(Open = 1、Close = 0)が与えられる。 左右それぞれのドアをすべてOpen/すべてCloseで揃えるために必要な…

Codeforces Round #151 (Div. 2)

http://www.codeforces.com/contest/246 とりあえずA,B問題は解けた。 C~Eはこれから挑戦してみる。 A. Buggy Sorting n >= 2のとき以外は降順に整列した配列を出力すればいいだけ。 n = gets.chomp.to_i a = (1 .. n).to_a reverse = a.reverse if n <= 2 …

Codeforces Round #147 (Div. 2)

http://www.codeforces.com/contest/237 A,B問題だけ解けた。 A. Free Cash 同時刻に来店するお客の最大数を求めるだけ。 n = gets.chomp.to_i hash = {} n.times do v = gets.chomp if hash.has_key? v hash[v] += 1 else hash[v] = 1 end end puts hash.va…

Coderforces#137 (Div. 2 - A)

Rubyの勉強がてらにCodeforcesの問題を解いてみた。http://www.codeforces.com/contest/222/problem/A def solve(k, a) t = a[k - 1] # kより後ろの配列 other = a[k - 1 .. -1] other.each do |i| if i != t return -1 end end c = 0 (k - 1).downto(0) do …

Coderforces#139 (Div. 2 - A)

最近プログラミングしてなかったので、頭の体操がてらにCodeforcesの問題を解いてみた。 http://www.codeforces.com/contest/225/problem/A def solve(x, faces) faces.each do |a, b| if (a == b) or (a == x) or (b == x) or ((a + b) == 7) or ((a + x) =…

CoffeeScriptの内包表記を学ぶ

基本 arrayのループにはfor inを、objectsのループにはfor ofを使用する。 例 players = ["Jorge", "Leandro", "Tanaka"] for player in players console.log player # インデックスを含む場合 for player, index in players console.log "#{index}, #{playe…