Modular
Modular
  • Видео 58
  • Просмотров 340 015
MAX + Mojo Community Meetings #7
Recording of the MAX + Mojo Community Meeting #7
🤝 Join our community: www.modular.com/community?
Meeting agenda:
🧮 SIMD in complex algorithms
🔍 Hash functions and where to find them
Full agenda and details below! ⬇️
modul.ar/community-meeting-doc
Hang out with us on other platforms:
Discord - discord.gg/modular
Github - github.com/modularml/mojo
X (aka Twitter) - x.com/modular
Просмотров: 1 554

Видео

MAX & Mojo Licensing
Просмотров 2,1 тыс.Месяц назад
MAX & Mojo Licensing #Mojo #MAX #license #community #ai #ml #machinelearning #programming
MAX + Mojo Community Meetings #6
Просмотров 2,2 тыс.Месяц назад
This is a video about MAX & Mojo Community Meetings #6 00:00 Introduction 00:27 Small buffer and string optimizations 13:04 DuckDB bindings in Mojo 23:15 MAX and Mojo together 43:54 MAX & Mojo licensing Full agenda and details below! ⬇️ modul.ar/community-meeting-doc Join our Community! 🚀 Discord - discord.gg/modular Getting started with MAX: docs.modular.com/max/ GitHub - github.com/modularml/...
Deploy MAX optimized models with Amazon SageMaker AWS CloudFormation
Просмотров 385Месяц назад
In this video, we'll walk you through this MAX tutorial and discuss what's happening under the hood. docs.modular.com/max/tutorials/deploy-cloudformation-sagemaker Chapters: 00:00 Introduction 01:00 Overview of different ways to deploy MAX on AWS 01:50 Getting started with the tutorial 02:45 What's in the cloud formation script 04:40 Viewing resources in the Amazon SageMaker console 07:30 Invok...
Mojo 🔥 Community Meeting #5
Просмотров 3,7 тыс.Месяц назад
Recording of the Mojo Community Meeting #5 🔢 Chris Lattner on GPU programming with Mojo 🔥 🔀 Async Mojo 🔥 - 10 Simple Rules ❓ Community Q&A Full agenda and details below! ⬇️ modul.ar/community-meeting-doc Join our Community! 🚀 Discord - discord.gg/modular Github - github.com/modularml/mojo X (aka Twitter) - x.com/modular
Mojo 🔥 Community Meeting #4
Просмотров 1,5 тыс.2 месяца назад
Recording of the Mojo Community Meeting #4 🫓 Flat Buffers: memory efficient serialization ⚒️ Forge Tools: extending the Mojo 🔥 standard library 🔄 Mojo 🔥 Generics: status and future work Full agenda and details below! ⬇️ modul.ar/community-meeting-doc Join our Community! 🚀 Discord - discord.gg/modular Github - github.com/modularml/mojo X (aka Twitter) - x.com/modular
MAX Graph API Tutorial
Просмотров 1,1 тыс.2 месяца назад
The MAX Graph API allows you to build your entire AI inference pipeline in Mojo. In this video Ehsan M. Kermani discusses how you can get started with MAX Graph API starting with a simple example, and slowly building it up to include custom operators. The code for this video is available at: github.com/modularml/devrel-extras/tree/main/blogs/2405-max-graph-api-tutorial 00:00 Introduction 00:40 ...
Mojo Community Meeting #3
Просмотров 2,7 тыс.3 месяца назад
Recording of the Mojo Community Meeting #3 🐝 Lightbug: a Mojo 🔥 HTTP framework with wings. 🔒 Constraints for compile-time assertions. 🐍 Python/Mojo 🔥 interoperability. Full agenda and details below! ⬇️ modul.ar/community-meeting-doc Join our Community! 🚀 Discord - discord.gg/modular Github - github.com/modularml/mojo X (aka Twitter) - x.com/modular
Mojo Community Meeting #2
Просмотров 2,4 тыс.3 месяца назад
Recording of the Mojo Community Meeting #2 Presentations: 🌋 Basalt ML Framework w/ Benny Notson 📔 Compact Dict w/ Maxim Zaks 🐼 Pandas for Mojo w/ Samay Kapadia 💡 Stdlib Q&A w/ Joe Loser Public Agenda: modul.ar/community-meeting-doc Join our Community! 🚀 Discord - discord.gg/modular Github - github.com/modularml/mojo X (aka Twitter) - x.com/modular
Getting started with MAX release and nightly builds
Просмотров 1,9 тыс.3 месяца назад
In this video, we'll guide you through the entire process of installing and configuring both the MAX release and nightly builds on your system. You'll learn how to set up Python and Jupyter environments for seamless use with the MAX Python API and Mojo-Python interoperability. We'll also demonstrate how to easily switch between the MAX release and nightly builds to use them simultaneously. Chap...
Speed up K-Means clustering by porting Python implementation to Mojo🔥
Просмотров 3,3 тыс.3 месяца назад
In this video we'll share a step-by-step guide to porting kmeans clustering from Python NumPy to pure Mojo for huge (250x) speedup! How? Mojo is Pythonic in syntax and makes it easy to write fast vectorized and parallelized code! Code referenced in video: github.com/modularml/devrel-extras/tree/main/blogs/mojo-kmeans-from-python Blog post referenced in video: www.modular.com/blog/fast-k-means-c...
Mojo Community Meeting #1
Просмотров 2,6 тыс.4 месяца назад
Mojo Community Meeting Public Agenda: modul.ar/community-meeting-doc Join our Community! 🚀 Discord - discord.gg/modular Github - github.com/modularml/mojo X (aka Twitter) - x.com/modular
Contributing to Open-Source Mojo🔥 Standard Library
Просмотров 1,2 тыс.4 месяца назад
Mojo🔥 standard library is now open-source. In this video Modular engineer Joe Loser discusses how you can get started with contributing to Mojo🔥 using Mojo🔥 nightly builds. Chapters: 00:00 Contributing to Mojo🔥 Standard Library 01:59 Demo: Contributing a simple test case Resources: Blog post: www.modular.com/blog/how-to-contribute-to-mojo-standard-library-a-step-by-step-guide Mojo 🔥: modul.ar/m...
Using Mojo🔥 nightly build and nightly Visual Studio Code extension
Просмотров 1 тыс.4 месяца назад
Mojo🔥 public repo now has a new branch called Nightly, which is in sync with the Mojo nightly build. In this video, Modular engineer Brian Gesiak discusses how you can get started with Mojo Nightly and Visual Studio Code Nightly extension. Chapters: 00:00 Introduction to Mojo🔥 Nightly 02:07 Mojo🔥 Nightly Visual Studio Code Extension Resources: Blog post: www.modular.com/blog/whats-new-in-mojo-2...
Mojo🔥: a deep dive on ownership with Chris Lattner
Просмотров 37 тыс.4 месяца назад
Mojo🔥: a deep dive on ownership with Chris Lattner
Overview of Dict, Variant and Optional in Mojo🔥
Просмотров 1,9 тыс.7 месяцев назад
Overview of Dict, Variant and Optional in Mojo🔥
Lifetimes and References in Mojo🔥
Просмотров 2 тыс.7 месяцев назад
Lifetimes and References in Mojo🔥
ModCon 2023 Panel Session: Investing in AI
Просмотров 6519 месяцев назад
ModCon 2023 Panel Session: Investing in AI
ModCon 2023 Panel Session: AI in Production
Просмотров 6339 месяцев назад
ModCon 2023 Panel Session: AI in Production
ModCon 2023 Panel Session: Future of AI Software
Просмотров 1,9 тыс.9 месяцев назад
ModCon 2023 Panel Session: Future of AI Software
ModCon 2023 Breakout Session: MAX Development to Production in the Cloud
Просмотров 4499 месяцев назад
ModCon 2023 Breakout Session: MAX Development to Production in the Cloud
ModCon 2023 Breakout Session: MAX Engine Extensibility
Просмотров 5259 месяцев назад
ModCon 2023 Breakout Session: MAX Engine Extensibility
ModCon 2023 Breakout Session: MAX Engine Performance
Просмотров 8019 месяцев назад
ModCon 2023 Breakout Session: MAX Engine Performance
ModCon 2023 Breakout Session: MAX Heterogenous Compute: CPU + GPU
Просмотров 6769 месяцев назад
ModCon 2023 Breakout Session: MAX Heterogenous Compute: CPU GPU
ModCon 2023: The Mojo Dance
Просмотров 1 тыс.9 месяцев назад
ModCon 2023: The Mojo Dance
ModCon 2023: Modular X AWS partnership
Просмотров 3089 месяцев назад
ModCon 2023: Modular X AWS partnership
ModCon 2023: Modular X NVIDIA partnership
Просмотров 6179 месяцев назад
ModCon 2023: Modular X NVIDIA partnership
ModCon 2023: Modular X Replit partnership
Просмотров 4149 месяцев назад
ModCon 2023: Modular X Replit partnership
ModCon 2023: MAX Engine Graph API
Просмотров 4819 месяцев назад
ModCon 2023: MAX Engine Graph API
ModCon 2023: Building llama.🔥 by Aydyn Tairov
Просмотров 7069 месяцев назад
ModCon 2023: Building llama.🔥 by Aydyn Tairov

