トップ 追記

活動日誌

2005|02|03|04|05|06|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|03|04|05|06|10|
2008|04|10|
2009|10|

2009-10-28

この模様にピンときた人は……ジェネレータ

勢いで「この模様にピンときた人は……ジェネレータ」なんてものを作ってみました。 http://shakenbu.org/yanagi/stripe/

参考: [雑考]この模様を見てピンときた人はオタクですって。


2008-10-12

時刻記録サービス「タイムカード.in」をリリースしました

http://tcard.in/

時刻記録サービス「タイムカード.in」をリリースしました。

「タイムカード.in」は、タイムカードをモチーフにしたウェブサービスで、作成した「タイムカード」に対して ウェブやメールで時刻を記録することのできるサービスです。

ウェブ上でボタンを押して時刻を記録することもできますが、カードごとに固有のメールアドレスにメールを送信することによっても時刻を記録することができるので、 例えばケータイメールなどで手軽に記録ができるのではないかと思います。

興味のある方はぜひ触ってみていただければと思います。

余裕があったら、ウェブ画面のケータイ対応もやってみたいですね。

以下、トップページに書いてある「使い方」をここにも書いておきます。

タイムカード.inの使い方

最初にログインを行ないます。以後の操作は、ログイン後のマイページより行ないます。

まず、時刻を記録するためのカードを作成しましょう。ここでは、帰宅時刻を記録するための「帰宅」カードを作成してみます。(↓)

1.png

カードに時刻を記録するには、ウェブ上でボタンを押す方法と、メールを送信する方法があります。

ウェブ上でボタンを押す方法は見た目の通りです。

メールで時刻を記録するには、まずカードの設定画面から更新用メールアドレスを確認します。(このスクリーンショットに表示されているアドレスはサンプルですので利用できません)(↓)

2.png

ここに表示されているメールアドレスにメールを送ると、その時の時刻がカードに記録されます。(↓)

3.png

更新用メールアドレスが分かると誰でもカードに時刻を記録できてしまうので、このアドレスは秘密にしてください。

更新用メールアドレスは再生成することもできます。再生成を行なうと、それまでのアドレスは無効になります。


2008-04-06

ノベル属性コミュニティサービス novelz.net をリリースしました

ノベル属性コミュニティサービス novelz.net をリリースしました。

http://novelz.net/

これはどういうサイトかといいますと、例えばライトノベルを中心としたノベル系コンテンツに対して

  • 属性をつける
  • レーティング評価をつける
  • 感想を投稿する

などといったことができるサイトです。

属性をつけることができるというのは、例えば、「ツンデレなラノベ」みたいなタグ(属性)を作って、 それにあてはまる本はどれ、というのをみんなで投票しあえたりするというものです。

当面のイメージとしては、CinemaScapeですとかErogameScapeの ノベル版、みたいな感じを想像してもらえると、そんなに外れてないんじゃないかと思います。

今後の構想としては、例えば持ってる本を登録できるようにしておすすめの本を出せるようにするとか、 属性関係でいろいろ考えてみるとか、まぁいろいろとやってみたいなと思ってます。

というわけで、興味のある方はぜひ触ってみてください。よろしくお願いします。


2007-10-03

map.resources :has_many で controller を指定する

今さらながら、map.resources を触りだしました。

Rails 2.0 だと map.resources で has_many が使えるようなのですが、

map.resources :articles, :has_many => [ [:comments, {:controller => :article_comments}] ]

のように controller を指定するには

--- /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.13.3.7707/lib/action_controller/resources.rb 2007-10-02 11:40:29.000000000 +0900
+++ resources.rb        2007-10-03 18:59:47.000000000 +0900
@@ -426,7 +426,9 @@
         name_prefix = "#{options.delete(:name_prefix)}#{resource.nesting_name_prefix}"

         Array(options[:has_many]).each do |association|
-          resources(association, :path_prefix => path_prefix, :name_prefix => name_prefix, :namespace => options[:namespace])
+          assoc, opts = Array(association)
+          opts ||= {}
+          resources(assoc, opts.merge(:path_prefix => path_prefix, :name_prefix => name_prefix, :namespace => options[:namespace]))
         end

         Array(options[:has_one]).each do |association|

でいいのかなぁ。

あ、でもネストできるんだから、無理に has_many で書かなくても

map.resources :articles do |article|
  article.resources :comments, :controller => :article_comments
end

でいいのか。

Tags: Rails

mixi の色を変えてみた

