2012-01-01から1年間の記事一覧
はじめに 極めて個人的にC#教えているのだけど、やはりノート代わりに教えたことを纏めておく必要性を感じたので、ページを作ってみた。http://ponkotuy.com/csharp.htmlデキが良いかは分からないけど、役に立つ人が出るといいなぁって。意見等はここに書い…
はじめに Scalaなら超簡単に並列化できる(Erlangっぽいらしい) ScalaならJavaのライブラリが使える JavaにはTwitter4jという優秀なライブラリがある 結論:ふぁぼ爆撃するしかない コード package com.ponkotuy.twitter import scala.collection.JavaConve…
boost::intervalとはなんぞや https://sites.google.com/site/boostjp/tips/interval_arithmeticにあったりするが、要するに数値の範囲を扱うライブラリで、区間演算とかできたりするが、とりあえず範囲の重複だけでも取得したい!と思ってScalaでその部分だ…
はじめに Scalaで使える日時を扱うライブラリの1つにorg.scala_tools.timeがあるが、これjoda-timeの薄いラッパーで、ドキュメントもマトモにないので、結局joda-time調べた方が早いという話があったりする。で、時刻の差を取得したいときに少しハマったので…
はじめに Scalaにある+=演算子、これってAtomicじゃないの?という疑問があって調べてみたの巻。やりたいこととしては、parでスレッド分けてmutableな変数に+=でアクセスしたらどーなるのよ、という話。 サンプルコード object Main extends App { var count…
http://d.hatena.ne.jp/ponkotuy/20121021/1350843787で書いたが、Ubuntuってインストール簡単だけど基本カスタマイズできないよね、という話がある。ただ流石にUbuntu Serverだとどうなの、と思ってUbuntu Server 12.10試してみたら、すんなりSoftware RAID…
はじめに VAIO ZにXubuntu入れようと奮闘した過程で得た、手動でインストール構成した際に、UEFI起動と/をbtrfsでインストールする方法のメモ。考えて欲しいのは、Ubuntuってのはdisk1台全体使ってインスコする分にはとっても簡単だけど、それ以外の方法だと…
やりたいこと 文字列のアルファベットをaddだけずらす(a->b->cのように)ことをしたい。abcdzをadd=1でずらすとbcdeaになる、みたいな感じ。 Scalaで書いてみた らこうなった。 new String ( str.toLowerCase(Locale.ENGLISH).map{ it => (it - 'a' + add) …
状況 最近のマザーボードは、2TB超のHDDに対応する為にBIOSではなくUEFIを搭載したものが多い。一方でLinuxにとって必ずしもUEFI対応が完璧かというとそうでもなく、今回ハマったのでちょいとメモ。 結論 結論から言うとUbuntuSecureRemixを使えば適当にイン…
闇鍋勉強会とは 冷静に考えてみると説明できないからここを見よう。http://atnd.org/events/29973まぁ技術的にすごい人がアホなこととか真面目な事とか発表する場です。 LT枠で発表してきた! 私も簡単ながらLT枠で発表してきました。元々用意してたのはJenk…
yesベンチマーク UNIX系OS(?)にはyesコマンドがある。これをベンチマークに使えないかとふと思い立ったので試してみた。yesコマンドには回数指定するものが無いので、head -nで回数を指定した。今回は1000000回で行った。 $ time yes | head -n 1000000 R…
LinearSeqの長さを制限する LinearSeqの長さが一定を越えているか見たいとする。ScalaのLinearSeqはListのような、次の要素へのポインタを持つだけの再帰的かつ単純な実装を前提にしている。この為、LinearSeqの順番のアクセスは早いが、lengthを取得するの…
8:45 起床 10:00〜21:00 お仕事 21:00〜22:00 喫茶店で勉強orゲーセン 22:30〜24:00 帰宅。fadisからチャットが飛んできて講義が始まるかプログラミング 24:00〜26:00 ゲーム 26:00頃 就寝
ことのはじめ TwitterでPythonのwith構文分からん、って言ってる人がいて、てけとーに返事してしまったのだが、ふと調べてみたら違ったのでちゃんと理解しておこうと思った。 実際のwith構文 withはclassの生成と削除をコントロールすることで、RAIIを実現す…
Mavenとは Javaのantの次世代を謳うビルドツール。Pluginを追加できるのでキモい程高機能で、コンパイル→テスト→実行→コードチェック→デプロイ→リリースまで全てこなせる。というか途中からCIツールの仕事なんだが奪うなよwPluginを追加できるので、Scalaで…
HBaseとは 超大規模データを扱う為に作られたKey&Value型のDBで、所謂NoSQLの1つ。Hadoopの上で動く。私的には、列圧縮ができるのが最大のウリだと思っていて、あとCassandraよりは多機能な印象。(ただし速度では劣る傾向) とりあえずセットアップ http://…
はじめに JenkinsのMercurialのパス設定に5時間掛かったのでメモ。とは言うものの、別にMercurial関係無く躓く可能性がある。 結論 JenkinsはSCMを選べる。選べるというのは、Mercurialとかgitとかではなく、どのMercurialか、まで選べる。従ってどのMercuri…
ary[-1]の動作 配列の-1番目の要素を指定した場合何が起こるのかちょっと興味あったので調べてみた Pythonの場合 我らがPythonは後ろから1番目の意味になる。 ary = [1,2,3] print(ary[-1]) # 3 Rubyの場合 RubyもPythonと同じ仕様 ary = [1,2,3] puts ary[-…
そもそもの発端 FedoraだったかRed HatだったかCentOSだったかは知らないが、「yumでpythonをremoveするとKernelもアンインスコしようとするんだけどwww」とかいう話があったので、じゃあUbuntuでもapt-get remove pythonしてみよう!という話。 Ubuntu Serv…
D言語の強力なparallel機構 D言語でOpenMPと似たようなことをやろうと思ったところ、parallelismというライブラリをTwitterで勧められたのでやってみた。こんな感じhttp://dlang.org/phobos/std_parallelism.htmlちゃんと読んでないので詳しいところは分から…
残パン会とは 残念な言語で残念なものを、残念パンをもそもそしながら新聞紙引いた残念な場所で適当に書く。 Perl6とは 「Perlのようなもの」 とか言われてる、Perl5とは別物。らしい←本人Perl5知らない。 Perl6の特徴とか PerlなのにClojureとかclassとかあ…
やること Python上のmsgpack-rpcで簡単なデータ同期用DBを作る。 msgpackの超簡単な説明 JSONみたいなテキストをマシン間転送で使うのは遅いからバイナリでやろうぜ!っていう規格。BSONに良く似てる感じ。http://msgpack.org/msgpack-rpcはmsgpackを使って…
結論 どうやらTwitterは垢を消したユーザの全発言のdeleteイベントをフォロワー(未確認)のUserStreamに投げているらしい。 事の経緯 自作クライアントはUserStreamで動いていて、届いた全てのstatusに番号を振っているのだが、表示されているstatusの番号…
Ubuntu12.04LTSキタコレ! 意気揚々としてUbuntu12.04にアプデしたので、とりあえずUnity、GNOME-shell、XFCE4と一通り試してみることに。UnityはLTSになっただけあって安定してきたと思う。特にデュアルモニター周りはGNOMEにかなり追い付いてきてる様子。…
はじめに 方向を以下のように定義しておく 上(0度):0 右(90度):1 下(180度):2 左(270度):3 すると、90*n度回転させる処理はそのまま足し算で実行できる。 だが、1回転した場合0-3に正規化する必要がある。 この処理のお話。 剰余の限界 この正規…
おさらい 今日という日を迎えるまで、私の所有ガジェットと回線はこんなもんだった。 IS06(SIRIUS)とau回線 GALAXY Tab(SIMはあるが使わず) iPad(WiFi版) IDEOS(音楽プレイヤー) au回線のみでやりくりしていた。 不満点 最大の不満点は2年縛りである…
キャリアの陰謀 日本のキャリアは、寡占市場故にとても強大な権力を持っている。投資額・電波の占有による高い参入障壁が理由であろうか。 また困ったことに、強大な力を持つキャリアは囲い込みが大好きである。その為に奴らは端末と電波をセットにして売る…
fibonacci数とは 素直にHaskellに実装する fibonacci :: Int -> Integer fibonacci 0 = 0 fibonacci 1 = 1 fibonacci n = (fibonacci $ n-1) + (fibonacci $ n-2) これはとてもスマートだがとても遅い。どのくらい遅いかというと、50とか指定した暁には現代…
はじめに 引っ越しの為荷物整理してたら要らないけど誰か使いそうだよなーという物が出てきたので、引き取り手募集中。条件は 「送って欲しいなら送料負担、受け取るなら千葉の私の家か東京で」 「リアルで会ったことあるかマイミクかTwitterで相互フォロー…
はじめに スマホ、特にAndroidのスマートフォンは、その巨大な利便性の代償として巨大な消費電力を甘受している。最近ではメーカも分かってきてそこそこ大きなバッテリーを積むようにはなってきてるが、それでもLTEやWiMAX、大型化するモニターの前に消費電…