Category: 開発

BPFスケジューラを使ったコンカレンシーバグのファジング

2025-02-14

FOSDEMで、MetaのJake HillionとOpenJDK開発者のJohannes Bechbergerは、BPFスケジューリングフレームワーク`sched_ext`を用いて構築したコンカレンシーファジングスケジューラを発表しました。このスケジューラは、意図的にスケジューリングにランダム性を取り入れることで、遅延を発生させ、スレッドの実行順序を変更し、再現困難なコンカレンシーバグを表面化させます。現在、パフォーマンスオーバーヘッドが大きく、開発段階でのデバッグに限定されますが、現実世界のロジックエラーを発見する効果的な方法を提供し、最適化後に将来的な本番環境での使用が期待されます。

Go 1.24: Wasm機能の強化 - WASIリアクターとエクスポート関数

2025-02-14

Go 1.24は、`go:wasmexport`ディレクティブとWASIリアクター構築機能の追加により、WebAssembly(Wasm)のサポートを大幅に強化しました。これにより、Go開発者は関数をWasmにエクスポートし、ホストアプリケーションとのシームレスな統合が可能になります。新しいWASIリアクターモードは、再初期化なしで複数のイベントやリクエストに反応できる、継続的に実行されるWasmモジュールを容易にします。Wasmのシングルスレッド性や型制限などの制限はありますが、Go 1.24の改善により、より強力で多用途なGoベースのWasmアプリケーションへの道が開かれます。

(go.dev)
開発

Neovimにバンドルされたtee.exeがWindows 11上で疑わしい挙動を示す

2025-02-14
Neovimにバンドルされたtee.exeがWindows 11上で疑わしい挙動を示す

Windows 11のサンドボックス環境でNeovimのセキュリティテストを実施したところ、バンドルされたtee.exeバイナリがマルウェアとして検出されました。調査の結果、疑わしいDNSルックアップとネットワーク接続が判明し、VirusTotalによって1つのIPアドレスが悪意のあるものとして確認されました。作者は根本原因分析を行うこと、およびこのセキュリティリスクを軽減するためにNeovimの依存関係をソースからビルドすることを推奨しています。

開発

Windowsアクティベーションの脆弱性:TSforgeがSPPを突破

2025-02-14
Windowsアクティベーションの脆弱性:TSforgeがSPPを突破

セキュリティ研究者らが、Windowsのソフトウェア保護プラットフォーム(SPP)における重大な脆弱性を発見し、TSforgeという名前の悪用ツールを開発しました。このツールは、Windows 7以降のすべてのWindowsバージョンと、2013年以降のすべてのOfficeバージョンのアクティベーションをバイパスします。研究者らはSPPの内部動作を分析し、確認ID(CID)の検証と「信頼できるストア」データに焦点を当てました。最終的に、アクティベーションデータを復号化および変更するためのキーを発見しました。この発見は、SPPのセキュリティの欠陥を明らかにするだけでなく、Windowsのアクティベーションメカニズムに関する貴重な洞察も提供します。

Asahi Linuxの創設者が辞任、プロジェクトは持続可能な未来へ

2025-02-14
Asahi Linuxの創設者が辞任、プロジェクトは持続可能な未来へ

創設者Hector Martin氏の辞任を受け、Asahi Linuxチームはプロジェクトの長期的な持続可能性を確保するため、新しいガバナンス体制と資金調達モデルを発表しました。7人の開発者が意思決定を共有し、Open Source Collectiveを通じて寄付を受け付けることで、以前のPatreonモデルに取って代わります。 今後は、カーネルの上流へのマージと継続的インテグレーションテストを優先し、安定性と保守性を向上させます。M3およびM4チップのサポートは当面見送られますが、M1およびM2デバイスでは、DP altモード、Vulkanドライバーにおけるスパースイメージのサポート、内蔵マイクなどの新機能が提供される予定です。

開発

