ブックマーク / okuranagaimo.blogspot.com (8)

  • ネットワークの輻輳は避けられない — 数学で証明

    IEEE Spectrumより。 トラフィック問題を「解決」することが事態が悪化させることもある BY チャールズ・Q・チョイ 高速道路網が交通渋滞に悩まされるように、コンピュータ・ネットワークも輻輳(混雑)に直面することがある。この度の新しい研究で、コンピュータ・ネットワークの遅延を制御するために設計された多くの主要なアルゴリズムが、一部のユーザにすべての帯域を占有させ、他のユーザには実質的に何も提供しないという、極めて不公平なものであることが判明した。 インターネット上でデータを送信するコンピュータやその他の機器は、データを小さなパケットに分割し、特殊なアルゴリズムを用いて、これらのパケットを送信する速度を決定している。これらの輻輳制御アルゴリズムは、同じネットワーク上の他のユーザと共有しながら、利用可能なすべてのネットワーク容量を発見し、利用することを目的としている。 過去10年間、

    programmablekinoko
    programmablekinoko 2022/09/06
    まあお互いに譲り合ってこその輻輳でもあるしなあ…
  • Apple + NeXT、25年前の今日

    25年前の今日、私はNeXTのフィールド・システム・エンジニアで、カナダにいる3人のNeXT社員のうちの1人でした。私たちの家族はペンシルベニア州スクラントンで、生後3週間の赤ちゃんを祖母に紹介しました。 当時、誰も信頼できる携帯電話を持っていなかったので、ほとんどのメッセージングは​​Audixというボイスメールシステムを使っていました。どういうわけか、今だにその番号、1-800-345-5588を覚えています。先日、その番号にダイヤルしてみました。この番号は使われていません。しかし、私は今でもすぐにダイヤルできます。 とにかく、突然のAudixのメッセージが来ました。緊急です。午後2時に全員がダイヤルする必要があります。それが何なのかよく分からないまま、信頼できる固定電話を探しに行ったところ、どういうわけかスチームタウン鉄道博物館の公衆電話にたどり着きました。(とにかく行ってみたかった

    Apple + NeXT、25年前の今日
    programmablekinoko
    programmablekinoko 2021/12/26
    UnixターミナルがMacで動くとは思わんなだよな。90年代では。思想的に真逆だった
  • リチャード・ヒップとのSQLiteの秘話

    CoRecursiveより。 今日の番組では、リチャード・ヒップと、サバイバルが世界の中核インフラになることについてに話します。SQLiteは至る所にあります。ウェブブラウザにも、携帯電話にも、おそらく車の中にも、そして旅客機の中にも間違いなく存在します。iMessagesやWhatsAppのメッセージが保存されているのもSQLiteです。コンピュータで*.dbを検索すると、驚くほど多くのSQLiteデータベースが見つかります。 今日は、リチャードが彼の物語を紹介します。小さなオープンソースのプロジェクトを立ち上げ、それが自分の野心を超えて成長したという話です。そして、テック巨人との関係から、興味深いテスト方法まで、その成功をどこまでも追いかけていく物語です。 注: このポッドキャストは、聞くことを前提としています。可能であれば、ページに記載されていない部分を含めて、音声を聞くことを強くお

    programmablekinoko
    programmablekinoko 2021/07/20
    マシン語レベルで100%のカバレッジは凄い、流石組み込み向け製品… / なんでも自分で作る精神は凄いな。SQLiteの公式サイトの記事は色々とこだわりみたいのがあって面白い
  • 型付けは難しい

    ベン・フィードラーのブログより。 型検査と型推論 型検査とは、あるプログラミング言語で与えられたプログラムを実行し、すべての変数や式が正しい型を持っているかどうかを調べるプロセスです。例えば、文字列は文字列に代入され、算術式は数値のみを使用するなどです。一部の言語では型推論を提供しており、コンパイラに自分で正しい型を見つけるタスクも提供します。言語の特徴に応じて、型検査と型推論の問題は、些細なものから決定不能なものまで様々です。 一般的な用語 完全性 正しく入力されたプログラムを全てチェックできれば、タイプチェッカーは完了です。 健全性 正しく型付けされたプログラムのみを受け付けるものであれば、型検査は健全です。 決定可能性 任意の入力に対して、その入力が問題を満足するかどうかを有限時間で計算できる場合、決定問題は決定可能です。決定可能な問題の例としては、素数判定や充足可能性などがあります

    programmablekinoko
    programmablekinoko 2021/02/24
    Elmは型付可能だが0.5がIntになるバグが現在あるとな・・・ / 結局Idrisみたいに前に苦労するかデバッグで苦労するかでやっぱここでもフリーランチ定理
  • 業界6年目で考えが変わったソフトウェア開発のトピック

    chriskiehlのブログより。 考えを改めたもの 過去の自分なら言い争っていたであろうことが、今では信じられるようになったこと。 様々な経験レベルを持つ人がいるチームで仕事をする場合は、型付き言語の方が適している スタンドアップは、実際に新人を注目するのに役立つ スプリント・レトロスペクティブは、実際の軌道修正のためのものであって(「つまり、なんてこった、うまく行かなかった!」)、皆の時間を無駄にするようなアジャイル/スクラムマスター的なものでない限り、その場に相応しいものである ソフトウェア・アーキテクチャは、おそらく他の何よりも重要である。優れた抽象化のクソみたいな実装は、コードベースに正味の害を与えません。悪い抽象化や欠落したレイヤーは、すべてのものを腐らせる Javaはそれほどひどい言語ではない 巧みなコードは通常、良いコードではない。明瞭さは、他のすべての懸念事項に勝る どん

  • あなたのコンピュータはあなたのものではない

    ジェフリー・ポールのブログより。 ここにあります。それが起こりました。あなたは気付きましたか? リチャード・ストールマンが1997年に予言した世界のことを話しています。コリイ・ドクトロウも警告しました。 macOSの最新バージョンでは、アクティビティのログが送信されたり、保存されたりしない限り、コンピュータの電源を入れ、テキスト・エディタや電子書籍リーダを起動して、文書を書いたり読んだりすることはできません。 macOSの現在のバージョンでは、OSはそれを実行する時に、あなたが実行したすべてのプログラムのハッシュ(一意の識別子)をAppleに送信することが分かりました。多くの人はこれに気づいていませんでした。なぜなら、それは静かで目に見えず、オフラインのときに即座に、そしてうまく失敗するからが、今日はサーバが当に遅くなり、フェイルファストのコードパスにヒットせず、インターネットに接続して

    programmablekinoko
    programmablekinoko 2020/11/15
    今後アップル製品は完全に所有する事ができない、一種のリースだと思った方が良い。まっぴらゴメンだね
  • Googleは、10年のリードを吹き飛ばした

    Second Breakfastより。☹️ Googleがオペレーティング・システムを作っているという噂があった時、私は「やっぱり」と思いました。 その後、当時のサンダー・ピチャイPMChrome OSを発表するのを見て、心臓は高鳴りました。それは完璧でした。 Gmailでメールを受け取り、Docsでドキュメントを書き、Pandoraを聴いて、TheFacebookで写真を見る。なぜ、Windows Vistaの全てが必要なのでしょうか? 2010年には、2020年までにChrome OSが世界で最も普及しているデスクトップOSになると予測しました。速くて、軽くて、そしてタダ(0ドル)でした。 「すべてのWindowsとOS Xのアプリはブラウザ用に再構築されるだろう!」と思いました。Outlook → Gmail。Excel → Sheets。Finder → Dropbox。Phot

    programmablekinoko
    programmablekinoko 2020/06/28
    逆に言うとそこまで深くワークスタイルを追求しないものにとってはGoogleでちょうどいい / とはいえYoutubeはいろいろしんどくなっている
  • オブジェクト指向プログラミング -- 1兆ドル規模の大失敗

    CodeIQのブログより。🤔 なぜ、OOPから移行する時なのか Ilya Suzdalnitski OOPは、多くの人にコンピューターサイエンスの重要資産と考えられています。コード構成(code organization)に対する究極のソリューション。すべての問題の終焉。私たちのプログラムを書くための唯一の当の方法。自分自身をプログラムするという真なる唯一神から私たちに授けられました… それまでは、そうではなく、抽象化の負担、そして無差別に共有されるミュータブルなオブジェクトの複雑なグラフによって、人々は屈し始めています。現実世界の問題を解決するのではなく、「抽象化」と「デザインパターン」について考えるのに貴重な時間と頭脳が費やされています。 非常に著名なソフトウェアエンジニアを含め、多くの人々がオブジェクト指向プログラミングを批判してきました。驚くことに、OOP自身の発明者でさえ、今

    オブジェクト指向プログラミング -- 1兆ドル規模の大失敗
    programmablekinoko
    programmablekinoko 2019/07/24
    とはいえ完全に手続き型を捨てて関数型言語に移行できるとは思えないので(ノイマン型は最終的には手続き型)、関数型言語の要素が入った手続き型言語が現実的な落とし所では(つまり現在主流のほぼ全ての言語)
  • 1