yhorizのブックマーク (209)

  • Python普及しろ協会に入会したい

    この記事はタナイ氏によるPython滅ぼす協会に入会したいを読んでから執筆したものです。 この記事の趣旨はPython滅ぼす協会に入会したいに対する反論という形をとりながら、タナイ氏により「バカの言語」と揶揄され、「使ってエンジニアを名乗るというのは」「滑稽」とまで言われたPythonの立場を再考することです。 追記 記事は「Pythonはこれだけ優れた言語だからみんな使おう!」というものではなく「言うほど酷くないと思うよ」程度のものです。 型アノテーションがあるからと言って静的型付けを軽視しているわけでもなければ、map関数をもってmapメソッドを不要だと言っているわけでもありません。 この記法は嫌い〜この記法が好き〜と表明することは個人の自由ですが、同様に「この記法は実はこういう意味があって〜」という意見があればそれを聞いた上で、物事を判断して欲しいです。もちろん、聞いても意見が変わ

    Python普及しろ協会に入会したい
    yhoriz
    yhoriz 2024/04/04
    1.と4.では "one obvious way" を引き合いに出すのに3.では似たような機能を持つ4つの非自明な方法を提示し7.では各自が気を付けろと言う これに限らず全体的に場当たり的主張をこじつけているように見えてしまうな
  • 鍵生成には暗号論的に安全な乱数を使おう

    SSHの鍵生成には暗号論的に安全な疑似乱数を使おうという話。 暗号論的に安全ではない疑似乱数がどれだけ危険かというのを、簡単なCTFを解くことで検証してみました。 背景 SSH公開鍵に自分の好きな文字列を入れる、という記事を読みました。 かっこいいSSH鍵が欲しい 例えばこのSSH公開鍵、末尾に私の名前(akiym)が入っています。 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFC90x6FIu8iKzJzvGOYOn2WIrCPTbUYOE+eGi/akiym そんなかっこいいssh鍵が欲しいと思いませんか? かっこいい!真似してみたい! そこまではいいんですが、問題は実装です。 秘密鍵を生成する際の乱数生成には高速化のために Goのmath/randを使っていますが、乱数が用いられるのは公開しない秘密鍵自体であり、このアルゴリズム自体はLagged Fib

    yhoriz
    yhoriz 2024/03/29
    種空間の大きさだけでなく数学的構造に基づく攻撃等々も問題で、CSPRNGはこれらについて最善の努力が専門家によりなされている 問題を軽視しているブコメが散見されるが「暗号はメチャ難しい」という無知の知が大事
  • かっこいいSSH鍵が欲しい - アリ

    例えばこのSSH公開鍵、末尾に私の名前(akiym)が入っています。 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFC90x6FIu8iKzJzvGOYOn2WIrCPTbUYOE+eGi/akiym そんなかっこいいssh鍵が欲しいと思いませんか? ed25519のSSH公開鍵の構造 SSH鍵の形式にはRSAやDSA、ed25519などがありますが、最近のssh-keygenではデフォルトでed25519の鍵を生成するということもあり、ed25519を利用していることを前提として進めます。なにより、RSAの公開鍵に比べると短いので末尾部分が目立つはずです。 そもそも、ed25519のSSH公開鍵のフォーマットはどのようなものになっているか確認してみます。まずはssh-keygenコマンドで秘密鍵と公開鍵を生成します。 % ssh-keygen -t ed25

    かっこいいSSH鍵が欲しい - アリ
    yhoriz
    yhoriz 2024/03/25
    鍵生成は決定的だから鍵の無作為性=種の無作為性で、非CSPRNGでいいわけない!"乱数が用いられるのは公開しない秘密鍵自体"の文言からも公開鍵暗号自体の理解が怪しそうだし、暗号系は絶対DIYしてはいけない
  • 「才能の民主化」に対し「ITエンジニアは日本語が話せないから仕方ない」の声

    しゃいん @shine_sann 情報系の人たちが、「バカでもできるようになる」くらいの意味で「民主化」って単語を誤用しているらしいですね。まあ、情報系って、理系の中でも、プログラム言語しか話せず、日語を話せるバイリンガルの少ない分野ですからね。仕方ない仕方ない。許してあげてください。 2024-03-21 15:20:35

    「才能の民主化」に対し「ITエンジニアは日本語が話せないから仕方ない」の声
    yhoriz
    yhoriz 2024/03/23
    「英語に対して適切な訳語を選択する能力」が日本語力(と英語力)の問題でなければ何だというのか
  • アラスカ航空機事故でボーイング社監査 不合格多数(テレビ朝日系(ANN)) - Yahoo!ニュース

    アラスカ航空機の機体のパネルが飛行中に脱落した問題で、機体を製造したボーイング社と関連会社の監査が行われ、3割以上の項目で不合格だったことが分かりました。 今年1月、アラスカ航空のボーイング737-MAX9型機の側面のパネルが飛行中に脱落した問題で、FAA(アメリカ連邦航空局)が6週間にわたって製造ラインの監査を行いました。 ニューヨーク・タイムズによりますと、ボーイング社は89項目中33項目で不合格、ボーイング機の胴体を製造するスピリット・エアロシステムズ社は、13項目中7項目で不合格となりました。 スピリット社の整備士が、ドアの密閉具合を確認するのにホテルのカードキーを使ったり、潤滑油の代わりに器用洗剤を使うなど、ずさんな管理の実態が浮かび上がっています。

    アラスカ航空機事故でボーイング社監査 不合格多数(テレビ朝日系(ANN)) - Yahoo!ニュース
    yhoriz
    yhoriz 2024/03/13
    このレベルが放置されてきたザルさ加減だと、ボーイングとMRJの型式証明審査が本当に同じ基準で公正に行われていたか疑われてもしかたないよね
  • 「p値とは何か?」を説明できますか - ai_math_runningのブログ

    この記事の概要 p値を理解するには統計学の基礎知識が必要 統計学は「自然界の現象にはばらつきがあり」「測定値には誤差がある」から必要 知りたい事・言いたい事に対し「逆の事」を考える その「逆の事」が正しい確率がp値 p値が十分に小さければ「逆の事」は滅多に起こらないので「言いたい事」が言える この記事の概要 この記事のお題 p値の説明に必要な事 統計学はなぜ必要なのか? 言いたい事を言うために逆の事*1を考える 「p値」とは「逆の事」が正しい確率 この記事のお題 今日のお題は、こちらの記事についてです。 diamond.jp まず、その前に、この記事の前の記事が素晴らしかったんです。 【「0.05」の謎】統計学好きでも意外と知らない「統計的に有意」の当の正体 | Science Fictions あなたが知らない科学の真実 | ダイヤモンド・オンライン なので、その記事のブクマに次のよう

    「p値とは何か?」を説明できますか - ai_math_runningのブログ
    yhoriz
    yhoriz 2024/03/05
    "「p値」とは「逆の事」が正しい確率"いや全然違う。 p値は「帰無仮説が正しい場合今の事象がどれだけレアだったか」だから仮にp=0.8でも「帰無仮説を否定できない」だけであって「帰無仮説が80%正しい」わけじゃない
  • 詳解 Rustアトミック操作とロック

    Rustでは並行性を持つプログラムを安全に記述することができます。書はその並行プログラムの基盤となる、アトミック操作とロックの仕組みについての理解を深め、より安全で効率の良いコードを書くための指南書です。難解だと思われがちなアトミック処理、ロック、メモリオーダリングのような低レイヤを詳細に理解し、アーキテクチャやOSによる相違を知ることで、安全で高性能な並行処理プログラムを実装できるようになります。Rustユーザはもちろん非ユーザにとっても低レイヤプログラミングの優れたリソースとなる一冊です。 序文 まえがき 1章 Rust並行性の基 1.1 Rustのスレッド 1.2 スコープ付きスレッド 1.3 所有権の共有と参照カウント 1.3.1 static 1.3.2 リーク 1.3.3 参照カウント 1.4 借用とデータ競合 1.5 内部可変性 1.5.1 Cell 1.5.2 RefC

    詳解 Rustアトミック操作とロック
    yhoriz
    yhoriz 2023/10/29
  • お部屋のインテリアにピッタリ→「ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ」

    吉沢ぽわ @Yoshizawaniki @koutyakizoku ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ 2023-10-20 23:17:05 ハンカチ @koutyakizoku @Yoshizawaniki あ”あ”あ”あ”ああああああああああああああああああああああああああああ”あ”ああああああああああああああああああああああああああ”あああああああああああああ”あ”あ”! 2023-10-20 23:18:28

    お部屋のインテリアにピッタリ→「ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ」
    yhoriz
    yhoriz 2023/10/23
    デーモンコアの犠牲者は原爆製造という人類最悪級の犯罪に加担している上に、自身が危険性を熟知した上で故意に周囲を危険に晒したのだから、当然非難と揶揄に値するのでは
  • 「汚れの落とし方」を科学で分析。「洗浄技術の研究者」に教わる、汚れとの戦い方 | となりのカインズさん

    大矢勝 1957年、神戸市生まれ。大阪市立大学大学院生活科学研究科(修士)修了。泡で洗う洗濯機の開発研究で学術博士の学位を取得。短期大学講師を経て1990年より横浜国立大学助教授、2008年より同大学教授となり、2023年現在は名誉教授。洗浄技術・試験法、洗剤の環境影響・安全性、消費者情報などの分野の研究に従事し、洗浄技術や洗剤に関する多数の著書の執筆も行う。

    「汚れの落とし方」を科学で分析。「洗浄技術の研究者」に教わる、汚れとの戦い方 | となりのカインズさん
    yhoriz
    yhoriz 2023/09/19
  • 日本最大のプログラミングコンテストサイトAtCoder 中高生に特化した学校対抗リーグ「AtCoder Junior League」開催にかける思いとは

    最大のプログラミングコンテストサイトAtCoder 中高生に特化した学校対抗リーグ「AtCoder Junior League」開催にかける思いとは 国内最大級※、世界でも3大コンテストのひとつと言われる競技プログラミングコンテストサイトAtCoderは、2023年の春から参加者を中高生に絞った新たなリーグ「AtCoder Junior League(以下、AJL)」を開催しています。学生に特化したリーグを始めた理由、現在の状況や今後の展望など、AtCoderの創業者であり代表取締役社長の高橋直大さん(chokudai)ならびに、AJLの運営担当者であるかえでさん(kaede2020)に聞きました。 ※2023年4月時点で、日人登録者数236,585名、外国人登録者数264,731名 https://prtimes.jp/main/html/rd/p/000000038.000028

    日本最大のプログラミングコンテストサイトAtCoder 中高生に特化した学校対抗リーグ「AtCoder Junior League」開催にかける思いとは
    yhoriz
    yhoriz 2023/09/11
  • 静的解析ツールで生まれたSQLインジェクション | ドクセル

    自己紹介 小川 経歴 ~2009: Webアプリ開発のバイト&業務委託 2009~2019: 三菱重工 イット何も関係ない。野良のパソコンの大先生してた 2019~いま: root ip B2BのSaaS作ってます PHPVue分かる人来て!!1 面白かった脆弱性 - CVE-2023-22727 PHPフレームワーク CakePHP 4 のSQLインジェクション脆弱性 ORM limit(), offset() でSQLi CVSS v3 9.8 2023/01に修正済み CakePHPLaravelの次に使用率高いフレームワーク(多分) 割と使いやすいからお勧め 一般にコード品質が上がる静的解析ツールの使用で逆に発生

    静的解析ツールで生まれたSQLインジェクション | ドクセル
    yhoriz
    yhoriz 2023/09/05
    コードの意味を変える「修正」提案をしちゃうのは普通に解析ツールのバグなのでは
  • OS自作で変わったOSを見る目 | A Journey Towards Boundless Knowledge

    A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team

    OS自作で変わったOSを見る目 | A Journey Towards Boundless Knowledge
    yhoriz
    yhoriz 2023/08/19
  • MySQLとOracleの実行計画を比較してみた - ASMのきもち

    まいえすきゅーえりたい ぽすぐれない おらくるってる(狂ってる)tomoです。 今日はいつものMySQLリファレンスを読むではなく、夏休みの宿題にしていたこれをやってみます。 MySQLOracleDBの実行計画を比較してみた さて同じようなテーブルで同じデータを載せて。 実行計画を取ってみた時、どのくらい情報量が違うのか簡単に違いを見てみましょう。 前提として、以下をご認識ください。 一方はOSSのDBエンジン、もう一方はガチガチ商用DBエンジンです。情報量が違うのは当たり前であって、良し悪しを比較したいのではありません。そして製品比較をしたいのではありません。いつも商用DBメインで使っているエンジニアが、OSSのDBにこうゆう情報も出してほしいな!というのをお願いしたいと思っていて、それを考える元ネタメモだと思ってください。 OSSでこれだけの情報出せるMySQLや、今回紹介しません

    MySQLとOracleの実行計画を比較してみた - ASMのきもち
    yhoriz
    yhoriz 2023/08/19
  • ChatGPT開発に必要なGPUは3万基、日本の国策AI基盤は1千基。目前に迫る日本のAI敗戦

    ChatGPT開発に必要なGPUは3万基、日の国策AI基盤は1千基。目前に迫る日AI敗戦 2023.08.19 Updated by Ryo Shimizu on August 19, 2023, 16:47 pm JST そろそろ業界の最深部でしか知られてなかった事実がニュースになって来始めているのでここで当の問題を明らかにしておきたい。 AI開発に必須なのは、計算資源である。そしてこれは現在のところ、事実上NVIDIAが一社独占している。 NVIDIA以外の半導体がいくら「AIに特化しています」と能書きを垂れていてもごくわずかな例外を除いてはほとんど全部が誇大広告である。 たとえばApple Silliconは、「ニューラルエンジン」と称するモジュールを内蔵しているが、これを使ってAIの学習をすると、なんとCPUよりも遅い。信じられないかもしれないが、これが残酷な事実なのである

    ChatGPT開発に必要なGPUは3万基、日本の国策AI基盤は1千基。目前に迫る日本のAI敗戦
    yhoriz
    yhoriz 2023/08/19
  • 技術に興味がなくて何が悪い? - Qiita

    TL;DR 技術に興味がなくても、エンジニアとして生きていくことはできる。 対象読者 自分を技術に興味がない側の人間だと思う方 筆者について Webアプリケーションの開発エンジニア。主な仕事はプログラム詳細設計、画面設計、コーディング。 技術にあまり興味がない。 初めに エンジニア界隈では、以下のような主張がしばしば見られる。 休日に勉強するべきである。 最新の技術動向は常にチェックするべきである。 技術イベントには参加するべきである。 毎日コードを書くべきである。 レガシーな技術ではなく、モダンな技術を習得するべきである。 etc... そしてこれらの"べき論"がさらに加速すると、 「技術に興味がない人はエンジニアに向いていない」 という主張すら出現し、それに同調する声も少なくない。 最近、とあるSNSで以下のようなやり取りを見かけた。 駆け出しエンジニアの質問 休日に勉強するべきですか

    技術に興味がなくて何が悪い? - Qiita
    yhoriz
    yhoriz 2023/08/15
  • Four tips to keep your GitHub Actions workflows secure

    Open SourceSecurityFour tips to keep your GitHub Actions workflows secureResearchers from Purdue and NCSU have found a large number of command injection vulnerabilities in the workflows of projects on GitHub. Follow these four tips to keep your GitHub Actions workflows secure. Continuous Integration and Continuous Deployment (CI/CD) software supply chains are a lucrative target for threat actors.

    Four tips to keep your GitHub Actions workflows secure
    yhoriz
    yhoriz 2023/08/11
  • 素性のよくわからない検温カメラから画像を取り出す手口 - honeylab's blog

    ここまで散々体温計付きカメラを分解してきましたが、久しぶりに面白い案件にぶち当たってしまいました。 これにどれだけの何が残ってるかまだわかんないけど、このラベルが貼ってあるガラクタを、「これが検温カメラの型番だと思ってヤフオクに出品するレベルの人間の手に渡ってる」の何かしらの問題だと思う どっかのショップ店頭の備品を誰か売ったんかな、と思ってたんだけど... https://t.co/XN1g9XVBwQ pic.twitter.com/vv8Ja9VFL5 — ひろみつ (@bakueikozo) 2023年8月8日 大元の所有者に連絡を投げたつもりですが、お盆進行なのか全然返事が来ませんね。 つまんないので、今回入手した検温カメラからどうやって画像を取り出したかを記録しておきましょう。 このカメラ、普通に立ち上げるだけで、ネットワークインターフェイスは有効化され、 192.168.1.

    素性のよくわからない検温カメラから画像を取り出す手口 - honeylab's blog
    yhoriz
    yhoriz 2023/08/11
  • Rust 1.71.1がリリース ー 緊急度の高い脆弱性を修正、早めのアップデートを

    8月3日に、Rustはバージョン1.71.1をリリースしました。 このリリースでは、バグ修正とセキュリティの脆弱性の修正が含まれています。 Rust 1.71.1のアップデートは、ユーザーにとって重要な修正が行われているため、早急にツールチェーンを更新することをおすすめします。 8月3日に、Rustはバージョン1.71.1をリリースしました。 Rustは、システムプログラミングからWebアプリケーションまで幅広い用途に使用されており、メモリ安全性と並行性を重視した設計が特徴である。 このリリースでは、バグ修正とセキュリティの脆弱性の修正が含まれている。 Rust 1.71.1のアップデートは、ユーザーにとって重要な修正が行われているため、早急にツールチェーンを更新することが推奨されている。 アップデート方法 既にrustupを使用してRustをインストールしている場合は、以下のコマンドを実

    Rust 1.71.1がリリース ー 緊急度の高い脆弱性を修正、早めのアップデートを
    yhoriz
    yhoriz 2023/08/11
  • 関数型プログラミングを学ぶメリットとは? そもそも関数とは何かを理解する

    今やどんな開発環境でも見られるようになった関数型プログラミングとそのメリットを活用できていますか? JavaRubyのような命令型のオブジェクト指向言語を利用しているエンジニアが関数型プログラミングを使いこなすためのノウハウが解説された『なっとく!関数型プログラミング』(翔泳社)から、関数とは何か、そして関数型プログラミングのメリットについて紹介します。 記事は『なっとく!関数型プログラミング』の「第1章 関数型プログラミングを学ぶ」から一部を抜粋したものです。掲載にあたって編集しています。 ※書はMichał Płachtaによる『Grokking Functional Programming』(Manning Publications 2022)の邦訳版です。 あなたが書を手に取ったのはきっと... 関数型プログラミングに興味があるから 関数型プログラミングの話を聞いたか、ウィ

    関数型プログラミングを学ぶメリットとは? そもそも関数とは何かを理解する
    yhoriz
    yhoriz 2023/08/11
  • 良いテストケースの作成手法を学ぶ - 「はじめて学ぶソフトウェアのテスト技法」を読んだ - $shibayu36->blog;

    ソフトウェアテストに関する知識をもう少し言語化したいなと思い、「はじめて学ぶソフトウェアのテスト技法」を読んだ。 はじめて学ぶソフトウェアのテスト技法 作者:リー コープランド日経BPAmazon このでは主に良いテストケースの作成手法について学べた。良いテストケースとは「最小の時間と労力でほとんどのエラーを検出する可能性がもっとも高くなるようなテストケース」のこと。これにできる限り近づけられるようにテストケースを工夫する。 良いテストケースを作るためにどういう技法があるかをこのはいくつも教えてくれる。自分がこれまでテストを書いていると「こういうテストの方がなんとなくベターだよな...?」みたいに感覚的に考えていたところを、言葉として定義してくれることで構造化できるのはありがたかった。たとえば 同値クラステスト 同じグループのテストが、以下を満たせば同値クラスを形成する 同じ機能をテス

    良いテストケースの作成手法を学ぶ - 「はじめて学ぶソフトウェアのテスト技法」を読んだ - $shibayu36->blog;
    yhoriz
    yhoriz 2023/08/11