「アセンブラ」を含む日記 RSS

はてなキーワード: アセンブラとは

2013-12-10

2013年アドベントカレンダーも中盤戦。話題の記事まとめ

ホッテントリ入りした記事

2013-12-01: http://b.hatena.ne.jp/hotentry/20131201
2013-12-02: http://b.hatena.ne.jp/hotentry/20131202
2013-12-03: http://b.hatena.ne.jp/hotentry/20131203
2013-12-04: http://b.hatena.ne.jp/hotentry/20131204

2013-12-05: http://b.hatena.ne.jp/hotentry/20131205
2013-12-06: http://b.hatena.ne.jp/hotentry/20131206
2013-12-07: http://b.hatena.ne.jp/hotentry/20131207
2013-12-08: http://b.hatena.ne.jp/hotentry/20131208
2013-12-09: http://b.hatena.ne.jp/hotentry/20131209

ホットなアドベントカレンダー

エントリ: 熱いアドベントカレンダー
エントリ: 注目のアドベントカレンダー
エントリ: 話題のアドベントカレンダー

ホットなウェブサービス

2013-11-10

http://anond.hatelabo.jp/20131109185658

組み込み系の仕事をしている二年目です。

毎日仕事ができなくて凹んでます元増田の2年目が羨ましいです。

研究室では解析アプリケーションを作るのにC,C++,Fortranをいじってました

また趣味サーバの立ち上げやWeb系のJavascriptPHP,Pythonなどもいじっていました。

なんである程度どっちもわかります

で、そんな自分組み込み系の仕事に入ったわけなのですが、

まったく違う。組み込みWebアプリケーション文化が違ったわけです。

ここからはあくまで私の体験ですが…

まず、組み込み系はハード接続図)を読めないと話になりませんでした。

CPUFLASHSRAMFPGACPLDアナログ回路、バッファ、それらをつなぐバス、電源、接点、コネクタスロット、A/D、D/Aなどなど、

これらがどうつながってるか意識しなくてはいけません。SoCとか行っても接続図読めないと意味ありません。

この段階でプリント板の単体検証もしてもらいます

広い話、プリント設計組み込み系の仕事なんですよね。

次に、FPGACPLD設計があります言語VerilogVHDLです。XilinxAltera、Actel等のデバイスに書き込みます

PLDって言うのは言語で書けるハードです。似ているようでCPUと違うので設計にはスキル必要です。

この段階でシミュレーション(modelsim等)をしてもらいます

ここも立派な組み込み系の仕事です。

次にCPUです。言語はC,アセンブラC++です。でもほとんどがCです。デバイスルネサスSHとかです。自分はここで見習いをしてます

CPUに直接入ってくる信号(接点・バス等)もありますが、前述のFPGACPLDから入ってくる信号のほうが多いです。

で、アプリケーションWeb系と何が違うかといえば、ものすごい短期間にいろんなことが起こります

リアルタイム処理っていうのでしょうか。割り込みとか聞いたことありませんか。

要はOSがないので自分でなんでも考えなきゃいけないわけです。

CPU検証はMISRA-Cや専用のカバレッジテストツールで行います

一般的組み込み系の仕事と言われるとここを指すと思います


実際にはユーザーインタフェース設計組み込みに入ります

接点の調整とかLCDパネルとかメンテナンスのツールだとかがないと装置に指令を出せません。

これらにもCPUが入っているわけなので別にコードを書く必要があります組み込み系の仕事です。

さらPLCってのもあります

これは言語でかけるリレー回路です。リレーってのはスイッチです。

スイッチ操作することで接続されている機械操作(電源の入り切りとか)します。

これもCPU,PLD等とは全く違う方式(ラダー)で書きます。十分組み込み仕事です。

最後に組み合わせ評価・試験です。

ユニット試験では通っても、組み合わせ試験で動かないというのは100%あると思います

試験仕事じゃないと思われるでしょうが自分はここも立派な組み込み系の仕事だと思ってます

この段階で確認がとれた後、装置に渡せるようになります

などなど一言組み込み系の仕事といってもいろいろあるわけです。

上の中の2つ3つを仕事に使えるレベルまで持って行くには10年、20年はかかると言われました。

ここで表題の件なのですが、元増田の人は経験8年なので、例えばFPGAを8年やってきてCを書けと言われても大変だと思います

特にその後にWeb系の仕事(これも一言で表すにはいろいろジャンルがあると思いますが)をされてきたとのことなので

いろいろとあったのだと思います。逆にずーとやっていた分野のことを任せるといいかもしれません。

まずどんなことをやってきたのか聞いてみたほうがいいと思います

2013-09-11

たまに、泣きそうになるけど。俺のスキルは、俺の代で終了。受け継がれることもなく滅びる。これが出来るのは俺だけじゃないし。いいといえばいいけど。

そうやって、失われていくスキルが多いんだろうな。

近頃じゃ 肉体労働系ですら溶接が上手な奴が減ったそうだ。スキルがどんどん失われていく。泣きたくなるね。

いまさらアセンブラレベルからスクリプト言語まで、ハードの知識込みで学ぼうというやつはいないわな。 そういう自分修行中の身ではあるが、もう、アセンブラ後継者ほとんどいないだろう。

2013-07-22

