The Art Of The Terminal
The Art Of The Terminal
  • Видео 30
  • Просмотров 240 588
How Much VRAM My LLM Model Needs?
Will that LLM model from ollama library fit in your GPU card's memory?
I explain how to use an online tool (huggingface.co/spaces/Vokturz/can-it-run-llm) to calculate VRAM requirements and what is quantization.
Просмотров: 897

Видео

Best Self-Hosted Alternatives to ChatGPT & Midjourney
Просмотров 828Месяц назад
🤔 Why pay for GenAI subscriptions to get censored or biased content? 🤔 Why risk uploading personal documents to companies having troubles defining what's "open" and "safe"? 🤔 Why not embrace the fun of using dynamically evolving open source tools? Take back the driver's seat! 🤯 Demos of my easy to use multimodel LLM workflows, querying local PDFs (simple RAG) and websites. I show which open LLM...
Webassembly Is NOT What You Think!
Просмотров 16 тыс.3 месяца назад
🤔 Is wasm just another hype bubble or is it about time to retire docker and kubernetes? 🤔 What all these words mean: WAT, WIT, WASI, WARG?.. 🤔 Why on Earth did wasm jump from its original niche to the server-side? 🤯 Quick demos of ngx_wasmx, Extism, Podman for wasm, Spin, Wasmcloud 🧠 Rust is the most popular language for webassembly! Codecrafters is a platform to learn programming by working on...
Why Python Packaging is Such a MESS?
Просмотров 7045 месяцев назад
Why Python Packaging is Such a MESS?
Games Only Developers Will Understand
Просмотров 6468 месяцев назад
Games Only Developers Will Understand
Wait... PostgreSQL can do WHAT?
Просмотров 206 тыс.10 месяцев назад
Wait... PostgreSQL can do WHAT?
Essential CLI Tools For Code Projects
Просмотров 4,4 тыс.Год назад
Essential CLI Tools For Code Projects
Most RUTHLESS text editor?
Просмотров 1,1 тыс.Год назад
Most RUTHLESS text editor?