mixi の画面が白すぎて見づらいので、Stylish で目にやさしそうな感じにしてみました。

20071003-mixi.jpg

完成にはほど遠いのですが、自分が満足したのでこれでとりあえず終了。

@namespace url(http://www.w3.org/1999/xhtml);

@-moz-document domain("mixi.jp") {

body {
  background-color: #fcfae9 !important;
}

.listBox01 div.contents{
  background-color: #f7f1cf !important;
}

.listBoxUtility01 {
  background-color: #f8d88c !important;
}

#bodyContents div.heading02 {
  background-image: url(http://img.mixi.jp/img/basic/heading/body_main_area001.gif) !important;
}

#bodyContents div.contents {
  background-color: #f7f1cf !important;
  border: solid 1px #f8d88c !important;
}

#bodyMainArea .groupList01 {
  background-color: #f7f1cf !important;
  background-image: none !important;
}

#bodyMainArea div.iconList03 ul li .iconState01 {
  background-color: #f7f1cf !important;
}


#communityIntro {
  background-color: #f7f1cf !important;
  border: solid 2px #f8d88c !important;
}

#communityMemberList .contents {
  padding: 0 !important;
}

#communityLinkList .contents {
  padding: 0 !important;
}
table.iconListTable {
  background: none !important;
  background-color: #f7f1cf !important;
}
table.iconListTable tr {
  background: none !important;
}

div.contents div.list_bottom {
  background-color: #f8d88c !important;
  margin: 0 !important;
  width: 268px !important;
}
div.list_bottom div.utilityLinks01 {
  margin-right: 0.5em !important;

}

div.titlebar02 {
  background-image: url(http://img.mixi.jp/img/basic/heading/body_side001.gif) !important;
}

dl.bbsList01 dd.bbsContent dl {
  background-image: none !important;
  background-color: #f3e4c8 !important;
}
dl.bbsList01 dd.bbsContent dl dd {
  background-color: #f7f1cf !important;
  padding-left: 1em !important;
}
dl.commentContent01  {
  background-image: none !important;
  background-color: #f3e4c8 !important;
}
dl.commentContent01 dd {
  background-color: #f7f1cf !important;
  padding-left: 1em !important;
}

div#profile ul {
  background-color: #f7f1cf !important;
}
div#profile ul li {
  background-image: none !important;
  border-bottom: solid 1px #f8d88c;
  padding-bottom: 0.4em;
}
div#profile ul li dl {
  background-image: none !important;

}

#intro div.contents dl dd {
  background-image: none !important;
}

div.txtconfirmArea {
  background-color: #f7f1cf !important;
}

.diaryHistory dd {
  background-color: transparent !important;
}

.txtEditArea {
  background-color: transparent !important;
}

object {
  display: none;
}
embed {
  display: none;
}


}
Tags: mixi

2007-06-25

Hiki 0.8.7 リリース

Hiki 0.8.7 をリリースしました。

Hiki 実行権限が削除可能な任意のファイルを削除可能となる脆弱性を修正しています。 お手数ですが、Hiki をご利用の方はアップデートをお願いします。

0.8.7 には、この脆弱性修正以外にもさまざまな変更が加わっているのですが、 この脆弱性を修正する 0.8.6 へのパッチも別途公開しています。 すぐに 0.8.7 への更新が難しいという場合には、このパッチをご利用下さい。

Tags: Hiki

2007-06-11

RubyKaigi2007 に参加

RubyKaigi2007 に参加しました。

  • 「愛」重要
  • ノベルティがバッグなのはよかった
  • 最近るりまのお手伝いから離れてしまっていたので、また作業をしていきたい
  • Dave のスピーチがとてもすばらしかった
  • スピーカーの Mac 率がとても高かった。自分もノート PC 買うときは MacBook にしようかなぁ。(いつになるかわからないけど)

スタッフのみなさん、本当におつかれさまでした。

Tags: Ruby

2007-05-30

クリエイティブコモンズライセンスにおける NonCommercial

はてなロゴマークが、クリエイティブコモンズライセンスで公開された。 http://d.hatena.ne.jp/hatenadiary/20070529/1180419796

これに対して、はてなロゴマークのライセンス表示がひどいというエントリがあった。 「CCライセンス Attribution-NonCommercial-ShareAlike だと言っているけど実際はそうじゃない」という主旨のようだ。

自分も別のところでちょっと気になったところがあった。

はてなロゴマークを使ってみよう では「具体的な使用例」として

