ITの䞖界からの奜奇心倒錯-3

Daily WTFの Webサむトでは、14幎にわたっおITの䞖界からおもしろくおワむルドで悲しい物語を収集しおいたす。 私は面癜いず思われるいく぀かの物語を翻蚳したした。 すべおの䌚瀟名ず名前が倉曎されたした。 以前の問題は、「 curious perversions 」ずいうラベルの䞋にありたす。



画像






最初のストヌリヌ「玠晎らしいだけではない」



[ オリゞナル ]



私たちは皆、仕事をするこずができなかった同僚がいたした。 ゞャラドも幞運でした。



圌はInitechの小さなグルヌプの開発者で働き、Windowsクラむアントを䜿甚しおサヌバヌずやり取りする顧客向けにWindowsクラむアントを䜜成したした。 同瀟は、アプリケヌションを.NETからJavaに移怍するこずを決定したした。 最も重芁なガむドは、Intelligenuityの非垞に尊敬されおいる䞻芁なJava開発者Kishaをプロゞェクトマネヌゞャヌずしお掚奚しおいたす。 「心配しないでください」ず経営陣は蚀いたした。 「知胜は最も優秀なプログラマヌを雇うだけです。」



最初のプロゞェクト䌚議で、マネヌゞャヌはJavaプロゞェクトにEclipseを䜿甚するず発衚したした。 Kishaは次のように述べおいたす。「私はEclipseを持っおいたせん。 誰かが送信できたすか」Jaradは圌女にリンクを送信したした。 次の䌚議で、圌は圌女にEclipseをむンストヌルしたかどうか尋ねたした。 圌女は、メディアをダりンロヌドできないず答えたため、次の䌚議で助けを求めるのを埅っおいたした。 マネヌゞャヌは車に走り、ダりンロヌドリンクをクリックしお問題を解決したした。



次の䌚議に早送りしたす。Kishaは、「EclipseにはJDKに問題があるので、誰かが私にそれを送るこずができたすか」ずJaradが圌女に再びリンクを送りたした。 数日埌の次の䌚議で、圌女は「Eclipseはjarファむルが必芁なため機胜したせん。誰かがそれを送信できたすか」ず蚀いたした。その埌、「Eclipseは垞に、 NullPointerException



に぀いお "



最埌に、マネヌゞャヌは䌚議の構造を倉曎したした。 圌らは通垞のWindowsクラむアント䌚議を継続したしたが、Kishi専甚の個別の䌚議を远加したした。 時間が経぀に぀れお、圌女ず圌女の倫は非垞に高䜍のリヌダヌず圌の劻の友人であるこずが刀明したした。 「その成功を保蚌する」ために別の䌚議が開催されたした。 これは、チヌムマネヌゞャヌが圌女のためにコヌドを曞いたこずを意味したす。



Kishaはか぀おマネヌゞャヌに、クラむアントにはWebポヌタルに重倧な問題があり、問題を解決するためにクラむアントずの䌚議をできるだけ早く開催する必芁があるこずを䌝えたした。



マネヌゞャヌは、クラむアント自身、岞、ゞャラド、プロゞェクトマネヌゞャヌずのミヌティングを開催し、問題を完党に解決したした。 䌚議圓日、クラむアントはテクニカルサポヌトスタッフずマネヌゞャヌの数に驚きたした。 圌は次のように説明したした。「ええず 「ポヌタルの問題」は、私がKishaにWebポヌタルのURLを尋ねたこずでした。 圌に手玙を送るだけで十分でした。」



時々この䞖界で正矩が起こり、結果ずしおキシャは仕事を倱いたした。



2番目のストヌリヌ「3か月のかゆみ」



[ オリゞナル ]









2016幎3月、 むアンは仕事を必芁ずしおいたした。 怜玢の開始盎埌、圌は幞運だった。圌は、Pythonアヌキテクチャず蚭蚈スキルの知識を持぀劎働者を必芁ずする小さなスタヌトアップを芋぀けた。 「小さな」のは、Ian以倖に、創業者のJackが率いる開発者が3人しかいなかったためです。



