I'm シローつぶやき
というわけで、twitterを始めました・・・、柄にもなく。
というのは、なんと伊集院氏がtwitterを始めたのですよっ!
で、伊集院が発信してるのを受信したくて始めたのです。
まぁ、そんなんです。
というわけで、twitterを始めました・・・、柄にもなく。
というのは、なんと伊集院氏がtwitterを始めたのですよっ!
で、伊集院が発信してるのを受信したくて始めたのです。
まぁ、そんなんです。
パソコンを使い倒してると、まず理想のOSが欲しくなる。
で、理想のOSとはなんぞや?
で、その理想に近いということもあって、現在FreeBSDを使用してるわけだが、ただ、まだ理想とは言い難い。
では理想ってなんなんだ?ってことになる。
長くなるから今日はもういいや。
新しいキーボードが届きました。
ふむ、やっぱこれがいい。
新しいのかそうでないのか、よくわからないけど。
ちなみに、お兄さんはみごとにキーボードがつるつるになります。
ざらざら仕上げのキーボードはつるつるになるんですわ。
ようはそういうことだから、うん。
つい先日、キーボードが壊れた。
麦茶をこぼされてしまい、キーが効かなくなった。
というわけで、押入れから急遽、古いキーボードで代用。
しかしこれが使い辛い。
とにかく一番安いのでいいわ、というので買ったやつだからでしょうか、使い辛いのです。
というわけで、新しいキーボードを買いに出かけることへ。
ふじみ野のPCデポットに行ってみたのですが、まぁ、お兄さんのおきにのキーボードはなし。
お兄さんのお気に入りは、まずテンキーが無いこと。
で、次に、キータッチがノーパソっぽいやつ。
で、次に、バックスペースがエンターの上にあって、かつ、端にあること。
デリートは一番右端にあること。
コントロールキー(左)は一番左下にあること。
できれば右コントロールキーは右シフトの下にあること。
右シフトがあること。
まぁ、要するに、DELLでついてくるノーマルキーボードがノーパソちっくで、テンキーが無いのが良いわけさ。
で、そういうのを探したんだけど、残念ながらなし。
HappyHackKeybordはあったんだけどね。
あれはいいんだけど、キー配置がメリケン仕様になってる(capsがコントロールになってる)からちょいと嫌だ。
あとキーボードのくせして値段が高い。
EmacサーならHHKがいいのかもしれないけど、お兄さんvimユーザーだから。
まぁあんま関係ないか。
というわけで、結局その後もK'sデンキにもよったけど無し。
というわけで、結局Amazonマンして購入。
というわけで、数日待ちませう。
FreeBSDでありながら、仕事ではVistaでC#を使うお兄さんとしては、vimでVisual Studioのようなエディタとデバッガがあると非常に便利なのではないかと思ってる。
vimというよりも、Visual Studioのエディタでキーバインドがvi対応と言った方がいいのかも。
デバッガもVisual Studioはかなり効率的だ。
BSDでもそういうのはあるのだろうか?
それとVisual Studioでいいのは、コード補完機能や、関数オーバーライドの種類が複数見れるというところかな。
もう一つ贅沢を言えば、組み込みコードでは関数の説明がでるが、自作の関数では関数の説明が出ないということか。
コメントアウトに工夫をすれば、それを読み込んで、組み込み関数と同じようにポップアップで関数の説明がでるようになれば完璧。
やはりWindowsの・・・というか、MSのUI設計には毎度驚かされ、感心させられる。
linuxを導入しようと思ったんですが、よーく考えたらwindowsでいいんじゃね?ってことに気づき、windowsにしました。
一昨日は夜10時ごろから寝て・・・起きたら昼の10時ごろ。
そっかぁ・・・、疲れてたんだなぁと思い、そのまま再び就寝。
なんだかんだでずっと寝て、今日やっと目覚めました。
まぁ、のんびりしますわ。
無線LAN接続状況がよくないので、てけとーにWLI-PCI-G144Nを買ったのですが、残念なことにFreeBSDでは認識しませんでした。
で、しょうがないからISP変更するかぁ・・・なんて思いつつ、前のPCは今ファイルサーバー化してたので、これをLinuxにしようというわけで、ubuntuをインストール・・・しようとしたら無理でした。
じゃぁ、Vineはどうだ?ってことでこれはOK。
インストール完了。
でもやっぱり無線LANが設定できない・・・。
ただ、検索すればできそうなので、それを使うことにしよう。
検索は会社で・・・。
Linuxは使い辛いなぁとか思うんだけど、まぁ、慣れれば使いやすくなるでしょ。
とりあえずネットにつながないとどうにもなんないので、目標はこれだな。
ところで、お盆休みです、そろそろ。
仕事の進み具合が芳しくない(今日の作業で精度が若干上がったけど、まだまだ。目標あと二桁だって・・・。無理じゃね・・・?)。
そうそう、やっぱりVisual Studio(.NET?)がやたらと使いやすく、C#もすっげぇ便利。
みんなこれになったらいいのに、とか思うものの、やっぱMS製品は金がね・・・。
ミドル層を作り込むのが好きな自分としては、お金に対する戻りが少ない。
たぶん、重くなるし。
まぁ、いろいろ考えますわ。
同じ境遇の人はいるのでしょうか・・・。
OSはFreeBSD7.2stable最新でございます。
ISPはニフティで(だからココログ)、コースはADSLの39M。
で、問題はニフティから送りつけられてきたモデムで、NEC製のなんちゃらってやつ。
で、環境は有線LAN、無線LAN両方使い、有線LANにはやっぱりFreeBSDがつながってて、無線LANは親機の方にPCカード形状の送受信機、で、子機の方はLaneed Wireless PC Card LD-WL54G/CB(Windows)、もう一つはPCIカードのやはりLaneed(型式はわかんね(めんどくせ))で、ath0で認識。
症状は、無線LANのパケットロスが異常に多い。
50%とか越える(ping調べ)。
で、この繋がりにくさはWindowsも同じ。
ただ、モデムまで辿り着くと普通の速度らしく、有線LANの方のDLとかは普通に早い。
さすがにこれはちょっと異常なので、どうにかしたいが、原因が何かわからないと変えるのもちょっと・・・。
それにLANが無事になったら、ADSLの39Mでも十分だし。
・無線子機を買って試す
・光に乗り換え
の2択か?
どっちにしても原因がわからんのだよ。
細かい設定・・・だとしたら、windowsはそういうの自動でやってくれそうだし。
どちらがいいのでしょうか?
ニフティの会計がちょっと明朗会計じゃないからそこら辺も問い合わせたいとも思うんだけどねぇ。
来週かな?
パソコンのパーツが続々と届き、組み立てました・・・。
が、動かない!!
電源すら入らない!
どうして???
現在、途方に暮れております。
わかったことは、やっぱ自作よりDELLで買った方が安いなぁってこと。
今月はもう無理だとして、来月買うか?
動くようになればいいんだけどなぁ。
新しいパソコン欲しいなぁなんて思ってるわけです
まぁとにかく会社のパソコンがこれまた重いと評判なビスタなんですが、全然サクサク動くわけです
おいどんのビーエスディーよりサクサク動くわけです
そりゃあ5年以上前の最下級パソコンと比べりゃそうかもしんないけど、いいなぁなんて思っちゃうわけで
で、最近のディスプレイはワイドだったりするわけでこれまた思ってた以上に快適なんだよね
余計欲しくなるわけで
で自作含めていろいろ調べてます
自作って、結局買った方が安いんじゃね?ってイメージなんだけど今はどうなんでしょう?
そこら辺の探りも入れてみたいと思ってる所存でございます
ADSLをアッカ50Mから、イー・アクセスの39Mにチェンジ。
これまで通り使えるとのことで変えたものの、如何せん、ぜんっぜん使えない。
やたらと通信がぶつ切りになる。
pingでルーターに送っても途切れるからこれは自宅内の無線LANのせいなのか?
ともかくやたらと不便だ。
これから変えようとしている人は要注意よ。
我が家の回線をADSL50Mから39Mに!!
まさかのマイナーチェンジ。
いや、これが契約が安くてね。
無駄な出費を抑えるってことで。
普通光にするところだけど、正直言って、光になんてしても意味は無いと。
だって、回線速度十分早いし、なんならブラウザのレンダリングに時間がかかってるだけで、DL速度は対して変わらねぇだろう、と。
光はエロ動画をたくさんDLするときだけで十分なんじゃね?と。
それに、「光にすれば今よりも安くなります!!」なんてペラペラな紙をみても、よくみればそれは最初の1年だけで、次の年から普通に高くなるし。
騙されねぇっつーの。
で、今日から回線も新しくなり、モデムも届いた。
で、このモデムの取説をみると、設定の項目にNetscapeの設定まで書いてある・・・。
どんだけ親切なんだよ!!
今時ネットスケープなんて使ってるのはどっかの馬鹿社長だけかと思ってたよ・・・。
寝て起きて、風呂に入ったらだいぶ疲れがとれた。
が、やっぱ連続勤務は無理か? という感じ。
明日は休みなので、また寝るまでの元気でまとめるものをまとめとく。
バイトするようになって感じたのは、たった2日のバイトでも時間拘束されて自分の今までできたこと、したいことができなくなったということを改めて実感。
また、そこら辺との(良く言えば)葛藤がどうしてもできるというのが、頭じゃわかっていても、感情は制御できない。
やっぱ社会不適応者ぶりを伺わせる。
というわけで(?)、先週の図書館でSSHを勉強(?)したときのメモ
メモしただけだと失われちゃうからね。
まず、ネットで脅威となるのが盗聴などのクラッキング。
これにはどのような種類があるか?
1 なりすまし
PCが家なら、パスワードは鍵。
鍵を持ってれば、本人かどうかに関わらずログインできる。
したがって、この鍵を盗まれないことが重要。
またなりすましには、ホストになりすますということがあり得る。
AがBに通信したい(A→Bとする)とすると、Bを何らかの方法でなりすまし、Eにアクセスさせるようにする。
つまり、A→Eにする。
なりすましの方法はいろんな窓口がある。
・まず、強行な方法は物理的にホストのマシンBをEに変えてしまうという方法。
→ ただし、ホストの認証を行うことでこれは防げるが、一番初めのホスト認証の時点でなりすまされていたら防ぐすべは、別の確かな方法(暗号メールなど)でホストを検証できれば防げる。
・次にはIPアドレスのなりすましがある。
→ これもホスト認証が確実に行えれば防げる。
・DNSのなりすまし ドメインネームサーバーを乗っ取ることで、通常、目的のホストBにアクセスされるように誘導されるが、これをホストEにアクセスするように偽の誘導を行えるようになる。
→ これもホスト認証によって防げる。結局はA→Bが目的で、Bに対してホスト認証が行えればいいわけだから。
2 盗聴・改竄
通常A→Bの通信では、途中にいくつものマシンを経由してデータが送られる。
この経由上にデータを盗聴することで、送受信データが覗き見・改竄(かいざん、後述)される。
例えばetherealやtcpdumpといったソフトでそれは簡単に可能である。
→ データが暗号化されてあれば盗聴しても何を通信しているかわからない。
3 中間者攻撃
A←→Bにおいて、実はA←→(E)←→Bと、Aから見た場合、EがBのように振る舞い、またBから見たときもEがAのように振る舞う。
4 侵入
ソフトのき弱性・セキュリティホールから侵入される
→ ソフトの使用停止、もしくは改修されたバージョンを入れなおす必要がある。
5 サービス不能攻撃(DoS)
SSHでできること
・ホストの認証→電子署名を用いる
・通信路の確立→共通鍵暗号とMAC(メッセージ認証コード)の鍵を交換
・ユーザーの認証→公開鍵認証など
・リモートアクセス
SSHでできないこと
・最初の接続時にホストがなりすまされていた場合
・他のサービスに対する保護
・SSHの実装への攻撃
・SSHを利用する攻撃
・VPN(Virtual Private Network)
・UDPポートの転送
以上
listでメモリ確保失敗するとstd::bad_allocを投げる。
例:
#include
#include
#include
using namespace std;
int main(void)
{
list
int i;
try
{
for (i = 0; i < INT_MAX; i++)
{
l.push_back(100);
}
}
catch (std::bad_alloc)
{
cout << "hogehoge:" << i << endl;
}
return 0;
}
本文paper
ソースsorce
ヘッダーheader
メイクファイルMakefile
テストプログラムtest sorce
依存関係で必用になるファイル
CString.cpp
CString.h
bitopr.cpp
bitopr.h
追記(2009.01.28)
移動しました。
http://homepage3.nifty.com/monna/imp/index.html
コネタマ参加中: Firefoxのアドオンでオススメは?
foxmarkがおすすめだね。
違うマシンでも一つのアカウントで同じブックマークを共有できるっていうのはまさに理想。
これのために、重いと思ってもfirefox使ってるから。
つーか、他のブラウザでも同じ機能つけりゃぁいいのに。
多倍長整数型は一応、完成しました。
バグチェックは一人だし一応、全部しましたが、多くはできてないので、あるかもです。
特徴。
・計算の桁の上限はリストに依存する。
・リストのノードはSTLのlistを使用した(上限はULONG_MAX-2)
・1ノードはunsigned long
・四則演算、剰余ができる。
・longとの親和性がある(詳しくはinteger.hを参照のこと)
・ライセンスはBSDライセンス(詳しくはinteger.cpp、integer.hを参照のこと)
バグがあるようでしたらコメントやメールでお願いします。
また、DLしたということもコメントしてくれるとうれしいです。
質問等があったらコメントやメールで気軽にお申し付けください。
進んでます。
シコシコ作ってます。
やっぱテストがねぇ、面倒くさいけど、まぁ、こればっかりはしょうがないから。
後は
* *= / /= % %= ^ ^= && ||
を作れば完成ですな。
壁は掛け算と割り算と剰余か。
うつになりながらやってますよ・・・。
FreeBSDの6系の最新ブランチ6.4がリリースされた。
これを機に7系に上げてみてる途中。
現在コンパイル中でございます。
ちゅーのも、6系のサポートはこの最終ブランチ終了となるから。
ただね、思うわけよ。
はたして、自分にそんなにセキュアな状況が必要なのか?ってことを。
ただバグ修正も切られるんだよね。
それは嫌。
でも上げて、重くなったら嫌なわけで。
というか、FreeBSDのごにょごにょ系ってどういうポリシーなのかイマイチよくわからん。
こんなに長く使ってるのに。
とりあえず、新しい技術の導入とかで上がるってことはあるのかもしれないけど、古いのも活かして欲しいとも思うわけで。
やっぱ、”必要最低限なものを軽く”というのが、お兄さんのモットー(モットー?)。
ただ、昨今の状況を考えるとそうでもないような気がするんだよね。
まぁ、それが嫌なら自分で古いののバグ修正でもしろって話になっちゃうけど。
ちゅーかさ、やっぱ一番問題なのはfirefoxですよ。
正直、重いんだよね。
もっと、こう、サクサクできないのかね?
いらない機能とかガンガン乗せて重くして・・・っていうのってさ、それってネットスケープと同じ状況になっちゃうんじゃないかな?
ネットスケープの最後の方って、もう、完全に失敗でしょ?
噂では凄い量のバグって聞いたんだけど、ホントなのかな?
文句があるんなら使うなって話だけど、実際便利な面が多くてですね、特にアドオン機能はかなりイカしてるんですよ、foxmarkを筆頭に。
というか、それだけっていう噂もような気がするんだけど。
ほとんどをアドオンに仕向けて、本体は軽くって風にはならないのかね?
どうなんでしょうね?
ほんとどうなんでしょう?
まぁ、いいや(しれっと)。
多倍長整数型は進めております。
が、壁。
まぁね、よくありますよ。
で、今回は、リスト作って、それを管理して、それを使って整数型作って・・・というわけで、まぁ、そりゃね、無理ですよ。
というか、無理でした。
なんかリストの受け渡しが上手く行かなかったわけさ。
で、散々考えた挙句、もう、フリーズ。
こりゃぁ、リストをキチンとつくらにゃ行かんのかな?
いやいや、そもそもreturnの動作が詳しく解んなくね?
とかいう疑問にぶち当たりまして。
ちゅーわけで、だったら両方だよなぁ〜とか思いまして。
で、リストをキチンと作るんなら、むしろありもののリストの方が云億倍もましであろうと。
そう思いまして、STL勉強すんのめんどくせぇから・・・とか思ってたけど、どうやら勉強する方が簡単じゃね? みたいな。
ちゅーわけで、勉強しまして。
したらさ、今まで1、2週間かな? peparとpaperを間違えて書いたりしたちょい前くらいからやってたんだけど、どうやらそれがものの2時間くらいで追いついちゃいまして。
やっぱすげぇわ。
ちゅーわけで、続きをゴシゴシやろう・・・と見せかけて、今日はこれから麻雀なのです。
ちょー久しぶり、ちょー久しぶり、ね?
いやさ、やっぱ自分で牌を触るっていうのはいいわけさ。
たぶん、今なら役満テンパったら手、震えるね、間違いなく。
まぁ、そうそうテンパれるもんでもねぇけど。
ちょっと前に書いた、firefox3-i18nだけど、どうやらOKのようだ。
ただ、
#portinstall www/firefox3-i18n
でやると、なぜか速攻でインストールが終わっちまう。
これはバグかな?
ちなみに、
#cd /usr/ports/www/firefox3-i18n
#make install clean
とすると幸せになれる。
firefox2がどうやらそろそろバグフィックスすら打ち切りになるという噂を聞いたので、firefox3にした。
どうせ重くなるんだろうなぁ〜
なんて思っての導入。
が、しかし、ソースからのビルド時間はそんなでもなかった。
3、4時間くらい?
つーかfirefox2がどのくらいかは忘れたわ。
で、wwwをみると、なんとfirefox3-i18nが出てる!
firefox3が発表されたばかりのときはまだなかったということもあって3の導入は見送ってきたんだけど、国際化(i18n=intenatinalizationの略。始めのiと最後のnに18文字入ってるからi18n)されてるんなら、2並に扱えるから、まぁ、重くなるのとバグフィックスを天秤に掛けて、3を導入したわけだ。
で、起動。
したら、ぜんぜんじゃね?
ツールバー上のFileとか、ファイルじゃなくね?
まぁ、いいっす。
設定のところも英語のままだけど、流石にそのくらいはわかるから。
わかりますから、ええ。
で、導入した感じどうか・・・って己れのブログがスクロールダウンでかんっぜんにバグってるじゃん。
むしろバグらせてくれちゃってるじゃん。
まぁ、いっか(しれっと)。
コメントとかすっげー読みづらくなるけどいっか(しれーっと)。
ってか、バグってるの自分のページだけだし。
なんだそりゃ。
ココログの吐いたxml(?)だとそうなるのかなぁとか思ったけど、そうじゃねぇし。
なんでだろ?
音符デザインが死んでるんでしょうか。
いやいや、根本的にはfirefox3のせいですから。
いや、わからん。
ココログの吐いたのが実はこうなるもので、3でバグが直って実際の状態になったから、バグったように見えるだけかも。
いや、違うね。
さすがに違うね。
いや、わかんね。
むしろわがんね。
そんな鬱深度3な今。
現在、多倍長整数(だっけ?)を制作中でごんす。
作ってるこれの特徴は、
・資源が許される限り表現範囲を広げる
ということ。
長い整数なんかは、long longとかだっけか? があるけど(そういや、使ったことないわ)、それより遥に長く表そうよ。
資源が許される限り使えば良いじゃん、という考え。
もっと言えば、int[INT_MAX]みたいな感じでそういうのは作れるんだけど、それすらも越えるという思想。
まぁ、どうやら実際には、int[INT_MAX]ですらメモリ確保できない臭いんだけど、まぁ、それはそれで。
近い将来、そんなのが確保できるようになって、それでも足りないなんてことがないように。
つーか、そんな計算とかするんなら、Cなんて使うなよ、みたいな。
pari/gpでも使えば良いんじゃね? みたいな。
というか、既にpari/gpはそうなんじゃね? みたいな(わからんけど)。
まぁ、でも作りますから。
で、問題は、動的でも静的でも配列を使う時点で、アウトなんで(INT_MAXを越えようとしてる時点で、INT_MAX+1みたいなのにどうやってアクセスする? というような問題がある)、それはリスト構造を使えば解決するんだなぁ、とわかってから、既に数ヶ月経ってたわけで。
ようやくとりくんだわけで。
リストってSTL使うと簡単にできるらしいよってのも前から知ってたんだけど、知ってただけで、どうやって使うのかわからんわけで。
で、試しに使ってみて、ビックリするくらい便利じゃね? ってことはわかったんだけど、iteratorとの絡みがイマイチわからなかったわけで(やっぱり、n[i]のiみたいにアクセスする方法しかわからんかった)。
というか、投げ出したわけで。
ちゅーわけで、リスト構造から作ってるわけで。
まぁ、がんばる。
すっげぇ疲れた、精神的に。
で、結果、直りました!!
いやぁ、いがったいがった。
例によって、壊すつもりで分解したんですわ。
あっ、症状は、電源が入らないっていう症状。
で、ガワ(プラスチックの回りの部分ね)を開けて、というかこじ開けるのにまず一苦労。
まぁ、割って開けるって手もあるんですが、それはさすがにね・・・。
で、電源周りがおかしくなったのかな?と思い、とりあえず電源回路部分を露出。
ここが・・・トランスで・・・ここが・・・レギュレータか?
これは・・・あっ、ヒューズか。
そうか、ヒューズか。
これが飛んでるんなら話は早いけど・・・無事ですな・・・。
と言う感じでぼけーっと見てたんですが、見て解るわけもなく・・・。
んじゃ、あれか! これの登場かっ!
ってわけで、取り出したのはテスター。
ほんっといつもお世話になってますよ、このテスター。
高3の実習のときにテスターキットを作るってのがあったんですが、それを未だにご愛用。
で、電源は問題無いのかな?ってことで、まずはそもそもこのコードは生きてるの?ってことで、コードの雌の穴に端子をぶちこんで、AC100Vを確認。
ふむ、ここはさすがに生きてるな。
で、次は、電源回路の平滑コンデンサを確認。
ふむ、ここも生きてる。
電圧かかってる。
んじゃ、こっちの基盤に電圧は・・・?
DC3.3V、生きてる。
そういえば、壊れる前兆演出でモニターの解像度とかの設定スイッチがやたらと押されてる症状がでてたな・・・。
ってことで、今度はスイッチを確認。
ピーという音がなって導通検査はオッケー。
うむ、スイッチもとりあえず生きてる・・・。
んじゃいよいよ半導体がいかれたのか???
と、いう感じで、ネットでディスプレイの値段を確認・・・。
どうせなら19インチにして、解像度も今より上げて・・・、でも金はないから・・・。
うへぇ〜、解像度って、19インチでも1280x1024なんだぁ。
値段は2万3000円くらい。
まぁ、買えない値段じゃないなぁと思いながら、お風呂へ。
つーか、昨日から寝てないからさすがにこういう集中力を使う系はキツいってことで、一旦休憩。
で、風呂上り(午前6時ごろ)、再び検査。
やっぱりスイッチ周りが怪しいんだけど、全部導通してるし・・・。
で、なんとなく、スイッチの電圧に興味がいったので調べてることに。
何が興味あるか? ってぇと、スイッチって単純にONからOFFにするのにも、通常は導通状態(”閉じてる”という)から切断(”開いてる”という)にする方法と、0Vから3.3Vに上げる方法があるわけで、これはどっちだろ? と思ったのです。
単なる興味から。
で、どうやら、通常は3.3V。
つまり、通常は電圧が掛かってる(3.3Vが表示)ってことは、開であるってこと(閉であれば電位差がなくなるので0Vになる)。
で、これを片っ端からみてみたら、一個0.3Vになってるのがある・・・。
あれ?
これだけ0.3V?
1/10になってるけど、どうしてだろ?
(ピー)・・・(ピー)・・・
導通検査は通ってるけど・・・、もしかしたら・・・
で、一旦コマーシャル。
ではなく、さすがに眠いのか眠くないのか自分でも解らなくなってきたので、朝食をとって、そのあと、布団に入り、気休めの読書。
で、いつの間にか寝てた・・・。
まぁ、よろしい。
今日は朝一からイベントにいこうと思ってたけどよろしい。
ちゅーわけで、起きて昼ご飯を食べて続行。
どうも、0.3Vで常にONしてる状態になってるから、他のボタンを受け付けない状態らしいんですわ、と踏んだわけ。
壊れる前兆のときもそんな感じだったし。
ちゅーわけで、ここでハンダごてと半田吸い取り線をとりだして、ボタンを剥がす!
で、いよいよ電源ボタンON!!
点いた!!
さすがにこんときは、「はぁ〜」ってため息でました。
で、とりあえず、新しいスイッチは今度の病院のときにアキバで買ってくるとして、ガワは半分だけつけとく(全部つけるとまたはがずのが面倒だから)。
で、ネジもどこがどこに付いてたか忘れないように仮止めして・・・って、さっそく一つ余ってるし!!
まぁ、大抵、お兄さんが分解すると、分解する度にネジ余っちゃうんですけどね。
まぁ、それはご愛嬌。
これは今度、きちんとつけるときにまたちゃんとつけるとして、とりあえず直った!!
という状態でございます。
ふわぁ、疲れた。
2万円浮いたわ。
液晶ディスプレイがどうやら逝ってしまわれたらしい。
電源が入らない・・・。
調べたら19インチで2万3000円くらいらしい。
うーむ・・・。
とりあえず、今のやつは捨てるつもりで分解してみっか!
くっそ~
今、バツラジでビルゲイツが一線を退いたということに引っ掛けて、Vistaが売れない理由を分析していますが・・・
単に、必要ないからじゃね?
金払ってまで入れ替える必要ないからじゃね?
そもそもOSってOSインストールマニアじゃなければそうそう入れ替えるものではない、というのが基本的な考え。
まずVistaはそこからコケてるよね。
OSをインストールするってことはほぼデータを一度放棄しないといけないということ。
さらに、Windowsってのはその作りから、自分のデータが散逸しやすいんだよね。
例えば、マイドキュメントに自分のためのすべてのデータが入ってるかというと、それはわからない。
使うソフトによっては、ソフトがインストールされたフォルダにデータが入ってるときがある。
そうすると、バックアップとるのが大変なんだよね。
あっ、あれ忘れてた・・・なんてのが起こったらきついし。
UNIXは管理者がシステムの全てを握ってて、ユーザーはあくまでもユーザー。
だから、ユーザーのデータのありかは必ず誰かが握ってるわけだけど、Windowsはそこら辺が曖昧だから(良いように言えば自由度がある)どこにどれがどうあるかがわからない。
それとVistaにはウリがない。
Vistaにして良い事はあるのか? というと、それは「?」となるわけだ。
そんなのにわざわざお金は払わんでしょ。
まぁ、Vistaは見たことも無いから詳しくはわからんけど、現行のパソコンのハード面から見たら、かなり重い気がする。
Windowsって、今までもそうだったんだけど、発売時の最高スペックで、やっと満足か? ていう程度のスペックが求められることが多いよね。
だけど、今の一般ユーザーからすれば、パソコンを買い換えるほどでも無いというか、買い換える余裕がないというとか、「とにかく最新を求める」っていう風潮はパソコンユーザーが広まってくうちにだんだんと薄まってきた気がする。
そうすると、自然とVistaは使ってるパソコンからみるとオーバースペックになると思うんだよね。
まぁ、要するに、サービス対対価が釣り合ってないってことなんだけど、もっと端的に言うと、
「OS、Vistaにしたよ」
「ふーん、で?」
の、「で?」に応えることができないでしょ。
それだよね、売れないのは。
飲み会の中で、
「NULLの型は?」
という話題が出たので、一応その場で説明したんですが、イマイチだったかなぁと思ったんで補足。
題意は、
「NULLの型は一体何か?」
「NULLはゼロなのか?」
「NULLの型はvoid *なのか?」
というようなことです。
で、回答は、
NULLとはゼロだ。
NULLはただの数値のゼロ。
#define NULL 0と等価と思っていい
と答えました。
詳しくはこうです。
以下のような比較プログラムを作りました。
随分と荒いプログラムでNULLは出てきませんが、void *の理解が深まれば、自然とNULLも理解できるでしょう。
このプログラムは、main関数でint型でメモリ領域を2つ分確保し、それぞれ、数値10,20を入れておきます。
void *型の関数functionをmain関数で確保した領域memを持って実行します。
function内ではmemをインクリメント(ポインタのインクリメントというところがポイント)をし、その値を返却します。
mainではそれを受け取り、(int *)でキャストして受け取ります(なぜならfunctionはvoid *型だから)。
その返却値の実体を表示します。
もし、functionの返却値がvoid *でまずかったのなら、mainでキャストして受け取っても実体の表示に何らかの失敗が生じます(期待される表示は、memをインクリメントしたので、20が表示されることです)。
----------------------------------------------------------------------------------------------
#include
#include
// 引数で受け取ったint型のメモリ領域を
// インクリメントして、その結果を表示して返す
void *function(int *mem)
{
printf("before:%d\n", mem);
mem++;
printf("after :%d\n", mem);
return mem;
}
int main(void)
{
int *mem;
int *ret; // void *の結果格納用
mem = (int *)malloc(2); // int型でメモリ領域2つ分確保
mem[0] = 10; // 結果の比較のため互いに異なる実態を代入しとく
mem[1] = 20;
// 問題のvoid *の関数を実行
// void * を int *にキャストしてるところがポイント
ret = (int *)function(mem);
printf("result:%d\n", *ret); // 結果の表示
return 0;
}
----------------------------------------------------------------------------------------------
で、結果は、
----------------------------------------------------------------------------------------------
>./a.out
before:134524976
after :134524980
result:20
>
----------------------------------------------------------------------------------------------
となりました。
これは、memの先頭アドレスが
before:134524976
であり、インクリメントされ、
after :134524980
となったということです。
そして、その(インクリメント後の)実体は
result:20
20であったということです。
ここでの疑問点はおそらく、
・インクリメントされてるのにafterが+1されず+4されていること
でしょう。
しかし、これはポインタをインクリメントしたことに注意してください。
ポインタの大きさは1WORD(アドレスのバイト数とほぼ等価の意味)ですから(この処理系では4byte)、1WORD分の4バイトだけインクリメントされます。
そのため+4されているのです。
続いて、戻り値を受け取るretには最初、何が入っているかわからず、「たまたま」int *で宣言されていることに注意してください(プログラマは意図せずint *ret;しただけかもしれません)。
retはその後、functionを実行し、void *をint *にキャストして受け取ることで、retの型であるint *にしています。
これによって、retの値は(retはポインタで宣言されていることに注意)、functionの返却値をint *に変換して受け取ったことになります。
したがって、functionでmemがインクリメントされて返されているので、retの実体は20となるわけです。
つまり、retはたまたまfunctionの戻り値を受け取っただけで、本当は何が入るのかわからない状態であったにも関わらず、キャストして受け取ることによって、memの2番目のポインタを得ることができ、そのためその実体である20を表示できたわけです。
もし仮に、functionが何でもかんでもNULLで返すような関数であればどうなるでしょうか?
そのときretに何が入り、何がresultで表示されるでしょうか?
ちょっと考えてみましょう(もしくは実際にやってみましょう)。
解説は以上です。
質問は随時受け付けます。
コメントにどうぞ♪
付録
「main.cpp」をダウンロード
文字コードはEUCなので、適時nkfで変えてください。
2008/04/02 CString始めました。
2008/04/19 CStringでけた
2008/04/21 註CString
2008/04/28 CString for UNIX β版公開
2008/05/09 CString for UNIX β版
「CString.cpp」をダウンロード
「CString.h」をダウンロード
「Makefile」をダウンロード
「main.cpp」をダウンロード
「CString.pdf」をダウンロード
うちのDELL INSPIRON 1150のノーツパツコンがお亡くなりになりました・・・。
ちゅーか、HDDが逝ってしまわれたようです。
つーか・・・、まぁ、いいです。
ノートパソコンのHDDが死亡するのには若干慣れてますから・・・。
以前はCOMPAQまっすぃーんも1年も経たず、交換。
まぁここまでは良し、メーカー保証期限内だし。
でもその後、1ヶ月もしない間にまた壊れるとは!!
そしてちょうどメーカー保証1年の期限切れを謀ったように壊れるし!!
まぁ、販売店の保証つけといたんでこれも良かったんですが・・・。
いやいや、実は確か、当時、横浜の寮にいたから、保証書取りに長岡まで行ったかんね!(まぁ、それも友人と一緒に遊び半分で行ってきたからいいものの)
ちゅーか、壊れすぎんねん、COMPAQ・・・(なぜ関西弁? しかも間違ってるくさい)。
で、今回のDELLは、えーっと、4年目か?
とりあえず、今のところノートパソコンのHDDは150%壊れてますからね。
で、HDDの交換についてメールを投げたところでございます。
果たしてどうなることやら・・・。
CStringのβ版ができました。
「CString.cpp」をダウンロード
MFCのCStringとは若干の変更点があります。
特に、バッファ操作に関するメンバ関数、それとWindows固有の関数についてはほとんどが何もしない、もしくはNULLを返すようにしてます。
理由は、このMFCの仕様では不正にオブジェクトが変えられてしまい、メモリアクセス違反が起こる可能性が高くなるためです。
また、設計・実装上、MFCで用意されたメンバ関数を呼び出さなくてもすでに満たされているような関数の場合も、用意はしてあるものの、実態は何もしないように実装しました。
いくつかのMFCでのバグ(Delete関数の戻り値)についても、このCStringでは修正されています。
Windows固有のクラス(LPCSTRなど)は、ヘッダファイルで置き換えられることになってます。
このプログラムはBSDライセンスとして配布しますので、再配布、商用利用などすべて許可無く自由に行うことが可能ですが、それに伴う責任は負いません。
一部、Format関数等の仕様(や動作)が不明のため、実装していないものもあります。
詳しい方がいらっしゃいましたら、作者宛に(というか、この記事のコメントに)ご記入のほどをお願い致します。
また、その他の方々のご意見、ご要望、バグ発見などいただけたら同じくコメントに記入していただければ、幸いです。
今回、CStringを使って、というか、いろいろ試して思ったんですが、windowsでいくつかまずい点を見つけました。
まずはメモリアクセス違反になるもの。
これはマズいね!
それは、
・GetAt(int)、 operator[]
引数に負数、GetLength()以上の値を入れたとき
・SetAt(int, char)
Intに負数、GetLength()以上の値を入れたとき
・Mid(int)
GetLength()以上の値を入れたとき
・GetBuffer(int)、 GetBufferSetLength(int)
引数に負数を入れたとき
・ReleaseBuffer(int)
CString str; str.ReleaseBuffer(1);などと、確保されてないのに解放しようとした場合
という感じですな。
まぁ、意地悪的なアクセスではあるものの、個人的にはやっぱり許せないというか、コンパイル通ったけど、なんかエラーが出て落ちたわ・・・orz
みたいなのは嫌だなぁと思うのです。
それに、違反アクセスに対して反応が別々だったりするわけですわ。
負数でアクセスしたんだけど、エラーはでないで、中身は空だったり、と。
そこら辺がねぇ、ちょっと不満なんですわ。
で、そうそう、一番の、というか、これって完全にバグじゃね?っていうのは、Delete関数。
Deleteの戻り値は処理後の文字数ってMSDNには書いてあるけど、実際は処理前の文字数になってね?
CString str("Delete(int, int)");
int ret = str.Delete(0,1);
で retは15にならないといけないのに、16だったりするわけですわ。
これって俺だけかね?
とりあえず、重要なのを挙げてみました。
UNIX版CStringでけましたよ。
結構かかりましたなぁ。
一応、VC++で、CStringの分だけそのままUNIXに持ってきてもすんなり通る・・・わけねーだろ。
まぁ、諸事情により、何もしない関数っちゅーのがいくつかあり。
それと、実装してないのもいくつかあるんですよね。
と、ヘッダ
「CString.h」をダウンロード
で、テストで使ったテストプログラム
「main.cpp」をダウンロード
と、メイクファイル
「Makefile」をダウンロード
おまけに、各々の関数の依存関係を示したグラフ(diaファイル)
「cstring_f.dia」をダウンロード
です。
すべてBSDライセンスってことで。
ちゅーか、なんかSTLでstringってあるんだね。
ほとんど作ってから知ったよ。
前々から思ってたんですが、何ゆえUNIX系でCStringに相当するのがないのだろう?と。
CStringって何気にすっげぇ便利だと思うんだけど、なぜ無いのか?と。
なぜ誰も作らないのか?と。
で、ちろっと調べたらありましたね、ええ。
ただ、残念ながらそれほど多くのメンバ関数をカバーできてないと、まぁ、そういうわけなんですな。
で、無いんなら作っちまえば?という発想で今作っております。
だいぶ前にwikipedia関連のニュースを見て
もうwikipediaから引用してもいいんじゃねぇの?
そんな時代なんじゃねぇの?
って書いたけど、それは間違いだと気づいた。
ちゅーのは、wikiは誰でも編集可能だから、簡単に内容が変わっちゃうんだよね。
そうすると、
このレポートの引用先のURL見たけど、ぜんっぜんそんなこと載ってないじゃん
ってことが起こりやすいってことだ。
ってことはダメだな、と。
そういう理由だけでダメだな、と思ったのでした。
でもこれって大切なことですから、ええ。
たまーにだけど、BSDとLinuxどっちがいいか?というようなことが論争になる。
で、面白いことに、Linux派の人ってLinuxがけなされるのを極端に嫌うんだよね。
まぁ、BSDな人でも心中Linuxをけなしてるんだけど、ほとんどの人は攻撃しないんですよ。
BSDな人は、
BSDはそういう風につくられてるから
ってな感じでさらっと流す。
Linuxな人はLinuxを崇拝してる感じがするんだけど、何でそこまで? と思うのは自分がBSDな人だから?
openofficeをやっとこさコンパイルし終わり、起動してみたけど、無理!!
あれ、無理だから!
遅い、落ちる、止まる、の最悪三拍子。
コンパイル時間無駄にした〜orz
で、とりあえずのところ、表計算はどうにかしたい、スロット収支をつけるために。
あっ、そうそう、スロ収支、今までのファイル消えた(しれっと)。
思いっきり消してた(しれ〜っと)。
まぁ、今年の2月末まで収支はだいたいー27万。
ちゅーわけで、改めて、-30万から付け始めます。
で、今はopenofficeをパッケージでインストールしてみつつ、しばらく表計算はgnumericを使おうかな、と。
かなり快適っぽいんで。
office環境がなぁ、完璧になればかなーりいいんだけどなぁ〜
パソコン再構築の一環で(自分の中では)儀式でもあるんだが、openofficeをコンパイルしている。
さすがにopenofficeくらいになると、ソースビルドではなく、パッケージから入れることを悩むんだが、最近は専らソースビルドなのだ。
まぁ、単に時間があるっていう理由だけなんだけどね。
昔は流石にパッケージから入れてたがな。
とおろで、このopenofficeなるソフト、ご存じない諸兄もいると思うので簡単に説明すると、MS-office製品があるでしょ?
wordとかexcelとか、あとー、えーっと、powerpointなど。
それのフリー版です。
フリー版と言っても、作ってるのはMSではないので悪しからず。
要は、Windowsの普及ぶりから、UNIX界でもwordやらのファイルを開いたりする必要がでてきたわけです。
ただ、wordやらはUNIXには無いので、どうしたもんべか?ということで、作られたのがこのopenoffice。
MS-office製品らのファイルと(ある程度の)互換性を持たせたソフトを作ろうと、そんで、ついでならそれらを一まとめにしてオフィス製品として世に出そう、とまぁ、そんな具合です。
相変わらず、MS-officeを完全に取り込んでopenofficeで作業する、というようなことは贔屓目で見ても完全とは言えないものの、openofficeだけで行くぞ!という勇気ある人にとっては、wordファイル(.doc)をwordだけで使うのと同じくらいの使いやすさです。
まぁ、もっとも、UNIX系でopenofficeばっかで作業するっていう状況が思い当たらないんですけどね。
JVM terminated. Exit code=1
/usr/local/bin/java
-Xms40m
-Xmx128m
-jar /usr/local/eclipse/startup.jar
-os freebsd
-ws gtk
-arch x86
-launcher /usr/local/eclipse/eclipse
-name Eclipse
-showsplash 600
-exitdata 490004
-vm /usr/local/bin/java
-vmargs
-Xms40m
-Xmx128m
-jar /usr/local/eclipse/startup.jar
やるかーorz
mixiのCのコミュニティ板にコメントしたとき、プロトタイプ宣言いらなくね?ということを書いたのです。
で、それに反応があって、そんなことない、と。
で、自分は、なんでそうなのかさっぱりわからず。
で、さっき、いらなくね?と改めてコメントをつけました。
ちょいと自分で調べてみたら、
http://www.cmagazine.jp/src/kinjite/c/oldstyle.html
こんなのを見つけたわけです。
で、それを読んで、なるほどね〜。
まぁ、呼び出した方に問題アリなんじゃね?とは思ったものの、確かにそれはあるなぁと思ったのでした。
※基本的に自分は、Double2(1.0);というように、整数と実数の区別は必ずつける。
ただ、問題なのは、このサイトの口調。
なんでプログラマやらSEやらっていう人種は、こういう攻撃的口調なんでしょうかね?
なんで他人をそんなに敵とみなすんでしょうか?
例えば、一言「なんで?」と言うわけですよ、今回のように。
これがね、建設的な議論をできる人に同じ言をいうと、素直に教えてくれるんですよね。
でも、攻撃的な人に一言「なんで?」っていうと、そういう人達は、なんかこの「なんで?」に変な勘ぐりを入れてくるんですよ。
自分が試されてる、とか、攻撃してくる、とか、変な被害妄想をするんですかね? よくわかんねぇけど。
で、返ってくる答えは、上のサイトのような口調ですわ。
まぁ、とりあえず、mixiの方でどんな反応があるか楽しみですわ。
たぶん、むかつくんだろうけど。
http://itpro.nikkeibp.co.jp/article/Research/20080220/294230/
今度はコレ!
ちゅーか、自分も「シンクライアント」って言葉は最近しったんですよね。
いわゆるワークステーション型って言った方がいいんですかね?
実は自分もシンクライアントが欲しいんですよ。
ただ残念なことに、家でPCを頻繁に使うのって、自分しかいないんだよね。
だからシンクライアントを導入しても意味なし。
で、値段も実は調べました。
結構マジで検討したんだよね。
格安だったら導入しようかなぁなんて。
値段は1端末1万円程度で、1台から〜♪
なんて思ってたんですが、やっぱそんなの無いわww
ただ、会社単位では結構アリだと思う。
実際問題、会社で使うと言っても、そんなに使い込むことって・・・まぁ、あるんだけど。
あるんだけどぉ〜、無いよね(どっち?)。
詳しく言えば、エクセルとかを使わなければ実は個人ベースの負荷ってそんなに大きくないと思ってる。
で、それだと、下手すりゃ10人でDELLの一番やっすいのでもいけんじゃないか?と。
で、実際問題、
それってエクセル使う意味・・・あるの?
っていうようなことが多くないっすか?
社員のPCスキルや概念をベースアップすることでかなりいけると思うんだけど・・・。
http://journal.mycom.co.jp/news/2008/02/25/032/index.html
昨今、くだらないコンテンツが多いと思える世の中だけど、これは面白いと思った。
長続きするかどうかは知らないけどな(グサリ)。
http://slashdot.jp/article.pl?sid=08/02/25/0525226
前にもwikiの丸写しで問題になったよね。
そんときは大学のレポートだったかな。
で、思ったのは、もうネットから引用というのも有りじゃないとダメじゃね?ってこと。
何で、本からの引用は何も言われず、ネットからだと文句を言われるのか?
もちろん、どちらにしろ、引用した、ということを明記しないのは問題だけど、既にこの世の中はネットの方が確実に効率よく検索できると思うし、だからこそ色んな人が目を通して、特にwikiのような色んな人が参加できるタイプだと間違えも結構修正されると思うんだよね。
そうなると誤植が多かったり、
一体どんだけ古いんだよ! この本はっ!
って憤ることもなくなってくると思うんだよね。
もう、何かしら存在が保証できるのならURLなりを明記すればOKでいいよね。
評価する側(教授とかいう、お前はそんなに自分の専門分野の欄にいっぱい書いてて、自分の知識は広いといいたいのかもしれないけど、それって単に読んだ本の名前じゃね?っていうようなくだらない人)が時代に取り残されてるだけじゃね?
だってアンタの研究・・・(以下略)
http://slashdot.jp/developers/article.pl?sid=08/02/25/0732206
その昔、僕にLinuxを教えてくれた人がvi派だったので、僕は未だにvi派です。
emacsは僕にFreeBSDを教えてくれた人が使ってました。
なので、気にはなってました。
で、会社に言ったらやっぱりemacsの人が多かった。
そして悔しいことに、明らかに自分のvi習得度よりもemacsを使った方が簡単だな、とは思った。
だから、だ・か・ら・こ・そ! 僕はvimでemacs並に使えるように、頑張るよ。
VMと言ってここで指すのはVMwareのこと。
確かにあれは良い。
すばらしい技術だし、お金を払う価値はあるな、って思う。
と言って、自分が払うか?っていうと、それは無い。
というか、FreeBSDでどうにかしたいから。
まぁ、FreeBSD上でVM動かそうと努力して、結局上手くはいったものの、残念ながら型落ち(VM2くらい?)のkeyを買おうかと、いろいろHPをみたものの、結局それにつながるようなことは書いて無し。
というか、VMware2なんて一言も触れられてないし・・・。
というわけで一切諦めたのでした。
んで、本題は、
http://www.atmarkit.co.jp/news/200802/25/vmware.html
これ。
まぁ、「標準」とか言ってるものの、それはVMの人だから、宣伝のためにそういうわけで。
逆にこういう謳い文句を言われると、自分の中ではマイナスイメージ。
つーか、わざわざVM上でマシン乗っけるんなら、1台=1サーバではなく、1台をいろんなサーバとして動かした方がいいんじゃね?
と思ったわけですよ。
その方が、VM乗っけてない分、いいんじゃね?と。
ただ、何かあったときは確かにVM上で動いてたら便利だなぁ・・・と思い直したのでした。
はい、終了!
またもや愚痴だから、な?
最近、ソフトを作ってるんですよ。
どんなのかは言わないんですが、第2のグーグルを目指そうと。
もっと詳しく言うと、グーグルのようになんかソフト作って儲けようぜ、ってことですた。
まぁ、個人的にはお金は細々と生活できるだけがあれば良く、仕事はやりがいがあれば良いっていう考えなので、儲けはそっちのけで、二つ返事でOKしました。
まぁ
お前はグーグルの二人(二人だっけ?)が単に運が良くて儲かったとしか思ってないかもしんないけど、とてもじゃないけど、お前のような低い知性では到達できないものを持ってて、なるべくしてなったんだ!
と言いたかったんですが、他のことをあれやこれやと言ってるうちに言いそびれたのでした。
で、アイデアを出しつつ、こんなのがいんじゃね?とか言って、取りあえず閉幕。
で、再びコンタクトを取ったときに、ajaxやらweb2.0やらとわけのわかんない単語を言うではないですか。
・・・何それ?
といちいち聞いたり、聞きながらWikiを見たりで取り合えず納得。
で、それはそれでいいんですが、思ったのは、みんなこういうこと言うのかな?と。
そんなものを作ってる人達は職場でもこういうこと言うのかな?と。
正直、
お前、バカじゃね?
ではなく、
キモ!
と。
というのは、どうやらそのajaxやらweb2.0やらそんな流行りの言葉を見てみたのです。
どんな新しい規格なんだ?
そういうのから離れてるうちに随分と時代は先に進んだんだなぁ・・・(遠い目)
と思ってたら、全然違うじゃん!
全然規格とかじゃないじゃん!
どちらかというと、そういうビジネスモデルって言った方がいいもんじゃん、と。
どんだけ新しい言葉が好きなんだ、と。
こういう奴らはどんだけ横文字と新しい言葉が好きなんだ、と。
どんだけ日本語ができないんだ、と。
結局、そういう新すぃ単語が、規格でないということがわかり
・・・なんか小難しいこと言ってるけど、結局作ってみてからじゃね?
の一言で、そうだね、と円満解決。
ほんと、どんだけカッコつけたがりなんだっつーのorz ギャクニダサイッテ!
嫌いなプログラマ、というより、プログラマが嫌いと言った方がいいかも。
まぁ、もちろん、好きな人もいるだろうけど、今のところ、SEやらプログラマやらといったソフト系の人に良い性格な人はいねぇな、っていうのが正直な感想。
というわけで、そんな典型例をば。
http://monoist.atmarkit.co.jp/fembedded/articles/miconkiso2/02/miconkiso2_02a.html
まずは、このサイトを見て思ったんだけど・・・。
基本的にアセンブラやらの存在意義はわかるし、随分と長い間、パソコンと関わってきてるから、低級言語やら高級言語やらの(歴史的?)経緯やら、広まり具合はそれとなくわかってます。
で、本題ね。
最近、というか、今頃?ってな感じですが、mixiに参加したわけです。
で、コミュニチーやらをつらつらと見てるわけです、スロをしながらね(それはどうでもいいけど)。
で、CとC++のコミュニティーを見ると、まぁ、当然いるじゃないですか。
そんなこと質問すんの?!
という人。
いや、いいんです。
居て良いんです。
むしろ居てほしいくらいです。
初心者ならまぁ、解らないっていうことを自分は解ってますから。
で、まぁ、それに取り巻く嫌な人っていうのはいるんですが、それはまた後で。
で、そんな質問の中に
「プログラムの高速化ってどうする?」
っていう質問があがったわけです。
で、その中の答えにあったのが、
アセンブラで書けばいいんじゃね?
と。
で、まぁ、ご丁寧に短いアセンブラのソースをつけてね。
はい、やっと本題です。
この場合の高速化っていうのは、あくまでCやC++の範囲内で高速化をしようって話なわけ。
そりゃぁね、アセンブラで書いたら早くなるかもしれない。
でもそれって、あくまで「かもしれない」ってことなんだよね。
そもそも、昔はCなんてなくって、アセンブラだったわけだけど、依存ってものがあるでしょ?
そもそも、Cって、そんな低級言語と切り離すために作り上げられた、むしろ作り上げられちゃったものじゃん?
高級言語ってそういうもんじゃん?
なんで高級言語を使うかっていうと、ハードとの依存性を切り離すっていうのもあるじゃん?
それを無視して
「アセンブラなら・・・」
なんて言ってるのは、正直、知識をひけらかしてるようで、そうでないから。
そんなこと言ったら、全部のコードをアセンブラで書けばいいじゃん!ってことになるでしょ。
そうじゃねぇだろ?
それに、だいたいCも、コンパイラが一度、アセンブラに翻訳してるから。
man gcc
でオプションを片っ端から読んでみ。
あと、最適化っていうのはすっげぇ研究されてるわけよ。
正直、
アンタに言ってもわかんねから、むしろわがんねぇもすなぁ
って言うほどのものだから。
へーぼんを絵に描いたふつーのどこにでも居るようなイチ・プログラマだか、SEとかいう、本当に世の中の役にたってるかよくわかんねぇ職業を自称して、「自分すげぇ!」なんて勘違いしてるような人たちじゃないから、最適化を実装してる人達は!
って思うわけさ。
仕事でデバッグをしたとき、書いたコードを全部アセンブラで見て確認しろっ!って言われたときはビビったね。
そんなに綿密に見てんだ!
ではなく、
こいつバカじゃね???
って。
だって、代入されたかどうかでさえ目視で確認しろっていうだぜ?(だぜ?)
バカだろ?
そもそも目視ってなんだよ、と。
もしCで明らかに代入したのに、実際にアセンブラで見たら代入されて無かったときどうすんの?
それも俺がデバッグすんの?
それって、gccがどうにかするって話にならね?
仮にどこでしくってるかわかったとして、それを、この社内やらで解決できんの?
つーか、ここで失敗してんなら他でも、すでに失敗してんじゃね?
・・・やっぱ、バカだよね、うん。
linuxの1ディストリビューションにubuntuなるものがあるわけだが・・・。
これがねぇ、もう、かなりひどいわけ。
いま、svnサーバーを立ち上げようとしてて、こちとらとにかく何もわかんねぇから一杯ググったり、設定をいじったりと、して、かなり試してるわけ。
ここまでいい。
で、サーバーってんだし、一人で使ってると、まぁ、とにかく設定がある程度いったらリブート、上手くいったらまたリブートとかって具合に、まぁ、とにかくリブートすりゃ設定ファイルとか読み込んだりしていいんじゃね?となるわけだけど、サーバーなんでそれはなるべくしないでいこうと、まぁ、そう決めてやってるわけなのです。
で、inetd.confの設定を終えて、さて、リスタートすりゃいいんだけどどうすんべ?とググると、まぁ、サクッとでてきたまではいいんだけど、なぜかそのマシンにはそのコマンド(スクリプトとかディレクトリ)がない!!
なんだこりゃ?
と。
そう思いましたよ。
まずね、linuxならそういうの全部統一すべきじゃね?
何故ディストリビューションで異なる?
で、同じubuntuでもなにゆえ、ググりサイトには書いてあるコマンド(やディレクトリ)があってこれにはないの?
これはあれか?
バージョン(リリース?)が違うからか?
ありえなくね?
おかしくね?
むかつかね?
で、そんなわけでね、そうしょうがねぇべってことで、とにかくそれっぽいのとか探すためにじっくりと/etcを見てみたさ!
ところがどうだこれ!
なにゆえ、/etcにvimとかが入ってる?
なにゆえ、/etcsambaが入ってる?
おかしいっつーの!
なんて節操の無い構成なんだ!と。
マジで頭くるっちゅーの!
linuxなんてなくなればいいってマジで思った。
そしてlinuxユーザーはBSD界には是非入ってこないで欲しいと思った。
あんなののユーザーらがBSD界に入ってきたら質が落ちるっツーの!
ブックマークはもはや携帯のアドレス帳にヒケをとらないくらいに個人情報だと思う。
その人の興味などなど、もろもろがつまっているし、整理されてるかどうかなど、相当性格もでると思う。
あくまで思うだけ。
なぜなら他人のブックマークなんてそんなにみないから。
だからこそ個人情報か?
これまでのGUI(Graphical User Interface、要するに絵的な使いさすさ。Windowsのコレがソレ)を考えるとWindowsは意外によくできてるなぁと思う。
まずは操作性。
古いMacがどうだったかは知らないけど、少なくともDOS/V界でのGUIを牽引してきたのはWindowsに他ならない。
MSがGUIに乗り出した痕跡はMS-DOSにも見られる。
その昔、MS-DOS3.xとかにはmenuコマンドなるものがあった。
menu形式でファイル操作などができるわけだ。
で、これがさらに改良され、MS-DOS6.xになるとshellコマンドがあった。
shellと言っても実際はGUIを意識したそれだ。
それと同時にWindowsが発信してたわけだが、爆発的な普及をしたのはWindows3.1.
このWin3.1で事実上GUI界はMSのものになった。
当時の時代背景として、ネットの未発達があった。
UNIXでもそういう試みはあったのかもしれないが、そもそも(主に研究・大学での)ネットを基調として考えられてるUNIXは当時の、「ソフトは店で買ってくる」という風土には返って通信料がかかるために個人ユーザーにとっては高価なものだった。
一方でMSは、基盤が「OSから何から何まで買ってくる」というものだったからその点でむしろそのような普及方針の方が便利だった。
さらに、UNIXは知識が必要なために素人が「買ってすぐ使う」にはかなり敷居が高かった。
というか、MS-DOSでさえ、理解するのにかなり勉強が必要なくらいだったから。
そんなわけで、Win3.1が普及したわけだ。
Windowsはその後、GUIとネットに対して幅を広げて現在のXP、Vistaに至るわけだ。
で、なんと言ってもWindowsの武器は、周辺機器が一杯使えるということ。
モノ(基盤)を作ってる会社がそのままWindowsのデバイスドライバを提供してるのは強い。
なぜなら買ったら確実に(と言っていいほど)動かすことができるから。
UNIXでは残念ながら、OS周辺でドライバを作ってる。
モノを作ってる側からすれば、「100人に1人のためにわざわざドライバなんて作ってられねぇよ」というわけだ。
こういう点でWindowsの勝ち。
で、GUIの操作性に関して言えば、「結局Linux(GNOMEやKDE)もWindows(のGUI)を目指してるじゃん」ということを考えるだけでWindowsの勝ち。
パフォーマンスに関して言えば、「Windowsは遅い遅いって言うけど、そもそもおめぇ(ユーザー)の操作の方が時間的なボトルネックになってるんじゃね?」という点を考えると引き分け。
セキュリティに関して言えば、「ちゃんと対応してるジャン!しかも親切にお知らせまでしてくれるし」という点でやっぱり引き分け。
お金に関して言えば、「おめぇ、結局『Linux入門』とか色んな本買っててWindowsより金かかってるぜぇ?」という点でやっぱり引き分け。
どうですか?
それでもWindowsは駄目ですか?
ちょこまかとmixiをみてたら、トピックスにWindowsXPの販売打ち止めの記事があった。
で、この記事に関して日記を書くと、自動的にこの記事について日記書いたよーっていう感じで一覧としてアップされる。
XP販売終了に関して何か突っ込みどころはあるんか?とつらつらと見てたら、まぁ、大抵の意見はまだそうするべきではないという意見だった。
まぁ、そんなことに関して意見するなら販売打ち止め自体はそれほど問題じゃないと自分は思う。
個人的な事情でそう思うし、時々スーパーのレジとかでもWindows使ってるのを見かけるけど、そういう方面に関しても特に問題はないと思う。
XPが発売されて・・・何年だ?
詳しいことはよくわからんけど、基本的に新しいマシンに新しいOSを乗っけるのならVistaでもいいと思う。
資源にそれなりのスペックを期待できるから。
で、ぼーっと続きを見てると
以下抜粋------
「MACユーザーですが何か?(ニュース日記)」
不正アクセスされ放題なOSなんかイラネ(^ω^)
今から買うならやっぱりUNIXかMACだな。UNIXはセキュリティ面で抜群だし、MACは基本が違うからほとんどのウィルスにかからないしwwww
てかMACに慣れるとWindowsとかイラネw
MAC、火狐、ドリウィ、ファイアワークス、イラレ、フォトショ。
これ神器(`・ω・´)
ここまで------
とのこと。
これは大きな誤り。
どうも世の中はこんな勘違いが多い気がするので、ちょっとお勉強とともに助言をば。
基本的にWindows→セキュリティが甘い、非Windows→セキュリティがしっかりしてる、という認識だけどこれはちょっと違う。
そもそもなんでWindowsが狙われてるかというと、それはセキュリティが甘いわけではなく、逆に非Windowsがセキュリティが強いというわけでもない。
理由はWindowsユーザーが圧倒的に多いからだ。
セキュリティホールを狙う側になればすぐにわかるが、同じウィルスを作ってばら撒くとしよう。
そうすると、圧倒的にWindowsが多いのだから対Windows用のウィルスを作った方が効率的にウィルスに感染させることができるからだ。
仮に、現在のWindowsとLinuxのユーザー比率を逆転させたなら、これまでとは違い、Linuxに対するウィルスが多くなるだろう。
こんな理由でウィルスは作られるわけだ。
同じ面積の池で魚を釣るのなら、魚が多い池で釣るほうが、効率的に釣れるだろう?
理由はこれと同じだ。
だから当然、対Linuxのウィルスも存在するし、ついでに言えば、ウィルスソフトforLinuxも存在する。
で、次は純粋なセキュリティに関すること。
これもさっきの「数」のためと一緒。
ユーザーが多くなればなるほど、プログラムが大きくなればなるほど、自然とセキュリティホールが見つかりやすくなる。
前者は調べる人数が多くなるということになり、後者は単純にバグ混入数が多くなるためだ。
だから非Windowsが特別セキュリティが厳しいわけではない。
で、次はユーザーレベルに関すること。
非Windowsが安全だとは言うものの、パソコンの仕組みがわかってない人が非Windowsを使うことも危なくなる。
残念ながら非Windowsユーザーというのは、ほぼ自力でOSを扱えないといけない。
実際に、非Windowsでもセキュリティ勧告というのが出る。
悪意あるユーザーがゴニョゴニョという手順を実行すると乗っ取られるよ、というのだ。
で、その度に有志の人々がそれに対応して新しいpatch(という名の修正ファイル)を発行するわけだが、当然このpatchを当てる(修正プログラムをインストール等するのを「patch(パッチ)を当てる」という)作業をしないといけないわけで、残念ながら世の中にはこういう作業ができない人が多いわけだ。
当然、このパッチを当てる作業をしないとOSは更新されないから、セキュリティホールを抱えたままになる。
そうであれば当然、そのパソコンは「危ない」わけだ。
一方Windowsならこのようなことは1クリックでOKになってる。
「ネット環境が無いならそれはできない」っていうかも知れないが、残念ながらスタンドアローンであれば、そもそも外部からの影響は無い(これはWindowsも非Windowsも同じ程度の危うさ)。
というわけで、残念ながら、ユーザーに優しいWindowsの方がむしろ非Windowsよりも安全ということも考えられるのだ。
いい勉強になりましたね(ニッコリ)。
で、一度閉めてから改めて。
そんな具合でセキュリティが問題になってたりするんですが、セキュリティということに関して言えば、OpenBSDなるOSがある。
このOS、ウリ文句が
「もう 10年以上もの間、デフォルトインストールでのリモートセキュリティホールはふたつだけ!」
というくらいセキュリティに関することは積極的なのです。
まっ、「関することは」だけどな(ニンマリ)。
ソーシャルブックマークなるものを使ってみた。
感想は・・・使えねぇ〜。
まぁ、ききたまへ。
動機はこうだ。
自分はパソコンを2台使ってる。
まぁ、両方とも自宅なのだが、その昔は会社でも当然使ってたわけだ。
こんな具合に復数台パソコンを使っていると、残念ながらとても残念なことになる(どういうこと?)。
残念なことっつーのは、ブラウザを使うわけだが、良い記事を会社で見つけてお気に入りに追加したものの、家に帰って見ようとしたら追加したことに安心して肝心の記事がどんな検索キーワードで検索したかすら忘れた、おかげで目的のサイトが見れねぇよ!ってことになる。
実際自分もそんなことがあったし、今でもある。
で、そんなのを解決しようとした(動機はわかんねぇけど)こころみがソーシャルブックマークなるもの。
これは簡単に言えば、自分のお気に入り(ブックマーク)をとあるサイトにアップロードしとく、というもの。
こうすれば、そのサイトのURLさえ覚えておけばネット環境が使える状態であればどこででも自分のブックマークが使える!というわけだ。
で、ちょいと試してみた。
試したのはZimkoとニフティクリップ。
Zimkoは国外のとこ、後者は名前の通りニフティだ。
まずはZimkoの評。
基本的に操作等すべてが英語。
まぁ、これ自体は対して問題はないんだけど、とにかく遅いのだ。
見た目はほぼIEのお気に入りの状態なんだけど、フォルダマークをクリックすると、その内容が見れるまでが遅い。
まぁ、これは技術的にしょうがないんだよね。
だけど、やっぱりそれは不快だったので止めた。
で次はニフティクリップ。
もう、これは使い難いの一言。
いっぺんに見れる数が少ないし、ワンクリックで見たいページを見れると言う風になってない。
まずクリックすると、目的のページのプレビューがでるんだが、果たしてそれは本当に必要だろうか? ということをニフティは考えるべき。
それにお気に入りのフォルダ分けをする作業がなんとも面倒。
ついでにどうせこのような目的であれば、IEなりFireFoxなり、お気に入りをエクスポートできるのだからそれから勝手に一覧が作れるようにすべき。
というわけで、これもアウツ!
で、しばし沈思。
このソーシャルブックマークの存在意義を考えてみたのだ。
ニフティクリップ等を見てみると、同じサイトを登録したら、他のユーザーがどのくらい登録してるかがわかる、という機能が提供されていた。
これの意図は、mixiのコミュニティ感覚なのだろう。
同じサイトが登録してあるということは、同じようなことに興味をもっているであろう。
なので、そのユーザーのブックマークを見れれば、自分には無い有用なサイトがブックマークされてるかもしれない、ということだろう。
なるほど。
それは確かに良いことなんだけど・・・。
残念ながら、必ずしも全員が、他人に自分のブックマークを公開してるわけじゃない。
それに専門性が尖るほど、自分が欲しい情報を他人がブックマークしてるとは限らない。
さらにこの手のサービスは色んなところがしてるわけだけど、こういう機能はなるべく大きなコミュニティに属さないと生かされないわけだ。
で、さらに使いやすさやレスポンスの面で言えば、圧倒的にブックマークやお気に入りの方が言い訳だ。
というわけで、残念ながらSBMの利用は断念。
で、代わりに使うことにしたのが、FoxmarkなるFireFoxのアドオン。
これで一応解決です。
まぁ、WindowsはIEからFireFoxに乗り換えることになったけど、まぁ、問題ないかなぁ。
ちょっと起動時間が長くなるけど、そもそもXPはログインしてから使えるようになるまでに異常に時間がかかるのでほぼ誤差の範囲。
ちゅーか、2000は起動までにすっげー時間がかかったのを、XPでは起動までは早いんだけど、皺寄せをログインしてからにしただけじゃねぇか!ってことじゃね?
なんか最近ブログが炎上したトピックスが多いなぁなんて思う今日この頃、いかがお過ごしでしょうか。
まぁ、自分自身で個人が特定されるようなことを書いてるんなら自業自得か・・・なんて思うからいいんだけど。
そういや、自分もそういうことかいてるなぁなんて思ったけど、俺が特定されても意味無いかっ!(ズコーッ)
http://www.kmonos.net/alang/boost/classes/integer.html
例の任意語長をもつ整数型の話。
どうも任意云々というのではなく、多倍長整数型っていうのが一般的な言い方みたいですね。
で、これをboostとstdintに期待したのですが、どうも両方ともダメみたいです。
boostは組み込み型(これもどうも意味がわからなかったんですが、どうやらintとかdoubleとか、元から用意されている、というような意味らしいです。ほんと?知ってる人訂正求ム)が割り当てられるという感じのようです。
この真意は、例えばintが32bitとは限らないじゃないですか、環境によってもしかしたら16bitかもしれませんよね、intの定義上。
で、そういうのは移植性という観点からちょっと問題ですよね。
末端プログラマはそういうのを意識したくないし、意識させるべきではないから(まぁ、そういうのを考えてintやlongを使い分けろというのが本筋なんでしょうが、ちょっと実際問題それは末端プログラマにとっては負担ですよね。そもそも末端プログラマはそういうことを考えてない(特定の環境に対してのプログラムかもしれない)から)。
で、そういうのを解消させたいという魂胆があってのboost/integer.hppらしいです。
で、次に後者のstdint。
これは単にVC++で用意された__int64に対応するものを用意しようというようなものらしいです。
というわけで、両者とも自分の理想とは離れてるというわけです。
自分が理想とするのは、整数型ということ「だけ」を指定して、後はそのクラスを使ったら資源の許す限り、またはユーザーが指定した資源の許す限り、計算ができるようにする。
そして、その計算は限りなく上下限を意識しなくて良いというものです。
つまりこれって・・・、多倍長整数型ってことです。
というわけで、ちょっと興味が出てきたし、予備知識も以前よりも入ってきたので作ろうと思ってます。
とりあえず、頭の中では雛形はできてるので、まぁ、なんとかなるかなぁ。
スロット行かない間に作れたらいいなぁ。
まぁ、できたら使える使えないを問わず公開したいと思います。
二項分布で議論になった、任意語長をもつ整数型の話なんですが、今、気になって自分でつくろか、どうしようかと思っておりました。
で、つらつらと調べると、世の中は進歩しているもので、boostなるライブラリ作成集団(?)なるものがあり、これがまたビンゴでこの問題に取り組んでいるのです。
参考↓
http://www.kmonos.net/alang/boost/
ここをたどって
http://seclan.dll.jp/c99d/c99d09.htm#dt19990621
に辿りついたと。
まぁ、簡単に概要を言えば、stdint.hなるものを作っており、これはCでは標準に組み込まれ、C++ではまだらすぃと。
で、intの任意の語長を取れるんだけど、プラス、少し便利なことあるよ、と、まぁ、そんな具合です。
ただ、これが自分の欲しいものかどうかがわからんのですよねぇ。
ちょいとそこら辺、考えてみとうございまする。
まぁ、自分の欲しい物なんておいそれと手に入る物じゃないってことはわかってるんですがね。
つーか、かなり良いんだよなぁ・・・。
一応時事ネタかな?
炎ジョイが炎上したことを報告した記事
http://headlines.yahoo.co.jp/hl?a=20071122-00000003-jct-sci
ここには、炎ジョイのレイヤー機能をつかって実際に書き込みをしたのは2%ってあるが、それってどうなん?
この記事だと、あたかもこの会社の企画意図が上手くいった!と言わんばかりである。
まぁ、炎ジョイがどういうのかは全く知らんのだけど、機能使わないで直接書き込みした人の数が公表されて無いという時点でこの会社発表の公平性に疑問がある。
それに社内調査の数値結果を出してるものの、疑われてる会社が発表する数値なんて疑わしいものだ。
第三者のチェックができない状態での数値は信頼できない。
そもそもブログが炎上することを知らせるような意味あるのか?
炎上しようがしなかろうが、それはブログを開設した当人の責任じゃないのか?
なんてことを思わざるを得ないわけで。
まぁ、これでこの会社が潰れたらいいなぁなんて思ったりして。
と言って、このブログが炎上したら爆笑だけど。
まっ、そんなことねぇか(若干がっかり)。
「GOGO_counter_ver1.1.swf」をダウンロード
携帯電話から実行できる小役カウンターを作りました。
まぁ、やっと見せれる状態かなぁ・・・(そうでもねぇか。ズコー!)。
インストール方法:次の「壱」か「弐」のどちらかからできると思います。
壱:===携帯から直接入手する方法===
1.携帯ブラウザから、本ブログのアドレスを入力()し、上記のダウンロードを中央ボタン押下。
2.データフォルダに保存する(携帯ブラウザ(メーカー)によって方法は異なると思うので略)
弐:===PCからメールで送る方法===
1.PCから上記のダウンロードを右クリックで「リンク先を保存」する(GOGO_counter_ver1.1.swfを入手)。
2.ゲットしたファイルをメールに添付して携帯に送る。
3.携帯で添付ファイルを開け、データフォルダに保存(携帯機種によってことなるかも)。
実行方法:
データフォルダから実行すること。
操作方法:
カウントできる小役は3つ。
oddボタンを押すことでカウントアップされる。
odd3の下の枠は、ゲーム数を入力する欄(文字入力できる)。
この欄に数値を入れて、GOGO!ボタンを押すことで、それぞれの小役出現率の分母が表示される。
注意:
カウントされていないときに(0のときに)GOGO!を押すと、小役出現率にエラーが表示される。
これは0で除算してるためなので、気にしないこと(そういう仕様だから、な?)。
総ゲーム数入力欄は半角数値を入力すること(そうでない場合は計算されない)。
フラッシュを停止させる(電源ボタン押下等で抜け出す)と小役カウントが水の泡になるので注意。
責任事項等:
使用した結果等に責任を持ちませんが、文句は受け付けます。
要求(もっとこうして欲しいなど)はコメントにお気軽にどうぞ。
配布等一切フリーです。
開発環境:
PalaFla on WindowsXPhomeEdition
「GOGO_counter_ver1.0.swf」をダウンロード
やっとできました!
つーか、2時間で出来たんですけど・・・
つーか、なんで前のは再生できなかったんでしょうか???
結局固定画面とか関係なかったです。
ふっつうに使えました。
というか、使えないと、使えるものができねぇから!
といっても、まだやっつけverなんだけどな。
ダウンロード方法は、その3くらいに書いてあると思うんで・・・
開発中です。
理由はわかりました。
えーっと、何かのためになるかもしれないので書いときます。
どっちかっていうと、開発者用のメモですけどね。
FLASH開発環境にフリーのPalaFLAを使ってます。
で、これで携帯電話向けのFLASH、swf4を作成するとき、「種別」「テキスト」を「固定画面」にすると(おそらくフレームカウントが0のとき)、再生できなくなる模様です。
というわけで、これが使えないとちょっと不便・・・。
なので、いろいろと考え中です。
ちょっとは形らしくなったかな?
えーっと、ダウンロード方法は、このURLを携帯ブラウザに入力してください。
で、このブログが表示されたらダウンロードのところを押すとFLASHが動作します。
そしたら、ブラウザメニューなんかでデータフォルダに保存するとかをすれば携帯に取り込めます。
もしくは右クリックでダウンロードしてパソコンに入れて、それをメールに添付して携帯に送るのでもいいです。
で、携帯に取り込んだら、このFLASHを動作させてください。
取り説いらないと思うんで、動作させてみてください。
「counter.swf」をダウンロード
使用した結果等には責任をもちませんが、文句は受け付けます。
こうしてくれ、あーしてくれ、とかあったらコメントにどうぞ。
なるべく対処いたします。
バグ報告とかしてくれるとありがたいです。
でわ、よいスロライフを。
小役カウンターバージョンUPしました。
DL方法とかは以前の通りです。
とりあえず、1子役にだけ対応です。
まぁ、なんですか、アイジャグのブドウでもカウント用とでも言っておきます。
このレベルだと、まだ小汚いメモ帳必要ですよねぇ。
まだまだバージョンアップの予定です。
「counter.swf」をダウンロード
小役カウンターの手始め。
えーっと、多分、右クリックでダウンロードして、パソコンにひとまず置いてください。
で、それをメールに添付して、携帯電話のほうに送ってください。
で、携帯の方でファイルを再生すればOKなはず。
現在、wavplayというソフトの解析をしております。
えーと、wavplayというソフトはですね、簡単に言えば、.wavファイルを再生して音を出そうよ、または録音して.wavファイルを作ろうよ、というソフトです。
なんかサーバーモードとかあるんですが、とりあえず、/dev/audio(または/dev/dspかな?)を再生で使うための勉強をするために、もっとも簡単な仕組みでできてるソフトは何かな?って感じで解析対象となっております。
実際、サーバーモードとかを除くとかなり簡単な仕組みだと思うんですよね、ぱっと見。
ちなみに、 UNIX限定のソフトです。
残念?なことにWindowsは関係ありませんから。
それなりにシステムコールとかをしてるし、いい勉強になると思うんですよね。
まぁ、スロプロにそんなの必要あるのか?って話なんですけど、そんなこともできるんですよ、僕。
というわけで、さようなら。
思えばパソコンとの付き合い(片思い)の期間を含めて随分と長い間になってる。
その昔、もう18年とか昔、家電屋で見かけたFM TOWNSという富士通製のパソコンがきっかけでした。
そのパソコンはもう、とにかくかっこよかった。
タワー型といって、今では普通に見かける本体ではあるものの、当時は画期的なデザインだった。
FDDがついてて、さらに驚きなのがCD-ROMドライブが平面縦型挿入だったのだ。
というか、当時はCD-ROMドライブがついていること自体が凄かったのだ。
そしてその横に置かれてるディスプレイ。
当然、液晶なんかじゃない。
というか、当時液晶テレビでさえまともな製品がなかったかんね。
昔の液晶ってのは、横から見るとまともに色が見れなかったかんね。
で、そのディスプレイはごついほどのCRTなわけ。
そしてディスプレイの前に置かれてるキーボードとマウス。
そしてさらにさらに画期的なのは標準装備でファミコンのコントローラーみたいなのが付いてきたことなのだ。
そう、目的はもうわかるでしょ?
ゲームですわ。
ちょうどデモで流されてる画面がシャーロックホームズのゲームだったわけよ。
で、パソコンの表示ってテレビと違って眼が細かいから、それはそれは綺麗に表示されてるわけさ。
それにがっちりとハートを掴まれたときから僕のパソコンライフが始まるのでした。
つづく。
いや、つづかねぇから。
すぐ書くから。
で、その値段が当時で30万強(現在になおすと約10倍←いやいや、アカギじゃねーから)。
もちろんそんなの手が出るわけもなく、そのときから僕のパソコンゲット作戦が始まるのでした。
つづく。
皆さん、termは何を使ってますか?
そしてエディタは何を使ってますか?
僕はね、aterm使ってるんですよ、透過が好きだから。
だけど、エディタはvi(jvim)なんですわ。
で、日本語環境はどうしてますかね?
僕はね、主にscim-anthyなんですよ。
ほら、困るでしょ?
だって、atermで日本語使いたいとkinput2使うわけじゃん?
だけど、scim-anthyだとGTKじゃないと日本語入力できないじゃん?
ほら困った。
エディタはvi使いたいわけよ。
だから、エディタ使うときはktermにしてkinput2-cannaなわけ。
わざわざ二種類の環境使い分けないといけないわけよ。
面倒じゃね?
それに無駄に資源使ってる気しね?
だから困るわけ。
だれかGTKでterm作ってくんねぇかなぁ・・・。
最悪GTKでviでもいいんだけど。
これはSE限定ネタになると思いますが・・・
職場ではUNIX系とWindowsを混合して使ったりしてると思います。
大抵、新入社員なんかとかだと、これまでUNIXは使ったり、使い込んだりしてないと思うんですね。
で、初めての職場でLinuxなんか使い始めちゃったりするわけよ。
で、さらにサーバーなんかはUNIX使ってたりするわけじゃん。
ついでに普段使う環境はWindowsだったりするわけじゃん。
するってーと、WindowsとUNIX間の通信が上手くいかないときってあるじゃん。
ファイルサーバーにLinuxでsamba立てたりして、使う環境はWindowsだと、パスワードとか、セグメントの関係で上手く入れなかったりするわけよ。
ついでにWindowsだと細かい設定とかあるわけよ、タスクバーとかね。
で、そんなWindowsの設定に困ってる人に訊かれたときの「できる人っぽい」返し。
『俺、Windows専門じゃねぇからわかんねぇけど・・・』
コレです。
ほら、できる人っぽいでしょ?
UNIXばっかり使ってる人=できる人 みたいなのを暗に含めてるわけよ。
で、こんな前置きしといて、ちゃんとWindowsの設定もきちんとしてあげたりね。
ほら、できない場合も
あー、やっぱわかんねぇわ、ごめん
って言えば、それでもすげぇって思われるわけさ。
ついでにWindowsのタスクバーを下じゃないところに設定しとくとなおさら良いですね。
例えば自分は左につけてます。
まぁ、格好じゃなくてちゃんと理由があるんですけど。
Windowを一杯開いたときに下にあるとWindowのタイトルが全消しになってどれがどの目的で開けたかわからなくなるでしょ。
だけど左につけて、ちょっと大きくしとくと(ミニアイコンが3つくらい入るのがお気に入り)、タイトルの頭だけでも少し出るんですよ。
これでちょっと使いやすくなるんですね、自分的には。
まぁ、そんだけ。
ちなみに、今、FreeBSDのportなんぞいろいろインストールしとります。
コンパイル早くおわんねぇかなぁ・・・
そろそろ見切りをつける時期かもしれない。
FreeBSD
こいつにはちょっと不便さを感じつつある。
今自分が使ってるのは5.5。
だけどそれはもうとっくに古いわけ。
で、ports関係のためにportsをcvsupしたわけさ。
そしたらどうよ。
portsは「最新の」stableにしか対応してないわけさ。
そうするとどうなるか?
まず、portupgradeとかするわけ。
とりあえずソフトは最新がいいじゃん?
で、しました、と。
で、起動します、と。
で、これが起動できないでやんの!
うじゃけんなよっ!
と思ってエラーを見れば、依存関係周りが死んでるわけ。
するとどうよ!
ぜんっぶのソフト使えなくなるから!
ホントこれはどうにかして欲しい!
ソフトは最新で。でもOSは古いままで。
というのができないわけさ。
じゃあ、どうするか? 頭を悩めるわけよ。
対策は
・FreeBSDから撤退
がまず挙げられるわけ。
じゃあ、そうしようと思うと、代わりのOSは何にする?ってことになる。
Windows? Linux? それとも他のBSD?
正直、LinuxにするならもうWindowsにしたほうがいいと思うわけさ。
Linuxは中途半端だから。
じゃあ、Windowsにするか、と思うと、じゃあ、何のために2台あるんだよってことになるわけよ、そうなると。
じゃあ、他のBSDにするかっつーと、どうなんそれ?
ちょっと調べる。
くそっ!!
・・・(調査中)・・・
ダメ臭い。
いや、ダメ臭くない。
ドラゴンフライBSDというのがいけそう。
いや、ダメだ・・・。日本語が・・・まだ・・・
というか、あれです、これはソフトをNetBSDのpkg(src)を横流しで使ってるみたい。
これだと・・・結局FreeBSDと同じだわ。
結局NetとFreeの違いはIntelとAMDに特化したのがFreeで何でも動かせるようにしたのがNetだから、PC上で使うならFreeの方がいい。
ってことはだ・・・
結局、stableを使ってるとしても、「最新のstableを追っかける」しかないわけだ。
こりゃ面倒だわ。
ってことは・・・
そうね、役割分担をはっきりさせた方がいいってことだわ。
Windowsに何を求めてるのか?
FreeBSDに何を求めてるのか?
それをはっきりしてないから、こんなことになるわけね。
そうね、そうだわ。
というわけで・・・、どうにかします。
くそっ!!
あのね、前々から言っておきたいことがあったんですが、今思い出したんで言います。
ブログとか、HPとか開くと、音流れるところあるでしょ。
あれ止めて欲しいんだよね。
というか、他人の資源(音デバイス)を勝手に使うな!と。
どんな洒落たHPを作ったかしらねぇけど、そんな音楽クソ食らえだから。
そんな音楽求めてる人誰もいないから。
そんな音楽聞きたい人なんて誰も居ないから。
だから、ブログ・HPを開くと曲が流れるような作りをするな、と。
もちろん、見る側がONにして曲が流れるようにしてあるのならいいけれども、ONから始まるようなことはするな、と。
最悪なのは、音OFFにするボタンが無い作り。
フォント(ホント)ムカつくから。
俺の資源を勝手に使うな、と。
まぁ、そんな嫌ならJAVA切っとけというのもあるけども。
音が流れてくる度にカッツィーンとくるんだよね。
聞くならDLして聴くから。
そういうこと。
インターネットのエチケットというわけで、ネチケットと言われてた時期がありましたね。
要するに、匿名性の高いネットではエチケットがないがしろにされやすい、だからこそ、エチケットを持とうよ、ということなんですけど。
まぁ、そう考えるに至ることには否定しません、僕はそういうの嫌いですけど(匿名性が高いからこそ本音を言っていこうよという考えなので)。
で、そんなネチケットはどうでもよくて、ネットを使う上でのちょいとした知恵を書こうかな、と思います。
たぶん、普通のネットユーザーは意識しないと思うんで。
まず、アクセス解析というものがあります。
これはどんなものか?というと、ココログに限れば、いつ、誰が、どんな検索キーワードでアクセスしてきたか?ということがわかるものなんですね。
他には、ブラウザは何を使ってるか? OSは何を使ってるか?とかもわかります。
そもそもアクセス解析は何のために作られたか?ってことを考えると、利用するという面では、例えばどんなことに興味をもった人がきてるのか?(検索キーワードを注目するればわかる)とか、どんな時間帯に読まれてるのか?(例えば11時~2時代に多いと、会社で仕事をしてる振りをしながら暇つぶし(よく言えば休憩がてら)見てるんだなぁとかがわかる)とか、そういうのがわかれば商業的にも利用できるわけですよ。
他の面では、対クラッカー(侵入者)対策とかね。
というわけで、アクセス解析を活用すれば、まぁ、ブログも広めることができますよぉ~的な感じであるわけです。
が、一方、見てる人はどうでしょうか?というわけですね。
見てる側としては見てることを知られたくないとかあるわけですね。
というのは、アクセス解析とIP検索というのを併用すると、この会社でアクセスして来てる人がいる!ってなこともわかるわけです。
見てる側としてはそんなの嫌だ、という人は、『プロキシ』というのを設定することをおすすめします。
プロキシとは要するに、自分のパソコンの代わりに、目的のサイトにアクセスしてもらって、そこからデータを受け取るという風に、間接的にサイトを見る方法です。
こうすると、見られた側はプロキシサーバのデータしか見れないので、安心して見ることができます。
ただ、プロキシサーバにもいろいろ種類があって、完全に匿名性を求めるものや、一部は知らせても良い(例えばどんなOS使ってるとか)とかがあるわけです。
そして、一番の欠点は、遅いこと。
もうこれに尽きますね。
何しろ、世界に何台あるかわからないパソコンの『代わり』をするわけですから、プロキシサーバー自体にアクセスが集中してしまい、データ転送に時間が掛かるとともに、大抵、海外のサーバーを指定するもんだから、データの転送経由も長くなるので遅くなるんですわ。
ちなみに僕は、プロキシも使ってないし、アクセス解析も流し読みするくらいです。
たまに面白い検索キーワードで来たりする人がいるんですよね。
例えば、『CR松岡大臣』とかwwww
どんな台だよ!!www
今、スロットのシミュレータを作ろうと、乱数のテストプログラムを書こうとしたんですが、というか、書いてる途中なんですが、いかんせん、やる気ゼロ。
コーディングに対する、というか、パソコンに対する、何?やる気?愛着?みたいなものが皆無ということに気づきました。
構想は練れてるし、大体、パチスロ打ちながらこういう演出はどうやって選ばれるのかな?とか、この演出は今、メイン基板でこのフラグを引いて、そんでサブ基板でこう抽選して、その結果、この演出が選ばれて、ついでにリール制御がこうなってて…って考えてるんですよね。
だけど、それを実行に移そうとできない。
というか、今、移してみたけどいかんせん、やる気無しで、もういいや、ってなっちゃってるわけ。
もう、なんなんでしょうね、コレ。
出会い系のメール、いわゆるスパムメールと括られている類のメールは何の意味があるのか?
仮にエロ目的⇒対象は男性としましょう。
日本の人口は約1億2000万人ですから、そのうち男性は6000万人です。
このうち、エロに興味を持つと思われるのは12歳としましょう。
日本の男性の平均寿命は何歳かわからないけど、仮に77歳とします。
さらに、仮に年齢的人口分布が一様とすると、スパム対象になる男性の割合は(77-12)/77=約84%です。
つまり、6000万(人)×0.84(%)=約5000万人となります。
ここで、スパムメールに反応する人を0.001(%)としましょう(これは何の根拠も無い数値ですが)。
すると、500人の人がスパムメールに反応することになります。
1スパムメールに対して500人なので、(少なく見積もって1業者1スパムメールとし)スパムメール数をAと考えると延べ500A人反応することになります。
このうち、IPアドレスを晒され、それに恐怖感を感じてお金を振り込む等、騙される人が1%でもいれば、5A人の人がスパム業者の被害(スパム業者からみれば利益)になるわけです。
1スパムメールに対する被害益をB万円とすると、5AB万円の被害益になるわけです。
と同時にこれが1スパム業者に対する利益になります。
かなり大雑把計算ですが・・・。
すると、スパム業者から見れば、Aの値を大きくすれば大きくするほど儲かることがわかります。
しかも万円単位で。
ただし、Bの値(被害額)を大きくすればするほど、騙される人が少なくなってしまいます。
大抵騙される人はネットに対する知識が少なく、また、騙される心理としては金額が少ないほど『そのくらいのお金で済めば』と考えるので、Bの値は大抵1~3万円。
これくらいならおこずかい制のお父さんも、ネットを始めたばっかりの中学生も捻出できる金額でしょう。
つまり、スパム業者からすると、とにかく何でも誰でも何通でも送れば送るほど利益が上がる可能性が高くなるわけで、さらに問題なのは実際に何通も送ることが可能で、とても簡単なことなんですね。
そのようなソフトを作ればいいし、そのようなソフトもありますし、そのようなソフトを作るのは簡単なことですから。
こんな感じでスパムメールはなくならないんですね。
と、ここまできて本題です。
近年のネットの普及とともに情報網を駆け巡る情報量が膨大になってきています。
1回線にも情報伝送量の限界があります。
ですから、これから増えるであろう情報量に対応するには、
1.情報伝送速度を上げる
2.伝送量を太くする(伝送量を物理的に大きくする敷設をする
3.無駄な情報を送らない(あるいは後らせない)ようにする
という選択肢があります。
1や2はいわゆる敷設業者(主に公的機関やNTTなど)に対する負担ですが、当然この負担は我々利用者、あるは税金というなんらかの形で捻出されることになります。
一方、3の選択に対しては1や2に比べて費用がかからないことに気付くでしょうか?
つまり、スパム業者を摘出することで根絶を目指せば良いだけですから。
というわけで、スパム業者を撲滅することも社会的意義として大切なことなんですね。
そして、そのような無駄な情報を流させないような研究が実際に行われています。
検索サイトWikipediaというのをご存知でしょうか?
これは検索サイトというよりも、辞書サイトと言った方が適切でしょう。
yahooなどにある辞書検索よりもさらに詳しく、例えば「帥」というものを調べるだけでも、様々なことが書かれています。
その様々なことの中には自分の興味あることがあり、それがリンクされ、さらにそのことに知ることができます。
そしてさらにまた興味ある単語が出てきて・・・って具合に、結局満足に最後まで見るのには相当時間がかかります。
これを一種の遊びととらえる方法もありますし、調べたいことに対してのかなり詳しい辞書としてとらえることが可能です。
大抵、yahoo検索をすると、Wikipediaが最初の方にランクされていたら、まずこのWikipediaから見て見ましょう。
おそらくここに書いてあることでかなりの情報を得ることができます。
それでもまだもっと詳しい情報が欲しいというような場合は、Wikipedia以外のサイトをみるしかないです。
ところでこのWikipediaというサイトは、読者自身が編集者でもあるのです。
つまり、読者がその項目を読み、ここは間違っているな、と思う場所を訂正編集できるのです。
そういう意味では、ネットという混沌とした世界の中で、人々の良心の塊といえるものです。
何人もの人がみる故に、精度が増し、さらにそのことでさらに人を呼び・・・というように良い循環がなされている典型的な例です。
しかし、中には政治的であったり、マニア間での対立のため、保護が掛かっているページもあります。
まぁ、それでも情報量的にはかなり満足できるものだと思います。
Wikipediaを活用してみるのをおすすめします。
ブログがブログとして有名になる前から、ソフト名は忘れましたが、そういうサーバーソフトが存在していました。
今は見る影もないんですけど。
で、ブログというものが出来てしまった以上、それをどのように使うかは使う人次第なわけです。
ふつーに日記を書くのもいいし、小説をかくのもいいし、ネタを書き込むのもいいし、売名行為をしたって言い訳です。
そのこと自体になんの文句もありません。
多少うざいと思うのもありますけどね、でもそれは僕個人の感情ですから、もちろんお気に入りに追加なんてしませんよ。
で、このブログ・うつ病スロプロのなんとかなんとかとかいう題のブログですが、基本的にただの日記です。
自分が思ったことを思いついただけ書く(忘れることもまた多し)、それだけです。
だけど、それだけじゃつまらないので、ウリが一応あるわけです。
このブログのウリは、院卒までして(大学中退・除名とかあるかもしれませんが)、今何故かスロプロになってるという、世の中にはそういう人も居るんですよってことと、もう一つ「うつ病になるまでが読める」ってこと。
うつ病になってからブログを書く人は多いですけど、うつ病になる前からうつ病で落ちてる間、そして今は投薬治療中ですが、そんな過程が読めるのは少ないんじゃないでしょうか?
将来自分がうつ病になるなんて思ってもいなかったわけですから。
で、それだけならコメントなんていらないわけですが、それでもコメントを受け付けているのは、自由に書き込んでくださいっていう意味があるからです。
僕は議論するということは好きなんです。
だから批判でもいいし、ネタでもいいし、何でも自由に書き込みなっていう空間がコメント欄なんです。
ただのうつ病者の集まりであっても良いし、スロッターの集まりになっても良いし、MFCでスレッドの使い方がわからないだけど・・・みたいな質問をしても、どう使おうがそれは貴方の自由です。
なぜなら、コメントの役割は読み手が書き手に伝えたいことを書くためにあるから。
というわけで、コメントしたい方はなんでもどうぞ。
※ちなみにトラックバックは受け付けません。どうせエログのトラックバックしか来ないのでそれがうざいからです。
ネットを介した犯罪などなどがありますが、それについて一言。
前にもおんなじ様なこと書いてると思いますが、ネットっちゅうものは混沌だから良いって思うんです。
ネットというものは、表現する場にもなり、ニュースを伝える場でもあり、コミュニケーションをとる場でもあったり、商売する場でもあったりするわけです。
元は軍事目的でしたが、次第に研究者間での情報のやり取り(メール)に拡張し、そしてパソコンユーザーの多くがwindowsユーザーということもありwindows95の普及で急速にネットが拡大・普及してきました。
そもそもコンピュータといものが、同じことを繰り返し行わせるということに特化してることと、デジタル故にコピーすることが得意なわけです。
逆に言うと(というか、そっちの方が先にあったわけですが)、その便利さを追求してきたわけです。
だから、そもそもネットを通じてファイルとなっている著作物を販売することに無理があるわけです。
まぁ、そうすると、当然違法コピーなるものが蔓延するわけです。
また、嘘の情報や、詐欺まがい(?)の行為が起こるわけです。
ちなみに違法コピーなるものは今に始まったわけじゃないです。
パソコンがまだネットに繋がってない時代も、バックアップソフトなるものが存在してました。
あるゲームのコピーガードを解除して・・・みたいな使い方が主な目的でね。
つまり、違法コピーとそれを駆逐するっていうのはずーっと前からあったわけですよ。
昨今はその対策が遅れていたために、この蔓延があるわけです。
で、僕の言いたいのは、「それでいくね?」ってこと。
ネットっちゅう物は混沌としてて良いんですよ。
規制なんていらない。
まぁ、その混沌の中から規制が出てくるんですけど。
誰もが自由に、現実世界のバーチャルな部分で、表現・発言するのが良いと思うんです、2chのようにね。
基本的に情報の収集、その意味の処理というのは自己責任なんです。
テレビで間違ってたことを言ってた。
何て文句をつけるのも、僕にはちょっと・・・という感じです。
その情報が真実であるかどうか?それを判断するのは、貴方自信なんです。
もちろん、テレビなどの報道メディアの目的は「真実を提供する」ということなので、その主旨を捻じ曲げるのは良くないことですが、あくまでもそれを信じる信じないを判断するのはあなた自身です。
あくまで自己責任。そこんところ履き違えるんじゃねぇぞ!と、言いたいわけ。
だからいらねぇっつーの!!
という人は是非FreeBSDを!
半透明処理や3D効果を使った新しいユーザーインターフェースだって・・・
そんなのに資源使わなくていいからってホント思います。
linuxブームってどうなったんでしょうね?
ちょっと前くらいはlinuxの方がいいとかwindowsの方がいいとか騒がれてましたが、最近そういうの聞かないなって感じがします。
というか、自分からそういう世界から離れて行ったんじゃないのかっていう突っ込みは置いといて。
ちなみに自分はlinuxかwindowsかって言ったらwindowsですね。
windowsの方がやっぱ便利じゃね?みたいな。
というか、ほとんどの人がwindows育ちだからwindowsの方が親しみやすいっていうのと、windowsの方がGUI的によくできてるでしょ。
これって前にも書いた気がする・・・けど、まあいいや。
で、linuxのダメなところはですな、まずね、まずね、Unix系のくせしてwindowsに日寄ってるでしょ?
いやいや、日寄ってるっていうのはちょっと違うけど、windowsを意識して、「CD一枚でまるでwindowsのように環境が整ってマース」みたいな感じじゃね?
それがダメでしょ。
windowsみたいにいっろんなプロセス起動しすぎだから!
あとlinuxは無料配布です!お金が掛かりません!って言ってたでしょ。
それもダメ。
だってお金掛かるんだもん。
結局、linuxってわっかんないから、色んな本買ったりしてやっと使えるようになりました、めでたし、めでたし、みたいな感じじゃね?
その本買う金はどっから出てんだっていうことと、習得するまでにどんだけ時間掛かるんだよ!ってことだから。
しかも、いらねープロセスを起動すっから起動するまでに時間かかるし、Gnomeとか使うとグラフィックに資源取られちゃうから。
という点でlinuxは残念でしたってお話でした。
あと、ライセンスがGPLでしょ。
それもどうなん?って感じだし。
つーか、linuxというか、Unix系に求められてるものは
軽さと安さじゃね?
linuxってそれを提供できてなくね?
というわけで、どうせUnix系を勉強したいっていうんならFreeBSDを入れてくださいって言う、FreeBSDユーザーからの提案でした。
SNSってソーシャルなんとかなんとかっていう要するにミクシィを代表するアレです。
わざと忘れてるんですけど。
嘘です。知りません。というか、覚えるつもりも無いです。
で、本題。
自分はSNS否定派なんです。
なんでかっつーと、ブログでよくね?
の一言。
というか、ブログに制限つけたのがSNSじゃね?って。
その時点で残念って感じなんです。
だから、ミクシィが上場してミクシィ株が実体以上に値が上がってて、それがミクシィの掌で転がされてる感が嫌なんですよ。
それだけ。
パソコンって随分普及しましたよねぇ~
昔はNEC純正って言葉があったんですが、そんなこと言う人なんてもういないですよね。
かく言う自分は、14年くらい前(?)からのユーザーなんですが・・・随分変わりましたね。
っていう話じゃないんです。
パソコンを使ってる人を見ると、
あ~、この人使ってるなぁ
って人と、
あ~、この人使われてるなぁ(残念)
って人が居るんです。
残念ながら、使われてる人ほど、パソコンが好きなんですね。
そんなにパソコンを使ってない人、詳しくない人は使われてない人なんですね。
だいたい使われてる人っていうのは・・・
無駄にHDやメモリの容量が多い
自作してる
何台も持っている
いつもパソコン、もしくは周辺機器を欲しがってる
ってな感じの人なんですね。
非常に残念です。
っていうのは、せっかく高性能の計算能力を持て余してるからなんです。
世の中には難病の薬を作るために超多量の計算が必要だったりするんです。
それを有志で募って、分散コンピューティングっつーので、無料のソフトをインストールするだけで、その計算に寄与することができるんですよ。
それに使ってあげたらいいのに、って思うんですけど、使われてる人は大抵、「いやいや、自分は使いきれてるから」とか思ったり、そういう存在も知らない人もいるわけです。
だから、使い切れてないパソコンの計算能力をそういうのに分けてあげてもいいんじゃね?って思っちゃたりするわけです。
って思う自分もそんなのには参加してないんですけど。
つーか、参加してたんですけど、今はやめました。
パソコンつけっぱにすることがほとんどなくなったので、結局1日数時間、しかもその間は自分がしっかり使ってるので、実際にそのために計算されることが無いんですよね。
パソコンに使われてる人・・・ほんとに残念です。
パソコンが実際に「計算機」として使われてるのはどのくらいの台数なんでしょうね?
僕はパソコンはあくまでも「計算機」としか思ってないです。
だから、プログラム的にif文がメインかよ!っていうのは好きじゃないんですわ。
ま、そんな感じです。
改めて自分にとってパソコンとは?って考えるのもいいんじゃないでしょうか?
そうすると
あー、今の性能ままで十分すぎるな
ってことに気付きますよ。
ウィニー訴訟、一応判決でましたね。
被告は悪意があって作ったわけじゃないって言ってるけど、それってウソでしょww
どう考えたって遺憾系のファイルのやりとりを想定してるでしょ。
まぁ、どんなファイルをやりとりするか?とかはそれほど問題だとは思ってないんですけど(結局、やる人はどんな形でもやるからね)。
まぁ、ウィニーを作る側に問題があるというよりも使う側に問題があるということは、明らかなので・・・。
ウィニーはよく知らんが、無料配布でしょ?きっと。
それなら、そのソフトを使ったあとの責任は取らないってことはネット界の常識だし、HPにも書いてあるはずだと思うんだよね。
被告のことはあまり好きではないけど、仮に悪意があったとしても有罪になるのはおかしいかなとは思います。
昔は混沌とした世界でした。
守るのは自分自身、大量の情報はあるけど、ほんとうにそうであるかどうかはわかない。
エミュータ用のROMファイルがアップロードさているところを探し当てたりと、ウィルスやハッキングに気をつけながらの世界。
現実では良いことをしてくれる人がいるように、そんな混沌とした世界にも良いことをしようとする人がいれば、匿名性などを利用して、本の些細な悪戯から法的に問題のですことまでと、いろいろなことがあった。
そんな風に昔のインターネットは混沌としていました。
今でもフィッシング詐欺とうの手はありますが、それを取り締まるものたちの出現のお陰のためか、こんな混沌な世界にも秩序や慣習というものが出てきました。
正直、確かに今は便利になった。
だけど、前のような混沌とした世界のほうが、いろいろな面で面白いのになぁという思いにふけることがあります。
雨はいつもしとしととなる。
決して嫌いではない。
小学生のとき、土日に雨が降ると所属していたスポーツ少年団の練習が休みになる。
それはそれは、とめもとめも嬉しかった
雨が降ったら、雨が降ったら・・・・どんな面白いことをしようか?
そんなこおを考えてた。仮になにも浮かばなくても雨さえ降って闇になればそれでうれしかった。
さっき父親の小言を聞いて鬱になった。
それで、自分の部屋へ閉じこもり。
睡眠薬を飲んでそのまま寝た。
けど、起きたのは3時過ぎたくらい。
それからまた睡眠薬を飲んで、今度はイライラが溜まってて、お風呂に入る。
お風呂には入っても、上げってからが破壊王。
何蛾を破壊せずにはいられない。
とりえず、角にかけてる戸なの棒をボキっ!ボキ
体拭いてたら、無性にタオルかがむかついたので、バキっと引き剥がす。
こんなことをしてたら親がおきてきたらしいけど無視。
自分のヘアにも戻って、もう一度睡眠薬を飲む
寝れない。いらいらいする。
このまま死にたいから、クラーつけて扇風機で直に当たるように寝る
これでも寝れない。
机に戻ると午後ティがのみがかけのがある。
これをあたまから被って風呂に入る。
睡眠薬が足りないから、補充して風呂に入る
とりあえず、頭を凪がず。ミルクティーまみれだから
あとはどーにかなろうとぼけってくらす
しばらくしたら
親がきてなんかいってて、強制的に全身まーざー時を受けて数量。
そろでもねれないから。それでも理不尽な対応への怒りは長ラマ内から。
はやく死にたいから・
はやく死ね俺!!
どうでうでもいいわ!!
ULONG_MAX以下の素数を求めるプログラム
エラトステネスのふるいの実装です
primeクラスはULONG_MAX以下の値渡してあげて宣言します。
prime z(ULONG_MAX);
エラトステネスのふるいを実行するには、
z.Eratosthenes();
とします。
この関数は、ULONG_MAXの中の素数を見付けるための十分なメモリ量を確保します。
#エラトステネスのふるい自体は
# 1 2 3 4 5 6 7 8 9 10 11 12 …
#という列の素数の倍数を取り出します
# 1 2 3 4 5 6 7 8 9 10 11 12 …
# ^ ^ ^ ^^ ^^
#という感じでチェックします(これは2の倍数をチェック)。
# 2 3 5 7 9 11 …
#残ったのはこれだけ(1は素数じゃないので除外)
#これから次に3の倍数を除いて… という感じで続けます。
この実装は、ビットを奇数に対応させて、対応する倍数をチェックするというものです。
例えば、
3 5 7 9 11 13 15 17 …
を
0 0 0 0 0 0 0 0 …
と対応付けます。
始めは三の倍数をチェックするので
3 5 7 9 11 13 15 17 …
0 0 0 1 0 0 1 0 …
となります。
これをchar型にマップします。
という実装です。
この関数を実行することでできるバイナリファイルは、ふるいの結果のそれです。
結果自体がどのようにマップされているのかは不明です(今となっては。作ったのが古いので忘れた)。
また、実行環境によっても違います(エンディアンの関係で)。
しかし、それを意識することなく素数判定を行えるように作ったと記憶してます(たぶんね…)。
実装では1バイトをブロック化してアクセスを簡単にしてるはずです(つまり、3〜17が1ブロック、19〜??が2ブロックというように)。
なんでもコメントにどうぞ
FreeBSDでports/print/musixtexをmakeしようとすると、
initexがねぇ!
ってしかられて、musixtexをインストールできないのです。
このinitexを検索すると、texが3.0になったときに捨てられたコマンドらしいのです。
initexはlatexコマンド(--iniオプション必要?)で代用できるらしいです。
musixtex/scripts/configure
を編集すると、それらしいところがでてきます。
これをinitex をlatexに置き換えると、問題のところは通るのですが新たな問題が発生!
うーん、困ったようなこまらないような。つーか昔インストールできましたよね?
なんでデグレしてるの?
解決しました。
pointはinitexコマンドが使えるようにするということなんです。
そのため、print/tex print/latexをportsから入れてからmusixtexをインストールしてみませう。
すれば旨く行くはずです ウマー
| 固定リンク | コメント (0) | トラックバック (0)
行列計算クラスを作りました。
ソース公開します。
使い型等の質問、その他なんでもご意見があったらどうぞ
「matrix.cpp」をダウンロード
| 固定リンク | コメント (0) | トラックバック (0)
FreeBSD release4.5環境でXの設定で手間取ったことがあるので「XF86Config」をダウンロード
保存版ということでw
| 固定リンク | コメント (0) | トラックバック (0)
ftpとtelnetとswatを有効にする。
/etc/inetd.confをコメントアウトして保存。
rc.confに
inetd_enable="YES"
を追記。
再起動。
| 固定リンク | コメント (0) | トラックバック (0)
japanese/Canna
japanese/kinput2-canna
japanese/kterm
japanese/jvim
/etc/rc.confを
canna_enable="YES"
を追加。
# cp /usr/X11R6/lib/X11/xinit/xinitrc ~/.xinitrc
# chmod +w .xinitrc
# vi .xinitrc
flwm &
kinput2 -canna -xim &
exec kterm -km euc -geometry 80x29+0+0 -name login -bg black -fg white
これでXを再起動とかしてみる
truetypefontを入れる
xorg.confに
FontPath "/usr/X11R6/lib/X11/fonts/TrueType/"
| 固定リンク | コメント (0) | トラックバック (0)
japanese/acroread
multimedia/linux-realplayer
前のとき、portsをアップデートしたりしたら、acroreadがELFがなんちゃらでgtkがなんちゃらで実行できなくなった。
それをがどうなったを見るためにacroreadからインストール。KEYWORD rpm, linux, linux-gtk
emulator/lilnux_base-9とかにすると実行できる。
japanese/samba3(sambaだと起動したときにエラー?が表示されるのが嫌だから)
rc.confに
samba_enable="YES"
を追記
/usr/local/etc/smb.conf.defaultを
#cp smb.conf.default smb.conf
してworkgroupを変更してreboot
# smbpasswd -a ユーザー
でユーザー追加。
x11-wm/flwm
クリックで表示されるメニューが日本語フォントで全角文字になってかっこわるい。
これは、xorg.confにLoad "xtt"しなと駄目。詳しい設定は過去に書いたのでカテゴリでみること。
| 固定リンク | コメント (0) | トラックバック (0)
ソースとportsを最新stableに更新する。
cvsupが入ってないのでnet/cvsupからインストール。
/usr/share/examples/cvsup/ports-supfileを/rootにコピって
# chmod +w *supfile
をして内容はdefault hostをcvsup.jp.FreeBSD.orgに変更
#cvsup port[TAB]
する。
| 固定リンク | コメント (0) | トラックバック (0)
今までノートPCに入れてたFreeBSDをミスって全消しする羽目になった。
ついでなんで、設定とかメモを残しとく。
パーティション:
/ 2GB
swap 512MB
/usr 残り全部
インストール後、/stand/sysinstallからIPアドレスの設定、keymapの設定、タイムゾーンの設定、ユーザーの設定を行う。
ログインしてXの設定を行う。
#xorgcfg
をすると問題なく起動し、設定できる。
/usr/X[TAB]/lib/X[TAB]/xorg.conf
に書き込まれる。keybordの設定が日本語になっていないので日本語に設定。
xorgcfgでキーボードが入っていないし、IdentifierがKeyboard1になってる。
confを見るとKeyboard0と1でかぶってて、1に日本語設定になっている。差分のOptionの部分を0の方にコピーする。ついでにマウスの設定もする。3ボタンを有効にしてとりあえずそのまま。
ホイールマウスを有効にする。
http://www.db.is.kyushu-u.ac.jp/computer/freebsduser/wheelmouse.html
ここにある通り
/etc/rc.confを
moused_port="/dev/ums0"
moused_flags="-z 4"
moused_type="auto"
moused_enable="y"
/etc/usbd.confを
device "Mouse"
devname "ums[0-9]+"
attach "/usr/sbin/moused -z 4 -p /dev/${DEVNAME} -I /var/run/moused.${DEVNAME}.pid"
xorg.confを
Section "InputDevice" # セクションのマウスのところ
...
Option "Device" "/dev/sysmouse"
Option "Protocol" "auto"
Option "Buttons" "5" # <- ホイールマウスのときのみこのように設定
に書き換えてる
| 固定リンク | コメント (0) | トラックバック (0)
MFCでスレッドの立て方は2つある。
1.ワーカースレッド
2.ユーザーインターフェーススレッド
この両者の違いはメッセージのやり取りの有無であり、つまり、動作の振る舞い(使用可能な関数の違い)である。
1.ワーカースレッドについて
ワーカースレッドの立て方
1-1. 次の文を実行するとスレッドを立てて処理が開始される。
CWinThread* pthread = AfxBeginThread(hogehoge, &hoge );
ここでhogehoge関数であり、コールバックされるので、関数アドレスが引けるような形でなければならない(例参照)。
通常、UINT型とする(クラスに組み込む場合はfriendをつけないといけないかも)。
第2引数はLPVOIDとして渡される。
例:
↓こんな感じで実行させる。
int main(void)
{
int hoge;
// こんな感じで実行。
CWinThread* pthread = AfxBeginThread(CalStop, &hoge );
//
変数hogeは関数hogehogeの引数として渡すために指定。渡す先は下記の通り、LPVOID型なので参照渡し。
return 0;
}
↓こんな感じで関数を用意して
static UINT CalStop(LPVOID Param)
{
// 処理を書く
int x = (int *)Param; //
引数はキャストしてgetする。型に制限は無いのでCDialogのような型でもOK.
return 0;
}
1-2. ワーカースレッドの終了
ワーカースレッドの終了はスレッドないでreturnすればMFCが自動的に後処理をしてくれる。
ただし、他のスレッドから終了させることはできない(エラーになる。エラーが出なくてもバグが潜在する可能性が高いのでやめたほうが良い)。
これには抜け道があって、グローバル変数でフラグみたいなのを立てて情報のやり取りを行う方法もある。
基本的にワーカースレッドはこんな感じ。
作りこむところが少なく(プログラマのスコープが狭くてすむので)比較的簡単。
KEYWORD:AfxBeginThread、スレッド、で検索すればよろし。
2.ユーザーインターフェーススレッドの立て方
2-1. スレッドの開始
↓こんな感じで開始される。
CRuntimeClass* pClass = RUNTIME_CLASS( hogehoge );
CWinThread* pthread = AfxBeginThread(pClass);
ここで、hogehogeはCWinThreadを継承して作成したクラス(クラス追加→MFCクラス→基本クラスをCWinThreadを指定で作成)。
CRuntimeClassでクラスを引き(CWinThread)、このポインタをAfxBeginThreadの引数に与える。
AfxBeginThreadの引数の型でワーカースレッドとユーザーインターフェーススレッドが自動的に判断される(CRuntimeClassが渡されたときはユーザーインターフェーススレッド)。
AfxBeginThreadが実行されると、hogehogeクラスのコンストラクタ、InitInstanceメンバ関数が実行される。
InitInstanceが実行された後、hogehogeクラスのメンバにはなっていないが、CWinThreadのRunメンバ関数が実行される。
通常これはオーバーライドしないが、したいときはすればよい。
オーバーライドせず実行すると、Run関数内で処理がループされる。
このループで、メッセージの受信を行っている(メッセージの送信方法は後述)。
メッセージを受信すると、CWinThreadクラスのメンバ関数であるOnIdleに処理が移る。
OnIdleをオーバーライドすることで処理を引っ張ってくることも可能かもしれない(まだやってないからわからん)。
OnIdleはWM_QUITメッセージを受け取ると、ExitInstanceに処理が移る。
ExitInstanceでMFCが自動的に終了処理を行ってくれる。
ユーザーインターフェーススレッドの場合、スレッド先の処理は、Instanceに記述したり、Runをオーバーライドしたり(MFCは推奨してないけど)、OnIdleをオーバーライドしたりして、処理を書く。
外部からの終了を行わない場合は、PostQuitMessage()を実行してあげれば良い。
また、他スレッドから終了メッセージを投げたい場合は、
PostThreadMessage(pthread->m_nThreadID, WM_QUIT, 0, 0); //
この関数については後述
をしてあげれば、OnIdleで拾ってくれて、ExitInstanceに移り、終了される。
2-2. メッセージ送信
他スレッドからメッセージを送信したいときは、
PostThreadMessage(pthread->m_nThreadID, WM_HOGE, 0, 0);
を実行してあげる。
ここで、第1引数はスレッドIDであり、CWinThread
*pthreadで宣言すれば、メンバ変数にm_nTHreadIDがあるので、上記のようにしてあげれば勝手に持って行ってくれる。
第2引数はユーザー(プログラマ)指定の番号であるが、この値には注意しなければならない。
プログラマが定義して使える値は、
#define WM_HOGE WM_USER+1
のように、WM_USERに値を足してあげるようにする。これは、他の値がすでに予約済みで(例えばWM_QUITのように)MFCが使用するためである。
2-3. メッセージの受信
他スレッドから送られてきたメッセージを受信するには、GetMessage関数を使用する。
↓こんな感じでコーディングするといいかも
MSG get_msg;
do
{
ret = ::GetMessage(&get_msg, NULL, 0, 0);
} while(get_msg.message == WM_HOGE)
重要なのは受信したメッセージがどこに格納されるのか、であるが、GetMessageの第1引数に格納される。
第1引数はMSG構造体の参照渡しにしてあげると、そのメンバのmessageにPostThreadMessageで送ったメッセージが格納される。
上はプログラマが定義したWM_HOGEを受信するまでポーリングする処理。
KEYWORD:上記で出てきた関数
3. 追記
OnIdle中のメッセージ受信は、ハンドラが自分自身とその子であり、メッセージフィルタが[0,0]でかかっている。
したがって、OnIdle中に拾って欲しい場合、ハンドラ指定とメッセージフィルタに0,0を指定してあげなければいけない。
4. まとめ
4-1. ワーカースレッドの流れ。
AfxBeginThread()
↓
ユーザー定義の関数
↓
終了(定義内で終了させる)
4-2. ユーザーインターフェーススレッドの流れ。
AfxBeginThread()
↓
コンストラクタ
↓
InitInstance
↓
Run
↓
OnIdle
↓
ExitInstance
↓
デスクトラクタ
※オーバーライドしたときはこの限りではない
| 固定リンク | コメント (0) | トラックバック (0)
ソフト作りました。
画像拡大or縮小ソフトです。
つっても、学生時代に作ったやつのリメイク&バージョンアップなんですが。
動作確認環境
OS:WindowsXP HomeEdition(98は動かなかった)
メモリとか:多ければ多いほど良い。メモリリークとかもあるかもよ
バグ:テストしないんでわからない
元の開発環境はFreeBSDで、CUIのをムリクリWindowsのGUIへ。
統合開発環境としてWideStudioを使用(コンパイラはGCC)。
FreeBSD環境ではバグなし(かな?)。
概要
inで指定したoutで指定したbmpファイルの画像サイズをup/down倍する。
使用方法
in:入力ファイル名(2バイト文字はダメかも。ビットマップファイルのみ有効(一部のビットマップには非対応))。
out:出力ファイル名(2バイト文字はダメかも)。ビットマップ出力
filter:画像変換方法の定義ファイルを指定(後述)
up:画像の拡大数。1以上の値でINT_MAXまで。ただしマシンスペックによって変化
down:画像の縮小数。1以上の値でINT_MAXまで。ただしマシンスペックによって変化
upとdownは組み合わせによって動作可能数値が変化するので注意
filterについて
このソフトは、画像をフィルタにかけるんで、フィルタ係数の定義ファイルが必要になる。
フィルタはFIRフィルタのみ有効。
フィルタファイルのフォーマットは、
先頭にフィルタの群遅延をlong(4バイト)、その後にdoubleでフィルタ係数が入ってればOK。
mthband.filterというファイルを用意してあります。画像を2倍or1/2倍にするのにはちょうどいいです。他はダメです。
単に画像にフィルタを掛けたければ、up=1,down=1にして、お好みのフィルタをファイルにすればフィルタを掛けられます。まぁ、ほんのごくわずかな人にしか役に立たないっていう・・・
| 固定リンク | コメント (0) | トラックバック (0)
久しぶりにパソコンの話などをば
インターネットをし始めたのはかれこれ7年くらいまえかな?
うわっ!!自分で文字にしてビビッタw そんな前かぁ・・・1998年大学入学して、そんときネットいじったのが最初で、今が2005年。そんな前ですなぁ。
最初はR○Mとかダウンロードするのに躍起になってて、いつしか2chばっかりみてて・・・、今はブログを見るのが中心になってるかな?もち、仕事や勉強以外ででのこと。
もう結構そんなネットを使い始めのころからブラウザには少し不便を感じていた。
ネットを使い始めると自然と定期的に巡回するサイトができるでしょう?まるでホームのパチンコ屋のようにw
巡回サイトは始めのうちは少ないから、お気に入りに追加さえすれば特に不便を感じないけど、特にブログを見るようになってからはそういう巡回サイトが増えて、巡回することが面倒になってくる。
前々から、巡回対象のサイトは、前回読み込んだ分をファイルでもっておいて、「巡回」ボタンみたいなのを押すと、ブラウザが勝手に登録済みのサイトを巡回して、前回のと差分をとって、差分があったら見る。みたいな機能が欲しいなぁとは思ってた。自分じゃ作れないw
世の中、同じようなことを考える人がいるようで、RSSリーダーなるものがある。
これって常識かい?(゚Д゚)?
これがやっぱ前々から思ってただけあって使い始めるととっても便利。
ただ難点なのが、「単に差分をとって・・・」というのではなく、それ用にサイトを作らないと駄目らしい(CGIなんかでxmlを吐き出して、リーダーのほうでxmlを読み込んで・・・という手順らしい、見たところ)。
まぁ、無数に貼ってあるであろうリンクと、indexページが変わらないサイトもあるわけだから、そりゃそうか(単に差分をとるだけじゃ無理もしくは無意味)、と納得できるわけだが。
まぁ、贅沢言えば、全部のサイトがRSSリーダーで更新の確認がしたいわなぁ。
もしくは有力ブラウザ(IEとか、firefoxとか)はRSSリーダー機能をつけて欲しいと思う。
RSSリーダーと通常ブラウザを入れてると、どっちを使っていいのやら・・・とちょっと困るんだよねぇ。
ちなみにoperaはRSSリーダーになるそうで。さすが有料なだけありますなぁw
ブラウザも「お気に入り」があるからほいほい変えるのも躊躇しちゃうし。
早いとこ対応してほしい。
#ところで、自分はWindowsではIEを使っていて、FreeBSDの方だとfirefoxを使っている。
#当然BSDにはIEが無いからなんだけど、やっぱ「お気に入り」の統一をしたいんだよなぁ。
#巡回するようなサイトはIEに登録されていて、寝っ転がってみるときはfirefoxを使うのでちょいと不便。
#わざわざBSDの方でvncviewerを立ち上げて、Windowsの画面を見ながらURLを手打ちでコピーするのはめんどい。
#そういえば、2chで思い出したけど、2chの過去ログみるのに「つぼ」なんちゅーソフト入れないと見れなくない?
#なんで、そんな面倒なことするのかしらん?相変わらずサーバーの容量を気にしての対応なのかしらん?
#そんなソフトをインストールしてまで見たいとは思わないから見ないんだけど。あれも不便。
#ところで、2chってまだ元気なの?ときどきニュースで出る程度くらいの存在でしかなくなってるんですが・・・
| 固定リンク | コメント (1) | トラックバック (0)
仕事でシリアル通信しました(謎
というわけで防備録
VC++でのシリアル通信
mscommとかでググルと良いらしいよ
ってメモでも何でもないですなぁ〜 (^^;
うーん、windowsってこういうの知ってれば便利に作れますなぁ
というか、知らないと何にもできないのな。
UNIXだとデバイスファイルをopenするだけなんだけどね…
| 固定リンク | コメント (0) | トラックバック (0)
今日の成果
USBメモリを挿し、
# dmesg
すると、
umass0: TEAC MINI, rev 2.00/0.71, addr 2
da0 at umass-sim0 bus 0 target 0 lun 0
da0:
da0: 1.000MB/s transfers
da0: 497MB (1017856 512 byte sectors: 64H 32S/T 497C)
こんな感じで認識されるので、
# mount -t msdosfs /dev/da0s1 /mnt
とすると、/mntにマウントされる。
アンマウントは、
#umount -t msdosfs /dev/da0s1
すればアンマウントする。
ルートにならないとアクセスできないのが課題
| 固定リンク | コメント (0) | トラックバック (0)
http://www.f-bell.net/FreeBSD/xfree86-tt.html
xttの設定すると、operaのメニューフォントがきれいになる。
| 固定リンク | コメント (0) | トラックバック (0)
今日はあまぞんまんになって悪魔本を購入した。
悪魔本とは知る人ぞ知る「4.4BSDの設計と実装」という本。
要するに*BSDのバイブルみたいなものです。
6000円以上するの。高いでしょう?
自分はUNIXを使っている理由は、まず、パソコンにお金を掛けたくない(というか、馬鹿みたいに掛けるのが嫌)、windows98, Meが不安定すぎた、windowsは要求マシンスペックがキツイ(お金と関係あり)など、windowsが嫌だったから。
そして、なんでLinuxじゃないかというと、某助教授に「ファイルサーバをたてよ」と気まぐれ命令(ほんとにあの気まぐれさには色んな面で振り回され続けたねぇ…)を受け、相談をした某助手(現助教授)がLinuxはわからないと言われたため。う〜ん、振り回されまくりですね。
以来、専らFreeBSDなわけだ(たしかに、同じソースコードを起こして、処理をすると同じくらいのマシンスペックであからさまにBSDの方が処理が早いというのもお気に入りの理由の一つ)。
しかし、今までずっと貫いて来たのは、FreeBSDのために買う本の代金でwindowsが買えてしまったら本末転倒なわけで、それを貫くために一切BSDのために身銭を払うことはしなかった。(全部ネットで調べて解決してた)
しかし、給料もらって、「どうせ死期は近いのに死ぬときに金余らせてもしょうがないよなぁ」と思って、とうとうBSDのために本を買いました。
ただ、はっきり言って本買わなくってもネット環境さえあれば普通に使えるようにはなるよということだけは言っとく。悪魔本は「それ以上の何か」を得るための本だから。
まぁ、「Linuxデバイス」とか「Linuxカーネル」とかの本より全然安いけどね。(正直、Linuxはちょっと…と思ってる。やっぱ使いにくい…でもデバイスドライバとかソフトとかいっぱいあるのは羨ましいね。でもそれならwindows使えよって(略
| 固定リンク | コメント (1) | トラックバック (0)
FreeBSD 5.3環境でcvsupしてdvipdfmをportsからインストールしようとするとdvipdfm-0.13.2c-jpatch-p1c.diff.gzというファイルがどこのサーバーにも無くてインストールできない。
もっとも、texを入れると依存関係のためか、インストールされているのだが、実際にコマンドを打ってみるとエラーしか帰ってこなくて、pdfファイルが作れない。
dvipdfmでググって本家のサイトに行くと、dvipdfm-0.13.2c-jpatch-p1d.diff.gzというファイルはDLできるようになっているのだが、どこにも見当たらない。
しかし、配布物をまとめたものが固めておいてある。
実は、これを解凍すると入っているのだ。というわけで記念に?というか、将来的に手に入らなくなっている可能性が高いので、ULしておく。「dvipdfm-0.13.2c-jpatch-p1c.diff.gz」をダウンロード
これを/usr/ports/distfile/以下に入れて、
# make FORCE_PKG_REGISTER=yes install
とすれば入る。
こうして入れれば、エラー無くpdfファイルが作れるようになる。
| 固定リンク | コメント (0) | トラックバック (0)
http://www.toshikazu.org/archives/000075.html
時刻合わせ
/etc/rc.confに
ntpd_enable="YES"
ntpdate_enable="YES"
を追記。
vi /etc/ntp.conf
でファイルを作って
server ntp.nc.u-tokyo.ac.jp
ってすればOK.
ちなみに、ntp.nc.u-tokyo.ac.jpはntpサーバー名でこれは東京大学のntpサーバー
| 固定リンク | コメント (0) | トラックバック (0)
FreeBSDのサウンド設定方法。
wavファイル再生ソフトをインストール
今回はaudio/wavplayを入れた。
# cd /usr/ports/audio/wavplay
# make install
次にサウンドモジュールを読み込む。これはFBSDで用意されている全てのサウンドモジュールを読み込むってやつなんで、これをやって・・・
# kldload snd_driver
# wavplay cue.wav
※cue.wavはwavファイル名
これで再生されれば、そのマシンで音が出せることが確定。
まず、自分のマシンのドライバがどのモジュールを使うか調べる。
その方法は、
1. とりあえずログイン(Xは起動しない)
2. kldload snd_driverを実行すると、コンソールに使用可能なデバイスドライバ名が表示されるので、それをメモる。
例えば、
DELL INSPIRON|1150の場合、
# kldload and_driver
を実行すると、
pcm0
とか出てくる。この<>内が重要(だと思う。他のモジュールの場合がどう出てくるかは知らん)。
そして、/boot/default/loader.confとかの中を見ると、
### Sound modules ########・・・
っていう項目があって、この中のsnd_hogeになっている部分が読み込むべきデバイス名。
例えば、上の場合だと、ICHで検索すれば、すぐに、
snd_ich_load="NO" # Interl ICH
ってコメントにも書いてあるから、"snd_ich"がデバイス名になる。
あとは次の二つの方法のうち、一つの方法をすればよい。
【動的読み込み】
カーネル起動後、(しかしOS起動時に)読み込む方法。
1. /boot/loader.confに
snd_ich_load="YES"
を追記する。(なにも触っていないlocader.confは何も記述が無い)
2. 再起動して、
# wavplay cue.wav
をして、再生されれば成功。おめでとう。
【静的読み込み】
カーネルに組み込む方法。当然、カーネルコンフィルレーションファイルをいじって、コンパイルし、make installする。
1. カーネルコンフィグレーションファイルの準備
# cd /usr/src/sys/i386/conf/
# cp HOGE SND
※HOGEは現在使ってるカーネル。何もいじってなければGENERIC。SNDは新しく作るカーネル名。
2. カーネルコンフィグレーションファイルに追記
SNDファイルを開き、最後くらいに
device sound
device "snd_ich"
を追記して保存。※device soundはFreeBSD 5.X、4.Xはdevice pcm(らしい。4.Xのことなんて知らん)。
※"snd_ich"は上記の方法で見つけた自分のマシンのデバイスドライバ名を入れる。
3. カーネルインストール
# config SND
# cd ../compile/SND
# make depend
# make
# make install
# reboot
※以上のコマンドが全て成功して、再起動する。成功しない場合は自分でどうにかしてください。
※SNDがすでにある場合は、一度compile/SNDディレクトリを削除したほうが良いかもしれない。
4. 再起動して確認
# wavplay cue.wav
ちゃんと再生できれば成功。
参考
http://www.jp.freebsd.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/sound-setup.html
| 固定リンク | コメント (0) | トラックバック (0)
cvsupとかするといいらしいよ。
というか、メーラにサンダーバードとか使ってみようかなぁと思ってコンパイル中ですが、portsが最新じゃないのでソフトがはいらんorz
なので、net/cvsupをインストールしてsupファイルを編集して(詳しいことはFreeBSD.orgのマニュアルを参照)portsを最新にしてコンパイル中。
その他いろいろコンパイル中なり。
ところでサンダーバードのメール管理ってmailBOX方式?でないとsylpheedで受信してたメール読めないなぁ・・・
| 固定リンク | コメント (0) | トラックバック (0)
FreeBSD4.xのころのXの初めの設定は、コマンドラインからXFreee86 -configure なんてやると良い感じだったが、XがX.orgになると、それがなくなってちょっと困った。
なので、xorgcfgなるコマンドを実行すると自動的できて楽。
なんかルートだとX立ち上がらないけどユーザーなら立ち上がるからこれでOKとする。
日本語設定に関して
ところでcannaサーバーだが、今まで、cannnaserverにchmod 777とか気持ち悪いことをして、
xinitrcをホームに.xinitrcとしてコピって、
cannserver &
kinput2 -canna -xim &
とかをつけ加えている。
ちょっとどうにかしたい。
ついでに、ktermは、-km eucをつけるのがめんどいので、エイリアスする。
| 固定リンク | コメント (0) | トラックバック (0)
wtermなるものは簡単に言えばxtermの(?)背景を半透明にできる絵的に優れものなわけで、ちょっと調べて見るとそのままメイクすれば日本語も使えるらしい。
というわけで、早速make installしてみたが、ぜんっぜん日本語表示されない。
どうも、参考先はlinuxでのことで、FreeBSDではないらすぃ。
というわけで、
# cd x11/wterm
# make configure
なんぞ洒落たことして、
# cd work/wterm(略)
とかして、
# ./configure --enable-kanji --enable-utmp --eneble-wtmp
# make install
とかをする。
そうすると、見事に日本語が見えるんですが、入力できん。
というわけで失敗だが、見た目良いので使うことにする。
ただし、オプションが長いのでシェルで起動してみる。
#! /bin/sh
wterm -bg red -fg white -tr -sh &
Xの背景(壁紙)をルート何とかというらしく、xvをオプションつけて実行すれば変えられる。
xv -root -quit $HOME/docs/pic/Rio_black1024-768.jpg
この一文もさっきのスクリプトに加える。
| 固定リンク | コメント (0) | トラックバック (0)
豆知識?
C++でtemplateってのがあるが、あれはヘッダーにおくべきものだとさ。
というか、分割コンパイルしようとすると怒られてコンパイル通らないけどね。
http://next1.cc.it-hiroshima.ac.jp/CPPPUBLISH/node14.html
ここ見ました。
こういうことってどんな本見たら載ってるんだ?と思ってみたが、どうせ買わないんだろうなぁ。
| 固定リンク | コメント (0) | トラックバック (0)
FreeBSDの環境構築なんてCD入れてインストールすれば済む。
そのなのは当たり前。
現在、FreeBSDというかBSDで困ったことは、PCIカードを用いた無線LANの構築ができないということ。
なぜならドライバが無いから。
唯一、無線LANのPCIカードを使う方法は、MELCOのPCカードをPCIカードに差す方法だけだ。
しかもこの場合、stableではできないかもしれない(currentならできるかもしれない)。
もちろん、結果的に無線LANができてしまえばよいのでそれでも一向に構わないのだけど・・・
とまぁ、要するにあらゆる方法を駆使して無線LAN(もしかしたら間接的に)でネットに接続できるようになろう!というのが目的である。
そんな目的を達成するための現在の環境を整理する。
PCは3台ある。
1台目:WindowsXPで最近かったDELLのデスクトップ
2台目:WindowsMEで昔買ったノート
3台目:Windows98とFreeBSDのデュアルブートなデスクトップ
それぞれに名前を、technopolis、mass、rydeenと名づけておく。
それぞれの装備は、
technopolis:PCI無線LANカードでネット接続されている
mass:PCカードで無線LAN環境がある。FreeBSDでは結構な数のPCカードに対応しているので、これをそのままFreeBSDにすれば、目的を達成できるが、これは(自分の権利のものではないので)なるべくこのままが良い。
である。
そして、ネット環境は、@nifty+accaで、ルータ&無線LANアクセスポイントがFA11-W4である。
以上の環境でネット接続を試みる。
方法1.BSD+PCI無線LANカードで強行
方法2.BSD+LANカード+むせんくん
方法3.technopolis+LANカード
方法4.ノーパソ購入
方法5.BSD+PCIカード+PCカード
方法4-
まず、最も簡単な方法は、FreeBSDがPC無線LANカードには対応しているのでノートパソコンを買ってしまうという方法である。まぁ、一番金もかかるわけだが・・・。これの優先順位は最も低く設定していおく。
本日はここまで。
| 固定リンク | コメント (0) | トラックバック (0)
最近のコメント