Category: 開発

LLMはプログラミングを終わらせるか?機械翻訳からの教訓

2025-06-17

大きな言語モデル(LLM)はプログラマーを不要にするのかという議論が続いている。この記事は、機械翻訳を説得力のあるアナロジーとして用いている。Google翻訳などのツールは翻訳に革命を起こしたが、人間の翻訳家を置き換えたわけではない。翻訳には、文脈の理解、曖昧さの解消、文化的感受性が必要であり、これは現在のLLMには欠けているスキルである。同様に、プログラミングには、現在のLLMの能力を超える創造性と問題解決能力が必要とされる。著者は、LLMはプログラマーを完全に置き換えるのではなく、効率向上のための補助ツールとして最適に活用すべきだと示唆している。

開発

グルグ脳開発者:複雑さと戦うためのガイド

2025-06-17

"グルグ"開発者の視点から書かれた、ユーモラスなソフトウェア開発ガイドです。複雑さをコードベースに侵入する悪魔のような力に例え、不必要な機能や抽象化に「ノー」と言うことを提唱しています。80/20則(20%のコードで80%の価値を実現する)を強調し、適切なコードの分解、戦略的なリファクタリング、効果的なテスト、ツールなどを重要な戦略として挙げています。あらゆるレベルの開発者にとって貴重な教訓を提供する、機知に富んだ洞察力のある読み物です。

開発

形式と非形式の橋渡し:LLM時代のDSL設計

2025-06-17

この記事では、DSLとLLMの交差点における新しい方向性を探求しています。それは、LLMベースのコーディングワークフローとシームレスに統合するDSLを設計することです。著者は、LLMを使ってスクリプトを生成した経験を詳細に説明し、LLMが「つなぎコード」の生成に優れていることを発見しました。つまり、自然言語の説明に基づいてボイラープレートコードを生成しますが、複雑なロジックは手動でコーディングする必要があります。この経験から、LLM支援ワークフローをDSL自体にどのように組み込むことができるかという重要な疑問が提起されます。最終的な目標は、形式的なコードと非形式的な自然言語仕様のギャップを埋めることであり、DSLの型解析に基づいて自然言語仕様を自動生成することが考えられます。

開発

Xlibre:XorgのモダンなフォークがWaylandの支配に挑戦

2025-06-17

Xorgの現代的な代替として宣伝されているWaylandは、不完全な機能と強制的な採用を理由に批判されています。リモートデスクトップ、カスタムキーボードバインディング、レガシーソフトウェアのサポートなど、重要な領域で苦労しています。Waylandの欠点はユーザーエクスペリエンス、特に障害を持つユーザーに影響を与えるため、オープンソースコミュニティで懸念が高まっています。これに対応して、XorgのフォークであるXlibreは、Xorgを現代化し、完全で安定した代替手段を提供することを目指しています。XlibreはLinuxデスクトップに希望の光を灯しますが、Waylandに挑戦する上での成功はまだわかりません。

開発

BitTorrentトラッカーを立ててみた結果…

2025-06-17

多くのBitTorrentトラッカーが死んでいることに気づいた著者は、面白いアイデアを思いつきました。使われていないドメインを購入し、トラッカーを立ててどうなるか試してみたのです。結果は?数百万ものピアが殺到しました!これにより、BitTorrentプロトコルの集中化のリスクと、著作権に関するトラッカーの法的グレーゾーンが浮き彫りになりました。トラッカー自体は「誘引」とはみなされない可能性がありますが、著者は念のためトラッカーを停止しました。

開発

COSIG:論文公開後査読のためのオープンソースガイド

2025-06-17

COSIGは、出版物の整合性に関する専門家によって作成されたガイドのコレクションを提供するオープンソースプロジェクトです。これらのガイドは、専門知識がなくても、誰でも論文公開後の査読に参加できるようにします。現在、28のガイドが分野別に分類されており(生物学、材料科学、コンピュータサイエンスなど)、COSIGは画像の改ざん検出、データ分析、引用の検証などを行うためのリソースを提供します。COSIGで科学文献の守護者になりましょう。

(osf.io)
開発

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

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

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

開発

Waylandの断片化:デスクトップ環境間の互換性の悪夢

2025-06-17