むアンずのむンタビュヌはゞャック自身によっお行われたした。 技術的なテストの埌、圌は䌚瀟のプロゞェクトに぀いおより倚くを孊びたしたiOSアプリのほが完党なプロトタむプ。 ナヌザヌは自分の携垯電話を手銖の心拍数モニタヌず同期し、その埌、携垯電話はナヌザヌの珟圚のアクティビティに䞀臎する音楜を再生する必芁がありたす。 アプリケヌションの䞻な目的は、トレヌニング䞭に必芁なパルスを達成するのを支揎するこずでした。 このアプリは、携垯電話の加速床蚈を䜿甚しお、運転䞭のナヌザヌのペヌスを远跡したした。 ゞャックによるず、これらのデヌタはパヌキン゜ン病の研究に圹立぀はずでした。 圌は最高の倧孊からの科孊論文で声明を支持したした。 Jackは、Ianにデヌタストレヌゞずク゚リ凊理のための新しいバック゚ンドシステムを開発しおほしいず考えたした。



ゞャックは友奜的でカリスマ性があり、圌の熱意は他の人に感染したした。 むアンはすぐに申し出を受け入れ、翌日働くようになりたした。 圌の事務所はcr屈だったが、それでも圌だけのものだった。 圌の仕事は、アプリケヌションに必芁なバック゚ンドを䜜成するこずでした。



二週間が経ちたした。 ある月曜日の早朝、ゞャックは開発チヌムを䌚議宀に招埅したした。 圌のPowerpointプレれンテヌションからのたぶしさは、網膜を燃やしたした。



「泚意深く考えたした。 私たちは党く新しいスタヌトアップです。 誰も私たちのこずを知りたせんよね ブランドの認知床を高めるために䜕かをする必芁がありたす 。 だから、私は決めたしたアプリケヌションの音楜郚分を取り陀き、デヌタ収集のみに焊点を合わせたす。」



むアンは本胜的にほずんど「䜕」ず蚀った。圌らは2週間の仕事の結果を捚おなければならない。 たた、以前は、デヌタ収集郚分は完党にオプションでした。



ゞャックは別のスラむドに切り替えお、各ナヌザヌの珟圚の远跡指暙を瀺したした。 それらの倚くがあったので、最小のフォントを䜿甚しなければなりたせんでした。 読むために、むアンは目を现めなければなりたせんでした。



「十分な倧きさの干し草の山を組み立おるず、確実に針が珟れたす」ずゞャックは蚀いたした。 「私たちはアプリケヌションを無料にし、それず連携するこずは必須の登録を意味したす。 私たちの本圓の収入は、収集されたデヌタになりたす。」



投資家の資本は、垂内のビゞネスセンタヌにある豪華なオフィスに費やされたした。 無料のアプリ開発者は最高に倀するだけです。 Jackは、2番目のiOS開発者であるデヌタサむ゚ンスおよびむンタヌンを雇いたした。



「しかし、むンタヌンに重芁な仕事を䞎えないでください 」ずゞャックはフルタむムの埓業員に語った。



新しい状況をマスタヌしたむアンは、必芁なすべおのデヌタを蚘録する新しいシステムのアヌキテクチャの開発を始めたした。



3か月埌、ゞャックはすべおを箱に捚おたした。 「アプリケヌションはありたせん 開発の新しい方向が必芁です」



ゞャックの新しいビゞョンは、トレヌニングやその他の掻動䞭に、倢の䞭で聞く楜曲を瀺す必芁のあるりェブサむトを䜜成するこずでした。



「人々は自分自身に぀いお話すのが奜きです」ずゞャックは蚀いたした。 「私たちは圌らが私たちにデヌタを提䟛したずいう事実に察しお圌らにお金を払うべきではありたせん」



フロント゚ンド開発者がりェブサむトを䜜成するために雇われたした。 サむトを立ち䞊げお間もなく、ゞャックは投資家に察しお、100䞇のナニヌクビゞタヌに到達したず自慢したした。 実際、登録は玄300件のみで、その半分は1人が䜜成したした。



3か月埌に䜕が起こったかはすでに掚枬できたす。 ゞャックはゆっくりず開発䞭のWebサむトを攟棄しお、 "Play ${song} by ${artist}"



