ナカザンドットネット

それって私の感想ですよね

Android版Facebookアプリ内で使われているOSSを眺めてて見つけた43のライブラリ

メニュー>概要>ライセンス の中にあるアレですね。

なんか良いUIライブラリ見つからないかなーと思って探し始めたら、案外と色々入ってて心折れそうになった。

どこで使ってんだよそれ感高い奴もかなりありますし、明日からでも使ってみたいJoda-Timeのようなライブラリもありました。コピーレフトで仕方なく書いてあるんだろうなあ的な、内部ライブラリっぽいものは省いてあります。

さあ、頑張ってみていきましょう。

AChartEngine

https://code.google.com/p/achartengine/

グラフとか書ける系のアレ。

Application Crash Reporting for Android

http://acra.ch/

通称ACRA。クラッシュレポートをPlayストアとは別に収集する系のアレ。 某秋田の地ビールとは関係ありません。

ActionBarSherlock

http://actionbarsherlock.com/

元祖・Android 2.xでもActionBarが使えるライブラリ。 そのうちActionBarCompatに書き換わったりするのかなあ。

続きを読む

#MFT2013 で見つけた色んな時計

Maker Faire Tokyo 2013に行ってきました。
気付いたら色んな時計の写真を撮っていたので、この場でご紹介します。

ニキシー管

シュタゲにすぐに結びつけるのは安直かもしれませんが、やはりというかなんというか、時計制作の一番人気はニキシー管でした。

f:id:Nkzn:20131105235249j:plain
f:id:Nkzn:20131105235251j:plain
f:id:Nkzn:20131105235253j:plain
f:id:Nkzn:20131105235254j:plain
f:id:Nkzn:20131105235255j:plain

VFD

昔の車のアクセサリを思い出す感じの蛍光表示管も割と人気でした。

f:id:Nkzn:20131105235455j:plain
f:id:Nkzn:20131105235458j:plain
f:id:Nkzn:20131105235616j:plain

その他の時計たち

なんかカラフルな時計

f:id:Nkzn:20131105235919j:plain

アクリル板に傷つけてニキシー管的に表示してるやつ

f:id:Nkzn:20131106000112j:plain

なぜか常にNTPサーバーと同期しているやつ

f:id:Nkzn:20131106000124j:plain

やっちまった時計①「NAND回路だけで作った時計」

f:id:Nkzn:20131106000508j:plain

学生さん。『教科書に作れるって書いてあったから本当にやってみました』とのこと。
デバッグ用のLEDがいい味出してる。

やっちまった時計②「オシロスコープ時計」

http://oscilloclock.com/ の中の人。
なんていうか色々とおかしい。
電子銃こそオシロスコープを分解して流用しているので自作していないが、基板やソフトはフルスクラッチ。基板は自前でエッチングを行い、ハンダ付けも手作業でやるという恐ろしい手のかけ方。

これが波形とは信じがたい・・・

f:id:Nkzn:20131106000925j:plain
f:id:Nkzn:20131106000922j:plain
f:id:Nkzn:20131106000924j:plain
f:id:Nkzn:20131106000927j:plain

まとめ

みんな時計好きだな!!!!

Scala入学式 #NDS33 で長岡に行ってきました

f:id:Nkzn:20130929101652j:plain

ドーモ、テイトク=サン。ナカザン=デス。

9/28に新潟県長岡市で行われた、第33回長岡IT開発者勉強会に行ってきました。

今回は「Scala入学式」と銘打って、 id:nkgt_chkonk さんプロデュースによるハンズオンイベントでした。
僕も2ヶ月前くらいからちょこちょことScalaをやっていたので、これは参加せにゃならんということで行ってきました。

結論から言うと大満足なイベントでした。今回は、その報告を書こうと思います。

※他の人の記事はこちらから→ http://nekogata.hatenablog.com/entry/2013/09/28/185217

やったこと

内容と感想を並べていきます。

入学試験(事前準備)

