Category: 開発

Ghostty 1.1.0 リリース:重大なバグ修正と使い勝手の向上

2025-01-31
Ghostty 1.1.0 リリース:重大なバグ修正と使い勝手の向上

Ghostty 1.1.0 は、1 か月間の開発を経て、84 人の貢献者による 564 件のコミットを統合しました。このリリースは、最初の 1.0 リリースからのフィードバックに基づいて、重大なバグ修正と使い勝手の向上に焦点を当てています。主な改善点は次のとおりです。ファイル記述子のリークの修正;Linux でのサーバーサイド装飾 (SSD) のサポートにより、さまざまなデスクトップ環境でよりネイティブな外観を実現;IME の信頼性と一貫性の大幅な向上;新しい `performable:` キーバインドプレフィックス;macOS でのアルファブレンドの改善により、より正確な色を実現;ネイティブフルスクリーンウィンドウをサポートするなど、クイックターミナルの大きな機能強化。将来のバージョンでは、`gtk-adwaita` オプションを削除し、安定性と保守性を向上させるために `libadwaita` への依存関係を強制します。

Go言語の設計:意図的なトレードオフ

2025-01-31

この記事では、Goプログラミング言語の設計思想とその長所と短所を探ります。Googleで生まれたGoは、大規模な並行サーバーコードの記述と保守を簡素化することを目指していました。著者は、Goの特徴、つまり簡素化されたファイルシステムAPI、演算子のオーバーロードの欠如、明示的なエラー処理、他の言語との相互運用性を分析して、設計上の選択の妥協点を説明します。ジェネリクスが以前はなかったことや、Windowsのサポートがそれほど良くないことなど、批判されている点もありますが、著者は、これらは主要な設計目標を達成するための意識的な妥協であり、最終的にGoを大規模なエンジニアリングプロジェクトに適した効率的で使いやすい言語にしている、と主張しています。

Hydro:Rustによる高性能分散プログラミングフレームワーク

2025-01-31
Hydro:Rustによる高性能分散プログラミングフレームワーク

HydroはRust用の高レベル分散プログラミングフレームワークであり、スケーラブルで、構築によって正しい分散サービスの作成を可能にします。アクターやRPCなどの従来のアーキテクチャとは異なり、Hydroは、コレオグラフィックAPIと高性能なシングルスレッドDFIRランタイムを使用します。Hydro Deployを使用して、ローカル環境とクラウド環境の両方をサポートするデプロイを簡素化します。2段階のコンパイルプロセスを使用し、ローカルでデプロイメントプランを生成し、その後各マシン用にDFIRバイナリにコンパイルして、プランとクラウドリソースの仕様に基づいてクラウドにデプロイします。Hydroは、2フェーズコミットやPaxosなどの古典的なプロトコルの実装を含む、さまざまな高性能分散システムの構築に使用されてきました。

開発

sixos:systemdの代わりにs6を用いたNixpkgsベースのOS

2025-01-31
sixos:systemdの代わりにs6を用いたNixpkgsベースのOS

Adam Josephは、Nixpkgsをベースとし、systemdの代わりにs6を用いた新しいオペレーティングシステムsixosのリリースを発表しました。sixosはsystemdの一体的な設計を拒否し、よりシンプルなinfuseコンバイナーを用いてサービス管理を行い、Nixpkgsのパッケージ管理方法を反映しています。また、ownerbootを統合することで、ファームウェアの完全なバージョン管理と安全な管理を実現し、ファームウェアとソフトウェアの間の人工的な区別をなくしています。現在、ワークステーション、サーバー、ルーターなど、様々なデバイスで動作しています。

開発

極小Ruby X11ウィンドウマネージャー:rubywm

2025-01-31
極小Ruby X11ウィンドウマネージャー:rubywm

既存のウィンドウマネージャーに不満を持っていた作者が、1000行にも満たない純粋なRubyコード(X11ドライバを含む)で、極小のウィンドウマネージャーrubywmを作成しました。タイルとフローティングウィンドウレイアウトをサポートしますが、ウィンドウ装飾やドラッグアンドリサイズ機能はありません。キーボード操作はすべてsxhkdなどの外部ツールに委譲され、通信はX11 ClientMessageイベントで行われます。現在、シングルモニターのみをサポートしており、実験段階であるためクラッシュする可能性があります。作者の主な目的は個人的な使用であり、大規模なユーザーベースをターゲットとしていません。

