HOME > CONIT Labs.

CONIT Labs.

WoWが面白い


Hi 佐々木です。
MacOSで出来るオンラインゲームはない物かと、模索していたら
World war craftという超人気のゲームがMacOS版もリリースしていました。
World war craft
http://www.worldofwarcraft.com/cataclysm/index.html
Blizzard
http://us.blizzard.com/en-us/games/
とある一般的な日本人な僕は、
字幕無しの英語のナレーション、英語のMap、キャラ同士のチャットが英語。。。。
ゲームのルールも分からず、ログインしてみました。
特徴は、Full-3Dで何処にでもいける。武器の釣り竿でフィッシングを楽しめ、
釣った魚を調理スキルで料理もでき、本来の目的はいまだ理解していませんが、
なかなか楽しめます。
(iMacがFull-3dでも余裕なことに驚きです)
イノシシが居たから、こん棒で倒して肉を食らう。
山があったら登ってみる。
登ったら海が見えたので海に行ってみる。
海の向こうに島が見えたので泳いでみる。
泳いだら海底が見えたので潜ってみる。
島に着いたら、反対側の大陸が見えたので行ってみる。
定期船が見えたので乗ってみる。
定期船が見知らぬところに連れて行ってくれる。
行った先のモンスターに一撃でやられる。
どうやったら元の町に帰れるか模索する。
元の町に帰る途中で、モンスターにやられる。
帰れなくて途方に暮れる。。。
土地も言葉も分からない場所に来て旅をしているような気分が
なんだか不思議で面白いゲームです。
多分キャラを強くして、モンスターを倒しまくるゲームなんでしょうけど、
別の意味でハマります

Map Reduce


The latest assignment in my Software Engineering seminar class: find any journal article related to software engineering and make a PowerPoint presentation about it.
With all of the work that PhDs have been pumping out at Google (http://research.google.com/pubs/papers.html), I felt this assignment would be a good excuse for me to actually sit down and read some of it.
What a better place to start than MapReduce (http://labs.google.com/papers/mapreduce.html)? My friend, perhaps the biggest advocate for functional programming, concurrency, and distributed programming methods, heralds MapReduce as one of the great works to come out of Google.
Many everyday data mining tasks, like those done all the time at Google, can be conceptualized as a 2 step process. First, a ‘MAP’ function is applied to a series of keys and values. The result of the function being mapped is then fed to a ‘REDUCE’ function, which returns something with meaning to the user.
Here’s an example, quoted directly from the article:
map(String key, String value):
// key: document name
// value: document contents
for each word w in value:
EmitIntermediate(w, “1″);
reduce(String key, Iterator values):
// key: a word
// values: a list of counts
int result = 0;
for each v in values:
result += ParseInt(v);
Emit(AsString(result));
The map function emits each word plus an associated
count of occurrences (just ‘1’ in this simple example).
The reduce function sums together all counts emitted
for a particular word.
Count of URL Access Frequency: The map func-
tion processes logs of web page requests and outputs
⟨URL, 1⟩. The reduce function adds together all values
for the same URL and emits a ⟨URL, total count⟩
pair.
Reverse Web-Link Graph: The map function outputs
⟨target, source⟩ pairs for each link to a target
URL found in a page named source. The reduce
function concatenates the list of all source URLs as-
sociated with a given target URL and emits the pair:
⟨target, list(source)⟩
Term-Vector per Host: A term vector summarizes the
most important words that occur in a document or a set
Being a novice at distributed computing, and now almost 8 years since my undergrad computer science classes, I was really surprised at how simple the concept works. To do a ‘MapReduce’ in a distributed environment, Dean and Ghemawat suggest setting up a ‘master’ scheduler, several ‘map’ workers, and several more ‘reduce’ workers. The master keeps track of the status of each worker, to allow for rescheduling if a worker machine fails. The map workers are tasked with a subset of the initial data, and their job is to map it. When they are finished, the master is notified and assigns a reduce worker. The reduce worker reduces the data and append the result to whatever it had already reduced.
The key is in an intermediate ‘reduce function’ that tells the map worker where to put its results (such as key MOD R, where R is the number of reduce workers). Based on its location, the reduce workers can effectively work on unique sections of data. The reduce workers then output their own output file as a result, allowing for several reduce workers to chow down on the data simultaneously.
If your curious to learn more, I highly recommend giving the article a good read. Find it here.

関数型言語Erlangをいじってみる


こんにちは。流行り出す前のあまりメジャーでないものをこよなく愛する高浦です。
前の記事で関数型言語について触れました。
Lisp,Haskell,Erlang,OCaml…
いくつかの関数型言語をいじってみた結果、自分的にはErlangが一番とっつきやすかったのでしばらくこれで遊んでみようかと思います。
まずはMacにErlangをインストールするところから。
LeopardにErlangをインストールするにはMacPortsの動作する環境でターミナルを開き
 $ sudo port install erlang
の一行を打ち込むだけです。
ただし、結構待たされます。僕は20分位かかりました。
Snow Leopardの人は、、、ごめんなさい。64bitモードなどの関係でビルドエラーがでます。解決法を今探しています。
インストールが終わったらErlangシェルを立ち上げてみましょう。
 $ erl
と入力します。するとシェルが立ち上がり、
 1>
のように表示されて式を入力できるようになります。
試しに何か打ち込んでみましょう。
 1> 1+1.
 2
式「1+1」を入力し、「.」で式を評価します。すると2が帰ってきます。
関数型言語ではこのように与えた「式」を「評価」していくことでプログラミングを進めます。
次回はもう少し進んだことを紹介します。

コニット開発室

CONIT Official Tweet

CONIT Facebook FanPage

CONIT BLOG

株式会社コニット

SamuraiSmartphoneServices

Buy and take only medicines from online pharmacy ,]}$ drugs online has affordable prices. Brand name drugs Canadian pharmacy [*}: compare drug prices Canada delivering medicines at your door. Free online consultation at https://canada-pharmacy-store.com <;) order cialis highest value and quality. Is it legal to mail prescription drugs? Yes, Canadian drugs [.($ order viagra . After ordering you will be contacted by our managers and agree on the delivery details.