2008年8月アーカイブ

ubuntu_gcc

最近、とにかく Linux 業界では Ubuntu が流行りのような気がします。

僕は、あのディズトリビューション、あまり好きではないのですが、確かに最初に Linux に触れるにはよいディストリビューションかも。

だけど、なんか変なところもあるということが、今回の探りで明らかになった。

このきっかけは、キャンプで知り合った中学生 id:gin5005 氏の疑問である。

gcc は動くんだけど、何やら大量にエラーを吐かれる。

それも、stdio.h がないとか言われる。

さらに、printf なんじゃそりゃ?とか言われる。

これはもしや・・・。変な想像が頭をよぎる。

○ 8/29 21:51 IPアドレスが変わりました >211.4.67.34
▲ 8/29 21:51 にtechno-st.net [VALUEDOMAIN]の実行に失敗しました
Error: サーバーでエラーが発生しました

 

って、エラーが発生してそのまま放置されても困るんですが。

夏休みなんで、携帯を肌身離さず持ってるわけじゃないし、落ちてることも知らずゲームやってましたw

21時ごろから、2時過ぎまでサーバー落ちてたみたい。

またやっちまったな~って感じ。

なんで、DDNS の更新に失敗したんだろう、おかしいなぁ。

consolas_nojp

Consolas フォント、とても気に入っています。

文章はメイリオですが、ターミナルとかエディタ使うときは Consolas が最近お気に入りなのです。

だけど、日本語を使うと...

こんな感じで、ひどく文字化けします。

でも、どうせ日本語なんて "パスワードが違います" とか、"セグメンテーション違反です" とか、それぐらい英語で出してくれ、というより内容があからさまに推測できるようなものなので、特に文字化けしてても不自由感じないのですが。

たまに、マニュアルが見たくなって man とかすると、さすがにこれは解読不可能です。

じゃあ、いっそシステムの言語を英語へ・・・ってそれもなかなか気が引ける。

なんか、ソフトによっては ASCII だけフォントを変えることができるとか、いろいろあるみたいですが。

僕は、なぜか TeraTerm ユーザーなのですが、TeraTerm にはそんな設定ない。

どうにかして、TeraTerm で Consolas フォントで日本語をちゃんと表示できるようにならないだろうか...

なんとなく、昨日のデバッガの使い方応用編。

もうちょっと、効率よく使ってみよう的な。

というか、付け足しみたいな・・・。

昨日の続きで行きますので、そのつもりで。

Screenshot-emacs-01

今日は、キャンプで習ったことを少し書きます。

gdb を使った C 言語のデバッグ方法です。

C 言語って、以外にデバッガ使わないで開発してる人も多いのでは?

キャンプでやった時のように、ただ gdb を使うだけじゃなくて、emacs との合わせ技で "おいしいデバッグ生活" と。