Doctor Droid:AI搭載、エンジニアリングチーム向けインシデント対応支援ツール

2025-02-14
Doctor Droid:AI搭載、エンジニアリングチーム向けインシデント対応支援ツール

Doctor Droidは、エンジニアリングチームが本番環境のインシデント調査を迅速に行えるよう支援するスマートアシスタントを開発しています。世界中で利用されているこのオープンソースプラットフォームは、ダウンタイムの削減と開発者生産性の向上を目指しています。ビジョンは、チームのメンバーであれば誰でも、上級エンジニアを必要とせずに一般的な本番環境の問題をデバッグできるようにすることです。Accelの支援を受け、Y Combinator W23バッチに参加したDoctor Droidは、情熱を持った開発者をチームに迎え入れています。

Linuxカーネルメンテナの苦境:技術的負債とコミュニティ参加

2025-02-14

ベテランLinuxカーネルメンテナのTheodore Ts'o氏がメールでカーネルメンテナンスの課題を詳述しています。メンテナは全能ではなく、「細い青線」としてコードの品質維持に努めていると指摘。貢献者はコードが受け入れられると消えてしまうことが多く、メンテナは後始末をせざるを得ない状況です。Ts'o氏は開発チームにコミュニティへの積極的な参加を促し、短期的な目標だけでなく、コード品質の共同維持を訴えています。Rust for Linuxをコミュニティ参加の好例として挙げつつ、信頼関係構築とコードメンテナンスの負担軽減にはさらなる時間が必要だと述べています。

フィーチャフラグ:落とし穴と、設定可能なシステム研究からの教訓

2025-02-14

この記事では、ソフトウェア開発で広く使われているフィーチャフラグの潜在的な問題点を考察しています。便利である一方で、フィーチャフラグは、特にフィーチャ間の相互作用、フラグの削除、テストに関して、保守が困難なコードにつながる可能性があると著者は主張しています。この記事では、設定可能なシステムとソフトウェア製品ラインに関する既存の研究をレビューし、設定の意思決定者の明確化、適切なバインディング時間の選択、標準化された実装とドキュメントの使用、組み合わせテストなどの手法を活用してソフトウェアの品質を向上させることなど、得られた教訓をまとめています。

Fedora上の壊れたOBS Studio Flatpak:公式パッケージになりすましたサードパーティパッケージ

2025-02-14
Fedora上の壊れたOBS Studio Flatpak:公式パッケージになりすましたサードパーティパッケージ

Fedora上の非公式OBS Studio Flatpakパッケージは、壊れていると報告されており、公式開発者へのユーザーからの苦情につながっています。これは単なる偶発的なものではなく、多くのユーザーがFedoraによる積極的なFlatpak展開と明確なオプトアウトオプションの欠如に不満を表明しています。著者は、パッケージの削除またはサードパーティとしての明確なラベル付けを要求し、機能するFlatpakパッケージを壊れたものと置き換えた決定に疑問を呈しており、公式の努力を損なっています。

開発

オープンソースの企業買収:巧妙なパワーゲーム

2025-02-14
オープンソースの企業買収:巧妙なパワーゲーム

この記事では、オープンソースソフトウェアへの大規模な企業関与の実態を探ります。当初は商業的利益を誘致するために考案されましたが、企業は主にコスト削減のためにオープンソースを活用し、コミュニティへの還元は少ないのが現状です。Heartbleed脆弱性は、オープンソースプロジェクトのリソース不足を浮き彫りにしました。企業投資が増加しているものの、それは従業員の貢献を通じて行われており、権力の不均衡を生み出しています。より多くの時間と影響力を持つ企業の従業員は、プロジェクトの優先順位を歪め、再ライセンスにつながる可能性があります。この記事では、オープンソースのガバナンスモデルのアップデート、メンテナのための資金調達の多様化、再ライセンスリスクのあるプロジェクトの拒否、そしてオープンガバナンスの共通定義の確立を提案し、企業買収に対する回復力を強化し、より公平なエコシステムを確保することを目指しています。