資料→ https://gist.github.com/Shinpeim/db00b073f7acd6d5b918

まずは環境作りから。
IntelliJ IDEAとSBTを利用する形の、スケールしやすい形の開発環境を揃えてくれていました。
HelloWorldまでしかやらない分には、実はIntelliJ IDEAだけあればできてしまうので、「なんでわざわざSBT依存の実行環境にすんねん!いちいちrun叩くの面倒やろ!」とは思ったものの、Java文化圏最大のライブラリアーカイブMaven Central Repositoryからデータを引っ張ってこれるというのはかなりの強みなので、まあ覚えておいて損はないのだろうと思いました。
テスト実行とかもコマンドラインからできるので、Jenkinsに載せてCIする場合にもSBTが便利なんでしょうね。

第1部 Better JavaとしてのScala

資料→ https://gist.github.com/Shinpeim/6740436#file-00-md

スーパー写経タイム。
とりあえずclassとかobjectとかtraitとかを自分の手を動かして作りながら、初期化の仕方や構文などを学びました。
printlnで表示する内容がドラクエじみていたというか、テーブルトークRPGじみていた点が分かりやすくて面白かったです。Weaponトレイトとかテンション上がりましたわー。

第2部 もっとScala!

資料→ https://gist.github.com/Shinpeim/6740436#file-01-md

  • 基本的なデータ構造の1つであるリストの扱い方
  • パターンマッチ
  • Option型
  • 関数型としてのScala
    • foreach
    • map(flatMap)
    • filter
  • 実は↑はfor-yieldに書き換えられるよ的な話とか

みたいな感じでモリモリとScalaの便利な仕組みについてお話ししてもらってました。ハンズオンちょっと少なめ。

資料の方には書いてあったけど、リストのimmutableとmutableの違いについては言及されなかった気がする。
immutableなリストをfilterやmapで加工したときに出てくるリストは、元々のリストオブジェクトを変更したわけではなくて、新しいオブジェクトが生成されてる、という認識でよかっただろか。

第3部 ぬるぽガッbotを作ろう

資料→ https://gist.github.com/Shinpeim/6740436#file-02-md

Twitter4Jを使って、タイムライン上に現れた「ぬるぽ」に対して「ガッ」をリプライするプログラムを作る時間。

初期設定をしている間に、作者のヒゲメンが反応してくるという一幕も。

Javaのライブラリを普通にScalaへ取り込んで利用することができるんだよー、といういい例だったと思いました。

最終的にはこんな感じに↓

まとめ

f:id:Nkzn:20130929110743j:plain

新潟県はニー型圏!

静的型付け都市、ニー型!!!!!

圏論都市、ニー型!!!!!

素晴らしいイベントでした。まる。

May the Type be with you...

#新潟ラーメンバトル 2013非公式アプリをPlayストアにリリースしました

f:id:Nkzn:20130926001019p:plain:w240
新潟ラーメンバトル2013非公式アプリ
https://play.google.com/store/apps/details?id=net.nkzn.android.app.ramenbattle

はい、というわけで今年も昨年に引き続き、新潟のラジオ局FM KENTOさんが主催している新潟ラーメンバトルのアプリを作っちゃいました。

昨年はアプリを作るだけで精魂尽き果ててしまったので、今年はちゃんとアプリの見どころを紹介したいと思います。

なにこれ?

なかざんのなかざんによるなかざんのためのアプリです。
ラーメンバトルを120%楽しむための機能を独断と偏見で詰め込みました。

全店舗を1回ずつ回るという最終目標にフォーカスした機能が入っています。

めぼしい機能としては

  • 済スタンプによる達成度管理機能
  • 最寄り店舗検索機能
  • 未挑戦のバトルラーメンからランダムに今日のラーメンをサジェストする機能

なんかが挙げられるでしょうか。

達成度管理

各バトルラーメン紹介の画面では、食べたラーメンに「済」スタンプを付けることができます。

f:id:Nkzn:20130926003818p:plain:h240

