Boyer–Moore string search algorithm
実装したことが無かったなぁ、とふと思ったので、ちょっと書いてみた
merge sort
あまりに最近Cを書いてないので適当にマージソートでも書いてみたら、やはりスラスラかけなかった件について。
NewstreamをWebViewからListViewに変更
まとめ系ニュースを、さらにまとめて眺める系アプリ作った - komamitsu.log で作ったときはサーバー側でHTML作って、Android側ではWebViewで表示させていたのですが、どうにももっさりしていたので、えいやとListViewに書き換えました。
手元の古のIS06ではかなり画面の表示が高速化されたので嬉しい。
読んでおきたい記事メモ
http://android-developers.blogspot.jp/2011/06/new-editing-features-in-eclipse-plug-in.html
http://android-developers.blogspot.jp/2011/05/introducing-viewpropertyanimator.html
http://android-developers.blogspot.jp/2011/03/identifying-app-installations.html
http://android-developers.blogspot.jp/2011/02/android-30-fragments-api.html
http://android-developers.blogspot.jp/2011/03/renderscript.html
http://android-developers.blogspot.jp/2011/07/custom-class-loading-in-dalvik.html
http://android-developers.blogspot.jp/2011/07/debugging-android-jni-with-checkjni.html
http://android-developers.blogspot.jp/2011/06/things-that-cannot-change.html
http://android-developers.blogspot.jp/2011/01/processing-ordered-broadcasts.html
http://android-developers.blogspot.jp/2010/12/its-not-rooting-its-openness.html
http://android-developers.blogspot.jp/2010/12/analytics-for-android-apps.html
http://android-developers.blogspot.jp/2010/12/new-gingerbread-api-strictmode.html
http://android-developers.blogspot.jp/2010/12/saving-data-safely.html
http://android-developers.blogspot.jp/2010/10/improving-app-quality.html
http://android-developers.blogspot.jp/2010/10/traceview-war-story.html
http://android-developers.blogspot.jp/2010/09/proguard-android-and-licensing-server.html
http://android-developers.blogspot.jp/2010/07/multithreading-for-performance.html
http://android-developers.blogspot.jp/2010/07/apps-on-sd-card-details.html
http://android-developers.blogspot.jp/2010/06/game-development-for-android-quick.html
http://android-developers.blogspot.jp/2010/05/dalvik-jit.html
http://android-developers.blogspot.jp/2010/05/be-careful-with-content-providers.html
http://android-developers.blogspot.jp/2010/04/multitasking-android-way.html
http://android-developers.blogspot.jp/2009/11/optimize-your-layouts.html
http://android-developers.blogspot.jp/2009/11/integrating-application-with-intents.html
http://android-developers.blogspot.jp/2009/05/drawable-mutations.html
http://android-developers.blogspot.jp/2009/02/android-layout-tricks-1.html
http://android-developers.blogspot.jp/2009/02/android-layout-tricks-2-reusing-layouts.html
http://android-developers.blogspot.jp/2009/03/android-layout-tricks-3-optimize-by.html
http://android-developers.blogspot.jp/2009/02/faster-screen-orientation-change.html
http://android-developers.blogspot.jp/2009/01/why-is-my-list-black-android.html
まとめ系ニュースを、さらにまとめて眺める系アプリ作った
https://play.google.com/store/apps/details?id=com.komamitsu.newstream
ちょっとした暇なときに、カジュアルなニュースを流し読みできるアプリです。 発言小町、知恵袋、はてなブックマーク、NAVERまとめの最新情報をまとめて読めます。 元々、AppStoreのNewsStormっぽいものを探していたのですがAndroidアプリで良さげなものがなかったので、 自分好みのものを作りました。機能を絞ってシンプルにしてあります。 各ニュースをクリックすると、普段使い慣れているWebブラウザで詳細を閲覧できるので、URLの共有等はそちらから行ってください。 また、電波が届かない場所でも、前回閲覧したニュースを楽しめるようにしてあります。
もともと個人用でやっつけで作ってあったのだけど、折角なので少し手直ししてリリース。
テトリスっぽいけどテトリスじゃないアプリを作った
https://play.google.com/store/apps/details?id=com.komamitsu.pentaris
以前作ってみたテトリスアプリは
This is a notification that your application, Ketris (Tetris clone), with package ID com.komamitsu.ketris, has been removed from the Google Play Store. REASON FOR REMOVAL: Alleged copyright infringement (according to the terms of the Digital Millenium Copyright Act). All violations are tracked. Serious or repeated violations of any nature will result in the termination of your developer account, and investigation and possible termination of related Google accounts. Please review the Developer Distribution Agreement and Content Policy to ensure that your applications are compliant with our policies.
ということでremoveされてしまったので、テトリスのテトリスたる四つのブロックを使わないように五つのブロック中心のゲームに変更して作り直してみた。
ゲームバランスは微妙... テトリスよりも悩みどころが多いのでやりごたえはあるけど、テトリス好きにそのままお勧めできるかどうか....
まぁ、ちょっと様子みる感じで。
[ocaml] OCamlでLispのサブセットっぽいのを作ってみた
https://github.com/komamitsu/OCaml-minilisp
先日、仕事が一区切りついてボーッとしていたところ、「そういえばLisp系の言語に疎いなぁ自分」とふと思ったので、簡単なLispのサブセットを作ってみた。いま見ると文法的にはSchemeぽい。
こんな感じでREPLしたり、
$ ./minilisp minilisp> (define (fib n x1 x2) (if (<= n 0) x1 (fib (- n 1) x2 (+ x1 x2)))) Func(fib, [n, x1, x2], Cond(Apply(<=, Var(n), Num(0)), Var(x1), Apply(fib, Apply(-, Var(n), Num(1)), Var(x2), Apply(+, Var(x1), Var(x2))))) minilisp> (fib 100 0 1) Num(3736710778780434371)
ソースファイルを読んで評価したりできる。
$ cat sample.minilisp (define (fib n x1 x2) (if (<= n 0) x1 (fib (- n 1) x2 (+ x1 x2)))) (print (fib 100 0 1)) $ ./minilisp sample.minilisp Num(3736710778780434371)
フィボナッチ数列でも計算できれば良いか、くらいの感じだったので、気がついたらcarもcdrも実装してなかった(シンボルもない)という何だかやる気のない感じが... 気が向いたらlambdaとかprognとかも一緒に実装しようかなぁ。気が向いたら。