671BパラメーターのDeepSeek R1モデルのローカル展開

2025-01-31

この記事では、Ollamaを使用して671BパラメーターのDeepSeek R1大規模言語モデルをローカルに展開した経験について詳述しています。著者は、1.73ビットと4ビットの2つの量子化バージョンを試しました。それぞれ少なくとも200GBと500GBのメモリが必要です。4つのRTX 4090と384GBのDDR5 RAMを搭載したワークステーションでは、テストの結果、1.73ビットバージョンの方が生成速度はやや速いものの、4ビットバージョンの方が安定しており、不適切なコンテンツを生成する可能性が低いことがわかりました。著者は、モデルをより軽いタスクに使用し、速度が大幅に低下する長いテキストの生成を避けることを推奨しています。展開には、モデルファイルのダウンロード、Ollamaのインストール、モデルファイルの作成、モデルの実行が含まれており、メモリ不足エラーを回避するために、GPUとコンテキストウィンドウのパラメーターを調整する必要がある場合があります。

arXivLabs:コミュニティと協力した実験プロジェクト

2025-01-31
arXivLabs:コミュニティと協力した実験プロジェクト

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

Reaktiv:Pythonのためのリアクティブプログラミングライブラリ

2025-01-31
Reaktiv:Pythonのためのリアクティブプログラミングライブラリ

Reaktivは、Angularのリアクティブモデルに着想を得て、一流のasync/awaitサポートを提供する、Python向けのリアクティブプログラミングライブラリです。データに依存するシグナルの生成と管理を容易にし、データが変更されると依存関係を自動的に更新します。シンプルなAPIで、同期と非同期の両方のコンテキストをサポートし、自動的な依存関係追跡、外部依存関係なし、効率的なメモリ管理などの特徴を備え、非同期プログラミングの複雑さを大幅に軽減します。

Jane Streetの10年にわたる旅:JengaからDuneへ

2025-01-30
Jane Streetの10年にわたる旅:JengaからDuneへ

Jane Streetは当初、OCamlビルドシステムであるJengaを開発しましたが、その制限により採用が限定され、オープンソース化も取り消されました。その後、よりシンプルなJbuilderを作成し、その速度が理由で予想外の普及を遂げ、最終的にDuneへと進化しました。長年の努力を経て、Jane Streetチームは7000万行のコードの内部ビルドシステムをJengaからDuneに移行することに成功し、ビルド速度を向上させ、Duneの将来の発展のための堅実な基盤を築きました。

開発

Distr:エンタープライズソフトウェア配布の簡素化

2025-01-30
Distr:エンタープライズソフトウェア配布の簡素化

Distrは、顧客管理または共有責任環境へのエンタープライズソフトウェア配布を簡素化します。直感的なWeb UIで、すべてのデプロイと接続されたエージェントを表示できます。ホワイトラベルの顧客ポータルにより、顧客はデプロイを制御できます。豊富なSDKを使用してAPIにアクセスできます。完全にオープンソースで、自己ホスティング可能です。Distr HubはDockerイメージとして配布され、Docker Composeを使用したデプロイ例を提供します。包括的なドキュメントでは、自己ホスティングとソースからのビルドについて説明しており、JavaScript SDKを使用してアプリケーションを統合できます。

あなたのGitリポジトリで最も古い行を発掘する

2025-01-30

著者は、Gitリポジトリ内で最も古いコード行を見つけるためのシェルスクリプトを共有しています。このスクリプトは、`git blame`コマンドと`find`、`awk`コマンドを使用して、バイナリ以外のファイルをフィルタリングし、最も古いコミットの行を特定します。これにより、プロジェクトの歴史の一端が明らかになります。現在、2000年以降のコミットに限定されていますが、コードベースの進化を垣間見ることができる、興味深い方法です。

顧客ワークフローの自動化:オンボーディングからコンプライアンスまで

2025-01-30