そして、スタンプが貯まってくると、メニューで確認したり、

f:id:Nkzn:20130926004053p:plain:h320

達成スタンプ数の画面から確認したりできます。

f:id:Nkzn:20130926003720p:plain:h320

また、↑の画面では食べたバトルラーメンの総額も確認できるため、お財布が危なくなる前に早めに気付くことができるかもしれません。

f:id:Nkzn:20130926004228p:plain:h240

最寄り店舗検索機能

これは画面を見ていただけば一発で分かると思います。

f:id:Nkzn:20130926004536p:plain

GPSを有効にしていると使える機能です。
近い店舗から順に巡って行きたいという最早自分好みのラーメンを出しているかどうかはどうでもよくなっているタイプのストイックな方にオススメの機能ですね。

サジェスト機能

f:id:Nkzn:20130926005409p:plain:h320

現在地から近ければいいやという発想を更に飛躍させてまだ行ってないところならどこでもいいやという、最早コンプリートのことしか頭にない方のために、サジェスト機能も備えております。

まだ「済」スタンプをつけていない店舗の中から、ランダムで1店舗をご紹介しますので、行って下さい。

「アプリに言われたら従うしか無いのでちょっと妙高まで行ってくる」という猛者が現れるのを楽しみにしています。

おまけ:Twitter投稿機能

f:id:Nkzn:20130926003448p:plain

各バトルラーメン紹介の画面右上にあるTwitterアイコンをタップすると、Twitter本家やTwitterアプリを開いて、店舗名をツイートすることができます。

こんな感じ↓

まとめ

仕事で作ったわけではないので一銭にもなりませんが、まあ自分のために作ったアプリなので、基本的には問題なしです。
えっ、iOS版? だれかつくれ。

ところで、



主催サイドアカウントたちの期待感怖ええええええええ!!!!!!!!!!

余談

新潟ラーメンバトル学のオープニングに延々と流れてた、ラーメン食べたくなる曲を探したら見つかった。
どうやらラーメンバトル実行委員長のswampさんの曲だったらしい。

ScalaとTypeScriptが似てる気がしたお話。

ScalaとTypeScriptを交互に勉強していたら、なんか似てるなあと思ったので、そう思った理由らしきものを書いてみた。
[JS]とあるものは、TypeScriptがJavaScriptから受け継いだ特性です。

もちろんこれ以外の視点で見れば全然違う言語だし、両者の型推論が同じレベルかというとそうでもなかったりもするんだろうけど、なんか書いてて雰囲気が似てるなあ、と思った次第。
「JSに型を付けた言語」と「Javaを関数型&スクリプトっぽくした言語」が似たような書き味に仕上がったのだとしたら、面白い話だなあ(小並感)

*1:なお、Scalaの「メソッド」はファーストクラスオブジェクトではないとのお話を id:nkgt_chkonk さんからいただきました。このへんの話らしい→ https://sites.google.com/site/scalajp/home/scala-pitfalls/method_neq_object

8/31でウォーターセル株式会社の取締役を退職しました

2013年8月31日をもちまして、丸2年務めたウォーターセル株式会社の取締役を退職しましたことをお知らせいたします。


また、2013年9月1日より、ウォーターセル株式会社に社員として入社することをお知らせいたします。




というわけで釣り記事ですが、エイプリルフールではないので本当に役員辞めました。
客観的に見ると降格人事なので、何事かと思う方もいらっしゃるかもしれませんが、今回はかなり前向きというか、喜ばしいご報告になります。

今回の人事の理由について

創業初期のベンチャーというのは、まあ多かれ少なかれ、昼も夜も平日も休日もなく働ける人間が何人か必要になるものだと思いますし、そういった目的のためには会社役員という立場が必要です。
その立場から僕が外されたということは、会社がそういった働き方をする人間を必要としなくなる程度には、不安定な状況を脱しつつある、ということになります。

今後の仕事内容について

