monolog

monora log #=> ものろーぐ

2015年の投稿

Google 日本語入力 で和英変換ができる辞書を公開しました

雑記

作ったというか既存のものを3行書き換えただけなのですが……。

たまに、ちょっと単語を英訳したいとなることがあって、そういった時に重宝する辞書です。

read more »

金の金でwhywaita

雑記

この記事は whywaita Advent Calendar 2015 の 23日目の記事です。
昨日は @twismiko 先輩の ぼくの行きつけのお店とwhywaita – Coyote vs Loadbalancer でした。
恋カケ はまだ終わっていませんが星奏ちゃんって子は良い子だと思うんですよね。

記事タイトルは  whywaitaの金でピザ で生成しました。?

whywaita-gold-gold

さて、この記事ではそんな whywaita 先輩について雑多に書いていこうと思います。

1.知りあったのは……

とりあえず章立てを書いたは良いのですが、そもそもどういう経緯で知り合ったんでしたっけ……?
初めて会ったのは 2013年6月の Twitter で、互いに共通の知り合いである方と電通大の話をしていたときに、そこに興味を持って突然フォローしてきたのが始まりなんじゃないかと思います。
ログなんかを漁って見ると、おそらく 2013/6/19 20:51:24 – 20:52:14 の間にフォローされたのかな、と推測されます。
2013/6 というと、まだ先輩が 1年で入学直後(なはず)で、めっちゃ若いな〜〜みたいな気持ちになります。実験つらそう。

2.突然の出会い

そんな whywaita 先輩と初めて会ったのは、2013年8月に行われた プログラミング生放送勉強会第25回@品川 だったと思います(うろ覚え)
あの時は完全に大学3年とか4年とかなんじゃないかと思っていた記憶がうっすらありますが、まだ学部1年だったんですね。

このころの @whywaita の呟きはこんな感じでした。

なんか今より若干若い感じですね。なるほど。

その後も Dentoo.LT #5 に参加して会った気がしなくもないような。
( なんやかんやで電通大に入るきっかけになったのはこのイベントな訳ですがそこは割愛 )

3.そして先輩へ

そして突然月日は流れ、2015/4 に僕は電気通信大学に入学を果たすことになります。
入学翌日あたりの新歓で MMA に顔を出した時の whywaita 先輩の驚きっぷりは今でも覚えてます。
そしてめでたく??? whywaita先輩の後輩になったわけです。分からなくなってきた。

4.せーんぱいっ

{ ここに Twilog から whywaita 先輩の若き頃のツイートをたくさん貼る }

(2016/1/11 追記: 見ていたらこっちが恥ずかしくなったので各位好きに見てください。)

5.にゃ〜ん

http://twilog.org/whywaita/search?word=%E3%81%AB%E3%82%83

若い

—2016/1/11:ここより下の文章/節を追記 —

ぼーっとしながらタイムラインを眺めていたところ、新しいパターンを目にしました。

とのことです。

6.先輩のつらそうなところ/つらいところ

いつも知り合いの姿を見つける度に「見つけて!!」「ゎぃゎぃただよ!!!」と言わんばかりに手を振ってくるわいわいた先輩ですが、影ではいろいろと苦労もしているようです。たまに、後輩の僕にもつらそうな顔をして「○○がつらい、つらくない?」「もう○○が○○でつらい〜〜」「にゃーん」「にゃー」「なー」等のつらい話を聞かせてくれます。先輩はいろいろな所のつらい所を知っています。すごいです。

でも、よくよく考えたら先輩はつらいつらいダンス競技協会アジア支部のアジア支部支部長でした。つらいことを集めてきてつらいつらいダンスをしないといけない身ならつらそうなのも納得がいきますね。

こんなことも書いていましたが、先輩は過去に寝取られた経験があるのでしょうか? 気になります。

7.そして未来へ

 

そう、次の whywaita は僕かもしれないし、あなたかもしれないのです。

おわり。

 

12/24 の記事は @masawada 先輩でした。全文は以下のとおりです

記事のリンクを貼ろうとしたら oEmbed によって記事がまるごと引用される形となりました。なるほどにゃぁ……

SECCON 2015 Online CTF に参加しました (Write-up)

Programming

CTF 完全初心者なのになぜか SECCON 2015 九州大会「Attack & Defense」 というオンサイトCTFへ参加し、 -163125 点を獲得した kyontan です。
その節は本当に申し訳ありませんでした。関係各位へお詫び申し上げます。

15:57:20 MMA(kyontan) got -163215 points from ….

http://pastebin.com/KTqNZ4Jf

