NDC Conferences
NDC Conferences
  • 3 667
  • 28 357 244
Using Vector Databases for Multimodal Embeddings and Search - Zain Hasan - NDC London 2024
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com/
Subscribe to our UA-cam channel and learn every day:
/ @NDC
Follow our Social Media!
ndcconferences
NDC_Conferences
ndc_conferences
#machinelearning #database #bigdata
Many real-world problems are inherently multimodal, from the communicative modalities humans use such as spoken language and gestures to the force, proprioception, and visual sensors ubiquitous in robotics. In order for machine learning models to address these problems and interact more naturally and wholistically with the world around them and ultimately be more general and powerful reasoning engines we need them to understand data across all of its corresponding image, video, text, audio, and tactile representations.
In this talk, Zain Hasan will discuss how we can use open-source multimodal models (such as github.com/facebookresearch/ImageBind), that can see, hear, read, and feel data(!), to perform cross-modal search(searching audio with images, videos with text etc.) at the billion-object scale with the help of open source vector databases. I will also demonstrate, with live code demos and large-scale datasets, how being able to perform this cross-modal retrieval in real-time can help users add natural search interfaces to their apps. This talk will revolve around how we scaled the usage of multimodal embedding models in production and how you can add cross-modal search into your apps.
Переглядів: 188

Відео