はてなロゴを利用したTシャツを作成し、知り合いに実費で配布する

という例が挙げられている。

しかし、CC ライセンスにおいての「NonCommercial」は完全な無償を要求していて、配布に際して実費を徴収することを許していない。

http://creativecommons.org/licenses/by-nc-sa/2.1/jp/legalcode

第5条 j. あなたは、本作品又はその二次的著作物を営利目的で利用してはならない。 デジタル・ファイル共有その他の手段による本作品又はその二次的著作物とその他の作品との交換は、 作品の交換に関連して金銭的報酬の支払いがない限り、営利を目的とするものとはみなさない。

第5条で、「営利目的」とありますが、作品の製作や流通に当たって必要な実費の請求は営利目的に入りますか?

第5条で、「営利目的」とありますが、作品の製作や流通に当たって必要な実費の請求は営利目的に入りますか?

頒布者と受領者の間で金銭のやりとりがある場合には、それが実費であっても営利目的に含まれます。

はてなロゴマークについて言えば実費を徴収しても問題ないのだろうけれど、 それは CC ライセンスの運用とは異なるということには気を付けないといけない。

本日のツッコミ(全100件) [ツッコミを入れる]

Before...

_ TrackBack [http://bestxxxonline.info/oldyounglesbiansex/toying.html s..]

_ TrackBack [http://bestxxxonline.info/freehardsex/toying.html adult se..]

_ TrackBack [http://bestxxxonline.info/lesbiansexsite/hairy.html pics a..]


2007-05-27

ニコニコ動画のコメント数グラフを表示する proxy

動画のある部分にだけ集中してコメントが付くことがよくあるので、 グラフにしたら面白いかと思って作ってみた。 (こういうのは GUI できれいに出すと見栄えがしてよさそうだけど)

でもこの proxy、どうやらレスポンスを全部読み込んでからじゃないと レスポンスを返さないらしく、動画をストリーミングで見れなくなってしまったので 実用性はゼロ。

#!/usr/local/bin/ruby

require 'webrick'
require 'webrick/httpproxy'
require 'uri'
require 'rexml/document'

SECTION_COUNT = 20
HIST_TOP = 30

def draw_hist(values, section_count, note)
  max_pos = values.max
  hist = Array.new(section_count, 0)
  values.map{ |e| (e.to_f / max_pos * section_count).to_i }.each{ |e| hist[e] += 1 if hist[e] }

  max_value = hist.max
  hist_dots = hist.map{ |value| (value.to_f / max_value * HIST_TOP).to_i }
  puts '-------------------------------'
  puts note
  hist.zip(hist_dots).each do |value, ndots|
    puts '%4d |%s' % [value, '*' * ndots]
  end
  puts '-------------------------------'
end

handler = Proc.new do |req, res|
  if req.host =~ /msg\d+\.nicovideo\.jp/ && req.path == '/api/' && res.content_type == 'text/xml'
    xml = REXML::Document.new(res.body)
    positions = xml.root.get_elements('chat').map{ |e| e.attribute('vpos').to_s.to_i }
    if !positions.empty?
      sec = positions.max / 100
      note = "thread: %s, max time: %d:%.2d" % [xml.root.get_elements('thread')[0].attribute('thread'), sec / 60, sec % 60]
      draw_hist(positions, SECTION_COUNT, note)
    end
  end
end

s = WEBrick::HTTPProxyServer.new(
  :BindAddress => '127.0.0.1',
  :Port => 8080,
  :Logger => WEBrick::Log::new(STDERR, WEBrick::Log::FATAL),
  :ProxyContentHandler => handler
)
  
Signal.trap('INT') do
  s.shutdown
end

s.start
本日のツッコミ(全100件) [ツッコミを入れる]

Before...

_ TrackBack [http://superpopka.info/freesexstorypic/interracial.html se..]

_ TrackBack [http://banglive.info/japansextour/nylon.html news]

_ TrackBack [http://banglive.info/amateuralluresex/hardcore.html free a..]


2007-05-19

Rubyist Magazine 0019 号

リリースされました。 http://jp.rubyist.net/magazine/?0019

今回は、cairo の記事の編集でお手伝いをしました。

Tags: Ruby

2007-05-11

FizzBuzz 問題

自分は 1.upto(100) が真っ先に頭に浮かんだのだけれども、 ちょっと見てまわった範囲では、Ruby では 1..100 を使う人が多いようで興味深かった。


トップ
Written by Kouhei Yanagita <yanagi at shakenbu.org>