「posix」を含む日記 RSS

はてなキーワード: posixとは

2016-12-07

コミュ力0のエンジニア介護し続けてきたツケが回ってきた気がする

11月12月炎上、というより「コミュ力の圧倒的足りなさ」から揉め事騒動を起こしている人たちが軒並み40代だった。

SQLおじさんこと生島勘富は40代クラウドワークスのページより)



ちょまどの例のスライドを作ったおっさんこと山本康彦は1957年まれの59歳。



フリーランスの人こと酒巻裕一は職務経歴書によると40歳



その酒巻裕一を擁護しつつ自身アドベントカレンダー特定人物攻撃記事を上げているRichMikanことシェルショッカーこと松浦智之は1975年まれの41歳。



職人エンジニアみたいな言葉を使ってエンジニアコミュ力求めない風潮を是とする記事を読んだことがあったけど、こんな若気の至りでやるような揉め事をいい年したオッサンたちがやっているのを見ると、コミュ力0のまま一定の年齢を超えたエンジニアは、社会と完全隔離させないと誰かを不幸にするだけの存在になるんじゃないかって気がしてならない。これは社会人全体にも言えるが。

ゲーム現場は平均年齢が30くらいなので、フリーランスで40越えたときには周りがみんな年下で、そこに同対応してゆくかというのはある。というか、対応できずに昔のままの感覚で腫れ物扱いや疎まれていく(もちろん、本人には言われない)というのを最近たくさん見てつらい。

https://twitter.com/obenkyounuma/status/806253887036366849

あとドラえもんの「大人ってかわいそうだね。自分より大きなものがいないもの。よりかかって甘えたり叱ってくれる人がいないんだもの。」っていう台詞を思い出した。もうこんなおっさん達を正しく叱ってくれる人間はいないだろうから、やはりただちに現実からネットから隔離するしかないんじゃないか

2016-12-05

例のフリーランスおじさんについて

フリーランスになって、嫌な思い出 - Qiita

http://qiita.com/mesaka/items/41ec09a4dae3fba6dd6c

Qiita登録しているGitHubアカウントを見ると、たしかGitGitHubが苦手なんだなあというのを感じる。

https://github.com/mesaka

それはまあともかく、プロフにあるURLを踏むと合同会社設立されていることがわかる。

ついでに言うとWantedlyにも企業ページを作っていて、そこのプロフ等にも不穏なことが書かれているのだけれど割愛

http://nunatoi.jp/

ここまで公開している立場で、あのコメント欄の態度は自分の首を絞めていないか?という疑問はさておき、GitHub名前検索したらTwitterアカウントが出てくる。

https://twitter.com/mesaka2009

いろんな人間に裏切られて鬱病になりました。もう人生に疲れていますPHPは大好き!早く正社員になってもいいです!! ※このツイートフィクションが含まれています検挙件数稼ぎの警察の方の自宅に来襲はご遠慮下さい。

bioの内容が不穏すぎるがさておき、このTwitterアカウント検索するとDMM面接で落ちて逆恨みしたり、コロプラ面接号泣していたことが既に増田ヲチされていたことが分かる。

すでに指摘されているが、妻子持ちでTwitterにはこの時期かなり不穏なこともつぶやいていたらしい。

結局何が言いたいかというと、特にない。

件のQiita記事に関しては「書いてあることが事実ならチャットワーク社が反省すべきことはあるけど、この人の数年レベル普段言動から見ても、書いてある内容をそのまま鵜呑みにして語ることはできない」と思った。

ちなみに去年のカレンダーにはこんなこと書いてたのに、どうしてしまったんだろうなあ。

特定企業個人実名を悪意で晒すのはやめましょう。

http://qiita.com/advent-calendar/2015/free-engineer

(追記)該当の記事を見たら、コメントフリーランスおじさんを焚き付けてるおじさんが新たに登場してた。調べたらこの人も特定人物ケンカ売りたいだけの記事Qiitaに書いてた。