Waylandのデザインは、X11、Windows、macOSのデスクトップアプリケーションが数十年間依存してきた基本的な機能、たとえばウィンドウの位置決めやマウスカーソルの操作などを省略しています。これは見落としではなく、意図的なものです。さらに問題を悪化させているのが断片化です。GNOME、KDE、その他のコンポジタはWaylandプロトコルを異なる方法で解釈します。アプリケーション開発者は一貫した実装に依存できず、特に既に断片化されているLinux上のニッチなアプリケーションにとって、持続不可能なサポート負担につながります。さらに悪いことに、これらの問題はWaylandプロトコル、ウィンドウマネージャー、コンポジタに存在し、アプリケーション開発者の手の届かないところにあります。Waylandエコシステムが成熟することを期待していますが、まだその段階には至っていません。

Go言語向け超高速並列ハッシュマップライブラリ: cmapv2

2025-06-17
Go言語向け超高速並列ハッシュマップライブラリ: cmapv2

この記事では、Go言語用の高性能並列ハッシュマップライブラリであるcmapv2を紹介します。MurmurHashアルゴリズムを利用し、通常のマップとシャードマップの2種類のマップを提供することで、様々な並列処理のニーズに対応します。サンプルコードでは、キーバリューペアの初期化、挿入、取得、削除の方法を示しています。また、`go test`と`pprof`を用いたCPUとメモリのプロファイリングによる性能テストについても説明します。

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

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

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

開発

ARIA:Webアクセシビリティの強力なツールとその落とし穴

2025-06-17
ARIA:Webアクセシビリティの強力なツールとその落とし穴

この記事では、WebアクセシビリティにおけるARIA(Accessible Rich Internet Applications)の役割を深く掘り下げ、よくある誤解を明らかにします。ARIAは万能ではありません。ネイティブのHTML要素を補完し、スクリーンリーダーなどの支援技術に情報を追加することで、インタラクティビティ、目的、状態の理解を向上させるものです。この記事では、ARIAの歴史、使用方法、文法構造(ロール、状態、プロパティ)、そして現実世界のアプリケーションにおける課題(支援技術のサポートのばらつき、ARIA属性の誤用など)を網羅しています。著者は、セマンティックHTMLを優先し、ARIAは慎重に使用するよう提言し、手動テストの重要性を強調しています。最終的に、この記事はARIAの使用を障害を持つ人々への配慮と結びつけ、開発者にアクセシビリティを優先し、より包括的なWebを構築するよう促しています。

Codecovの必須AI機能がユーザーの懸念を引き起こす

2025-06-17
Codecovの必須AI機能がユーザーの懸念を引き起こす

Codecovの新しいAI機能が、無効化オプションがないことからユーザーの懸念を引き起こしています。ユーザーは、Codecovが許可なくコードをAIの学習に使用したり、侵害コードを挿入したりすることを懸念しています。そのため、すべての組織においてAI機能を永久的に明確に無効化する方法と、コードカバレッジ分析にAIが使用されないことの保証を求めています。

開発

WireGuard:1Gbpsネットワーク帯域幅飽和達成

2025-06-17

著者はこれまで、暗号化はギガビットイーサネット上でもネットワーク飽和に達するには遅すぎると思っていました。しかし、最近のテストでは、容易に入手できるサーバー(Xeon E-2226G)で動作するWireGuardが、特別なチューニングなしで1Gbpsネットワークを容易に飽和させ、CPU使用率も低いことがわかりました。これは、暗号化速度に関する著者の仮定に挑戦するものであり、多くの方法が理論的には1Gbpsリンクを飽和させる可能性があることを示唆しており、既存のVPNサーバーのパフォーマンス調整が必要であることを浮き彫りにしています。

faynoSync:クライアントアプリケーション自動更新APIサーバー

2025-06-17
faynoSync:クライアントアプリケーション自動更新APIサーバー

faynoSyncは、クライアントアプリケーションを自動的に更新するためのGoベースのAPIサーバーです。アプリケーションをS3にアップロードし、バージョン番号を設定すると、クライアントは更新を確認します。新しいバージョンがある場合、サーバーは更新リンクを返し、クライアントに警告が表示されます。バックグラウンド更新とオンデマンド更新をサポートし、完全なドキュメント、フロントエンドダッシュボード、サンプルクライアントアプリケーションを提供します。デプロイには環境変数の設定が必要ですが、Dockerを使用することで簡素化され、広範な単体テストにより機能が保証されます。

AIコードアシスタント:恩恵か呪いか?