Комментарии

  • @quangtruong4593
    @quangtruong4593 23 часа назад

    very useful video. Thank you

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

    Wow! Very helpful tool, thank you!

  • @hoodwinkedDaDon
    @hoodwinkedDaDon 12 дней назад

    This is one of the best programming videos ive ever seen, so well researched

  • @dext0rb
    @dext0rb 21 день назад

    this video is good

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

    At some point you have to ask whether it is good idea to stuff this new feature in DB. HTML rendering? Does it make it easier or faster?

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

      My point with this video was to show that postgresql is not a database anymore, it's a platform. Whether to use it for HTML rendering or not is for the users to decide.

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

      @@TheArtOfTheTerminal Absolutely, great video btw.

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

      @@ivanmaglica264 Thank you

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

    34:56 - your comment in the sidebar about NEVER running curl | bash just earned you a subscription. I HATE that that's so common these days!!! (Interesting video overall, too. A bit off target for what I was hoping to learn today, but super interesting!)

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

      Thank you for the feedback! Yeah, basic shell hygiene somehow got out of fashion lately.

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

    Great video! Would you recommend the hardware you used or would you buy something else now that you have tested it for a while? I want to build a AI machine too, but I'm struggeling with the hardware selection. I will definitely come back to this video.

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

      If you're into tinkering and prefer linux -- you can look at my specs ruclips.net/video/ywgJJ4X_kpY/видео.html and build something similar. Or, if you're into Apple products, people are saying good things about the new mac minis.

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

    llama is not open source, if u read the tos they redefined open source which has most people just taking them at their word ... it is not open source

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

      I agree, it's really tricky when it comes to *model* licenses and open weights vs open source discussion. What I meant is that the ollama software is open source ("the docker of LLM models").

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

    Very nice video! Thanks for going in detail.

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

    i use invoke ai now for last two years and the new flux models on my 4090 is perfect ! But ollama models still don't come close to o1 ! I tested the new qwen2.5-coder:32b-instruct-q4_0 and i must say that open source is getting there. But unfortunately o1 is still the best for my use case but i think for others qwen2.5-coder:32b-instruct-q4_0 is perfect .My plan is to buy 2 x 3090 and run better models(72b)

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

    It's great to see a full workflow and build like this! Thanks, I'll have to try InvokeAI. It looks a lot friendlier than Automatic1111.

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

    Docker is the worst technology ever, please don't bring them to IOT

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

    I really need to become your friend! PostGreSQL is my favorite and has been for a long time. But I'm just a beginner. And I'm working on a new type of complex relationship that will enable AI to become fully conscious and "human like". This relationship has no similarity to the "four rules of database normalization". Please try to contact me. Don't know how else to reach you. Arthur Baldwin

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

    I understand what it means, but to folks getting introduced to your channel for the first time, IOT is an unexplained acronym. It's always a good idea to explain what used acronyms stand for initially otherwise people will get frustrated and swipe away. For those wondering, IOT = Internet Of Things aka smart devices, like your Google Home, Smart Plug, smart vacuum cleaner, etc.

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

      Agree. Thank you for taking the time to share that and help other viewers! I appreciate your feedback.

  • @capability-snob
    @capability-snob 2 месяца назад

    A video that had to be made! Each of the tools created for package management were created to fix the problems the previous one created: In the golden age of python, we just downloaded and unzipped extensions into our project directory, where they were automatically on our pythonpath. Some extensions had C requirements, it was good if these used distutils, since then you had a standard interface to build them. This did mean a lot of duplication and waste of disk space. You could use symlinks if you were dedicated, but few did. Linux distributions started including python packages in their repos, for the benefit of python programs they wanted to provide. This caused a little friction: it was considered bad practice to break an API, but a few libraries did so, to the point where the need to have two different versions installed at once might be necessary. Setuptools (and hence easy_install) was born in this environment, allowing the user to install two different versions of a library into the system packages and configure which one the program should point at. The problem with setuptools was that if programs failed to be explicit in which version was to be loaded (and indeed, most programs did not correctly specify their library versions), installing something new with easy_install would break your existing programs. pip was a solution in that it would actually do the dependency graph, rather than just solving for immediate needs. I think pip predates virtualenvs, if not in terms of release date, certainly in terms of entering the python developer zeitgeist; but because pip was also great an breaking installed programs, virtualenvs sprung up pretty quickly. I'm not sure why having two different versions of a library installed needs to be so difficult. Maven had this problem absolutely solved for Java in the early 00s. Having a program specify which packages should provide which modules is just not that onerous, but that's not the path we went down. I also have trouble understanding why, if something builds and installs today, it can fail tomorrow because of some dependency changing their API. We shouldn't really be breaking APIs at all - but in the event it happens, a package installer should identify this and prevent the upgrade. These days, if I can use Nix to set up a python environment, I'll do that every time. It's so much more reliable, and it works for non-python dependencies, too. I don't think Nix is the best solution long term, in particular I want something like lavamoat or emakers so that I can be completely safe from supply-chain attacks. But it's definitely better than what we've been doing up until this point. I'd also like to stop needing to specify the language runtime version, it should just be assumed that if a program worked on python version N, it should work on N + M. Python worked this way up until version 3.

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

    If you are confused, SMGS is asm.js

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

    we need some tutorials to understand it better

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

      On which topics exactly: table inheritance, types or extensions I've demoed?

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

    Thank you genuinely for making this video! I did a small amount of research into WASM and decided AGAINST pursuing it further due to my own misconceptions. Thank you for making this video. You've completely changed my mind about WASM. You probably literally changed my life by making this video. Thanks so much!

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

    I did not know I needed this. Then this 1hr novel made me check twice if I'm subsribed. Thx brother, a mountain of respect and kudos to you for your work.

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

    Read up on wasm gc. It's a newer extension only barely supported, but it will allow gc'd languages to use the host runtime's garbage collector.

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

    Needs to be a webassembly os

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

      zellij is written in rust and supports webassembly plugins, wonder if it could act more like os than multiplexer?

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

    i'll take anything that "replace" containers/K8S, but what kind of idiot think that wasm would ? wasm ain't bad though, it's just another VM.

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

      probably the same idiots who thought that docker was a good idea ... (well, wasm is a good idea)

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

    Why don't we use LLVM for this, I know LLVM is used to compile to machine code but we can still make a runtime for LLVM byte code

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

    to summarize, WebAssembly for server-side is basically a JVM for C/C++/Rust

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

      In part, yes.

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

      @@nitsanbh and java byte code can be compiled into wasm. It truly is the compile once run everywhere. We are just counting on a good posix compliant runtime so we can use the standard library

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

    I literally just learned about Nginx and what it does - and now I'm here, somehow (thanks algorithm). This is all very intimidating. How does a person ever understand enough to build this stuff in the first place? Great video. Very impressive presentation. Thanks!

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

      Thank you for the feedback! Nginx is an amazing piece of technology. Have you also checked openresty? Back in the day I've built a file sharing service with expiring download links using just openresty and lua. It was fun and performed really well.

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

      by learning how to think and learn every single time there is either or both: a new attempt to get familiar with new theory, either in breadth or depth( 🤔 ) or *whilst in some fuge state drenched delusions of simplicity*, we experiment with, or attempt to, put theory into practice under new rules, conditions, or some other imaginary construct that makes what we are calling trying the out be unique or not-unique to what we understand our prior experience to be, in whole or in its parts, even if it absolutely is or is not or otherwise that's how. good luck!

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

    This is almost a few months of intense learning and a few years of passive reading and assimilation condensed into an hour. Thank you, I take a bow. 🙏

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

      Seeing comments like yours really make all the efforts and the suffering (writer's blocks, self-doubt etc.) worth it. Thank you!

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

    41:52 Idioms mixed: "Right off the bat." "Right out of the box."

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

    They are working on a WASM GC. It's still young and unripe. It will be distilled once WASM APIs become the norm. And I'm pretty certain it will take over IOT, then mandatory HW vendor based dev env will only be relevant to implement the WASI standards.

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

    Great video. Very thorough and educative. Thank you.

  • @cloud-native-corner
    @cloud-native-corner 2 месяца назад

    Excellent explanation!

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

    tell me please, what font do you use

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

    Fuck energy efficient!

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

    How do you even debug stored procedures? Also, table inheritance is the devil. Honestly my head is full with the usual sql stuff, I don't want to remember which table is inherited from which and where my data actually lives.

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

      Stored procedures should be as granular as possible -- just like good methods in your class -- doing just one thing. You wouldn't have to debug them. If you do need to debug a stored procedure, IMO it's a design problem. Re: inheritance. Do you always need to keep in your head the full inheritance chain of a class you're working with? If yes -- again, it's a design problem.

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

      @@TheArtOfTheTerminal thank you for answer

  • @AmalChandran-k8v
    @AmalChandran-k8v 2 месяца назад

    Really great video appreciate your efforts to explore and show case the use cases.🎉

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

    Highly recommend Extism. They only support well agreed upon standards and have the most portability and simplest developer experience.

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

    Great video, thanks. I think something good has happened to uv since your video though, I do your crash test (on windows) in about 20 seconds now with clean caches and good bandwidth, about 4 seconds with cached packages.

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

    TLDR?

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

    Whars the background music?

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

    I stable across your video at 2 am and here am I at the end of it: I learned so much with you and I will test some stuff out! You have my deepest gratitude and appreciate to all the resources and research you made! I'm subscribing and liked your video! Hope other people find your work! Amazing! Keep going!

  • @capability-snob
    @capability-snob 3 месяца назад

    A capability is an unforgeable reference that can be used to access a resource. Unforgeable in the sense that the only way to get one is to be given a reference (here, via the configuration). Capability systems have easy to audit security properties - we've been using them in high assurance environments for nearly 60 years.

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

      Yes, good ideas never disappear, they resurface in their new "incarnations".

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

    Excellent video

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

    We all thought JS was gone. Plot twist: Webassembly is just a trojan horse for JS taking over servers once and for all

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

    It isn't really a virtual CPU or a virtual machine, as the JVM has described it... it is machine code for a virtual CPU architecture.

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

    after watching the video I don't think Flash was killed because of security. I feel it was killed cause it wasn't able to be used in business settings. It was made as a tool for making cool things like games and animations. It was never made for the purpose that Adobe wanted to make it be. Creativity is being locked behind paywalls. This is similar to why Skype was killed it wasn't made for the purpose that Microsoft wanted it put it to. It was a quirky, fun messaging application.

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

      Well, yes, I do agree there were other contributing factors like, say, HTML5 advancements. And of course, the financial dept at Adobe didn't see flash performing well. But I think that the bad rep caused by security issues hyperaccelerated all of that and eventually put this tech to sleep.

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

    Great video. I cannot wait for wasm ecosystem to mature.

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

    They really took the script out of JavaScript

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

    Liked, subscribed and saved the video to my favorites.

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

    This is the most concise, detailed and deep explanation of WebAssembly that I ever heard!

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

      Thank you so much for the feedback! Glad you liked it :)

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

    There is one fatal flaw in webassembly - it does not allow irreducible CFG. This alone renders it just a fancy toy.

    • @Heater-v1.0.0
      @Heater-v1.0.0 3 месяца назад

      By "irreducible CFG." I gather you mean that web assembly does not allow creation of the kind of spaghetti code one can make with GOTO. On the face of it that sounds like a good idea and I'm sure the creators have good reasons for not allowing that. Please explain how this makes web assembly a "fancy toy"?

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

      @Heater-v1.0.0 take a few small methods - nice, perfectly procedural CFG. They call each other. Oopsie, once you consider the global control flow it is already likely not procedural. Then try to inline the methods. You get irreducible CFG. And your high level compiler may have a lot more information on what to inline, so you cannot defer it to the webassembly engine to do it in the last moment. Second example - any sufficiently complex FSM is irreducible. Any bytecode engine. Any parser or even a regular expression. Want to implement them efficiently? You won't, unless your underlying engine supports irreducible control flow, or, even better, computed goto. Want a threaded code VM? No chance without a computed goto (i.e., indirect jumps).

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

      I think I could have understood you, if you didn't speak in alien. Also, to express certain things you might need to write a blog post or a book, instead of a comment.

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

      @nandoflorestan huh? Graph reducibility is a concept everyone must know from an introductory course on compilers. To explain it simpler: WebAssembly is limited to the constraints of procedural programming, and does not allow any control flow that cannot be expressed as a combination of if-then, for, while, do and such.

    • @Heater-v1.0.0
      @Heater-v1.0.0 2 месяца назад

      @@vitalyl1327 Everyone must know? Don't forget that 99.999% of all humans and precious few software engineers have taken an introductory course on compilers. You are right WebAssembly retracts itself to those structured blocks. Back in the day we called it "structured programming" rather than "procedural programming" but never mind. I suspect that this that designed WebAssembly have indeed taken introductory courses on compilers or otherwise know what they are doing. Seems to me likely that such restrictions are there on purpose so as to satisfy security considerations in the browser and other sandboxes. Far from being a "fancy toy".

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

    font pls