arXivLabs:コミュニティの協力者とarXivの新機能を構築する

2025-02-14
arXivLabs:コミュニティの協力者とarXivの新機能を構築する

arXivLabsは、開発者が協力して、新しいarXiv機能をウェブサイト上で直接開発・共有できるフレームワークです。参加者は、arXivのオープン性、コミュニティ、卓越性、ユーザーデータプライバシーという価値観を遵守する必要があります。arXivコミュニティを強化するアイデアをお持ちですか?arXivLabsをご覧ください。

開発

スタートアップのソフトウェアエンジニア面接プロセスを解読する

2025-02-13
スタートアップのソフトウェアエンジニア面接プロセスを解読する

このスタートアップは、電話面接と2日間のオンサイト面接という2段階の面接プロセスを採用しています。電話面接では、スタートアップやチームワークへの関心、基本的なWebプログラミングスキル、プロジェクト経験を評価します。オンサイト面接では、技術力、プロダクト思考、チームへの適合性をより深く掘り下げ、小さなプロジェクトを通じてコミュニケーション、オーナーシップ、自律性を重視します。

開発

JesseSort:新規O(n log n)ソートアルゴリズム

2025-02-13
JesseSort:新規O(n log n)ソートアルゴリズム

JesseSortは、「Rainbow」と呼ばれる新しいデータ構造を用いて要素を効率的に整理・マージする新規ソートアルゴリズムで、O(n log n)のランタイムを実現します。アルゴリズムは、挿入フェーズ(Rainbowの生成)とマージフェーズ(バンドを1つになるまでマージ)から構成されます。詳細はJesseSort.pdfとResearchGateを参照してください。

開発

Millがビルド設定にScalaを使用する理由

2025-02-13

YAMLやXMLなどの代替手段ではなく、Millビルドシステムの構成言語としてScalaが選択されたことに疑問を持つ人がいます。この記事では、この点について、汎用プログラミング言語を使用することの利点、Scalaの具体的な利点、Java仮想マシンを活用する理由という3つの主要な理由を探求することで説明します。Scalaはニッチな言語ですが、その独自の特性により、プロジェクトの規模に関係なく、ビルドシステムの構成に特に適しています。

開発

MapTCHA:AIの不確実性を活用した新しいCAPTCHAでボット対策

2025-02-13
MapTCHA:AIの不確実性を活用した新しいCAPTCHAでボット対策

従来のCAPTCHAはユーザー情報の漏洩や高コストな維持管理が課題でした。本論文では、AIによるコンピュータビジョンの画像解釈における不確実性を活用した新しいCAPTCHA、MapTCHAを紹介します。MapTCHAは、AIが予測したオブジェクトを含む画像(既知の正例、既知の負例、未知の例を混合)をユーザーに提示し、正しく解釈された建物の輪郭などのオブジェクトを識別するよう求めます。ユーザーの投票結果によって未知の画像の真偽が決定され、OpenStreetMapに新たな地図データソースを提供します。本システムはオープンソースのAI支援地図システムfAIrを用いた画像認識を行い、将来的にはより多くのオブジェクトや画像タイプへの拡張、様々なログインシステムへの統合を計画しています。

開発

TursoとFly.ioを使った高性能SQLiteエッジレプリカの構築

2025-02-13
TursoとFly.ioを使った高性能SQLiteエッジレプリカの構築

このチュートリアルでは、Node.jsとFly.ioを使用して、Tursoのデータベースパフォーマンスを向上させるためのカスタムSQLiteエッジレプリカの構築方法を示します。グローバルな複数のリージョンにプロキシサーバーをデプロイし、Fly.ioのAnycastネットワークを活用することで、低レイテンシのデータアクセスを実現します。このソリューションは、データをSQLiteファイルにローカルにキャッシュし、プライマリデータベースと定期的に同期することで、ネットワークレイテンシとデータレプリケーションのコストを削減し、優れたユーザーエクスペリエンスを提供します。チュートリアルでは、Dockerfileの設定、Fly.ioへのデプロイ、プロキシサーバーの実装の詳細、およびセキュリティ認証メカニズムについて説明します。

