Chef と gem

OSX 10.9 Mavericks に Chefクライアントをインストールする by @ringohub on @Qiita http://qiita.com/ringo/items/8aef8a7762d7605f3194
curl -L https://gist.github.com/ringohub/7660676/raw/bc25c3274d55a799f11e4aa012bf3e809a7cf285/install.sh | sudo bash

Ruby – Macでgem installでunknown argument: ‘-multiply_definedsuppress’のエラー時の対応 by @oonishin on @Qiita http://qiita.com/oonishin/items/8e61459ef3e7ca08e31a
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install foobargem

lighttpd環境でWordPressにJetpack pluginを入れるときの注意点

エラー: site_inaccessible, IXR -32300
lighttpd 1.4.28, WordPress 3.4.2–ja, Jetpack 1.9.2, Core Control 1.1

http://techdevian.com/jetpack-error-failed-authenticate-resolved-fix/

  1. Core Control Plugin
  2. Tool -> Core Control -> HTTP Access Module 1.0 -> Save Module Choices
  3. External HTTP Access
  4. Manage Transports -> cURL Transport -> Disable Transport

http://en.forums.wordpress.com/topic/jetpack-instl-issue-with-ssl-and-lighttpd?replies=18
/etc/lighttpd/lighttpd.conf
url.rewrite-once = (
"^/en//(.*)\.(.+)$" => "$0",
"^/en/(wp-.+)$" => "$0",
"^/en/xmlrpc.php(.*)?" => "$0",
"^/en/sitemap.xml" => "$0",
"^/en/(.+)/?$" => "/en/index.php/$1",
"^/ja//(.*)\.(.+)$" => "$0",
"^/ja/(wp-.+)$" => "$0",
"^/ja/xmlrpc.php(.*)?" => "$0",
"^/ja/sitemap.xml" => "$0",
"^/ja/(.+)/?$" => "/ja/index.php/$1"
)

http://userwordpressdomain/yourwordpressdirectory/xmlrpc.php?rsd で確認できる。

Scala で JSON

「入れ子が結構あるjsonをscalaで構築して、jsonファイルを出力する」には、jsondaでペロペロっと書いて、mergeすると楽。

Scala で JSON を扱うライブラリ一覧

参考

[xyzzy] specs2 の unit specification スタイルで書いたテストケース一覧を、 xyzzy のコマンド一発で grep する方法

開いているファイルの「 should 」と「 in 」の行をgrepするコマンド。

.xyzzy とか適当なファイルに以下をコピペ。M-x grep-specs2-unit-selected-buffer で実行。

[Scala] machの深いネストの予防方法(についての確認&練習)

https://gist.github.com/2382341についての確認&練習。

// see https://gist.github.com/2382341

// scalaz for only solution3
import scalaz._
import Scalaz._

object SolutionForMultiNestedMatchforMyStudy {

  def f(num: Int): Option[Int] = {
    num match {
      case 0 => Some(1)
      case 1 => Some(2)
      case 2 => Some(3)
      case _ => None
    }
  }

  def solution1(num: Int): Int = {
    f(num) match {
      case Some(v1) => {
        f(v1) match {
          case Some(v2) => {
            f(v2) match {
              case Some(v3) => v3
              case _ => -3
            }
          }
          case _ => -2
        }
      }
      case _ => -1
    }
  }

  def solution2(num: Int): Int = {
    val v1 = f(num)
    val v2 = v1.flatMap(f)
    val v3 = v2.flatMap(f)

    (v1, v2, v3) match {
      case (Some(_), Some(_), Some(result)) => result
      case (Some(_), Some(_), None) => -3
      case (Some(_), None, None) => -2
      case _ => -1
    }
  }

  def solution3(num: Int): Int = {
    f(num).toSuccess(-1).flatMap(f(_).toSuccess(-2)).flatMap(f(_).toSuccess(-3)).fold(identity, a => a)
  }

  def solution4(num: Int): Int = {
    (for {
      v1 <- f(num).toRight(-1).right
      v2 <- f(v1).toRight(-2).right
      v3 <- f(v2).toRight(-3).right
    } yield v3).merge
  }

  def solution5(num: Int): Int = {
    val v1 = f(num).getOrElse { return -1 }
    val v2 = f(v1).getOrElse { return -2 }
    f(v2).getOrElse { return -3 }
  }

