- 512
- 777 633
Ardan Labs
United States
Registrace 21. 03. 2014
The official CZcams channel for Ardan Labs featuring educational content around the Go programming language, Rust, Docker & Kubernetes, Terraform, Python, & related technologies.
Ardan Labs is a software development, consulting, staffing, & training firm. Find more at www.ardanlabs.com
Ardan Labs is a software development, consulting, staffing, & training firm. Find more at www.ardanlabs.com
Go, Community, and Learning with Donia Chaiehloudj
In this episode, we sit down with Donia Chaiehloudj, a Senior Software Engineer at Isovalent, to discuss her diverse career journey, from working in image processing and electronics to becoming a Go developer in the cloud-native space. Donia shares her experiences transitioning into software development, her work with Go and Kubernetes, and her leadership role in the GDG Sophia-Antipolis community. She also touches on her passion for public speaking, open-source contributions, and balancing her career with life as a new mother. This episode is perfect for anyone interested in tech, community building, and career growth in software engineering.
00:00 Introduction
1:57 What is Donia Doing Today?
14:00 High School Interests
18:34 Engineering School
35:31 Internship Work / Software Transition
42:15 Metal Health in School
50:00 Graduating University / Job Searching
58:00 Becoming a Java Developer
1:10:00 Public Speaking / Community
1:23:50 Contact Information
Connect with Donia:
Twitter: doniacld
Linkedin:www.linkedin.com/in/donia-chaiehloudj/
Mentioned in today’s episode:
Isovalent: isovalent.com/
TinyGo: tinygo.org/
Want more from Ardan Labs? You can learn Go, Kubernetes, Docker & more through our video training, live events, or through our blog!
Online Courses : ardanlabs.com/education/
Live Events : www.ardanlabs.com/live-training-events/
Blog : www.ardanlabs.com/blog
Github : github.com/ardanlabs
00:00 Introduction
1:57 What is Donia Doing Today?
14:00 High School Interests
18:34 Engineering School
35:31 Internship Work / Software Transition
42:15 Metal Health in School
50:00 Graduating University / Job Searching
58:00 Becoming a Java Developer
1:10:00 Public Speaking / Community
1:23:50 Contact Information
Connect with Donia:
Twitter: doniacld
Linkedin:www.linkedin.com/in/donia-chaiehloudj/
Mentioned in today’s episode:
Isovalent: isovalent.com/
TinyGo: tinygo.org/
Want more from Ardan Labs? You can learn Go, Kubernetes, Docker & more through our video training, live events, or through our blog!
Online Courses : ardanlabs.com/education/
Live Events : www.ardanlabs.com/live-training-events/
Blog : www.ardanlabs.com/blog
Github : github.com/ardanlabs
zhlédnutí: 108
Video
Rust's Approach to Safe and Manageable Multithreading
zhlédnutí 236Před 7 hodinami
Welcome to Episode 1 of the *Fearless Concurrency in Rust* series! In this opening episode, Herbert Wolverson breaks down the essential concept of threads and explores how Rust's concurrency model makes multithreading safer and more manageable. He introduces the history and basics of threads, illustrating how Rust optimizes them for modern applications. In this episode, Herbert explains how thr...
AI Techniques: Real-Time Web Parsing and Contextual Conversations
zhlédnutí 145Před 16 hodinami
Welcome to Episode 6 of our Intro to Generative AI series! In this episode, Daniel explains the practical techniques necessary for enhancing AI models’ ability to handle dynamic, real-time data retrieval and process multi-turn conversations. Daniel demonstrates how to parse live websites, such as the Linux contribution guide, allowing AI to interact with up-to-date content and deliver accurate,...
Sports, Internships, and Startups with Samantha Coyle
zhlédnutí 141Před 14 dny
In this episode, we sit down with Samantha Coyle, a software engineer who went from a high school athlete with little tech exposure to a leading Go developer. Samantha shares her path through college, where she pivoted to computer science, and how she navigated internships at top companies like Dell and AMD. She also discusses her current work at Diagrid, where she helps build cutting-edge clou...
Key Techniques for Accurate AI-Driven Information Retrieval
zhlédnutí 151Před 21 dnem
Welcome to Episode 5 of our Intro to Generative AI series! In this episode, Daniel explains the practical techniques necessary for enhancing AI models’ ability to handle and process large volumes of text data. Daniel begins by demonstrating how to effectively manage and process large volumes of text data for AI models by first extracting and converting website content into markdown, then splitt...
Exploring Blockchain, Go, and Cross-Domain Projects with Tanguy Herrmann
zhlédnutí 171Před 28 dny
Join us in this episode as we explore the world of blockchain, Go programming, and various intriguing projects with Tanguy Herrmann. Tanguy is an experienced software engineer with a deep passion for technology and innovation. From his work in aerospace to his ventures in dance and beyond, Tanguy brings a unique perspective to the table. Tune in to hear about his journey, challenges, and insigh...
Streamlining Prompt Engineering and Context Handling in Generative AI
zhlédnutí 216Před měsícem
Streamlining Prompt Engineering and Context Handling in Generative AI
Implementing Robust Transaction Handling in Go
zhlédnutí 1,6KPřed měsícem
Implementing Robust Transaction Handling in Go
Hacking, Public Speaking, and Tech with BiaSciLab
zhlédnutí 129Před měsícem
Hacking, Public Speaking, and Tech with BiaSciLab
Enhancing Go Code with Effective Application Layer Tests
zhlédnutí 763Před měsícem
Enhancing Go Code with Effective Application Layer Tests
Proper Prompt Formatting for Enhanced AI Model Performance
zhlédnutí 190Před měsícem
Proper Prompt Formatting for Enhanced AI Model Performance
Building Secure Go Systems: Key Management, Middleware, and Error Handling
zhlédnutí 837Před měsícem
Building Secure Go Systems: Key Management, Middleware, and Error Handling
Fleet, Open Source, and Osquery with Zach Wasserman
zhlédnutí 167Před měsícem
Fleet, Open Source, and Osquery with Zach Wasserman
Go Package Design: Authorization and API Structures
zhlédnutí 1,1KPřed měsícem
Go Package Design: Authorization and API Structures
Mastering LLM Integration with Go and Prediction Guard
zhlédnutí 452Před 2 měsíci
Mastering LLM Integration with Go and Prediction Guard
Reddit, Computer Science, and Living Abroad with Konrad Reiche
zhlédnutí 316Před 2 měsíci
Reddit, Computer Science, and Living Abroad with Konrad Reiche
Enhancing Go Application Security with JWT and OPA
zhlédnutí 1,1KPřed 2 měsíci
Enhancing Go Application Security with JWT and OPA
Building Resilient Go Applications: Key Error Handling Techniques
zhlédnutí 1,5KPřed 2 měsíci
Building Resilient Go Applications: Key Error Handling Techniques
Enhancing Your Go Projects with Generative AI: Exploring LLMs
zhlédnutí 650Před 2 měsíci
Enhancing Your Go Projects with Generative AI: Exploring LLMs
A.I., Code, and Hardware with Ron Evans Pt. 2
zhlédnutí 155Před 2 měsíci
A.I., Code, and Hardware with Ron Evans Pt. 2
GoRoutines and Error Handling: Essential Techniques for Software Engineers
zhlédnutí 1,3KPřed 2 měsíci
GoRoutines and Error Handling: Essential Techniques for Software Engineers
Efficient Concurrency in Go: Managing GoRoutines and Load Shedding
zhlédnutí 1,5KPřed 3 měsíci
Efficient Concurrency in Go: Managing GoRoutines and Load Shedding
A.I., Code, and Hardware with Ron Evans Pt. 1
zhlédnutí 231Před 3 měsíci
A.I., Code, and Hardware with Ron Evans Pt. 1
Mastering Kubernetes: Networking Essentials and Service Configurations
zhlédnutí 767Před 3 měsíci
Mastering Kubernetes: Networking Essentials and Service Configurations
Mastering Kubernetes: Setting Up Environments with Kind
zhlédnutí 896Před 3 měsíci
Mastering Kubernetes: Setting Up Environments with Kind
Blockchain, Security, and Engineering with Manfred Touron
zhlédnutí 330Před 3 měsíci
Blockchain, Security, and Engineering with Manfred Touron
Elevating Software Design in Go: Package Architecture in Modern Development
zhlédnutí 1,7KPřed 3 měsíci
Elevating Software Design in Go: Package Architecture in Modern Development
Exploring Concurrency Pitfalls: Rust vs. C++ and Go
zhlédnutí 8KPřed 3 měsíci
Exploring Concurrency Pitfalls: Rust vs. C and Go
Mastering Software Design: Architectural Layers and Coding Modes
zhlédnutí 2,2KPřed 3 měsíci
Mastering Software Design: Architectural Layers and Coding Modes
Rust Safe at any Speed: Clearly Indicating Intent
zhlédnutí 639Před 4 měsíci
Rust Safe at any Speed: Clearly Indicating Intent
601 Harris Views
Petra Junctions
As a web designer, I felt like this for a long time, but then I realized nothing I create will be rotting in a landfill for a thousand years either.
I feel this. Probably gonna quit for this reason.
Dont do it. Please
Love this one. You guys have some of the best education videos AND music!
Awesome idea. I mean the shorts in general.
Abshire Orchard
I'm pretty sure I read somewhere that you can technically turn off the garbage collector and manage your own memory. I haven't messed around with that at all though
Turcotte Greens
002 Laurie Mountain
Skiles Ferry
Rita's content is amazing! Great interview to let us get to know the genius behind the videos! 💯
did anyone figure out how to iterate over aws regions with a for-each in terraform?
This is real world stuff, folks. This is how Big Finance uses IT beyond the work-a-day CRUD routine.
The level of detail shared in this ~4 minute video is great and as always Bill's style of teaching really makes it enjoyable to watch.
Such a great explanation
Zig to rule them all
I have concern about this approach: why middleware of the Web request processing shoud deal or have a knowledge about "transaction" for the database? When we use the approach that Bill suggested we are coupling Web request processing and Database "internal" details? Is this a right approach? Can be Database or Repository layer be responsible for all transaction management?
I was hoping to hear exploration and other uses of blockchain other than financial industry. Great interview btw
Incredible!
One of the best in class tutorials about go lang, i ever watched. This is recommended for computer science enthusiasts.
We're so glad you found it helpful!
Awesome video! Saved me hours. Thanks :)
Excelente video Bill! Gracias!!
Could you please explain the benefits of sharing the transaction tx inside the context? Except for making the transaction tx available to any part of the program that has access to context.
In my case i have a service layer wich lives over the repository layer, so up until now i was opening the tx inside the same repository function. But with this i can have it open and make all my operations on the execution flow and then it would just commit or rollback. BUT i dont think is just that easy, it needs quite the time to think different scenarios before implementing this
@@LemonSix I'm following the same approach you described, with the only difference that I'm creating different repositories, each one based on a table, but the transaction is opened and passed as an argument. And, if an error is returned, I'm calling rollback. Otherwise, commit.
@@DaviMarcondesMoreira yeah but in my case this approach doesnt seem to be right because on the insertion functions it can be useful, but sometimes I need to make a select query to fetch some results and then based on that I can insert new data. And because of the tx not commiting my logic wouldnt work
@@LemonSix I get it. In my situation, I'm able to do it because there is a strong separation between select queries and insert/update queries, performing selects outside tx while inserting/updating are sharing tx as an argument.
If it uses Makefile, why not just use instead? It's like you''re making a knife using a knife...
New lengthout hair and beard, same bouncy-feet Bill K energy.
This is a Wonderfull content. Thanks Kelsy
Nice explanation! What about debugging async code? I tried it, but it never actually traces through the code. (Debugger just jumps to the end of async functions)
this seems lik eit starts in the middle of something but ihni where it starts..
Are they all there in the playlist? It doesn’t seem like it’s all the same series
I took this class at Ardan Labs. It was a really good class and definitely worth the money.
We're so glad you chose us to further your education!!😁
I am with Bill on this one. I am just a bit more extreme LOL.
sound is very low compared to others video in youtube.
cdebug exec 344dedd442e4 ls ln: /proc/1/root/.cdebug-5d382faa: Permission denied opensearch container
I like the speaker‘s presentation “Konrad Reichiiiiii” 0:27
Hey, I tried running the following snippet of code: ``` MaxInt64 = 9223372036854775807 RelativelyLargeConst = 9223372036854775808 ``` and encountered the error: `cannot use RelativelyLargeConst (untyped int constant 9223372036854775808) as int value in argument to fmt.Println (overflows)` Can you please explain the reason?
thank you, very useful
Glad it was helpful!
what about if we have many roles/words in the jwt payload ? every http call will decrease its performance...
You can then do sessions and store data on the server side, while sending only session identifier to the client, e.g. in jwt. I would not necessarily worry about that until you hit that performance issue...
In my opinion the need to evaluate code locally depends on several factors: - amount of changes; - how well you know the codebase; - the level of use of helping tools like SonarQube. I usually jump to local evaluation as needed. And my best code reviews always start from getting acquainted with functional requirements ;)
I wish there was a 'super like' option for this.
In truth, I don't understand how developers may forget to use sync primitives in a conc app and why that is a selling point for mature language like Rust. It sounds like bullshit; even if you forget, there are tests and code reviews after all.
Nice. It would help if you made the code window a little larger and/or used a slightly larger code font.
what was that?
2:06 vs 5:12
I very often find in someone else's code when an error is returned without its description. As a result, I spend a lot of time searching for where it happened and its causes.
I was about to write a different comment halfway the talk until Trusted Errors came up. I like to think of them as Expected Errors. Server is down, No rows in the database, I like my error values to have 2 error values. A front facing error value and a developer value, that is always nil in expected Errors. Non nil developer errors should not only be logged but raise some notification callback. Have a separate front facing error, makes it easier to translate those, if your front face is in multiple languages. Now my problem with golang Errors, and only Errors is that they should support exhaustive handling. What do I mean by that. When checking an error, I should be able to do (or actually forced to do) something like switch t:= Errors.Type(err); t { multiple AND exhaustive } If there was a mechanism to force deal with all expected errors returned by a function, we could easily split errors in Expected and Not expected, making error handling more predictable and robust. Non expected errors, will raise a dev error AND a 500 server generic error in case of a web api. That way also we would have full error propagation and not cover errors "as they happen" This is my only "problem" with errors in golang. I love that errors are values, but they should be enumerable and force exhaustive handling, which would be of course bypassed by handling all errors as Trusted. For example, we will do the exhaustive handling in our code Boundaries, were our code interacts with external apis. Once it gets in, values returned by OUR functions should be considered trusted and handled.
This topic is a bit complex, I understand, but there is also a lack of objectivity in this presentation.
Thank you for great video.
We're glad you liked it!🤗
Having a separate context and returning an error from your handler is a mistake. Best stick to the std lib handler signature so you can use standard middleware. The separate context also opens you up to split context issues where developers don’t know which to use. We went down this road early in our go migration and refactoring back to the std signature was the best thing we did since.
ok, then don't use the code generation... You are 100% being unproductive and it is 100% time wasted... You can still think about the next section of your code while not having to waste time on generic strings you are writing over and over...
Bottlenecks aren't in the code creation, they are in bugs. Code generation also is highly inaccurate and you have to double check so it can take twice as much as writing it once yourself.