Tech With Nikola
Tech With Nikola
  • 10
  • 986 395
Can you earn money playing Blackjack? (The software engineer's approach)
🃏 Exploring Blackjack: Understanding Card Counting 🃏
Greetings, coding enthusiasts! Today, let's dive into the fascinating world of Blackjack. I'm Nikola, and I'm excited to walk you through an exploration of this renowned card game, focusing particularly on the intriguing concept of card counting.
In this video, we'll start by brushing up on the basics of Blackjack, ensuring everyone's on the same page. Then, we'll delve into implementing and discussing the basic strategy that offers players the best odds, without factoring in card counting.
Following that, we'll shift our attention to card counting-a strategy whispered about in gambling circles for its potential to swing the odds in the player's favor. Through practical implementation and analysis, we'll assess its effectiveness and whether it's a viable tactic for beating the casino.
So, if you're keen to unravel the mysteries of Blackjack and explore the realm of card counting, join me on this analytical journey. Hit play, and let's get started! And hey, if you find this exploration insightful, don't forget to like, share, and subscribe for more coding adventures!
Resources
🃏 How to play Blackjack (rules + basic strategy): bicyclecards.com/how-to-play/blackjack/
🔍 Illustrious 18 and Fab 4 deviations: www.casinoguardian.co.uk/blackjack/blackjack-illustrious-18/
📚 Blackjack Attack: Playing Pros Way by Don Schlesinger (affiliate link): www.amazon.com/Blackjack-Attack-Playing-Pros-Way/dp/194487724X?&_encoding=UTF8&tag=techwithnikol-20&linkCode=ur2&linkId=ed3c1916472918483f2cbe25a2f4ff0a&camp=1789&creative=9325
🚀 If you found this video helpful, don't forget to like, share, and subscribe for more tech tutorials!
Source code available for my Patreon supporters at: www.patreon.com/posts/source-code-99082226
🔗 Connect with me:
Support me on patreon: www.patreon.com/TechWithNikola
LinkedIn: www.linkedin.com/in/nikola-stojiljkovic-67a91931/
Join my discord: discord.gg/p9trmEVeaZ
Visit my blog: techwithnikola.com
Follow me on Instagram: techwithnikola
Follow me on Twitter: techwithnikola
Timecodes
00:00 - Intro
00:38 - Contents
01:05 - Blackjack Rules Overview
04:41 - Implementing Blackjack Engine
08:12 - Implementing (part of) Basic Strategy
09:28 - Running Simulations
10:22 - Implementing all rules in Basic Strategy
12:27 - Hi-Lo Card Counting Method
14:00 - Implementing Hi-Lo Card Counting
15:08 - Smarter Bets lead to profit
15:55 - Illustrios 18 deviations
18:25 - The analysis. Is it worth it?
19:29 - Surrender using Fab 4
20:19 - Outro
Переглядів: 1 708

Відео

Mastering Dynamic Programming - A Real-Life Problem (Part 2)
Переглядів 21 тис.5 місяців тому
🎬 Mastering Dynamic Programming: Part 2 - Let's Solve a Real-Life Problem 🎬 In the previous video, I talked about the basics of dynamic programming. I often get comments how dynamic programming is not useful in real-life. While it's true that most people don't use it on a daily basis, it's wrong to diminish its value. Most of us use software that is uses dynamic programming to some extent on a ...
But, what is Virtual Memory?
Переглядів 162 тис.6 місяців тому
🎬 Introduction to Virtual Memory 🎬 Let's dive into the world of virtual memory, which is a common memory management technique used in computer's operating system. It sits at the boundary of software and hardware, and it's the main reason why we can play video games and listen to the music at the same time without worrying about spotify crashing our Diablo 4. 🔑 Key Topics discussed in the video ...
Snake learns with NEUROEVOLUTION (implementing NEAT from scratch in C++)
Переглядів 15 тис.7 місяців тому
🎬 Coding Quests Episode 1: Implementing the NEAT Algorithm from scrach in C 🎬 🔍 What's this video about? I was reading a lot about genetics lately, so I got inspired to write code on that topic. I actually wanted to build a simulation with creatures that are evolving over time because I saw multiple videos on that topic and they looked fun. However, I ended up implementing the NEAT algorithm be...
Mastering Dynamic Programming - How to solve any interview problem (Part 1)
Переглядів 563 тис.9 місяців тому
🎬 Mastering Dynamic Programming: An Introduction 🎬 Are you ready to unravel the secrets of dynamic programming? 🤔 Dive into the world of efficient problem-solving with this comprehensive introduction to dynamic programming. Whether you're a budding programmer or an algorithm aficionado, this video is your gateway to understanding the magic behind DP. 🔑 Key Takeaways: 📌 Demystifying the concept ...
RSA Algorithm Explained + implementation
Переглядів 3,5 тис.9 місяців тому
Get ready for an eye-opening journey as I unravel the intricate workings of the RSA cryptosystem in this video. 🔒 What You'll Discover: Ever been curious about how our online data and communication stay secure? I've got your back! Let's start by delving into the real-world issue that cryptosystems are designed to solve. This will set the stage for our exploration of the RSA world. 🔐 Exploring C...
How GIT works under the HOOD?
Переглядів 184 тис.9 місяців тому
Have you ever wondered how Git really works? Are you confused about what a commit is? How about merging and rebasing, or maybe cherry-picking? This video breaks it down in simple terms! Join me to explore the core concepts of Git. 🔍 What You'll Learn: - How Git stores your code as a tree of objects? - How Git manages your code changes with commits? - What are branches? - How merge actually work...
Introduction to Hash Maps
Переглядів 9 тис.9 місяців тому
This video teaches you everything you need to know about hashmaps. I came up with the contents of this video when I was preparing for my interviews a couple of years ago, so I wanteto share what I think every software engineer should know about hash maps. Of course, there's a lot more to know about hash maps, and I might make more videos about it, but this one covers the key concepts and ideas....
Data Structures 101: How Queue and Stack work?
Переглядів 4,9 тис.9 місяців тому
Welcome to my UA-cam channel where we dive into computer science and technology. In this video, we will delve into two fundamental data structures: queues and stacks. These data structures are crucial in various programming applications, allowing us to efficiently store and organize data based on specific principles. Useful links and resources: * Queue: github.com/freezing/dsa/blob/main/queue.h...

КОМЕНТАРІ

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

    Wow, I was really surprised! I was just relaxing on UA-cam to fall asleep and came across your video. I thought it might be trash, but it turned out to be very good with excellent detail and explanation. Great job! Best video on youtube so fare 🎉🎉🎉

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

    Thank you! I've been using git for over a decade and you've finally made it clear! If I ran the internet, this video would be shown at the top of any "how to" search about git.

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

    Can you also call a programm a process with threads etc. or are those two seperat things?

  • @suyogpatil-cb7td
    @suyogpatil-cb7td 3 дні тому

    How to make (edit ) this type of content? Can anybody share software name or any youtube playlist to learn

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

    Great video! Sorry you weren't able to get it as trained as you would have liked. I have implemented neural networks and used the game Snake to train them as well so it's nice to see similar interests out there. I also ended up in a similar situation. The program ran well but I didn't get the results I was hoping for. It did "okay" but never really excelled at the game. I'm guessing it has to do with what information the network is being fed and how its fitness is being evaluated - which is frustrating because both of those feel like total shots in the dark at times. I've spent hours trying different combinations and strategies for both and nothing seems to help. Have you considered giving the network the ability to add / remove inputs and outputs? I've also dabbed in creating artificial life ecosystems with NEAT and in that setting, the agents have the ability to gain new senses over time. What often happens is that simple sensor inputs or simple locomotive outputs evolve first as those give the agents the means to at least eat food and navigate around their environment. Once those genes have propagated throughout the gene pool, competition usually starts driving the agents to evolve and utilize more complicated sensors / outputs, which they are able to do because they were given the opportunity to focus on locomotion and eating before being bogged down by extra stimuli (that often just gets interpreted as noise if the agent is not trained to make sense of it). Sorry if I am preaching to the choir but I believe its this uninterpreted noise that usually bottle necks the evolutionary process. One a different note: One interesting thing I did was add multiple snakes in one large 50 x 50 grid, to see them actively compete against each other and fight for a single apple. The game works essentially like Snake combined with Tron, as snakes evolved strategies to trap each other. By far the coolest thing I observed though was when one snake evolved to stick to the bottom-left corner. It would stick to that corner doing clockwise rotations and would only venture out towards an apple if it ever spawned near the bottom-left corner. After eating the apple, it would curl back up and stick to its corner again - all the while every other snake adapted a strategy of just darting towards the apple while dodging snakes. Last tidbit: Transformers and LLM's are cool and all but genetic algorithms mixed with neural architecture will always be my favorite. If anything, a mix of the two or the two working in tandem will certainly bring artificial life to the masses :) But for now, we evolve snakes, even though no asked us to.

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

    You are using the right measure but are calling GiB a Gigabyte, don't fall for Microsofts misinformation, it's a GiBiByte, It's a Giga-Bi-Byte. Meaning it's the equivalent capacity in base 2 that being 2^30 instead of 10^9, 1 kiB has 1024 Bytes, 1kB has 1000Bytes. No computer works in kB, they work in kiB, but now you know the reason why even though you bought a 1TB drive, supposedly your PC registers it as ~930GB, because Microsoft are lying assholes.

  • @clodomirvianna6350
    @clodomirvianna6350 5 днів тому

    Thank you for this amazing video! It's truly refreshing to encounter such well-scripted and nicely illustrated content. It makes really enjoyable trying to learn such complex concepts.

  • @RajuGod-to5ne
    @RajuGod-to5ne 6 днів тому

    समझ गया गीता पढ़ कर अपने मन को तू मार डाला गीता पड़ता है अच्छी पशुओं को क्यों पड़ता है दोनों पक्ष पढ़कर सपना दोनों के बराबर फैसला कर पाएगा क्या सत्य है क्या गलत दोनों पक्ष पड़ेगा तब तेरे को समझ आएगा क्या धर्म है क्या धर्महै विदाई तो है यादों में फैलने वाला कलयुग का मरियमराज फैसला करना है तो दोनों पक्षों पर जाकर फैसला करके दिखाओ फिर तुम्हें तो साफ साफ कृष्णा भी तुम्हें गलत नजर आएंगे जो अपने फायदा के लिए करोड़ और वह आदमी का वध करवा दिया गुरु और केले का संबंध तोड़ दिया पिता और पुत्र का बीच में दरार डाल दिया गलतीकिसका था युधिष्ठिर का गलती था कि दुर्योधन कागलती था क्या युधिष्ठिर को पता नहीं था कि धर्मराज है दूसरे को पत्नी को जुआ में रखना क्या यही धर्म है रखना था तो अपना पांच भाई मैसेज को रखना अजूबा खेलने क्या धर्म में आता है तो फिर वह कैसे धर्मराज हुआ जो गलत धर्मराज ही नहीं था उसका साथ देने वाला तो गलत है ना सजा दो धर्मराज कोमिलना था सजा तो पांडव का बनता है किसने गलत फैसला किया शिवा तो दोनों दोनों खेले थे कछुआ खेलने वाले दोनों दोनों आधार में हुई कि नहीं जयपुर धर्म था तो उसको जुएं नहीं खेलना था अर्जुन ने जीता था अर्जुन ने विवाह किया था विवाह तो अर्जुन के साथ हुआ था इसलिए अर्जुन की पत्नी था दूसरे का पत्नी को रखने का किसने अधिकार दिया था युधिष्ठिर को

  • @naveennayak8365
    @naveennayak8365 7 днів тому

    Those who can't remember the past are condemned to repeat it . - Dynamic Programming.

  • @RafaelRodrigues-ug1lt
    @RafaelRodrigues-ug1lt 7 днів тому

    Me traga mais sugestões assim de canal algoritmo do UA-cam, very good

  • @kfawell
    @kfawell 8 днів тому

    That was a well produced video. Of course he pointed out the important concept of dependencies. I am curious, why did you choose to have arrows pointing the opposite way to convention? To be clear, the conventional way is to point towards the dependencies.

    • @TechWithNikola
      @TechWithNikola 7 днів тому

      Thank you :-) If you are referring to the topological sort order part, my reasoning was that sorting the graph in the topological order means that node u comes before node v if there is an edge from u to v. I probably used this article at the time: en.m.wikipedia.org/wiki/Topological_sorting

  • @avivb4598
    @avivb4598 9 днів тому

    Thank god I found this gem before my exam!

  • @silloo2072
    @silloo2072 11 днів тому

    Commenting for the algorithm 😅

  • @anantchitranshi6137
    @anantchitranshi6137 11 днів тому

    DMA

  • @user-mr3mf8lo7y
    @user-mr3mf8lo7y 11 днів тому

    Quite good video. Just a minor comment. You use the word 'Security' in sections but I would call it 'Liability'. Thanks,.

  • @jameslai322
    @jameslai322 11 днів тому

    Excellent description on how cpu/memory/os are working together! Well done!

  • @ThePsychoMessiah
    @ThePsychoMessiah 11 днів тому

    "Programs used to crash in the 1950s or so"? Calm down, it hasn't been that long since Windows XP would ask you to "send an error report".

  • @carloshenriquedesouzacoelho
    @carloshenriquedesouzacoelho 11 днів тому

    From Aritmetic concepts , the virtual memóry obeys bijective function (injective and surjective ) about Domain and Image . It is unbelievable !

  • @whtiequillBj
    @whtiequillBj 12 днів тому

    @0:54 and before that there were 16 bit CPUs that could only address which was only 64 Kilobytes. In the early days it was more around the problem with memory collisions rather then accessing something that is out of range. In the 1960s you wouldn't find the kind of problem you're talking about because the processing power was too expensive to have that kind of problem. Paper Tape and Punch Cards don't have the same problems with accessing memory out of range.

  • @user-kw5qv6zl5e
    @user-kw5qv6zl5e 12 днів тому

    Im just sitting here fascinated...and it makes sense.. knowing just the basics... nice work...a dumb thing to say but this is relaxing...straight to the point ..ask a question ...then answer it... terrific

    • @TechWithNikola
      @TechWithNikola 6 днів тому

      Thanks. I’m glad you like this style.

  • @brokecoder
    @brokecoder 12 днів тому

    I think to only get good a DP, is to start thinking about problems that you tend to solve without DP, from the angle of DP.

  • @soumyajitdas4433
    @soumyajitdas4433 12 днів тому

    Is Page Table update and TLB update treated as 1 atomic operation? If yes, how do we maintain atomicity? If no, how do we handle scenarios where the TLB has stale entry?

  • @vishalkarna3763
    @vishalkarna3763 13 днів тому

    Wonderful illustration of Virtual Memory. Good Job !

  • @krishnapraveen777
    @krishnapraveen777 13 днів тому

    Hey man, can you make same video with gpu and cpu? Your explanation is so good

    • @TechWithNikola
      @TechWithNikola 6 днів тому

      Hey, thanks for the suggestion. This is one of the topics in my queue, but since I do this as a hobby I don’t get much free time to work on videos. I will be working on this but cannot promise that it will be soon

    • @krishnapraveen777
      @krishnapraveen777 4 дні тому

      @@TechWithNikola Thanks man, you are doing god’s work

  • @duduwe8071
    @duduwe8071 13 днів тому

    Great video ! I am preparing for my master degree and found this gold in UA-cam. I believe I can ace my upcoming OS class. I have liked your video and subscribed to your channel. Thanks a lot for the video. Greatly appreciate it.

    • @TechWithNikola
      @TechWithNikola 6 днів тому

      Thanks a lot for taking the time to comment, as well as like and sub. It means a lot to me. I’m glad that the video was helpful. Good luck with acing your classes!

  • @TheAluminus
    @TheAluminus 13 днів тому

    10:39 All pages are 4096 long except Pages 2, is that a correct?

  • @JVLawnDarts
    @JVLawnDarts 14 днів тому

    Watching your videos truly helped me better understand this for my final. Thanks brother, here’s hoping I can graduate

    • @TechWithNikola
      @TechWithNikola 6 днів тому

      Good luck! I’m glad my videos were helpful

  • @threshhold8278
    @threshhold8278 14 днів тому

    This video is really good, the way that you simplified Virtual Memory is amazing!

  • @obaydasarahneh236
    @obaydasarahneh236 15 днів тому

    I'm already at about 10 minutes and have about 80% understanding. What do you recommend I look for? Or if you have some resource/s I would be grateful

  • @adnaneachahbar287
    @adnaneachahbar287 16 днів тому

    I had a course back when i was in engineering school, the professor did a horrible job explaining memory and virtual memory, I ended up hating the class and i never really understood how it worked. until this day when I watched your video, you did an excellent job, I wish youtube had something like this before. Fast forward today, I work as a sysadmin/infra engineer and i really didn't have an idea how virtual memory works, again until I watched your video, thank you for the effort you put here, I am sure many will watch it and gain valuable informations.

    • @TechWithNikola
      @TechWithNikola 6 днів тому

      Thank you for the comment. I’m glad you’ve found it useful!

  • @obaydasarahneh236
    @obaydasarahneh236 16 днів тому

    Can u make a video for registers, What are they used for… in a way that we can understand the assembly language

  • @jimmy1681000
    @jimmy1681000 16 днів тому

    Wow, good video. Good job and thanks for sharing.

  • @godnyx117
    @godnyx117 16 днів тому

    I have to words! That video is amazing! You won yourself a new subscriber, my friend! ❤

    • @TechWithNikola
      @TechWithNikola 6 днів тому

      Welcome aboard! I’m glad you’ve liked it, and thank you for taking the time to comment.

    • @godnyx117
      @godnyx117 6 днів тому

      @@TechWithNikola My pleasure! Have a lovely day!

  • @verdibahnsen
    @verdibahnsen 16 днів тому

    Isn’t a word 16bits and a dword 32?

  • @ahmedghallab5342
    @ahmedghallab5342 16 днів тому

    شكرا thanks 👍 it was helpful

  • @MMarcuzzo
    @MMarcuzzo 16 днів тому

    Very good!

  • @dims5647
    @dims5647 17 днів тому

    Truly amazing

  • @paulhetherington3854
    @paulhetherington3854 17 днів тому

    /loch v'(xt'')~r'' tmp int= <h2''> wn D' eml [2'R : v(p''X'|n|)]/ /~vk2't frch td + pxl u txt bx < vd LN''(v loch sfr''4'fz D')/ /+ wn LN'' D''-214v < loch~r''tmp int abv cntr LN'/ /krch 4'vk wn D''-214v eml v'' eml v''<h2'> const frch td/

  • @paulhetherington3854
    @paulhetherington3854 17 днів тому

    Br -- I have seizure! fors! He have -- Spanish -- Syrian nazi accent

  • @paulhetherington3854
    @paulhetherington3854 17 днів тому

    al -- oriental identity! Ah ha -- we own - made - all the machines!

  • @paulhetherington3854
    @paulhetherington3854 17 днів тому

    Only memory = solid connect f(xt' '')! 0 x -- dead clan member -- 1= clan member 2 = relayed 2x -- 3= drug drop mandatory + gay -- U used, their intel then!

  • @paulhetherington3854
    @paulhetherington3854 17 днів тому

    Vir -- verified index - for raid - clan only! 1968 - Birth Ban till - 1990s -- "TAN SON NHUT -- or SAN BN CLAIBORNE -- i.e. Sheriff Dept! US ABN -- Attack the - pregnant woman!

  • @paulhetherington3854
    @paulhetherington3854 17 днів тому

    /loch v'(xt'')~r'' tmp int= <h2''> wn D' eml [2'R : v(p''X'|n|)]/ /~vk2't frch td + pxl u txt bx < vd LN''(v loch sfr''4'fz D')/ /+ wn LN'' D''-214v < loch~r''tmp int abv cntr LN'/ /krch 4'vk wn D''-214v eml v'' eml v''<h2'> const frch td/

  • @marvinalone
    @marvinalone 17 днів тому

    6:56 why the LCS would contain 5 or 9? B could have no 9 and A could have no 5

  • @reanwithkimleng
    @reanwithkimleng 17 днів тому

    Very helpful ❤❤

  • @qghungluu5757
    @qghungluu5757 18 днів тому

    At 8:37, the animation looks like a rebase, should't it be a new commit which contains all the changes, thanks for the clear explantion though, great vid!

  • @user-eo7qk7jm9e
    @user-eo7qk7jm9e 18 днів тому

    where are you from? just for the accent. (English learner)

  • @tarikabdelhadibenaouda
    @tarikabdelhadibenaouda 19 днів тому

    Well explained

  • @marwanradwan7727
    @marwanradwan7727 19 днів тому

    I wanna thank the youtube algorithm for recommending this video. This is absolute gem for explaining the Virtual Memory concept.

  • @diegorodriguezv
    @diegorodriguezv 19 днів тому

    This is amazing! More detail than most Operating System courses in 20 minutes. Awestruck!

    • @TechWithNikola
      @TechWithNikola 6 днів тому

      Thanks. Glad you think so! I’ll try to make more videos on similar topics in the future.