並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 305件

新着順 人気順

python for in list loopの検索結果1 - 40 件 / 305件

  • とほほのHaskell入門 - とほほのWWW入門

    概要 Haskellとは 関数型言語 純粋関数型言語 インストール Haskell Stack Hello world 基本 予約語 コメント ブロック レイアウト 入出力 型 変数 数値 文字(Char) 文字列(String) エスケープシーケンス リスト([...]) タプル((...)) 演算子 関数 演算子定義 再帰関数 ラムダ式 パターンマッチ ガード条件 関数合成(.) 引数補足(@) 制御構文 do文 let文 if文 case文 where文 import文 ループ データ型 データ型(列挙型) データ型(タプル型) データ型(直和型) 新型定義 (newtype) 型シノニム (type) 型クラス (class) メイビー(Maybe) ファンクタ(Functor) アプリケイティブ(Applicative) モナド(Monad) モジュール (module) 高階関

    • 「なんで、for文ってforなの?」って、みんな思ったはず。 - Qiita

      はじめに PythonやJavaScript、PHPなどのさまざまなプログラミング言語で"for文"というものが最初に出てきますよね。どの教材でもfor文は使われ、絶対にプログラムでも多用しています。アンチパターンもいくつかありますが、逆を言えば、アンチパターンがあるくらい使い方があります。 最初に思うはずです。 「なんで、for文ってforなの?」 これまでに受け入れてきてしまった"for"について由来を見てみましょう。知らなそうなエンジニアに自慢してみてください。 for文とは 基本的な使い方としては、何かの指示に従って配列オブジェクトなどに対して、適用できる「〇〇の分だけ、同じ処理をしてね!」というものです。 (for文とはなんぞ、別にやらんでいいやろ!と思われるかもですが、簡単にPythonで書いておきます。) 同じ処理を繰り返すので「ループ処理」とも言われます。ではなぜloopじ

        「なんで、for文ってforなの?」って、みんな思ったはず。 - Qiita
      • CPUエミュレータをRustで自作する - Don't Repeat Yourself

        この記事は Rust Advent Calendar 2020 ならびに CyberAgent Developers Advent Calendar 25日目の記事です。 今年のはじめの頃になりますが、『CPUの創り方』という本に載っている TD4 という CPU を実装してみました。TD4 は「とりあえず動作するだけの4bit CPU」の略です。この本に載っている CPU エミュレータを実際に実装してみました。ただし、本書には GUI が載っていましたが、それは省略しました。 CPUの創りかた 作者:渡波 郁発売日: 2003/10/01メディア: 単行本(ソフトカバー) 「最近話題の RISC-V などの CPU エミュレータを作ってみたいものの、いきなり作るにはハードルが高い。何か簡単なもので素振りをして CPU の動作の仕組みをまずは知りたい」という方にはかなりオススメできる教材だ

          CPUエミュレータをRustで自作する - Don't Repeat Yourself
        • Pythonで理解するMCP(Model Context Protocol) | gihyo.jp

          動作環境 Python 3.12 ライブラリの使用バージョン gradio 5.34.2 anthropic 0.54.0 mcp 1.9.4 python-dotenv 1.1.0 仮想環境とライブラリインストール % cd mcp-host-with-gradio % python3 -m venv venv % source venv/bin/activate (venv) % pip install gradio anthropic mcp dotenv .envファイルの設定 AnthropicのAPIキーが必要です。APIキーの作成は以下を参考にしてください。APIの利用には料金がかかりますが、API従量課金であれば5ドルから始めることが可能です。 Claudeを使い始める -Anthropic .env ANTHROPIC_API_KEY=xxxxxxxxxxxxxxxxxx

            Pythonで理解するMCP(Model Context Protocol) | gihyo.jp
          • プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ

            技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.0.0 がリリースされました。一昨年、昨年に続き、今年も Ruby 3.0 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は一昨年の記事を見てください(なお Ruby 3.0.0 から、NEWS.md にファイル名を変えました)。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ Ruby 3.0 は、Ruby にとってほぼ 8 年ぶりのメジャーバージョンア

              プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ
            • ChatGPTに渡す文章の適切な区切り線について検証した記事|Clirea

              はじめに大規模言語モデルであるChatGPTに文章を渡す際、適切な区切り線の使用は、情報の正確な伝達や解釈に大いに役立ちます。 この記事では、区切り線に適切なものを検証します。 区切り線とは?使い方区切り線は文章を区切る時に使用する文字列のことです。 例えば下記のようなものです。 また、使い方をまとめた記事もあるので参考にしてください。 def test() a = "a" b = "b" c = a + b print(c) ================================ ←これが区切り線 上記のコードについて教えてください 結論先に結論を言うと、4個~16個連続した「-」か「=」 もしくは8の倍数の「-」か「=」が区切り線としてはベストでした。 ---- ---------------- -------------------------------- ==== ==

                ChatGPTに渡す文章の適切な区切り線について検証した記事|Clirea
              • N番目の素数を求める - すぎゃーんメモ

                SNSなどで話題になっていたので調べてみたら勉強になったのでメモ。 環境 Pythonでの実装例 例1 例2 例3 エラトステネスの篩 Rustでの実装例 試し割り法 エラトステネスの篩 アトキンの篩 おまけ: GMP Benchmark 高速化のテクニック 上限個数を見積もる Wheel factorization オチ Repository References 環境 手元のMacBook Pro 13-inchの開発機で実験した。 2.8 GHz Intel Core i7 16 GB 2133 MHz LPDDR3 Pythonでの実装例 例1 最も単純に「2以上p未満のすべての数で割ってみて余りが0にならなかったら素数」とする、brute force 的なアプローチ。 import cProfile import io import pstats import sys def m

                  N番目の素数を求める - すぎゃーんメモ
                • TabFS

                  Going through the files inside a tab's folder. For example, the url.txt, text.txt, and title.txt files tell me those live properties of this tab (Read more up-to-date documentation for all of TabFS's files here.) This gives you a ton of power, because now you can apply all the existing tools on your computer that already know how to deal with files -- terminal commands, scripting languages, point-

                    TabFS
                  • Pythonの非同期処理でasync/awaitがつらい人はWoveを使ってみてはどうだろう? #こまPy|Atsushi Shibata

                    Pythonの非同期処理でasync/awaitがつらい人はWoveを使ってみてはどうだろう? #こまPy みんなのPython 第5版発売中です!Pythonで非同期処理というと標準のasyncioを使ってasync / awaitなコードを書くことを思いつく人が多いと思います。ただasyncioには独特の「つらみ」があって、嫌いな人がいるのです。私もあんまり好きじゃない。この「つらみ」を解消しうるライブラリWoveを紹介します。最近バージョン1.0がリリースされたので、紹介したいと思います。なお、はてブでホットエントリ入りしたので(ブックマークしてくれたみなさん、ありがとうございます!)、他のasyncio様のライブラリを比較表を追記しました。 asyncはなぜつらいのか?Pythonのasyncioは、I/O待ちの多いプログラム(WebアクセスやDB通信など)を効率化する強力な仕組み

                      Pythonの非同期処理でasync/awaitがつらい人はWoveを使ってみてはどうだろう? #こまPy|Atsushi Shibata
                    • Microsoft Power Automate DesktopでRPAを実現してみる | 🌴 officeの杜 🥥

                      自分自身の個人的意見としては、エンドユーザコンピューティングは大いに結構だと思ってるけれど、一方で日本でジリジリと熱さが消えつつある国内の有象無象のRPAについては滅んだほうが良いとも思ってる。理由は後述するとして、本日良いニュースが発表されました。Power Automate Desktopについて追加費用無し無償で利用可能になるとのこと。これは既にあるMicrosoft365のEnterpriseプランなどに標準で利用できてるPower Automateのデスクトップ版のようで、Windows10に標準でついてくるようになるとのこと。 ということで、現時点のMicrosoft365で使えてるPower Automate Desktopを使ってみて、どんな感じなのか?またリリース後にその違いなどをここに記述していこうかなと思っています。また、Seleniumベースのウェブ自動化についても

                        Microsoft Power Automate DesktopでRPAを実現してみる | 🌴 officeの杜 🥥
                      • Deploy applications on Amazon ECS using Docker Compose | Amazon Web Services

                        Containers Deploy applications on Amazon ECS using Docker Compose Note: Docker Compose’s integration with Amazon ECS has been deprecated and is retiring in November 2023 There are many reasons why containers have become popular since Docker democratized access to the core Linux primitives that make a “docker run” possible. One reason is that containers are not tied to a specific infrastructure or

                          Deploy applications on Amazon ECS using Docker Compose | Amazon Web Services
                        • プロと読み解くRuby 3.4 NEWS - STORES Product Blog

                          プロと読み解くRuby 3.4 NEWS テクノロジー部門技術基盤グループの笹田(ko1)と遠藤(mame)です。Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.4.0 がリリースされました(Ruby 3.4.0 リリース )。今年も STORES Product Blog にて Ruby 3.4 の NEWS.md ファイルの解説をします(ちなみに、STORES Advent Calendar 2024 の記事になります。他も読んでね)。NEWS ファイルとは何か、は以前の記事を見てください。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者

                            プロと読み解くRuby 3.4 NEWS - STORES Product Blog
                          • The Prompt Engineering Playbook for Programmers

                            Developers are increasingly relying on AI coding assistants to accelerate our daily workflows. These tools can autocomplete functions, suggest bug fixes, and even generate entire modules or MVPs. Yet, as many of us have learned, the quality of the AI’s output depends largely on the quality of the prompt you provide. In other words, prompt engineering has become an essential skill. A poorly phrased

                              The Prompt Engineering Playbook for Programmers
                            • Ansible の SSH の通信をデバッグする - 赤帽エンジニアブログ

                              レッドハットの杉村です。Ansible のテクニカルサポートをしています。 今回は以前のお問い合わせいただいた事例から、SSH (Secure Shell Protocol) について一つ紹介しようと思います。Ansible は Linux サーバを制御対象とするときは SSH で接続して処理を実行しますので、SSH の通信についてのトラブルは問題に直結します。 RHEL 8.6 + Ansible Core 2.13 で確認しています。 Ansible の基本的な動作原理 まずは Ansible はどうやって動いているのかというのを軽く振り返ってみます。 Ansible が動作するサーバをコントロールノード、制御対象をマネージドノードと呼びます。流れを大まかに説明しますと、この図のようになります。 ① YAMLで書かれたプレイブックからタスクごとに小さなプログラムを生成する ② ①で生成

                                Ansible の SSH の通信をデバッグする - 赤帽エンジニアブログ
                              • GitHub - modelcontextprotocol/servers: Model Context Protocol Servers

                                Official integrations are maintained by companies building production ready MCP servers for their platforms. 21st.dev Magic - Create crafted UI components inspired by the best 21st.dev design engineers. ActionKit by Paragon - Connect to 130+ SaaS integrations (e.g. Slack, Salesforce, Gmail) with Paragon’s ActionKit API. Adfin - The only platform you need to get paid - all payments in one place, in

                                  GitHub - modelcontextprotocol/servers: Model Context Protocol Servers
                                • Python×株式投資:従来の100倍!銘柄選抜のバックテストを高速化した話 - Qiita

                                  # ----------------------------- # 2nd Screening V1 # ----------------------------- import time global_start_time = time.time() from google.colab import drive drive.mount('/content/drive') import pandas as pd import numpy as np import os from tqdm.notebook import tqdm import yfinance as yf from curl_cffi import requests # -------------------------------------------------- # ヘルパー関数定義セクション # --------

                                    Python×株式投資:従来の100倍!銘柄選抜のバックテストを高速化した話 - Qiita
                                  • GPT in 60 Lines of NumPy | Jay Mody

                                    January 30, 2023 In this post, we'll implement a GPT from scratch in just 60 lines of numpy. We'll then load the trained GPT-2 model weights released by OpenAI into our implementation and generate some text. Note: This post assumes familiarity with Python, NumPy, and some basic experience with neural networks. This implementation is for educational purposes, so it's missing lots of features/improv

                                    • Writing a C compiler in 500 lines of Python

                                      A few months ago, I set myself the challenge of writing a C compiler in 500 lines of Python1, after writing my SDF donut post. How hard could it be? The answer was, pretty hard, even when dropping quite a few features. But it was also pretty interesting, and the result is surprisingly functional and not too hard to understand! There's too much code for me to comprehensively cover in a single blog

                                      • How I Use Every Claude Code Feature

                                        I use Claude Code. A lot. As a hobbyist, I run it in a VM several times a week on side projects, often with --dangerously-skip-permissions to vibe code whatever idea is on my mind. Professionally, part of my team builds the AI-IDE rules and tooling for our engineering team that consumes several billion tokens per month just for codegen. The CLI agent space is getting crowded and between Claude Cod

                                          How I Use Every Claude Code Feature
                                        • PacketProxyで探るGemini CLIのコンテキストエンジニアリング 〜AIエージェントを信頼できる相棒に〜 | BLOG - DeNA Engineering

                                          2025.07.18 技術記事 PacketProxyで探るGemini CLIのコンテキストエンジニアリング 〜AIエージェントを信頼できる相棒に〜 by akira.kuroiwa #gemini-cli #ai #security #aiエージェント #コンテキストエンジニアリング #packetproxy 「なんかよく分からないけど、すごい」で終わらせないために こんにちは、DeNA セキュリティ技術グループの 黒岩 亮 ( @kakira9618 ) です。 AIエージェント、とくに Gemini CLI のようなコーディングを支援してくれるツールは非常に強力で、私たちの開発体験を大きく変えようとしています。しかし、その一方で、こんな風に感じたことはありませんか? 「このファイルの情報、勝手にAIに送られたりしない? 大丈夫かな?」 と、情報管理・セキュリティ面で漠然とした不安を

                                            PacketProxyで探るGemini CLIのコンテキストエンジニアリング 〜AIエージェントを信頼できる相棒に〜 | BLOG - DeNA Engineering
                                          • A search engine in 80 lines of Python

                                            February 05, 2024 · 9 mins · 1675 words Share on: X · HN Discussion on HackerNews. Last September I hopped on board with Wallapop as a Search Data Scientist and since then part of my work has been working with Solr, an open-source search engine based on Lucene. I’ve got the basics of how a search engine works, but I had this itch to understand it even better. So, I rolled up my sleeves and decided

                                            • An Opinionated Guide to xargs

                                              Preliminaries What Is xargs? It's an adapter between text streams and argv arrays, two essential concepts in shell. You pass it flags that specify how to split stdin. Then it generates arguments and invokes processes. Example: $ echo 'alice bob' | xargs -n 1 -- echo hi hi alice hi bob What's happening here? xargs splits the input stream on whitespace, producing 2 arguments, alice and bob. We passe

                                              • 2025年、それはスクワットの時代 🏋️ - マンガ〜ノ伊藤ノ〜ト

                                                この記事は「はてなエンジニア Advent Calendar 2024 - Hatena Developer Blog」の 41 日目の記事です。昨日は id:masayosu さんの「AWS EKS Automode のノード管理について」でした。 はてなのマンガアプリチームで Android エンジニアをやっている id:mangano-ito です。 スクワット最強説 スクワットは筋トレの中でもオススメらしいのです。 理屈はよくわかってないけど、筋トレやるならスクワットがオススメだよみたいなことはよくきくと思います: diamond.jp ので、自分は風呂前や風呂中に気休め程度にスクワットをやっている。たまに変な腹筋もやっていますが…自分のヘソを見つめるやつ。 www.nisshin.com それはさておき、スクワットのいいところとしましては、映像をみながらやりやすいということです。

                                                  2025年、それはスクワットの時代 🏋️ - マンガ〜ノ伊藤ノ〜ト
                                                • 【Python】ChatGPT効率化の為に非同期処理を実装|Clirea

                                                  非同期処理は、データ解析、APIリクエスト、ベクター化など多様なタスクにおいてパフォーマンスを向上させる鍵となる技術です。特に、待ち時間が発生しやすい多数のリクエストや処理を一度に効率よく処理したい場合、この技術は不可欠です。 非同期処理と並列処理の違い非同期処理と並列処理は、よく一緒に取り上げられることが多いですが、実はそれぞれ異なる目的と特性を持っています。 非同期処理非同期処理は、I/O待ち(ディスクへの読み書きやネットワーク通信など)といった待機時間を有効に使いながら、他のタスクを進める技術です。この方法で、全体のプログラムがスムーズに動作します。 並列処理一方で、並列処理は複数の処理を物理的に同時に行う技術です。簡単な例でいえば動画です。動画の再生と音声の再生を遅延が無いよう同時に行っています。 並列処理により、大量のデータ処理や高度な計算を高速に行えます。 まとめ簡単に言えば、

                                                    【Python】ChatGPT効率化の為に非同期処理を実装|Clirea
                                                  • 第861回 systemdの開発者が作ったmkosiで、お手軽にルートファイルシステムを構築する | gihyo.jp

                                                    Ubuntu Weekly Recipe 第861回systemdの開発者が作ったmkosiで⁠⁠、お手軽にルートファイルシステムを構築する ソフトウェアの作成時における悩ましい問題のひとつが「動作確認環境の構築」です。今回はこの動作確認環境をCI等から作成・利用しやすい「mkosi」について紹介しましょう。 mkosiとは 「mkosi」とはさまざまなディストリビューションの起動可能なOSツリーやイメージを作成するツールです。URLからもわかるように、systemdの開発者たちがsystemdの動作確認用に作ったツールでもあります。その名前の由来は「Make Operating System Image」であり、次のような機能を備えています。 UbuntuやFedoraを含むさまざまなディストリビューションのルートファイルシステムに対応 個々のリリースやCPUアーキテクチャーを指定できる

                                                      第861回 systemdの開発者が作ったmkosiで、お手軽にルートファイルシステムを構築する | gihyo.jp
                                                    • ChatGPT Retrieval Pluginに任意のベクトル検索エンジンProviderを実装する - エムスリーテックブログ

                                                      Overview エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(po3rin) です。検索とGoが好きです。 エムスリーではChatGPTの可能性にいち早く注目して活用を検討している段階ですが、本格的なデータ投入にはまだ懸念もあり、セキュリティチームと検討を進めている段階です。 そんな中で個人または組織のドキュメントのセマンティック検索と取得を可能にするChatGPTプラグイン「ChatGPT Retrieval Plugin」が登場しました。 github.com 情報検索好きとしては黙っていられず、外部公開用のエムスリーAI・機械学習チームのメンバー紹介ドキュメントを使ってローカルで試してみました。 # 用意したドキュメント 中村弘武は東京都在住で、エムスリーという企業で働いでいます。 エムスリーの検索基盤を主に担当しています。また、書

                                                        ChatGPT Retrieval Pluginに任意のベクトル検索エンジンProviderを実装する - エムスリーテックブログ
                                                      • LogLog Games

                                                        The article is also available in Chinese. Disclaimer: This post is a very long collection of thoughts and problems I've had over the years, and also addresses some of the arguments I've been repeatedly told. This post expresses my opinion the has been formed over using Rust for gamedev for many thousands of hours over many years, and multiple finished games. This isn't meant to brag or indicate su

                                                        • Announcing .NET 10 - .NET Blog

                                                          Today, we are excited to announce the launch of .NET 10, the most productive, modern, secure, intelligent, and performant release of .NET yet. It’s the result of another year of effort from thousands of developers around the world. This release includes thousands of performance, security, and functional improvements across the entire .NET stack-from languages and developer tools to workloads-enabl

                                                            Announcing .NET 10 - .NET Blog
                                                          • バグらせやすい書き方をすれば当然バグは出やすい - えびちゃんの日記

                                                            導入 rsk0315.hatenablog.com こういう話はある*1んですが、最初からバグらせやすい書き方をしておいて「バグが出たー」と言われてもそれはそうとなってしまうので、そういうのを控えるくらいのことはするべきだと思います。 書き方が悪いせいで「十分に複雑なコード」になってしまっているものもあります(もちろん概念自体が複雑なものを実装するときは複雑になって当然ですが)。 「控えるべき書き方」とか「書くときに気をつけるべきこと」とかを紹介します。 あくまで自分の主観であって、読み手の人の方針に反するのであれば強制する気はないです。「こういう書き方もあるよー」くらいに捉えてください。 導入 紹介 控えたいこと フラグ変数を乱用しない デバッグは標準エラー出力に書く 出力パートは一箇所にまとめる 計算パートと入出力パートは分ける いくつかの具体例だけで考察を終わらせない 書きながら気を

                                                              バグらせやすい書き方をすれば当然バグは出やすい - えびちゃんの日記
                                                            • The Scary Thing About Automating Deploys - Engineering at Slack

                                                              Most of Slack runs on a monolithic service simply called “The Webapp”. It’s big – hundreds of developers create hundreds of changes every week. Deploying at this scale is a unique challenge. When people talk about continuous deployment, they’re often thinking about deploying to systems as soon as changes are ready. They talk about microservices and 2-pizza teams (~8 people). But what does continuo

                                                              • The AWK Programming Language, Second Edition

                                                                Updated Mon Feb 5 10:22:02 EST 2024 Available in paperback and e-book formats. Order at Amazon and other fine booksellers. Introduction This page holds material related to the second edition of The AWK Programming Language. The first edition was written by Al Aho, Brian Kernighan and Peter Weinberger in 1988. Awk has evolved since then, there are multiple implementations, and of course the computi

                                                                • What We Learned from a Year of Building with LLMs (Part I)

                                                                  It’s an exciting time to build with large language models (LLMs). Over the past year, LLMs have become “good enough” for real-world applications. The pace of improvements in LLMs, coupled with a parade of demos on social media, will fuel an estimated $200B investment in AI by 2025. LLMs are also broadly accessible, allowing everyone, not just ML engineers and scientists, to build intelligence into

                                                                    What We Learned from a Year of Building with LLMs (Part I)
                                                                  • Prototyping in Rust | corrode Rust Consulting

                                                                    Programming is an iterative process - as much as we would like to come up with the perfect solution from the start, it rarely works that way. Good programs often start as quick prototypes. The bad ones stay prototypes, but the best ones evolve into production code. Whether you’re writing games, CLI tools, or designing library APIs, prototyping helps tremendously in finding the best approach before

                                                                      Prototyping in Rust | corrode Rust Consulting
                                                                    • 📖 vLLMのコードを読んでみよう - ENGINEERING BLOG ドコモ開発者ブログ

                                                                      こんにちは、NTTドコモR&D戦略部の門間です。 この記事では、vLLMのコードを追いつつその中身の動きに迫りたいと思います。 最近、業務やプライベートでLLM関連のいろいろを触っていますが、 OSSのコードリーディングを通じてLLMの推論処理への理解を深めたいというモチベーションです。 🤖 vLLMって? 📚 前提知識 Attention Is All You Need Paged Attention Continuous Batching 📦 vLLMの開発用インストール (Pythonコード開発のみ) Wheelのインストール リポジトリのクローン 起動確認 Pythonコードの改変 デバッガを使ったOSSのコードリーディングのススメ 🧩 vLLMのソフトウェアアーキテクチャ オンライン推論 : FastAPIサーバの立ち上げとEngineClientの生成 1. Engin

                                                                        📖 vLLMのコードを読んでみよう - ENGINEERING BLOG ドコモ開発者ブログ
                                                                      • Writing Toy Software Is A Joy

                                                                        I am a huge fan of Richard Feyman’s famous quote: “What I cannot create, I do not understand” I think it’s brilliant, and it remains true across many fields (if you’re willing to be a little creative with the definition of ‘create’). It is to this principle that I believe I owe everything I’m truly good at. Some will tell you to avoid reinventing the wheel, but they’re wrong: you should build your

                                                                        • Ruby vs Python comes down to the for loop

                                                                          So much of how Ruby and Python differ comes down to the for loop. Python embraces for. Objects tell for how to work with them, and the for loop’s body processes what’s given back by the object. Ruby does the opposite. In Ruby, for itself (via each) is a method of the Object. The caller passes the body of the for loop to this method. With idiomatic Python, the object-model submits to the for loop.

                                                                          • Python 3.13 gets a JIT

                                                                            Happy New Year everyone! In late December 2023 (Christmas Day to be precise), CPython core developer Brandt Bucher submitted a little pull-request to the Python 3.13 branch adding a JIT compiler. This change, once accepted would be one of the biggest changes to the CPython Interpreter since the Specializing Adaptive Interpreter added in Python 3.11 (which was also from Brandt along with Mark Shann

                                                                              Python 3.13 gets a JIT
                                                                            • Memory Allocation

                                                                              One thing that all programs on your computer have in common is a need for memory. Programs need to be loaded from your hard drive into memory before they can be run. While running, the majority of what programs do is load values from memory, do some computation on them, and then store the result back in memory. In this post I'm going to introduce you to the basics of memory allocation. Allocators

                                                                                Memory Allocation
                                                                              • Changing std::sort at Google’s Scale and Beyond

                                                                                TL;DR; We are changing std::sort in LLVM’s libcxx. That’s a long story of what it took us to get there and all possible consequences, bugs you might encounter with examples from open source. We provide some benchmarks, perspective, why we did this in the first place and what it cost us with exciting ideas from Hyrum’s Law to reinforcement learning. All changes went into open source and thus I can

                                                                                  Changing std::sort at Google’s Scale and Beyond
                                                                                • Things we learned about LLMs in 2024

                                                                                  31st December 2024 A lot has happened in the world of Large Language Models over the course of 2024. Here’s a review of things we figured out about the field in the past twelve months, plus my attempt at identifying key themes and pivotal moments. This is a sequel to my review of 2023. In this article: The GPT-4 barrier was comprehensively broken Some of those GPT-4 models run on my laptop LLM pri

                                                                                    Things we learned about LLMs in 2024