品位が問われるAdvent Calendar -- シェルスクリプトはどこでも動く! - Qiita

http://qiita.com/richmikan@github/items/5f53a14a79874d56a2ff

POSIX原理主義者の品位 - Togetterまとめ

http://togetter.com/li/1056218

ちなみにこの人は松浦智之氏で最近WindowsMacUNIX すべてで20年動くプログラムはどう書くべきか』という本を書いている。著作者情報によれば1975年まれ40代。ついでに言うと、件のフリーランスおじさんはWantedlyに生の職務経歴書pdfを公開していて、そこから年齢が40歳であることがわかる。なんだ、プログラマーは40超えたらこんな風におかしくなってしまうのか。プログラマー35歳定年説は正しかったのかもしれない。

2015-04-10

最近システムソフトウェア開発のトレンドが分からない

10年位前、上位のサイトから電文を受け取り下位のサイトに再配信するプログラムを、Linux上にC言語実装する仕事を引き受け、死ぬ思いで片付けた。

その時にお世話になったのが「UNIXネットワークプログラミング」という本。

この本、POSIX準拠OS(要するにLinuxなどのUNIX系OS)におけるシステムプログラミングのノウハウに関しては名著、いやバイブルと言っていい。


しかし、である

この本は今や絶版なのだ

名著が絶版になる理由は色々あるだろうが、この本に限って言えばもはやそういう時代じゃない、そういう低レベル実装トレンドじゃないということなのだろう。


でも、そしたら「決して遅延が許されない再配信プログラム」は、一体何をどう使って作るんだ?

JavaPerl?全くイメージが湧かない。

プロセス間通信やスレッド制御、更にはシグナルも使い、それらが高速で動作しないといけない(いやスレッドは難しすぎて結局使わなかったけど)システムで、そんなオーバーヘッドが高い言語は使えないと思うのだが。

それらを解決できる気の利いたライブラリフレームワークもなさそうだし。

なので、同じ理由PythonRubyダメだろう。

そうなると、メジャーどころの言語は軒並み使えないじゃん。

或いは回線スイッチを高性能にして、サーバリソースも上げられるだけ上げるというように、インフラ側の強化で解決しちゃうとか?

それとも、そもそもそんな仕事がもはや存在しないってこと?

2014-07-23

http://anond.hatelabo.jp/20140723170101

shでーとかじゃなくてPOSIX準拠、な。

ただ、cutとか外部コマンドならそれもまた違うけど。

grepとかでもGNU/BSDで違いがあったり。

2014-03-22

Mac vs Windows徹底比較 ~OS宗教戦争歴史をひもとく~

Macの良さがわからなすぎて、死にたい

議論元エントリーはこちら。

 

陣営信者の皆さん、元気ですか?(ノ´∀`)ノ

毎度のことながら、MacとWindowsの論争を見るともんにょりしますね。人類から戦争が途絶えぬ縮図が、ここに。(´ω`)

しかし、最近パソコンをはじめたユーザや、元エントリの増田のような人にとっては、信者言葉ってワケわかめだと思うんですよ。

そんなわけでMacとWindowsの歴史を、なるべく平易に書いてみました。(´∀`)

歴史を見返して、WindowsとMacの強み弱みを把握すれば、宗教戦争理解が深まり、自分にピッタリのパソコンが分かるかもしれません。

たぶん。

 

元増田エントリーWindows寄りの結論になっているので、

Mac寄りの視点で書いてみる事にしました。(`・ω・´)

だれかWindows寄りや、Linux寄りの視点を加筆して下さいな。当エントリの補足・指摘も歓迎します。

 

ITエンジニアから見たMac

  1. MacはUNIX互換環境である
  2. プログラミング開発環境の導入がWindowsに比べて簡単
  3. シェル環境はWindowsは貧弱(と思われがち)
  4. Windowsフォントが醜い
  5. Xcodeは優秀なIDEである
  6. iOS(iPhone/iPad)でのソフトウェア開発には、Macが必要
