Ruby

Rubyでバイナリデータに対するrindex検索の挙動でハマったので調べたことメモ

自分の手元の環境でこんなことが起きた。 $ ruby -v ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin21] $ irb irb(main):001:0> "\x01\x80\x00\x00".index("\x01") => 0 irb(main):002:0> "\x01\x80\x00\x00".rindex("\x01") => 1 \x01 は 0…

Google Code Jam 2017: Qualification Round

プログラミングコンテスト Google Code Jam。 以前にAOJを始めた ものの 情けないことに結局2週間くらいで止まってしまい、それ以来ずっとこれ系からは離れてしまっていたけど、Code Jamは何故か毎年チャレンジしている(毎回すぐ予選落ちしてるけど)ので、今…

TOKYO IDOL FESTIVAL 2016 のタイムテーブル画像化ツールを作った

日本最大規模のアイドルの祭典・"TOKYO IDOL FESTIVAL"(通称TIF)。 今年は明日からの8/5〜8/7の3日間の日程で、始まります。 TOKYO IDOL FESTIVAL 2016 で、こういったフェスってステージが複数あって観たいステージが幾つもあるなか、どの時間にどれを見る…

画像内から検出した顔領域をImageMagickで固定サイズに切り出す

TensorFlowでのDeep Learningによるアイドルの顔識別 のためのデータ作成 - すぎゃーんメモ の記事で書いているけれど、学習用データとして使うために収集した画像から「顔の領域」だけを切り出して「固定サイズ」(112x112など)に切り出す必要があって。以前…

TensorFlowでのDeep Learningによるアイドルの顔識別 のためのデータ作成

続・TensorFlowでのDeep Learningによるアイドルの顔識別 - すぎゃーんメモ の続き、というかなんというか。 前回までは「ももいろクローバーZのメンバー5人の顔を識別する」というお題でやっていたけど、対象をより広範囲に拡大してみる。 様々なアイドル、…

String.uptoは引数によって挙動が違う

irb(main):037:0> ("\x00" .. "\x7f").to_a.size=> 128irb(main):038:0> ("\x00" .. "\x80").to_a.size=> 58なんで減るん??バグってない??2015-10-16 16:04:09 via Twitter Web Clientという呟きがあって。たしかに実行してみるとそうなる。 irb(main):0…

react-routerでsingle pageなrails scaffold

React をちょっと触ってみたい、というのと 最近すこし Ruby on Rails も勉強はじめた、ということで、rails g scaffoldで作るような管理画面のViewを react-router を使ってSingle Page Applicationで作ってみた。 https://react-router-scaffold.herokuapp…

Heat mapで動きが活発な地域を可視化する

Ingressの話。 先月 にA14になり、もはやGold Medalは不要になったしGuardianはキッパリ諦めることにした(Max Time Portal Heldが19 daysで壊される、というのを3回経験した…)わけだけど。実際のところ自分の活動圏付近でどのあたりで入れ替わりが激しくてど…

アイドルさんのブログやTwitterをローカルに保存する

背景 非ドルヲタの方々は知らないと思うけど、世の中にはものすごい数のアイドルが存在しており、毎日どこかで誰かが歌って踊って頑張っている。笑顔と元気を届けてくれるアイドルちゃんたちはみんな成功して欲しいけど、必ずしもそうなるとは限らない。卒業…

アイドル現場情報をGoogleカレンダーから集約するWebアプリを作った

背景 非ドルヲタの方々は知らないと思うけど、世の中にはものすごい数のアイドルが存在しており、毎日どこかで誰かが歌って踊って頑張っている。 笑顔と元気を届けてくれるアイドルちゃんたちはみんな成功して欲しいし応援したいし会いに行きたいけど、そも…

げんきだしてbot

@sugyan げんきだして!2013-02-06 21:50:53 via Twitter for Mac to @sugyanって自分で言うの面倒なので自動的に励ましてくれるbotが欲しいと思って。 https://github.com/sugyan/genki-bot 今ならherokuでUserStreamとか使ってネガティブワードに反応してt…

Heroku上からService Account認証でGoogle APIにアクセスする

Googleの様々なAPIを叩く際、認証にOAuth 2.0を用いる。 Using OAuth 2.0 to Access Google APIs | Google Identity Platform | Google Developers 使用する場面やパターンによって以下のような6つのシナリオが想定されている。 Login Web Server Applicatio…

#isucon2 のお手伝いをしました

昨年は参加者として出場して楽しませていただいた、ISUCON。 #isucon で優勝したチームのメンバーとして参加してた - すぎゃーんメモ 今年は奇しくも開催側の会社に転職したということで、参加者としてではなく運営側としてお題作りなど裏側に関わっての参加…

