The REAL Way to master JQ
8:14
6 ай бұрын
AWK in 300 Seconds
5:48
6 ай бұрын
Earthly May Office Hours
53:23
Жыл бұрын
Build your own Container Runtime
37:37
Awk Crash Course
40:38
Жыл бұрын
Пікірлер
@bipinmaharjan4090
@bipinmaharjan4090 7 минут бұрын
This exactly what i needed. I came from java and javascript and not having stack tract is bugging me out in golang
@AghilSoi
@AghilSoi 4 күн бұрын
'poetry' is not recognized as an internal or external command, operable program or batch file. help me with this error
@AghilSoi
@AghilSoi 4 күн бұрын
'poetry' is not recognized as an internal or external command, operable program or batch file. facing this error
@qqi239z123
@qqi239z123 8 күн бұрын
errors reported in the terminal window from compilation using makefile have no relation to problems reported by vscode. E.g. if have '-I.' option and it is handled correctly by compiler at the same time the vscode is unhappy because it could not find .h file with angle brackets.
@cbbcbb6803
@cbbcbb6803 9 күн бұрын
To create a new language, first make it easy, then add power to it. Keep in mind that it is all made up, and that you are going to make up another one.
@wily_rites
@wily_rites 18 күн бұрын
Dang I was looking for a way to configure makefile as my build system in visual studio, I really wish that the folks at MS had given these two very different IDE's suitable different names, I'm sure this vid is great though, if you are using visual studio code, just felt the need to express my chagrin.
@OmPrasadKoirala
@OmPrasadKoirala 18 күн бұрын
great job
@harshitmishra3318
@harshitmishra3318 19 күн бұрын
At 8:25 what he is actually tell about the git commit ??? I didn't get that, can any one helps me to understand that ??
@venky1922
@venky1922 24 күн бұрын
How to do it in windows
@texman1166
@texman1166 25 күн бұрын
Thank you. Very understandable.
@totalscene3274
@totalscene3274 Ай бұрын
Your approach of demystifying and investigating the source code of the linux kernel is unique! Thanks a lot for this! I know that you guys are here on a mission but I'd love to see more from you regarding the linux and unix-like kernels.
@EarthlyTech
@EarthlyTech Ай бұрын
You are welcome! What would you like to see?
@sudo_garrett
@sudo_garrett Ай бұрын
fantastic video! I didn't know Go had a native make capability, the syntax is simple as always :)
@rubenchiquin3768
@rubenchiquin3768 Ай бұрын
People often criticize this way of handling errors, but it is probably due to a majority of people coming from a language where errors are ghosts, and you don't even know they can happen. That's why it might feel easier to deal with errors, because you are not forced to handle them. Sure, maybe some errors almost never happen and it might not even be worth handling them, but in my opinion If a language forces you to do very robust programs, where you handle all scenarios, that's a good thing, not a bad one. If you wanna write lazy code that breaks, but write it in 1 minute, then go with Python, because in Go it will be way harder to do bad code.
@danielniels22
@danielniels22 Ай бұрын
When to create a custom error by implementing the error interface, or when to use the errors.New() ?
@sczoot6285
@sczoot6285 Ай бұрын
Without exploring the different approaches, I would say implement the interface when you want to add additional state/functionality to what the error struct would provide
@cerkal726
@cerkal726 Ай бұрын
Explanation was nice. But I think you have missed main part of video that is how to avoid dependency hell. Like when installing two packages which use different versions of same depended package is still resulting in error. Which you explained in the earlier section of the video but didn't actually explain if it could be solved or not using peotry.
@EarthlyTech
@EarthlyTech 29 күн бұрын
Yes, you are right! Poetry only solves when you use two separate venvs. Otherwise, it will attempt to find a version that is compatible with both and otherwise raise an error. At that point you need to find a singular version that works for both yourself or try otherwise adjust deps so that there is a singular version that works with your use case.
@windowsrefund
@windowsrefund Ай бұрын
A few things I'm noticing which I'm trying to get my head around in terms of overall workflow: 1) Adding a package dependency via "poetry add" is the process that actually updates poetry.lock; creating the file if it doesn't exist. 2) When running "poetry add" for the first time, poetry goes ahead and creates a virtual environment. By default, the virtual environment is created in shared location so if you want your virtual environments to live inside your project directory, you need to first configure poetry appropriately (see upstream docs for how to do this). 3) Also realize the virtual environment is not going to be used unless you activate it. This is a tedious process which is made cleaner with direnv. In order to have direnv use the .venv directory created by poetry, you need to echo "VIRTUAL_ENV=$PWD/.venv layout python" > .envrc && direnv allow. Now, every time you cd into your project directory, your virtual environment will be activated by direnv. 4) With all that said, at this point, I'm wondering why we're actually using "poetry install" and wonder if and how it relates to "pip install -e" which is the recommended approach used to make dealing with imports easier (difficult for me to exactly explain as the concept is still somewhat new). So........ in a nutshell, poetry seems nice but there's clearly a much larger conversation to be had in terms of tying all these things together and how to bootstrap a new project in the right order in able to get everything working. Don't forget getting pytest to use importlib (rather than the prepend mode it uses for backwards compatibility) if you'll be using TDD. I'm writing this 6m into the video so I'll get back to watching as it's possible you'll touch on some of these issues.
@windowsrefund
@windowsrefund Ай бұрын
OK so installing the package via "poetry install" makes the package available in the Virtual Environment. What's also nice is that the package is "editable" (see my previous comment). We can see this in the output of a "pip list" from within the Virtual Environment.
@windowsrefund
@windowsrefund Ай бұрын
I LOVE this video but please make the Internet a better place and stop referring to directories as "folders". Thumbs up! Also, the term "open source" is totally lame. The proper term is "Free Software".
@EarthlyTech
@EarthlyTech Ай бұрын
I grew up on windows. Some habits die hard.
@intelligenceservices
@intelligenceservices Ай бұрын
Python is supposed to be so clever terse and elegant. If it was an apartment, it would be as spotless as patrick bateman's, but they have such a pile of garbage outside you need a Shai-Hulud to get to the door. Just a little poetry there.
@nikodemus6449
@nikodemus6449 2 ай бұрын
Great content as in your podcast, laid out perfectly, thanks !
@EarthlyTech
@EarthlyTech Ай бұрын
Great to hear!
@ninthsun
@ninthsun 2 ай бұрын
Thanks for awesome video. It was super helpful :D
@EarthlyTech
@EarthlyTech Ай бұрын
Glad it was helpful!
@felixman9691
@felixman9691 2 ай бұрын
Lol that’s not you in the thumbnail. Why haha
@EarthlyTech
@EarthlyTech 2 ай бұрын
Surprise! It's terence tao
@ArcWeltraumpert
@ArcWeltraumpert 2 ай бұрын
awkwkwkwkwkwk means hahahahah in Indonesian language
@Linux.Learner
@Linux.Learner 2 ай бұрын
FANTASTIC...
@EarthlyTech
@EarthlyTech 2 ай бұрын
Thanks for watching
@Geza_Molnar_
@Geza_Molnar_ 2 ай бұрын
👍👍👍👍👍
@ade5324
@ade5324 2 ай бұрын
so i guess, compared to using chroot , the only beneficial abstraction docker provides is layers. docker doesn't provide features like namespaces, cgroups, its already present in the linux kernel.
@EarthlyTech
@EarthlyTech 2 ай бұрын
No Docker doesn't provide namespaces or cgroups. But it brings them together with pivotroot and layers and etc into a hopefully cohesive package.
@ade5324
@ade5324 2 ай бұрын
@@EarthlyTechbruh that what i said, man
@jeffg4686
@jeffg4686 2 ай бұрын
Nice. I like the choice of toml - aligns with Rust - my other language.
@209_Violate
@209_Violate 2 ай бұрын
youtube needs more examples to connect theory with pragmatism like yours. thanks for sharing, i love your teaching style.
@EarthlyTech
@EarthlyTech 2 ай бұрын
Glad you think so!
@aldrickdev
@aldrickdev 2 ай бұрын
hey this is a great introduction to Earthly, are their any plans to make more example videos?
@EarthlyTech
@EarthlyTech 2 ай бұрын
We have some Earthly Show and Tell videos. They are more walk throughs then tutorials though.
@mumk
@mumk 2 ай бұрын
Use Nix instead
@windowsrefund
@windowsrefund Ай бұрын
How?
@stephenday4834
@stephenday4834 3 ай бұрын
Clearly explained. I expected jq to be harder honestly. It's such an amazingly useful tool.
@EarthlyTech
@EarthlyTech 2 ай бұрын
Great to hear!
@chickenduckhappy
@chickenduckhappy 3 ай бұрын
I'll show you how to sleep comfortably on a stone bed. If you're coming from other styles of appartments or hotels, you will maybe be surprised by the first impression of a stone bed. But I'll show you how to adapt and learn to enjoy sleeping in this new way that some people first feel uncomfortable with due to unfamiliarity with how the extremely cold and hard surface feels.
@EarthlyTech
@EarthlyTech 2 ай бұрын
😂
@JevKuznetsov
@JevKuznetsov 3 ай бұрын
To go one step further - devcontainers are an even better solution. Build once - reproduce on any system.
@EarthlyTech
@EarthlyTech 2 ай бұрын
Do you use the dev container support in VS Code? I find that is pretty nice.
@user-ix5qn5vx5f
@user-ix5qn5vx5f 3 ай бұрын
thank you for the video! that was very helpful
@EarthlyTech
@EarthlyTech 2 ай бұрын
You're welcome!
@duongphuhiep
@duongphuhiep 3 ай бұрын
what bothering me is not the verbosity of "if err != nil", rather the fact that: (1) "Hidding error and continue running is the nature of Go codes" at least it is the default behavior when you "forgot" to handle error... On the other side, the "Exception paradigm" of Java, C# makes your codes crash if you "forgot" to handle the "exception" other function is throwing. (2) The "if err != nil" of Go is "contaminating" the same way as the "async await". It means that if you "forgot" only one line of "if err != nil" in the chain, then the worst case is that others "if err != nil" (in the chain) might be wasted. The longer the codes continue to run with the hidden error until the day it finally crashed, the harder to track down the root cause. Fortunately this worst case is not that common IME. Moreover, the golangci-lint gives you a big "errchecked" warning. Personally, I don't let any of these warnings appeared in my codes. Evens in case I wanted to skip / ignore an error, I'd still "if err != nil" to log the error (in debug level) along with a justification message explaining why I ignored the error (and so continued the happy path) I wish that Go team would inspire the same approach as Rust for error handling. Rust errors are Value the same way as Go, but the Result<T,E> of Rust beautifuly "forced" developers to handle error: In order to Get the result T you have to handle the "E" one way or other: in a "match" statement or by a simple unwrap() function to get the T which will panic the E... Unfortunately, It might be too late now for Go to take the same approach as Rust because Go has to keep backward compatibility with the current "if err != nil" way of errors handling.
@andrewdunbar828
@andrewdunbar828 3 ай бұрын
For me almost nothing goes as you show. Possibly because I started my C project in Xcode but then went on to mostly use it in VScode but the Xcode project having an extra level seems to make everything unintuitive and frustrating and I just had to give up. For instance I had no pencil icon next to Configuration, Build target, and launch target. I finally figured out it was because my makefile isn't in <project>/makefile but in <project>/<project>/makefile because that's how Xcode sets up a project and that's where my main.c was. But even then I can't set Configuration. I click on the pencil and choose Default but configuration still says [Unset].
@EarthlyTech
@EarthlyTech 2 ай бұрын
oh no. Perhaps file a big on the extension and they may address this.
@arunaruljothi9890
@arunaruljothi9890 3 ай бұрын
Pretty cool project. Would it make sense to run these containers inside a VM (like UTM) so we can mimic control groups/namespaces?
@EarthlyTech
@EarthlyTech 2 ай бұрын
Good question. I'm not familiar with UTM to be honest. But yes, a downside of this approach is that you don't have the features and restrictions control groups and namespaces bring.
@rogerscubadiver
@rogerscubadiver 4 ай бұрын
Very nice and detail dive into containers
@EarthlyTech
@EarthlyTech 2 ай бұрын
Thank you so much 😊
@bennguyen1313
@bennguyen1313 4 ай бұрын
I've read of people using Makefile "shim", to automate running make format, make docs, make tests.. never heard of shim.. I've only seen: "Make uses Makefiles to make C." "CMake uses CMakeLists to make Makefiles to make Make make C." Also, with so many compiler/frontend options.. gcc/mingw vs llvm/clang/Zig, Intel's EDG/ICC , to go along with building cmake vs meson, maven , gradle , bazel.. that it all gets a bit overwhelming! Would be nice to learn one system/tools that will work on a TI-86 calculator, to WIndows XP Mac/Linux, and Android! Maybe the only way is to maintain different docker containers or VMs with the environment for the desired target (and avoid cross-compilation)?
@chezchezchezchez
@chezchezchezchez 4 ай бұрын
In 2024…. Awk is 47 years old!!! Exciting old program!
@EarthlyTech
@EarthlyTech 2 ай бұрын
Still going strong!
@eugeneL_N1E104
@eugeneL_N1E104 4 ай бұрын
as to future potential topics, python typing looks not very clear when I write class methods for non-builtin classes. also wondering since which python3.* does this typing has really performance improvements (or "dev acceleration" as IDE use them)
@AllanKobelansky
@AllanKobelansky 4 ай бұрын
So many of these gems are unknown to the point-and-click world. Consider reading the Unix Man pages titled “Text Processing Utilities”. Therein you’ll find, awk, cut, split, join, … and so on. Nice tutorial.
@EarthlyTech
@EarthlyTech 4 ай бұрын
Thanks for watching. Great tip!
@EarthlyTech
@EarthlyTech 4 ай бұрын
Thanks to Dr Alex for the demo of his work. files shown: github.com/terraphim/terraphim-firecracker/blob/main/Earthfile github.com/terraphim/terraphim-ai/blob/main/terraphim_firecracker/atomic-server-infra/Earthfile
@Sdirimohamedsalah
@Sdirimohamedsalah 4 ай бұрын
Thank you for providing the source code . I’m curious to see if it’s create it own names space
@hashkeeper
@hashkeeper 4 ай бұрын
cool examples too, you could write some really cool code that organizes issue tracking, pull requests, commits ect from github on your own console of choice daaang
@EarthlyTech
@EarthlyTech 4 ай бұрын
yeah, you could build your own TUI to GitHub. Might be a fun project.
@hashkeeper
@hashkeeper 4 ай бұрын
@@EarthlyTech any project like that would be a great project for new job seekers looking for a foot in the door too. I keep returning to this tutorial, thanks. its a full scale explanation of jqs foundations, really really helpful.
@alexv2401
@alexv2401 4 ай бұрын
Thank you for your content. Your contributions to the KZfaq Python Hive mind do not go unnoticed. Sincerely, A passionate Pythonista
@EarthlyTech
@EarthlyTech 4 ай бұрын
Wow, thank you
@sepheiba
@sepheiba 4 ай бұрын
Great news, hopefully I can use Podman natively on macOS soon
@EarthlyTech
@EarthlyTech 4 ай бұрын
Best of luck!
@NamasenITN
@NamasenITN 5 ай бұрын
Can I install poetry with poetry? Or will it cause an anomaly in the space time continuum?
@EarthlyTech
@EarthlyTech 5 ай бұрын
An anomaly for sure! The universe will be replaced with another universe where Python packaging is even more complex.
@cil7ea
@cil7ea 5 ай бұрын
Hello. I recently found your channel. I love your content. I noticed that you use some sort of AI video editing software to make your eyes point to the camera all the time. Except it doesn't work that well imho. Your eyes are beautiful, no need for the edit. Keep it up!
@LodeNachtergaele
@LodeNachtergaele 5 ай бұрын
What do you think about Pixi ?
@EarthlyTech
@EarthlyTech 5 ай бұрын
I'm not familiar with it. Do you like it?
@Drygear1
@Drygear1 5 ай бұрын
I might be missing some obvious point but it seems Go error handling is horrible..... sooo many lines of code just to handle one error.
@Nuraddinhassan
@Nuraddinhassan 5 ай бұрын
if you never touched Golang of course it will seem horrible, for me I just create standard approach/plan to handle it and now just follow that approach. it will be really messy if you just try to figure out how to handle it for every time you face error in code.