- 34
- 206 651
Earthly
United States
เข้าร่วมเมื่อ 10 ธ.ค. 2020
Hey all!
Welcome to Earthly's youtube channel.
We are building a channel where we can share everything that you need to learn to be a software developer.
Specifically, we focus on tutorials around builds and programming languages and most of the videos are hosted by Adam Gordon Bell. Earthly makes an open-source build tool called Earthly.
Come learn with me! Subscribe! :)
Welcome to Earthly's youtube channel.
We are building a channel where we can share everything that you need to learn to be a software developer.
Specifically, we focus on tutorials around builds and programming languages and most of the videos are hosted by Adam Gordon Bell. Earthly makes an open-source build tool called Earthly.
Come learn with me! Subscribe! :)
Deciphering Messy Code (And Writing Simpler Code)
Earthly ➤ earthly.dev
In this video, Adam dives into the evolution of programming languages and the balance between expressiveness and readability. He explores how modern features like lambdas in Java and constexpr in C++ reduce boilerplate but add complexity. Using examples from Java, Scala, Go, C++, and Rust, Adam illustrates the fine line between powerful, concise code and confusing showboating.
Learn why expressiveness can enhance readability for experienced devs but pose challenges for newcomers. Discover the pitfalls of overusing advanced features and get tips on maintaining clarity in your code. Whether you're a seasoned pro or a coding newbie, this talk offers valuable insights into crafting readable, maintainable code.
Join Adam on this journey through the world of programming languages and find out how to strike the perfect balance between power and simplicity in your code.
In this video, Adam dives into the evolution of programming languages and the balance between expressiveness and readability. He explores how modern features like lambdas in Java and constexpr in C++ reduce boilerplate but add complexity. Using examples from Java, Scala, Go, C++, and Rust, Adam illustrates the fine line between powerful, concise code and confusing showboating.
Learn why expressiveness can enhance readability for experienced devs but pose challenges for newcomers. Discover the pitfalls of overusing advanced features and get tips on maintaining clarity in your code. Whether you're a seasoned pro or a coding newbie, this talk offers valuable insights into crafting readable, maintainable code.
Join Adam on this journey through the world of programming languages and find out how to strike the perfect balance between power and simplicity in your code.
มุมมอง: 298
วีดีโอ
Earthly Show And Tell - CI Transformation with IOHK
มุมมอง 1648 หลายเดือนก่อน
Earthly ➤ earthly.dev Welcome to another episode of Earthly Show and Tell. Today, Josh Gilman, the SRE lead at IOHK (Input Output), will take us on a deep dive into how his team has utilized Earthly to transform their CI process. In today's session, Josh will demonstrate how Earthly can simplify and streamline operations, even in a complex, monolithic repository like the one used to manage the ...
The secret to learning Rust and other challenging programming languages.
มุมมอง 5028 หลายเดือนก่อน
Earthly ➤ earthly.dev Article (with links) ➤ earthly.dev/blog/future-is-rusty/ Dive into the complexities of advancing from beginner to intermediate programming with our detailed discussion on overcoming the 'intermediate plateau.' This video addresses the challenges faced when transitioning to complex programming languages like Rust compared to simpler languages like JavaScript. We explore how...
Earthly Show And Tell - Ephemeral Environments and Time Travel Debugging with Replay.io
มุมมอง 1038 หลายเดือนก่อน
Earthly ➤ earthly.dev Reply ➤ replay.io In this episode of Earthly Show and Tell, we sit down with Dan Miller, a software engineer at Replay, to explore their cloud-based development workflow powered by Earthly and Tilt. Replay is a time-traveling debugger for the web, built on a complex stack of C , Node.js, and Docker. Dan shares how they leverage Earthly and Tilt to streamline their developm...
Implicit Returns and Expressions in Rust, Ruby, Kotlin and Scala
มุมมอง 1879 หลายเดือนก่อน
Earthly ➤ earthly.dev This video explores the concept of implicit returns, if-expressions, match-expressions, and single-expression functions in programming languages like Rust, Ruby, Kotlin, and Scala, highlighting how they can enhance code readability and conciseness. The author demonstrates the use of these expression-based concepts and encourages readers to embrace the power of expressions ...
Earthly Show And Tell - Automated Browser Testing with Slipwise
มุมมอง 10710 หลายเดือนก่อน
Earthly ➤ earthly.dev Slipwise ➤ slipwise.com In this episode of Earthly Show and Tell, Eric and Jordan discuss the development of Slipwise, a Ruby application designed for marina management. They outline their journey in creating an efficient system to handle marina operations, including the management of boats, contracts, and documents. The duo highlights their use of technologies such as Rub...
Earthly Show And Tell: Firecracker VMs and Earthly
มุมมอง 34910 หลายเดือนก่อน
Earthly ➤ earthly.dev Join us in this enlightening episode of Earthly Show and Tell, featuring Dr. Alexander Mikhalev, a seasoned CEO, CTO, and AI consultant. Dive into an in-depth discussion on the cutting-edge of AI and privacy-preserving technologies. Discover how Earthly revolutionizes CI/CD pipelines, the intricacies of debugging GitHub Actions for Fluvial, an Infinian streaming platform, ...
The REAL Way to master JQ
มุมมอง 6Kปีที่แล้ว
Earthly ➤ earthly.dev In this tutorial, we learn to use JQ to manipulate JSON documents! We explore the powerful features and functions of JQ, guiding you through constructing, sorting, filtering, and combining functions with pipes to enhance your JSON manipulation skills. Explore constructors, functions for sorting and reversing, and learn how to transform JSON data using pipes and functions. ...
AWK in 300 Seconds
มุมมอง 2Kปีที่แล้ว
Earthly ➤ earthly.dev In this tutorial, we delve into the power of AWK at the command line, focusing on two key functionalities. Firstly, we demonstrate how AWK can be used to selectively pick specific rows from the results of a command, showcasing examples with the "LS" command. Secondly, we explain how AWK allows users to filter rows based on specific criteria, such as matching patterns in co...
Containers Unveiled: Exploring macOS NATIVE containers
มุมมอง 2.8Kปีที่แล้ว
Earthly ➤ earthly.dev In this video, we delve deep into the fascinating world of containers and their implementation on various operating systems. We begin by exploring the traditional definition of containers, which involves using Linux system calls and namespaces for isolation. However, we also introduce an expanded definition that includes shared kernel isolation mechanisms on platforms like...
How to Use Poetry in Python to avoid Dependency Hell
มุมมอง 20Kปีที่แล้ว
Earthly ➤ earthly.dev Today, let's discuss Python dependency, virtual environments and the use of Poetry, an all-in-one tool for virtual environments, dependency management, packaging, and distribution in Python projects. I'll explain how Poetry helps manage dependencies, set up virtual environments, and package projects for distribution. I'll also mention the limitations of Poetry when dealing...
The secret to making Golang error handling a breeze
มุมมอง 14Kปีที่แล้ว
Earthly ➤ earthly.dev In this video, we delve into Golang's unique approach to error handling. We highlight how Go's error handling differs from other programming languages and showcase its effectiveness when following the right idioms. We demonstrate the simplicity of implementing the error interface and constructing errors using the errors package. We emphasize that in Go, errors are not exce...
Reading and Writing YAML Files with Python
มุมมอง 3.8Kปีที่แล้ว
Earthly ➤ earthly.dev In this video, we demonstrate how to work with YAML in Python, covering key topics such as reading and writing YAML files, working with nested elements, making modifications to YAML documents, and converting YAML to JSON. We also provide practical examples and valuable insights throughout the tutorial. Whether you're a Python beginner or an experienced programmer, this vid...
Mastering GPT-4: Advanced Prompt Engineering Techniques Unveiled
มุมมอง 446ปีที่แล้ว
In this video, Adam shares expert strategies for harnessing GPT-4 and other generative AI models to tackle complex challenges. He dives into the nuances of prompt engineering and tuning, highlighting the significance of meticulously choosing the information you feed into ChatGPT, segmenting intricate problems into manageable tasks, and leveraging "thinking out loud" techniques to guide the AI's...
Shell GPT: Using GPT4 to get work done at the shell
มุมมอง 519ปีที่แล้ว
Earthly ➤ earthly.dev In this tutorial, Adam unveils his secret recipe for crafting personalized article excerpts and tailor-made call-to-action messages using the power of LLMs. Get ready to unleash your creativity and embark on an exciting writing adventure with Adam. We also showcase clever prompting techniques (few-shot learning) to ensure accurate responses that align with our expectations...
The Ultimate JQ Tutorial: Everything You Need to Know to Parse JSON Like a Pro
มุมมอง 17Kปีที่แล้ว
The Ultimate JQ Tutorial: Everything You Need to Know to Parse JSON Like a Pro
Earthly Satellites with Github Actions - Speed up and simplify your GHA builds.
มุมมอง 298ปีที่แล้ว
Earthly Satellites with Github Actions - Speed up and simplify your GHA builds.
Pants Build, The History of Bazel, and Building Monorepos with Benjy Weinberger
มุมมอง 1.9Kปีที่แล้ว
Pants Build, The History of Bazel, and Building Monorepos with Benjy Weinberger
Makefile Variables Are Complicated - Makefile assignment tutorial
มุมมอง 7Kปีที่แล้ว
Makefile Variables Are Complicated - Makefile assignment tutorial
The Other Kind of Staff Software Engineer
มุมมอง 797ปีที่แล้ว
The Other Kind of Staff Software Engineer
Makefiles For Golang Projects - Save Time And Build Faster!
มุมมอง 21Kปีที่แล้ว
Makefiles For Golang Projects - Save Time And Build Faster!
Using Makefile in Python with a Virtual Environment
มุมมอง 10Kปีที่แล้ว
Using Makefile in Python with a Virtual Environment
Makefile Support in Visual Studio Code - Makefile VSCode Tutorial
มุมมอง 40Kปีที่แล้ว
Makefile Support in Visual Studio Code - Makefile VSCode Tutorial
How to Containerize Python Apps Using Docker
มุมมอง 2.7K2 ปีที่แล้ว
How to Containerize Python Apps Using Docker
Python List Performance - The Ultimate Guide
มุมมอง 3532 ปีที่แล้ว
Python List Performance - The Ultimate Guide
How To Build A Fast Algorithm To Merge Lists
มุมมอง 8252 ปีที่แล้ว
How To Build A Fast Algorithm To Merge Lists
Brilliant! Precise and succinct. Even better are the out-links to other references.
GnuMake is absolute amazing, works great to manage docker, terraform, git, and both go + python projects. One can use macros, patterns, and variables to simplify the makefile and use one unified makefile for multiple projects/use cases. Plus running with entr you have a local CICD system right within your own project space without having to push code to a repo. Make also is a great way to automate common system tasks when paired with cron.
I landed here looking for comparisons between Ruby & Kotlin. I'm a Kotlin expert who is new to Ruby. I was surprised that a lot of tricks from Kotlin are available in Ruby, expressions being one of them. I like this style and it's how I program in Kotlin. If you add chaining, scoping functions, extension functions and the goal of eliminating local variables, you end up with code that reads like a spec and has a low chance of bugs. I'm hoping I can do that in Ruby. :)
Thank you; I learned the basics of JQ. I have a small suggestion: share the code used in this video; it may help to pratcie.
Wanted to create an app image with fuse recently but was kind of losing my mind on where to start. Your whole section at the half way point about needing to include a shell and the relevant linked libraries got me going. Thank you so much! Onwards to mastering fuse next.
test
extremely helpful. Thanks you!
Using poetry in azure pipeline Autoversioning via poetry th-cam.com/play/PL-kVqysGX514jD9Hm5sZqIJCCrtraHIiX.html&feature=shared
If golang had rust like ADT, iterators and monadic operations on them like map, and_then etc this would have been the perfect language for productivity
this was so good, thanks a ton :)
Good content but clear the output panel as when you do a quick scroll to the results and back it's hard to see the result
Damn! thanks for this. Teaching by association - you walked me through what I was familiar with and showed me how it works. I glossed over the C and Go parts, but this will help me retain the analogy to make my docker containers more efficient.
any good resource to learn low level docker ?
always wanted to learn jq properly. this was great now Iunderstand the basics. a deeper dive or next level video would be great if you have the time. thank you
How do you install "make" to run make file ?
Nice job
I love love love that you step through figuring out how how to do it, not just showing the outcome and running through the final answer. Showing the error, how to figure that out, then the next error, then how to find the reason for that, is teaching everyone to fish. This kind of education is way underrated in this day and age.
"...so it's just sorting the top level?" no, it's sorting the keys (not the values), as it was asked to anyway great video, it helped me a lot to proper understand how a YAML file is written and read
On a fun note - I lost count of how many times I heard "right?" :D
Very concise and to the point. Thank you so much!
Nice video. One point about wrapped errors; I have always found them to be problematic. The problem with wrapped errors is that when you wrap an error you can't use a sentinel error. I have been looking for a good solution for years, and the best I have come upon with - after trying many other approaches - is to instead use `errors.Join()`, e.g. `err = errors.Join(ErrMySentinelError, err)`. Alternately if I want to include some values - inspired by slog - I might do this instead: `err = errors.Join(ErrMySentinelError,fmt.Errorf("widget=%v",widget), err)`. I don't love the middle argument but that is what I am currently working with. Writing this comment I realize I could create a custom error for the middle on and directly use it like args passed to slog. I think I will update my projects to try that.
Woah!
Very thorough. How do you use the next statement in the { } that is not the BEGIN or END? I’m using bash and it does not work. I’ve taken the example from the book “sed & awk” by Dale and Arnold page 156.
Super cool, super helpful! Thanks!
package=0x1e92b79c echo1 :; echo $(package)
Thank you simple and clear explanation
Lopez Lisa Hall Linda Lewis Barbara
Elissa Valley
Collier Causeway
Liana Isle
Paucek Estates
Eloy Lane
Pattie Garden
Emory Parkways
Kemmer Manors
Mustafa Port
Ibrahim Isle
Reichert Green
Esta Throughway
Bosco Crossing
Ernestine Prairie
Hettinger Curve
Thanks bro, especially csv.DictReader() method is very useful to read as key value pair. i am not aware of that method, thanks for pointing it out.
Great video! Going through the comments, it seems like people love to comment before the video ends😂
Thank you for explaining !
Super cool! Just what I need for a thing I'm tinkering with.
did i really waste 30 minutes listening about how chroot works?
thank you. ❤
errors.As? seriously? not errors.Is or errors.Equals... why would they name it like that. "As" usually implies casting.
Tangfastic, thanks!