Комментарии

  • @JJOULK
    @JJOULK 8 дней назад

    Very explanatory! I'd love to see more of these talks like the advanced lifetimes mentioned. They might´ve been initially for internal devs but they definitely show what is happening for the rest building stuff on a new language

  • @marcusjpotter
    @marcusjpotter 13 дней назад

    Awesome work. Super great presentation(s). Invaluable learning(s) from everybody's shares. Shame about the 1hr format. Session video. #55.38 (just saying ;) yesJokeWithSmileS

  • @DM.DE.DA.DS.ML.DL.Ai1
    @DM.DE.DA.DS.ML.DL.Ai1 17 дней назад

    imagine that no one can download mojo we need a tutorial on how to download it !!!

  • @hansdietrich1496
    @hansdietrich1496 18 дней назад

    Dear moderator. Nobody dies, if the video takes a minute longer on youtube. There is no limited broadcast time like in TV. So please, if the speaker already hurries to end his presentation, just let him finish. Thanks :)

    • @modularinc
      @modularinc 18 дней назад

      Hi there! We appreciate the feedback. This video is a recording of a live 1-hour meeting, so we unfortunately have to enforce a time limit. We don't like cutting people off either, though!

    • @hansdietrich1496
      @hansdietrich1496 18 дней назад

      @@modularinc Thanks for your answer! And thanks for your work and for doing these great community presentations! But I think, even in the live stream, no one would have died, if the presentation would have lasted a minute or two longer. If in doubt, everyone could have just left the stream. But as youtube content, the presentations are just more valuable than the questions afterwards. It is a pity to cut down on the presentations for the sake of having more questions.

    • @modularinc
      @modularinc 18 дней назад

      ​@@hansdietrich1496 Very fair point! We'll try that next time. Again, thanks for the feedback - we appreciate you taking the time to share suggestions.

    • @Little-bird-told-me
      @Little-bird-told-me 18 дней назад

      You are lucky to have a moderator. Moderation is a way of signalling that time is _important for everyone._ RUclips is laced with listless jaded discussions where one wished they had someone to rein in the palaver

  • @olafk8232
    @olafk8232 18 дней назад

    Where is the best place to get an impression of the progress/development of Mojo? E.g. I don't know if some form of immutable variable is possible (AFAIK "let" was removed)

    • @modularinc
      @modularinc 18 дней назад

      Our Discord server is the best place to keep up with progress and ask questions: modul.ar/discord

    • @olafk8232
      @olafk8232 18 дней назад

      @@modularinc Thanks!

    • @samuel.ibarra
      @samuel.ibarra 18 дней назад

      They have the “alias”, a compile time constant. Also, if you want a variable to be inmutable you can “borrow” the variable to functions, it’s kind of read only

  • @鄭小白-n4p
    @鄭小白-n4p 18 дней назад

    Any fixed point library?

    • @modularinc
      @modularinc 18 дней назад

      Please share this question in our Discord server: modul.ar/discord

    • @boywithacoin
      @boywithacoin 5 дней назад

      @@modularinc your discord link keeps expiring!

    • @modularinc
      @modularinc 2 дня назад

      @@boywithacoin Thank you for the heads up! The link seems to be valid, though - are you still seeing an issue?

  • @HuyPhamAnh-v2w
    @HuyPhamAnh-v2w 19 дней назад

    i have problem, i want use serverless app to deploy model in sagemaker and use endpoint interference for my lambda, but still not work. This is automatically when trigger that lambda. How can i do that ?

  • @MestisoHapa
    @MestisoHapa Месяц назад

    While I can understand the community license and "Competitive Activity" restrictions for MAX, applying this same license to mojo will I think kill most interest in trying the language. Asking engineers to try out your language with a cloud of uncertainty over whether what they build with vanilla mojo could result in legal actions will be a non-starter IMHO. I have seen Modular conjoin MAX and mojo more and more over the last several months. From reading the FAQ and community license, I see no commitment to separate mojo from MAX, and therefore no separation from the "Competitive Activity" restriction. I had assumed mojo would be free to use however you want (as pretty much every other language out there) and MAX would be how Modular earned money. But this is no longer the case, and I dont see any commitment by Modular to make mojo 100% free to use however you want with a separate license. While it's certainly Modular's prerogative and right to do so, I personally think this will kill off a very large number of engineers from touching mojo (and therefore MAX). As it stands, I can't recommend to anyone at my work to keep their eyes on mojo until mojo gets its own license. And as for MAX, I don't see that much point in using it without also using mojo. And how will people build up mojo expertise unless they can build real world software with it? Having MAX and mojo tightly coupled together is going to kill a lot of enthusiasm. I know it has for me

  • @montebouwer4343
    @montebouwer4343 Месяц назад

    To be honest, initially when Mojo was announced, I was really excited, as a primarily Python developer. As time has gone on, I find myself being more and more disillusioned - Looking at the (Modular) blogs and interviews that Chris Lattner has done, it creates this impression that the language is ready for production use, because the blogs give complete-use-case writeups of how-to-do-x in Mojo🔥and Chris often answering interview questions with "You can already do that in Mojo today". - but when taking a deeper look into the language details, it becomes clear that the blogs are vertical slices of what the language can do - meaning that there are basic language features missing and fundamental work still to be done with regards to language design - which the blogs do not mention. - This creates the impression that the blogs are meant to be publicity for the sake of Modular or the MAX engine, disguised as a technical information (a la Medium articles). - What I'm trying to say is that the Hype🔥™ approach is tiering - it's clear that there are cornerstones missing. It would help if Modular published a proper (and maintained) road map for the language. What can be done with the language, and what can not be done, with specific details of the current gaps. I understand Modular needs to make money, but I think they jumped the gun with announcing the language in order to develop the language "in the open" so early on. Modular now needs to keep people interested, while nothing is really set in stone yet, so existing blogs quickly become outdated, and interested developers become confused as the language fundamentals keep changing. - Modular needs the open-source community to adopt Mojo in a similar way that the community has adopted Rust, or the like, but the current licensing will likely hamstring the language adoption, due to fears that the license may come back to bite people - similar to what happened to Redis. To me, it's unclear where the language is in terms of completeness, and thus, usefulness. It is unclear what the actual aim of the language is - sure, focus on AI and the MAX engine and building a better future, but where is the line between Mojo, MAX, Modular, AI and general software development? I'm of the opinion that the team has started focusing on to many disparate things, so the overall focus is unclear, and the actual progress becomes difficult to measure. I'm not against Modular. Honestly hoping Mojo works out.

  • @ooxxoo-z7w
    @ooxxoo-z7w Месяц назад

    What's the Mojo license exactly? Are you going to open source it? From where I stand I won't touch Mojo until I can see its code in Github under a permissive license.

    • @modularinc
      @modularinc Месяц назад

      The Mojo standard library's license is Apache 2 with LLVM Exceptions and you can access the code here: github.com/modularml/mojo. The broader MAX and Mojo SDK has a modified Business Source License called the MAX & Mojo Community License (www.modular.com/legal/max-mojo-license). We really appreciate all the feedback, and there is also a license FAQ page here: www.modular.com/pricing

    • @ooxxoo-z7w
      @ooxxoo-z7w Месяц назад

      @@modularinc Are you planning to move the Mojo SDK to Apache 2 and publish its code in Github eventually? If so, do you have a timeline for that?

    • @modularinc
      @modularinc Месяц назад

      ​@@ooxxoo-z7w We're committed to progressively making the source code of Mojo fully available over time, but unfortunately can't share a timeline at this point.

  • @paulie-g
    @paulie-g Месяц назад

    You need to understand that unless and until you open source the core Mojo language tooling under an OSI-approved license, a massive proportion of your potential addressable market is not going to adopt it. This isn't a product of ideological dogma or resistance to you making money (indeed, reasonable people *want* you to make money to ensure continuous development); it is a de-risking requirement. You're a start-up. We don't know how much you have in the bank, but we *do* know VC money is a) in short supply currently and will continue to be while interest rates are this high, and b) fickle (who knows if your existing VCs will want to fund your next round or will want an immediate liquidity event). Few start-ups start out with the intention to rug-pull, but your shareholders call the shots. If you are forced to liquidate assets, your IP will go to the highest bidder. No one sane is going to build anything non-ephemeral on top of a language platform that could entirely go away. Open-sourcing Mojo itself under an OSI-approved license (which can be done even if you're not intending to take contributions to the core codebase) is absolutely necessary to provide guarantees that Mojo can potentially outlive your company (or a rug pull) with a community-supported fork. RMS and Libre fundamentalists aside, people will largely be fine with you making your codebase related to your cloud offering source-available under something like the BSL. Make the back-up license AGPL for all I care. We want you to make money, be successful and continue to invest in Mojo. But there's no way I'm putting any time into it if the compiler and related tooling are proprietary. I'm sure you've been told this many times by many devs. Having done start-ups selling into the enterprise market, I'm sure you've heard concerns from them about building on top of a platform provided by a company that isn't public. What's the hold-up? You promised to open source Mojo itself when you launched. It hasn't happened. People on Linux distros you don't support have to jump through hoops to install. We still have no verifiable guarantees this thing won't go away. It's not worth putting learning time into because no sane client will adopt it as it is for high value, long-term projects. You're flushing 90% of the enthusiasm people had for your tech down the drain.

  • @itsmeonline-cw8xq
    @itsmeonline-cw8xq Месяц назад

    Awesome share. Looking forward to part II :)

  • @AliMoeeny
    @AliMoeeny Месяц назад

    you need to start this conversation with "we don't want a big player like aws to make more commercialize our thing while we cannot make ends meet" now let me tell you about details.

  • @MW-mn1el
    @MW-mn1el Месяц назад

    There is an open issue in mojo github already. There is not a clear roadmap about which part of mojo is going to be open source, and which part will stay close source as commercial offering. Until it's clear and oblivious for everybody, the ecosystem and third-party packages will not take off. One can arguer you can just use python packages, but many python packages is "slow" by system programming standard, which diminish mojo value proposition that you can use it for everything, instead of complicated c + python sandwich to achieve higher performance.

  • @MW-mn1el
    @MW-mn1el Месяц назад

    Still not very clear and confusing, language and core library is open source with apache license. But SDK that include compiler and debugger are not, which most developer consider part of the language. Nothing against any company make money on open source to sustain the effort that required continuous investment with time, man power and money. But let's say if I am only interesting to use mojo for CPU in general apps and compute, and GPU for graphic and games, and doesn't care about AI what so ever at all, it's still not very comforting SDK have different license and many string attached, and legal jargon attach to it. Mojo can and should be a better language then Rust for system programming, and the SDK license terms are a huge minus and bump for it's general adoption.

    • @modularinc
      @modularinc Месяц назад

      We appreciate you taking the time to share your thoughts and we understand that the difference in licenses between the SDK and standard library can be frustrating. Our intention is to enable as many people as possible to build on MAX and Mojo and for them to have as high-quality an experience as possible. We believe the new license is the best way to do this, but we hear you on the confusion and frustration. Our pricing page ( www.modular.com/pricing ) also offers more details on the different licenses. To clarify, if you intend on using “Mojo for CPU in general apps and compute, and GPU for graphics and games” to build something not commercially competitive with MAX Enterprise, you’re still 100% empowered to do so. We’re here to work with you - feel free to reach out about your use case if you have any concerns.

    • @MW-mn1el
      @MW-mn1el Месяц назад

      @@modularinc I dont' think with this sort of "muddy" license terms, the ecosystem will ever take off and third-party packages will increase over time, which defeat the goal of wider adaption, even language design and ergonomics is better then other languages. It's hard sell for large project that required major investment and organisation buy-in, it will be disqualify from potential tech stack even before reach legal department. Between mojo and zig, most developer would likely choose zig purely because of license, open source nature and community support, even mojo is more high level. Mojo can be a better, more clean design and modern version of "rust" with pythonic syntax. But without clear licences term and communication, what's open source and what's close source under commercial terms, the ecosystem will not flourish, "non-compete" clause is very vague definitions and doesn't inspire confidence with open source community. For the samme purpose avoid "free riding" FSL license is much better.

    • @modularinc
      @modularinc Месяц назад

      ​@@MW-mn1el We really appreciate the feedback! We've updated the license and FAQ page to be clearer, and we'll continue iterating based on community feedback.

  • @keithtaylor4425
    @keithtaylor4425 Месяц назад

    When you say “isn’t competitive” you need to say “Isn’t competitive with MAX Enterprise” IFF that is really what you mean. Otherwise, you are treading dangerously close to implying a “Rug Pull”, IMHO…

    • @modularinc
      @modularinc Месяц назад

      Thank you for sharing this feedback. You're right - that is what we mean, and we’ll be clearer about this going forward.

  • @user-kn4wt
    @user-kn4wt Месяц назад

    just like matlab 😅

    • @soracc_
      @soracc_ Месяц назад

      It’s nothing like Matlab since you can’t use Matlab for free. It’s closer to Wolfram engine if anything.

    • @josiahls4859
      @josiahls4859 Месяц назад

      For real, this is what I would want to avoid lol

  • @cathyaishu1179
    @cathyaishu1179 Месяц назад

    First like

  • @iamwhoiam798
    @iamwhoiam798 Месяц назад

    Before this one becomes production ready, they have started to discredit Rust already. Be careful in believing all of these, specially when the guy is from industry ( ex Apple / Swift ). Market manipulation is a something very normal for them.

  • @fabienimbault7671
    @fabienimbault7671 Месяц назад

    Opensourcing mojo's compiler would help a lot

    • @paulie-g
      @paulie-g Месяц назад

      So much this. I have no problem with them making their managed cloud stuff source-available, but Mojo itself has to be fully open-source under an OSI license before I invest any time or effort into using it. No start-up intends to rug pull, but if they start running out of money.. And, for the case of them closing down, we need to have the Mojo language tooling be open-source and with a sufficient built-up contributor pool to maintain a community fork. It's no good saying "we'll do this in future" or "we'll do it if it comes to that" because it doesn't guarantee that whoever comes out the other side owning the IP will follow through.

  • @shahidkhan0219
    @shahidkhan0219 Месяц назад

    Friends i am an application backend developer I want contribute to mojo which more system developing how to shift from application development to system developer only for mojo because I love its idea simplicity of python but more efficient and powerful so I want to help this movement I don’t know what to do

  • @bomarni
    @bomarni Месяц назад

    Interesting to choose Pixi over tools like Poetry or uv

    • @MestisoHapa
      @MestisoHapa Месяц назад

      pixi uses uv. poetry's problem is that is really only good for pure python projects. With pixi, you can add system library dependencies or other programming languages like rust or C++, like if you want to build out a pyo3 wrapper around a rust crate. They mention pixi is like git, but I see it more like docker, without needing containers.

  • @hansdietrich1496
    @hansdietrich1496 Месяц назад

    You do a great job. Thank you guys!

  • @JL-1735
    @JL-1735 Месяц назад

    When will it really be open source ? The excuse of gradual open sourcing sounds like a scam and you are free to keep things closed an commercial, but don’t try to mislead us, I’m completely uninterested in the project if it’s not fully open source, this half assed positioning is purposeful misleading.

    • @MestisoHapa
      @MestisoHapa Месяц назад

      mojo/max is very young. Just a bit over a year since they first announced it. In contrast, rust was developed in-house for at least 3 years at Mozilla before going open source. And I believe Graydon was working on it over a year before he even released it within Mozilla. I for one think Modular talked about mojo too early, precisely because people now have this expectation that you have. I worked at Red Hat on Openstack, and I saw what happens when you have too many cooks in the kitchen. I'd rather they get feedback first, but still control the process in-house to have it more fully baked until fully open sourcing it.

    • @paulie-g
      @paulie-g Месяц назад

      The "we're not geared up to accept community contributions to the core language tooling, so we'll open source it down the road" reasoning seemed iffy from the start, but I was giving them the benefit of the doubt - it does indeed make little sense to expend effort to onboard compiler engineers at an early stage and the (unstated) idea they wanted to get a head-start in semi-stealth mode made sense. I was happy to wait until the open source release happened, providing guarantees that the language itself will outlive the next funding round, to jump in. At this point, I'm ready to give up on waiting. They've had plenty of opportunity to release the core while keeping the cloud platform value-add that they intend to monetise proprietary or source-available under something like the BSL. And they haven't. It's 2024: people won't accept developing on top of a proprietary language, especially from a start-up. .NET Core went open-source some time ago. CFML has been EOL'ed because no one cares. There is literally no single proprietary dev platform with any sort of adoption or mindshare. Time for a reality check and some action, or at least a clearly communicated plan of action (eg "we're going to be preparing for an open source release of the core language under X license over the next Y months"). They're also neutering the potential of a community ecosystem that makes languages successful by dragging their feet. This is a massive misstep strategically.

  • @RobertDickert
    @RobertDickert Месяц назад

    Big props on the thoughtful, up-front licensing discussion. ❤

  • @stephenvivash
    @stephenvivash Месяц назад

    OpenMI - "Don't be google" ;-)

  • @ephemer
    @ephemer Месяц назад

    Tim made a great point about the strength of the Mojo brand. MAX on the other hand does not seem strong to me. The idea of combining them makes sense but it would seem like a stronger move to have Mojo as the thing users download and use, and MAX is just a library of that. With a commercial license if needed.

  • @shaddwatson1833
    @shaddwatson1833 Месяц назад

    Yay !!! ❤

  • @headbangingidiot
    @headbangingidiot Месяц назад

    Max is interesting but I would like to use it without paying the 40% sagemaker tax

  • @sergeikolbasov9429
    @sergeikolbasov9429 Месяц назад

    “I want to ask why Mojo is two times slower than Python in a for loop. Python completes my for loop in 10 seconds, but Mojo takes 18 seconds. Where is your claimed 63,000 times speed advantage?”

    • @modularinc
      @modularinc Месяц назад

      It's likely a bug, and we'd love to fix it! :) Please create an issue here github.com/modularml/mojo/issues. You can read our prior posts here: www.modular.com/blog/mojo-a-journey-to-68-000x-speedup-over-python-part-3

    • @Quantum_Nebula
      @Quantum_Nebula Месяц назад

      Yeah, you're not wrong. It's a bug that they just fixed with dictionaries. It's about the same speed now or slightly slower than Python. Yes, it's odd, and I think it's good you're bringing it to the attention of Mojo, but be aware that Mojo is still developing - so benchmarks aren't always everything.

  • @narendrapatwardhan68
    @narendrapatwardhan68 Месяц назад

    Do you have any plans to open-source Mojo (the compiler not the stdlib)? I feel it would be a learning opportunity for compiler designers interested in MLIR and also make developing new kernel ops/layers easier.

  • @mojojojo1529
    @mojojojo1529 Месяц назад

    Mojo community meeting? I'm here for it.

  • @samuel.ibarra
    @samuel.ibarra Месяц назад

    45:54 What if all the fields are transferred? Do I need to initialize all of them again or the compiler knows the field is kind of destroyed already?

  • @hoskdjciianbflso
    @hoskdjciianbflso Месяц назад

    Just get into ai ecosystem. No one will type out code manually in 2 years

    • @user-lb8du4dl3o
      @user-lb8du4dl3o Месяц назад

      except that maybe we will need to write a lot of code to analyze the safety and correctness of the generated code! let alone the usage of newer and better APIs, that are not yet in the models!

  • @鄭小白-n4p
    @鄭小白-n4p Месяц назад

    When will mojo v1.0.0 release?

  • @_vk03
    @_vk03 Месяц назад

    No doubt chris is a great engineer.. But he is not a good teacher.. for beginners..😂 Teaching should be left to Indians..

  • @TheGeorey
    @TheGeorey 2 месяца назад

    Cute mascot made me click the video 🗿

  • @CaptTerrific
    @CaptTerrific 2 месяца назад

    16:30 - story of my life with most higher level languages, even ignoring the GPU

  • @Navhkrin
    @Navhkrin 2 месяца назад

    TBH I am yet to encounter an "automagic" system that simply works as expected. They tend to fail in catastrophic ways and result in a lot of dev time wasted just to understand & fix the performance issues. At this point all I'm interested is good primitives combined with extensive API's and libraries for me to build my own systems.

    • @bwhit7919
      @bwhit7919 Месяц назад

      Compilers are “automagic” and everyone uses a compiler. And Chris built the best compiler in history

  • @YaserAlraddadi
    @YaserAlraddadi 2 месяца назад

    Brian did too much efforts to do this and present it. It is good that before the meeting you saw his slides or his ideas or his experience that will be present it and you told him comments offline or reject him politely offline. I know that your time is important too, but stopping him like this and telling him this is basic information for you, specially he told you he just stated computer science. He did too much research and efforts to create this, he wanted to help but now I am sure he is not happy and do not want to do any thing related to mojo, part 2 will not be happening. He was excited. You could show him some support he would be a great contributor to the ecosystem.

    • @Navhkrin
      @Navhkrin 2 месяца назад

      Appreciate Brians efforts and slides are amazing work but context matters. This isn't a place to share best practice ideas, it is Mojo community meeting. So, it is natural for Modular team to interrupt him because he was taking a lot of time in community meeting out of context. I advise Brian to instead start making online blog, his research skills are pretty good, but he should present his work on a place where it makes more sense to do so.

    • @RobertDickert
      @RobertDickert 2 месяца назад

      I used to run events like this. 2 ideas here. (1) tell the speaker a hard time limit and hold them to it. (2) If you have the resources, have them do a dry run, and give them feedback on timing, delivery, and clarity prior to the event. That increases quality a lot, and speakers really appreciate it and come more prepared

    • @brianjohnson6604
      @brianjohnson6604 2 месяца назад

      Hey, Brian here. Two things: 1) I was keeping my stopwatch running during my talk. Most other talks went on for 15 mins, so I thought that's how much time I had. Turns out I only had 10 because time was running short. 2) Whatever concurrency model Mojo adopts will not get much adoption if ordinary application programmers find it too complicated. Concurrency is generally considered to be super complicated and for experts, with lots of opportunity for bugs. Those who don't have much experience with it end up using a lot of workarounds like Arc<Mutex<T>> which go against the whole point of concurrency and are massive performance footguns. There are a bunch of things programmers need to know to write concurrent code that is actually efficient. You can build the most theoretically beautiful thing that experts will admire for hours but get very little adoption. Mojo is meant to be learnable by Python programmers, so they need to be kept in mind while designing APIs. My talk was about what the community could do to make sure concurrency is widely adopted by Mojo programmers, many of whom will surely come from a Python background. I wanted to start it off by stating my opinions on what Mojo's concurrent APIs should look like so that people find them easy and simple to use while getting good performance out of their code. The reason why I also mentioned libraries and learning materials in the beginning is that humans are creatures of habit. From the beginning, we're taught bad habits (think time.sleep()) which we have to unlearn when we want to improve the code we write. This creates a lot of friction and hesitancy to dedicate time to learning how to write properly concurrent code. There's a lot the community can do here to make sure that programmers learn better habits from the beginning. I thought a talk on these topics was relevant for the Mojo community, so I made it. Tatiana didn't think so. Doesn't mean I'm gonna stop being involved with the community. And yes, clearly I'm a better writer than I am a speaker.

    • @brianjohnson6604
      @brianjohnson6604 2 месяца назад

      Hey, Brian here. Two things: 1) I was keeping my stopwatch running during my talk. Most other talks went on for 15 mins, so I thought that's how much time I had. Turns out I only had 10 because time was running short. 2) Whatever concurrency model Mojo adopts will not get much adoption if ordinary application programmers find it too complicated. Concurrency is generally considered to be super complicated and for experts, with lots of opportunity for bugs. Those who don't have much experience with it end up using a lot of workarounds like Arc<Mutex<T>> which go against the whole point of concurrency and are massive performance footguns. There are a bunch of things programmers need to know to write concurrent code that is actually efficient. You can build the most theoretically beautiful thing that experts will admire for hours but get very little adoption. Mojo is meant to be learnable by Python programmers, so they need to be kept in mind while designing APIs. My talk was about what the community could do to make sure concurrency is widely adopted by Mojo programmers, many of whom will surely come from a Python background. I wanted to start it off by stating my opinions on what Mojo's concurrent APIs should look like so that people find them easy and simple to use while getting good performance out of their code. The reason why I also mentioned libraries and learning materials in the beginning is that humans are creatures of habit. From the beginning, we're taught bad habits (think time.sleep()) which we have to unlearn when we want to improve the code we write. This creates a lot of friction and hesitancy to dedicate time to learning how to write properly concurrent code. There's a lot the community can do here to make sure that programmers learn better habits from the beginning. I thought a talk on these topics was relevant for the Mojo community, so I made it. Tatiana didn't think so. Doesn't mean I'm gonna stop being involved with the community. And yes, clearly I'm a better writer than I am a speaker.

    • @brianjohnson6604
      @brianjohnson6604 2 месяца назад

      Hey, Brian here. Two things: 1) I was keeping my stopwatch running during my talk. Most other talks went on for 15 mins, so I thought that's how much time I had. Turns out I only had 10 because time was running short. 2) Whatever concurrency model Mojo adopts will not get much adoption if ordinary application programmers find it too complicated. Concurrency is generally considered to be super complicated and for experts, with lots of opportunity for bugs. Those who don't have much experience with it end up using a lot of workarounds like Arc<Mutex<T>> which go against the whole point of concurrency and are massive performance footguns. There are a bunch of things programmers need to know to write concurrent code that is actually efficient. You can build the most theoretically beautiful thing that experts will admire for hours but get very little adoption. Mojo is meant to be learnable by Python programmers, so they need to be kept in mind while designing APIs. My talk was about what the community could do to make sure concurrency is widely adopted by Mojo programmers, many of whom will surely come from a Python background. I wanted to start it off by stating my opinions on what Mojo's concurrent APIs should look like so that people find them easy and simple to use while getting good performance out of their code. The reason why I also mentioned libraries and learning materials in the beginning is that humans are creatures of habit. From the beginning, we're taught bad habits (think time.sleep()) which we have to unlearn when we want to improve the code we write. This creates a lot of friction and hesitancy to dedicate time to learning how to write properly concurrent code. There's a lot the community can do here to make sure that programmers learn better habits from the beginning. I thought a talk on these topics was relevant for the Mojo community, so I made it. Tatiana didn't think so. Doesn't mean I'm gonna stop being involved with the community. And yes, clearly I'm a better writer than I am a speaker.

  • @Little-bird-told-me
    @Little-bird-told-me 2 месяца назад

    What is the difference between mojo, Ggml and Tiny Grad?

  • @olafschluter706
    @olafschluter706 2 месяца назад

    Did I got it right: if I have a value of a non-copyable type, which is a type with move-semantics in my Book, I need to be explicit and use the transfer (aka move) operator when passing that value to a function that wants to own that value, so that it does the only thing it can, namely moving? Whereas when I have a type that is copyable, the compiler pulls all tricks to avoid copying it? And whether it gets moved or copied depends on the circumstances, it is not even sufficient to look at a function signature? I have my doubts that this is easy to teach. The semantics in Rust are clear: a type has either copy (the Copy trait) or move semantics, and if you want to pass a copy of a value with move semantics over to anyone instead of moving that value to them, you have to be explicit and clone the thing (if that's possible, i.e. the type has the Clone trait). This has the additional benefit that you can spot immediately where allocations happen (which are very often unnecessary in Rust). You do not want hidden allocations.

  • @mousavi_ma77
    @mousavi_ma77 2 месяца назад

    When will the Windows version be presented?

    • @ehsanmodular
      @ehsanmodular 2 месяца назад

      There's no immediate plan for windows support but MAX works on WSL2.

  • @elliotwaite
    @elliotwaite 2 месяца назад

    It might be better to set the visibility of the Community Meetings videos to "Public" instead of "Unlisted" so that they show up in people's subscriptions feeds.

    • @Amejonah
      @Amejonah 2 месяца назад

      Thank you very much to incentivize to do that, I would otherwise not have noticed it ever.

  • @SuperOnlyP
    @SuperOnlyP 2 месяца назад

    if you got the error : error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=1, address=0x0). The process has been left at the point where it was interrupted, use "thread return -x" to return to the state before expression evaluation. Please add var when declaring the variable : graph, out, session , model

    • @ehsanmodular
      @ehsanmodular 2 месяца назад

      Yes, if you're in jupyter notebook environment

  • @SuperOnlyP
    @SuperOnlyP 2 месяца назад

    14:20 Make sure you are choosing Jupyter Kernel not Python Enviroments.

  • @keoghanwhimsically2268
    @keoghanwhimsically2268 2 месяца назад

    20:02 While the policy to not allow mutations of “borrowed” values seems acceptable, the policy around the same for RValues seems like it will just create annoyances. It’s common for good API programming for a function to massage and normalize its input arguments to, for example, suppport robustness, i.e., “be liberal in what you accept”. This would always require the Mojo programmer to come up with new names internally, or purposely misname the input parameter from the most natural so they can more natural names may be used for the internal variables. It will also require more experienced programmers to retrain their habits when using Mojo, adding another roadbump. Is this really a problem that needed to be solved? I remain excited about Mojo, but as someone who thinks Rust makes too many compromises for safety to be run to write it in, I’d hate to see Mojo go in the same direction.

  • @Lircking
    @Lircking 2 месяца назад

    "python level programmer" lol

  • @OneTrueBIue
    @OneTrueBIue 3 месяца назад

    I really hope this language raise up

  • @Pharaoh-tt9ku
    @Pharaoh-tt9ku 3 месяца назад

    can you sport Windows