Hatena::ブログ(Diary)

はてなかよっ!

2010-01-03

Happy new year!!

なんか皆さん書いてるので,プログラム関係くらいは書いておこうかと.2009年のまとめをどうするかは後で考える(どう考えても書かないフラグ).

そろそろアウトプットしたい所.いくつか書いて見たいライブラリもあるので,D2でガシガシ行きたい.

なんかC++界隈ではC++0x本が出るとのことなので,D言語界隈でもそろそろ今時なD言語本でも出したいよねと(TDPLはD2が凍結される前に出そうだから,D2仕様凍結に合わせてとか).まぁD2が出たらD3が出て,ASTマクロとかランタイムリフレクションとか「ちょ,おまww」的な機能が増えそうで,そっちもまた面白そうで今からwktk.まぁその前にD2でやること多すぎだろという感じだけど,それでもD言語なら…

Shikoku.rbを近々開催したい.某先生にコンタクトを取って場所を確保したいけど,修論や大学での雑務があって取るだけになるのもあれなので,ちょっと躊躇気味.修論の目処が立てば早々に行動に移る.

JCUGにいながらまともに活動できてないので,今年くらいは何かしら貢献したいし,某BotCurryで書き直したい.

  • その他

Boost勉強会@関西とか?後なんか色々とタイミングを逸して開催できなかったTPF第二回もやりたい(自分の発表ネタくらいはあるし).後は機能的に気になる言語はちょくちょくつまみ食いしたい所.最近は色々な言語があってネタに困らない.

ということで今年一年よろしくお願いします.

2009-04-09

Curry Wiki

WelcomeToCurryWiki

ということでWikiもできました.翻訳はCurryを集中的にやる時間が現在それほど取れそうにないので,最初の簡単な前書きだけやった(後はJCUGメンバーに期待!).俺は基礎辺りを編集して行こうかなぁと.

http://twitter.com/CurryWikiJP

それとWikiの更新を知らせるBOTRubyで作った.某FreeBSDで5分間隔で更新してます.


周辺環境はこんなものかな?後は進むのみ.いつかCurry勉強会とかいう超マイナー勉強会でもやりたい.

追記

botのソース晒せやゴルァと言われた.昨日帰る直前に作ったので,ハードコーティングがいくつかあって微妙かも?マジックコメントとかあるけど,FreeBSDの1.9のgemライブラリを読み込んでくれないので,1.8で動かしてるという.

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

require 'rubygems'
require 'rubytter'
require 'time'
require 'rss/0.9'
require 'open-uri'

def exec_with_exit
  yield
rescue => e
  error(e)
  exit
end

def error(e)
  File.open('error.txt', 'a') { |f| f.puts "#{Time.now} : #{e}" }
end

# Gets RSS formatted 0.91
rss = exec_with_exit {
  open('http://ehl.jp/curry/?cmd=rss&ver=0.91') { |f| RSS::Parser.parse(f.read, false) }
}

log_name = '/path/to/latest.txt'  # Measure for cron
before   = Time.parse(File.open(log_name) { |f| f.read })  # before update time
updates  = []

# Selects new updates than before.
rss.items.each do |item|
  time = Time.parse(item.description)
  if time > before
    updates.unshift("Update: #{item.title}, #{item.link}, #{time.strftime('%Y/%m/%d(%a) - %H:%M:%S')}")
  end
end

exit if updates.empty?

# Posts new updates to Twitter
exec_with_exit {
  client = Rubytter.new('username', 'password')
  updates.each do |content|
    client.update(content)
    sleep 4
  end
}

# Saves the lastest update time for the future
File.open(log_name, 'w') { |f| f.print Time.parse(rss.items[0].description) }

Google groupの更新情報も配信すべきか迷っている.それだとアカウント名をJCUGとかにしないと駄目かも.

2009-04-07

Thanks Sergio!

気が付けば代表みたいなポジションにいるJCUGだけど(発起人は@2bbb),今日'Tutorial on Curry'の著者であるSergio氏に許可を頂いて,日本語翻訳を始めることになりました.これを機に,皆さんもCurryを始めましょう!

2009-04-05

Japan Curry User Group

http://groups.google.co.jp/group/jcug

「インドで死ね!」(印死)が発端とはいえ,中では結構真面目にCurryをやったりしている.しかし,他の人が印死に入るのは難しいかもしれないし(名前やノリ的にも),Curryを普及させるには真面目なグループが必要だなぁと言う事で,JCUGMLを開設.興味のある方はどうぞ.今は印死コミュニティの有志で日本語訳が少しずつだけど進んでいる感じで,ライブラリとか実用的な情報も交換して行けたらなと.

情報を蓄積するためにGoogle sitesJCUGのサイトを作ろうかと思ったのだけど,URIの部分が6文字以上の必要があるらしくjcugが使えないので,どうしようか考え中(@2bbbのWikiで行ってしまうか?).