1. MacはUNIX互換環境である
2. プログラミング開発環境の導入がWindowsに比べて簡単

既存のUNIX環境向けに制作された、膨大な数のソフトウェアを扱えるのはプログラマにとっては大きな恩恵です。

たとえばWindowsではCygwinを導入する事でC言語開発環境を手に入れる事ができます。ただし、インストールは非常に煩雑で、動作速度も雲泥の差です。

MacはPOSIX互換であり、プログラミング環境のインストール等が簡単です。

FreeBSDUNIXを過去に使用していた熟練プログラマは、Macに乗り換える事で、過去の資産を有効活用する事ができます

3. シェル環境はWindowsは貧弱(と思われがち)

シェル環境とは、よく映画で、暗い部屋の中、天才プログラマーが真っ黒な画面に流れる奇っ怪な文字列を眺めてる、アレです。

ひらたくいうと、あの文字列ひとつひとつが、コンピュータ内部で行われる処理や通信を意味しています

LinuxやMacではターミナルWindowsではコマンドプロンプトなどと呼ばれます

Windowsには非搭載だが、Linux/UNIX/Macでは標準サポートされているコマンドが多数ありました。

はいえ、これは過去の話です。現在Windowsシェル環境も、だいぶ充実したので、普通に使うには大きな差はありません。

が、歴史的経緯や文献量を比較すると、どうしてもWindowsシェル環境はUNIX/Macに劣ると考えられています

4. Windowsフォントが醜い

四六時中プログラマが目にするのは、文字です。ですからプログラマーは醜いフォントが許せません。

Windowsフォントレンダリング環境は2014年3月現在も貧弱です。

WindowsVista登場時にメイリオフォントが登場し、ある程度の改善が図られましたが、Macの画面と比較すると大きな差です。

これはMacとWindowsフォントレンダリングアンチエイリアス技術の違いによるものです。

WindowsでもMacTypeなどのソフトウェアを使用して、強制的フォントアンチエイリアスを変更する事が可能ですが、残念ながらMacに遠く及びません。

Anti-Grain Geometry - Texts Rasterization Exposures

5. Xcodeは優秀なIDEである
6. iOS(iPhone/iPad)でのソフトウェア開発には、Macが必要

Xcodeは、非常に優秀なIDEです。特筆すべき利点は、動作が割と軽快で、初期設定の状態でもある程度使い物になる点です。

インストールもAppStoreからワンクリックな為、簡便です。XcodeはMacのみで使用できるソフトウェアです。以前は有料のソフトウェアでしたが、ここ数年は無料で提供されています

またiOSのソフトウェア開発では、XcodeとMacは必須です。iOSアプリの開発には、Xcodeとそれに付随するシミュレータソフト、そして開発者アカウント必要なのです。

Xcodeの弱点は、バージョンアップ時にインターフェースが突如として大幅変更がされる事。またここ数年は英語のみしかサポートされておらず、日本語話者にとっては使いづらいという2点です。

 

 

音楽制作者から見たMac

  1. DTMソフトウェア混迷期、音楽制作はMacが一般的だった。
  2. DTMソフトウェアGarageBandLogicが優秀
  3. Macはオーディオインターフェースが秀でる
  4. Windowsの方が無料のVSTプラグインが多い
1. DTMソフトウェア混迷期、音楽制作はMacが一般的だった。

2014年現在は楽曲制作にMacとWindowsの差はありません。しかし、過去にはDTM=Macという暗黙の了解がありました。

特に1980年代プロユースの音楽制作ソフトの多くがMacintosh対応でした。理由は複数ありますが、そのひとつがPCM音源の発音問題でした。

Macintosh 128K以降すべての機種でPCM音源をサポートしています。これにより同時発音数が多く、Mac向けのDTMソフトウェアが多く開発されました。

