分かち書きとマルコフ連鎖使ったワードサラダクラス。Ruby版が見当たらないので書いてみました。

% irb --simple-prompt -r word_salad.rb
>> WordSalad.new("ホスティング先のWiseknotが無くなっちゃうのでMojaviJapanのページをドリホに移しました。ディレクトリコピーしてmysqldump流し込むだけであっさり移行完了。面倒だったらぺらいちぐらいのサイトにしようかと思ってたんですが移行できてよかったです。").cook
=> "ページをドリホに移しました。面倒だったらぺらいちぐらいのサイトに移しましたです。ディレクトリコピーしてよかったんです。面倒だったらぺらいちぐらいのサイトにしようかと思ってたです。面倒だったらぺらいちぐらいのサイトにしようかと思ってたんですが移行できてよかったんです。ディレクトリコピーしてたんですが無くなっちゃうのでMojaviJapanのページをドリホに移しましたです。"

悪用の可能性があるのでソース無しで。

圧縮新聞みたいな面白サイトを作れる一方でスパムサイトにも利用できる。技術は使う人次第ですなあ。

はてなのid:komagataをゲットしたことで他のサービスのid:komagataも欲しくなってきた。

livedoorとかね、komagata1111とかでかなりサムい。でもログイン何回失敗してもCAPTCHAとか出てこないんだよね。

idに使えるのって/[a-z0-9\_-]/の36文字かな?4~8文字のidだとして、1秒に1個試したら、

% irb --simple-prompt
>> ((36 ** 8) - (36 ** 4)) / (60 * 60 * 24 * 365)
=> 89456

89456年かー。

1秒に10リクエスト飛ばしたとしても約9000年かー。でも日本語の良い辞書があればいけそうだよねえ。 場末の漫喫から忘れ去られた匿名プロクシいっぱい通して・・・ってやらないけど!

ネットの犯罪って普通の万引きの方が割り良いのが大半かもなあ。

ブログファンってページさっき知りました。

ブログサービスのアクティブユーザーランキングがあるのがちょっと面白い。

require 'rubygems'
require 'open-uri'
require 'hpricot'

module BlogFun
  def self.active_user_ranking
    doc = Hpricot(open("http://www.blogfan.org/"))
    doc.search("div.hlf dl.service dd ol li").map do |li|
      li.inner_html.gsub(/<.*?>(.+)<\/a>(.+) 人$/, '\1\2').split(" "*2)
    end
  end
end

assocで引っ張ってくるのを書いてみました。使い所はほとんど無いんだぜ? (こっちに詳細あるけどめんどいので勘弁な!)

% irb --simple-prompt -r blog_fun
>> BlogFun.active_user_ranking
=> [["FC2ブログ", "106610"], ["アメーバブログ", "69881"], ["livedoor Blog", "61815"], ["Yahoo!ブログ", "52234"], ["ヤプログ!", "39962"], ["楽天ブログ", "34586"], ["Seesaaブログ", "31854"]]

アメーバブログが躍進してますな。

規約に「二次利用するときは引用元を明記してください」とあるので何かに使う時は注意してください。

いやぁっほう~~~!

id:komagataゲットしました。

だからって書くことないんだけども。

ホスティング先のWiseknotが無くなっちゃうのでMojaviJapanのページをドリホに移しました。ディレクトリコピーしてmysqldump流し込むだけであっさり移行完了。面倒だったらぺらいちぐらいのサイトにしようかと思ってたんですが移行できてよかったです。

旧システムの改修時とかにMojavi2で出来てて、リニューアルしようにも情報が皆無!とかいうことにならないために置いときます。

SEO勉強中なのでこのエントリーは気になりました!

これだけは押さえておきたいSEO対策 – livedoor ディレクター Blog

1)「ディレクトリ型検索エンジン」への登録 代表的なものでは、「Yahoo! ビジネスエクスプレス」や「Jエントリー」などがあります。全盛期は過ぎましたが、「ディレクトリ型検索エンジン」は、ランクの高いサイトからの被リンクを受けることができる有効な手段です。モバイルサイトの場合は「Yahoo! ビジネスエクスプレス(モバイル版)」にも登録しましょう。

Yahoo!はホントだと思う。ただ、謎の一括登録サービスやリンク集は意味無いどころか下がる恐れすらアリ。登録先は吟味したい。

3)HTML文書 での文法の正確さ 「Another HTML-lint」で文法の確認ができます。 http://openlab.ring.gr.jp/k16/htmllint/htmllint.html