さて、今回は人生2回目のCTF大会である、SECCON  2015 Online CTF へ、学校の同級生である h-otter / @hogextend と共にチーム overflow として参加しました。

最終順位は 1200点 147位 でした。初心者なりには良くできたのではないでしょうか…… (http://score.quals.seccon.jp)

seccon2015-ranking

read more »

sinatra-activerecord で seed_fu を使ってみた

Programming

Sinatra で、sinatra-activerecord を使っているときに、$ rake db:seed すると、既に存在するレコードが重複登録される。

これ、とても一般的な問題で、 Rails だと、seed_fu というのを使って解決したりするらしい。

Rails (ActiveRecord 4.x) で動くなら Sinatra (sinatra-activerecord) でも問題なく動くとおもいきや、$ rake -T しても db:seed_fu が表示されない……

ソースやらなんやら見ながら唸っていたら、どうも Rake のタスク追加を、 Railtie を使ってやろうとしているところを発見した。
どうやら Rails だと、初期化時にここのコードが走るらしいのだけれど、Sinatra にそんなものはないので当然タスクは追加されない。

というわけで、Rakefile にベタ書きしてみる。
メインのアプリケーションソースが ./app.rb にあるということになっています。(適宜書き換えてください)
あと、なぜか <<< < に置き換えられたので修正してください。

namespace :db do
  desc < <-EOS Loads seed data for the current environment. It will look for ruby seed files in (settings.root)/db/fixtures/ and (settings.root)/db/fixtures/(settings.environment)/. By default it will load any ruby files found. You can filter the files loaded by passing in the FILTER environment variable with a comma-delimited list of patterns to include. Any files not matching the pattern will not be loaded. You can also change the directory where seed files are looked for with the FIXTURE_PATH environment variable. Examples: # default, to load all seed files for the current environment rake db:seed_fu # to load seed files matching orders or customers rake db:seed_fu FILTER=orders,customers # to load files from settings.root/features/fixtures rake db:seed_fu FIXTURE_PATH=features/fixtures EOS task :seed_fu => :environment do

    if ENV["FILTER"]
      filter = /#{ENV["FILTER"].gsub(/,/, "|")}/
    end

    if ENV["FIXTURE_PATH"]
      fixture_paths = [ENV["FIXTURE_PATH"], ENV["FIXTURE_PATH"] + "/" + settings.environment.to_s]
    end

    SeedFu.seed(fixture_paths, filter)
  end

  task :load_config do
    require "./app"
  end
end

Rake::Task["db:seed_fu"].enhance(["db:load_config"])

SeedFu.fixture_paths = [
  Pathname(settings.root).join("db/fixtures").to_s,
  Pathname(settings.root).join("db/fixtures/#{settings.environment}").to_s
]

コードとしては、seed_fu の rakeファイル を元に、sinatra-activerecord から、データベースの接続設定を拾ってくる部分を参考にしたりした。

Rake::Task["db:seed_fu"].enhance(["db:load_config"])

の部分がミソで、これでアプリケーションを通してデータベースに接続する必要がある。ここで2時間ぐらいハマった。

non-root な環境で UTF-8 対応の nano をビルドする

Programming

Ubuntu なレンタルサーバーで、 GNU nano を使おうとしたらそもそも nano が入ってなくて、適当にソースを拾ってきて野良ビルドしたら日本語が打てなくてつらくなった。
つらくなったので、--with-utf8 を付けてビルドしようとしたら、 configure で以下のエラーが出てつらくなって結構ハマったので備忘録。

*** UTF-8 support was requested, but insufficient UTF-8 support was
*** detected in your curses and/or C libraries. Please verify that your
*** slang was built with UTF-8 support or your curses was built with
*** wide character support, and that your C library was built with wide
*** character support.

これを non-root な環境で以下の方法にて解決した。
とてもシンプルではあるんだけど、 –enable-widec とか忘れるねん……

バージョンは執筆時点のものです。

$ wget http://www.nano-editor.org/dist/v2.4/nano-2.4.2.tar.gz
$ rm nano-2.4.2.tar.gz
$ cd nano-2.4.2
$ apt-get source libncursesw5
$ cd ncurses-5.9-20140118
$ ./configure --enable-widec --prefix=$HOME --with-shared
$ make
$ make install
$ cd ../nano-2.4.2
$ ./configure --prefix=$HOME --enable-color --enable-multibuffer --enable-nanorc --enable-utf8
$ make
$ make install

追記 (2015/10/14)

とのことなので、Gehirn RS2 では non-root でも何もしなくても nano が使えるようになるらしい。ありがたい……。