開発

40歳のLibreOffice:老兵は新たな技を身につける

2025-02-13
40歳のLibreOffice:老兵は新たな技を身につける

1985年誕生のベテランオープンソースオフィススイート、LibreOfficeがFOSDEM 2025で驚きの新機能を発表しました。Allotropiaチームが開発したCRDT技術を用いたWriterの分散型リアルタイムコラボレーション機能により、Google Docsに似た複数ユーザーによる同時編集が可能になりました。しかし、重要なのは、インターネット接続なしでローカルで動作することです。さらに、WebAssembly版であるZetaOfficeは、あらゆるOSとCPUアーキテクチャのブラウザ上で動作し、JavaScriptによるスクリプト制御と統合が可能。Webアプリに強力なリッチテキスト編集機能を提供し、Microsoftの支配に挑む可能性を秘めています。

コミュニティの圧力と上流への貢献の困難を受け、Asahi Linux開発リーダーが辞任

2025-02-13
コミュニティの圧力と上流への貢献の困難を受け、Asahi Linux開発リーダーが辞任

Apple SiliconへのLinux移植に成功したAsahi Linuxプロジェクトのリード開発者が辞任を発表しました。この素晴らしい成果にもかかわらず、開発者は、機能追加を求めるコミュニティの絶え間ない圧力、Linuxカーネルへの上流貢献における大きな障害、そして個人的な問題を辞任理由として挙げています。この辞任は、大規模なオープンソースプロジェクトを維持することの難しさを浮き彫りにし、コミュニティのダイナミクスとLinuxカーネルへの貢献プロセスに対する懸念を高めています。

開発

クラウドネイティブインフラストラクチャのジレンマ:スケーラビリティ、コスト、保守の問題

2025-02-13
クラウドネイティブインフラストラクチャのジレンマ:スケーラビリティ、コスト、保守の問題

多くの企業がクラウドインフラストラクチャに関する課題に直面しています。スケーラビリティへの準備不足により、リソースの無駄遣い、コスト増加につながります。予測不可能なワークロードにより、コールドスタート時間が長くなります。数百または数千ものアプリケーションは継続的な保守と更新が必要となり、脆弱性の修正や依存関係の管理が困難になります。複数クラウドベンダー、マルチリージョン、エッジでの展開も複雑さを増します。これらの問題は、非効率的なインフラストラクチャと運用コストの増加につながります。

開発

Microsoft Edge、Chromiumにおける文字レンダリングの改善

2025-02-13
Microsoft Edge、Chromiumにおける文字レンダリングの改善

Chromiumレンダリングエンジンへの移行後、Microsoft Edgeでテキストが「薄く見える」というユーザーからのフィードバックがありました。調査の結果、Skiaエンジンのテキストコントラストとガンマ値の設定が、以前のDirectWriteエンジンと異なり、Windows ClearType Tunerの設定も読み取られていないことが判明しました。EdgeチームはGoogle Chromeチームと協力し、ユーザー調査を実施。その結果、デフォルトのテキストコントラスト値を1.0に調整することで問題を解決し、ChromiumブラウザにおけるWindows上のテキスト表示をより自然で一貫性のあるものにしました。この修正はChrome 132以降で利用可能です。

arXivLabs:コミュニティとの協力による実験プロジェクト

2025-02-13
arXivLabs:コミュニティとの協力による実験プロジェクト