それに対してWindowsは16ビット/48KHzのPCM1チャンネルのみで、性能はCPUの能力に依存します。昔のPCはCPUの実行速度は低かった為、音声出力の機能が貧弱でした。

2. DTMソフトウェアGarageBandLogicが優秀

Mac標準搭載のGarageBandと、有料のDTMツールLogicは有名なDTMソフトウェアです。

この2つのソフトはAppStoreから購入できます互換性もあるため、GarageBand作曲を覚えた初心者ユーザが、Logicを購入し上級者になるという、非常にスムーズな導線が構築されています

またLogicは数あるDTMソフトウェアの中でも安価で高機能です。iPadとの連携機能においても、他のツールより頭一つ秀でています

3. Macはオーディオインターフェースが秀でる

MacはCoreAudioという、MIDI入出力環境を搭載しています。大変高速に動作する為、追加投資必要がなく、DTMクリエイターに重宝されています

Windowsの場合、オーディオドライバを別途用意する必要がある為、投資必要です。

4. Windowsの方が無料のVSTプラグインが多い

主に海外製のプラグインではありますが、明らかにMacよりWindowsの方が充実しています。お金をかけずにエフェクトに凝りたい人にとっては、MacよりWindowsの方が良いと言えます

 

デザイナーから見たMac

  1. 解像度Retinaディスプレイの恩恵
  2. 今は昔、AdobeツールはMacしか使えなかった
  3. フォントの種類と品質が充実している
  4. QuarkXPressの衰退問題
  5. 同時発色数とカラーマネジメントの問題
1. 高解像度Retinaディスプレイの恩恵

MacBookProRetinaモデルは、グラフィックデザインの仕事をする者にとっては、福音でした。

特にAdobeInDesign使用時の効果は凄まじいと感じます。紙とディスプレイの1to1の制作環境が構築可能な時代がやってきたと感じます

2. 今は昔、AdobeツールはMacしか使えなかった

過去はAdobeはMacしかサポートしていませんでした。

さらに当時、MacはPostScriptというAdobeが開発した印刷用言語をサポートしていました。高解像度印刷を行うには、Macしか選択肢がなかったのです。

その頃の印刷所やデザイン事務所はおのずとMacを導入しました。その歴史がある為、現在もMacの使用が続いています

3. フォントの種類と品質が充実している

スティーブ・ジョブス学生時代カリグラフィーを学んだ逸話は有名です。その経験から彼はMacのフォント環境に心血を注ぎました。

現在でもAppleは高いライセンス料を支払い、各種製品にフォントを多数搭載しています

オーソドックスで美しいセリフ体のTimes、流麗なZapfino、日本語フォントではヒラギノなど、様々な良質フォントが搭載されていますフォントを買い足さなくても、ある程度のグラフィックデザイン制作が可能です。

反面、2014年3月現在Windowsで安定して使えるフォントは、字游工房の2書体のみです。メイリオは画面表示時に使うフォントなので、DTPでは活用されにくいです。

4. QuarkXPressの衰退問題

2005年頃、出版業界QuarkXPressからAdobeIndesignに乗り換えました。しかし、それ以前は出版ソフトウェアQuarkXPress業界標準でした。

このソフトは、Macでしか対応していませんでした。QuarkXPressは、64bit対応やOSX対応が遅れため急速にシェアを落としました。

現在AdobeIndesignが業界標準で、これはMacもWindowsも両方で使用可能です。

しかし、QuarkXPress時代から活動しているブックデザイナーやエディトリアルデザイナーにとっては、Macの方が慣れ親しんでいるでしょう。

5. 同時発色数とカラーマネジメントの問題

1980年代パソコンは、表示できる色数に制限がありました。Macintoshは安価な割に発色の性能に優れた時代がありました。

コンピュータグラフィックは数多のPCメーカが多額の資金を費やし研究開発した歴史があります

