The Modular community has been buzzing with activity over the past month. 🐝 MAX 24.5 featured improvements to Llama 3.1 CPU performance, our biggest Mojo update ever, and more. The community has been busy building creative MAX and Mojo projects, including a terminal snake game by DobyDabaDu and a shader transpiler by Hammad Ali.
The Mojo standard library merged contributions from 16 community members, including several first-time contributors. 🥳 We also hosted two community meetings, where we learned about SIMD, case conversions, hash functions, the MAX engine and driver APIs, and Magic. Kudos to Gabriel De Marmiesse and Maxim Zaks for presenting! Next week is the LLVM Developers' Meeting, where Modular will present five talks on GPU programming, Mojo language topics, compiler internals, and MLIR evolution.
Blogs, Tutorials, and Videos
- Max 24.5 featured improvements to Llama 3.1 CPU performance, our biggest Mojo update ever, and more. Check out the blog post and the changelog for MAX and Mojo.
- What happens when you ask LLMs to write Mojo? Julian Acero shared his experience fine-tuning GPT-4o to enable AI-powered code editor Cursor to write better Mojo in our latest community spotlight.
- Dive into Mojo 24.5’s core language changes and standard library enhancements with our blog post.
- In our latest YouTube tutorial, Developer Advocate Bill Welense walks through the process of getting started with Magic, including installation, environment setup, adding dependencies, and more.
- During Community Meeting #7, Gabriel De Marmiesse talked about SIMD in complex algorithms, Maxim Zaks gave a presentation on hash functions and where to find them, and we even heard from SIMD expert and renowned computer science researcher and professor Daniel Lemire.
- During Community Meeting #8, we learned about the MAX driver and engine API, hosted an Ask Me Anything session focused on Magic, and heard from Maxim Zaks about unicode and case conversions in Mojo.
- Chris Lattner wrote a proposal to gain consensus on Mojo naming topics. Feedback welcome in the GitHub Issue.
- Mojo was featured in the TIOBE programming community index, a measure of programming language popularity based on the number of search engine results for queries containing the name of the language. Just over a year after release, Mojo has been included in the index for the first time at #49!
- Darcy DeClute created a video highlighting how Mojo complements Python.
- Ferdinand Schenck wrote a blog post about speeding up CRC-32 calculations in Mojo.
- The Next Web wrote about Mojo: Could new programming language Mojo spark your career in AI and ML?
Awesome MAX + Mojo
Want to learn more about these projects? Chat with their creators in the #community-showcase channel of our Discord server.
- Tyoma Makeev shared a bash script for interactive search over existing Mojo codebases.
- DobyDabaDu created a terminal snake game from scratch in Mojo and a little bit of C.
- guidorice released a new version of
mojo-pytest
, the Mojo plugin for Python testing frameworkpytest
, that works with Mojo 24.5. - Hammad Ali built a shader transpiler in Mojo that lets you write code in a single shader language that can be transpiled into any shader language.
- Lukas shared proof of concept Mojo bindings to wgpu-native (a native WebGPU implementation in Rust).
- Peter Homola wrote a proof of concept web app that runs Mojo.
- Tom Gale shared his project called mo3d, which aims to be a 3D graphics library built from the ground up in Mojo, with minimal external dependencies.
- TilliFe released Endia 24.5.0, which works with MAX and Mojo 24.5 and includes a new Fast-Fourier-Transform module, a faster JIT compiler leveraging MAX Engine, simpler installation, and more.
- sazid shipped Fireflake, a Mojo implementation of Snowflake ID, a unique identifier system used in distributed computing and originally created by Twitter/X.
- a2svior released Lightbug versions 0.1.3 and 0.1.4. 0.1.3 included performance and stability improvements and a new installation workflow, while 0.1.4 refactored header parsing and data structures.
- fnands sped up calculations for Mimage, a Mojo image parsing library, by approximately 40 times.
- toasty created termios bindings for Mojo.
- Soren Brunk updated duckdb.mojo (Mojo bindings for DuckDB) to MAX/Mojo 24.5, and added CI tests.
- AkaHenry converted a Rust library (Rust’s uuid) into a Mojo library through FFI binding.
- mad alex 1997 released NuMojo version 0.3, which supports Mojo 24.5 and includes features like like linear algebra functions, a new IO module, and new methods to work with NDArray.
- Martin Dudek published a project called
mojo-dictionary-benchmarks
that compares the performance of various dictionary implementations in Mojo, with Python and Rust implementations as references. - bgreni started developing a high-level JSON library for Mojo.
Open-Source Contributions
If you’ve recently had your first PR merged, message Caroline Frasca (@Caroline_Frasca) on Discord to claim your epic Mojo swag!
Check out the recently merged contributions from our valuable community members:
- bgreni [1]
- tboerstad [1]
- mzaks [1] [2] [3] [4] [5]
- msaelices [1] [2] [3] [4] [5]
- szbergeron [1] [2]
- helehex [1]
- shayan-shams [1]
- gabrieldemarmiesse [1] [2]
- hayduker [1] [2] [3] [4]
- Brian-M-J [1] [2]
- martinvuyk [1] [2] [3]
- soraros [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
- yichi170 [1]
- rd4com [1] [2] [3] [4]
- fknfilewalker [1]
- jjvraw [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
Coming Up
Modular Community Meeting
Mark your calendars – the next Modular Community Meeting will take place on October 21st at 10 AM PT. RSVP in Discord.
LLVM Developers’ Meeting
Multiple Modular engineers will give talks at the upcoming LLVM Developers’ Meeting in Santa Clara, California on October 22-24th:
- What we learned from building Mojo’s optimization pipeline by Weiwei Chen on October 23rd at 10:30-11 AM PT
- Efficient Coroutine Implementation in MLIR by Steffi Stumpos on October 23rd at 2:45-3:15 PM PT
- Is MLIR feature complete? Production ready? (Panel) featuring Chris Lattner on October 24th at 1:15-2:15 PM PT
- Simplifying GPU Programming with Parametric Tile-Level Tensors In Mojo by Ahmed Taei on October 24 at 2:45-3:15 PM PT
- Implementing Linear / Non-destructible Types in Mojo by Evan Ovadia on October 24 at 4:45-5:15 PM PT
Modular will also have a sponsor booth at the conference – stop by to chat with our team, learn about open roles, and pick up swag!