Engadget JapaneseのHaruka Uedaさんがすごいらしいので調べてみた

id:Yuichirouが「最近のEngadget 日本版 : 最新ガジェットと家電、テクノロジーのニュースとレビューの記事は複数のひとが書いてるんですよ。で、そのなかでもHaruka Uedaさんが主宰者のIttousaiさんに迫る勢いで記事を書いてるんですよ。実際にどれぐらいの割合で書いてるか調べてみてくださいよー」というひどい丸投げをして去っていきました。
しょうがないから、ほいほい釣られてやるよ。

調べた結果

とりあえずRSSに載っている範囲で調べてみました。まあ、結果を見てみてください。

Haruka Ueda     ****************
Ittousai        *********************
kentaro         ***

うん、たしかに同じぐらい記事を書いてるね。

調べるのに使ったコード

#! /opt/local/bin/gosh
;; -*- mode:scheme; coding:utf-8 -*-
;;
;; engadget.scm -
;;
;; Copyright(C) 2009 by mzp
;; Author: MIZUNO Hiroki / mzpppp at gmail dot com
;; http://howdyworld.org
;;
;; Timestamp: 2009/07/28 22:08:06
;;
;; This program is free software; you can redistribute it and/or
;; modify it under MIT Lincence.
;;

(use sxml.ssax)
(use sxml.sxpath)
(use gauche.sequence)

(define (parse-rss input)
  (ssax:xml->sxml (open-input-file input)
		  '((rss . "http://purl.org/rss/1.0/")
		    (dc  . "http://purl.org/dc/elements/1.1/"))))

(define (filter-creator sxml)
  ((sxpath '(// dc:creator *text*) ) sxml))

(define (frequence creators)
  (map (lambda (xs) (cons (car xs) (length xs)))
       (group-sequence (sort creators) :test string=?)))

(define (format-freq xs)
  (format #f "~15a ~a"
	  (car xs)
	  (make-string (cdr xs) #\*)))

(define (main args)
  (let1 sxml (parse-rss (cadr args))
	(map print (map format-freq
	                (frequence (filter-creator sxml))))))

使い方

ダウンロードする機能はないので、zshcurlのパワーを借ります。

$ gosh engadget.scm =(curl http://feedproxy.google.com/engadgetjp)
Haruka Ueda     ****************
Ittousai        *********************
kentaro         ***