4)コーディング手法 最近は主流となっていますが、「CSS」でのレイアウトコーディングが SEO 対策に有効です。SEO 対策に重点を置くと「フルCSSコーディング」が最も適していると言われています。

端的に、「これ関係無くね?」

今日びいちいちフルCSSにしない方が面倒かもしれないけど、この点ばっかり強調してる製作会社は怪しい。

14)日本語 URL 対応ドメインの使用 多くの検索エンジンが、日本語 URL に対応するようになり、SEO に効果的と言われています。最近では「Amazon」が日本語URLを導入しましたが、URLの日本語化の狙いとしては順位を上げる事ではなく、検索結果のクリックスルーを緩和させる事が目的と言われています。

これは納得。インデックスされ易さにはあんま関係無くて、クリックされやすいかも?ぐらいの認識。

ちょっと文句言ったけど全体としてとっても参考になった。

話変わりますが、最近、

「俺も含めてエンジニアは(知ってるつもりで)SEO全然知らないっす」 「SI会社の場合、HTMLやページ構成を詰めるのはデザイナーなのでデザイナーの方が詳しいっす」 「デザイナーがSEO(インチキSEOも含めてだけど・・・)やシステムも覚えてWebディレクターになるってキャリアパスがあるっす」

って言ったら、

「え、そうなの?もったいねええええええ」 「検索エンジン作ってるのだってエンジニアなんだから、よっぽどシステマチックで有効なSEOできるんじゃないの?」

と言われました。

あれ?今更ながら俺たちって、美味しいとこ(=金になるとこ)持ってかれてババ引かされてね?しくじったぁーーーっ

ちょっと探せばサイドフィードの人とか、そんなことはとっくに気付いて実践してる人もいっぱいいるじゃん!

こ、これは俺も・・・覇王翔吼拳を使わざるを得ない

Lingrの鳥肌実Roomで教わったのでミルフィールに登録してみました。

Mixiの言いたいだけコミュニティーに書くまでも無く、Twitterですらウザがられるような言いたいだけフレーズを書く場として使いはじめました。

デザイン、というか具体的にfont-sizeとpaddingとline-hightとletter-spacingがかわいい。

CakePHP製だそうですね。応援あげ。

SEOの実験サイトを作るって言ったけど、それにあたって機能とコンテンツはどうする?

機能

  1. 人から見て有用なもの
  2. 人から見て有用でないもの(でも検索エンジンからは評価されるもの)

コンテンツ

  1. マッシュアップ(笑)(ネットから引っ張ってきた他人の作ったもの)
  2. オリジナルコンテンツ

でも混乱してきました。

まず、機能。有用って何?

Twitterはうちのオカンにとって有用か?村上春樹風に語るスレジェネレーターは俺にとって有用じゃないのか?線形文字Bで書かれたブックレビューサイトは有用か?

それで、コンテンツ。オリジナルって何?

ブログのエントリーはオリジナルか?検索結果は?ニュースの見出しは?形態素は?

ブログのエントリーはオリジナルって雰囲気がするよね。ニュースの見出しは勝手に載せてリンク張って良いことにならなかったっけ?

例えば係り受け解析を使って意味が通るまま文節を並び変えたら?

% cabocha
ボクシングには蹴り技が無い。そう思っていた時期が俺にもありました。
ボクシングには---D
        蹴り技が-D
            無い。---------D
                そう-D     |
            思っていた-D   |
                  時期が---D
                    俺にも-D
                ありました。
EOS

「ボクシングには蹴り技が無い。そう思っていた時期が俺にもありました。」 → 「蹴り技がボクシングには無い。俺にもそう思っていた時期がありました。」

これはまずい気がするなあ。

じゃあ形態素解析で切り出した「ボクシングには蹴り技が無い。そう思っていた時期が俺にもありました。」の「ボクシング」は?

% mecab -F%m\|
ボクシングには蹴り技が無い。そう思っていた時期が俺にもありました。
ボクシング|に|は|蹴り|技|が|無い|。|そう|思っ|て|い|た|時期|が|俺|に|も|あり|まし|た|。|EOS

そうやって作った辞書は?そこから人工無能の要領で作った文章は・・・?

極論、機能の有用・非有用は相対的なもの。コンテンツのオリジナル性は明確な定義が無い。(もちろん利用規約などで明確に定義しているところから引っ張ってきちゃ駄目)

要は見せ方次第で、酷い話、有用っぽく見える・パクリっぽくなく見えるモノを作れば良いということになる。

やればいいことがわかった。