From Magic to Mechanics: Demystifying GPU Programming - Adam Gaidi - NDC London 2024
Переглядів 4549 годин тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #concurrency #web #machinelearning #...
Middleware Showdown: Exploring Diverse Messaging Solutions - Chris Patterson
Переглядів 45612 годин тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #architecture #dotnet #microservices...
An Introduction to Residuality Theory - Barry O'Reilly - NDC London 2024
Переглядів 85814 годин тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #architecture #cloud #software Resid...
The Future of Cookies - Anders Abel - NDC London 2024
Переглядів 95117 годин тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #web #security Cookies has been a ba...
.NET gRPC - deep dive - Irina Scurtu - NDC London 2024
Переглядів 1,7 тис.2 години тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #dotnet #architecture #web #api #grp...
Let's build the worst Event Sourcing system! - Oskar Dudycz - NDC London 2024
Переглядів 1,2 тис.2 години тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #architecture #cloud #ddd Everyone l...
How to get a grip on your microservices system using a service-mesh - Edwin van Wijk
Переглядів 4452 години тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #dotnet #architecture #microservices...
Kubernetes and MLOps for Scalable and Reproducible Generative AI - Annie Talvasto - NDC London 2024
Переглядів 2342 години тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #ai #cloud #devops #machinelearning ...
Domain Storytelling-Understanding Your Users by Drawing Pictures - Henning Schwentner
Переглядів 8142 години тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #ddd Misunderstandings between devel...
Stay with C# or switch to F#? Let's fight! Let's vote! - Vagif Abilov & Max Arshinov
Переглядів 1,9 тис.4 години тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #dotnet #csharp #fsharp #functionalp...
Distributed load testing with k6 - Thijs Feryn - NDC London 2024
Переглядів 6554 години тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #testing #devops #api #web In this p...
Accessibility Testing 101 - Erissa Duvall - NDC London 2024
Переглядів 5524 години тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #testing #ethics #web #application #...
Common mistakes in EF Core - Jernej Kavka - NDC London 2024
Переглядів 4,2 тис.12 годин тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #dotnet #sql #apps When JK worked wi...
Actionable Observability - Lesley Cordero - NDC London 2024
Переглядів 84412 годин тому
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: ndcconferences.com ndclondon.com/ Subscribe to our UA-cam channel and learn every day: / @NDC Follow our Social Media! ndcconferences NDC_Conferences ndc_conferences #devops #microservices While observa...
The Evolution of Responsive Web Design: What's Next? - Trung Vo - NDC London 2024
Переглядів 1,5 тис.12 годин тому
The Evolution of Responsive Web Design: What's Next? - Trung Vo - NDC London 2024
What comes after ChatGPT? Vector Databases - the Simple and powerful future of ML? - Erik Bamberg
Переглядів 1,9 тис.14 годин тому
What comes after ChatGPT? Vector Databases - the Simple and powerful future of ML? - Erik Bamberg
Analogue Evolution, Digital Revolution: Tipping Points in Technology - Dylan Beattie
Переглядів 2,9 тис.14 годин тому
Analogue Evolution, Digital Revolution: Tipping Points in Technology - Dylan Beattie
Level up with GitHub Copilot: using AI to learn, code, and build - Michelle "MishManners" Duke
Переглядів 1,7 тис.14 годин тому
Level up with GitHub Copilot: using AI to learn, code, and build - Michelle "MishManners" Duke
What you can learn from an open-source project with 300 million downloads - Dennis Doomen
Переглядів 3,4 тис.16 годин тому
What you can learn from an open-source project with 300 million downloads - Dennis Doomen
The Crisps and Pickle Story: What's Really Behind Infamous, Historic UI Failures? - Dean Schuster
Переглядів 1,7 тис.16 годин тому
The Crisps and Pickle Story: What's Really Behind Infamous, Historic UI Failures? - Dean Schuster
On Becoming a Space-Faring Civilization - Richard Campbell - NDC London 2024
Переглядів 89916 годин тому
On Becoming a Space-Faring Civilization - Richard Campbell - NDC London 2024
Learn to Say "No!" Without Being a Jerk - Christina Aldan - NDC London 2024
Переглядів 1,1 тис.19 годин тому
Learn to Say "No!" Without Being a Jerk - Christina Aldan - NDC London 2024
It’s time to rebuild DevOps. - Paul Stack - NDC London 2024
Переглядів 3,1 тис.19 годин тому
It’s time to rebuild DevOps. - Paul Stack - NDC London 2024
Designing for change with Vertical Slice Architecture - Chris Sainty - NDC London 2024
Переглядів 6 тис.19 годин тому
Designing for change with Vertical Slice Architecture - Chris Sainty - NDC London 2024
Mastering Operational Health for Engineering Leaders - Iccha Sethi - NDC London 2024
Переглядів 75421 годину тому
Mastering Operational Health for Engineering Leaders - Iccha Sethi - NDC London 2024
Tales from the .NET 8 Migration Trenches -
Переглядів 2,9 тис.21 годину тому
Tales from the .NET 8 Migration Trenches -
Choose your own adventure - Shaun Lawrence - NDC London 2024
Переглядів 89121 годину тому
Choose your own adventure - Shaun Lawrence - NDC London 2024
Is .NET any good for Audio? - Mark Heath - NDC London 2024
Переглядів 3,5 тис.День тому
Is .NET any good for Audio? - Mark Heath - NDC London 2024
From IL Weaving to Source Generators, the Realm story - Ferdinando Papale
Переглядів 1,1 тис.День тому
From IL Weaving to Source Generators, the Realm story - Ferdinando Papale