この記事では、3つの自動化された顧客ワークフローについて説明します。顧客オンボーディング(ドキュメント収集、本人確認、アカウント設定、歓迎コール、自動化された歓迎資料)、KYC(顧客本人確認、リスク評価、ドキュメント収集、バックグラウンドチェック、コンプライアンス記録の維持)、契約レビュー(最初のドラフトレビュー、法務チーム承認、利害関係者からのフィードバック、改訂履歴追跡、電子署名収集、最終的なドキュメント保管)です。これらのプロセスの自動化により、効率の大幅な向上、リスクの軽減、顧客体験の向上を実現します。

Stats:メニューバーに常駐するmacOSシステムモニター

2025-01-30
Stats:メニューバーに常駐するmacOSシステムモニター

Statsは、メニューバーに常駐するmacOSシステムモニターアプリケーションです。CPUとGPUの使用率、メモリ使用量、ディスクI/O、ネットワークアクティビティ、バッテリーレベルなどのリアルタイム情報を提供します。macOS 10.15(Catalina)以降に対応しており、センサーデータ(温度、電圧、電力)とBluetoothデバイスの監視機能も備えています。M1チップ搭載Macでは、センサーデータを取得するためにHIDセンサーを手動で有効にする必要があります。IntelベースのMacでは、Intel Power GadgetをインストールすることでCPUクロック周波数を表示できます。消費電力を削減するには、センサーやBluetoothなどのモジュールを無効にすることができます。MITライセンスの下でリリースされており、翻訳や機能改善への貢献を歓迎しています。

iterm-mcpでLLMからiTermを制御する

2025-01-30
iterm-mcpでLLMからiTermを制御する

iterm-mcpは、LLMがiTermセッションにアクセスできるようにするモデルコンテキストプロトコル(MCP)サーバーです。モデルに必要な出力のみを読み取ることで、トークンの効率的な使用を実現します。LLMがiTermと対話し、質問に答えたり、タスクを実行したりできる自然な統合を提供します。REPLサポートによる完全なターミナル制御も可能です。npxで簡単にインストールでき、Claude Desktopなどのクライアントとの統合も容易です。簡素化を優先していますが、組み込みのセキュリティ制限がないため、ユーザーはモデルのアクティビティを監視し、注意を払う必要があります。

開発

APLの世界を探る:ロシア文学レビュー

2025-01-30

1990年にモスクワで発行されたロシア語の文献レビュー『APL言語の世界』は、Kondrashevらが執筆し、APLプログラミング言語の概要を紹介しています。この論文は、APLの歴史、用途、特徴に関する洞察を提供し、APLを研究する研究者にとって興味深いものとなるでしょう。

Audiocube:革新的なスタンドアロン型3D DAW

2025-01-30
Audiocube:革新的なスタンドアロン型3D DAW

雑然としたVSTプラグインの設定はもう終わりにしましょう!Audiocubeは、カスタムオーディオ、物理、グラフィックエンジンを搭載したスタンドアロン型の3Dデジタルオーディオワークステーション(DAW)です。比類のない深さとコントロールを提供します。没入型オーディオの作成と探求を可能にし、プラグインでは得られないレベルの創造的な自由を提供します。オーディオ制作の近代的なアプローチを探しているミュージシャンにとって完璧なソリューションです。

LibreOfficeダウンロード数4億突破!デスクトップオフィススイートの復活劇

2025-01-30
LibreOfficeダウンロード数4億突破!デスクトップオフィススイートの復活劇

LibreOfficeのダウンロード数のヒストグラムは、その驚くべき生命力を物語っています。2011年から2014年にかけて、激しい競争にもかかわらず、ダウンロード数は3000万に急増しました。その後数年間は停滞期を迎えましたが、デスクトップオフィススイートが時代遅れになる運命にあると思われた時期でした。しかし、状況は変わり、クラウドとデスクトップオフィススイートの共存をユーザーが認識したことで、LibreOfficeのダウンロード数は再び急上昇しました。2019年にはダウンロードカウンターへの攻撃がありましたが、LibreOfficeは成長を続け、2024年には3500万ダウンロードを突破、2011年以降の累計ダウンロード数は4億を超えました。これは、開発チーム、貢献者、そしてすべてのユーザーの支援の証です。