一時代だけを抜き取って「Macのグラフィックが優れていた」なんて書くと、多くのツッコミが入ると思います

はいえ、Macは早くからキャリブレーションの機能を充実させてきた為、色管理の強さという点において、多くのデザイナーイラストレータから支持を受けた事は、特筆に値すると思います

 

ゲーム用途での視点

問答無用で、Windows一択。PC改造を続け、最新のグラフィックを追い求めたゲームマニアは、10年前に比べると少なくなりました。

しかし、彼らのPCがMacである事など、ありえません。

最近はAdobeFlashが盛り返しを見せていますが、ブラウザゲーム市場を除けばMacを使用するメリットは薄いと考えられます

一方、Linuxベースメディア配信サービスSteamOSの今後の発展に期待したいところです。Steamではアマチュアからプロまで幅広いゲームクリエイター自作ゲームを販売しています

 

ビジネスユースでの視点

Windows圧勝MicrosoftOfficeをはじめ、Windowsの方が対応ソフトが多いです。

特に会計ソフト類は、Macは壊滅的であります。また、言わずもがなですが、BtoBの業務系ソフトウェアWindows特化のものが大半です。

はいえ、LibreOfficeOpenOffice.orgを使用して業務を進める団体もあります福島県会津若松市とか、滋賀県甲賀市などがそうです。(LibreOffice採用事例)

そういえばVer4.2でCalcを大手術したLibreOffice。もうそろそろC++完全移管が完了します。

高速化が施され、今以上にチューニングされれば、Windowsの牙城に一矢報いるかもしれません。

ちなみに私は、ChromeOSとGoogleDriveが搭載されたChromeBookが、MicrosoftOffice一強状態を打ち崩すと予測しています

あとJustSystem一太郎も頑張ってほしい。Just do it!!

以上、チラ裏でした。

 

ホームユースとか、そのほかの性能比較

1. iPhone/iPadの普及がMacの追い風

現実問題、iOSとiTunesの同期はWindowsでも可能です。しかし「持ってる携帯電話iPhoneだから」と言う理由でMac買う人は多いです。

そりゃiTunesiTunesStoreを使っているなら、Macに毒されてしまますよね。

そういえばWindowsMediaPlayderが残念だった時代に、シェアを伸ばしたのがiTunesでした。音楽を愛するユーザの支持を集めた時代があった。と言っても過言ではないと思います

2. MacBookトラックパッド(MagicTrackpad)は高性能

使い勝手に優れます。これが理由でMacを使う人もいますWindowsLinux環境で、同様の使い勝手を得られるマウスガジェットは、2014年3月現在存在しません。

3 Thunderbolt

MacProではThunderboltを大量に備えています。これは今後普及する4K映像制作において活躍すると考えられます。ただ、普通に使うぶんにはThunderboltは恩恵を受けにくいと考えられますが。

4. TimeMachineの高機能さ

これはMacに搭載された自動バックアップ機能です。Windows8にも同様の機能があるが、インターフェースの使いやすさと、設定の簡易さではMacが勝ります

5. Macのクリーンインストールは高速/アップデートが容易

Macはクリーンインストール後に、自分AppleIDを認証すると、最新版まで自動アップグレードを行います

クリーンインストール後、1回の再起動で、ほぼすべてのアップデータが揃った状態になります

WindowsUpdateの何回も繰り返さざるを得ない面倒アップデート作業に比べると、Macは楽ちんです。

6. ネットワークリカバリ

ネットワークにつながった状態でリカバリを行った際、HDDが論理的に破損していても、自動で復元してくれます。というか、いつ切り替わったのか分からないレベル自然さで勝手復元を始めます。そう、Macならね!!

7. 修理/保証

Appleの修理は迅速な印象があります。今まで5回修理に出しましたが、いつも4日程度で返送されてきます。あとまぁ、Appleサポートごねると得をする事が多い……ような感じがします。(一個人の印象です)

