Do copies of Hamlet exist embedded in the digits of pi?

I know Vi Hart discussed it, but she may have not been the first to entertain the idea. Not sure. The question is do they digits of pi contain copies of hamlet?

Yes, yes they do. Not just copies of Hamlet, but actually copies of every book imaginable are contained within the digits of pi an infinite number of times.

Using software package pi and simple shell commands,

pastebin of shell commands

I found that any N digit sequence probably appears within the first 10^N digits of pi [1]; moreover, the sequence would appear about 10 times in the first 10^(N+1) digits of pi, 100 times in the first 10^(N+2) digits, etc.

For example, lets say our sequence is the last 4 digits of my phone number – 1345
That’s 4 digits, so if I scan the first 104 digits of pi, sure enough, my phone number occurs 1 time. If I scan 105 digits, it occurs 12 times. For 109 digits, it occures like 98 times. Its clockwork. See below.

altoidnerd@HADRON:~$ pi 10000|grep -o 1345|grep -c 1345
altoidnerd@HADRON:~$ pi 100000|grep -o 1345|grep -c 1345
altoidnerd@HADRON:~$ pi 1000000|grep -o 1345|grep -c 1345
altoidnerd@HADRON:~$ pi 10000000|grep -o 1345|grep -c 1345

Anyway, so the question is how many digits of pi would we need to search through to likely find about 1 or 2 copies of hamlet in the sequence?

So I got hamlet in plaintext from 2 sources. I found that hamlet when compressed from plain text to a tar.gz archive, the average size was 69 KiB. Therefore, (I think?) that means to represent hamlet as just a binary integer, it would have 69 x 8 x 1024 digits = 565248 digits.

To get the number of digits in base 10, we multiply by log_10 (2) +~ .69 so the base ten hamlet would be like a sequence of about ~390,000 digitsm (0-9).

Ok so back to pi. How many digits of pi must we scan to probably find a string of length 390,000? That would be 10^390000 digits. That’s a lot of pi, but pi has got enough digits to spare. We should see approximately 1 copy of hamlet in the first 10^390000 digits of pi.

Even cooler is that if we just increase the power by 1, we should see 10 hamlets; increase the power by 2, and we should get 100 copies of hamlet. So quickly, we end up with infinite hamlets in the digits of pi. And not only hamlet … this argument should would for any book.

[1] This is not too surprising since pi is believed to be a normal number, though this is unproven.

Generating arbitrary sounds from pure functions – mathematica virtual synthesizer

Video example:

An “organized” source is being built here –

Help out:

A picture says a thousand words…so here is the tarball of code fragments:

4b1e206b50f68dfa0fb464eb0d06116c Mathematica-Synth.tar.gz


Theorem for impedance matching in NMR tanks using L-networks facilitating broadband frequency sweeps for unknown quadrupolar resonances in solids.


Locating pure NQR spectra precisely would in many cases clarify NMR studies.  Furthermore NQR is indicative of internal field geometry in solids and is thus useful in the identification of quantum phase transitions.

The pursuit of pure NQR is difficult however because the resonant frequency is sample specific and is often unknown. Unlike in the case of NMR, the frequency cannot be controlled in the laboratory, but is rather a property of a material that is a fingerprint of the local environment of the nucleus in question.  

In general, operating a pulsed spectrometer at various frequencies requires the corresponding adjustment of the two capacitors shown below. Reducing the parameter space to a single value would make sweeping much more efficient. Any shortcuts  and tricks to allow easy sweeping could greatly accelerate understanding of NQR in yet unstudied samples.  

This general probe topology is common in the practice of nuclear resonance.


The inductive load is tuned and matched to the characteristic impedance of a transmission line Z0 (usually 50 ohms) by the two variable capacitors C1 and C2. 

Postulate: If the series losses in the coil are set to

R = Z0 / 4, 


C_1 =~ C_2

regardless of the value of Z0, and for any reasonable and f where f is frequency of operation and > 500 KHz. For < 500 KHz the approximation begins to break down for feasible values of L.

Suppose we can utilize transmission line transformers to reduce the effective Zo from 50 ohms to something lower, allowing a higher Q.

If for example the effective characteristic impedance of the tank Z0 = 20 ohms, then one could set r = 5 ohms externally. This results in nice agreement for the caps with L = 30 uH down to around 1 MHz. This would be excellent for sweeping and snooping for unknown quadrupolar resonances in this band, as 14N NQR often appears below 5 MHz.


Source tree on Github

Raw copy pasta for mathematica

Why is Dogecoin such a successful cryptocurrency? How I predicted its meteoric rise before DOGE hit exchanges.

If you’re reading this, you probably already know that Dogecoin is becoming quite valuable. The Bitcoin-indexed price of a dogecoin has seen a nine-fold increase since January 2014, when it reached lows around .00000030 BTC per DOGE; today it sits at .00000267, down from yesterday’s high at 295.