Temporal API:JavaScriptにおける日付と時刻処理の革命

2025-01-30
Temporal API:JavaScriptにおける日付と時刻処理の革命

Temporal APIは、JavaScriptにおける日付と時刻の操作を簡素化します。中国の旧暦など、様々なカレンダーシステムをサポートし、タイムゾーンの変換をシームレスに処理し、直感的な比較メソッドを提供します。例えば、次の中国の旧正月を計算したり、将来のUnixタイムスタンプまでの期間を決定したりできます。`toLocaleString`の挙動はブラウザの実装によって多少異なりますが、Temporal APIは堅牢な日付と時刻の操作を提供し、開発者にとって福音となります。

開発 日付時刻

teemoji:ターミナル出力に絵文字を追加するCLIツール

2025-01-30
teemoji:ターミナル出力に絵文字を追加するCLIツール

teemojiは、古典的なteeユーティリティにインスパイアされたコマンドラインツールです。Core MLモデルを使用して、各テキスト行に適切な絵文字を予測して追加し、コマンドラインワークフローに楽しく、文脈に沿った要素を加えます。絵文字の予測、標準入出力のサポート、ファイル処理オプション(追加または上書き)、既存のシェルパイプラインへの容易な統合などの機能があります。Homebrew経由で簡単にインストールでき、使い方は標準のteeコマンドと似ており、絵文字機能と便利なオプションが追加されています。

開発

ハードコアRust:動的メモリ確保なしのレイ トレーサー

2025-01-30

この記事では、最小限で人工的に制限されたAPI(動的メモリ確保なし)のみを使用してRustアプリケーションを作成するケーススタディについて説明します。著者は、RAII(Resource Acquisition Is Initialization)が乱雑なリソース管理につながると批判し、「ハードコアモード」を提案しています。これは、プログラムを`std`バイナリと`#![no_std] no_alloc`ライブラリに分割し、バイナリのみがOSから直接リソースを要求することを許可するものです。おもちゃのレイ トレーサーを例として使用して、著者はこの「ハードコアモード」におけるピクセルバッファ、並列処理、メモリ アロケーター、シーンの解析の処理方法を詳細に説明し、最終的に動的メモリ確保なしでレイ トレーサーを実現しています。

開発

逆コンパイル研究の復活:2024年を振り返る

2025-01-30
逆コンパイル研究の復活:2024年を振り返る

2024年は、逆コンパイル研究の顕著な復活の年でした。その年に発表された学術論文は、この分野における過去最高のトップレベル論文の約30%を占めています。この記事では、2024年の逆コンパイル研究における学術的およびイデオロギー的な進歩をまとめます。学術論文の急増があり、そのうち4本は「優れた」逆コンパイルの定義に焦点を当て、4本はシンボル予測やコードの簡素化など、AIの役割を探求しました。ほとんどすべての論文にはオープンソースの実装が含まれており、業界での採用を促進しました。この年は、逆コンパイルのパイオニアであるクリスティナ・シフエンテス博士による講演ツアーと、Recon 2024での著名な専門家パネルも開催され、この分野をさらに前進させました。

Mathesar:Postgresのためのオープンソーススプレッドシート風インターフェース

2025-01-30
Mathesar:Postgresのためのオープンソーススプレッドシート風インターフェース

Mathesarは、Postgresデータの閲覧、編集、クエリを直感的なスプレッドシート風インターフェースで行えるオープンソースアプリケーションです。あらゆる技術レベルのユーザーが直接データ上で共同作業できます。100%オープンソース、自己ホスト型で、ネイティブのPostgresアクセス制御によりセキュリティを確保しています。Mathesarは、簡単なインストール(Docker使用)、あらゆるデータサイズに対応するスケーラビリティ、既存インフラストラクチャへのシームレスな統合を特長としています。ユーザーフレンドリーなインターフェースはデータベース操作を簡素化し、堅牢なセキュリティ機能はデータ保護を保証します。

開発

showkey:キーボードトラブルシューティングのためのLinuxコマンドラインツール

2025-01-30
showkey:キーボードトラブルシューティングのためのLinuxコマンドラインツール

