Coding Challenge

Поделиться
HTML-код
  • Опубликовано: 17 ноя 2024

Комментарии • 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

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

  • @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 Год назад

      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 Год назад

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

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

  • @MinisBett
    @MinisBett 4 года назад +12

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

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

  • @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 :)

  • @newzenvigor
    @newzenvigor 2 года назад

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

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

  • @thomasdevelops3087
    @thomasdevelops3087 4 года назад

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

  • @CEBRAHULKANTWA
    @CEBRAHULKANTWA 4 года назад +1

    KMP is best algorithm for me.

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

  • @debumukhopadhay541
    @debumukhopadhay541 4 года назад +1

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

  • @vishalmishra1937
    @vishalmishra1937 4 года назад

    this man can visualize anything

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

  • @joostvanrens
    @joostvanrens 4 года назад +1

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

  • @hudademirtas3144
    @hudademirtas3144 4 года назад +2

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

  • @el_magoxd
    @el_magoxd 4 года назад +2

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

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

  • @axelmoriceau8435
    @axelmoriceau8435 4 года назад

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

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

  • @moussaibrahem9
    @moussaibrahem9 4 года назад +6

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

  • @charliedinerman7941
    @charliedinerman7941 4 года назад

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

  • @Xiaolong-sh5tl
    @Xiaolong-sh5tl 4 года назад

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

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

  • @lucaseaston
    @lucaseaston Год назад

    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.

  • @adamwest8332
    @adamwest8332 4 года назад +3

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

  • @Jack-cu5il
    @Jack-cu5il 4 года назад +1

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

  • @farhannr28
    @farhannr28 4 года назад +3

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

  • @DannySullivanMusic
    @DannySullivanMusic 4 года назад +2

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

  • @giveaway4002
    @giveaway4002 4 года назад

    waiting for this on pi day!!!!!

  • @InXLsisDeo
    @InXLsisDeo Год назад

    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.

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

  • @haris621
    @haris621 4 года назад

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

  • @ebentee
    @ebentee 4 года назад +7

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

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

  • @purifierphoenixthemecca
    @purifierphoenixthemecca 4 года назад

    Bailey-Borwein-Plouffe formula

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

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

  • @airxperimentboom
    @airxperimentboom 3 года назад

    Love it!

  • @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...";
    }

  • @XallbX
    @XallbX 4 года назад

    Make a Picross solver.

  • @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 ♥️♥️

  • @bensmart2829
    @bensmart2829 4 года назад

    He even included inside in the title

  • @RubyPiec
    @RubyPiec 4 года назад

    Cool idea!

  • @adrianshawuk
    @adrianshawuk 4 года назад

    You must do Tau Day too

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

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

  • @Nola1222Piano
    @Nola1222Piano 4 года назад

    I love this!

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

  • @mitchellpincham595
    @mitchellpincham595 4 года назад +2

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

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

  • @sujatapanigrahy7172
    @sujatapanigrahy7172 3 года назад

    Im gonna make this in python

  • @prabhatkumar8173
    @prabhatkumar8173 Год назад

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

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

  • @chadwickhjones
    @chadwickhjones 4 года назад

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

  • @surendrasandun
    @surendrasandun 4 года назад

    I love pi day challange😍

  • @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....)?

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

  • @flamexode
    @flamexode 4 года назад

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

  • @hakankosebas2085
    @hakankosebas2085 4 года назад

    Make plastic deformation simulation

  • @davidcullingford5708
    @davidcullingford5708 4 года назад

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

  • @dekanex
    @dekanex 4 года назад

    Why number 3 is not in?

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

  • @nonono8108
    @nonono8108 4 года назад +1

    Oh, do you have a new character?

  • @olasoderlind5685
    @olasoderlind5685 4 года назад

    is there a Prossesing Server ?

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

  • @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])

  • @sirynka
    @sirynka 4 года назад

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

  • @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);
    }

  • @CyCloNeReactorCore
    @CyCloNeReactorCore 4 года назад

    What program is he using?

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

  • @leo848
    @leo848 4 года назад +9

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

    • @levinsondsouza
      @levinsondsouza 4 года назад

      you are pi pi poo poo

    • @RubyPiec
      @RubyPiec 4 года назад +1

      @@levinsondsouza pie pie?

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

  • @that_billu_guy
    @that_billu_guy 4 года назад

    Happy Gilfoyle

  • @thomasdevelops3087
    @thomasdevelops3087 4 года назад

    When is 1 trillion coming haha

  • @pascha4527
    @pascha4527 4 года назад +1

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

  • @mikewonghongkee4480
    @mikewonghongkee4480 4 года назад +1

    Happy 🥧 day🤓

  • @iradnuriel9087
    @iradnuriel9087 4 года назад

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

  • @Xnoob545
    @Xnoob545 4 года назад +1

    Do 1 trillion

  • @Jack-yz6yp
    @Jack-yz6yp 4 года назад

    1 mill!!

  • @milothegoat280
    @milothegoat280 4 года назад

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

  • @JambaYCS
    @JambaYCS 4 года назад

    i was in chat during the stream :))

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

  • @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 ruclips.net/video/W20aT14t8Pw/видео.html

  • @xxxxxijhin
    @xxxxxijhin 4 года назад

    NINE
    NINE
    NINE
    NINE
    NINE
    NINE

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

  • @JurajPecháč
    @JurajPecháč 4 года назад

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

  • @jakobus5098
    @jakobus5098 4 года назад

    grep

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

  • @andrewqi6695
    @andrewqi6695 4 года назад

    7th