コマンドに応答するはずのSlackボットを支持し、Spotifyで曲を芋぀けおリンクを提䟛したした。 Spotifyりィゞェットは30秒のプレビュヌを再生するか、ナヌザヌがSpotify Premiumアカりントを持っおいる堎合は曲党䜓を再生したす。



「それだけですか どのようにお金を皌ぐのでしょうか」-この瞬間たでに、開発者はもはや䞻匵を抑制しおいたせんでした。



「サブスクリプションは支払われたす」ずゞャックは倧胆に答えたした。



「 チャットボットの堎合」 「むアンは反察した。 「完党に機胜させるには、ナヌザヌは既にSpotify Premiumを必芁ずしおいたす。 人々にこれ以䞊の支払いをしおもらいたい堎合は、もっず倚くの機䌚を䞎える必芁がありたす」



「これに぀いおは埌で察凊したす」ずゞャックは答えたした。



ゞャックは、6か月前にゞャックの芁件に違反しお、むンタヌンに䌚瀟の新しいコア補品の開発を䟝頌したした。 むンタヌンは最倧限の努力をしたしたが、すぐに孊校に戻るこずを䜙儀なくされたした。 匏のない䞍完党なコヌドは、修正のためにフロント゚ンド開発者に投げられたした。 iOS開発者の䞀人の助けを借りお、圌はそれを完成させたした。 むアンは䜕をしおいたしたか ゞャックは努力を正圓化するのに十分なナヌザヌを匕き付けるず䞻匵したため、圌はダッシュボヌドずログを䜜成したした。



さらに3か月が経過したした。 倚くの「機胜」が远加されたした。たずえば、ボットはSlackチャンネルのナヌザヌに匷匕にそれを䜿甚するように芁求したした。 この動䜜はSlackの䜿甚条件に違反しおいるため、アプリケヌションはストアに入れられたせんでした。 ゞャック自身は、関心のある人にリンクを送信する必芁があったため、手動でむンストヌルしたした。 最初、この補品は、ゞャックが個人的に知っおいた50の「非垞に友奜的な」䌁業に譲枡されたした。 これらのうち、ごくわずかしかむンストヌルしおいたせんでしたが、翌日も䜿甚し続けたものはさらに少なくなりたした。 その埌、ゞャックは広告を300の「友奜的な」䌁業に拡倧したしたが、同じ結果になりたした。



Ianが仕事で他の開発者を助けるこずができなかったずいう事実にもかかわらず、ゞャックが远加の劎働時間を䞻匵し始めたずき、タヌニングポむントが来たした。 しかし、ゞャックは「連垯を瀺す」ために遅くたで圌を匷制的に滞圚させたした。 これが最埌のストロヌでした。むアンは2週間埌に蟞任状を曞きたした。 圌の職堎での最埌の日は、Slackボットのリリヌスず䞀臎し、その間、ダッシュボヌド䞊で非垞に盎線を芳察したした。 圌が最終的に豪華なオフィスを去ったずき、スタヌトアップはただ圌の最初のセントを獲埗したせんでした。



幞いなこずに、ゞャックには蚈画がありたした。 むアンが去った埌、圌はれロから始めお、新しい補品を䜜成しようずしおいたした。 いいえ、圌はお金を持っおいたせんが、圌らは最初にブランドに぀いお知る必芁がありたす。



3番目のストヌリヌ「バックアップコンベダヌ」



[ オリゞナル ]



「ええず...あなたは私のために䜕かを芋るこずができたすか」



パットは新機胜のプログラミングから調べおみるず、ミルトンのキュヌブが圌女の近くに立っおいるのを芋たした。



「問題があるず思う」ずミルトンは付け加えた。



䌚瀟の䞻芁な内郚システムの1぀は、デヌタ凊理パむプラむンでした。 おそらく、「パむプラむン」ずいう蚀葉は誇匵ず芋なすこずができたす。実際には、ファむルからデヌタを抜出し、このデヌタを䜿甚しお操䜜を実行し、結果を他のファむルにダンプし、他のスクリプトによっお読み取られるのはほんの数個のシェルスクリプトずPythonプログラムであるためです 䜜業の過皋で、人々は通垞、バヌゞョン管理システムからスクリプトの最新バヌゞョンを取埗し、デヌタに関連する特定の質問に答えるように修正および調敎したした。 この特定のプロセスに䟡倀があるず思われる堎合は、コヌドをクリヌンアップし、バヌゞョン管理システムに远加し盎したした。 コヌドが䞍芁になったず考えた堎合、単玔にHEADにリセットしたす。



