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. :-)
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.
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.
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?
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
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.
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❤
@@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
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
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!!!
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.
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.
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 😬
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
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;
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..."; }
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.
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?
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
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
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.
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])
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....
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?
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
0:40 "A ressource where you can download all the digits of Pi."
Wait, ALL of them? That's a very impressive website.
The technology is finally here!
pi has infinitely many digits no database ever could hold all digits of pi
@@MohamedSaad-zy7pu woosh
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. :-)
@@xnick_uy XD
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.
Boa Cara, muita gente de programação é de outras áreas.
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.
Thank you!
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?
🤦♂️
28:18 Shocking news! Man found last ten digits of PI
We can use the tail command in bash to find the last ten digits of pi like so:
tail -c 10 pi-billion.txt
"last ten digits of KNOWN PI sequence"
@@kimeg7294 Oh... Oh no, sweet child... A billion is just the first sneeze of what has been calculated.
Bigger shock - they turned out to be . . . 9876543210.
Fred
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
Morten Flecks if you look at a millimetre on a metre stick, same ratio
Look back a dozen decades when the definition of billion was a million million in England, and you will be more amazed.
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.
@@shreerangvaidya9264 no, it's a thousand million. A million million is a trillion.
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❤
shashank Sahu he has hit 1 million as of today!
Finally another Coding Challenge! I really hope for more coding challenges, I really like these videos!
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
What is the use of this
@@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
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
50T
40TB
Wot
Use it for some good random numbers
Ayyyye our first coding challenge in a while! And a good one at that!
The fact that the first million digitals is 1mb and the first billion is 1gb gives me great satisfaction.
Ah!!! You are so close to 1 million subs!! Congrats Dan! You’ll always be the guy that made programming click for me :)
This is my first video. I love this guy already. He makes learning coding fun. 😊
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!!!
Congrats on 1 millions subs! Love these challenges! I wish you a lot of luck in the future of your channel
KMP is best algorithm for me.
That buzz sound effect kept jump scaring me!
jup the buzzer is just wrong. short conductor whistle or passing train will be much more fitting ;)
0:00 Why, happy Pi day to you too!
this man can visualize anything
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.
Peek in pi => pecan pie, just so it's easier to remember
Why You Dont try make a random face ganerator in processing(or you cant do that?)
I promise you that I was waiting this video from 1 year ago
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.
You know things get handy when it comes to a 1GB file of plain text
Can we get some more coding challenges? Maybe 3D tic-tac-toe or adding physics to your fractal trees from ages ago?
the video title should be *Writing Built in Javascript Function* 😂😂
Thanks for this great video
You should calculate pi in the code so you can just set a number for the number of digits you want
I came here for Pie... but all he was talking about was PI.
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.
But shouldnt it be 1TB
thats insane compression
Try to use KMP algorithm and look for matchs while you read the stream
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.
This requires at last 1gb or RAM! Yiou should search directly from the stream, searching in chunk by chunk
Good point!!!
Nice! I saw this suggestion on the github and was hoping you'd do it.
Damm i even still haven't moved on since the last pi day special
This certainly has been an interesting year so far...
waiting for this on pi day!!!!!
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.
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 😬
Thanks for these suggestions!
The computer would still have to compare the sane number of bits, so it isn’t really a 4x speed up
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.
After 1 billion you would need to use algorithms similar to sorting algorithms.
Whoever read this, you'll be successful one day. Let's do this for the future
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
Bailey-Borwein-Plouffe formula
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;
10:04 If the condition ends up being true, you can just return -1 instead of keeping track of a variable "found"
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.
Love it!
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...";
}
Make a Picross solver.
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.
Close to 1 million subscribers ♥️♥️
He even included inside in the title
Cool idea!
You must do Tau Day too
Well, here In Spain we write the date in different order, so it is 14/3/20. Which is pretty sad 😞😞
Qwerty GMR Same in Europe
@@leo848 Spain is in Europe
@@HiHi-ur3on oh yeah.. i forgot it just moved
@@HiHi-ur3on yeah.. after all, you should eat your cereal
Cosmin Cosmin I meant holy Europe
Happy Pi day!
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
27:56 We can use the tail command in bash to cat the last ten digits like so:
tail -c 10 pi-billion.txt
Brent Trenholme i thought it may give an exception something like out of bounds.
Brent Trenholme yeah 😄, thnx
indeed, i should have accounted for this!
The Coding Train i need coding train sticker for my laptop if i may ask. 🥺 Fan from India
I love this!
Is there a pi inside pi
find 3
then 31
then 314
then 3141
I wonder what that sequence would look like ?
What about actually calculating the first thousand or million or so digits of pi?
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?
Im gonna make this in python
Hi can make programe which can read the chart provided by a website on the screen and create signals on activity detected !?
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
Pi day should be 14% through the month of March, not the 14th day of March.
I love pi day challange😍
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....)?
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
How about searching for the digit of a certain digit in pi? Could be an interesting recursive function
Make plastic deformation simulation
double value=sqrt(2.0);
println(value); // prints many decimal places.
text(value, 100,100); gets an error.
Why number 3 is not in?
You are supposed to use pattern matching for this problem, and not for loops..
you are supposed to shut up
Oh, do you have a new character?
is there a Prossesing Server ?
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.
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])
Isn't it as easy as pressing ctrl+f inside a pi.txt file?
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);
}
What program is he using?
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....
Ooops, sorry about that!
I forgot it was pi day...
SHAME ON ME
you are pi pi poo poo
@@levinsondsouza pie pie?
15:07 it's not binary, it's hexadecimal I know that because I do Unicode stuff every now and then
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?
Happy Gilfoyle
When is 1 trillion coming haha
10:00 txt.charAt(int) at line 17 could overflow.....
Happy 🥧 day🤓
You could implement kmp algorithm, this algorithm is not so hard to implement...
Do 1 trillion
1 mill!!
9:40 is he writing on the wall with a sharpie??
don't worry it's a dry erase whiteboard
i was in chat during the stream :))
dude literally i had this idea like a week ago to publish it today (pieandme.com)
Great video, but this annoing sound when you correct yourself...
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
NINE
NINE
NINE
NINE
NINE
NINE
This is O(N²)
It's actually pretty close to theta(n), since the length of the sequence to be searched is small relative to s billion digits
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
Peeing inside Pik -_-
Game made with p5.js: spaceadvent.glitch.me/
grep
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?
7th