8. タッチパネルの構造的問題

Windows8タッチパネル型は画面が揺れるので、使いづらい機種が散見される(2014年3月現在)。画面を固定しながら操作できる補助道具や、ロック式のヒンジが必要だと思うのですが、まだ普及していません。

あと、SurfacePro2が店頭で買えない状況が数ヶ月続いているので、そりゃあMacに流れるのでは。(なんか、今日ニュースで久々にSurfaceが入荷されたらしいです)

9. Macは性能に対してコストパフォーマンスが高い(……かも)

スペック価格比較すると、CPUやメモリやらのコストパフォーマンスが悪くない、と思います

10年前は「Macは高くつく」という印象だったものが、ここ5年で「Macって割安」という印象に変換したと記憶しています

一昔前に比べ、自作PC価格メリットが薄れたから、そのように感じるんですかね。

10. Macのノートパソコンは中古市場価格が安定している

美品なら、「だいたいこの値段で売れる」という土壌が形成されている。大幅な値崩れも少ない。新製品発表ごとに旧機種を売って、新機種に乗り換えても、損した感が少ない。

11. Macは意味の分からないセールがない

要するに、値崩れしにくい。ポジティブに受け取ると、欲しいと思った時が買い時。

SurfaceRTのように意味の分からない価格暴落が起きる心配がないですね。人によっては、安心と言えるかもしれません。

12. Macには無駄プリインストールソフトウェアが少ない

何をもって"無駄"と判断するか、非常に難しい論点ではありますが。

へんてこなアザラシマスコットデスクトップを泳ぎ出したり、なんとも言えないモッサリ感の明るさ調整ソフトが突如画面に出現したり。なんて事はありません。

 

 

チラ裏

ある時期、ある特定の界隈にて、「Macが優れる」とか「いや、Windowsコスパが高い」なり「Linuxが一番」とか、

マァ、乱暴な言い方をすると、それぞれのムラの中で熱狂と共にコミュニティが形成されて、宗教信者ができあがると思うんですよ。

しかし進化の早いIT業界では、一昔前の利点が追い抜かされるなんて、日常茶飯事。

だから今から見ると、信者言葉や、その感動が伝わらない。なんて事、よくあると思います

ジョブスも、死んだし。

はいえ、日常生活の中で、目を輝かせてOSのすごさを語る信者とか、逆に必要以上に貶す反信者を目にしたら、

暖かい目で「ああ、このオジサンが若い頃、こういうのが流行ったんだナァ」とか

「ああ、昔、あのOSに苦労したんだネェ」などと、受け流してあげるのが正解だと思います

そういう時代が、あったんだ。……と。

しつこい宗教信者は、裏返せば、その人が感動した記憶なのでしょう。

このエントリを読んだあなたが、何かの道具に感激し、愛すべきツールを誇り、誰かにしつこく薦めるようになるのを、楽しみにしています

あなた洗脳を、私は笑顔で聞き流してしんぜよう。( ̄ー ̄)

 

ツッコミ、指摘、Welcome。

だれかWindows寄りや、Linux寄りの視点を加筆して下さいな。

この記事は2014年03月22日(土)執筆しました。

記事執筆時点リリースされている最新のOSバージョンWindows8.1、Mac10.9Mavericks、LinuxKernel3.13です。

 

最近、まとまった形式WindowsとMacの優劣や、歴史を比較したエントリーって少ない印象があります

