Why Computers Can't Count Sometimes

Sdílet
Vložit
  • čas přidán 11. 11. 2018
  • Sometimes, numbers on sites like CZcams and Twitter jump up and down; subscriber counts lag, like-counts bounce all over the place. Why is it so hard for computers to count? To answer that, we need to talk about threading, eventual consistency, and caching.
    Thanks to my proofreading team, and to Tomek on camera!
    The Cambridge Centre for Computing History: www.computinghistory.org.uk/
    🟥 MORE FROM TOM: www.tomscott.com/
    (you can find contact details and social links there too)
    📰 WEEKLY NEWSLETTER with good stuff from the rest of the internet: www.tomscott.com/newsletter/
    ❓ LATERAL, free weekly podcast: lateralcast.com/ / lateralcast
    ➕ TOM SCOTT PLUS: / tomscottplus
    👥 THE TECHNICAL DIFFICULTIES: / techdif

Komentáře • 2,7K

  • @TomScottGo
    @TomScottGo  Před 5 lety +9658

    This was a really difficult script to write! Folks who know 'eventual consistency' as a more formal term may be annoyed that I'm using it a bit loosely here. Hopefully this works as an explainer for folks who are new to it, though!

    • @zachfinucane853
      @zachfinucane853 Před 5 lety +62

      Good job

    • @nacs
      @nacs Před 5 lety +179

      I'm impressed by how well you covered caching, database server timeouts/lag, ACID, etc in lay mans terms @Tom

    • @JonerMFC
      @JonerMFC Před 5 lety +109

      A good example of what you mentioned was 6 views but 300 likes on this video

    • @apoorvlathey5421
      @apoorvlathey5421 Před 5 lety +54

      View count : 48 Likes : 172

    • @dkosmari
      @dkosmari Před 5 lety +84

      The Concurrent Counting Problem is so important, yet it's often neglected by many Computer Sciences courses. I imagine this video will be useful in CS courses too.
      For people interested, I highly recommend the "Is Parallel Programming Hard, And, If So, What Can You Do About It?" free online book, from the Linux Kernel developers. It has a whole chapter dedicated to concurrent counting, showing various approaches to the problem.

  • @randomgblsfs2190
    @randomgblsfs2190 Před 4 lety +6381

    "Computers are just overgrown calculators"
    Something I will say to an AI in the future just to insult it.

    • @5GTower1000Percent
      @5GTower1000Percent Před 4 lety +224

      And then it will whoop your ass with its digital Kung Fu.

    • @eltouristoduo
      @eltouristoduo Před 4 lety +176

      actually, AI is the same thing as computing. AI that is actually intelligent is pure fiction, and may always be, certainly far beyond our imaginings. . It doesn't' matter that people make unfounded predictions. It's actually much farther beyond our comprehension that we generally think. Our dramatic underestimation of that gap is a product of some combination of popularized 'intellectual anthropomorphication' of AI, and just incomplete and inadequate thinking about what intelligence must mean as a word in order to be distinct from calculation, memory, filtering, etc. Consider we can't remotely, in our widest dreams, imagine a rational human language, not remotely. But for a computer that was somehow magically intelligent, such a thing would be required, it seems. But that's just part of the problem. AI 'learning' is in essence just filtering of filtering. Anyone that says or thinks there's anything about AI that is actually intelligent, is destroying the meaning of the word intelligence. IQ test scores for AI must be zero to be correct (they are often not, and this is a complete failure of test giving). Intelligence must mean 'conceptualization' aka 'cognition'. But it does not have to be 'accurate' or 'competent' it just has to be able to 'conceptualize' to be intelligent, even it gets everything wrong. So, dreaming and imagining is a product of intelligence. Many lower animals must be intelligent, it gets hard the lower down the scale to say where intelligence starts in life forms. There can be unintelligent responses to stimuli in creatures and plants, that are of course still useful.

    • @equim7363
      @equim7363 Před 4 lety +5

      @Christopher Armstrong brain is no a calculator

    • @equim7363
      @equim7363 Před 4 lety +61

      @@eltouristoduo one of rare but precise explanation what is actually wrong with all this AI hype. Thank you.

    • @codinghub3759
      @codinghub3759 Před 4 lety +29

      @@eltouristoduo You know this a joke right. No need to write an essay.

  • @AbbreviatedReviews
    @AbbreviatedReviews Před 5 lety +2395

    "Eventual Consistency" is the method I use for getting enough sleep. I'm sure it'll get there one day.

    • @OrangeC7
      @OrangeC7 Před 4 lety +76

      @@musekek3935 That went from 0 to dark in no time

    • @andrevanrooyen6232
      @andrevanrooyen6232 Před 4 lety +26

      @@musekek3935 nope, connect a few wires and you'll see. Sleep _/\√^v~^\_. Death is more a ______________. Eventual consistency of sleep would be a pattern /\/\/\/\/\/\. Otherwise its saying that a server's eventual consistency is reached when you discontinue its power supply.
      TLDR (attempt to pull the thread back from the dark side)

    • @9nikolai
      @9nikolai Před 4 lety +27

      @@andrevanrooyen6232 To be fair, ______________ is very consistent.

    • @GentleMannOfHats
      @GentleMannOfHats Před 4 lety +3

      I can relate with that

    • @groggers
      @groggers Před 2 lety

      Whilst watching this at midnight... same bro, same

  • @mcandelaria8769
    @mcandelaria8769 Před 4 lety +3704

    My eyes: see 67 and 68
    Me: ah yes, it's all coming together now

    • @angelbear_og
      @angelbear_og Před 4 lety +139

      Just skirted 69 (lmao)

    • @lyl14ghost
      @lyl14ghost Před 4 lety +20

      Hey we need one more like here

    • @callicosis8569
      @callicosis8569 Před 4 lety +6

      Leonard Winchester we need one less

    • @jmmip202
      @jmmip202 Před 4 lety +81

      computer: miscounts and doesn't quite make it to 69
      me: this is outrageous. it's unfair.

    • @YAMMAS
      @YAMMAS Před 4 lety +11

      @@jmmip202 d e s p i c a b l e

  • @MrZedblade
    @MrZedblade Před 4 lety +830

    I had to explain this to a client once. You did a much better job at it. We had thousands of people per minute interacting with a map and deciding where to place their "donation". There was a counter on the page showing how many "donations" have been made so far and it ran into the millions. We had dozens of AWS Instances, 15 or so RDS Read replicas, and Elasticache servers running to handle the traffic. But the testers (who were sitting next to each other) kept reporting minor discrepancies in their numbers when glancing across at the other tester's screens. I kept trying to explain the concept of "eventual consistency" and that although each individual user should still see the number going up on their screen, two users might just see different figures. But we would still eventually sort it all out and get the down-to-the-penny accurate results at the end of everything. I wish I could have shown them this video.

    • @eTiMaGo
      @eTiMaGo Před rokem +18

      I'm dealing with something like this lately too, a client asking why their internal activity counter was not matching Google Analytics real-time viewer counts. Need a Tom Scott video on the difference between users and sessions too now :D

  • @TommyCallaway
    @TommyCallaway Před 5 lety +7587

    A programmer is going to the grocery store and his wife tells him, "Buy a gallon of milk, and if there are eggs, buy a dozen." So the programmer goes, buys everything, and drives back to his house. Upon arrival, his wife angrily asks him, "Why did you get 12 gallons of milk?" The programmer says, "There were eggs!"

    • @KnakuanaRka
      @KnakuanaRka Před 5 lety +869

      Tommy Callaway It’s not so much an issue with programming as an ambiguity of grammar.

    • @Liza.Wharton
      @Liza.Wharton Před 5 lety +526

      @@KnakuanaRka r/woosh

    • @GamesFromSpace
      @GamesFromSpace Před 5 lety +1402

      Exception: Item "dozen" not found.

    • @theuberlord7402
      @theuberlord7402 Před 5 lety +82

      g.swell dead sub. Poor usage.

    • @Fexghadi
      @Fexghadi Před 5 lety +1030

      Bad programmer. Should have come back home with 13 gallons of milk.

  • @LindsayDaly
    @LindsayDaly Před 5 lety +8227

    *Tom Scott*
    *Tom Scott Returns*
    *Tom Scott Forever*
    *Tom Scott and Robin*
    *Tom Scott Begins*
    *The Dark Programmer*
    *The Dark Programmer Rises*
    *Tom Scott vs. VSauce: Dawn of Knowledge*

    • @echo5156
      @echo5156 Před 5 lety +474

      Tom Scott 2: the electric boogaloo

    • @BlokenArrow
      @BlokenArrow Před 5 lety +235

      Tom Scott Chriatmas Special (direct to DVD)

    • @tommaniacal
      @tommaniacal Před 5 lety +231

      2 Tom 2 Scott

    • @knightshousegames
      @knightshousegames Před 5 lety +88

      You forgot the best one that no one acknowledges, Tom Scott, Mask of the Phantasm

    • @the.abhiram.r
      @the.abhiram.r Před 5 lety +84

      Tom Scott The Video Game (contains Downloadable Content)

  • @hux2000
    @hux2000 Před rokem +177

    8 minutes, one take, not a single unplanned "um" or "ah": Tom is so damn good at this! How he doesn't have a lucrative TV presenting career is amazing to me. I can only assume he doesn't want one and that he's very happy with what he already has.

    • @rogerstoned2592
      @rogerstoned2592 Před 11 měsíci

      you can't be in charge, unless you are THE DUMBEST PERSON IN THE ROOM.
      (Dubya was POTUS! Rump was POTUS!! Rudy was MAYOR OF NYC! and so forth...)
      RICH KIDS (who never worked a day in their lives) RUN EVERY ATOM OF OUR LIVES, cuz daddy made some calls.
      NONE are smart or qualified or have any grip on reality. MONEY IS ALL THE CARE ABOUT.
      They are sociopaths who are a threat to all society.
      EX:
      nothing is easier than hiring Anchors for CNN or CBS or FOX....who are SMART and charming.
      Yet none of them can do this?!?!
      MERIT DOESN'T EXIST.

    • @eyk026
      @eyk026 Před 10 měsíci +14

      I read this right as he said "uh" (4:27). Still an incredible feat, and technically the 'uh' there is more of a way of making the example sound more "friendly" by making it seem like something he came up with on the spot even though we all have the tacit understanding that it was already written into the script, but that was kind of a funny coincidence.

  • @DzeeBzee
    @DzeeBzee Před 4 lety +2598

    "Why computers can't count sometimes"
    Let's count with Microsoft
    1, 2, 3, 95, 98

    • @johngaltline9933
      @johngaltline9933 Před 4 lety +89

      @@zsin128 missing a couple in there, the real joke is where is 9?

    • @TheWerelf
      @TheWerelf Před 4 lety +85

      Gaben is a computer confirmed!
      Half-life 1, 2, alyx,..

    • @luqcrusher
      @luqcrusher Před 4 lety +116

      Don’t forget:
      Xbox, Xbox 360, Xbox One, Xbox One X

    • @EnjoyCocaColaLight
      @EnjoyCocaColaLight Před 4 lety +10

      2000, pi, am space, 8, 10 YAAAAAAAAAAAAAY

    • @EnjoyCocaColaLight
      @EnjoyCocaColaLight Před 4 lety

      @@JollyOldCanuck No, they run XP.

  • @socialblade
    @socialblade Před 5 lety +5424

    Great video! We get people asking about this topic all the time!

  • @davr1
    @davr1 Před 5 lety +7683

    I wish everyone saying "lmao 15 likes 0 views youtube is high 😂😂😂" saw this video

    • @phutureproof
      @phutureproof Před 4 lety +768

      I wish everyone spamming the current year would stop and remove themselves from the site

    • @connorbuchanan9508
      @connorbuchanan9508 Před 4 lety +260

      @@phutureproof 2019

    • @nolanwestrich2602
      @nolanwestrich2602 Před 4 lety +118

      It's almost 2020 here.

    • @hazeltree7738
      @hazeltree7738 Před 4 lety +206

      Can we please have an official youtube taskforce that just links this video on those comments?

    • @ultranova3090
      @ultranova3090 Před 4 lety +67

      @@hazeltree7738 reporting for duty

  • @megalexantros
    @megalexantros Před 4 lety +557

    K-pop community needs to see this, so they can stop complaining about views disappearing.

    • @charlottesmom
      @charlottesmom Před 3 lety +82

      megalexantros , I agree, getting so sick of seeing "stop using emojis they delete views" on every new BTS video!

    • @t1me212
      @t1me212 Před 3 lety +29

      right. & they say "uR nOt a tRu bLiNk if u DoNt lIkE oNe oF thEm!1!1!" As if we can't have criticism.

    • @ribonette_
      @ribonette_ Před 3 lety +35

      I actually still have some doubts, would love for someone to explain further. I understand that too many ppl watching the same video at a time requieres yotube to register such data and finally proccess it and update the view count, but still I don't understand what provoques some views to be "deleted". How can youtube determine the view was not a real one, and make the number disappear? I say "disappear" cuz I've seen (putting an example) a view count going from 10.2 M, and then decreasing to 10.1M. I really don't want to come and be seen as an hard-headed kpoper, but I trully want to understand, please.

    • @megalexantros
      @megalexantros Před 3 lety +28

      @@ribonette_ I would also like to have a bit more info regarding that phenomenon. As I understand it, the multiple hits can make the video gain more views than it should as a result of "bad calculations" before the algorithm finalises the real view count.
      I understand however that this is a very crude way of seeing this and there's a lot more than meets the eye.

    • @ismatullahhadi3113
      @ismatullahhadi3113 Před 3 lety +21

      Nah, it's useless, they wouldn't understand

  • @MegaChickenfish
    @MegaChickenfish Před 4 lety +38

    One of the most surprising things as I learned about IT is how much of this stuff that seems to "just work" really doesn't, but only provides the constant illusion that it does to the front end user. I never thought a calculation like this could be this challenging.

  • @CheckEmGG
    @CheckEmGG Před 5 lety +850

    when the client gives 2 requirements: host 4K videos quickly and have a view counter.
    Dev team says: okay we can implement the video stream in a week but the counter will take us 3 months.
    This kind of "hard thing is easy and easy thing is hard" happens so much in development.

    • @andrevanrooyen6232
      @andrevanrooyen6232 Před 4 lety +97

      In accounting too. The complex reports are easy. It's the "easy" reports that take forever to compile correctly.

    • @HandledToaster2
      @HandledToaster2 Před 4 lety +141

      Client: I don't understand! It's just a number, the easiest part!
      *Client is found dead in the morning*

    • @equim7363
      @equim7363 Před 4 lety +38

      That's because of almighty CDN providers that provide us with the videostrem itself. But the real-time counting have to be processed through distributed and highly sophisticated back-end system.

    • @grahamturner2640
      @grahamturner2640 Před 3 lety +4

      Andre van Rooyen How?

    • @sh4dy832
      @sh4dy832 Před 3 lety +50

      same reason why video isn't the problem when doing videochat. Picture didn't arrive? Part of an image is corrupted? You lose signal for half a second? Image arrives in wrong order? No problem, you still get the context.
      But missing audio fragments or getting them in wrong order? That's gonna screw our weird human brain, that part has to be perfectly consistent.

  • @SkillsWithPhil
    @SkillsWithPhil Před 5 lety +6587

    I've learned so many random things thanks to this channel. These are types of the channels that deserve a CZcams Premium show.

  • @MrLarsjansen
    @MrLarsjansen Před 4 lety +96

    As a developer, I know about caching and basically everything you talk about, but it is still so interesting and I still learn from it. Especially how to explain things to other people. Thanks!

  • @rexpimplemyer3839
    @rexpimplemyer3839 Před 4 lety +97

    Its also a good reason to confirm that the "last one" of an item on ebay, Amazon, etc. is actually "still there" when ordered, or else you may be emailing the refund department as well. For the same reasons just described.

  • @AuthenTech
    @AuthenTech Před 5 lety +1982

    Anyone remember the old "under 301 club"?! :)

  • @brad9634
    @brad9634 Před 5 lety +70

    This channel is my favorite ever. I just found it a couple weeks ago and have been watching 10 videos a day, while I work and exercise. It’s very interesting and oddly calming

  • @SpyroTheEternalNight
    @SpyroTheEternalNight Před 2 lety +75

    i really appreciate you and your team's ability to take something fairly advanced like this and put it into terms newcomers can understand.

  • @ryanmorris2479
    @ryanmorris2479 Před 5 lety +670

    I just want to complement you, Tom, on your narration. I've noticed the One-take approach before on your videos, but this one was impressive. It can't be easy to keep your inflection and pacing interesting for such a long take, let alone doing it in such a conversational tone.

    • @dirrdevil
      @dirrdevil Před 2 lety +9

      *compliment

    • @kathycollin2229
      @kathycollin2229 Před 2 lety

      *remembers ‘Former UN Secretary General Ban Ki Moon’* (or something like that)

    • @user-pr6ed3ri2k
      @user-pr6ed3ri2k Před rokem +6

      @@dirrdevil he's the anti-tom
      does everything in >1 takes
      cant explain anything
      not bothered to do anything difficult for something simple
      (search: define complement)

  • @user-qf6yt3id3w
    @user-qf6yt3id3w Před 5 lety +1379

    Q. Why did the multithreaded chicken cross the street?
    A. To the get other to side

    • @macronencer
      @macronencer Před 5 lety +36

      Notation Polish Reverse good soul the for is!

    • @Carewolf
      @Carewolf Před 5 lety +168

      Easy to fix, I'll just enable atomicy:
      A. To get to the other side!
      Q. Why did the multithreaded chicken cross the street?

    • @woodfur00
      @woodfur00 Před 5 lety +283

      T No lie, my brain autocorrected that entire sentence and it took me way too long to see the punchline

    • @cornoc
      @cornoc Před 5 lety +29

      @@woodfur00 wow same

    • @wmiller2811
      @wmiller2811 Před 5 lety +10

      !edis rehto eht ot teg oT
      ?daor eht ssorc nekcihc rettamitna eht did yhW

  • @HYPERPLASMATIER
    @HYPERPLASMATIER Před 2 lety +16

    right at 7:47, when you said "All out of sync--", my video started to buffer, and I mistook it for comedic effect... It was real. And you sir? You've made me laugh for the sheer fact of how perfect it was to buffer at that moment. Brava, your video makes its own jokes.

  • @jessers1712
    @jessers1712 Před 4 lety +315

    Did a Brit just say, "math?"
    Whoa

    • @ba-wp5zs
      @ba-wp5zs Před 3 lety +29

      It's because he's adjusting his video for an international audience.

    • @michaelclark3192
      @michaelclark3192 Před 3 lety +34

      But does half the world say math? We say maths in Australia and I'm sure most other Commonwealth countries.

    • @jessers1712
      @jessers1712 Před 3 lety +15

      @@michaelclark3192 probably depends on what India says. That's going to be the driving factor.

    • @Anon.G
      @Anon.G Před 3 lety +3

      @@michaelclark3192 not Canada

    • @MenacingPerson
      @MenacingPerson Před 3 lety +14

      @@jessers1712 we say maths

  • @ThanatosDem
    @ThanatosDem Před 5 lety +79

    As a distributed systems engineer at Apple, one of the interview questions I ask candidates is to describe the differences in design considerations when building a write heavy vs read heavy system.
    This video goes into enough detail to pass that part of the interview with flying colors. Very cool to see it explained in such a simple and easily understandable way.

  • @T33K3SS3LCH3N
    @T33K3SS3LCH3N Před 5 lety +874

    That is a great explanation, but there is one more thing at work! Many large social media sites deliberately send out slightly randomised numbers to make it impossible for clients to see if their views and votes are counted.
    This is to enable so-called Shadowbanning, where an account's comments and votes are no longer counted, but the user is not supposed to find out. With this method they can ban vote bot accounts without the owner noticing it (which would simply cause them to delete and replace the bot) thereby reducing the viability of vote manipulation. On some platforms it is even used to deal with generally toxic users.

    • @macronencer
      @macronencer Před 5 lety +52

      Wow, is this true? If so, I learned something interesting today!

    • @silkwesir1444
      @silkwesir1444 Před 5 lety +70

      It's true. Except that enabling shadowbanning is just a side effect and not the goal...

    • @F1ghteR41
      @F1ghteR41 Před 5 lety +24

      While we're on the topic, YT itself is a great example of this principle. Just take a look at the recent Diablo Immortal scandal to see these algorithms at work.

    • @lowlize
      @lowlize Před 5 lety +56

      CZcams does this with comments too. If you post too many comments in a short period of time, others won't be able to see your last comments, even if you can.

    • @cisealvalentine3798
      @cisealvalentine3798 Před 5 lety +20

      This comment needs to be more visible. What an ingenious method to solve multiple problems at once. I never knew this existed, but it makes sense once explained.

  • @EoRdE6
    @EoRdE6 Před 3 lety +200

    "Counting things accurately is really difficult"
    Pennsylvania would like a word

    • @ausernameiguess7058
      @ausernameiguess7058 Před 3 lety +5

      I still feel that deep within my soul.

    • @deusexaethera
      @deusexaethera Před 3 lety +24

      Eventual Consistency applies to elections too, whether people like it or not.

    • @DigitalJedi
      @DigitalJedi Před 2 lety +1

      Pennsylvanian here. Math hard.

    • @scythal
      @scythal Před 2 lety

      Nevada's still counting!

  • @letcreate123
    @letcreate123 Před 3 lety +202

    I wish every K-pop stan malding about how youtube "takes away views" from their revered idols would watch this video

    • @mokafi7
      @mokafi7 Před 3 lety +5

      Same

    • @jannfietearp4439
      @jannfietearp4439 Před 3 lety +23

      I wish they have a working brain at least

    • @GiraffeFlavoredCondoms
      @GiraffeFlavoredCondoms Před 3 lety +11

      You think they're intelligent enough to understand this stuff? Pfft

    • @nctsgrass
      @nctsgrass Před 3 lety +23

      As a kpop fan myself I do consider sending this video if I see fans complaining. Most those complaining are kids tho they just don't know how anything works in life

    • @tauon_
      @tauon_ Před 2 lety +3

      They could not understand this video.

  • @ManolyaATALAY
    @ManolyaATALAY Před 5 lety +42

    I didn't expect to find database concurrency, multithreading, caching and page replacement. Thank you for bringing computer science to an easier understanding. When you're too deep into it, you don't honestly realize why people are confused.

  • @General12th
    @General12th Před 5 lety +501

    There are some systems that get _easier_ with scaling, not harder. For example, the behavior of a crowd is easier to predict than the behavior of an individual. The ideal gas law is awesomely simple and effective, but only works when you lump together a trillion trillion particles. Larger ecosystems are more resilient and self-sufficient than smaller ones. And so on.
    Fun fact of the day.

    • @someoneelse5005
      @someoneelse5005 Před 5 lety +40

      also fun fact of the day - this all boils down to statistics and normal distribution

    • @ThePhoenix107
      @ThePhoenix107 Před 5 lety +32

      It all depends on the perspective.
      Is it easier to predict the behaviour for every person in a crowd or for a single person?
      Does every single particle behave as expected when lumping together a trillion trillion particles?
      Applying your logic to the video's topic, it would be easier to count many likes than a few as you can approximate the real count.

    • @General12th
      @General12th Před 5 lety +32

      @@ThePhoenix107 Yeah, actually, you are. If you're going to be ten likes off anyway, you're better off being wrong ten likes in a million than ten likes in twenty. Same absolute error, smaller relative error.

    • @someoneelse5005
      @someoneelse5005 Před 5 lety +32

      @@ThePhoenix107 It doesn't depend on the perspective. The more units of anything you have, the easier it is to predict its average behavior. It's actually called The Law of Large Numbers, mostly any phenomenon will default to normal distribution with specific mean and dispersion values the more trials you go through with. Look it up.
      And yes, the experience and behavior of a single person would be considered "one trial" in relation top observing the crowd, indeed.

    • @HandledToaster2
      @HandledToaster2 Před 4 lety +12

      You forgot to mention reality itself! Physics is easy to calculate in common scales, but if you shrink down to quantum scales, it just doesn't work!

  • @sweet-mouth
    @sweet-mouth Před 2 lety +7

    I'm a system's engineering. You succinctly stated what I was shouting at the video when you posed to the question. I love your channel. Scale is the problem

    • @Supremax67
      @Supremax67 Před rokem

      Not when you have solutions like Hedera.
      The problem is not scale but education, the solution already exist, people just need to wake up to it.

  • @Lex_Quinn
    @Lex_Quinn Před 3 lety +12

    Your subscribers is pie rn and it’s such perfection

  • @ImSquiggs
    @ImSquiggs Před 5 lety +317

    Your editing is so on-point in these videos... it really helps to make what you're talking about easier to understand.

    • @tiileaf
      @tiileaf Před 5 lety +2

      Fancy seeing you here! :)

    • @ImSquiggs
      @ImSquiggs Před 5 lety +1

      Hey friend!! Small world!

    • @DanielBoos
      @DanielBoos Před 5 lety +1

      Actually idk if you would call it editing those stuff we saw were simple created in AE

  • @potatok123
    @potatok123 Před 5 lety +664

    *_Overgrown calculators_*

  • @warcrimes390
    @warcrimes390 Před 4 lety +287

    PC: I can run graphically heavy games at 1080p 150 fps
    Me:cool cool, how many people have watched this video
    PC: *Windows shutdown*

    • @SuperZeve
      @SuperZeve Před 3 lety +21

      With the xp shutdown sound as well

    • @rty1955
      @rty1955 Před 3 lety +3

      Ahhh there the problem - Windoze.
      Its a horrible o/s.
      Ms expects users to identify bugs

    • @codeIMperfect
      @codeIMperfect Před 3 lety +3

      @@rty1955 Servers mostly run Linux😑😑

    • @rty1955
      @rty1955 Před 3 lety +4

      @@codeIMperfect haha Thats because there is a REASON for that

    • @codeIMperfect
      @codeIMperfect Před 3 lety

      @@rty1955 Oooh🤣🤣

  • @therealpisceskid
    @therealpisceskid Před rokem +9

    watching this (and more specifically, the ticketmaster queue reference) post-taylor swift fiasco felt like getting a cruel war flashback of sorts

    • @mars-nf9cj
      @mars-nf9cj Před rokem +3

      seeing ticketmaster anywhere is like a jumpscare now 😭

  • @FergusGriggs
    @FergusGriggs Před 5 lety +1926

    Good ol' 301 views.

    • @oscarchampion5842
      @oscarchampion5842 Před 5 lety +72

      no 301, views have nothing to do with this

    • @ImperiumLibertas
      @ImperiumLibertas Před 5 lety +185

      301 views was/is a thing because CZcams likes to verify that traffic to a particular video is normal and not botted or anything of the sort. They freeze the view count at 301 until it can be verified.

    • @ugoleftillgorite
      @ugoleftillgorite Před 5 lety +54

      That's a "x > 300" vs "x >= 300" issue in their verification algorithm.

    • @hrishabh
      @hrishabh Před 5 lety +29

      Landon Buttars but there's a very popular video whose views are stuck on 301 even though it has crossed 2 million views. It's "Why do CZcams video view gets stuck at 301" by *NUMBERPHILE* . I know it sounds like a meme but this is true

    • @hrishabh
      @hrishabh Před 5 lety +5

      Edward Haas i watched it almost an year ago(probably) it was stuck at 301.

  • @timowagner1329
    @timowagner1329 Před 5 lety +154

    I want a video with the introduction "Hey VSauce, Tom here"

  • @ezrakornfeld8436
    @ezrakornfeld8436 Před 2 lety +6

    3:36 the corrupted view counter animation has some things to say. Bj+ch

  • @kavyaagrawal2013
    @kavyaagrawal2013 Před 3 lety +14

    Okay next time I get the question "What is a computer?" You know im writing "an overgrown calculator"

  • @ActualCharky
    @ActualCharky Před 5 lety +208

    Finally, something we can link on those "omg more likes than views" comments!
    I could've sworn there was already a video covering that, but I've never managed to find it.

    • @nothayley
      @nothayley Před 5 lety +35

      That's also because Likes are instant, but Views require at least some amount of the video to be watched to count.

    • @MetaBloxer
      @MetaBloxer Před 5 lety +3

      I didn't think of that. Good point.

    • @silkwesir1444
      @silkwesir1444 Před 5 lety +3

      1. there is caching and syncing of Likes too. Just recently I had encountered that I put a Like an a video (which had 0 Likes), but then decided to remove it... A while later I came back to it, having decided to put the like back on, and was surprised to see that there was 1 Like already displayed. I clicked it, it said 2, refreshed the page, it was 1 again. Apparently it still had my old revoked Like in the system. I tried it a couple of times to make sure it wasn't coincidence. After a day or so it was completely sorted out.
      2. It's not just that there is some amount of the video that has to be watched in order for it to count as a View (though that is probably true), it also is that there is a verification process going on, which takes a time. One of the things that process checks for is the number of seconds actually watched, but that is only one of several things, and CZcams keeps the actual details a secret as to prevent people from gaming the system (or at least making it harder).

    • @manyaxxtr
      @manyaxxtr Před 5 lety +10

      "Why do CZcams views freeze at 301?" from Numberphile is explains that. Maybe this is the one you watched

    • @puellanivis
      @puellanivis Před 5 lety

      @@manyaxxtr Apparently they have gotten rid of this feature. As long as they’re confident it is a genuine view, they will add it immediately. Meanwhile, anything that is possibly suspect will get queued up as a provisional view, and added later if it later checks out.

  • @ano1nymus1
    @ano1nymus1 Před 5 lety +116

    There's also vote fuzzing, which intentionally give as an inaccurate number to discourage manipulation by making it harder to tell whether it actually works or not.

    • @ToaderTheToad
      @ToaderTheToad Před 2 lety +1

      3 years later, I believe CZcams does this when telling CZcamsrs how many subscribers they have, usually only imprecise by like 1 subscriber though

  • @bucketofsunshine6366
    @bucketofsunshine6366 Před rokem +3

    As someone who finds computers very confusing, I want to thank you for making this simple for me to understand. Now if only I had a few hundred or so lessons like this one, I may begin to comprehend the basics of computing!

  • @nogoat
    @nogoat Před 3 lety +26

    If there is one thing that i understood over the years, Real-time operations are not good.

  • @the_cheese
    @the_cheese Před 5 lety +304

    When I worked for Big Software, one of our products had a notoriously inaccurate progress bar. Our lead programmer explained why making the progress bar more accurate was a "bottom of the list" priority item: "The task that the computer is showing the progress bar takes up about 98% of the computer's processing power, with about half of what's left (1% of the total processing power) going to figuring out progress and animating the progress bar. If we want to make that progress bar more accurate, we have to take processor time away from the task (which is supposed to be most important,) to give it to the progress bar animation. This will make the actual task take longer, in a logarithmic curve to where the task will take forever and the progress bar will show an infinite amount of time remaining, if we let it."

    • @LarsEchterhoff
      @LarsEchterhoff Před 5 lety +17

      That's because if the routines to calculate an estimated 100% have to take into account what impact the progress update code takes... This leads to infinity.

    • @TheMightyKinkle
      @TheMightyKinkle Před 5 lety +2

      Hahah Big Software

    • @gemstonegynoid7475
      @gemstonegynoid7475 Před 5 lety +74

      I prefer the loading bars that dont try to give you a time frame but instead just has a byte counter of what is loaded in so far

    • @andrevanrooyen6232
      @andrevanrooyen6232 Před 4 lety +28

      Easy fix in two words. "Please wait" Oh and add optional spinning dots that do 1.7 rotations before resetting the animation.

    • @RobBCactive
      @RobBCactive Před 4 lety +17

      As a programmer, that's BS or a sign of a stupidly implemented system.
      The issue needs fixing properly so real work isn't delayed

  • @mattsnyder4754
    @mattsnyder4754 Před 5 lety +4413

    FIRST!!
    I actually was. My local server just held onto my comment for a while.

  • @DaneOfAllTrades
    @DaneOfAllTrades Před rokem +3

    I know all that you're talking about in this video at a deep level, being a veteran web developer. However your communication style, examples and explanations had me see some things in a new light, even after 20 years of doing this for a living. Great job!

  • @mrtk23pl
    @mrtk23pl Před 2 lety +4

    I have 10 years of different experience in IT (fullstack, devops, ml), but I still like to watch such materials of Tom's, with basics of an IT, because I know, that I will learn at least one thing or acknowledge certain thing or get an idea. T.Hanks ;) no, seriously. Thanks Tom:)

  • @ThurstonCyclist
    @ThurstonCyclist Před 5 lety +812

    This would be an ironic video in which to wonder why there are more likes than views.

    • @OctaHeart
      @OctaHeart Před 5 lety +78

      Well that's because CZcams waits for you to watch a set amount of a video for a bit before it counts the view.
      Likes are instantaneous, the second a video is liked, the like shows up.

    • @xmlthegreat
      @xmlthegreat Před 5 lety +34

      @@OctaHeart r/woosh

    • @GummieI
      @GummieI Před 5 lety +17

      @Fireork Not only that, but once you get over 301 views, each view also have to be verified, if its a legit view as well, unlike the likes (no pun intended)

    • @plysqwmack
      @plysqwmack Před 5 lety +37

      @@GummieI that system was discontinued a long time ago

    • @aibpresto
      @aibpresto Před 5 lety

      Why Computers Can't Count Sometimes

  • @GeneralVariety
    @GeneralVariety Před 5 lety +11

    I am always astounded by how well you present in one single take. Not having jump cuts all the time is really refreshing

  • @LukeDude759
    @LukeDude759 Před 2 lety +5

    I'm gonna start using "eventual consistency" as an excuse to slack off now. Thanks, Tom!

  • @frankmalenfant2828
    @frankmalenfant2828 Před rokem

    Having had to scale some of my web apps from a little single-threaded prototype to a set of deployed (sometimes asynchronous) microservices over a bunch of virtual servers and containers with cache, I had to learn all this on the spot, and you summarize it very well here. I will keep this video in my pocket for the next time I get asked such questions.

  • @deryckchan
    @deryckchan Před 5 lety +166

    There were 48 views and 21 comments when I started watching this (3min after the video was posted). A few minutes later I refreshed the page; there were 24 comments and there were 179 likes but the number of views stayed stuck at 48 views - fewer views than likes due to sync lag - nice illustration of your point.

    • @owenconnors1
      @owenconnors1 Před 5 lety +17

      That was almost certainly the fact that CZcams counts a view when half a video is watched, whereas likes are (effectively) instantaneous. This means that if a load of people like a video as soon as they saw it, then watched it, the views would wait for half the video length

    • @tonyrulez69
      @tonyrulez69 Před 5 lety +11

      @@owenconnors1 Not true, you most definitely don't have to watch half of the video to count it as a view. That would be an awful lot of views lost, think about the ads in the beginning and the end that some CZcamsrs do and everybody skips. Some say "The generally-accepted number for watch time to count as a view on CZcams is actually a full 30 seconds" others say "CZcams's definition of a view is a viewer initiated intentional play of a video". I know that I had posted a video, and my family member watched maybe 10 seconds of it and it was added to the count.

    • @josuelservin2409
      @josuelservin2409 Před 5 lety +8

      @@tonyrulez69, at this point we don't know for sure because the algorithm is specifically designed so we can't know. That's because there is real money in play, and people will certainly try to abuse that system.

  • @corcon6976
    @corcon6976 Před 5 lety +35

    Bear in mind that CZcams pauses view counts, usually near 300, to do some validation work to make sure that the views are legitimate; some people try to artificially increase view count to defraud CZcams. But I expect that those pauses happen later as well if they spot suspicious activity.

  • @saiyijinprince
    @saiyijinprince Před 2 lety

    The best best practical example of all the system design interviews I've ever had

  • @santoshpss
    @santoshpss Před 5 lety +2

    Well, this video... IS AWESOME! I am really surprised and amazed at Tom Scott’s performance! Really learned a lot!

  • @greeman6607
    @greeman6607 Před 5 lety +15

    Wow. Covered this in Uni a few weeks ago, and you managed to summarise two 1 hour lectures into under 10 minutes. Sure, some things are lost, but I am still impressed.

  • @HaloInverse
    @HaloInverse Před 5 lety +40

    3:39 "...and given that CZcams has to work out not just views, but ad revenue and money, it has _got_ to be accurate."
    12/10, best joke

  • @acmeyakko
    @acmeyakko Před 2 lety

    The title made me expect a video on floating point calculations and instead I got horizontal scalability. Well played, far more practically important to explain.

  • @Landoverse
    @Landoverse Před 2 lety +1

    Really nice video Tom - and great use of graphics, very helpful!

  • @lumberc
    @lumberc Před 5 lety +162

    This is perfect timing because I have been binge watching your videos!!

  • @huawafabe
    @huawafabe Před 5 lety +562

    What counts as a youtube view? Watching 100% of the video? What if I skip 10 seconds? 🤔 What if I have the video on loop over night, does the CZcamsr get all my views for his revenue?

    • @mmdrdd
      @mmdrdd Před 5 lety +512

      Google doesn't really talk about the algorithim behind the view count but for AdSense you need to watch ~30 seconds to add a view in a standard video so that gives you an idea. You can only give one view per IP address every 6-8 hours so looping doesn't do anything, in fact if you loop a video you can be put in the low quality / bot category and don't give any revenue to your youtuber.

    • @huawafabe
      @huawafabe Před 5 lety +67

      @@mmdrdd interesting, thanks!

    • @Alex-gm4vo
      @Alex-gm4vo Před 5 lety +124

      @@mmdrdd What if i watch 3 seconds of a 6 second video does that count as a view?

    • @AAA-bo1uo
      @AAA-bo1uo Před 5 lety +93

      Alex
      Even if it does there will be no revenue, thus it doesn't really matter....

    • @crunch9876
      @crunch9876 Před 5 lety +1

      Alex no

  • @Otto910
    @Otto910 Před 4 lety +94

    *Sees thumbnail*
    Me: We were on the verge of greatness...

  • @ahmadalawi3065
    @ahmadalawi3065 Před 2 lety

    Great video, I love how you simplify complicated topics

  • @DanDart
    @DanDart Před 5 lety +4

    I created the infrastructure from the ground up on two high traffic, big data systems, and this is similar to how I used to do things, however I just stuck to the caches, and had a couple of replicated queues that hit one replicated database at some point. In this case, it was the database doing the queueing up of the big bundles, and the read-only database clones that were being asked for bundles of data to be calculated. Still an amazing subject to cover, and you make it really simple to understand!

  • @plasmaburndeath
    @plasmaburndeath Před 5 lety +3

    OMG Ti-994A! I still have a few with their original boxes too! I loved them so much. They were very fun to learn basic cassette tape recording programming when I was 7 years old. They even had basic voice synth out of the box.

  • @JO-yq8fq
    @JO-yq8fq Před 2 lety

    Hands down, this channel is one of the best on youtube

  • @fcormier
    @fcormier Před rokem +1

    For several big systems, a versioning system is used so that if several threads try to modify data in a database at the same time, the system checks the base version and the modified version of the data to see if things are done out of order. However, it can lead to conflicts in the commits (same base version for two commits with different modified versions).

  • @brodaclop
    @brodaclop Před 5 lety +24

    Thank you for a cracking explanation of something that sounds simple, but really isn't.
    And yes, it may not have been 100% accurate at every point, but eventually everyone will get the right idea.

  • @andymcl92
    @andymcl92 Před 5 lety +55

    "Computers are just overgrown calculators." Ada Lovelace turns in her grave...

  • @Backroad_Junkie
    @Backroad_Junkie Před 3 lety +2

    I have to say the visual overlays of concepts Tom is talking about are fantastic. I've had to instruct some coworkers on how to program efficiently on a particular controller, and always had problems explaining conceptual and virtual processes without getting a lot of blank stares. (Note, I'm not a teacher and have had no desire to be one, but when the word comes down from above that you're going to teach a class on how to program something...)
    To be fair, they didn't even have powerpoint when I had to teach the infrequent class, but I really could have used the animations like those on this video.

  • @jvishrani
    @jvishrani Před 7 měsíci

    I like the way he explains things. Simple graphics added to the video very smoothly - it helps us visualise the concepts

  • @KarolaTea
    @KarolaTea Před 5 lety +5

    Machining systems also usually single--threaded. If there's more than one processor they'll use a master-slave system (the master requesting/sending information to each slave along the same single thread) or if there's more than one master via token-passing, each master being assinged a set time to send & recieve. That way you can ensure you got the numbers right, and your robot arm isn't still in the machine when it starts grinding.
    Thanks for the video, really great to hear an example of how counting can get messed up :D

  • @ButchWilson
    @ButchWilson Před 5 lety +4

    An amazing amount of work goes into making something look smooth, informative and useful. This was an AMAZING amount of work, done really, very, very well. Thank you, Sir.

  • @nicholaskroeplin81
    @nicholaskroeplin81 Před 4 lety +2

    I love how you're one of the few youtube channels left that don't have sponsors.

  • @thoughtjunky
    @thoughtjunky Před 4 lety +3

    Amazing how complicated things can be, yet appear incredibly simple.

  • @iissamiam
    @iissamiam Před 5 lety +3

    Great video! Learning about how computer systems work is tough, and your videos do a great job of walking through complex ideas in plain English, that doesn’t feel like it’s talking down to the audience.

  • @Tularis
    @Tularis Před 5 lety +28

    I love it when Tom explains something. I makes it sooo easy to understand! ❤️

  • @plastiqbeach7487
    @plastiqbeach7487 Před 4 lety +1

    Watching these videos feels like taking a class on a niche situation

  • @funtikthewobblycat
    @funtikthewobblycat Před 3 lety

    Your editing skills are special. Very simple but effective

  • @bt2259
    @bt2259 Před 5 lety +52

    4:30 I see United Airlines forgot to implement this feature.

    • @rightwingsafetysquad9872
      @rightwingsafetysquad9872 Před 4 lety +18

      Airlines do it deliberately because they have a statistical model for how many people don't show. If they over book they can give someone a partial refund and bump them to the next flight. There isn't a next show for a touring musician.

    • @grahamturner2640
      @grahamturner2640 Před 3 lety +2

      B T 2 David Dao joke? 🤣

  • @GosforthHandyman
    @GosforthHandyman Před 5 lety +12

    Aww... CPC464... getting all nostalgic there! 😢 My second computer after a Tandy TRS80. Because of this I'm now a woodworker.

    • @MichaelScottRamming
      @MichaelScottRamming Před 5 lety

      I'm feeling nostalgia for the TI-99/4 (or 4A) - my uncle used to work for them

    • @DiJaZu
      @DiJaZu Před 5 lety

      The TI99/4A catched my attention also, I had one once and still regret I had given it away, as well as my CPC-464.

  • @saragraves1020
    @saragraves1020 Před 5 lety +5

    I've been watching Tom Scott for years and only just realised the red t-shirt is "his thing".

  • @ThorstenStaerk
    @ThorstenStaerk Před 2 lety

    I do databases since 20 years and I love your explanation. Will point all beginners here.

  • @goldenknight1756
    @goldenknight1756 Před 5 lety +20

    Thank god, I was looking for something good to watch then you uploaded. Saved me from watching some boring video on CZcams

  • @anisotropictransgression9164

    CAP Theorem -- Consistency, Availability, Partition tolerance -- Pick 2! Since partition tolerance is rudimentary property of a distributed system, you can either choose consistency or availability :)

  • @BrianEHoover
    @BrianEHoover Před 4 lety

    Great video. Simple explanations for seriously complex concepts (at scale).

  • @StCreed
    @StCreed Před 4 lety +5

    Love the background. I recognized two computers I had when I was young :)
    About queues though, you made it sound a bit like queuing is a bad idea at the beginning. It's not, all software at scale is tied together with buffers (caches) and queues. The scheduling and handling is fairly advanced, but it still is just queues and buffers that allow software to be loosely coupled and survive the occasional software or hardware crash.

  • @Technocolor00
    @Technocolor00 Před 5 lety +3

    interesting! I always just kinda assumed that was lag on my end when things like view counts went up and down, different updates going through out of order

  • @timothymclean
    @timothymclean Před 5 lety +21

    I think it's fair to say that counting accurately, _quickly,_ is the difficult part. If numbers are flooding in faster than your counter can count, which is certainly possible with how big the Internet can make things, you're gonna have a bad time (or some clever engineering).

    • @chroni3659
      @chroni3659 Před 4 lety +3

      @Growtopia Mods not all computers run at the same speed, or even at high speeds for that matter.
      Also, the human population is a big number, but what’s important here is the rate at which the values change. The approximate net change in population is +2 per second. You’re right, most computers can handle that rate. But when Tom Scott uploads a video, a small percentage of his (currently) 2.1 million subscribers are notified that he’s posted a video. Let’s assume that 10% are notified, and that 10% of those notified will open the video within 10 seconds. That comes out to 1,000 people clicking on the video per second. And there are thousands of CZcamsrs, and hundreds of thousands of viewers, scaling way, way beyond the rate of our measly population’s growth rate. That’s what CZcams’s servers have to count.

  • @watsoft70
    @watsoft70 Před 3 lety

    Typically excellent video and amazing backdrop...remember the home micros very well.

  • @psmirage8584
    @psmirage8584 Před 2 lety +1

    7:35 What an incredible graphic! Really puts things in perspective.

  • @imilegofreak
    @imilegofreak Před 5 lety +5

    "This was a triumph! I'm making a note here: HUGE SUCCESS!!!"

  • @antontimeboy6094
    @antontimeboy6094 Před 5 lety +67

    Did you have to adjust the camera to the screens in the background? Or did it just work

    • @buddyclem7328
      @buddyclem7328 Před 5 lety +17

      PAL TV at 25i matches the frame rate of 50Hz, but NTSC with a rate of 29.97i doesn't perfectly match with a 60Hz frame rate. Getting good video from a CRT can be difficult, and may require adjusting shutter settings.

    • @jasperkooij1891
      @jasperkooij1891 Před 5 lety +3

      Nice profile pic

    • @thefrosty1925
      @thefrosty1925 Před 5 lety +2

      @@jasperkooij1891 What a Save!

    • @cimmik
      @cimmik Před 5 lety +6

      One thing I love about Tom's channel is that I can find good questions like that one in the comments section. Normally the comment section is overwhelmed by jokes so that the interesting questions drown.

    • @clonkex
      @clonkex Před 4 lety

      @@thefrosty1925 Good idea, ima go play that now.

  • @stopxthisxfall
    @stopxthisxfall Před 3 lety

    This channel really is phenomenal

  • @jamesfrancis7025
    @jamesfrancis7025 Před 4 lety

    Love the TI 99 4a and Sord M5 to the left of Tom Scott, I had both as a child.

  • @Fireball006
    @Fireball006 Před 3 lety +10

    gonna link this video to all the comments making fun of youtube for having more likes than views or more comments than views

    • @ribonette_
      @ribonette_ Před 3 lety +3

      that would actually be very helpful! I just shared it with my friends and now are having a nice debate about how this algorithm works C:

  • @Kadderin
    @Kadderin Před 5 lety +11

    Cassandra Database Engineer checking in, this was a wonderful explanation!!

  • @bazoo513
    @bazoo513 Před 4 lety

    You made it very clear, Tom! If only all my programmers had it all in mind all the time...

  • @mickykannalles8289
    @mickykannalles8289 Před 4 lety

    Nice Video, but what's even more amazing is that I learn more from your videos, than from my school lessons