2025-06-17
AIコードアシスタント:恩恵か呪いか?

AIコーディングアシスタントはますます高度になり、クリーンで効率的なコードを生成するようになりました。しかし、これにより、「早すぎる結論」という問題が発生する可能性があります。開発者は一見完璧なソリューションに魅了され、より深い問題を見過ごしてしまうのです。この記事は医学的なアナロジーを用いて、AIを経験豊富な医師に例えています。経験豊富な医師でも、経験によってまれな病気を看過してしまう可能性があるからです。著者は、開発者がAIの提案を批判的に評価し、積極的に複数の解決策を探求し、「迅速な修正」の落とし穴に陥らないようにアドバイスしています。これにより、コードの品質を向上させ、技術的負債の蓄積を防ぐことができます。

開発

謙虚なプログラマ:ソフトウェア危機とプログラミングの未来への省察

2025-06-17

このエッセイは、Edsger W. Dijkstraによる1972年の著名な講演の書き起こしであり、プログラミングの初期と深刻化するソフトウェア危機を探っています。Dijkstraは、プログラミングが職業として認められなかった初期の状況と、コンピュータの性能が飛躍的に向上したことでソフトウェアの複雑さが急激に増大し、ソフトウェア危機に至った経緯を語っています。彼は、解決策はプログラミング手法のパラダイムシフトにあり、「知的管理可能なプログラム」を提唱し、プログラムの正当性証明の重要性を強調するとともに、過度に複雑なプログラミング言語への警告を発しています。改良された言語、より構造化されたプログラミングアプローチ、および正当性への焦点が、ソフトウェアの品質と開発効率を劇的に向上させると確信しています。

アクセシビリティの高いUI構築:倫理的な問題だけでなく、効率性の問題でもある

2025-06-17
アクセシビリティの高いUI構築:倫理的な問題だけでなく、効率性の問題でもある

この記事は、アクセシビリティの高いUIデザインを倫理的な観点からではなく、実際的な観点から主張しています。著者は、いくつかの利点を詳細に説明しています。デバッグの容易さ(セマンティックなHTMLによりコードが理解しやすくなる)、命名規則の改善(ARIA属性により標準化された名前が提供される)、テストの強化(セマンティックなテストはより堅牢になる)、そして特にキーボードユーザーにとって優れたユーザーエクスペリエンスです。著者は、アクセシビリティの高いUIの構築は難しくなく、多くのメリットがあると主張し、開発者にアクセシビリティの優先順位を付けるよう促しています。

ZX Spectrumグラフィックの解き明かし:メモリアドレッシングへの深い探求

2025-06-17
ZX Spectrumグラフィックの解き明かし:メモリアドレッシングへの深い探求

この記事では、ZX Spectrumでのグラフィックプログラミングの複雑さを深く掘り下げます。Spectrumのビデオメモリは単純なピクセルグリッドではなく、ピクセル領域と属性領域の組み合わせであることを説明します。各属性ブロックは8x8ピクセルの色と効果を制御し、有名な「属性衝突」を引き起こします。筆者は、ピクセルアドレス計算の方法として、直接的な数式計算、増分方式、そして非常に効率的なテーブルルックアップを詳細に説明し、点や8x8のグラフィックを描画するJavaScriptとZ80アセンブリコードの例を示します。これらのテクニックを習得することは、Spectrumでの効率的なグラフィックプログラミングに不可欠です。

開発

コンパイラ中間表現(IR)設計:局所的な情報による意思決定と最適化

2025-06-17
コンパイラ中間表現(IR)設計:局所的な情報による意思決定と最適化

この記事では、コンパイラの中間表現(IR)の設計について、局所的な情報のみを用いて意思決定を行うことに焦点を当てて論じています。制御フローグラフ(CFG)、レジスタベースのIR、静的単一代入(SSA)形式を比較し、静的単一情報(SSI)やノードの海(SoN)といったより高度な設計を紹介しています。SSAは、各変数を一度だけ代入することで解析を簡素化しますが、SSIはプログラムの異なる分岐で同じ変数にさらに詳細な情報を追加することを可能にします。SoNは、すべての命令をグラフのノードとして表現し、データと制御の依存関係を明示的に表現することで、最適化の柔軟性を高めます。これらの設計は、コンパイラの最適化をより効率的に行い、最終的により最適化されたコードを生成することを目指しています。

開発 中間表現

生成AIコーディングツール:私の個人的な経験