The recent surge in DOGE’s value against bitcoins is in part due to the recent controversy in the Bitcoin community over transaction malleability which has caused the USD value of bitcoins to fall. Nevertheless, Dogecoin has been steadily gaining traction over the past month, even before the recent dip in the Bitcoin price.  I recently recognized that the DOGE/BTC index has been added to in the past weeks, meaning that some fairly influential people believe in its longevity – a belief which represents a self-fulfilling prophecy in a way, as is often the case in this industry: social media rules crypto.

Indeed, the phenomenon of DOGE has puzzled many cryptocurrency “experts” who describe it as one of the most bizarre things to have happened in this technology to date.  But I did see it coming, and will flat out admit to the world now (at the risk of appearing a braggart) that I decided to become a dogillionaire by purchasing DOGE in ad-hoc forum exchanges back in December, before DOGE was even on coined-up. I had never done such a thing before that, and to this date haven’t bought any coins in this manner since.  I bought them at a very early stage, and paid very little for the coins.  Now unfortunately, I am no longer a dogillioniare; I sold them off at the 100 mark in late December for a good BTC profit.  But I still called it, and made continued investments since. How did I know DOGE would be a hit?


Look at the release of the coin

I cannot claim to know exactly why doge was such a success, but rather can tell you how I knew it would be. There were a number of clues in social media that pointed to a high probability for DOGE success, because it was apparent the coin itself had gone viral.  But it all begins at [Disclaimer: I do not consider coins born anywhere other than and/or without github repositories to be serious cryptocurrencies.  Open source or die.]

 [ANN][DOGE] Dogecoin – very currency many coin – v1.5 Released!  (Read 917300 times)

Look at the comments that immediately followed this coin’s announcement (which now has over 800 pages of comments, and has been read almost a million times).  It was immediately adopted; there was hardly a question of if/whether people were going to develop this coin, but rather a question of distributing tasks and getting things done.  It was unanimously decided that this coin was going to happen.  The first non-devloper comment below “Someone get a pool going now” really tells the story of how the dogecoin community has worked in the past and still works today.


**Activity: 98View ProfilePersonal Message (Offline)
Trust:0: -0 / +0(0)
December 08, 2013, 04:03:14 AM

Someone get a pool going now.

That was the very first comment in the now 800+ page thread.  See for yourself that the following comments were positive, only remarking how good or fun this coin is:

…Is this supposed to be retarded on purpose?

…Yes it is.

…This is better than quark Cheesy

…This made my day  Cheesy

…This is more innovation than stablecoin..

…I got my Doge diggin bones errr coins Shocked

…Very Mine! Such Hash! Wow!…Many Block! …Bank Shibe. …On a side note, I am now a DogeCoin Millionaire.

…Cool coin


…pools much?

…long time good

…You serious?…Edit: Just laughed for 2 minutes at the coin logo haha  Grin

…I much happiness now … I have a big millionaire! … Dogecoin is best very currency, you buy now!

…Why is this so funny, every time I read the name and look at the coin I start laughing like an idiot  HuhTongueGrinCheesy

…Everybody Why? Much laughing?  … Doge very prize nobel economics

Dogecoin was fun, at a time when cryptocurrency was not fun

As I had said on as well as /r/cryptomarkets, dogecoin came to the scene at a time when Bitcoin was experiencing a 1000% price increase, as it does from time to time.  The discussions on twitter I was having with some influential people were becoming quite nasty (and sometimes frightening), especially with regards to altcoins.  This was turning me off to cryptocurrency – something I had previously found to be a fun pastime.  You can even see the burnout in the data of this blog…if you look at my post frequency.

Enter DOGE. Dogecoin was the first coin that seemed to admit to the arbitrary economic magic numbers inherent in all cryptocoins.  It was a satire of cryptocurrency itself, poking fun at all other altcoins at the time which promised great profits on investment.  It admitted to the hallucination that is cryptocurrency.  It even went as far as to advertise a ponzi-scheme dogecoin game with the release of the coin.

The coin was released with many services already in place – i.e. the developers did that right.  But since the coin was so much fun to look at and play with, there was additionally a flurry of activity by open source developers following the release of this coin.  Moreover, since the concept took advantage of a popular meme, it was fun for hyperactive twenty-somethings (myself including) to Photoshop designs as humorous advertisements.  This gave dogecoin a legion of marketing specialists free of charge, who proceeded to plaster the web with DOGE propaganda.  Why?  Because it was funny.



To. The. Moon. Many thanks. D7FnRc9EVjo9SdNwSMGdRDhNJfEU42sNxo

Can you represent a sine curve using sawtooth waves?


It occurred to me when looking at this picture that there may be a time in a laboratory setting when representing a sine curve with sawtooth waves might be useful.  Can it be done?