ただし、ミルトンのような䞀郚のナヌザヌは、基本的にすべおのスクリプトの独自のコピヌを保持しおいたす。 たたは、ミルトンの堎合のように、いく぀かのコピヌ。 ミルトンは䜕よりもデヌタ凊理パむプラむンを知っおいたしたが、この知識の倧郚分は個人のスクリプトラむブラリに含たれおいたした。



「バヌゞョン管理システムに倉曎を加える䟡倀があるず思いたした」ずミルトンは蚀いたした。 「スクリプトによっお呌び出されたスクリプトによっお呌び出されたスクリプトがあり、それはすべお、たずえば$SETUP_DIR



ように、䜜成されたシェル倉数の束に䟝存しおいたした。」



パットはうなずいた。



「だから、他の人がコヌドを䜿甚できるように、これらすべおを匕数に再線成したかった。 私はそうしたした...しかし、テストする前に、匕数を枡すように呌び出しスクリプトを倉曎するのを忘れおいたした。



特に、ミルトンのスクリプトには次の行が含たれおいたした。



#!/bin/sh



rm -rf $SETUP_DIR/*/








圌はそれを次の行にリファクタリングしたした。



#!/bin/sh



rm -rf $1/*/








シェルスクリプトは、これらの倉数の存圚を気にしたせん。 ミルトンには氞続的な$SETUP_DIR



。 ただし、 $1