以前作ったSinatraアプリをPadrinoで書き直した

ももクロの人気上昇ぶりをグラフで可視化する - すぎゃーんメモ という記事で作ったアプリをちょっと作り直した。 Sinatra + pg + Haml というかんじでシンプルなSinatraアプリでpgから直接SQLを叩いて云々してhamlでレンダリング、というかたちだったものを…

目からビームの画像をTwitter/Facebookに投稿できるようにした

目からビームな画像を生成するWebサービスを作った - すぎゃーんメモ face.comのdetect APIを使ったら目からビームが捗った話 - すぎゃーんメモ の続き。ファイルを永続化させていないので、結果ページをTwitterとかに貼られてもいずれ消えてしまって404にな…

face.comのdetect APIを使ったら目からビームが捗った話

目からビームな画像を生成するWebサービスを作った - すぎゃーんメモの続き。 6月27日発売、ももいろクローバーZの「Z女戦争」。ついにMVも公開されました。 自分の中では最高にツボっていて、どストライクです。これはヤバい。大好きです。 発売まであと2週…

目からビームな画像を生成するWebサービスを作った

ももいろクローバーZのニューシングル「Z女戦争」が6月27日に発売されます。Z女戦争(初回限定盤A)(DVD付)アーティスト: ももいろクローバーZ出版社/メーカー: キングレコード発売日: 2012/06/27メディア: CD購入: 4人 クリック: 433回この商品を含むブログ (…

CP932など特殊な文字を含むHTMLをスクレイピングする

Shift_JISで書かれたHTML、例えば下記のような文書をスクレイピングする場合。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>title</title> </head> <body> <div id="contents"> <div>1.ほげ</div> <div>2.ふが</div> <div>3.ぴよ</div> </div> </body> </html> Content-Typeは下記のように返されるとする。…

ももクロファンが思い出を語って共有できるWebサービスを作ってる話

僕がももいろクローバーZと出会ってから、もうじき1年になる。 ももいろクローバーZにハマっている件について - すぎゃーんメモ この1年の間でも多くのライブやイベントがあり沢山の思い出が生まれ、そして多くのモノノフ(ももクロファンの通称)仲間が出来た…

ももクロの人気上昇ぶりをグラフで可視化する

「最近、ももクロの人気が急上昇中。」とだけ盲目的に言っていてもアレなので、参考になる資料を用意したく。 ちょうど最近ファンの間で「メンバーのブログへのコメント件数が増えているよね」というのがあったので、その推移をグラフで可視化してみた。 htt…

rbenvの切り替えの仕組み…と、他言語での実験

rbenvを使ってみる - すぎゃーんメモの続き。 現時点でのrbenvのバージョンは0.2.1。 rbenvを使っていると.rbenv-versionファイルの有無でrubyコマンド打ったときに実行されるrubyが違うものになる、というのがちょっと新鮮で、これはどういう仕組みで動いて…

rbenvを使ってみる

Rubyまだ全然まともに触ったことなくて詳しくは知らないけど、最近はrvmよりrbenvを使う方が流行っているような噂を聞いた気がするので、ちょっと使ってみた。 Mac OS Xならhomebrewで入れることもできたようだけど、よく読んでなくて自前でやってしまった。…

第379回 PTT を聴きに行った

先週の話ですが。 http://www.ci.i.u-tokyo.ac.jp/~sasada/ptt/arc/379/index.html Quine ruBy - まめめも という記事がとても面白くて、Perl版やJS版を書いたりしてみたことがありまして、そんな縁で追いかけていたid:ku-ma-meさんが発表されるということで…

atig.rbを使ってみた

atig.rb - Another Twitter Irc Gatewayをつくってみたよ - みずぴー日記 id:mzpさんがatig.rbというのを作ったそうで、早速使ってみた。 さくらインターネットのサーバーではsqlite3-rubyというのを入れようとするとエラーになっていたので下記を参考にして…

Ubuntu上のtiarraでtig.rbとwig.rbを動かした

先日ようやく自宅サーバーでtiarraを動かしたので、そこでtig.rbとwig.rbを動かした。予想外に苦戦… Tiarraを使ってみる - すぎゃーんメモ tig.rbとwig.rbはIRCでTwitterやWassrのタイムラインを表示させたりPOSTしたりできるIRC Gateway。このあたりを参考…

焼肉ワンライナー

YAKINIQUEST - ヤキニクエスト 焼肉 焼き肉 様から取得 $ perl -MLWP::Simple -le '/東京/ and push @a,$_ for split($/,get "http://www.yakiniquest.com/-/all"); print $a[rand @a]' 最新焼肉番付 --東京焼肉ものがたり-- 様から取得 $ perl -MLWP::Simpl…