2011-01-01から1年間の記事一覧

沖縄高専から公式コメント

昨日の書いた記事「磁力の引力と斥力で発電(?)する装置」を簡略・効率化してみたよで取り上げた沖縄高専:磁石の力で発電 エコエンジン研究へ(毎日新聞, 琉球新報の記事は削除されてしまったようです)という記事に対して、沖縄高専から公式にコメントが出ま…

磁力の引力と斥力で発電(?)する装置」を簡略・効率化してみたよ

SlideShareに初アップロードしてみました。磁力の引力と斥力で発電(?)する装置」を簡略・効率化してみたよ - Slide Share - 磁石の力で発電 エコエンジン研究へという記事を見て作ったものです。以前、球体循環装置とかいう発電装置が出た時に『「重力と浮力…

スーパーpre記法のテスト

ここHatena Blogもシンタックスハイライトに対応しているらしいです。 http://blog.hatena.ne.jp/-/feedback/13208692334729889835だけど、C++のソースコードをスーパーpre記法で載せたらシンタックスハイライトされなかった・・・orz 言語依存なのかな?と…

boost::asioでUDP/IP通信

C++でUDP/IP通信をやろう!って思って、 http://www.geekpage.jp/programming/winsock/udp.php とか http://www.geekpage.jp/programming/linux-network/udp.php とか を見ながらシステムコールを実装してたんだけど、よく調べてみたらboostでもUDP/IPあつか…

boost::asioでUDP/IP通信

C++でUDP/IP通信をやろう!って思って、 http://www.geekpage.jp/programming/winsock/udp.php とか http://www.geekpage.jp/programming/linux-network/udp.php とか を見ながらシステムコールを実装してたんだけど、よく調べてみたらboostでもUDP/IPあつか…

はてなブログへ潜入成功

というわけでテストテスト

-1ボタンを表示させてみた

この前の高専カンファで少し話が出たから作ってみた。 Chromeのエクステンションとして組み込むと、Google+のストリームに-1ボタンが現れるよ! http://sora-blue.net/~shogo82148/minus-one.crx ってところまでは簡単にできた。 押しても何も起きません。押…

関数を呼び出すとなぜかリセットがかかる件について

AVRのプログラムで関数呼び出しすると、なぜかマイコンリセットがかかる現象に悩まされています。わけがわからないので、以下の簡単なLEDチカチカプログラムでテスト。 Osで最適化、ターゲットはATMEL AVR ATMega64です。PC3にLEDのアノードが接続されていま…

Visual Studio 2010 Express のプロパティページでユーザマクロを使う

Visual Studio のプロパティページでは、外部ヘッダーファイルやライブラリへのパスをGUIで設定する必要がことができる。SDLやらOpenCVやらを使いたくなったので、ここをいじってたわけだけど、ヘッダーファイルには「C:\SDL\include」を追加して・・・リン…

PerlでShiftJISを読み込もうとしたらデコードできないと言われた件について

2chの過去ログで遊ぼうとPerlを使っていじっていたのです。 2chのファイルはShift-JISで書かれているわけですが、文字コードの違いとか面倒なのでPerlのIOレイヤを使ってUTF-8へ変換しようと open my $datfile, "<:encoding(shift-jis)", "000000000.dat"; while(my $line=<$datfile>) { print $dat; } みたいな感じのプログラム</:encoding(shift-jis)",>…

ICUとesaxxで極大部分文字列を求める

「全ての部分文字列を考慮した文書分類」って論文の真似事をしてみようと、まずは極大部分文字列の抽出をやってみた。 極大部分文字列の作り方を調べていると、esaxxっていうライブラリが便利らしいとの情報を発見。(極大部分文字列 - アスペ日記)早速やって…

シリアル通信のラッパー書いてみた

WindowsでもLinuxでも使えるシリアル通信ラッパー書いてみた。ロボットにPC載せて、もっと賢いことをしてみようと計画中。これをやろうとすると、PCと周辺機器との通信が必要になるわけですね。方法はいろあるのでしょうが、最近大活躍のFT232RLを使ってUSB-…

FT232RLでAVRライタ