КОМЕНТАРІ

  • @ProgrammerRajaa
    @ProgrammerRajaa 2 години тому

    2x speed is perfect to watch this video

  • @blazjerebic8097
    @blazjerebic8097 5 годин тому

    interesting talk, thanks for putting me on to residuality theory

  • @jirinovotny9704
    @jirinovotny9704 5 годин тому

    It is interesting to see bridging various technologies like that. Fantastic Steve Sanderson, as always. I love his presentations and the level of detail and complexity he usually goes into. However, the presented concept of combining technologies is making things on the backend much more complicated than most teams will want to accept unless they really have to integrate some legacy code/functionalities/externalities. The more tech interfaces you have to deal with, the more points of failure for your system and issues that will be hard to overcome. It's really difficult for me to come up with a valid real-world use case. Any specific ideas?

  • @s.m.mustafaakailvi2915
    @s.m.mustafaakailvi2915 5 годин тому

    This is it. This is the future and I've been searching & experimenting for MONTHS and this is literally the FIRST instance I have found of this type of implementation of Multi-Modality!

  • @sfsdeniso5941
    @sfsdeniso5941 6 годин тому

    GCP Pub Sub is missed the biggest messaging system in the world lol:)

  • @realavaloro6006
    @realavaloro6006 6 годин тому

    Very good!

  • @jirinovotny9704
    @jirinovotny9704 6 годин тому

    I liked the disclaimer at 46:40. However, the Handle method must be marked async, and the SingleOrDefaultAsync extension method should rather be used to actually compile the code. Other than that, I like the idea of vertical slices and I worked on projects that had grown into huge sizes and suffered from what Chris described. I just would love to see some examples or some discussion around good practices of how to layout the features and their borders because it is a pretty vague term tbh. I also am quite curious about what the design decision-making will be for huge projects when a change order arrives with a new feature that overlaps various existing features. It can become pretty hard to tell where one feature ends and another one begins. Or do you create a new one? This can become pretty messy quite quickly if it's affecting existing views or other end-user experiences.

  • @GlibVideo
    @GlibVideo 7 годин тому

    Really??? People is afraid of computation expressions? Unfortunate

  • @weifengmao
    @weifengmao 7 годин тому

    Great stuff as usual Chris. The background is wild 😂 One thing to highlight is ASB only supports private endpoint on the premium tier. Which is wild considering messaging is probably the most important piece of infrastructure you want to isolate from public traffic.

    • @marbachdaniel
      @marbachdaniel 6 годин тому

      Depending on your needs one could say Event Grid Pull Delivery with event grid namespaces can cover 80% of "simple" command, events and request/reply scenarios. EventGrid Pull supports private links But if you need the Swiss army knife capability of ASB then premium is the way to go depending on your scaling needs. That being said you can nicely combine event grid with ASB to get the best of both worlds.

  •  8 годин тому

    I'm feeling in love with martial arts because they came with the term "Bullshido".

    • @Barry-ru9kf
      @Barry-ru9kf 7 годин тому

      Shoshin is a better term.

    •  6 годин тому

      @@Barry-ru9kf "Beginner's mind" if you mind it?

    • @Barry-ru9kf
      @Barry-ru9kf 5 годин тому

      Yes - it recommends not allowing your current expertise to block the path to new ways of thinking.

  • @faldarith
    @faldarith 8 годин тому

    TIL the old weird flashy lights are the equivalent of modern RGB leds

  • @bjorkgren.tobias
    @bjorkgren.tobias 9 годин тому

    First!

  • @patrik.0
    @patrik.0 10 годин тому

    Does your events include the whole aggregate root and everything within? If not, how do you handle out of order events?

  • @vmachacek
    @vmachacek 12 годин тому

    There are tools based on tracking cookies deployed by state actors & bad guys to obtain physical location of an individual. Whoever says they don't care about tracking is out of touch

  • @shivam_patel
    @shivam_patel 12 годин тому

    The Facebook diss about “300 billion” was such a miss lol

  • @JoseManuel-qu9fk
    @JoseManuel-qu9fk 13 годин тому

    I love what I ever seen: Microsoft employees never used Microsoft Windows. lol

  • @chewbaccarampage
    @chewbaccarampage 13 годин тому

    If you're considering FP, I would recommend Richard Feldman's 2021 talk called Functional Programming for Pragmatists over this talk. These OOP vs. FP talks aren't very helpful because they don't address the software qualities that each tool (i.e. programming language) produces over time. It's like arguing that a sledge hammer is better than a ball peen hammer. They both are useful under certain situations.

  • @AlexanderBelikov
    @AlexanderBelikov 15 годин тому

    Great presentation, thank you!

  •  15 годин тому

    Bravo! Great presentation! 🙌

  • @thomasbittner1009
    @thomasbittner1009 15 годин тому

    I'm almost afraid to bring this up, but here it goes: For me, the biggest disadvantage of F# is that it forces me to use spaces for indention. I don't want to start a tabs vs. spaces flame war here, but at least, I'd like to have the choice. Especially for visually impaired developers, this is a game changer, and forcing spaces for indention borders on discrimination. (Yes, I know there is an option in F# to use tabs if you really want to, but it comes with so much baggage that it's almost unusable.)

    • @chewbaccarampage
      @chewbaccarampage 13 годин тому

      I use to hate this, but then we use to struggle to get the team to be consistent with C#. Even with a .editconfig, the team had to manually structure the code in order to get consistency, but over time things would end up inconsistent. F#, although a bit heavy-handed, forced the team to use a consistent style. We don't think about it anymore and the code is guaranteed to be formatted consistently otherwise the compiler will bark at you. The biggest feature of only being able to call code defined above has been amazing. We spend more time solving the problem at hand and less time on formatting consistency. I use to unfairly argue that the team wasn't discipline, but it's human nature to do the "fast" thing and so entropy will eventually take over, but having the compiler force you in one direction, is like a big stick that forces you to be discipline.

  • @ivanovbasil
    @ivanovbasil 17 годин тому

    Qute superficious. Not a deep dive.

  • @PaulSebastianM
    @PaulSebastianM 18 годин тому

    There is a built-in Audacity plugin that can remove the background hum by giving it a sample of it from where there are no other sounds in the source.

  • @XandaxDK
    @XandaxDK 21 годину тому

    Funny and informative - hits close to home on some points as well. Would love to see a "build a good (or just acceptable) one" as well :D

  • @z-a3594
    @z-a3594 День тому

    Please get to the point faster. Took 20 minutes to get to the topic of the talk.

  • @SlowAside5
    @SlowAside5 День тому

    Seems like this talk mirror’s Ian Cooper’s TDD talk on many points.

  • @TheUArabej
    @TheUArabej День тому

    Funcional bros - stand up

  • @Jeff.Wilson
    @Jeff.Wilson День тому

    It's extremely hard to listen to this talk, this dude constantly uses words "like" and "right". According to the transcript, he said "like" 275 times and "right" 240 times in 58 minutes, which means that he mentions those words on average every 15 seconds!

  • @mostrealtutu
    @mostrealtutu День тому

    how to explain common sense with buzzword bingo

  • @margosdesarian
    @margosdesarian День тому

    What a super video!!!!

  • @clystian
    @clystian День тому

    46:36 Async/Await Best Practices

  • @striker865
    @striker865 2 дні тому

    F# is so concise and pleasant to work with

  • @slyredbeard
    @slyredbeard 2 дні тому

    What was the exception handling library that Max mentioned?

    • @talwald1680
      @talwald1680 День тому

      Polly - only for http error handling

    • @slyredbeard
      @slyredbeard День тому

      @@talwald1680 Ah, i know that one ). Thank you very much!

    • @anreton
      @anreton День тому

      ​@@talwald1680Polly not only http error, btw

  • @diegoX6Turbo
    @diegoX6Turbo 2 дні тому

    C# rules forever

    • @TheStickofWar
      @TheStickofWar 2 дні тому

      It’s weird to even compare. An OOP language with a syntax that everyone can be easily comfortable with. And F#, a functional language which is great for domain modelling and well.. functional programming. I would use both.

    • @obinnaokafor6252
      @obinnaokafor6252 День тому

      @@TheStickofWar C# is a multipurpose and multi-domain programming language, with a great blend of OOP and FP capabilities. C# is also fantastic for domain modelling. What the authors were trying to do is just sell f#, instead of focusing on educating upcoming programmers. lol

    • @KurtMueller
      @KurtMueller День тому

      @@TheStickofWar you can call any c# code from f# and even define classes and use inheritance in f#.

  • @pluto7562
    @pluto7562 2 дні тому

    Esoteric misinformation. It's funny how she contradicts her own statements by explaining, that every disability is different, and you shouldn't make assumptions. Then goes ahead and claims that increased accessibility can lead to higher revenue and will extend your reach to a previously not accessed audience by over 26%.🤣🤣 How does this work, and I thought not all disabilities are the same? Hey NDC, can we have some quality control? what a joke

  • @dimitrioskantakouzinos8590
    @dimitrioskantakouzinos8590 2 дні тому

    Dat hair.

  • @NilsElHimoud
    @NilsElHimoud 2 дні тому

    Thanks for the paradigm shift with regard to code duplication

  • @kahnfatman
    @kahnfatman 2 дні тому

    Micdrop moment: AI can take care of the roses, human, the guns. Thank you!

  • @EvilCoffeeInc
    @EvilCoffeeInc 2 дні тому

    I'm very mixed on the whole issue. I studied Cognitive Science because I thought AI was interesting but these days? It just makes me depressed, for a few reasons. One is the preponderance of grifters using the tech to churn out and endless series of nothing products and passing it off as real human labour. But within the realm of professionals using ML models for their work, I see another issue: A backward slide in skills. I'm not convinced that GitHub copilot or Dall-E exist on the same level as digital recording software or digital cameras. The latter are more convenient media to be sure but the art you make with them still requires actual skill and labour to create. Machine Learning models that write code or paint an image for me are doing the entire process, and I think Dylan identified that people still want to create things. Musicians still make music, photographers still take photos. These people are not going to accept prompting an AI as a replacement for the creative process, they simply aren't the same. And I feel it's a similar story with code. I got into software because I like problem solving, I like learning new things. If the future of the industry is that I ask a computer to write code for me and I bugfix it, well my job is no longer programming, it's PR review, and that's not why I do what I do. I'm also not encouraged to develop new skills like this, or to expand my horizons. I can see the value in reducing busywork for simple tasks, but even there I simply don't trust the technology to do it right, and if on top of that I'm giving my data to a company who are turning my labour into their quick bucks? I'll stick to working for myself, I think. I dunno, the tech is neat but I don't have faith in its trajectory, socially.

  • @hstrinzel
    @hstrinzel 2 дні тому

    NO. This is going in the direction of MAXIMAL COMPLEXITY. Huge developer teams will be needed, ONLY large companies will need to apply. Smaller developers who want to be productive CANNOT benefit from such complexity. Voted down.

  • @khanfaizan05
    @khanfaizan05 2 дні тому

    I don't know.. keep it simple. He over complicated things

  • @RoamingAdhocrat
    @RoamingAdhocrat 2 дні тому

    Conferences could do a little more for accessibility for their own attendees by providing live human-curated subtitles, rather than AI-generated!

  • @barneylaurance1865
    @barneylaurance1865 2 дні тому

    I'm confused about "only test the public interface that other people depend upon" at 28:04. The implication of that seems to be that if the entire system is developed by one team with full collective code ownership, then you should only test at the user or other external interface of the application. But that can't be right, since testing at the user interface level is generally hard work and fragile. So maybe it means have the app split into modules and test at the module boundary level. But then the problem of what to test isn't really answered, it's just replaced with the problem of how to decompose the app into modules, and if you change that arrangement of modules you'll still need to change the tests. And not all languages have a native module system where a module is distinct from a class or a function. And writing a test for a module may be a lot more complicated and require a lot of irrelevant details that gets in the way. E.g. in the example of calculateFoo, if Foo is something that the customer understands (e.g. foo is the postageAndPackagingCostEstimate for display on a shopping cart) then having a focused test that calls that function or something close to it seems a lot simpler than a test on a bigger scale where more setup is required so we can call a bigger function that e.g. also has to calculate the taxes.

  • @heiksable
    @heiksable 2 дні тому

    I cannot not think of Werner Ziegler of Better call Saul...

  • @mkorsukov
    @mkorsukov 3 дні тому

    Great migration story!

  • @chauchau0825
    @chauchau0825 3 дні тому

    So he renames System Test / End-to-end test as Component Test (which already mean another thing). The people in this industry has zero capability to respecting the original definition

  • @0-Will-0
    @0-Will-0 3 дні тому

    Nice Talk, thank you.

  • @kaplansedat
    @kaplansedat 3 дні тому

    nice presentaion. i now understand why windows desktop apps are soo bad. so many ways to build a just windows desktop app. confussion cloud. thats why people build desktop app with web technologies.

  • @quaesitor-scientiae
    @quaesitor-scientiae 3 дні тому

    🎯 Key Takeaways for quick navigation: 00:51 *🛠️ A good schema should solve a business problem effectively, avoiding scope creep and internal technical complexities.* 02:55 *🧠 A good schema should be easy to reason with and understand, facilitating future maintenance and team collaboration.* 04:03 *🗺️ Designing a schema involves transitioning from real-world models to structured database schemas, ensuring alignment with business needs.* 07:53 *🔍 Schema descriptions involve entity graphs, representing relationships between different entities like catalogs, items, and invoices.* 09:59 *⚙️ Schema optimization impacts performance significantly, requiring deep understanding of database engine capabilities and implementation details.* 11:38 *⚠️ Regrettable schema decisions include complexity, downtime during changes, and significant work investments for modifications.* 20:33 *🛑 Avoid incorrect data types, such as storing dates as strings, as they lead to inefficiencies and complications during data processing.* 27:15 *🛠️ In relational databases, designing table schemas with columns that cater to different types of data can improve data integrity and query performance.* 30:27 *📚 Abnormal form in database design leads to inefficiencies and data integrity issues, such as sparse columns and unnecessary null values.* 36:42 *💡 Natural keys, derived from real-world entities, provide meaningful and stable identifiers in database design, promoting simplicity and efficiency.* 39:11 *🔍 Exposed locators, like auto-generated keys, lack real-world meaning and can lead to synchronization issues and hotspot risks in database systems.* 47:55 *🔑 Sequential primary keys and surrogate keys should be meaningful, stable, and convenient to ensure efficient database operations and schema migrations.* 51:07 *🔄 Object-Relational Mapping (ORM) can lead to inefficient database access patterns and challenges in schema management, especially when treating databases as repositories.* 54:54 *🔄 Object-Relational Mapping (ORM) can introduce challenges in concurrency handling and change tracking due to the disconnect between in-memory objects and database entities.* 56:09 *🛠️ While ORMs offer benefits like connection management and data mapping, they can complicate stored procedure calls and introduce unnecessary complexity in handling change detection and concurrency.* 58:01 *📝 Ad hoc Data Definition Language (DDL) changes lack repeatability and reliability, making it difficult to track changes and troubleshoot issues. Using migration scripts enables automation and facilitates CI/CD practices in database management.* 59:49 *🔑 Utilize natural keys and maintain database integrity by storing atomic values and employing concise data types, avoiding the use of ambiguous formats like JSON or XML within relational databases.* Made with HARPA AI

  • @djchrisi
    @djchrisi 3 дні тому

    I'm really not into EF Core. I have always the feeling I'm battling the framework. This talk only strengthens my opinion. With Dapper I always have the feeling to work together with the database. I know exactly what is going on and why. With EF not so much.

    • @md.redwanhossain6288
      @md.redwanhossain6288 2 дні тому

      Why do you want to work with Database when writing OOP code? Relational approach and OOP approach are different. Thats why you need an ORM which lets you speak in OOP where the DB is abstracted out.

    • @djchrisi
      @djchrisi 2 дні тому

      ​@@md.redwanhossain6288 People might argue about it, but I don't think that the 'O' in ORM means the same as the 'O' in OOP. OOP is just so much more than just objects. It's about inheritance, encapsulation, polymorphism, etc. The 'O' in ORM means more data and records to me. You can, of course, abstract the database away - no problem about it. But I personally do not feel good about it, and I like to know exactly what is going on. Even if it means that I need to use a DSL (in this case, SQL). It also means to probably move slower, and if all goes well, EF is indeed a fast and efficient tool. You can focus on other things than the DB. However, if things do not go smoothly, then I do not think EF is doing a good job to help me figure out what is wrong.

  • @geniuslowbar
    @geniuslowbar 3 дні тому

    its a history lesson that skipped a whole decade (Newton, Psion, Symbian) of mobile device operating systems. he describes Neotron within 5mins.