arXivLabsは、共同作業者がarXivの新しい機能をウェブサイト上で直接開発・共有できるフレームワークです。arXivLabsに関わる個人や組織は、オープン性、コミュニティ、卓越性、ユーザーデータのプライバシーというarXivの価値観を受け入れています。arXivはこれらの価値観に尽力しており、これらの価値観を共有するパートナーのみと協力しています。arXivコミュニティを改善するアイデアをお持ちですか?arXivLabsについてさらに詳しく学びましょう。

開発

BigQueryの新しいパイプクエリ構文:読みやすく、書きやすく、保守しやすい

2025-02-13
BigQueryの新しいパイプクエリ構文:読みやすく、書きやすく、保守しやすい

Google BigQueryは、線形構造でSQLクエリの記述と保守を簡素化する新しいパイプクエリ構文を導入しました。この構文では、SELECT、集計、GROUP BY、JOIN、WHEREなどの演算子を任意の順序で、何回でも適用できるため、クエリのロジックがより明確で分かりやすくなります。標準SQLにおける句の厳格な順序、複雑なクエリにおけるCTEやネストされたサブクエリの必要性などの問題に対処し、データ操作の柔軟性を高めるために、EXTEND、SET、DROP、RENAMEなどの新しいパイプ演算子が導入されています。

オープンソースライセンス紛争:ソフトウェア自由のための闘い

2025-02-13
オープンソースライセンス紛争:ソフトウェア自由のための闘い

ソフトウェアフリーダムコンサーバンシー(SFC)は、Neo4j, Inc. 対 PureThink, LLC の係属中の訴訟において、Affero General Public License version 3(AGPLv3)第7条に基づく下流ライセンシーが「追加の制限」を削除する権利を支持する意見書(amicus brief)を提出しました。中心的な問題は、Neo4j が追加した「Commons Clause」を削除できるかどうかです。SFC は、元のライセンサーによって課された場合でも、下流ライセンシーは AGPLv3 第7条第4項に基づいてそのような制限を削除する権利があると主張しています。SFC の意見書は、AGPLv3 第7条と第10条の詳細な法的分析を提供し、下級裁判所が Neo4j の解釈に誤って同意したと主張しており、これはコミュニティによる「追加の制限」の追加と削除に関する理解を根本的に変える可能性があります。この判決は、ソフトウェアの自由とユーザーの権利に大きな影響を与えます。

Waylandの復活:3年後の回顧

2025-02-13

3年前、Waylandに関する批判的な投稿が激しい議論を巻き起こしました。現在、著者は過去を振り返り、Waylandが目覚ましい進歩を遂げていることに気づきました。明示的な同期やレンダリングスレッドの停止など、以前の問題点の多くが効果的に解決されました。Mesaの改善、プロトコルの強化、そしてコミュニティの積極的な参加がWaylandの発展を推進してきました。外部サーフェスの埋め込みや複数ウィンドウの管理など、課題は残っていますが、Waylandの未来は明るいです。

Wger:オープンソースのワークアウト&ダイエット管理アプリ

2025-02-13
Wger:オープンソースのワークアウト&ダイエット管理アプリ

Wgerは、個人のワークアウト、体重、ダイエットプランを管理するための無料のオープンソースWebアプリケーションです。シンプルなジム管理ツールとしても機能し、REST APIを提供して容易に統合できます。Dockerを使用して簡単に展開でき、迅速なテストのためのデモイメージがあります。コードとコンテンツはオープンソースであり、翻訳もサポートされています。

開発

Task Explorer:強力なクロスプラットフォームタスクマネージャー

2025-02-13
Task Explorer:強力なクロスプラットフォームタスクマネージャー