だいたいがTwitterまとめブログで、薄っすい単文コメント……(´・ω・`)

がっつり読み応えのある論評にお目にかかりたいものです。

最後になりますが、ちなみに私はLinuxユーザです。(・∀・)

 

ではみなさま、どうか、ご安全に。( ̄人 ̄)ノ

2013-08-12

Webサーバを作る】http://d.hatena.ne.jp/kmaebashi/20130804/p1

マネしてPerlで書いてみた。以下ソースコード

use Fcntl;

use strict;

use Socket;

use threads;

use POSIX qw(strftime);

use File::Spec::Functions qw(rel2abs);

my $thread = threads->new(\&serverThread, "");

$thread->join;

sub getContentType {

my $ret;

my %hashmap=(

"html" => "text/html",

"htm" => "text/html",

"txt" => "text/plain",

"css" => "text/css",

"png" => "image/png",

"jpg" => "image/jpeg",

"jpeg" => "image/jpeg",

"gif" => "image/gif"

);

$ret = $hashmap{$_[0]};

if ($ret eq "") {

return "application/octet-stream";

} else {

return $ret;

}

}

sub serverThread {

my $documentRoot = rel2abs("D:/var/www/html");

my ($line, $path, @tmp, $ext, $data, $absPath);

socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp'));

bind(SERVER, sockaddr_in("8001", INADDR_ANY)) || die;

listen(SERVER, SOMAXCONN) || die;

while (accept(CLIENT, SERVER)) {

while (<CLIENT>){

$line = $_;

last if ($line eq "" || $line eq "\r\n" || $line eq "\n");

if (index($line, "GET") == 0){

$path = (split(/ /, $line))[1];

@tmp = split(/\./, $path);

$ext = @tmp[$#tmp];

}

}

print CLIENT "HTTP/1.1 200 OK\r\n";

print CLIENT "Date: " .strftime("%a, %d %b %Y %H:%M:%S GMT", gmtime). "\r\n";

print CLIENT "Server: Sever03.java\r\n";

print CLIENT "Connection: close\r\n";

print CLIENT "Content-type: ". getContentType($ext). "\r\n";

print CLIENT "\r\n";

$absPath = rel2abs($documentRoot. $path);

if (index($absPath,$documentRoot)==0 && sysopen(FH, $absPath, O_RDONLY | O_BINARY)) {

while ($data = <FH>) {

print CLIENT $data;

}

print CLIENT "\r\n";

close FH;

}

close CLIENT;

}

}

コアモジュールだけ使った。

元ネタJavaコードディレクトリトラバーサルになってたんで、一応対策を盛り込んだ。

といっても絶対に外向けに動かさないように。無いと思うけど。

いろいろツッコミくれるとうれしいです。

2011-05-20

C言語死ねの件について

カーネルコミッターでも、処理系実装者でも無さそうな人達が、「Cは滅びず!」と叫んでいる不思議光景

http://b.hatena.ne.jp/entry/shyouhei.tumblr.com/post/5545216280/c

http://b.hatena.ne.jp/entry/shyouhei.tumblr.com/post/5603961294/c

Linuxカーネル(せめてPOSIX互換品)を手前が思う言語にさっさと移植すれ。さすればCを滅ぼせん。(ちなみに高機能アセンブラの最適解がCとは俺も思っちゃいない。)

最後のCの牙城、Linux(UNIX)をJavaなり何なりベター言語にさくっと移植してくれ。それともgoogleビッグブラザー様がクラウドでUNIX鯖を駆逐してくれるのを祈ってればいいのか?

Cが死ぬと追ってLinuxとかあらゆるOSミドルウェア技術者いなくなって死ぬじゃん。殺す前に代替言語用意しろバカ

JavaC#も,それにPerlRubyPythonも,実行環境自体はCで書かれている件。コンピューターが「シリコンを基材としたチューリングマシンであるかぎり,アセンブラとCは滅びない。

2009-03-07

http://anond.hatelabo.jp/20090307004426

UbuntuくらいでLinuxヲタの領域に踏みこんでんじゃねえよ糞ネットブックヲタ

LinuxくらいでUnixヲタの領域に踏みこんでんじゃねえよ糞ペンギンヲタ

UnixくらいでOSヲタの領域に踏みこんでんじゃねえよ糞POSIXヲタ

2008-06-12

amachangのすごいところ(d:id:amachang:20080611)

mutexはmutual executionの略で、書籍とかには「ミューテックス」とはあまり書かない。Wikipedia(ja)くらいである。カタカナで書く場合は「ミューテック」と書くことが多い。口語では「ミューテクス」だろうがなんでもいいが「みゅーてっくつ」とか書かれると大丈夫かなと思う。charたむけんよろしく「ちゃ〜」と読んでないか心配である。「ちゃ〜配列の終端には「なる」をせっていする」とか書いてくれそうでそれは期待。

そしてPOSIX関数醍醐味であるpthread_createで引数に値を設定しない、呼び先で参照しない。せっかくのvoid*の使い方を覚える機会を捨てている。コンパイル時のエラーを消すためだけにvoid *でキャストしてないか心配である。

pthread_mutex_tは初期化する時にPTHREAD_MUTEX_INITIALIZERを使うかPTHREAD_RECURSIVE_MUTEX_INITIALIZER_NPを使うかPTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NPを使うかでもいいような気もするが、特に触れていない。pthread_mutex_init()の第2引数でNULLを指定するのもpthread_mutexattr_init()で初期化(デフォルト値)するのも複数環境でまったく挙動の違うアプリが出来上がるのでやめた方が自分の身のためなのだが。

排他がかかっているかどうかのチェックならpthread_mutex_trylock()もあるのだが、特に触れていない。

POSIXにはmutexの他に「読み込み中の読み込み」を許可するpthread_rwlock_tもあるのだが、特に触れていない。

プロセス内の排他であるmutexとプロセス間の排他であるセマフォの区別がついていない。これはすごい。

追記

申し訳ない。そんなに煽るようなつもりはなかった。忘れてくれ。自戒のためにこのエントリは残しておくよ。

amachangには頑張ってpthreadを極めてほしい。

2007-09-14

http://anond.hatelabo.jp/20070914021435

システム機械語レベルの挙動を意識するとどういうところが気になるようになるか、それを現代の環境ではどう教えるか、という点が問題でしょうね。

メモリレジスタ幅(桁数)と情報の規模の関係を意識する - まあ、Oracle は 64bit OS で使えとか、xfs を 32bit OS で使うと(atomic な部分の更新が泣き別れになって)クラッシュ危険が高いとか

API 仕様を意識する - 上の例の続きだけど、パッチのあたってない古い gzip で 2Gbytes 以上のファイルが圧縮できないとか

コードを展開した結果、関数の出入りやインタフェースでどう膨れ上がるか、リソース解放がどれだけ無意味になりうるかを知っている - C++ とかの場合。Tomcatクラスロード(とリソースの確保も -- 追記)で1時間待たされるとかくだらないことが起こるけど、開発効率と運用トレードオフだからなぁ

・(Ruby, PHP, Java などの)VMに頼るべきでない場合が何かを知っている - 速度もだけど、VMバグ持ちの場合、デバッグが困難を極めることもある

ビット操作系のコードを書けないと困る - まあ、ioctl や fnctl で苦労したことがあればどういうものかは判ると思うけど

・(追記)strace とか ldd とかくらい言われる前にやってほしい - 実際 JavaPHP しか知らないと本当にこの辺はできない

・(追記)497(×10^-n)日で落ちた、と言われた瞬間にカーネルバグを疑ってほしい - lbolt 溢れ系のバグは本当にありふれている

いまどきは障害対応系の運用をやったほうがプログラマとしてコード書くよりもこの辺の問題に詳しくなれる気がします。

追記:「こういうこともわからん子供たち」をうまく使って利益を上げる会社と、「こういうこともわからん子供たち」を教えるのにフラストレーションを感じるハッカーがひとりで回している会社、どっちが上記のようなことを学びやすいかというのは難しいところです。SUSv3 (昔のオライリーPOSIX 本でもいいけど)を面白いと思えない人に正直あまり細かいことを学べるとは思えないし‥

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