「有用っぽく見える・パクリっぽくなく見えるサービスを作る」

(うわ!こいつ最低だ!と思うかもしれませんが、わざわざ見た目だけで役に立たないパクリサービスを目指すという訳ではありません。明確にSEOのグレーゾーンを見極める意味で、極端でも考えるフレームを定義する必要があるというだけです。)

なんだかまじめに考えるほどに怪しくなってきました。これがSEOのダークサイドに落ちるということかw

努力しても決して幸せになれない理由 – FIFTH EDITION

もっと言えば、本当に格差が憎くて不平等が許せないというなら、アメリカ人と日本人は稼いだ金をそういう地域におくってあげるべきだ。資本主義に反対し、不平等を許せない人達は、得に。

(中略)

多くの場合、人が幸福になれるどうかは、周りに貴方より相対的に劣った人がどれだけいるかで決定されるんだ。

貴方の周りに貴方より優れた人しかいない場合、貴方は不幸せになり、劣った人間しかいなければ、貴方は幸福になれるってわけ。

長文が苦手な人のためにAAで要約に挑戦してみた。

            、_    _
          <⌒ヽ ``v''´/-ーz._
          ∠⌒,`.-─----─- 、 `ゝ
        7´/::::::::::::::::::::::::::::::::::::::::\ ヽ
       1 /:::::::: ̄``:ー--‐':´: ̄::::::::ヽ. !
       l ,'::::::::: ̄``:ー---‐:':´: ̄:::::::::i. l
        | {::: ̄ ̄`~ヽ::::::::: ,@"~ ̄ ̄:::} :|
      r‐、.}: :,,: ===、 : : : ,. === :、: :{ , ‐、
.      { f、|.!: :`゙==’ヲ  , ヾ;‘=='" 。 |.l'^i }    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      ! L|| %',ニニ=',ゝ@ aく `=ニニ@、||う'リ     | グズグズ言わずに……
      ゝヽー-----‐ゝ_@ , 'ノー-----ーッ'人  <
      ノ ~ト`モェェ:ェ:ェ壬王E゙ェ:ェ:ェェラ´1~  ゝ  | ピシピシ送るべしっ……!
     / /!ヽ; : .    ____   。 . : :/ !\ ヽ  \__________
    ,ノ/  ! ヽ; : : .゚  ̄ ̄ . : : :'/ }   \.゙、
  ,. イ´     :|:、   `''ー-------‐'''´   ,イ    ヽ:、
''"´  l:.     ::| ヽ!            レ' ,|:.     :|.`''ー-
... .:..:.:.!::..:.:..: .:..:::ト、 \i、      ,ィ/ /.!::..: ..:..:. .:|:.:..:. .:
::..::::::::|:::::::::::.::::::::ト、\   `ヽイル1/´  /./|:::::.:::::::..:::|::::::.:::

     ____________
    ヾミ || || || || || || || ,l,,l,,l 川〃彡|
     V~~''-山┴''''""~   ヾニニ彡| 
     / 二ー―''二      ヾニニ┤
    <'-.,   ̄ ̄     _,,,..-‐、 〉ニニ|  勝たなきゃゴミ・・・ 
   /"''-ニ,‐l   l`__ニ-‐'''""` /ニ二|  勝たなければ・・・ 勝たなければ・・・ 勝たなければ・・・! 
   | ===、!  `=====、  l =lべ=|
.   | `ー゚‐'/   `ー‐゚―'   l.=lへ|~|
    |`ー‐/    `ー――  H<,〉|=|
    |  /    、          l|__ノー|
.   | /`ー ~ ′   \   .|ヾ.ニ|ヽ
    |l 下王l王l王l王lヲ|   | ヾ_,| \
.     |    ≡         |   `l   \__
    !、           _,,..-'′ /l     | ~'''
‐''" ̄| `iー-..,,,_,,,,,....-‐'''"    /  |      |
 -―|  |\          /    |      |
    |   |  \      /      |      |

カイジ読んでないと無理か・・・。

何が儲かるかやらSEOやら工数削減やら今日びのブログというものは実に浅ましい限りですな。若干引くわあ。

class String
  # MTの改行変換と同じヤツ
  def convert_brakes
    self.gsub(/\r\n/, "\n").gsub(/\r/, "\n").split("\n\n").map {|i|
      "&lt;p&gt;#{i}&lt;/p&gt;".gsub(/\n/, "&lt;br /&gt;\n")
    }.join("\n\n")
  end
end

しょーもないコード片でちょっと薄めておこう。