Task Explorerは、実行中のアプリケーションを監視するだけでなく、それらのアプリケーションの動作に関する詳細な洞察を提供する、強力なタスク管理ツールです。そのユーザーインターフェースは速度と効率性を優先し、最小限の操作でリアルタイムのプロセスデータを提供します。情報はアクセスしやすいパネルに表示され、プロセスを選択すると、画面の下半分に詳細情報が表示され、矢印キーで簡単に移動できます。動的なデータ更新により、システムのパフォーマンスと動作に関するリアルタイムの洞察が得られます。
高度な機能には、スタックトレースを表示するスレッドパネル、プロセスメモリの表示と編集を行うメモリパネル、開いているハンドルを表示するハンドルパネル、接続を表示するソケットパネル、ロードされたDLLをリストするモジュールパネルなどがあります。堅牢なシステム監視機能は、CPU、ハンドル、ネットワークトラフィック、ディスクアクセスに関するリアルタイムグラフを提供します。システム情報パネルでは、システムサービスを制御できます。
Qtフレームワークを使用して構築されたTask Explorerは、Windows 7以降(32/64ビット)と互換性があり、Linuxのサポートも計画されています。

ビット操作による浮動小数点数の乗算の近似:巧妙なテクニック

2025-02-13
ビット操作による浮動小数点数の乗算の近似:巧妙なテクニック

この記事では、ビット操作を用いて浮動小数点数の乗算を近似する巧妙な手法について解説しています。このアプローチは、浮動小数点数を整数に変換し、加算を行い、指数を調整し、再び浮動小数点数に変換するというものです。指数の上限超過や下限超過が発生すると、この方法は致命的なエラーを引き起こしますが、ほとんどの場合、驚くほど正確で、正しい結果の7.5%以内にとどまります。著者は、この方法の基礎となる原理を深く掘り下げ、単純な加算がなぜ乗算を近似できるのかを説明しています。実際には、ネイティブの浮動小数点数の乗算よりも効率が悪い可能性がありますが、その簡潔さと特定の状況下での省電力性から、興味深い探求となっています。

私のVimワークフロー:10年間の生産性向上ハックと自動化

2025-02-13

この記事では、10年間にわたるVim(特にWindows上のGVim)の使用経験を詳細に説明し、生産性向上のためのヒントとカスタム設定のコレクションにまとめられています。焦点は特定のVimスクリプトではなく、自分のワークフローを特定し最適化することの重要性にあります。著者は、合理化されたアクションのためのカスタムキーマッピングを示しています。``を``の代わりに使用すること、エラー処理によるバッファの自動保存、システムクリップボードへの高速コピーなどです。ファイル保存前のディレクトリの自動作成、:terminal内でのGitコマンドの実行などのテクニックについても説明されています。この記事では、読者にVimのヘルプページを探索し、自分のワークフローの最適化を繰り返すことを推奨しています。

開発

自作のWebベースコーディング環境

2025-02-13

Glitchの制限に不満を感じた著者は、独自のWebベースコーディング環境を構築しました。バックエンドはDjangoで、プロジェクトファイルはローカルに保存され、ドメインはLet's Encryptのワイルドカード証明書で管理されています。テンプレートの再利用、ライブプレビュー、自動保存、Makefileによるビルド、さらにはElmパッケージのインストールとシェルコマンドの実行も統合されています。Gitとの統合も追加され、Jujutsuを使用してバージョン管理を簡素化し、Forgejoのcreate-on-push機能を利用してシームレスなデプロイを実現しています。現在、実験的な作品から毎日のツールまで、80個のプロジェクトをホスティングしています。

NESFab:NESゲーム向け高性能プログラミング言語

2025-02-13

NESFabは、NESゲームを作成するために設計された新しいプログラミング言語です。8ビットの制約に合わせて最適化されており、C言語よりも使いやすく、より高速なアセンブリコードを生成します。使いやすいライブラリを備えており、最初のNESゲームでも100個目のNESゲームでも簡単に始めることができます。自動バンク切り替え、簡素化されたアセット読み込み、開発速度を向上させるMapFabレベルエディターとの統合などの機能があります。現在ベータ版ですが、NESFabはGCCやLLVMなどのコンパイラをベンチマークで上回り、最高の6502コンパイラになる可能性があります。

開発
1 2 161 162 163 165 167 168 169 214 215