今までと変わらないと思います。
主な業務はAndroidアプリの設計・開発ですし、イベントの説明員をたまにやったりしますし、エンジニアチームの意見調整(という名の軽い喧嘩)をするのも今まで通りです。

ただ、肩書きはまだ決まってないので、名刺作りのためにも早めに考えないとなあ、といったところです。
ハイパー○○クリエイター的なのかっこいいですよね(棒)

個人的には

個人的な思惑の話で言えば、文化祭前夜みたいな状況がずっと続くのも、楽しいといえば楽しいのですが、そろそろ身を固めないとなーということも考えたりすると、ここらで一度普通の社員に戻って働き方を考えなおすのもありかなと思った次第であります。

年収的なところで言うと、役員でも社員でも、そんなに変わらない(残業代を加味するとちょっと役員のほうが少ないかもしれない)くらいだったので、直近の判断材料としては重大には考えませんでした。

会社の利益と僕個人の利益の最大化を考えた時に、僕が役員でいたほうが互いにとって都合がいい状況が生まれた時には、また役員に指名してもらえればなあ、と思います。
まあ、一般論として、会社が大きくなった時に創業初期メンバーが邪魔になるパターンというのも世の中にはあるらしいので、役員云々言ってられる状況じゃなくなる可能性もありますが、そのときはそのときで。


そんなわけで、生まれ変わった(ように見えて何も変わっていない)中川を、今後ともよろしくお願い致します。

enchantMOON開封の儀

f:id:Nkzn:20130802003356j:plain

ちゃんむー届きましたので、新潟限定ビイル 風味爽快ニシテとチャーシューを添えてご紹介したいと思います。

注意書き

f:id:Nkzn:20130802004220j:plain

USBケーブル繋ぎっぱなしで電源入れるとバグるらしい。超クール。あとビール美味そう。

開けてみた

f:id:Nkzn:20130802004356j:plain

本体とペンがお目見え。あとビール美味そう。

付属品を並べてみた

f:id:Nkzn:20130802004529j:plain

  • 説明書
  • ACアダプタ
  • 専用USBケーブル
  • 初回限定ストラップ

あたりが入ってました。
なお、チャーシューとビールは付属品ではないですが、美味そうです。

説明書

f:id:Nkzn:20130802004839j:plain

ビールを飲みたい気持ちを抑えながら、説明書を開いてみます。

f:id:Nkzn:20130802004841j:plain

「ある日」

1ページ目から攻めてる感じですね。あとビール美味そうですね。
2ページ目以降もなかなか攻めてる感じなので、読みたい方は是非購入して下さい。
なお新潟限定ビイル 風味爽快ニシテサッポロビール創業者と初代開発者が新潟出身だったことを記念して作られた新潟限定の美味しいビールです。

Wi-Fiパスワード入力

f:id:Nkzn:20130802005715j:plain

突然見慣れたAndroidのキーボードが出てきて「解せぬ・・・」ってなったけどビールが美味しそうに写ってるので許した。チャーシューも輝いていますね。

チュートリアルでMOON書いたりしてた

f:id:Nkzn:20130802005836j:plain

間違えてペンで丸書いちゃったりしてた。コマンドのための囲みは指でやらないといけないんですね。それはそうとチャーシューが美味しそうなので早くビールと一緒に飲みたい。

おまけ:シリアル

f:id:Nkzn:20130802010147j:plain

972番でした。ビール飲みながら撮りました。

まとめ

f:id:Nkzn:20130802010249j:plain

ひと通り触ってみましたが、処理落ちによる書き損じは評判通り多いように感じました。でも、できること、できないこと、といった用途の面に限って言えば、期待を大きくは外れていないように感じました。むしろブラウザとか要らないんじゃないかと思うくらい。

それはそうと、今回紹介させていただいた新潟限定ビイル 風味爽快ニシテは、サッポロビールが新潟のために作ってくれた美味しいビールです。皆様、新潟にお越しの際には是非お飲み下さい。