著者は、']'キーが繰り返し押されるという奇妙な問題に遭遇しました。Linuxのコマンドラインツール`showkey`を使用して、原因を発見しました。それは、机の下のIMSAI 8080レプリカに、2台目のキーボードが押し付けられていたことでした。`showkey`はキーコードとスキャンコードを表示し、キーボード入力のトラブルシューティングに役立ちます。-aオプションを使用すると、押されたキーのASCII、10進数、8進数、16進数の値が表示されます。この記事では、`showkey`のインストール、使用方法、オプションについて詳しく説明し、著者の問題解決の経験を共有しています。

GitHub Actions: BlueskyへのRSSフィード自動投稿

2025-01-30
GitHub Actions: BlueskyへのRSSフィード自動投稿

Blueskyfeedbotは、RSS/ATOMフィードをBlueskyに自動投稿するGitHub Actionsです。ユーザーはGitHubリポジトリを作成し、シークレット(Blueskyのユーザー名とアプリパスワード)を設定し、RSSフィードURLとHandlebarsテンプレートを指定したワークフローファイルを設定するだけで、自動投稿を実現できます。Blueskyへのコンテンツ配信を簡素化し、ブロガーや開発者にとって便利なソリューションとなります。

開発

元EAエンジニアがJankを開発:ClojureとC++を融合した新しいプログラミング言語

2025-01-29
元EAエンジニアがJankを開発:ClojureとC++を融合した新しいプログラミング言語

元Electronic Arts(EA)のエンジニアであるJeaye Wilkerson氏が、Clojureのインタラクティブな性質とC++のネイティブコンパイル速度と最小限のランタイムを組み合わせた新しいプログラミング言語「Jank」を開発しています。LLVMを基盤とし、C++、Clojure、Rustの要素を組み込んだJankは、Clojureのネイティブ方言を目指しています。このプロジェクトはコミュニティから大きな注目を集め、最も人気のある未発表のClojureプロジェクトの1つとなっています。動的型付けと静的型付けを自由に切り替えられる点が特徴で、迅速な開発とパフォーマンス最適化の両立を実現します。Jankは、ゲーム開発、GUI開発、データサイエンスなど、幅広い分野で強力なツールとなることが期待されています。

開発

Zedエディタ2025ロードマップ:Vimモードとユーザーエクスペリエンスの強化

2025-01-29
Zedエディタ2025ロードマップ:Vimモードとユーザーエクスペリエンスの強化

Zedエディタチームは、2025年のロードマップを発表しました。Vimモードの改善と全体的なユーザーエクスペリエンスの強化に重点が置かれています。計画には、コマンドパレット、ファイル名補完、コマンド履歴などのエディタ以外のユーザーエクスペリエンスの向上、Neovimとの並列テストによるVimモードの互換性の向上、よりスムーズで簡単な操作のための複数カーソルエクスペリエンスの改善が含まれています。このロードマップは、Vimの強力な機能と現代的なユーザーエクスペリエンスを兼ね備えたエディタとしてのZedの実現を目指しています。

ウェブサイトのパフォーマンス向上:インクリメンタル検索の魅力

2025-01-29

ウェブサイトの通知には、サイトを表示するにはJavaScriptが必要であることが記載されており、インクリメンタル検索の実装によりサーバーのパフォーマンスが測定可能なほど向上したことが自慢されています。古いブラウザとの非互換性の言及は、ユーザーエクスペリエンスとパフォーマンスを向上させるための技術的アップグレードを強調しています。

Dartマクロプロジェクトの廃止:データ処理とビルド速度の改善に注力

2025-01-29

Dartチームは、コンパイル時間のコストが高く、開発エクスペリエンス(特にステートフルホットリロード)に影響を与えるため、長年取り組んできたマクロプロジェクトの廃止を発表しました。チームは克服できない技術的な障害があることを認め、マクロの開発を続けるよりも、データ処理能力とビルド速度の向上を優先することにしました。今後の取り組みは、データのシリアライズ/デシリアライズのサポートの改善、`build_runner`ツールの強化、そしてマクロプロジェクトの一部として最初にプロトタイプ化された機能である拡張機能の独立したリリースに焦点を当て、開発者のワークフローを改善します。

開発
1 2 173 174 175 177 179 180 181 214 215