が最初の匕数であり、匕数を枡さない堎合は空になりたす。 したがっお、匕数なしで起動された新しいMiltonスクリプトはrm -rf /*/



にデプロむされ、圌のアカりントがアクセスできるすべおのものを削陀したした。



基本的に、これは圌が暩利を持っおいないファむルを削陀しようずする倚数の詊みに぀ながりたした。 さらに、これは、バヌゞョン管理に入らなかったために再䜜成するのが完党に䞍可胜であったスパゲッティスクリプトの束がたくさんあるホヌムディレクトリの消倱を意味したした。



「これはどういうわけか修正できたすか」ミルトンは尋ねた。



「ええ、もちろんです。 最埌のバックアップからすべおを埩元できたす」ずパットは蚀いたした。



自動バックアップツヌルはすべおのWindowsシステムで起動されたしたが、Linuxシステムでは構成されおいたせん。 サポヌト郚門は、Linuxを䜿甚しおシェルスクリプトを䜜成する技術的な胜力があれば、独自のバックアップシステムを構成するのに十分な知識があるず考えたした。 特にこの目的のために、すべおの人にずっおアクセス可胜なSANがありたした。



「ああ、私は...決しおバックアップを蚭定したせんでした」ずミルトンはささやいた。 「たあ...少なくずもプッシュしなかった」



パットは、ミルトンがこの間違いから正しい教蚓を孊ぶこずを望んだ。



4番目のストヌリヌ「浮動小数点ずは」



[ オリゞナル ]



画像






初心者プログラマヌには倚くの萜ずし穎がありたす倉数の宣蚀ず初期化の違い、行を完成させるためにセミコロンを䜿甚する必芁性、゚ラヌを1぀盞殺する必芁がありたす...倢ですが、私たちは独孊で埌茩を芋たした。圌らはかろうじお基本を習埗し、それだけで十分だず思っおいたした。 最終的に、卒業蚌曞ず正匏な教育が理由で必芁になりたす。



この物語は、 オラフが倧孊を卒業し、「研修生プログラマヌ」ずしお圌の最初の本圓の仕事で働いたずきに始たりたした。 同瀟は、州のヘルスケアシステムのガバナンスを改善するずいう目暙を定めおいたす。ヘルスケアシステムず通信するこずに疑念を抱いおいる人なら誰でも、これは高貎な仕事だず蚀うでしょう。 しかし、䌚瀟はPHPの衚面的な知識しか持っおいない医垫によっお蚭立され、時間が䞎えられたずきに圌は独自に研究したした。



オラフは、デザむンパタヌンの知識を応甚するこずを目指しお仕事を始めたした。 PHPは簡単に習埗できたすが、習埗するのは困難です。 PHPで䜜成された゜フトりェアの倚くの䟋では、ゎッドオブゞェクトが䜿甚され、コヌドがプレれンテヌションず混合されおいたす。2぀の重倧な゚ラヌですが、ほずんどのオンラむンチュヌトリアルでは蚀及されおいたせん。 Olafは関数をフォヌムから分離し、繰り返し䜿甚しおコピヌず貌り付けを最小限に抑えるこずができるオブゞェクトを䜜成し始め、他の同様のタスクに埓事し、喜んで圌に枡されたコヌドの混乱を敎理したした。



そしお、圌は銖長のオフィスにいるこずに気付き、圌は自分で掗うように手配したした。



「他のプログラマはこれを理解しないだろう」䞊叞に叫んだ。 「コヌドが耇雑すぎたす。 なぜ倉曎するのですか それは機胜したす、あなたはそれを残さなければなりたせんでした」



萜胆しお、Olafは仕事に戻り、䜕も倉曎せずにクリヌンバヌゞョンをメむンブランチにアップロヌドしたした。 悪い習慣ずの衝突を避けようずしお、圌は課金に関連しおいるため、高い優先床ず緊急性を持぀䌚蚈システムのバグに取り組み始めたした。 ナヌザヌは、費甚に関する情報を含むCSVファむルをサヌバヌにアップロヌドするこずができ、システムは倀をカテゎリ別に集蚈し、請求レポヌトを䜜成したした。 ただし、内郚のどこかで䞞め誀差が入り蟌み、重芁な境界ケヌスの䞀郚が誀った量になりたした。



オラフは同僚よりも倚くのこずを勉匷したしたが、包括的なトレヌニングはありたせん。 圌は、それが浮動小数点の数孊的゚ラヌであるずすぐに刀断したした。 10進数は完党な粟床でバむナリ圢匏で衚珟できないため、境界の堎合、蚈算゚ラヌが発生したした。 圌は、PHPで小数倀を凊理する正しい方法を探し始めたした。 NodeやCずは異なり、PHPの倖郚ラむブラリは接続が非垞に困難です。この蚀語にはパッケヌゞ管理の組み蟌みサポヌトがないためです。 圌は、数孊挔算を正しく実行できるラむブラリを远加する方法を理解できたせんでした。 ゜フトりェアは合蚈のみを蚈算するため、Olafは敎数挔算を䜿甚するこずを決定したした倀をカりントし、小数点を取り陀き$ 10.50の倀が1050ずしお衚されるように、蚈算を実行し、衚瀺時に小数点を再床远加したす。



別のゞュニアがこのアむデアを気に入りたした。 䞊玚開発者はそれを承認したしたが、チヌフはきっぱりず申し出を拒吊したした。 圌はこれに぀いおどのように議論したしたか 「これは浮動小数点゚ラヌではありたせん。 PHPのタむピングが匱いために発生し、プログラムは倀を数倀ではなく文字列ずしお合蚈しようずしたす。



奜奇心が匷い人向けPHPは文字列を連結するために+挔算子を䜿甚したせん。代わりに、「。」を䜿甚したす。 "hello " . "world"



の結果"hello " . "world"



は"hello world"



たす。



その結果、シニア開発者はこの決定を実珟したした。10.50ドルが10.00ドルず0.50ドルに倉わるように、郚分党䜓を小数郚分から分離し、各郚分を個別に芁玄したす。



プログラムは浮動小数点数ずしおセントを含む小数郚分を凊理したため、Olafはバグがただ残っおいるこずを芋぀けるたで埅機したせんでした。 圌はより良い蚀語でより良い仕事を芋぀け、䌚瀟を蟞めたした。



画像






5番目のストヌリヌ「蚈算されたセキュリティ」



[ オリゞナル ]



80幎代埌半、 カヌルはしばらくの間、軍甚および民間の顧客向けに航空電子工孊ず党地球枬䜍システムを扱う゜フトりェア開発䌚瀟で働いおいたした。 ビゞネスでは、圌はしばしば米陞軍向けの新䞖代の戊闘機を開発する契玄を結んでいる顧客であるシュロックディヌド瀟を蚪問したした。 圌らの仕事は厳重に守られおいるため、安党を確保するこずが非垞に重芁でした。



カヌルは䌁業に出入りするたびに、セキュリティ郚門を通過する必芁がありたした。 そこで圌はブリヌフケヌス、ゞャケット、匁圓箱、䜓腔の完党な研究を陀くほずんどすべおを泚意深くチェックしたした。 Schlockdeedでは现心の泚意を払った日々のチェックにもかかわらず、圌らの「セキュリティ察策」のいく぀かは䞍条理に接しおいたした。



フロッピヌを介しお情報を送信するこの時代では、プログラマヌはしばしば圌らず䞀緒に仕事に持ち出し 、そこからフロッピヌディスクの入った箱を取り出したした。シュロックディヌドは、圌らの秘密を盗むための最も簡単な方法であるにもかかわらず、かなりリラックスしたドラむブポリシヌを持っおいたした。カヌルのような請負業者は、䌝蚘デヌタを確認した埌、「メディアパス」を䞎えられたした。それは、圌らが䜕のフロッピヌディスクでも問題なく実行し、建物に持ち蟌むこずを可胜にしたカヌドでした。



カヌルの仕事は、お気に入りのHP-41CX電卓をオフィスに持ち蟌むこずを決定するたで、䜕も圱になりたせんでした。圌らは耇雑なアルゎリズムに取り組み、ボヌド䞊で方皋匏を曞くのに時間がかかりすぎたため、カヌルはプロセスを高速化するこずを望んでいたした。朝の怜査で、譊備員のビルはHP-41CXを取り出し、心配そうな衚情がすぐに顔に珟れたした。



ビルは肩のトランシヌバヌに手を䌞ばしたした。「ポヌリヌ、君が必芁だ。ここには難しい状況がありたす。」カヌルはずおも混乱しおいたした。 41CXは爆匟で䜿甚されたこずがありたすかそれずも、これは4月1日の抜遞ですか 「先生、私たちをCIOに送る必芁がありたす。ここに来お」ずビルは蚀った。



カヌルの顔はきらめき、圌が抱えおいた問題を理解しようずしおいたした。これらの「問題」が手錠や投獄を容易に匕き起こす可胜性があるためです。たた、最高情報責任者が远加の怜査を実斜する理由を理解しおいたせんでした。ビルは圌をポヌリヌのオフィスに連れお行きたした。そこには、80幎代のスタむルの口ひげを持぀たくたしい男がいたした。圌の机の䞊のタブレットは、電卓怜査官だず蚀った。



「バディ、私はあなたのマシンを芋お远加する必芁があるだろう」ずポヌリヌは手を䌞ばしお蚀った。ビルは圌にHP-41CXを枡したした。ポヌリヌは泚意深く圌を調べお蚀った「私は圌を没収しなければならない。ご芧のずおり、内郚メモリがあるため、朜圚的に秘密を盗むために䜿甚できたす。䞀日の終わりに、私はあなたにそれを返したすが、再びそれに萜ちるこずさえ考えないでください」ビルはすでに蚈算機なしで䞻芁なセキュリティ郚門にカヌルを連れ戻したした。



途䞭で、ビルはプログラム可胜な蚈算機は建物内では厳しく犁止されおいるず説明したした。ポヌリヌはこの方針の実斜を監芖しなければならず、圌の仕事を非垞に真剣に受け止めたした。カヌルが電卓を持ち蟌む必芁がある堎合、最も単玔なモデルが蚱可されたした。Paulieの承認埌、ACApproved Calculatorラベルが貌り付けられたため、圌は電卓に入るこずができたした。圌はHP-41CXを倱ったこずに倱望し、シュロックディヌの生涯にわたっおチョヌクダストを吞わなければならないずいう事実に蟞任したした。しかし、少なくずも圌は、フロッピヌディスクの無料の゚ントリず削陀のための「メディアパス」を持っおいたす。



All Articles