Ardan Labs
Ardan Labs
  • 512
  • 777 633
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
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

Komentáře

  • @TommyBrandon-e1x
    @TommyBrandon-e1x Před 2 hodinami

    601 Harris Views

  • @EdwardClark-n9v
    @EdwardClark-n9v Před 14 hodinami

    Petra Junctions

  • @brianYYZ
    @brianYYZ Před dnem

    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.

  • @Leo-nl6ky
    @Leo-nl6ky Před 2 dny

    I feel this. Probably gonna quit for this reason.

  • @andrewpearson7456
    @andrewpearson7456 Před 2 dny

    Love this one. You guys have some of the best education videos AND music!

  • @guttenbergovitz
    @guttenbergovitz Před 2 dny

    Awesome idea. I mean the shorts in general.

  • @PhyllisCalvo-u1g
    @PhyllisCalvo-u1g Před 4 dny

    Abshire Orchard

  • @CYB3Rsynth
    @CYB3Rsynth Před 7 dny

    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

  • @KayBraim-s4y
    @KayBraim-s4y Před 8 dny

    Turcotte Greens

  • @BronteYork
    @BronteYork Před 10 dny

    002 Laurie Mountain

  • @HabilUddine-u4i
    @HabilUddine-u4i Před 11 dny

    Skiles Ferry

  • @thebeardofknowledge
    @thebeardofknowledge Před 17 dny

    Rita's content is amazing! Great interview to let us get to know the genius behind the videos! 💯

  • @AbderahmaneBouziane
    @AbderahmaneBouziane Před 21 dnem

    did anyone figure out how to iterate over aws regions with a for-each in terraform?

  • @amerispunk
    @amerispunk Před 22 dny

    This is real world stuff, folks. This is how Big Finance uses IT beyond the work-a-day CRUD routine.

  • @HaaniNiyaz
    @HaaniNiyaz Před 24 dny

    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.

  • @justblueman
    @justblueman Před 27 dny

    Such a great explanation

  • @dmitrygrey
    @dmitrygrey Před 28 dny

    Zig to rule them all

  • @dshyryayev
    @dshyryayev Před 29 dny

    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?

  • @kevinkkirimii
    @kevinkkirimii Před 29 dny

    I was hoping to hear exploration and other uses of blockchain other than financial industry. Great interview btw

  • @Enzujp
    @Enzujp Před 29 dny

    Incredible!

  • @missanorajjohnthattil8526

    One of the best in class tutorials about go lang, i ever watched. This is recommended for computer science enthusiasts.

    • @ardanlabs
      @ardanlabs Před 27 dny

      We're so glad you found it helpful!

  • @nitzanpap8321
    @nitzanpap8321 Před měsícem

    Awesome video! Saved me hours. Thanks :)

  • @andresgardiol8111
    @andresgardiol8111 Před měsícem

    Excelente video Bill! Gracias!!

  • @DaviMarcondesMoreira
    @DaviMarcondesMoreira Před měsícem

    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.

    • @LemonSix
      @LemonSix Před měsícem

      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

    • @DaviMarcondesMoreira
      @DaviMarcondesMoreira Před měsícem

      @@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.

    • @LemonSix
      @LemonSix Před měsícem

      @@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

    • @DaviMarcondesMoreira
      @DaviMarcondesMoreira Před měsícem

      @@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.

  • @costa2016
    @costa2016 Před měsícem

    If it uses Makefile, why not just use instead? It's like you''re making a knife using a knife...

  • @benisrood
    @benisrood Před měsícem

    New lengthout hair and beard, same bouncy-feet Bill K energy.

  • @mohamedlaminetoure2952
    @mohamedlaminetoure2952 Před měsícem

    This is a Wonderfull content. Thanks Kelsy

  • @hasanrimawi5891
    @hasanrimawi5891 Před měsícem

    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)

  • @useless274
    @useless274 Před měsícem

    this seems lik eit starts in the middle of something but ihni where it starts..

  • @erikslorenz
    @erikslorenz Před měsícem

    Are they all there in the playlist? It doesn’t seem like it’s all the same series

  • @davidtaylor3284
    @davidtaylor3284 Před měsícem

    I took this class at Ardan Labs. It was a really good class and definitely worth the money.

    • @ardanlabs
      @ardanlabs Před měsícem

      We're so glad you chose us to further your education!!😁

  • @Taswiya
    @Taswiya Před měsícem

    I am with Bill on this one. I am just a bit more extreme LOL.

  • @Mr.BinarySniper
    @Mr.BinarySniper Před měsícem

    sound is very low compared to others video in youtube.

  • @samtx
    @samtx Před 2 měsíci

    cdebug exec 344dedd442e4 ls ln: /proc/1/root/.cdebug-5d382faa: Permission denied opensearch container

  • @GustavoDiaz93
    @GustavoDiaz93 Před 2 měsíci

    I like the speaker‘s presentation “Konrad Reichiiiiii” 0:27

  • @FinalYearProjects-jb9yb
    @FinalYearProjects-jb9yb Před 2 měsíci

    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?

  • @Zmey5656
    @Zmey5656 Před 2 měsíci

    thank you, very useful

  • @juanpablogonzalezquinteros
    @juanpablogonzalezquinteros Před 2 měsíci

    what about if we have many roles/words in the jwt payload ? every http call will decrease its performance...

    • @evilek
      @evilek Před 2 měsíci

      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...

  • @dmitry.matveyev
    @dmitry.matveyev Před 2 měsíci

    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 ;)

  • @BUY_YOUTUB_VIEWS_635
    @BUY_YOUTUB_VIEWS_635 Před 2 měsíci

    I wish there was a 'super like' option for this.

  • @diegomaradona336
    @diegomaradona336 Před 2 měsíci

    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.

  • @ClearerThanMud
    @ClearerThanMud Před 2 měsíci

    Nice. It would help if you made the code window a little larger and/or used a slightly larger code font.

  • @MaksymTrofimenko
    @MaksymTrofimenko Před 2 měsíci

    what was that?

  • @GamidIsayev-b8e
    @GamidIsayev-b8e Před 2 měsíci

    2:06 vs 5:12

  • @Zmey5656
    @Zmey5656 Před 2 měsíci

    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.

  • @KostasOreopoulos
    @KostasOreopoulos Před 2 měsíci

    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.

  • @henriquealexandreh
    @henriquealexandreh Před 2 měsíci

    This topic is a bit complex, I understand, but there is also a lack of objectivity in this presentation.

  • @TheMouseJerry-du1md
    @TheMouseJerry-du1md Před 2 měsíci

    Thank you for great video.

    • @ardanlabs
      @ardanlabs Před 2 měsíci

      We're glad you liked it!🤗

  • @synthatik
    @synthatik Před 2 měsíci

    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.

  • @DaFlameGamers
    @DaFlameGamers Před 3 měsíci

    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...

    • @arturfil
      @arturfil Před 3 měsíci

      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.