2025-06-17
生成AIコーディングツール:私の個人的な経験

著者は、生成AIコーディングツールを使った個人的な経験を共有し、それらが自分のワークフローを改善しなかったという結論に至りました。AIは迅速にコードを生成できますが、著者は品質と信頼性を確保するために徹底的なコードレビューが必要だと感じています。このレビューには、コードの記述時間と同じくらい時間がかかります。さらに、AI生成コードには、文脈理解や学習能力が欠けており、順行性健忘症のインターンに似ており、知識を保持できません。著者は、AIコーディングツールで生産性が向上すると主張する人は、品質基準を下げているか、AIの販売から利益を得ているのだと考えています。

開発

LLMエージェントが企業IdPのOpenID Connect設定を自動検出

2025-06-17

LLMエージェントは、事前に設定された発行者に基づいて、企業アイデンティティプロバイダー(IdP)のOpenID Connect設定を正常に検出しました。/.well-known/openid-configurationへのGETリクエストは、承認エンドポイント、トークンエンドポイント、ユーザー情報エンドポイント、JWKS URI、サポートされているスコープとグラントタイプなどの重要な情報を含むJSONレスポンスを返しました。特に、トークン交換グラントタイプ(urn:ietf:params:oauth:grant-type:token-exchange)がサポートされているため、認証の柔軟性が向上します。

開発

Chawan TUIブラウザ0.2.0リリース

2025-06-16

テキストユーザーインターフェース(TUI)ブラウザChawanのバージョン0.2.0がリリースされました。このリリースには、最小限の実行可能な製品(MVP)で想定されていたすべての機能が含まれており、既知の重大なバグはありません。ソースコードパッケージとamd64 Linux用の静的バイナリ配布版、.debパッケージが利用可能です。zlib、libseccomp、termcap/ncurses、libcurlの依存関係は削除されました。今後の作業は、レイアウトモジュールの性能と正確性の向上、およびUIのユーザーフレンドリー性の向上に焦点を当てます。

YC支援のFintechスタートアップBlazeがAI駆動型ソフトウェアエンジニアを募集

2025-06-16
YC支援のFintechスタートアップBlazeがAI駆動型ソフトウェアエンジニアを募集

メキシコシティにあるYC支援のFintechスタートアップBlazeが、ジュニアソフトウェアエンジニアを募集しています。この役割は、CursorなどのAIツールを活用して、同社の決済プラットフォームのフロントエンドとバックエンドの開発を加速させることを含みます。理想的な候補者は、JavaScript、React、AI開発ツールに関する豊富な知識と、Fintechへの情熱を持っている必要があります。Blazeは、競争力のある報酬、株式、そして急速に成長する環境で成長する機会を提供します。

開発

arXivLabs:コミュニティ主導の機能を試す

2025-06-16
arXivLabs:コミュニティ主導の機能を試す

arXivLabsは、共同作業者がarXivの新しい機能をウェブサイト上で直接開発・共有するためのフレームワークです。参加者である個人や組織は、arXivのオープン性、コミュニティ、卓越性、ユーザーデータプライバシーという価値観を共有しています。arXivはこれらの価値観にコミットしており、それらを共有するパートナーとのみ連携しています。コミュニティに価値のあるプロジェクトのアイデアをお持ちですか?arXivLabsについてさらに詳しく知りたいですか?

開発

Canine:Kubernetesクラスタの容易なデプロイメントプラットフォーム

2025-06-16
Canine:Kubernetesクラスタの容易なデプロイメントプラットフォーム

Canineは、Kubernetesクラスタのための直感的で使いやすいデプロイメントプラットフォームです。DockerとDocker Composeをインストールしたら、単一のコマンドを実行するか、GitリポジトリをクローンしてDocker Composeを実行するだけで簡単にデプロイできます。Web UIポートを簡単にカスタマイズし、GitHub統合、ロールベースのアクセス制御、リアルタイムメトリクス、低メンテナンスなどのクラウドベースの機能を利用して、チームコラボレーションを効率化できます。

開発

GitHub CopilotのAgentモード:AIによるコード編集革命

2025-06-16
GitHub CopilotのAgentモード:AIによるコード編集革命