以前作った学習リモコン(学習リモコン作ってみた - shogo82148の日記)のプログラム書き込み機能を取り出して、AVRライタを作ってみた。 参考にしたのはすzのAVR研究: FT245R/FT232R で avrdude (2)。能動部部品はFT232RLだけで、あとはコネクタ(USB-miniとI…

花火の高さを測るアプリを作ってみた

今日は長岡の大花火ですね! 花火大会といえば、光と音の速度差を体感することのできる素敵なイベントです。 「1,2,3・・・」と数を数えて花火までの距離を測ったことのある方も多いと思います。しかし、所詮人間の感覚ですからね。あまり正確なものではあり…

SL4Aでインターバル撮影してみる

よくあるインターバル撮影。それだけじゃつまらないからツイッターつぶやき機能をつけてみたよ!これでちゃんと動作しているかをリモートで確認できます。 tweepyをつかっているので、別途インストールが必要。先頭のwakeLockAcquirePartialはCPUスリープ防…

SL4A+PythonでAndroidをリモートコントロール

SL4Aのリモートコントロール機能を使って、Androidをリモートコントロールするメモ。SL4AのプロジェクトページにRemoteControlってページがあったので試してみた。 僕の英語能力では理解できなかったのでSL4A/ghome makotofも参考に。 Android側準備 SL4Aを…

ICPC練習会2011 Problem.D 6÷2(1+2)

演算子の優先順位がわからないときに、何通り答えがあるかを求める問題。 頑張ってDPを使って解いてみた。 CYK法(Cocke-Younger-Kasami法:文脈自由文法が与えられたときに構文木を導出するアルゴリズム)みたいな手法。 授業で扱ったような気がするけど、実際…

ICPC練習会2011 Problem.C 最短ルート

ステージをクリアすると装備品がもらえる。装備品によって、ステージのクリア時間が変わる。 今持っている装備品を状態として、メモ化再帰して解いてみた。最小全域有向木を使うともっと早いらしい。 http://www.prefield.com/algorithm/graph/chu_liu_edmon…

ICPC練習会2011 Problem.B ブレイブ・フォース・ストーリー

nステップ六角形のマスを移動できるとき、移動可能なマスはいくつあるか数える問題。 障害物があるのでただ数えるだけではダメ。 深さ優先でもいけるよね・・・と思ってやったら、複雑なことになってしまった。マスが正方形ならそれでいいんだけど、この問題…

ICPC練習会2011 Problem.A koukyoukoukokukikou

配列にどっちの手でタイプすればいいか保存しておけば簡単簡単。 と、思ったら、その配列を自分で作らなくちゃいけなくて面倒だった。 右手で打つ文字リストを作って、その中にあるかないかを見た方が、実装するのは簡単だったかな。 #include <iostream> #include <string> us</string></iostream>…

ICPC練習会2011 Problem.E ケーキ分割問題

解説を参考にして書いてみた。 台形の面積を求めるだけ!って所だけみて書いたら、「あれ?いちごがy軸上にあるとき、上底と下底求められないじゃん」ってなった。 中点の長さを求めればいいんだね。小学校レベルの式がでてこない自分orz あとy2の範囲がケー…

OMakeってのが便利らしい。 OMake つかって LaTeX コンパイルしたら簡単すぎて身長が5cm伸びた かなり流行に乗り遅れた感があるけど、試してみた。今回はWindows上でテスト。 公式ページからmsiファイルをダウンロードしてインストール。 パスの設定とかも全…

研究室のロゴをPolyglotなQuineにしてみた

Quineだけじゃ物足りないので、Polyglotにしてみた。 さっきのプログラムと一緒でperlで処理すると自分自身を再生成。rubyで実行すると僕の研究室の英語表記を表示してくれるという英語圏の人にも優しい親切設計になっています。 q= "a bc de fghijk "; eval…

研究室のロゴをQuineにしてみた

GoogleがQuineで自分のロゴ作ってたから、僕も真似して研究室のロゴQuineにしてみた。 perlで実行出来るよ! $_ =q {$ a= "hjajK Jk l9fasd(&'& $%&%$&gash se tr ya aa a5 4w 43 3y tuitiutg&( %&'hgu iiugS& )( &) (&iyhi lh ihIUGUGgkj gj HH Ih g; et jk…

Google Code Jam 2009:Round2 Problem D. Watering Plants small

2つのスプリンクラーで円形のPlantに水をやる問題。 Large問題は検討もつかないけど、Smallなら簡単。n=1のときは、そのPlantの半径がそのまま答え。 n=2のtきは、2つのPlantを比べて大きいほうが答え。 n=3のときは、1つと2つのグループに分けて、それぞれ…

Google Code Jam 2009:Round2 Problem A. Crazy Rows

行列を隣り合った行の入れ替えによって下三角行列に変形する問題。以前他のところで見た気がする。何かの解説記事かな? 上から順番に見て、条件を満たしていない行があれば、条件を満たす一番近い行と置き換える。 これを全部の行に行えばおk #include <iostream> #i</iostream>…

Google Code Jam 2010:Round2 Problem C. Bacteria small

セル・オートマトンみたいな問題。Small程度のデータセットなら実行例のようにシミュレーション可能。 バクテリアの初期位置は100マス×100マスの範囲内。この範囲の外では、北と西に同時にバクテリアが存在することは無いから、この中だけでシュミレーション…

Google Code Jam 2010:Round2 Problem A. Elegant Diamond

ダイヤモンドを拡張して上下左右対称にする問題。 拡張する時、追加する文字によってコストが違う物だと思い込んでいた。大きさしか関係ないんだね。 一位とった人のソースコードを読んで気がついた。自分なりに書きなおしたのが以下のコード。 1行読み取り…

Google Code Jam 2010:Round 2 Problem B. World Cup 2010 large

この前のGCJ2010 Problem BをLarege問題用に書きなおし。 と、言っても、ほとんどContest Analysisの書き写しですが。前書いたプログラムは、実際の試合順にDPをやってけど、今回は後ろからメモ化再帰。 状態は試合番号とその後観る予定の試合数。計算量はO(…

Round 2 Problem B. World Cup 2010 small

Google Code Jam Round 1 は最高1008位でした。あーあRound2へは進めないな・・・と思ったら、おめでとうメールが。 確認するとちょうど1000位になってるよ!よくわからないけど、Round2に進めることになってしまったので、練習練習。 http://code.google.co…