時代の流れとはい・・・アセンブラを書けないまでも、読めない(ベテランC++使いが生まれそうだな。

http://anond.hatelabo.jp/20130722105524

さらに言えば

if( ptr != NULL )  は 本来 cmp eax,0に展開されるべきだが(最適化無視すれば)

if( ptr ) は 正しく test eax,eax を意味している。

まり、 意味論的には、 if( ptr != NULL )  と if( ptr )  は別物で アセンブラ的には if( ptr ) って書けよと。

もっと言えば、直近でptrを演算していれば 最良の最適化ではtestすら抜けるかもしれない。

 

というのが本来 アセンブラをより簡易に書くC言語系列宿命のはずなんだが、なんか、アセンブラ無視してC++言語が改造されていくなぁと

ちょっと思った。

 

まり NULLとはヌルという抽象的な値のことではなく 合理的に 0になる値のことなんだけどなぁと

なぜ NULLが0でなければならないか

if( ptr != NULL ) つまり if (ptr) に最適化される命令のアセンブラ展開は

 

test eax,eax;

je label;

に展開されるが

if( ptr != 1 ) つまり 0以外への比較アセンブラ展開は

 

cmp eax,1;

je label;

に展開される。test 命令は実質 AND命令 論理積 であるが CMP命令は実質比較演算子

今は どちらも 1サイクル未満の命令なので どうでもいいことではあるが 当たり前だが CMPよりTEST命令のほうが 軽いので 

CPUへの負荷をきにして、歴史的経緯で 0 が採用されている。

 

また、NULLは初期値になることが多く 0 にしておいたほうがメモリ的にもお得。

 

対して、これらの歴史的経緯過去プログラム無視して、NULLを0以外にする明示的かつ合理的な理由は存在しない。

2013-06-18

http://anond.hatelabo.jp/20130618175033

言いたいことはわかるけど、オートマF1が欲しいって言われたら、F1マニュアルだろって返すのが普通だと思う。

F1にのりたいなら、マニュアルを覚えてくれ。

だいたいみんな、最初emacsがいいというけど、最後にはviになるのと同じだ。 いいかマニュアルでやってみ。

なれれば、マニュアルのほうが簡単だ。自動でやられるとウザくなるぞ。

 

究極的にはコンパイラが吐き出すアセンブラよりも、ハンドアセンブルのほうが倍以上速いとかそういうノリだよ。

どっちみち、速度を求めたら最後アセンブラになる。そこに頭がなれると推論機構なんて無いほうが楽だ。

もう、デバイスドライバ作ったり、アセンブラ書いたり出来る人間がどれだけ若い世代に残っているか

よくファンタジーライトノベル魔法世界で失われた古代語呪文みたいな話があるけど、

アセンブラとかオールスタイルのCとか必要領域はまだまだ残ってるけど古代語呪文になってきてるよな。

 

そうはいってもWebサービスと比べると、おもしろみも少ない、年収が高いわけでもない、収入が安定するわけでもない

そんなプログラム若い世代には求められぬ。 アセンブラもCもおそらくC++も 失われていく言語になっていくんだろうねぇ。

2013-02-23

ぼくのかんがえたPS4分析 - SONY製造業としての業から解き放たれたPS4

http://anond.hatelabo.jp/20130223090512

に触発されて俺なりのPS4分析をしてみた。

ハードウエア製造業の夢より、ソフトウエアクリエイタの夢 - ハードからソフトへと言う現実

一言で言うと↑これがPS4だと思う。

三行でまとめると

PSのビジネスモデルを振り返ってみるのだが、この切り口から行くとPSはSONY半導体戦略、そしてSONY製造業と言う性質とと切っても切れない関係がある。

利用上の注意

なおすべて妄想となっておりますので、これを真に受けて被った損害などについては一切責任を取れません。皆様におかれましてはその旨ご了解のうえご覧いただけますよう、よろしくお願いいたします。ご協力頂けない場合につきましては、いい歳こいたアラフォーの髭ヅラ男が涙目になると言う非常にウザイ状況が発生することとなり、誰も得をしません。ご理解とご協力をお願いいたします。

PSの歴史SONY戦略について

初代PSとそれがもたらしたもの

SONYゲーム機を一緒につくろうと言って任天堂に近づいたものの交渉が決裂してできあがったのがPSであったわけだがこれが大ヒット。

さらにPSでは、内部で使われている半導体を自社設計・自社かそれに近いFabで作る事によって

など副次的な効果もあり、さらに「SONYの旗艦」といったイメージを作り上げることができた。この他に、CD-ROMを手がける部門や、SONYのCDプレス工場部門等々、PS景気により、直接的なPSによって生み出される効果以外に、PSという揺るぎない需要存在する事で、設備投資などに積極的になれたといった効果がうまれた。

PS2では完璧芸術品であったDreamcastを殺すほど大成功

初代は始めどこまで意図されいたかは不明だが2台目ではそれらの経験が生かされる事となりより強化された。まず一番は半導体工場で有り、旺盛なその需要と、それによって得られた利益投資に回し新プロセスを開発、シュリンクすることによって最終的な黒字を目指すことで赤字で販売をスタートすることとなる。

ゲームハード赤字でも、ソフトが売れれば黒字。こんなの当たり前だろ、と言う話であるが、総合情報機器メーカであるSONYでは少し事情が異なる。これは、ソフトウエアライセンス事業による利益によって、間接的に半導体生産設備投資を補填すると言う形を意味する。もちろんそれ以外にもSONYの製造部門にもPS2赤字でも販売すると言う行為によってもたらされる間接的な利益が流れた。

ご存じの通り、PSは我が愛する芸術品たる至高のゲーム機Dreamcastを完膚なきまで叩きのめし世界最高の企業セガプラットフォームから引きずり卸しパチンコ屋に買われる所まで追い込む等大成功をとげた。そしてゲーム機生産により、SONY製造業部門を引っ張っていくという当初の見込みは大成功した。

それをさらに強化したのがPS3、そしてCellであった。

PS3Cell BE が見た夢

PS3時代になると、パソコンの旺盛な需要の元、急速に進化した集積回路は、プロセッサの新規開発コストさら半導体プロセス開発に必要な資金が膨大に膨らむという現実に、様々な企業が立ち向かうよう時代が来ていた。世界の巨人たるIntelと、それ以外という構図が生まれ、世界中でFabの統廃合が進んでいた。

その中で目をつけられたのがゲーム機という存在であるパソコンに対抗できるほどの膨大な需要を生むゲーム機は、薄利という性質を持ちながらも数が出るため、生産設備を拡大しやすプロセス開発の資金を捻出する事に有利であった。さらSONYは、ゲームハードウエアが、当時のパソコンなどに比べて圧倒的に高い性能を持っていなければ存在価値が無い、と言う観念を持っていた。これはかつて任天堂がもっていた思想であった。

さらIBMなどの思惑とも一致、開発がされたのがCell B.E.であり、この存在PS3を生んだ。そう、ここまで来てSONYは、半導体のためにゲーム機デザインしたのである

もちろんこの説にはいろいろな異論はある。しかし俺は順序としては、ソニーグループ全体の長期的な戦略にPSが生む半導体工場の増設という戦略が大規模に組み込まれていたのは間違いないのでは無いかとみている。そこで完成したマシンは、化け物であった。現在まで続く潮流であるGPGPU的な動作もこなCell B.Eがもたらす高性能と、高い拡張性を備え、既にゲーム機では無いとまで言わしめるものができた。この性能は当時の最新鋭コンピュータを大幅に上回るものであった。

しかし……。GPGPU概念は早すぎた。性能を引き出すことが、当人であるSONYでも難しかったのである。そしてこれはミドルウエアや開発ツールの乏しさにも繋がる。そのためスタートアップに失敗した。この失敗は、PSがゲーム機として優れていなかった、あるいは、他者装置に負けた、と言う意味で失敗では無い。製造業としてのSONYが、自社の思惑通りに事を運べなかったと言う事での失敗である

ハードウエアの夢、ソフトウエアの夢

結果SONYは、PS3需要を当て込んだ生産設備リストラ・売却するなどの対処をを迫られる。さら韓国勢などの追い上げ、AV市場の急速な変化、SONY本体の体力の低下、パソコン高速化などにも影響を受けることになる。

PS3のものは、OSの改良、ミドルウエアや開発ツールの向上などにゆっくりではあるが立ち上がってきたが、製造業としてのSONYPS3に期待した効果は得られず、ハードウエア屋、製造業がみた夢はここに破れた。

さら時代は動き、集積回路は、Intelプロセスで1世代以上先を行き、それ以外はすべて後から追うという構図が完全に定着してしまった。SONYも、SONY半導体と言えば、集積回路ではなく画像素子、と言う時代が来て久しい。世界中半導体製造業者の統廃合は進み、国内半導体産業は衰退した。新プロセス開発の難易度や、集積回路の大規模化から来る開発コストの上昇はいかんともしがたくなっていた。

ゲーム必要とするスペックはもはや飽和している。少しでもリアルに、少しでも高性能にと言う方面はすでにマニアのものだけになってしまい、それら需要だけで、そのとき販売されているパソコンを上回る高性能チップを開発、載せるコストを満たすことはできなくなっていた。具体的に言えば、ウルトラハイスペックの、GeForece GTX SLIクラスにも勝ちうるGPUを、専用設計オーバーヘッドを極力少なくすることができるとはいえ新規設計することが難しくなっていたのであるさらにはゲーム機業界ではスペック競争を離れた任天堂Wii、あるいはDSを生み出し、ケータイ、そしてスマフォとと言う存在カジュアルゲーム市場をかっさらうようになった。特に日本では据え置きゲーム機リビングルームに置かれ、パーソナルな空間に置いてゲーム機携帯ゲーム機になったのである

そして決定的だったのが、ゲームエンジンの躍進と越境であろう。従来はゲームエンジン製作環境ゲーム会社門外不出のものであった。しかしそれらが会社を通じて流通し始め、さらには専門業者も現れるようになったのである

家庭用ゲーム機と言えば、ゲーム機の性能を引き出すためにソフトごとにアセンブラ最適化チューニングを施す。それを行っても常に動作が一定になることがメリットとして、パソコンに比べてゲームは常に一定の動作をすることが担保できるためにゲーム製作に専念することができた。しかし、パソコンは十分に高性能になった。家庭用ゲーム機も十分に高性能になった。その結果、チューニングを行わなくてもそこそこの画面が作れるようになってきたのである。そこで余った能力ゲームエンジンオーバーヘッドを許容するようになり、ゲームエンジンの躍進に繋がった。さらゲームエンジンプラットフォーム間の差異すら吸収し始めた。あるゲームエンジン採用すれば、あまり手間をかけること無く、パソコン版、PS版、XBOX版、Wii版と複数プラットフォームで出せるようになったのである。これは、ゲームエンジンが新たなるゲーミングプラットフォームとして君臨する可能性を示唆していた。

しかし、チューニングなどといった、ユーザとは直接関係の無い部分に手間をかける必要が無く、作ったゲームがどこでも動く。これはクリエイタとしては非常にありがたい事なのでは無いか

ビジネス書に出てくる例えがある。ユーザねじ回しが欲しいのでは無い。ねじを回したいのである。同じように、客はゲームがしたい、もっといえば楽しいことがしたいのであって、別にゲーム機が欲しいわけでは無いのであるクリエイタはゲームを作りたいのであって、ゲームハードウエアを使いたいわけでは無いのである。ここに合致したのがクロスプラットフォームゲームエンジンであり、そしてこれらはクリエイタに作りやす環境提供し始めた。さらゲームエンジンは新たに現れたライバルであるタブレット/スマートフォンにも対応している。

しかゲームエンジンの躍進は、プラットフォームビジネス崩壊意味したし、PS3は性能を引き出すには高いレベルの専門的チューニング必要であった。しかゲームエンジンはそこにコストを払う事を選択せず、PS3は高い性能を持ちながらも、それ以外のあまり高性能ではないプラットフォームとほぼ同等、せいぜい高解像度テクスチャーに入れ替えられた程度のゲームしか提供されない、と言った事が発生するようになっていた。

ソフトウエアの夢が花開くのがPS4,PSVita

そしてPS4が出た。

PS4は有り体に言って、x86-64アーキテクチャコンピュータに、OpenGL/CL対応GPUを搭載した、本質的にはそこらのパソコンと変わらない構成である

さらに言えば、最新のCorei7+GeForce GTX…と行かなくとも、そこらのパソコンに較べ、性能は高くない。しかし、根本的にゲーム専用機が持つ、汎用パソコンには無い特徴

を備えている。さらには、GPUを扱いにくくする要因の一つとして上げられる、GPUCPUメモリ転送をほぼ考えなくて良いと言う仕様を打ち出してきた。これはCellCPUプログラミングが分断され、非常に開発を困難にしていたPS3反省ダイレクトに生かしてきたと考えられる。これはAMDが出していたコンセプトだ、と話題に上がるが、あくまでもパソコンの話であって、ゲーム機の分野では少なくとも、PS2プログラミングが困難な部分を、高速なバスで繋ぐことで隠蔽するよな仕様であったように記憶している。

さらx86-64アーキテクチャにしたことで、ゲームエンジンがPC向けエンジンの次に、素早くPSにも対応できる素地を整えた。Power向けに施す必要のあるチューニング不要にしたのである。従来はパソコンで開発されたクロスプラットフォームゲームは、パソコン向けと、家庭用ゲーム機向けの2種類作られた。そして家庭用ゲーム機向けは往々にして、ターゲットとなるハードウエアの中で一番性能の低いところに合わせたデータで作られた。平たく言えばPS3の方がXBOX360よりもはるか映像表現は優れているのに(※ただし使いこなせれば) XBOX360との差異はテクスチャムービー解像度程度の違いだけになってしまう事を意味していた。しかx86-64にしたことで、家庭用ゲーム機向けに統一してダウングレードされたデータからPS版を生成させるのではなく、パソコン向けのデータから生成させた方が早いと言う状況を作り出し、他の家庭用ゲーム機にくらべてアドバンテージを得ようとしているのでは無いだろうか。これはPS VitaARM採用したことも同じ事である

さらに、SONYは、PSVitaから進めてきた戦略として、自社による強力にプラットフォーム感の差異を吸収するミドルウエア群…これはゲームエンジンと読んでも良いのかも知れないが…を提供してくるだろう。x86ならば従来の資産を生かすこともできるし、世の中に出ているコンピュータ向けのライブラリも利用できる。急速に開発しやす環境を立ち上げているのではないだろうか。これはゲームエンジンにより脅かされる、プラットフォームビジネスへの対抗措置でもあるだろう。

これにより「雑事に捕らわれること無く、ゲームの楽しさ・表現のものに専念する」と言うクリエイタの夢を叶えるハードウエア、それがPS4であろうと思う。

平たく行ってしまうと、自社の半導体商売が死んだことにより、その死絡みから解き放たれたPSは、クリエイタ主導でゲームを作ると言う根本に立ち返って作ったのがPS4だ、と言う話である

しかしこれだとハードウエア製造業の夢はどうなってしまうのだろうか?そしてユーザ別にクリエイタの夢などはどうでもいい。下手をすると高性能なハードウエアを所有していると言う欲を満たせなくなる分だけこちらの方がまずいかも知れない。それをどうカバーするのか?と言う話になる。

「夢」PS4

ハードウエア/製造業の夢はどうなるのか

SONYは、次世代戦略として明らかにソフトウエア重視に舵を切っている。SONYは今、収支から見ると製造業では無く金融業であるが、その次に利益を生み出しているのは音楽映像ソフト部門とゲーム部門である

まずはここを潰してしまっては会社として立ち行かなくなる。それはまずい。ではどうするかというと、従来の「製造業としてのSONYを強くするために、PSの需要を利用する」のではなく「コンテンツ・製造複合体としてのSONYの核にPSを据え、関連商品を生み出す形で恩恵を得る」と言う形に舵を切ってくることになる。PS3でも一部行われているが、たとえばPSのリモートプレイを可能にするパソコンタブレット、PSを再生装置としてコンテンツ供給できるメディアサーバといった具合である

しかしこれらに対応させるために大切なPS本体の魅力を失わせては困ると言う事は強く意識されなければならないし、意識されていくだろうと思う。

ユーザの夢はどうなるのか

ユーザの夢は、将来的には作りやすゲームプラットフォームが生み出す新しいコンテンツという形で満たされることになるだろうが、直近では、ソーシャルへの展開という形で示されていると思う。将来的にはいかにコンテンツを集められるかと言う事にかかっている。が、ぶっちゃけていうとユーザから見たら、これほど夢の無い話は無いと言わざるをえない。

今回発表されたタイトルデモなどは実際にはチャンピオンで有り、実際にプレイして得られるのはPS3とそれほど感覚的に、革新的に良くなったと感じる部分は薄いと思う。この点で、PS4は、PS3と実働コンテンツはそれほど変わらないと思っている。マイナーバージョンアップ程度。パソコンWindows XPで評価が固まったようなものである。これはおそらく次に発表される新型Xboxでも同じだ。任天堂は少し別格の応えを出したが苦戦している。

結論 またしてもセガは早すぎた

かつてセガが出した芸術品とも言える至高のゲーム機DreamcastOSWindows CEを搭載した。プロセッサこそ独自であったがそれは当時のWIndows CEではあたりまえであり、むしろそこにWindowsと言う汎用のソフトウエアを利用したことで非常にゲームが開発しやすく、PCゲーム移植やす環境を作り上げた。それらはアーケードのnaomiプラットフォームや、ワンチップで埋め込まれたパチンコなどで今でも生き続ける。

任天堂WiiUコントローラに画面をつけDreamcastに追いついたように、SONYは、PS4で作りやすゲーム機という点で追いついたと言える。

またしてもセガは早すぎた。時代セガに追いついていなかったのであるDreamcastはその名の通り「夢を投げる」存在であったのだ。

2013-02-04

http://anond.hatelabo.jp/20130204163646

ポインタが理解できない派」はそれができないから理解できないんだよ。

おそらく、抽象的に考える力が弱いのかなと思う。

俺は学校アセンブラもやったしポインタが解らないなりに勉強しているうちに突然ひらめいたクチ。

「なんでこんな簡単な事が解らなかったんだ!」ってね。

慣れればint型が○バイトとか、構造体の隙間がどうとかってのは理解しやすいけど、

そうでない相手にとってはメモリ構造なんて「なにそれ、おいしいの」って事だろうね。

http://anond.hatelabo.jp/20130203154719

今時のパソコンをいきなり与えられた人(普通はそうだけど)は、そもそもポインタなんて機能が何故必要なのか理解できないと思う。

JavaとかPerlとかVBとかは、扱いたいデータを直接切り貼りするだけでプログラムとして成立するし、それで十分なわけで。

そのレベルコンピュータの仕組みや、メモリの使い方を理解する必要性は、普通は全く感じられないからね。


それにポインタ意識しながらプログラミングするというのは、前述の演算必要データ構造に加えて、メモリ管理上のデータ構造も扱うという、2重のデータ構造を考えないといけない。

これはプログラム初心者には全く想像できない領域だし、そうそう簡単な事じゃないと思うわ。

ましてやC言語の*pとp[]の交換性が、基本環境依存データ型のバイト長をいちいち把握しながらポインタ演算してアクセスなんて面倒でしょうがいか結構必須とか、そもそもポインタ演算を使いこなせればハードリソースビット単位で搾り取れて、それをアセンブラよりはシンプルかつ抽象的に実装できるC言語は非常に効率がいいとか、まず理解不能でしょ。

そんなことが必要な分野が世の中にはあるという現実すら知らないだろうし。


尤もマイコンキットから入って「メモリデータをロードして、そのデータメモリ上の格納場所CPUから分かるように(ry」というアプローチなら、ポインタを使う以外に方法が無いので嫌でも覚えるだろうけど。

2013-01-18

続々・うへぇ苦労するのガイドライン

見出しはこれ http://anond.hatelabo.jp/20121219191602

UNIX

http://toro.2ch.net/test/read.cgi/unix/1288765389/232

232 :名無しさんお腹いっぱい。:2012/03/25(日) 15:05:26.72
今月はじめ、職場に新しいPC(Pentium4結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要がありOSオープン系を採用するのは 
聞いていたのですが、搬入されたPCのダンホール箱に乗っかっていたのは 
UNIXインストールパッケージでした。 

「うへぇ~、よりによってUNIXかよ」 

デバイスドライバがない、コマンドが変・オプションがない、X環境が古い、 
今の奴は日本語入力大丈夫なのか(Wnn/Canna/kinput2)、将来の64bit移行はどうなのか、 
今時のネット必須flashプラグイン存在するのか不安はつきませんし、 
非メジャーなのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一CADなどのエンジニアリング環境が充実していたUNIX大学など 
教育機関に浸透していて、日本UNIX界に多くのバカを輩出しました。 

これから私は、おそらくそういうバカが、makeしてもemacsが入らない、 
TeXが入らない、コンソールでEUCは使えないのか、Rubyが使えないのかなどと、 
サバ管気取りの偏ったどうでもいい我侭を言い出し、(だから鯖にするんじゃねーよ、 
鯖の常識で話すなつーのに)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去10年のUNIX界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではPlamoでもDebianでもRedHatでもKondaraでも 
Slackwareでもなんでもいいですがメジャーかつ現行のLinuxにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

NFS

http://toro.2ch.net/test/read.cgi/unix/1355909018/4

4 :名無しさんお腹いっぱい。:2012/12/19(水) 18:44:07.79
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、複数マシンファイルを共有するのは 
聞いていたのですが、起動したマシンの/etc/fstabの項目に書かれていたのは 
nfsという文字でした。 

「うへぇ~、よりによってNFSかよ」 

ファイルロックすると刺さる、ファイルを消したのに.nfsXXXが残る、 
今の奴はACL大丈夫なのか、ファイルのCapabilityに対応してるのか、 
今時のLAN上で使ってもセキュリティ大丈夫なのか不安はつきませんし、 
ユーザーが減ってるのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れてすりこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一ローカルディスクネットワーク上かの区別なく透過的にファイルアクセスできたNFS大学など教育機関に浸透していて、日本ストレージ界に 
多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、ファイルに書き込んだら所有者がnobodyに 
なっちゃったよとか、タイムスタンプがずれるよとか、NFSv4にしたらマウント 
できなくなったよとか、TCPよりUDPの方がオーバーヘッドが無い分速いはずだよね 
などと、鯖管気取りの偏ったどうでもいい我侭を言いだし、 
(だからNFS鯖にするんじゃねーよ)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去25年のNFS界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではSambaでもNetatalkでもFTPでもなんでもいいですが 
安定してユーザーが多いファイル共有システムにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

FreeBSD

http://toro.2ch.net/test/read.cgi/unix/1351627596/3

3 :名無しさんお腹いっぱい。:2012/10/31(水) 10:57:28.82
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要がありOSに*BSD採用するのは聞いていたのですが、 
搬入されたPCのダンホール箱に乗っかっていたのはFreeBSDインストールパッケージ 
でした。 

「うへぇ~、よりによってFreeBSDかよ」 

カーネルが変、日本語環境がない、ソフトが変・揃ってない、今の奴は 
日本語文字コード大丈夫なのか(utf-8)、x86_64環境大丈夫なのか、 
今時のネットに繋いでもセキュリティ大丈夫なのか不安はつきませんし、 
非メジャーなのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れてすりこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一PC98環境が充実していたFreeBSD大学など教育機関に浸透していて、 
日本FreeBSD界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、ポーツ(笑)emacsが入らない、 
TeXが入らない、コンソールでEUCは使えないのか、Rubyが使えないのかとかなどと、 
鯖管気取りの偏ったどうでもいい我侭をいいだし、(だから鯖にするんじゃねーよ、 
鯖の常識で話すなつーのに)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去20年のFreeBSD界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではUbuntuでもdebianでもFedoraでもRHELでも 
OpenSUSEでもなんでもいいですがメジャーかつ現行のLinuxにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

SPARC

http://toro.2ch.net/test/read.cgi/unix/1209056071/887

887 :名無しさんお腹いっぱい。:2012/10/21(日) 11:56:55.61
今月はじめ、職場に新しい組み込みマシン(ファン付きだけど結構省スペース構成)が 
入りました。多分私が開発全般をまかされそうな雰囲気です。業務的にとある 
構造分析シミュレーションなど行う必要があり、プログラムアセンブラを 
使用するのは聞いていたのですが、添付のサンプルソースコードからチラッと 
見えたのはsethi %hi(hoge),%o0という命令でした。 

「うへぇ~、よりによってSPARCかよ」 

長くなるバイナリーコード奇数アドレスワードアクセス不可、使いにくい 
レジスタウィンドウ、今時の素早いコンテキストスイッチ対応できるのか不安は 
つきませんし、今の若者はこんなCPU使わないので人材も少なくソフト開発も大変です。 
おそらく導入に際して、大学など教育機関最初SPARCに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、32bitCPUでRISCでM68K系よりも高速で動作したSPARC大学など教育機関に浸透していて、日本CPU界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、16bitイミーディエイト値すら1命令でロード 
できかないのかよとか、関数呼出しのたびになんで約100バイトスタックフレームが 
要るんだよとか、フラグレジスタの読み出しがなんで特権命令なんだよとか、 
%g0ってレジスタ値変わらないし壊れてるよ、初期不良で交換だよとか、 
アセンブラ通気取りの偏ったどうでもいい我侭を言い出し(だからSPARC使うんじゃ 
ねーよ) それと戦わなければならないのでしょう。そして時代によって決着している、 
過去25年のCPU界隈のくだらないそれらの議論が再現され、それに巻き込まれるの 
でしょう。もう今からうんざりです。 

だからお願いです。教育現場ではi386でもi568でもi686でも 
x86_64でもなんでもいいですが現行のCPUにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

続・うへぇ苦労するのガイドライン

前のはこれ http://anond.hatelabo.jp/20121219191602

PC-98

http://toro.2ch.net/test/read.cgi/unix/1036951410/601

601 :名無しさんお腹いっぱい。:2012/07/10(火) 15:04:00.62
今月はじめ、職場に古いパソコン(i486DX2の結構ローエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要がありハードパソコン系を採用するのは聞いていたの 
ですが、搬入されたパソコンのダンホール箱に印刷されていたのはPC-9801という 
文字でした。 

「うへぇ~、よりによって98かよ」 

NetBSD/OpenBSDインストール不可、Solarisも不可、SATA-HDDからブートできるのか、 
今時のLCDディスプレイにつながるのか、FreeBSD9.xは対応してるのか、 
今時のネットに繋いでもセキュリティ大丈夫なのか不安はつきませんし、 
非メジャーなのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一コンソールでの漢字ROMによる日本語表示ができたPC-98大学など 
教育機関に浸透していて、日本パソコン界に多くのバカを輩出しました。 

これから私は、おそらくそういうバカが、makeしてもemacsが入らない、 
TeXが入らない、firefoxは使えないのか、Rubyが使えないのかなどと、 
サバ管気取りの偏ったどうでもいい我侭を言い出し、(だから鯖にするんじゃねーよ、 
鯖の常識で話すなつーのに)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去20年のパソコン界隈のくだらないそれらの 
議論が再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではPC/ATでもSPARCでもPA-RISCでも 
PowerPCでもなんでもいいですがメジャーかつ現行のマシンにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

Z80

http://toro.2ch.net/test/read.cgi/unix/992942337/737

737 :名無しさんお腹いっぱい。:2012/09/16(日) 16:27:31.40
今月はじめ、職場に新しい組み込みマシン(ファンレス結構省電力構成)が入りました。 
多分私が開発全般をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、プログラムアセンブラを使用するのは 
聞いていたのですが、添付のサンプルソースコードからチラッと見えたのは 
LD A,(HL)という命令でした。 

「うへぇ~、よりによってZ80かよ」 

アドレッシングモード皆無、リロケート不可、使いにくいインデックスレジスタ、 
今時の関数引数スタック渡しに対応できるのか不安はつきませんし、 
今の若者はこんなCPU使わないので人材も少なくソフト開発も大変です。 
おそらく導入に際して、大学など教育機関最初Z80に触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、8bitCPUi8080上位互換i8085よりも多くのツギハギ命令を追加拡張した 
Z80大学など教育機関に浸透していて、日本CPU界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、ADD A,(HL)はできるのにADD B,(HL)は 
できないのかとか、相対アドレスのCALL命令はないのとか、 
スタックフレームポインタとして使いたいのにLD HL,SPっていう命令ないじゃんとか、 
アセンブラ通気取りの偏ったどうでもいい我侭を言い出し(だからZ80使うんじゃねーよ) 
それと戦わなければならないのでしょう。そして時代によって決着している、 
過去30余年のCPU界隈のくだらないそれらの議論が再現され、それに巻き込まれるの 
でしょう。もう今からうんざりです。 

だからお願いです。教育現場ではi386でもi568でもi686でも 
x86_64でもなんでもいいですが現行のCPUにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

xinit

http://toro.2ch.net/test/read.cgi/unix/1011306728/134

134 :名無しさんお腹いっぱい。:2012/07/15(日) 14:17:53.53
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、X Window System上のアプリケーションを 
使用するのは聞いていたのですが、OSを起動して黒いバックに白い文字だけの 
英語の画面に表示されていたのはlogin:というプロンプトでした。 

「うへぇ~、よりによってxinit方式かよ」 

CUIログインなんて古い、コマンド入力なんて古い、今の奴は日本語入力設定大丈夫 
なのか(XMODIFIERS)、今時のマルチシート環境対応できるのか不安はつきませんし、 
xinitユーザーが少ないのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にxinitに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、X11で唯一$HOME/.xinitrcを手書きするというCUI方法環境設定できた 
xinit方式は大学など教育機関に浸透していて、日本X11界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、GNOME/KDEはどうやって起動するのか、 
ウィンドウマネージャを終了したらXごと落ちたとか、ck-xinit-sessionはないのか 
などと、X11通気取りの偏ったどうでもいい我侭を言い出し(だからxinit方式にするん 
じゃねーよ)それと戦わなければならないのでしょう。そして時代によって 
決着している、過去25年のX11界隈のくだらないそれらの議論が再現され、 
それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではgdmでもkdmでもwdmでも 
xdmでもなんでもいいですがグラフィカルなディスプレイマネージャにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

tcsh

http://toro.2ch.net/test/read.cgi/unix/1094041299/383

383 :名無しさんお腹いっぱい。:2012/07/12(木) 19:20:13.06
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、制御コマンドとしてシェルスクリプトを 
使用するのは聞いていたのですが、そのファイルを開いて1行目に書かれていたのは 
#!/bin/tcshという文字列でした。 

「うへぇ~、よりによってtcshかよ」 

ファイル記述子のリダイレクト不可、クオートのネスティング等に無理あり、 
今の奴でさえシェル関数は使えないし、パイプラインの終了ステータスおかしいし、 
今時の担当者が扱ってセキュリティ大丈夫なのか不安はつきませんし、 
スクリプトとしてのcshは嫌われるのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初cshに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、シェルで唯一aliasやhistoryやジョブコントロール機能が使えた 
csh大学など教育機関に浸透していて、日本シェル界に多くのバカを輩出しました。 

これから私は、おそらくそういうバカが、$*でスペース入りファイル名が扱えないとか 
$<でファイルから読めないのかとか、if文の条件式のコマンドリダイレクト 
できないのかなどと、シェル通気取りの偏ったどうでもいい我侭を言い出し 
(だからcshスクリプト書くんじゃねーよ)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去25年のシェル界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではbashでもzshでもkshでもashでも 
Bourne shでもなんでもいいですがBシェル系のシェルにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

続く。

2012-11-14

さてと 40代ぐらいまではいいが、

50代で転職ってどうなるんだろうな。

定年過ぎてもプログラマーで使ってくれる所あるかなぁ。

バリバリスキルアップして、アセンブラからJavascriptまで、なんでもできるようになってると思うが(今でもできるが、その頃にはさらに)

ボケたくないから、体が動くうちは働きたいもんだ。

2012-10-24

http://anond.hatelabo.jp/20121024113536

■頭の中でCを簡単なアセンブラに変換できるのが大事

http://anond.hatelabo.jp/20121024004748

こんにちはこんにちは

以前、"he doesn't use struct or union?"と書いて、ここの住民に糞味噌に言われた人です。

#が、この一言で何が言いたいかからなければ、プログラマーとしては最低ランクだと思うよ。

俺の場合は、

1. C勉強開始

2. PC-9801スプライト動かした段階で息が絶える...orz

3. 放置

4. C++勉強開始

5. OOよくわからんC++むずい...orz

6. アセンブラとかZ80、8086、386、486の勉強開始

7. すげぇよくわかった!CASLとかも試験のためにやった

8. Javaアルファー版をダイアルアップでダウソ

7. 英語マニュアルしかないので仕方なく読む

8. OOの何がいいのか理解できたヽ( ゚∀゚)/

9. Javaで書いたソフト雑誌で紹介されたり、賞を取ったりした

10. JVMとかクラスファイルフォーマット勉強開始

11. C、C++勉強OpenGLゲームとか作る

12. 振り返ってみると、全ての知識が有機的に結合されている!!!頭の中でCを簡単なアセンブラに(Java場合バイトコードに)変換できるのが大事だったんだね!!!

13. 就職

14. 転職

15. 就職

16. 転職

17. 病欠

18. 転職

19. 離職

20. 無職

現場ゴミみたいなコードを書く人とかゴミみたいな設計をする人で精神を痛められます

ITは辞めた方がいいよ。

#これも後で消す。

#あと、文章を消すのは鼻から議論する気がないかdeath。これはチラシの裏

2012-10-07

高専落ちてからの数年間つらすぎて死にたい

憂鬱タイムが高じたので勢いで書く

もともとコンピュータ電気機械系が好きで小5あたりからプログラミングを始めた。その後コンピュータにも詳しくなり、小学校卒業する頃にはHTML書いて自分webサイトを作って公開したりしていた。中学の頃から二足歩行ロボットに興味を持ち始めて。マイコン(PIC)や電子回路などをネットや本で独学した、周りにロボットに詳しい人が居ないので独学には苦労した。

そして中学卒業する頃には電子回路マイコンをある程度理解してサーボモーターを制御するプログラムぐらいなら作れるようになっていた。アセンブラC言語ポインタもこの頃には理解していた。
しか機械設計の知識がなかったり、工作機械も手元になかったりしたので、この時点でロボットを作ることはできなかった。そこでロボットを作るノウハウ工作機械があるであろう高専受験した。それとロボコンにも参加してみたかった。

結果はタイトルの通り。ショックだった。
マイコン電子回路も理解しているのに、落ちたことを受け入れられなかった。
ちなみに自分は軽いコミュ障なので小学中学友達は多くはなかった、高専なら話しの合う人がたくさん居るだろうと思ったのだが残念ながら行くことはできなかった。 だが浪人する勇気もなかったので、仕方なく近くの進学校に通うことにした。
今思えば浪人してでも高専に行くべきだったと思う。

高校では普通科のせいもあって話の合う人は一人も見つからず、3年間ずっと一人だった。
高専に落ちたショックや友達ができなかったことなどが影響して、成績は最悪だった。中学での成績は上位だったが、高校では最下位中学との成績の落差も精神的に落ち込む原因となった。学校行くのがいやになり、夜にこのまま寝て目が覚めずに死ねたらいいのにと思うようになった。

その現実から逃れるように、何か電子工作をしたりLinuxについて独学したりした。電子工作の作品についてはニコニコ動画動画をアップした。Linuxについても詳しくなりちょっとしたWebアプリも作った。今のメインPCOSLinuxだ。

高校3年の時に一番レベルの低い工学系の大学入試問題過去問をやってみたが、ほとんど解くことができず大学受験絶望的となった。その頃から学校休みがちになり軽い鬱状態に。
なんとか卒業することはできたが、進路は決まらなかった。決まっていたとしても半鬱状態でまともに通えなかっただろう。

今高校を卒業して引きこもり1年目。高校卒業時よりは元気になってきた。
本当は大学ロボット関係の研究もしたかったし、プログラミングロボットの話のできる友人もほしかった。
プログラミング苦手って言ってる人が理系大学行ってたりするのを見ると、自分はなぜ行けなかったのだろうと思いつらくなる。勉強すればいいだけのことだが、もう高校のせいで勉強トラウマになり、まともに勉強できなくなってしまった。

まだ、作りたかった二足歩行ロボットは完成していない。

高専受かっていたらこんなことにはならなかった。

入試という仕組みを恨むよ、これのせいで高専大学も行けなかった。

この先どうしたらいいのか分からない。行きたい学校には行けない、やりたいことが全然できない。大学行きたい。死にたい

2012-09-04

"Hello world!"

このお話はたぶんフィクションです。実在の個人や企業とはあんまり関係ありません。そういうことにしろください。


10年前、20代になったばかりの頃の僕は、今思えば本当に最低な生活を送っていた。高校を中退し、実家とは疎遠で、友達もなく、金もなく、夢も希望もなく、ただバイト先と自宅を行き来するだけの毎日。いつも視界には霞がかかったようで、底の見えない空虚さだけが僕の心を支配していた。

それでも趣味らしいものはあった。オンボロマシンRedHatを入れ、ダイヤルアップの細い回線自宅サーバを立て、Perlでガラクタのようなプログラムを動かす。そんな子供じみた遊びだけど、プログラムを組んでいるときだけは空虚さを忘れ、画面の中に没頭できた。

ただ、そのときの僕はもうすでにいろんなものに打ちのめされていて、若者にありがちな全能感などというもの霧散していた。自分プログラミングで何かを成すだとか、それを仕事にしようなんてことは一切頭になかった。このまま夢も希望もなく人生を終えるのだと、そう思っていた。

それでも転機は訪れる。

勤めていた工場で派遣切りにあった僕は、「働きたくないでござる! 絶対に働きたくないでござる!」とか言いながらニート生活をしていた。そろそろ翌月の家賃も払えなくなってきたころ、派遣会社から電話がかかってきた。「プログラム開発の仕事があるんですがやりませんか?」と。そういや履歴書だかスキルシートだかに、Perlがどうたらとか書いたっけ。実務経験もない中卒に仕事まわすとかwww ……とは思ったものの、このままでは本気でホームレス一直線だったので引き受けた。

はじまりはそんなもの。たいした覚悟があったわけでもない。

派遣された先は従業員数10人くらい、パートさん含めても50人くらいの小さな会社だった。現在手書きの伝票でやっている処理をWeb化したいのだという。システム担当者はおらず、事務員さんがExcelAccessを使える程度。すべて僕一人でやらなければならない。マジか。

ともあれ、まずはサーバである。後々の運用を考えるとLinux系は使えない。事務所の片隅に放置されていたWindows 2000マシンApacheを入れてそれでよしとした。

次はデータベース。でもこの頃の僕は「正規化ってなんれすか?」というレベルだったので基礎から勉強した。なんかMySQLってのがいいらしい→社長に申請→「今Access使ってるからそれでいけ」→「はい」→パフォーマンスの面で問題出るだろうなとは思ったがしょうがない。

次は言語最初はPerlで書こうと思ってたけど、PHPってのが流行ってるらしいのでこっちにした。ウホッ! いい言語……。

そして業務内容を把握するため、現場あっちこっち駆けずり回りながらヒアリングする。ときには部長から愚痴を聞かされ、ときにはパートのおばちゃんから誘惑され、そんなこんなを繰り返し、仕様をつめていく。

そして数ヶ月かけて開発したシステムの稼働である。そのときのことは今でも忘れない。

現場の人がラインからデータ入力する。サーバデータが送られてくる。別の事業所からも送信されてきてる。問題ない。事務員さんが伝票処理を行う。問題ない。すげえ、ちゃんと動いてる。お遊びで作ったプログラムではなく、本当に本気の業務用プログラムである。それを僕が1人で作ったのだ。このプログラムで業務がまわり、利益を生み出すのだ。社会に対して、何らかの作用を及ぼすのだ。僕みたいなクズにでも、そんなことが可能だったのだ。

そのことに気付いたときの感動を、僕は今でも忘れない。


それからちょっといろいろあって、ホームレスになった。うん、急展開なのはわかってる。でもこの間のことは語ってもあまり面白くないし、公序良俗に反する話もあるのでざっくりはしょる。どうせフィションなんだから細かいことを気にしてはいけない。

話を戻そう。

ホームレスになってからの数日はひどい精神状態だった。足元から世界が崩れていく感覚。視界がぐにゃりと歪む。帰りたい。でも帰る家がない。だからホームレスというのか……というトートロジーを何度繰り返しただろうか。

もうあまり覚えていないけど、このときの僕は本当にもう何もかもどうでもよくなってたと思う。ただ、自分の全財産がバッグ1つしかないということに対する心地よさ、開放感があったのはよく覚えてる。そんな状況で地べたに座り込んで見る風景。きっと、今はもう見えない。あの頃の僕にしか見えない風景が、そこにはあった。

いろんな人と出会い、流れ流れて、最終的に西成のあいりん地区にたどり着いた。関西圏の人には説明不要かもしれないけど、よく言えば日雇い労働者の街、ぶっちゃけて言えばホームレスメッカである。今はもう綺麗になってしまったし、治安もそこそこよくなったけど、僕がいた頃はまさに「カオス」としか表現のしようがない状況だった。

どこから持ってきたんだといいたくなるようなガラクタばかりを並べた泥棒市。簡素な骨組みにビニールシートをかぶせただけの飲み屋。「ないかーないかー」と声が聞こえてきたので見てみると、警察署の近くなのに道端で堂々と丁半博打をやっている。コンビニトイレ張り紙には「トイレが詰まる原因になるので注射器を捨てないでください」とある。いやトイレが詰まるとかの前に気にすることがあるだろ。ケンカなんて日常茶飯事。頭から血を流したおっさん普通に歩いてる。数百人規模で並ぶ三角公園炊き出しは圧巻。四角公園の炊き出しでは誰もいない場所にワンカップの瓶とかがたくさん並んでる。何かと思って聞いてみたら「あれで並んどることになってん」と返ってくる。学食の席取りルールみたいだ。ああもう全然書ききれない。

でも一番印象に残っているのは、南海線の高架下、うず高く積まれたゴミ山の前でガラクタ解体していたおっちゃんのこと。奇声を発しながらハンマーを振り下ろしていたおっちゃん。その両目は、これ以上ないほどにキラキラと輝いていた。その鉄屑を売った金でビールが何本買えるか皮算用でもしているのか、あるいは幸せになる魔法の薬でもキメているのか、そのときの僕にはわからなかったけど。

そして、人生を投げ出していた僕に付き合ってくれたおっちゃん、あなたのことも忘れません。モーニングをおごってくれて、いろんな話をしてくれて、聞いてくれて、役所の福祉課まで連れて行ってくれたおっちゃん。あなたがいなければ、僕は今でも西成でぬるま湯の日々を送っていたかもしれない。

いろんな人に助けられて、ホームレスの施設に入ることになった。舞洲という人工島にあるのだけど、これがまた周囲に何もないのだ。スポーツ関連施設、ゴミ処理場、物流センターが点在するくらい。コンビニ1件ありゃしない。だけど施設での生活は意外にも楽しかった。2段ベッドが6つ並んだ12人部屋。むさくるしいけど、みんなバラエティに富んでいた。刑務所上がりのいかついおっちゃん、虚言癖のひどいおっちゃん、ほとんど一日中寝てるじいちゃん、薬のフラッシュバックがひどい兄ちゃん。そんな人達の中で過ごせば、自分がどれほどクズであっても気にならない。やはり僕はこちら側の人間だと再認識した。

市街地にある施設へ移ってからはいろんな仕事をした。生駒の山奥にドブさらいに行ったり、事務所移転バイトで腰をやってしまいそうになったり、なんやかんやあったけど、長くなるのではしょろう。結局のところ、またプログラマをすることになるのである

そろそろ身バレしそうな領域に入ってきたのでここでもう一度強調する。このお話はたぶんフィクションです! たぶんフィクションです! 大事なことなので2回言いました。


そう、またプログラマとして働くことになった。今度は従業員数300人くらいの大きな会社である日本人なら誰でも知ってるであろう大企業の子会社ということもあり、本社からの出向社員東大京大卒当たり前みたいな状況。そんな人達の前で中卒の僕が前に座ってプレゼンやら仕様検討会やらをするのだ。何の罰ゲームだよ……。

最初に思ったのは、「ここにいる人達は育ちがいい」ということだった。みんな礼儀正しい。喋り方や立ち居振る舞いまで、今まで僕がいた世界とは何もかもが違っていた。まるでドラマに出てくるような「ちゃんとした人生を送っている人達」だ。そんな人達に囲まれていると、「生きていてごめんなさい」と言いたくなる。本当に。

他に驚いたこと。社内で連絡を取り合うのにメール使ってる。やばい。社内メーリングリストとかもある。やばい。定期的にミーティングとか勉強会とかもする。なにそれ怖い。自分がいっぱしの社会人になったかのような錯覚に陥る。ちょっと前まで西成でゴミ拾いのバイトしてたのに。「勘違いするんじゃない! 西成の日々を思い出せ!」と何度も自分に言い聞かせ、自我を保った。

とはいえ、萎縮してばかりもいられない。気付いたことはどんどん提案した。あちこちに散らばっている共通の処理をライブラリ化したり、サーバで負荷がかかっている部分を改善したり。却下されたものも多かったけど、採用されたものもそれなりにあった。業務の改善案を考えるのは楽しい。誰かがプログラマの三大美徳に「無精」を上げていたっけ。極度のめんどくさがりで、楽をするための苦労は惜しまない僕には、こういう仕事天職なのかもしれない。

システム開発の方も順調に進んでいた。この頃はMicrosoftですらWeb版のOfficeを出すような状況で、デスクトップアプリに比べても遜色ないレベルのWebアプリがどんどん出てきていた。この会社で開発しているのも、そんなAjax技術を多用したWebアプリだ。JavaScriptを用いた本格的な開発に最初はとまどったけど、書けば書くほど言語自分の手に馴染んだ。クロージャprototypeといった基礎をちゃんと学ぶと、書けるコードレベルが段違いに上がっていくのが楽しかった。

仕様にもこだわった。実際に使う人がどんなふうに操作するのか、何度も何度も脳内でシミュレートし、どんなUIが最適なのか、データ構造はどうするべきか考え、実行速度とメンテナンス性の板挟みに苦しみ、何度も何度もリファクタリングを繰り返す。

そのとき開発していたシステムは、メイン画面でほとんどの処理を行うタイプのものだったのだけど、そのメイン画面のJavaScriptコードは最終的に1万行を超えた。もうこの頃にはJavaScriptでのオブジェクト指向的な開発手法というもの自分なりに構築されつつあった。そしてこのカチャカチャとした手触りの、安物のオモチャのような言語は、僕の一番好きな言語になったのだった。

そんなある日、僕が作ったシステムのメインユーザーである他部署の偉い人が来て、開口一番こう言った。

「あのシステムいいね!

この機能が素晴らしい、とか、あの発想はなかったわ、とか、とにかくべた褒めして、そして去っていった。機能追加要望の前口上だと思って身構えていた僕は拍子抜けした。「あの人が他人を褒めることなんてめったにないよ、すごいね」と近くの席の人が言う。

そのとき僕は「カチリ」という音を聞いた。

どこにもはまることのない歪な歯車。その僕が、社会という大きな機械の中に組み込まれる音だったのだと思う。まあすぐに外れてしまうのだけど。その一瞬だけは、僕は確かに社会の一部になれたのだ。


そして契約期間満了となり、再び僕は人生の岐路に立たされる。

これからどうするか? 今の技術力ならそれなりのところに就職できるかもしれない。でも僕にはやってみたいことがあった。半年かけて海外を旅するのだ。

今、僕の手元にはまとまったお金がある。こんなのは人生で初めてのことだ。そして僕は今、どこにも所属していない。どんなところに行ったっていいし、何をしたっていい。この先、そんな状況がどれだけあるだろうか? 人生長いのだ、そりゃあ何度だってあるかもしれない。でも今回やりたいことをやらなかったのなら、僕はきっと何度だってやらずにいるままだろう。

もちろん怖くなかったわけじゃない。なにせ海外なんて行ったことがなかったのだ。ずっと極貧の生活をしてきた僕は、国内旅行だって満足にしたことがない。

いろいろと考えた。ない頭を使って考えた。自分の英語は通じる? 病気になったときは? 荷物をなくしたら? あれこれ考えると心配事ばかりが頭をめぐって、わけがわからなくなる。

最終的に決定打になったのは、自分が何も持っていないという、この状況だった。

そう、僕は何も持っていない。家族友達も、夢も希望も。だけど、そんな人間だからこそできることがあるんじゃないかと思ったのだ。何も持たないからこそ、どこにだって行けるし、何にだってなれる。それはタロットカードの「愚者」みたいなものだ。愚かな者は恐れも何も知らぬからこそ、無限の可能性を秘めている。

心を決めたら後は早かった。

パスポートを取得した。航空券を手配した。住民票を海外転出した。トランクルームを借りた。住んでいた部屋を引き払った。

空港へ向かう電車の中で、懐かしい感覚に襲われた。あの日、ホームレスになったばかりのころの感覚世界が足元から崩れていく感覚。でもあのときとは決定的に違うことがあった。それは、今回は自分が望んでこうなったのだということ。流されるまま生きてきた僕が、初めて自分人生に対して主導権を得た。それだけが決定的に違っていた。それだけで十分だった。足の震えは、これからの旅路への、期待に対する震えなのだった。


初めて踏みしめる異国の地。最初はいろんなものに圧倒された。

自分とは異なる人種、異なる言語。街の看板すらまともに読めない。レストランの注文すらおぼつかない。ちょっと電車に乗るのも大仕事だ。それでも時間をかけてひとつひとつなんとかしていった。

見知らぬ街の匂い、喧騒、バケツをひっくり返したようなスコール、旅の中で出会う怪しい人、優しい人。僕の前でたくさんの風景が流れていく。

川辺のレストランで昼ご飯を食べた後ボケーッとしていると、猫が膝の上に乗ってくる。動くのもめんどくさくてボケーッとしてたら日が暮れてた。そのまま猫と一緒に晩ご飯を食べた。そんな日もあった。

長距離列車に乗っていたとき、車内食にピーナッツバターのようなものが付いていたので、普通にパンに塗って食べた。でも梅干的なものだったらしく、めちゃくちゃ酸っぱかった。「すっぱ! すっぱ!」とかやってたら向かいの席の女の子爆笑していた。僕も笑った。そんな日もあった。

最初は少し移動するのにも大変な思いをした。でもいつの間にか、ローカルバスに乗って気ままに旅するようになっていた。

たどたどしかった英語も、日常会話程度なら普通に喋れるようになっていた。

いろんな国のバックパッカーにもたくさん出会った。お互いつたない英語でやりとりするのも楽しかった。今度は彼らの国にも行ってみよう。だからいつか世界一周に出ようと、僕は心に決めた。

こんな旅に出たところで自分は何一つ変わらないと思ってた。でも、何かが変わってきている。それが何なのかはわからない。たとえば図太さだったり、適当さだったり、そういうのもあるのだけど、何か違う。それよりもっとプリミティブなもの。感情になる前の感情、行動になる前の行動。マグマのような熱量を持ったドロドロとしたものが、自分の中に渦巻いているのを感じる。それがいつ形を成すのかはわからない、今はまだ。だけどいつかどこかで、忘れた頃にひょっこり出てくるんじゃないかと思う。そのときを楽しみにしていよう。

そして夢のような日々は終わる。


日本に帰ってきたとき、手持ちの金は10万以下だった。部屋は解約していたので住むところもなかった。普通にホームレスだった。僕は焦らず慌てず、西成へ向かった。

しばらくはドヤ(安宿)に泊まった。一番安いところなら500円から泊まれる。西成はいいところだ。

宿に住民票を移し、ハロワ失業保険を申請した。

前の会社から戻ってこないかと誘われたけど、「働きたくないでござる! 絶対に働きたくないでござる!」と言って断った。

いや働きたくなかったのは本当だけど、もう1つ理由があった。職業訓練組み込み系を学ぼうと思っていたのだ。

スマートフォン含むタブレット端末の市場がこれからも拡大していくのは間違いない。そうすると必要になってくるのは組み込み系の知識。いやアプリ作るだけなら必要いかもしれないが、そういった知識があれば、自分ができることの幅がぐんと広がると思う。

それに、今の僕には基礎的な力が圧倒的に足りない。すべてを独学で、我流でやってきたけど、やはり限界を感じる場面が多々あった。だから今回ちゃんと体系的に学んで、足元を固めようと思ったのだ。

結果的には正解だったと思う。本当に基礎の基礎から学べた。

ブレッドボードを用いて回路を組むところから始まって、アセンブラC言語組み込みLinuxでのデバイスドライバ開発、アプリ開発。これまで高級言語の十分に進化しきった部分にしか触れてこなかった僕にとっては、どれも難しかったけど、どれも面白かった。これからどういう道に進むかまだわからないけど、ここで学んだことは絶対に無駄にならないと思う。

そうして職訓で勉強するかたわら、悶々と考えていたことがある。世界一周についてだ。

今はまだ金もないし、そんな金を稼げるあてもないのだけど、いつか(たぶん10年後くらいには)行こうと本気で思っている。

ルートだけでも今から考えておこうと思って、いろいろと旅程検討アプリを試してみたのだけど、どれもいまいち使い勝手が悪い。海外のものも含めて探しまくったけど、自分が思うようなものは見つからなかった。

だったらもう自分で作るしかない。せっかくだから就活ときポートフォリオとして使えるよう、ちゃんとしたWebアプリを作ることにした。

最初の1ヶ月は地図APIの選定と、検証コードを書き捨てるだけで終わった。

2ヶ月目は基礎部分の構築だけで終わった。

3ヶ月目に本気を出し、ほぼできあがった。

4ヶ月目でサーバドメインを用意し、最後の仕上げをした。

そしてベータ版リリースした。 http://planetter.com/

それが先週の話。

そして今、こうして増田投稿する文章を書いている。

だからこのお話はここで終わりだ。正確に言うなら、ここから先の展開はまだわからない。


10年間を振り返ってみて思う。あの頃と比べて、何か変わっただろうか?

家族や親類とは縁が切れたままだし、いまだに人付き合いは苦手だし、金はないし、夢も希望もない。それは今でも変わらない。ただ、あの頃あれほど感じていた空虚さは、跡形もなく消えている。

西成の高架下で見た光景を思い出す。ガラクタ解体していたおっちゃん。あのキラキラした目。たぶんあの瞬間に僕は、自分にとって一番大切なものは何なのか、心の深い部分で理解したんだと思う。

世界一周だなんだというのも本当はどうでもいい。僕はただ、いつだってドキドキしていたいのだ。

初めて人を好きになったときの気持ち。知らない街で暮らし始めたときの気持ち。そして、プログラムが思い通りに動いたときの気持ち。

それを持ち続けていたいのだ。いつだって新しい世界にワクワクしていたいのだ。

だから僕は、今日ガラクタのようなコードを書き続けている。

ふと目を閉じれば、まぶたの裏に映る、あの日のメッセージ

"Hello world!"


このお話はたぶんフィクションです。実在の個人や企業とはあんまり関係ありません。でも、ここに綴った僕の想いは、ノンフィクションです。

2012-07-28

でもすげぇなぁ

アセンブラゴリゴリとか、マルチコアプログラムゴリゴリとか、シェーダーランゲッジゴリゴリ

って人が ネットで ごろごろしてるのに

日本企業が出すものって、そこまででもねーなぁ。 なんで そんなことになるんだろ。

http://anond.hatelabo.jp/20120727002252

串打ち三年、割き五年、焼き一生 つって、一生勉強なんて 職人業界では 常識だったんでは?

 

言い方変えると、たとえば10年でもう勉強しなくていい=40になっても30のやつと同じ。ってことだよな。簡単に言うと。

まり、新しいやつが来るんだから年寄り要らない。って事になるじゃねーか。

 

一生勉強必要なら、60まで成長し続けられる=若いもんには負けないって事になるが

10年で終わるなら、10年したら 若いやつと差がない=若いヤツのほうが給料が安い=若い奴に負けるだぞ。

 

勉強しないで、若い奴に差を付けられる(自分のほうが上)って どんな業界だ? 談合とか年功序列って言わないかそれ? 老害って言われると思う。

 

IT業界で古い知識といえば、アセンブラ とかがあるが・・・まぁ、あって役に立つとは言わないが、あって困るものでもないだろ。そこそこ使いはするよ。

 

あと、IT系でも、高給でなくてもいいなら比較的 勉強面は ラクな仕事はあるよ。

2012-06-14

C言語ポインタの何が難しいか

ポインタの何が難しいかって、あれは実装としてはアセンブラで言うところのただの間接アドレス指定に過ぎないのに規格上はそれを前提としていないので説明が抽象的なものにならざるをえずわかりにくいのと、文法がややこしくて初学者を混乱させるという2点があるから。まぁ規格は規格としてひとまず置いて実装を教えこめば解決するし、文法は改善しようもないので用例をひたすら覚えれば済むので、そこを抑えておけば覚えることができるはず。

はいえそれでも挫折する人が多いのは事実。これはC言語設計者が悪いといえば悪いんだけど、その悪い言語が世の中で一番普及しているのだからなんとかして慣れるしかない。もちろん逆に言えば覚えれば多少は人に勝ることができるのだから、覚える価値はあると思う。たぶん。マシンリソースが少ない分野ならまだポインタは使う必要があるしね。

http://anond.hatelabo.jp/20120612015506

2012-06-12

http://anond.hatelabo.jp/20120612073814

まあ、「ポインタなんて必要なの?」とか思う層には「アセンブラなんてなんの役に立つの?」とか思いそうだけれど。

しかし、ポインタであーだこーだ言ってるけど、配列とか文字列とかはどうなん?

全部つながってるので行ったり来たりしながらやってくしかない気がするけど。

まあポインタは、その後リファレンスになって、さらバインディングと、どんどん抽象化するんだけれども。

つか、どうなのかな。

アセンブラみたいにハードべったりな具体的なほうと、OOとか抽象化されたほうと、どっちがやりやすいのかな。

抽象化されたものから掘り下げるのは、具体的なのを積み上げるより大変そうだけど。

2012-02-14

続・専門学校教員寝言

前回の記事はまとめサイトに掲載されたりTwitter拡散されたりしていた。

今回はその続き。

http://anond.hatelabo.jp/20111219120206

カリキュラムのない学校

まとめサイトに掲載されたときにも元教員からコメントのあったとおり。

学校にはカリキュラムがない。シラバスもない。

2年間でどのような像に仕上げようかという目標がない。

資格系の学校場合、あるのは検定に合格させるという目標だけ。

から、授業の半分以上は検定対策。

しか模擬試験過去問中心。

これで授業が面白いはずがない。

デザイン系など、資格系以外の学校もっと悲惨

授業の大半は実習。実習という名の課題製作

実務を縮小した課題をしているだけ。

作業はするけど、提出さえすれば単位は取得できる。

詳細は「芦田毎日http://www.ashida.info/blog/cat34/」を参照。

言っていることは過激だし現場の苦労は知らないと思うけど、おおむね同意

学生の習熟度はカリキュラムでな教員人間性に依存する。

教えるプログラム言語

情報系の国家試験である情報処理技術者試験

午後のプログラム言語は選択式だけど、半数以上の学校はCASLII(アセンブラ)で受験する。

なぜか。学生が長文を読めなくなっているから、ステップ数が少ない言語を選ぶ。

表計算を選んでいる学校もある。

当然、就職には役立たない。

基本情報を取得しているからといって、プログラムができるとは限らない。

特に、午前免除制度を導入している学校ほどそう。

あとは、遊び程度にC言語をやるぐらい。


形骸化する入試

一部の人学科(看護等)以外は、全入時代一条校ではないから、補助金もでない。

一人あたり、年間で100万円。入試面接だけ。学力試験はしない。

オープンキャンパスに○回以上参加でその面接すら無くしている学校も。


教員旧態依然

教員OBOGが就くことが多い。

当然、学生当時の担任も在職している。元担任には頭があがらない。

古くからのやり方が変わるはずもない。


まとめ

もちろん、ここに書かれていることが該当しない学校もたくさんある。

情熱をもったすばらしい先生方もおられます

学ぶ姿勢を持った学生もたくさんいる。

ま、そういうすばらしい学校クラス担任がしっかりしているんだろうな。

2012-01-30

http://anond.hatelabo.jp/20120129001140

いちおう横になるけど、Sandby Bridge以後は 数値演算系は256Bitレジスターが追加になっていて

アセンブラ書けばベクター系は早くなったりするとか 細かい機能はついてたはず。

GHzだけが、速さじゃないからね。クロック下がっても専用命令が付けば早くなるし。

カンファレンスインテルの人が突っ込まれてたけど、クロック上がっても、命令にかかるクロック数が多くなれば遅くなるし。

結局ベンチマーク次第。だとおもう。

念のために言っておけば、OSアプリが別コアになれば、早くなることはあると思う。4コアまでいるか?といわれると、微妙だが。

ログイン ユーザー登録
ようこそ ゲスト さん