Keep on moving

あんまりまとまってないことを書きますよ

XCode5.1環境でansibleをいれる

version: 0.1
env:MacOSX Maverics 10.9.2
XCode: 5.1

Ansibleを入れようとしたら、以下のエラーメッセージがでた。

-clang: error: unknown argument: '-mno-fused-madd'


どうやら、そのままでは入らないっぽいです。困ったので検索したらぴったりの記事がありました。

http://stackoverflow.com/questions/22390655/ansible-installation-clang-error-unknown-argument-mno-fused-madd

以下のように実行することで解決。

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install ansible

先人に感謝。

Java6or7でラウンドロビン

ラウンドロビン的なものが欲しくなったので書いてみた。
一応スレッドセーフにはしてるつもりなんだけど、これでいけるのかは実際に動かしてみないと、わからないです。
Java8の無限ストリーム使うとどうなるかはまだ考え中。

code

package me.masahito;

import java.util.Iterator;
import java.util.List;

public class RoundRobin<T> implements Iterable<T> {
    private final List<T> list;
    private final int listSize;

    private RoundRobin(final Builder<T> builder) {
        this.list = builder.list;
        this.listSize = builder.list.size();
    }

    @Override
    public final Iterator<T> iterator() {
        return new Iterator<T>() {

            private int index = 0;
            private final Object lock = new Object();

            public T next() {
                final T result;
                synchronized (lock) {
                    result = list.get(index);
                    index = (index + 1) % listSize;
                }
                return result;
            }

            public boolean hasNext() {
                return true;
            }

            public void remove() {
                throw new UnsupportedOperationException();
            }

        };
    }

    public static class Builder<T> {
        private final List<T> list;

        public Builder(final List<T> list) {
            this.list = list;
        }

        public final Iterator<T> build() {
            return new RoundRobin<>(this).iterator();
        }
    }

}

unittest

package me.masahito;

import org.junit.Test;

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;

/**
 * RoundRobin Test
 */
public class RoundRobinTest {

    @Test
    public void buildRoundRobinIterator() throws Exception {
        final List<Integer> list = Arrays.asList(1, 2, 3);
        final Iterator<Integer> ite = new RoundRobin.Builder<>(list).build();

        assertThat(ite.next(), is(equalTo(1)));
        assertThat(ite.next(), is(equalTo(2)));
        assertThat(ite.next(), is(equalTo(3)));
        assertThat(ite.next(), is(equalTo(1)));
    }
}

reStructuredText を Marked.app でプレビュー表示するメモ in 2014

どうもこんにちは、近頃めっきりブログを書かなくなった @ です。
いかがお過ごしでしょうか?
超久々にいいソフトを教えていただいたので、
下を参考に環境を作ったので残しておきます。

http://d.hatena.ne.jp/CortYuming/20130531/p1

Marked2

Markedは近頃Marked2にアップデートされたそうです。
Marked1はApp Storeで配布されていましたが、Marked2は http://paddle.com/ でRegisterするようになったみたいです。

http://marked2app.com/

docutils

easy_install でdocutilsを入れてやればOKです。

sudo easy_install docutils

まとめ

今までブラウザでrestructuredTextをHTML化したものを見ていたんですが、
Marked2だと更新されたところに移動してくれます。
超便利なのでみんな使うといいよ。
身長が伸びて、壁が上達....するわけではありませんが(^o^)

2014年の目標

よく考えたら、2012/2013は振り返りをまるでやってないので今のうちに


  • 体力作り
  • 本を読む(技術書、物語とわず)
  • 役にたつライブラリを書く(いつもは役に立たないものしかOSSでは公開しないし)

とりあえず以上