Coding Challenge

Поділитися
Вставка
  • Опубліковано 29 січ 2025

КОМЕНТАРІ • 182

  • @dermathze700
    @dermathze700 4 роки тому +235

    0:40 "A ressource where you can download all the digits of Pi."
    Wait, ALL of them? That's a very impressive website.

    • @speedfastman
      @speedfastman 4 роки тому +14

      The technology is finally here!

    • @MohamedSaad-zy7pu
      @MohamedSaad-zy7pu 4 роки тому +7

      pi has infinitely many digits no database ever could hold all digits of pi

    • @v0xl
      @v0xl 4 роки тому +58

      @@MohamedSaad-zy7pu woosh

    • @xnick_uy
      @xnick_uy 4 роки тому +52

      I can give you all the digits of pi right here in this comment: 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9. Just rearrange and repeat some of them as you see fit to recreate pi. You are welcome. :-)

    • @Firestar-rm8df
      @Firestar-rm8df 4 роки тому +6

      @@xnick_uy XD

  • @lschiavetti
    @lschiavetti 4 роки тому +22

    Hey. I am just a random 30 yo Brazilian geologist switching carreers and I want to say that today is saturday night, world has corona, I am anxious, alone, thinking about life but this video and your work/passion/humour make things easier for me and I am sure for a lot of other people. Keep up the good work. We appreciate it.

    • @sombracep12
      @sombracep12 4 роки тому +2

      Boa Cara, muita gente de programação é de outras áreas.

  • @elementallobsterx
    @elementallobsterx 4 роки тому +26

    No way Dan... ALMOST 1 MILLION SUBSCRIBERS NOW!? I remember your classic P5 tutorials before the whole coding train thing even existed!! I just wanna say, I'm proud, man.

  • @marcpietro2732
    @marcpietro2732 4 роки тому +60

    Who noticed Dan replaced so many times "million" by "billion", by deleting "million" and writing "billion" instead (or vice versa), while there is just one letter to change?

  • @Kokurorokuko
    @Kokurorokuko 4 роки тому +83

    28:18 Shocking news! Man found last ten digits of PI

    • @luisgeniole369
      @luisgeniole369 4 роки тому +2

      We can use the tail command in bash to find the last ten digits of pi like so:
      tail -c 10 pi-billion.txt

    • @kimeg7294
      @kimeg7294 4 роки тому +4

      "last ten digits of KNOWN PI sequence"

    • @Cry53r
      @Cry53r 4 роки тому +5

      @@kimeg7294 Oh... Oh no, sweet child... A billion is just the first sneeze of what has been calculated.

    • @ffggddss
      @ffggddss 4 роки тому

      Bigger shock - they turned out to be . . . 9876543210.
      Fred

  • @097_shashanksahu6
    @097_shashanksahu6 4 роки тому +9

    Do everyone will ignore the fact that , coding train will soon hit 1 million subscribers. I didn't even how when you reached too close to 1M. It had been 3-4 years now since i am watching your videos.... You taught me processing, you taught me the Nature Of code.... This channel is absolute gold.... I don't remember whats the first video i watched but i could proudly say that i had watched almost every of them. 😍 love from india Dan❤

  • @0FG0
    @0FG0 4 роки тому +47

    I am always a bit amazed at how incredibly much larger a billion is than a million. I know the math is super simple, but the intuition of it is really difficult for me to grasp

    • @xot9897
      @xot9897 4 роки тому +10

      Morten Flecks if you look at a millimetre on a metre stick, same ratio

    • @shreerangvaidya9264
      @shreerangvaidya9264 4 роки тому +1

      Look back a dozen decades when the definition of billion was a million million in England, and you will be more amazed.

    • @InXLsisDeo
      @InXLsisDeo 2 роки тому

      That's why people don't realize how being a billionaire is completely unnecessary and actually detrimental to society.
      See it like this: if your salary was 1 million $ per month (not per year, per month), it would take 84 years (aka more than an entire working lifetime) to earn a billion $. And that would be without spending a single $ or paying any tax during all that time.

    • @InXLsisDeo
      @InXLsisDeo 2 роки тому

      @@shreerangvaidya9264 no, it's a thousand million. A million million is a trillion.

  • @MinisBett
    @MinisBett 4 роки тому +12

    Finally another Coding Challenge! I really hope for more coding challenges, I really like these videos!

  • @dave6012
    @dave6012 Рік тому

    The fact that the first million digitals is 1mb and the first billion is 1gb gives me great satisfaction.

  • @LandonHughes2
    @LandonHughes2 4 роки тому +1

    Ah!!! You are so close to 1 million subs!! Congrats Dan! You’ll always be the guy that made programming click for me :)

  • @thomasdevelops3087
    @thomasdevelops3087 4 роки тому

    Congrats on 1 millions subs! Love these challenges! I wish you a lot of luck in the future of your channel

  • @Budzique
    @Budzique 4 роки тому +29

    Pi was calculated to 50Trillion digits, a text file is available but it's 40TB! Today it's also been added to the pi.delivery api

    • @bilallaaroussi7110
      @bilallaaroussi7110 4 роки тому

      What is the use of this

    • @ffggddss
      @ffggddss 4 роки тому +3

      @@bilallaaroussi7110 Esoteric.
      It's of some interest to mathematicians to know whether there are any non-random patterns in the digits of π, and these mammoth collections of digits can be used to answer such statistical questions.
      Fred

    • @ffggddss
      @ffggddss 4 роки тому +3

      50 trillion digits in 40 trillion bytes? Must be slightly compressed, no? (Even if that's the binary terabyte = 2⁴⁰ B, 40 TB ≈ 44.0 trillion bytes.)
      Fred

    • @Xnoob545
      @Xnoob545 4 роки тому

      50T
      40TB
      Wot

    • @oblivion_2852
      @oblivion_2852 4 роки тому

      Use it for some good random numbers

  • @zaynbaig3157
    @zaynbaig3157 4 роки тому +2

    Ayyyye our first coding challenge in a while! And a good one at that!

  • @jAMES-xy6wh
    @jAMES-xy6wh 4 роки тому

    You are the best. Your energy is incredible, the world needs more like you. My wife asks what is that song you are singing? lol a man in his 50s singing coding train. THANKS!!!

  • @newzenvigor
    @newzenvigor 2 роки тому

    This is my first video. I love this guy already. He makes learning coding fun. 😊

  • @vishalmishra1937
    @vishalmishra1937 4 роки тому

    this man can visualize anything

  • @metedmtss
    @metedmtss 4 роки тому +2

    Why You Dont try make a random face ganerator in processing(or you cant do that?)

  • @moussaibrahem9
    @moussaibrahem9 4 роки тому +6

    the video title should be *Writing Built in Javascript Function* 😂😂
    Thanks for this great video

  • @jasonspence
    @jasonspence 4 роки тому

    It would be really neat to have the node server lazily evaluate pi as you search, until it finds the string of digits, no matter how long it takes.

  • @debumukhopadhay541
    @debumukhopadhay541 4 роки тому +1

    0:00 Why, happy Pi day to you too!

  • @joostvanrens
    @joostvanrens 4 роки тому +1

    Peek in pi => pecan pie, just so it's easier to remember

  • @CEBRAHULKANTWA
    @CEBRAHULKANTWA 4 роки тому +1

    KMP is best algorithm for me.

  • @KellyMurphy
    @KellyMurphy 4 роки тому +1

    BCD encoding the file would be 500Meg for a 1 billion digits file, not sure how much you'd get from gz or zip since pi is a high entropy number.

  • @GrayBlood1331
    @GrayBlood1331 4 роки тому +1

    That buzz sound effect kept jump scaring me!

    • @assenv
      @assenv 4 роки тому

      jup the buzzer is just wrong. short conductor whistle or passing train will be much more fitting ;)

  • @axelmoriceau8435
    @axelmoriceau8435 4 роки тому

    You know things get handy when it comes to a 1GB file of plain text

  • @Budzique
    @Budzique 4 роки тому +2

    I have plenty enough file storage on my local server for 1 trillion digits (43.7GB), I may be able to set it up as a coding challenge by dumping the variables as I run out of ram and searching chunks of the file, but it would be quite a slow process.

    • @Xnoob545
      @Xnoob545 4 роки тому

      But shouldnt it be 1TB
      thats insane compression

    • @andrewnunes9148
      @andrewnunes9148 4 роки тому

      Try to use KMP algorithm and look for matchs while you read the stream

  • @Xiaolong-sh5tl
    @Xiaolong-sh5tl 4 роки тому

    I came here for Pie... but all he was talking about was PI.

  • @el_magoxd
    @el_magoxd 4 роки тому +2

    I promise you that I was waiting this video from 1 year ago

  • @airxperimentboom
    @airxperimentboom 4 роки тому

    Love it!

  • @giveaway4002
    @giveaway4002 4 роки тому

    waiting for this on pi day!!!!!

  • @prabhatkumar8173
    @prabhatkumar8173 Рік тому

    Hi can make programe which can read the chart provided by a website on the screen and create signals on activity detected !?

  • @NStripleseven
    @NStripleseven 4 роки тому

    Can we get some more coding challenges? Maybe 3D tic-tac-toe or adding physics to your fractal trees from ages ago?

  • @Jack-cu5il
    @Jack-cu5il 4 роки тому +1

    Nice! I saw this suggestion on the github and was hoping you'd do it.

  • @thenormalguy8574
    @thenormalguy8574 2 роки тому

    hey dan! i am trying to implement this to my express server which holds projects, but it seems like the app.use overrides the front page (which is "/"). can anyone help me?

  • @charliedinerman7941
    @charliedinerman7941 4 роки тому

    You should calculate pi in the code so you can just set a number for the number of digits you want

  • @adamwest8332
    @adamwest8332 4 роки тому +3

    This requires at last 1gb or RAM! Yiou should search directly from the stream, searching in chunk by chunk

  • @Nola1222Piano
    @Nola1222Piano 4 роки тому

    I love this!

  • @DannySullivanMusic
    @DannySullivanMusic 4 роки тому +2

    This certainly has been an interesting year so far...

  • @lucaseaston
    @lucaseaston 2 роки тому

    If you substituted music notes for numbers, what would Pi sounds like? You could also see if you could find certain melodies within Pi.
    Edit: I commented this before watching till the end of the video haha.

  • @delta619
    @delta619 4 роки тому +3

    what if i +j will exceed the length of the text file , when the value of i is at last , or somewhere in the last

    • @luisgeniole369
      @luisgeniole369 4 роки тому +1

      27:56 We can use the tail command in bash to cat the last ten digits like so:
      tail -c 10 pi-billion.txt

    • @delta619
      @delta619 4 роки тому

      Brent Trenholme i thought it may give an exception something like out of bounds.

    • @delta619
      @delta619 4 роки тому +1

      Brent Trenholme yeah 😄, thnx

    • @TheCodingTrain
      @TheCodingTrain  4 роки тому

      indeed, i should have accounted for this!

    • @delta619
      @delta619 4 роки тому

      The Coding Train i need coding train sticker for my laptop if i may ask. 🥺 Fan from India

  • @RubyPiec
    @RubyPiec 4 роки тому

    Cool idea!

  • @silentgrove7670
    @silentgrove7670 4 роки тому

    Is there a pi inside pi
    find 3
    then 31
    then 314
    then 3141
    I wonder what that sequence would look like ?

  • @avi12
    @avi12 4 роки тому

    10:04 If the condition ends up being true, you can just return -1 instead of keeping track of a variable "found"

    • @Justinba1010
      @Justinba1010 4 роки тому

      You can't do so, you need to exhaustively search the entire string. Say you're looking for 1419, U would go 1 4 1, then 5, but you cannot exit there.

  • @techsupport3227
    @techsupport3227 4 роки тому

    Do you know any other code languages other than java script? I learned the bare minimum of java script and now I’m learning html to create a website for my friend

  • @xot9897
    @xot9897 4 роки тому

    Great video, youre a very engaging teacher, would you consider doing some videos on functional programming, preferably Haskell, I have trouble understanding it and there hardly any good tutorials on UA-cam

  • @olasoderlind5685
    @olasoderlind5685 4 роки тому

    is there a Prossesing Server ?

  • @dekanex
    @dekanex 4 роки тому

    Why number 3 is not in?

  • @farhannr28
    @farhannr28 4 роки тому +3

    Damm i even still haven't moved on since the last pi day special

  • @Julian-xe5is
    @Julian-xe5is 4 роки тому

    wasn't pi supposed to be a non-repeating and non-terminating decimal number? there are repeating numbers in this video though (such as ....99999....)?

  • @mitchellpincham595
    @mitchellpincham595 4 роки тому +2

    What about actually calculating the first thousand or million or so digits of pi?

  • @ryan-heath
    @ryan-heath 4 роки тому

    You could speed it up by a factor of 4 by instead of search for chars, search for longs (that is 4 chars at once). Caveat is that your search string should be at least 4 chars ...
    Even faster would be keeping track of where all digits are, that would speed it up by factor of ten, but you would use 10 times more memory.
    Performance tuning is always a trade-off for something else 😬

    • @TheCodingTrain
      @TheCodingTrain  4 роки тому

      Thanks for these suggestions!

    • @agcummings11
      @agcummings11 4 роки тому

      The computer would still have to compare the sane number of bits, so it isn’t really a 4x speed up

    • @ryan-heath
      @ryan-heath 4 роки тому

      See it like this: compare 12 bytes or compare 3 longs.
      The amount of bits is the same but the CPU can do it in less instructions, thus faster.

  • @davidcullingford5708
    @davidcullingford5708 4 роки тому

    double value=sqrt(2.0);
    println(value); // prints many decimal places.
    text(value, 100,100); gets an error.

  • @azavier-a
    @azavier-a 4 роки тому

    What program is he using?

  • @surendrasandun
    @surendrasandun 4 роки тому

    I love pi day challange😍

  • @haris621
    @haris621 4 роки тому

    After 1 billion you would need to use algorithms similar to sorting algorithms.

  • @sirynka
    @sirynka 4 роки тому

    Isn't it as easy as pressing ctrl+f inside a pi.txt file?

  • @zulnabilfaizmoh.alhadad8729
    @zulnabilfaizmoh.alhadad8729 4 роки тому

    Sir, I like how you deliver content about machine learning. I really want good people like you to contribute in the fight against corona virus. I have an idea, what if you create content about the neural network chatbot. I think this is useful for socialization about corona virus to the public. Some doctors say, prevention is the best medicine for all diseases. The socialization of preventing corona virus at this time is the most needed thing to suppress the virus spread.
    Thanks, i hope you at least read this.

  • @basilbaby2069
    @basilbaby2069 4 роки тому

    Close to 1 million subscribers ♥️♥️

  • @angshu7589
    @angshu7589 4 роки тому

    All your videos are so great and so entertaining. Oh and:
    function askQuestion(question, sender) {
    if ( typeof question !== "string" && typeof sender !== "string" ) {
    return "The question and sender is not a proper one";
    }
    if (question == "Any ideas for another video?" && sender == "David Shiffman") {
    return {
    getTheIdea: function() {
    console.log("Put the code to run this console.log as a reply");
    }
    dumpIdea: function() {
    try {
    this.getTheIdea = null;
    } catch (e) {
    console.error("getTheIdea Cannot be deleted");
    }
    }
    }
    }
    return "Sorry, No answer here...";
    }

  • @qwertygmr4521
    @qwertygmr4521 4 роки тому +8

    Well, here In Spain we write the date in different order, so it is 14/3/20. Which is pretty sad 😞😞

    • @leo848
      @leo848 4 роки тому +2

      Qwerty GMR Same in Europe

    • @cosminturtureanu692
      @cosminturtureanu692 4 роки тому +2

      @@leo848 Spain is in Europe

    • @cosminturtureanu692
      @cosminturtureanu692 4 роки тому +2

      @@HiHi-ur3on oh yeah.. i forgot it just moved

    • @cosminturtureanu692
      @cosminturtureanu692 4 роки тому +2

      @@HiHi-ur3on yeah.. after all, you should eat your cereal

    • @leo848
      @leo848 4 роки тому +1

      Cosmin Cosmin I meant holy Europe

  • @necaton
    @necaton 4 роки тому +1

    Happy Pi day!

  • @XallbX
    @XallbX 4 роки тому

    Make a Picross solver.

  • @flamexode
    @flamexode 4 роки тому

    How about searching for the digit of a certain digit in pi? Could be an interesting recursive function

  • @bensmart2829
    @bensmart2829 4 роки тому

    He even included inside in the title

  • @InXLsisDeo
    @InXLsisDeo 2 роки тому

    No need for a bigger file. The natural challenge here is to compute the digits themselves. But I guess it requires a bit of mathematics.

  • @purifierphoenixthemecca
    @purifierphoenixthemecca 4 роки тому

    Bailey-Borwein-Plouffe formula

  • @adrianshawuk
    @adrianshawuk 4 роки тому

    You must do Tau Day too

  • @pascha4527
    @pascha4527 4 роки тому +1

    10:00 txt.charAt(int) at line 17 could overflow.....

  • @milothegoat280
    @milothegoat280 4 роки тому

    9:40 is he writing on the wall with a sharpie??

  • @SimonTiger
    @SimonTiger 4 роки тому

    Code simplification:
    let start = search.charAt(0);
    for (let i = 0; i < txt.length; i++) {
    if (txt.charAt(i) === start) {
    let found = true;
    for (let j = 1; j < search.length; j++) {
    if (txt.charAt(i + j)) !== search.charAt(j) {
    found = false;
    break;
    }
    }
    if (found) {
    return i;
    }
    }
    }
    return -1;
    is the same as
    for (let i = 0; i < txt.length; i++) {
    if (txt.charAt(i) === search.charAt(0)) {
    let found = true;
    for (let j = 1; j < search.length; j++) {
    if (txt.charAt(i + j)) !== search.charAt(j) {
    found = false;
    break;
    }
    }
    if (found) {
    return i;
    }
    }
    }
    return -1;
    is the same as
    for (let i = 0; i < txt.length; i++) {
    let found = true;
    for (let j = 0; j < search.length; j++) {
    if (txt.charAt(i + j)) !== search.charAt(j) {
    found = false;
    break;
    }
    }
    if (found) {
    return i;
    }
    }
    return -1;

  • @danielzaiser
    @danielzaiser 4 роки тому

    what the hell dude, why you gotta do me like that?
    At 0:59 your buzzer sounds exactly like my door bell and i went outside to check if anybody just rang...
    *EDIT:* and he keeps using that buzzing sound throughout the video....

  • @zfoell
    @zfoell 4 роки тому +1

    Suggestion for the editor: have music playing in the background and increase the volume of the music when showing a fast forwarded lapse of Dan working through code, rather than having the music cut in and out

  • @JambaYCS
    @JambaYCS 4 роки тому

    i was in chat during the stream :))

  • @shurmurray
    @shurmurray 4 роки тому

    But 1 million digits of Pi file should weight only about 2 megs - in 2020 it is nothing even for JS. It is very small amount of memory.
    And, well, 1 billion is about 2 gigs, depends on encoding.

  • @bencekovacs8726
    @bencekovacs8726 4 роки тому

    You are supposed to use pattern matching for this problem, and not for loops..

    • @lucasg.5534
      @lucasg.5534 2 роки тому

      you are supposed to shut up

  • @Jack-yz6yp
    @Jack-yz6yp 4 роки тому

    1 mill!!

  • @nonono8108
    @nonono8108 4 роки тому +1

    Oh, do you have a new character?

  • @hakankosebas2085
    @hakankosebas2085 4 роки тому

    Make plastic deformation simulation

  • @leo848
    @leo848 4 роки тому +9

    I forgot it was pi day...
    SHAME ON ME

  • @SquooshyShark1000
    @SquooshyShark1000 4 роки тому +2

    15:07 it's not binary, it's hexadecimal I know that because I do Unicode stuff every now and then

    • @Justinba1010
      @Justinba1010 4 роки тому

      They're interchangeable in this context. It is just outputted as hexadecimal, it is technically a binary, usually buffers are binary data. What does unicode have to do with this anyway?

  • @John-qx1xn
    @John-qx1xn 4 роки тому

    Or, in two minutes but with no error checking but including time to download file:
    import sys
    target = sys.argv[1]
    data = open('onemeg.dat').read()
    pos = data.find(target)
    if pos < 0:
    print '{} not found'.format(target)
    else:
    print '{}: {} {}'.format(pos, target, data[pos+len(target):pos+41])

  • @thomasdevelops3087
    @thomasdevelops3087 4 роки тому

    When is 1 trillion coming haha

  • @chadwickhjones
    @chadwickhjones 4 роки тому

    Pi day should be 14% through the month of March, not the 14th day of March.

  • @sujatapanigrahy7172
    @sujatapanigrahy7172 3 роки тому

    Im gonna make this in python

  • @ebentee
    @ebentee 4 роки тому +7

    Whoever read this, you'll be successful one day. Let's do this for the future

  • @that_billu_guy
    @that_billu_guy 4 роки тому

    Happy Gilfoyle

  • @mikewonghongkee4480
    @mikewonghongkee4480 4 роки тому +1

    Happy 🥧 day🤓

  • @ZK-im6er
    @ZK-im6er 4 роки тому

    Is it maybe fun, to find self indexing numbers in the first billion numbers of Pi? So like 3.1415(edit) 1 would be index 1 and thus be its own index. Or maybe if 1 would index 0.
    I got the idea from this Numberphile video about looping numbers in Pi( starting with a given number, finding its index, than looking at that numbers it index and so on)
    Here is the video ua-cam.com/video/W20aT14t8Pw/v-deo.html

  • @xxxxxijhin
    @xxxxxijhin 4 роки тому

    NINE
    NINE
    NINE
    NINE
    NINE
    NINE

  • @iradnuriel9087
    @iradnuriel9087 4 роки тому

    You could implement kmp algorithm, this algorithm is not so hard to implement...

  • @flolow.4990
    @flolow.4990 4 роки тому +2

    Here is the code for Processing(Java):
    String raw[];
    String digits;
    String surch = "";
    void preload() {
    raw = loadStrings("pi.txt");
    }
    void setup() {
    size(500, 500);
    preload();
    digits = raw[0];
    }
    void draw() {
    background(0);
    suchBox();
    int index = digits.indexOf(surch);
    fill(0, 100, 255);
    text(index - 1, width/2, height/1.5);
    }
    void keyPressed() {
    if (keyCode == BACKSPACE) {
    surch = "";
    } else {
    surch += key;
    }
    }
    void suchBox() {
    rectMode(CENTER);
    textAlign(CENTER, CENTER);
    fill(255);
    stroke(0);
    rect(width/2, height/2, width/2, height/8);
    fill(0);
    textSize(20);
    text(surch, width/2, height/2);
    }

  • @manuelesparza5321
    @manuelesparza5321 4 роки тому +1

    dude literally i had this idea like a week ago to publish it today (pieandme.com)

  • @wt030
    @wt030 4 роки тому

    Great video, but this annoing sound when you correct yourself...

  • @Xnoob545
    @Xnoob545 4 роки тому +1

    Do 1 trillion

  • @grainfrizz
    @grainfrizz 4 роки тому

    This is O(N²)

    • @amey7064
      @amey7064 4 роки тому +1

      It's actually pretty close to theta(n), since the length of the sequence to be searched is small relative to s billion digits

    • @ryan-heath
      @ryan-heath 4 роки тому

      I think the big o is still O(N)
      It would be O(N^2) when your search string would be always as big as the digits of PI

  • @origedit
    @origedit 4 роки тому

    Peeing inside Pik -_-

  • @jakobus5098
    @jakobus5098 4 роки тому

    grep

  • @JurajPecháč
    @JurajPecháč 4 роки тому

    Game made with p5.js: spaceadvent.glitch.me/

  • @andrewqi6695
    @andrewqi6695 4 роки тому

    7th

  • @rickmonarch4552
    @rickmonarch4552 4 роки тому

    WTF man. I just found ur wikipedia page, and I thought you are in my age group. How the fuck are u 47 ? :O what diet do u have?