Visual StudioのGitHub Copilotに新しいAgentモードが登場しました。これにより、開発者は自然言語で高レベルのタスクを指定できるようになります。AIは、要求を自律的に推論し、必要な作業を計画し、コードベースに変更を適用します。Copilot Chatとは異なり、Agentモードはコマンドとビルドを実行し、エラーを繰り返し処理し、タスクを完了するためにツールを呼び出すことができます。開発者は必要事項を入力するだけで、Copilotが関連するコンテキストと編集するファイルを自動的に決定し、複数のツールの呼び出しをサポートします。Copilotはコード編集とターミナルコマンドの問題を検出して解決し、ユーザーは段階的に変更を確認できます。管理者はGitHub CopilotダッシュボードでAgentモードの使用を制御できます。

クルーズ船で無料Wi-Fi:高校生のPythonスクリプト

2025-06-16
クルーズ船で無料Wi-Fi:高校生のPythonスクリプト

クルーズ船の高額なインターネット料金に直面し、Princess Cruisesのクルーズに乗船していた1人のティーンエイジャーは、アプリダウンロードのための同社の15分間の無料Wi-Fiオファーの抜け穴を巧みに利用しました。彼は、MACアドレスの変更、船のネットワークへのログイン、無料インターネットセッションのリクエストというプロセスを自動化するPythonスクリプトを作成しました。これにより、制限のない高速インターネット(7+ Mbps)を数時間利用することができました。OpenWRTルーターとLLMによるコーディング支援を利用したこのスクリプトは、リクエストの繰り返しやエラー処理などの課題を克服し、最終的に無料インターネットアクセスを実現しました。

Transitousへの貢献:オープンソースの公共交通機関経路検索サービス

2025-06-16

Transitousは、MOTISエンジンと世界中の数千ものデータセットに基づいて構築された、コミュニティ運営の公共交通機関経路検索サービスであり、GNOME Mapsなどのアプリの機能を支えています。この記事では、データの改善にどのように貢献できるかを説明しています。まず、Transitousのデータが現実と一致するかどうかを確認します。次に、GTFS静的データ、GTFSリアルタイムデータ(旅程の更新、サービスアラート、車両の位置情報を含む)、GBFSシェアモビリティデータ、GTFS-Flexオンデマンドサービスデータの追加と改善方法を学びます。最後に、OpenStreetMapデータ、特に屋内のフロアレベル情報の寄稿を推奨しています。Transitousは、コード、データ、数学、交通機関の専門知識、IT運用など、あらゆる種類の貢献を歓迎しています。

Darklang:資金枯渇からオープンソースへの転生

2025-06-16
Darklang:資金枯渇からオープンソースへの転生

静的型付け関数型プログラミング言語Darklangを開発していたDark Incは資金枯渇により閉鎖を発表しました。しかし、Darklang自体は生き続けます。言語、ブログ、ホストサービスなどの資産は、Dark Incの元従業員が設立したDarklang Incに買収されました。新会社はDarklangをオープンソース化し、どこでも実行できるようにする計画です。Dark Incの失敗は、初期の急成長、急速な資金燃焼、そしてChatGPT時代のコード生成ツールの台頭に適応できなかったことなどが原因でした。しかし、Darklangの強みであるイミュータビリティは、LLM時代においてますます重要になっており、コードの理解と安全な実行を容易にします。創業者は現在、パレスチナの問題に取り組む団体であるTech for Palestineに注力しています。

開発

Darklangがオープンソースに:クローズドソースからコミュニティへの移行

2025-06-16
Darklangがオープンソースに:クローズドソースからコミュニティへの移行

当初ホスト型クローズドソースプラットフォームとして開始されたプログラミング言語Darklangは、すべてのリポジトリをオープンソース化すると発表しました。この転換は、製品の成熟度、ユーザーフィードバック、技術的な方向性の変化によるものです。当初、Darklangは、持続可能性を確保し、安全なコード移行や統合的なデプロイメントなどの独自の機能を提供するために、クローズドソースアプローチを採用していました。しかし、製品の成熟、より高い透明性を求めるユーザーからの要望、ローカルファースト開発と新しいビジネスモデル(例:有料のチームコラボレーションやAIツール)の台頭により、Darklangはコミュニティの成長とプラットフォームの長期的な進化を促進するためにオープンソースを採用することを選択しました。パッケージ管理におけるライセンスの含みなど、いくつかの技術的な課題が残っていますが、オープンソース化されたDarklangはより透明性が高く、アクセスしやすくなります。

開発
1 2 58 59 60 62 64 65 66 214 215