The answer is yes – for the impatient, here is the plot I eventually made. The recipe is given below…


as was explained to me in the subreddit /r/puremathematics by reddit user /u/Gro-Tsen as follows:

First, let me discuss how one can formally compute the coefficients expressing a sine wave as a sum of sawtooth waves: assume we have a formal sum

f(x) = g(x) + c₂·g(2x) + c₃·g(3x) + c₄·g(4x) + …

where c₂,c₃,c₄,… are known coefficients, and we want to invert this to find a similar expression for g in function of f,

g(x) = f(x) + d₂·f(2x) + d₃·f(3x) + d₄·f(4x) + …

(our goal is to compute the d coefficients in function of the c's).

This can be done inductively as follows: assuming the N−1 first d's are known (starting with just d₁=1), truncate the expression of g to the first N terms (leaving the N-th d coefficient, d[N], as an unknown) and substitute this in the first expression, then equate the first N coefficients: clearly this will give an equation determining the unknown d[N] in function of the known ones and the c's, in fact, for all N>1 this gives

d[N] = − sum(d[i]·c[N/i]) where i ranges over divisors of N (including i=1, for which d₁=1, but excluding i=N)

so we can compute

  • d₂ = −c₂
  • d₃ = −c₃
  • d₄ = −c₄+(c₂)²
  • d₅ = −c₅
  • d₆ = −c₆ + 2·c₂·c₃

and so on (for any prime number, d[p] = −c[p] as is clear from my inductive formula).

Now we can try the above purely formal method in the case where g(x) = sin(x) and f(x) is the sawtooth wave defined by f(x)=x/2 for −π<x<π. We have

f(x) = sin(x) − sin(2x)/2 + sin(3x)/3 − sin(4x)/4 + …

in other words c[i] = (−1)i+1/i and we can compute the d's from the above process:

1, 1/2, -1/3, 1/2, -1/5, -1/6, -1/7, 1/2, 0, -1/10, -1/11, -1/6, -1/13, -1/14, 1/15, 1/2, -1/17, 0, -1/19, -1/10, 1/21, -1/22, -1/23, -1/6, 0, -1/26, 0, -1/14, -1/29, 1/30, -1/31, 1/2, …

so we should have sin(x) = f(x) + f(2x)/2 − f(3x)/3 + f(4x)/2 − f(5x)/5 − f(6x)/6 − f(7x)/7 + f(8x)/2 − f(10x)/10 − … (where, again, f(x) is x/2 − π·floor((x+π)/(2π))).

Unfortunately, this reasoning was completely formal and does not say anything about convergence. I don't think one can reasonably expect convergence a.e. or L² convergence, because one can easily see that d[2n] is always 1/2, for any n>0, so the d[i] don't even tend to zero! Still, there's probably some weak sense in which the series converges (e.g., I'm pretty sure it converges as distributions), but since I'm an algebraist and not an analyst I'll just leave it at that.

Well “terrific,” I thought.   But does it really work?  /u/Gro-Tsen warned us that it would not converge, and he was correct.  I fired up Mathematica and generated the following image with 100 terms of the expansion /u/Gro-Tsen provided, displaying the weird convergence (code below). I still don’t know if its the convergence of the series causing this effect, or the built in machine representation of a sawtooth in Mathematica.

The coefficients were pulled from OEIS sequence A067856 with each entry divided by it’s index.  Here is the Mathematica code for the plot:

Tooth[x_] := SawtoothWave[(x - Pi)/(2*Pi)] - .5

Plot[Tooth[x], {x, -2*Pi, 2*Pi}]  (* this will verify that the function Tooth[] is valid *)

BigArr =

{1, 1, -1, 2, -1, -1, -1, 4, 0, -1, -1, -2, -1, -1, 1, 8, -1, 0, -1, -2, 1, -1, -1, -4, 0, -1, 0, -2, -1, 1, -1, 16, 1, -1, 1, 0, -1, -1, 1, -4, -1, 1, -1, -2, 0, -1, -1, -8, 0, 0, 1, -2, -1, 0, 1, -4, 1, -1, -1, 2, -1, -1, 0, 32, 1, 1, -1, -2, 1, 1, -1, 0, -1, -1, 0, -2, 1, 1, -1, -8, 0, -1, -1, 2, 1, -1, 1, -4, -1, 0, 1, -2, 1, -1, 1, -16, -1, 0, 0, 0}

BigArray = BigArr*(Array[1/# &, 100, 1])

Plot[Array[Tooth[# x] &, 100, 1].BigArray, {x, -2*Pi, 2*Pi},
ImageSize -> 1800]

Donate Bitcoins

The cost of artificially pumping a low volume altcoin: pumping the alt markets by yourself with the BTC/LTC “pump machine” strategy