  def example {
    (0 to 3).foreach{n => println(solution1(n))}
    println
    
    (0 to 3).foreach{n => println(solution2(n))}
    println
    
    (0 to 3).foreach{n => println(solution3(n))}
    println
    
    (0 to 3).foreach{n => println(solution4(n))}
    println
    
    (0 to 3).foreach{n => println(solution5(n))}
  }
}

Scalaで16進数文字列とバイト列の相互変換 修正版

Scalaで、16進数文字列からバイト列への変換と、バイト列から16進数文字列への変換。(16進数文字列以外の入力は削除するように修正した。)

object HexBytesUtil {

  def hex2bytes(hex: String): Array[Byte] = {
    hex.replaceAll("[^0-9A-Fa-f]", "").sliding(2, 2).toArray.map(Integer.parseInt(_, 16).toByte)
  }

  def bytes2hex(bytes: Array[Byte], sep: Option[String] = None): String = {
    sep match {
      case None => bytes.map("%02x".format(_)).mkString
      case _ => bytes.map("%02x".format(_)).mkString(sep.get)
    }
    // bytes.foreach(println)
  }

  def example {
    val data = "48 65 6C 6C 6F 20 57 6F 72 6C 64 21 21"
    val bytes = hex2bytes(data)
    println(bytes2hex(bytes, Option(" ")))

    val data2 = "48-65-6C-6C-6F-20-57-6F-72-6C-64-21-21"
    val bytes2 = hex2bytes(data2)
    println(bytes2hex(bytes2, Option("-")))

    val data3 = "48656C6C6F20576F726C642121"
    val bytes3 = hex2bytes(data3)
    println(bytes2hex(bytes3))
  }

}

Scalaで16進数文字列とバイト列の相互変換

Scalaで、16進数文字列からバイト列への変換と、バイト列から16進数文字列への変換。

放射性物質汚染に関するリンクと、低線量地域での対策 [暫定版]

外部被曝

内部被曝

高線量地域での対策

  • 避難。引っ越し、転職。

低線量地域での対策

  • 以下は、外部被曝防止。
  • 外出後はシャワーを浴びる。たまに靴の裏を洗い流す。
  • 外出時は雨に濡れない。放射性物質が雨で流れにくい場所には近づかない。
  • 以下は、内部被曝防止。
  • 外出時は常にN95以上のマスクをつける。極力粒子を肺に入れないように。
  • 飲食料は生協など政府の基準値より厳しい検出限界値を採用している所から購入する。
  • 放射性物質の検査の有無と検出限界値が分からない外食や給食はなるべく避け、弁当に。
  • TVや新聞以外、ネットなどで、放射性物質を蓄積しやすい食材に関する最新ニュースを常にチェックする。
  • 食材についてのブログ記事を検索する。なければ、食品メーカーに電話して産地と検査態勢を聞きブログに書く。
  • 産地偽造は多々あるようなので、産地だけを頼りに食材を買わない。

8/1 18:00~Ust中継: 国会事故調報告 in CNIC 第2回『福島第一原発1号機で何かおこったのかー事故経過の深層をさぐる―』

8/1 18:00~Ust中継: 国会事故調報告 in CNIC 第2回『福島第一原発1号機で何かおこったのかー事故経過の深層をさぐる―』

国会事故調委員:田中三彦さん(サイエンスライター)
国会事故調協力調査員:伊東良徳さん(弁護士)
国会事故調協力調査員:上澤千尋さん(原子力資料情報室・原子炉問題担当)

0:49 津波が到達する前に、地震による亀裂から既に漏れていた可能性を示す、実測値とシミュレーション結果の比較。
1:14 政府事故調の誤りと思われる点。

1:28 ICの機能喪失について、事故調とメーカーと東電は同意見。
1:31 水位が下がった理由。

1:50 政府東電が55℃/hにこだわる理由。それほど大きい理由では無い。別の理由を隠しているのではないか。
1:59 稼働時の温度変化のデータが入手できない。

2:00 4分半で、ざっくりまとめ。by 伊東良徳さん(弁護士)

2:05 SR弁の追加説明。

Retractive Scroll Views for Android

今さらですがGitHubの練習がてら、Android向けのライブラリをGitHubにアップしました。
iOSみたいに、びよーんとオーバースクロールできるスクロールビューです。複数のスクロールビューを同期して動かすこともできます。Android 1.6 (API Level4)から使えます。

https://github.com/tmyymmt/Retractive-Scroll-Views-for-Android

YouTube Preview Image
YouTube Preview Image