使いこなせれば、某 /Y\$ 社製 IDE のデバッガにも(ry

忘れてしまいそうなので、独自にメモっておくためにも。

なんか、このへんのことがテキストにもあんまり載ってなかったような気がしたので、参加者の方もおさらいがわりに利用してみてください。

Emacs 信者になりつつある僕が書いたものなので、emacs がある程度使えないと厳しいかもしれないけど。

Emacs があれば、なんでもできる!(何w

一応、超やさしく書いてみます。

IMG_2130

突然、アドエスの電源がつかなくなりました。

どうも故障した模様です。

充電ケーブルをさしても、充電されません・・・。

ということで、WILLCOM PLAZA に修理に出してきました。

水戸には、微妙なところに WILLCOM PLAZA があるのでなかなか行きづらいのですが、つくばに用事があった帰りに時間があったので、ちょっと立ち寄ってみました。

image288

Movable Type が 4.2 にバージョンアップしたみたいなので、アップグレードしてみました。

そしたらですね、無残なエラーを吐かれました。

アップグレード中にエラーが発生しました failed to execute statement CREATE INDEX mt_comment_blog_stat ON mt_comment (comment_blog_id,comment_junk_status,comment_created_on): Table 'mt_comment' is marked as crashed and should be repaired at lib/MT/Upgrade.pm line 2595.

どうも、MySQL のデータベースがクラッシュしたようです。

というのも、これは何となく心配していたことで・・・。

このときに派手にやられてますし、そのあとキャンプから帰ってきた後も、連続で停電することが何度か。

iptables のログをとっていたデータベースも破壊されていたんですが。

どれもこれも、雷の仕業ですが。

ここ最近、関東地方は雷雨が突然ということが多いです。

うちは、UPS なんか設置してないので、停電すると結構大変なんです。

だけど、さっきまでコメントとかもちゃんと動いてたのに、アップグレードしたらエラー吐かれても・・・。

この間、ずっと壊れたまま動いてたってこともすごいけどw

image278 

セキュリティ&プログラミングキャンプで作った、僕のプログラムを公開します。

参加者の皆さんはわかると思いますが、最終日に発表したあれです。

普通のテトリス + Webcam で赤に反応するテトリス。

Webcam を使って、赤い部分がある場所によって、左右に動いたり回転したりします。

製作時間、12時間ぐらいです。

Webcam で操作する部分を実装したのは、2時間ぐらいですかね。

あとの 10 時間何やってたって?!

Processing のレファレンスをじっくり読んでたのと、C から移植したやつのデバッグw

ちなみに、これは Java? って思う人も多いと思いますが、Processing という言語を使いました。

まあ、系統としては Java です。

仕組みはよくわかりませんが、たぶん Java で動いています。

この言語、チューターの方に見せてもらって初めて知ったのですが、なんかすごい面白そうだったのでやってみました。

Processing を知った日に徹夜して、これを作ったわけですから、Java とか C に慣れていれば、なんでもできちゃうぐらい簡単な言語です。

で、いろんなことが簡単に出来すぎる!

最初から、この言語覚えると、宗教的な感じになりそうな予感w

今日で、セキュリティキャンプも終わり。

そう終わり。

ちなみに、僕は徹夜でしたwww

(夜の、TopCoder 大会になんとなく参加したかったけど、それどころじゃなかった)

チューターの方に、Processing を勧めてもらって、いろいろやってたんだけど。

最初は、ネットワーク対戦を作ろうってことだったんだけど、なぜか最後は Webcam になっちゃったw

ということで、とりあえず作品は無事完成して、発表順が一番最初だったんで、なんとなく受けたようです。

Webcam で、テトリスを操作できるという、Wii 的な要素を取り入れたみたいな。

一番ふざけて他チームかもしれない?!w

僕の作ったやつよりも、同じチームの Flash で作ったやつの方が明らかに面白そうだったけど。

まあ、このキャンプ、なにかが得られれば、きっとそれでいいんだ。ということで。

最後のプレゼンは、セキュリティコースの方もいろいろと面白かったですねぇ。

どこのチームもよく考えてるなと。

終わりかぁ。終わりか・・・。

4日目は、いろいろと大変な一日でした。

この日で、キャンプの講義は最後となります。

そして、夜にはてなの伊藤直也の特別講義でした。

この講義が、大変良かった。

話によると、泣いてた人もいたらしい?!

とにかく、いろいろな気持ちがこみ上げてくるような話だった。

そのあと、BoF とかもやったわけですが、なんかもう終わりかと思うと・・・。

キャンプの day4 の記事を書きたいところですが。

昨日の夜から、さっきまで、約24時間ほどサーバーが落ちてましたw

原因は、雷雨による停電の連続がおきて、ファイルシステムがクラッシュ。(そのほかにも MySQL の DB も一部クラッシュ。MTじゃなくて安心。

たぶん、起動して、起動中に停電して、また起動して、また停電しての繰り返しでバグっちゃったんでしょうね。(それにしても、これはひどい。

で、最初原因がわからなくて、LAN ケーブルをつなぎ変えろと妹をリモート操作したのだけど、流石は僕の妹だ。(何

PS3 とモデムを直結してくれましたw

2階のハブ (サーバーがつながってるやつ) とモデムを直結してほしかったのに、PS3 と間違うとは。

確かに、ケーブルが出てきてる方向が一緒なのだが・・・。

何やってんだか。

結局、さっきキャンプから帰ってきて、ファイルシステムは fsck を何回かやったらなおって、サーバー自体は立ち上がったのに、ネットにつながらないからなんだろうと思ったら、LAN ケーブルがとてつもない配線になっていたわけです。

結構、いろんな人からブログ見れねぇ~!!って連絡があったので、ちょっとびっくりです。

お騒がせしました。

今日は、ドワンゴに行ってきました。

と、言っても、その先は大人の事情による秘密ですw

ちなみに、本当に眠い。

これは危険だ・・・。

今日は早く寝よう。

SuperCon のときより、睡眠時間が少ないかもw (あの時は電車の中で寝れたし。

#include <stdio.h>

int main(void)
{
    int *c;

    *c = 6;
    printf("%d\n", *c);

    return 0;
}

 

今日、一番面白かったのはこれです。

まあ、普通に Segmentation fault になるわけですが。(あくまで普通は

やってる環境は、Debian ですが、個人的に VM で OpenSolaris 動かしてやってみたら、なんと "6" と普通に表示されたw

なんで?といろいろ試してみたけど、gcc のバージョンの問題っぽい。

gcc が古い (version 3.4 とか) だと、セグらない模様。

さあ眠いぞ~w

IMG_2122

いま、幕張の OVTA (海外職業訓練協力センター) にいます。

セキュリティ&プログラミングキャンプ2008 に参加しています。

僕は、プログラミングコースに参加しているのですが、今日が初日でした。

今日は、プログラミングの基礎と、テトリスを作ったりしました。

テトリスは、まあ、まだほとんどの人が完成していませんが・・・。

ところで、この研修施設が思った以上にすごいです。

普通のビジネスホテル並みの部屋で、テレビも液晶テレビが入ってます。

残念ながら、ネットは有料 (HOTSPOT) だったりするのだけど、まあこれは AirEdge で・・・。

今日から、5日間、がんばります。

と言っても、朝は早いし、今日も10:30過ぎまで作業してたし、なかなかハードなのですが。

まあ、SuperCon も同じような感じだったし。

体調に気をつけて、過ごそうと思います。

では・・・。

IMG_2099

この前、アキバで中古のチューナーボードを買ってみました。

ジャンクで \500 円のチューナーを見つけて、使い道を探したら、Linux で TV 的な。

Linux を TV パソコン化しようと思うと、なかなか難しいところがあって、まずボードの選定が重要になります。

Windows であれば、ふつうのチューナーボードを買ってくれば、ドライバを入れれば動くわけですが、Linux はそうはいきません。

ボードに乗っているチップが重要になってきます。

今回は、ジャンクでガサゴソしてきたら、Linux でも使えそうなチップの乗っているのもがいくつかあったので、そのうちの一つを買ってきました。

"Conexant FUSION 878A" というこのチップですが、古いものではありますが、Linux で使うには簡単に行けそうな感じです。

110Gd に、Fedora 9 を入れて、サウンドカードとこのボードを突っ込んで、Linux テレビパソコンに仕立て上げてみましょう。

image266

今日は、MovableType ネタでいきます。

tools ディレクトリの下に何が入ってるか見たことありますか?

たぶん、"run-periodic-tasks" っていう、指定日投稿に利用するスクリプトを使ってる人は、一度は見たことがあると思うのですが。

よくみると、"convert-db" とか "mt-tmpl-preview" とか、"rebuild-pages" とか興味深いものもいくつかあります。

こちらでは、裏ファイルとか言われちゃってますね。

ちなみに、この tools ディレクトリ、バージョンが上がるごとに中身が増していますw

そして、MT 4.2 beta をみたところ、4.2 ではさらに数が増えるようで。

さらに謎なのが、この tools ディレクトリの中に含まれているスクリプト、そのままでは使えなかったりするのです。

何のために、tools ディレクトリを含めて配布しているのか、sixapart の中の人の真意は理解できませんが、勝手に弄り倒してくれ、という geek への挑戦状だろうか?

ということで、今回は "rebuild-pages" を使ってみたいと思います。

image264

ちょっと、sed とか、Linux のテキスト処理について知識を得たので、いろいろやってみようかと。

今回は、応用例としてサーバーの稼働時間をサイトに表示してみたいと思います。

たとえば、こんな感じ。

自分でサーバー運営してる人は、こういうの表示できると結構カッコいいのではないかと。

では、僕がやってみた実装例を。

image262

こういうことができるようになります。

前から、MRTG でいろいろなものをグラフ化しようとは考えていたのですが、やっと HDD の温度ぐらいは手をつけることができました。

でも、結構苦労しました・・。

image258

ちょっと、最近「んんん?」ということを聞いたので書いておく。

意外と知らない人が多いのかな?と思って。

Linux で、GUI なエディタを使うのもありだけど、起動するとターミナルが使えなくなるとかいうやつがいてさ。

どういうことかというと、例えば上の画像を見てほしい。

gedit test.c

としているわけだが、こうすると gedit で test.c が立ち上がるのは当たり前。

しかし、ターミナルの方を見ると、gedit をフォアグラウンドで実行しているので、ここにコマンドを入力しても反応してくれない。

要するに、この先説明する技を知らない人は、もうひとつ新しく端末を立ち上げて・・・。とやるわけである。

gcc test.c

とやりたいだけなのに、新しい端末を開くなんて面倒なこと。

さらに、エディタを何個も開いてたら、端末画面が大変なことになっちゃうのではないか、というのが言い分らしい。

IMG_2086

8/7 に宇都宮大学に行ってきました。

ここ最近、大学に行く用事が非常に多いです。

大学に行って何してきたかというと、IT と社会という発表コンクールみたいなのに行ってきました。

  • ttp://www.is.utsunomiya-u.ac.jp/itcon/itcon-2008/

半日で完成させたプレゼンを持って・・・。

もちろん、練習なんかまともに(ry

ん~、もうだめだ、と思ってたら、何が起こったんでしょうかね。

なぜか、ポータブル HDD をもらいました。

IMG_1594

会津若松~郡山

磐越西線

さあ、あとは水戸まで帰るだけです。

時間的に余裕がないので、会津での観光はできませんでした。

快速あいづライナーで、まずは郡山に向かいます。

ここから、水郡線で水戸まで帰る予定でした。

しかし、ちょっとしたトラブルが起こります。

快速あいづライナーは郡山から来て会津若松で折り返しになるわけですが、折り返す列車の到着時刻がかなり遅れました。

しかし、折り返しの出発までに時間があるので、出発は定刻通りになるようです。

ホッとしました。

快速ですが、583 系なので比較的ゆったり座れます。

シートはあまり良くありませんが・・・。(もともと寝台車両だし

IMG_1592 

会津若松に到着したので、次は会津大学まで行きます。

新津で寝過して、大幅遅刻なので、バスで行きたいところですが・・・。

残念ながら、バスは 12 時までないとか言われて。(現在11時前

会津大学まで歩くことにします。

とその前に、SATY により道w

駅でコーヒーを服にこぼしてしまって、さらに汗でべたべたなので、服を買って着替えることにw

IMG_1546 

では、東京まで戻ってきたので、次は会津若松に向かいます。

この旅一番のポイントともいえる、ムーンライトえちごに乗車します。

18 きっぷユーザーおなじみの、全席指定夜行快速です。

最初、予定を組むときは、こいつを利用する考えは頭になかったのですが、東北本線を北上すると、どこかで泊まらなくてはいけなくなる。

そこまでケチではないので、別にそれはよいのだけど、どうも黒磯で休む必要があるらしい。

しかし、夜遅いし、朝早い、寝てる暇ないし、まずホテルがあんまりない。

これは非現実的で、会津に行く郡山経由以外のルートを探したら、新潟経由が結構よさそうということになりました。

ということで、新潟まで向かいます。

オープンキャンパスの旅 [Part1]

この記事の続きになっています。

 

IMG_1522

浜松に到着しました。

では、さっそくオープンキャンパス、午後の部に向かいます。

目的は、もちろん静岡大学情報学部です。

話を聞いたり、研究室をのぞいたりするわけですが、何か微妙だったw

正直、ここは僕の独断と偏見から選んだ候補から外れた感じかな。

文系と理系の融合、悪くはない。

悪くはないけど・・・。

内容が、薄いというか、やってる研究とかも限りなく微妙だし。

というわけで、静岡大学浜松キャンパスを後にしたのであった。

学食は、東工大と比べると、これまた微妙な・・・。

IMG_1493

今週末、8月2日, 3日は、オープンキャンパスを実施する大学が多いのではないでしょうか。

高校生は、自分の志望する大学を見学するために、オープンキャンパスに行くわけですね。

僕も今年は大学受験なので、例外ではなく、いろいろ言ってきます。

筑波は、SuperCon 中に大学説明がいがあったので、まあそれはパス。

じゃあどこに行くかというと、とりあえず担任に進められているところが静岡で、自分で興味がある会津にも行ってきます。

しかしですね、この2つ、静岡が2日で、会津が3日とつながってるのですよ。

なかなか厳しいです。

しかしですね、こんなオープンキャンパスごとき?に、新幹線代に大量の金を費やしてしまってはもったいない。

というわけで、IT 選手権と SuperCon のあまりの青春 18 きっぷを使って2日間旅をしてきます。

かなりハードスケジュールです。

一歩間違うと、取り戻せないようなところもあるので、油断は禁物です。

では、その模様を描いていきたいと思います。

え~、ちょっと鉄分が多くなってくるかもしれませんが、スルーの方向で。

この日は、SuperCon の結果発表会でした。

day 4 の記事で先取りして書いてしまったとおり、僕たちは不正解です。

でも、不正解なのは自分たちだけかな、と思っていたのですが、意外に多くてびっくりでした。

人力使ってたところもあったみたいですが、自分たちも使えばよかったなぁと。

人力してれば、あんなミスもなかっただろうに・・・。

実質、この日が最終日でした。

午前中で、コーディング終了。

午後は、最終トライアルと言って、今年から自分でスパコンを1時間自由に回すという方式になっています。

すなわち、午前中でプログラムを完成させないといけないということ。

もちろん、並列化も。

ちなみに、この日は前日から徹夜しました。

で、電車の中でも少しコーディングして、午前中の間に MPI 並列化を実装しました。

自分たちは、結局線分をランダムに選んで、点もランダムに選んで、ダメだったら点をランダムに変えるみたいな感じだから、もう並列化は簡単。

同じプログラムを72個一気に動かして、最小が出たら rank 0 に送ってあげるだけ。

で、rank 0 はレシーブしたら、各ランクから送られてきた最少を吐くと。

最小が更新されるたびに吐いておけば、最後の結果だけを・・・。ということになる。

2010年8月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

for mobile

Ads

 - trial and error



track feed trial and error