Tupper’s self referential formula not so referential after all

Since the point I found about the Heart equation, which is just an equation that when you plot shows the shape of heart, I was wondering what type of pictures one could create using just math symbols. Of course, when you have function you are quite limited since there cannot be two x’s above each other. In equation, it is better since you are not limited by this but functions like logarithm or sinus are not made for drawing pictures, usually just curves. I thought that anything more complicated would be basically impossible to figure out, until I found the Tupper’s self-referential formula.

It is just completely “epic” and here is how it looks:Tupper's self referential formula plot.svg

There are two things that you might have noticed. It is a plot, that is quite simple and yeah, this formula plots itself. When I first saw I could not believe my eyes though later I found out that it is quite fake.

What you see up there is plotted function but not smoothly, rather using the mod function and bunch of rounding to get actual pixels. This is quite cool idea. You can notice one more thing, there is no number specified on the y-axis. Therefore, the function loses some of its uniqueness.

The role of this function is to convert bitmap aka picture of the size 17×106 to constant k. For this special case k is very big number, this one:

960 939 379 918 958 884 971 672 962 127 852 754 715 004 339 660 129 306 651 505 519 271 702 802 395 266 424 689 642 842 174 350 718 121 267 153 782 770 623 355 993 237 280 874 144 307 891 325 963 941 337 723 487 857 735 749 823 926 629 715 517 173 716 995 165 232 890 538 221 612 403 238 855 866 184 013 235 585 136 048 828 693 337 902 491 454 229 288 667 081 096 184 496 091 705 183 454 067 827 731 551 705 405 381 627 380 967 602 565 625 016 981 482 083 418 783 163 849 115 590 225 610 003 652 351 370 343 874 461 848 378 737 238 198 224 849 863 465 033 159 410 054 974 700 593 138 339 226 497 249 461 751 545 728 366 702 369 745 461 014 655 997 933 798 537 483 143 786 841 806 593 422 227 898 388 722 980 000 748 404 719

If you use the number in some internet program it will be reversed, so that is why the axis on the picture are reversed. Since the formula maps all possible bitmaps of the size mentioned, it is just extremely long graph containing every possible option, even itself. This is interesting in its own way though it is not anymore very “self-referential”, it is like if you would make a program creating all possibilities of 10000 characters long string. It would also contain the code itself though there is nothing special about it.

Click here to see the beginning of the graph.


Picture source: By Larske – Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=22421657


Swap the numbers

I am reading a book from Matt Parker now. It is called “Things to make and do in the fourth dimension” and the ~200 pages that I read are quiet amazing. The author is also YouTuber and it seems that he mostly does “Standupmaths” which is cool channel. I got inspired a bit and created this game that I started to call “Swap the numbers”.

I was thinking about battery on my phone and how it is going down and that it would be interesting, if the first and second number swapped with the first after subtraction of 1,2 or 3 or more percent at a time. I wrote down bunch sequences, beginning with 100 and going down by one digit numbers.

It is not finished since I want to find a way to predict how these sequences form and I have not figured it out yet. I will give an example and then show why this game is so peculiar.

Let’s say that we subtract the number four, that is the one that I started with:

100 (subtract four) 96 (swap both digits) 69 (subtract four) 65 (and so on…) 56 52 25 21 12 8 80 76 67 63 36 32 23 19 91 87 78 74 47 43 34 30 3 -1 10 6 60 56 65 61 16 12 21 17 71 67 76 72 27 23 32 28 82 78 87 83 38 34 43 39 93 89 98 94 49 45 54 50 5 1 10 6 60 56

If you quickly go through these numbers you will find out that they repeat. When the “10” appears for the second time it starts to repeat. (I also forgot to say that if there is negative number it will act as positive on the “swap” step.) For some reason, many of these “constants” that I start with, end in lapses of “tens” meaning that after “-1” there is “10” and then that is the cycle until new “10” appears. First few numbers have the length of the cycle or lapse “36” or “12” and so far, there seems to be only “1 and 10” as constants that will pull it down to zero. (Also 100 but that is trivial and I have not checked some that could be obvious.)

I have made a program in Delphi 7 to write for me all the numbers for any given constant, that is useful but I will still have to consider the mechanism itself to start to understand it.


I have 420 likes on FB and it is completely useless

so today I reached 420 likes on my Facebook page. Page that connects directly to this blog. That is almost two times as many followers on the blog itself, after more than two years that is certainly not much but I am surprised how I got those likes on Facebook and how pointless they are anyway.


It says that I will soon reach 500 and that I should give them money so that I reach it sooner.

Since I do not post very often here, I am not preparing the posts very long time (like today), I do not get many more followers on WordPress. Most of the views come from some searches on Google and somehow people tend to be very interested in this post because it has about 7 or 8 times as much views as any other one, exactly 1,066 as of 17.7.2017. I guess most schools in USA learn about HClO4 and HClO in winter and that is why I have most views in that time of year even though it was such a long time since I wrote the post.
So, I have got 420 likes and it is completely useless. Why? Because when I share something on the page most people do not even see it on their “walls” (yes, I have an option to “market” my post for money so that more people see it which is completely absurd). Anyway 420 is a number that has something to do with cannabis and it is 42 times 10 which is nice.
420 is these numbers multiplied together: 2;2;3;5;7. Those can be accidentally also written like this:
That took me at least half an hour to come up with. The function “ceil” takes the number and rounds it up. I hope it creates the numbers correctly. Well that reminds me that you can create a game from this. I am going to do that in school. Just pick few numbers and then try to write either sequence or equation that fits it. That is actually quite endless game with lot of possibilities and variations. Maybe one could say that they will use only exponents for example though I think that it is much easier with all those other fancy functions that make the numbers “nice” like rounding up.
Well I might try another number another day.

Why are cells so small?

ever wondered why you have to use microscope to see cell? Well cells are small but why?

There is a simple geometrical reason for it and it has to do with volume and surface area. First let’s take the case of cell being very big and what it would mean for it.

Such a cell would have much greater volume because of greater diameter, that is quite logical, but if you compare it to the surface area (which also increased) the ratio between the two attributes increased, meaning surface area did not grow so much as volume.

Volume (no matter the shape) grows rapidly with the function d^3 where d is the diameter [1]. On the other hand, the surface area only with d^2. So, what this means for the cell is that the surface = the membranes, are going to need to work extra hard to feed and clean up the rest of the big cell. This has some limit and that is why cells tend to be rather small and only viewable with microscope.

If the diameter is 1 than both volume and area are 1. (ratio 1/1=1)
If the diameter is 3 than volume is 27 and area 9. (ratio 27/9=3)
If the diameter is 5 than volume is 125 and area 25 (ratio 125/5=5)

The cell also cannot be too small otherwise the “equipment” (organelles) would not fit in.


Source: https://www.youtube.com/watch?v=wuXSEOKNxN8

[1] Take a cube for example the equation for its volume is V=a^3 where a is the side.

Numeral systems

today I will write a post about numeral systems and how they generally work. I already wrote about binary and decimal system, but in the last week I did some research on generally numeral systems.

So, just to recap. We normally use decimal system, this means that we use ten symbols to represent numbers, from 0 to 9. First place of number is the number itself, second position represents the number times 10 because we are in decimal system and 3rd represents number times 100 and so on. The general formula to transfer numbers to decimal system goes like this:

anbn + an − 1bn − 1 + an − 2bn − 2 + … + a0b0

a stands for the number that we see written, b stands for the system it is written in, n is the digit where a is –> 0 is the first place.

For example 1334 in the numeral system “7” would be:

4*1+3*7+3*49+1*343=515 in decimal system.

Note how you can represent easily any number in any system because of how the exponents rise in every single digit by one. If the numbers before the next digit are all full, like x9999 in decimal system or x4444 in base 5 system you always need to add only one to reach the next digit, this way there are no numbers left out.

What I really like is that if you had a machine that could change from any numeral system to other you could multiply numbers extremely easily. In decimal system if you multiply by 10 it is very easy because you just add one zero, why? Because all the numbers are “multiplied” by 10 with some exponent already and you just add one which moves all of the numbers to left. In binary system if you multiply by two you just move all the numbers by one digit:

101010111*10=1010101110      (10 is 2 in decimal) Or in 6 base system:
420351234*10=4203512340   (10 is 6 in decimal)

You are basically multiplying by “10” though you need to remember that the number is still in that system.

What about rational numbers? The stuff behind point?

I was really wondering about this and Wikipedia helped out! The exponents are simply negative as in the example below (binary number 10.11 to decimal system):

1×21 + 0×20 + 1×2−1 + 1×2−2 = 2.75

First place –> exponent 0
Second place –> exponent 1
First place behind point –> exponent -1Second place behind point –> exponent -2

Thats it for today.


Derivatives made easy 3a) Maximum and minimum explained

in school we learn how to derive right now. The teacher does not do very good job. The class does not know about limits and they only learned power rule and no other rule for derivation though at the same time they learn about maxima and minima.[0]

When you derive function you can find lot of useful informations about it. Today I will talk about minima and maxima. Those are points where the function turns around creates “hill” or “valley” – maxima or minima.


Some fictional function.

In the function above (f-blue line) you can see couple of points marked. Two orange points are maxima, blue is minima and green is special to which I will get in another post.


As I have already said quite few times, when you derive function you will find out what is the slope (how much up or down) at one point[3]. If it does not go up or down it is zero, those are the maxima and minima you are looking for. Right before maximum you have positive slope, the function goes up towards maximum. Right after maximum you have negative slope. What is between if the function is smooth? Zero. When we derive function, lets say function like this:

f(x)=2x²    We get (according to power rule, if you do not know it ignore it right now):

f'(x)=4x    The apostrophe means that it has been derived.

Now when does this derivation equals zero? In other words? When is the slope zero?

Only when x=0 because f'(0)=4*0 = 0 [2]

The original function has minimum or maximum on the point when x=0 [1]. Tricky is that you do not know if it is minimum or maximum which needs some more work and I will get to it in another post.


[0]I will also talk about power rule, multiplication rule and so on in the future.

[1]To get the coordinates of the maximum or minimum you just plug the solution of the derivative to original function and you will get the y coordinate.

[2]If you work with higher order polynomials like x³ you might easily get more solutions which means more minimas and maximas.

[3]If you plot the derivation you will get the slope anywhere.

PS: sometimes I see minima or minimum and maxima or maximum so I use both as I want.

Jerks are even in physics

the title is a pun. There are probably jerks yes, but what I want to talk about is physical unit[1] called jerk, it is named like this because jerk not only means, idiot or stupid, but also to move suddenly, because of surprise.

It will be nice, if we first recall that derivation describes the rate of change of something. For example, speed is the first derivative of position because speed describes the rate of change of position, the higher the speed the more position changes!

{\boldsymbol {v}}=\lim _{{\Delta t}\to 0}{\frac {\Delta {\boldsymbol {x}}}{\Delta t}}={\frac {d{\boldsymbol {x}}}{d{\mathit {t}}}}.

1st derivation of position “compared” to time

In the picture above you can see how speed is defined compared to position (x) and time (t). It is its derivative as I said before. Now of course you can define something, that describes how velocity changes over time. That is called acceleration.

\mathbf {a} ={\frac {d\mathbf {v} }{dt}}={\frac {d^{2}\mathbf {x} }{dt^{2}}}

Again, “d” simply means derivation and when it is “squared” it means that you need to derive it twice. Acceleration describes, how velocity changes over time.

This is all you might need for daily life. Of course though, scientists defined next derivations, the change of acceleration in time is called jerk. The change of jerk is called jounce the change of jounce is crackle, next follows pop and then possibly lock, drop, shot and put. The SI units of all of these time, position related things are similar. With each derivation you add one to exponent of time.


and so on..

Just to remind you, if you have lets say “pop”, which is 6th derivation, of 10 m/s^6 you will have a tremendous speed extremely fast. From this next equation it should be pretty clear:

{\displaystyle {\vec {r}}={\vec {r}}_{0}+{\vec {v}}_{0}\,t+{\frac {1}{2}}{\vec {a}}_{0}\,t^{2}+{\frac {1}{6}}{\vec {\jmath }}_{0}\,t^{3}+{\frac {1}{24}}{\vec {s}}_{0}\,t^{4}+{\frac {1}{120}}{\vec {c}}_{0}\,t^{5}+{\frac {1}{720}}{\vec {p}}\,t^{6}}

The power of the higher derivations is that the exponent does extreme changes in a moment. r is the position, v speed, a acceleration… p is pop and t is time.

This is probably not used much, if at all, even in engineering.. but hey, fun!


[1]It is not a unit. It is physical quantity or something like that. I do not really know how it is called in english.

Binary system explained (part 2)

in the last post I wrote about converting from binary to decimal number. Today I will continue, if you want to read the basics about binary just check out the post. This is also linked to my post about counting to 1,023 on your fingers.

So lets say that we have number 137 and we want to convert it into binary.

You have seen in the previous post that there is some highest digit that has the value of 1 instead of 0 which means that it stores the information[1]. We need to find out this value.

Its easy, its the highest 2ª number smaller or equal to our original value (137).

Such a number is 128 which is 2^7 so it is going to be the 8th number since we use 2º too (and 2º is on the 1st place).
Now we subtract it having 137-128=9 (1xxxxxxx)

Now we repeat with 9. The number that is smaller or equal is 2³=8
9-8=1 and the next 1 that stores information is on the fourth position. (10001xxx)

1 is easy because 2º also equals to 1 and it is on the first place. So 137 looks like this in binary: 10001001.

Lets try 759:

759-512=247 (10th number is the first 1) =1xxxxxxxxx
247-128=119 (8th number is 1, stores the information) =101xxxxxxx119-64=55 (7th number is 1) =1011xxxxxx
55-32=23 (6th number is 1) =10111xxxxx
23-16=7 (5th number is 1) =101111xxxx
7-4=3 (3rd number is 1) =10111101xx
3-2 … 1-1 === 1011110111 (quite lucky with so many ones ;))

Hope this all makes sense, if it does not just write in the comments below.

Btw. thought you have infinitely many systems that you can use, binary is the simplest of them all. You can not store information in less symbols because with one symbol you would not be able to distinquish where one information ends and another begins. You need to use “space” or some number or something.


Binary system explained (part 1)

in the last post I showed cool trick, how to use your fingers to calculate to 1,023. It was based on binary system but I did not explain it much there. Here I will go through the conversion from binary to decimal system, that we normally use, and back.

So all of these digits systems work with some number of symbols, 10 in decimal system for example. These digits means some number and when you run out of them you will just add another digit, for decimal system you have of course 0,1,2,3,4,5,6,7,8,9 and after 9 you have to start repeating previous symbols. Now if you think about it you could actually use this various ways, for example we write 10 but it could also be 00.

Binary system has 2 symbols only. 0 and 1. This means that you will have to use much more digits if you want to symbolise big number. Basically if you add one to number you display one higher symbol and you never skip any of them so there is given amount of numbers you can store in x number of digits. Because there are 10 symbols in decimal system you can display 100 different numbers (different combinations of these symbols) in two digits. From 0,1,2,3… to 97,98,99. This is 10² where the exponent is number of digits you have. For binary system the base will be two because you can store only two symbols in one digit. In two digits you can store 2² numbers.

This is good to know if we want to transfer from one system to the other, lets say that we have number in binary:


We want to change this number into decimal so that we understand it.
Every digit here stands for one of those exponents first digit (from the right) stands for 2º which is one and it either stores the number one or it does not. Since it is 0 and 0 is usually reffered to as empty, the first digit, again from the right, does not store any information[1].

2nd is for 2¹ and there is 1 which means that the information is there and we know that our final number (n) equals to the rest of the numbers plus 2.

We continue and there is no number on the next place but on the 3rd 2³ we have one which means that we remember this which equals 8. The next is 16 and the last one is even higher: 128. We now add all of them together to get 154 if I count right.

It is good to notice that with this system you can create any number you like because always this applies:



Because the post is quite long right now I will continue in the next post. I do not know when this will be because I am going on a trip this weekend and some days after but after I return there will definitely be new stuff 😉


[1]Same as zero in our system! If you have number: 00456 its just 456 of course that it is something different than 45600 where it moves the place where the numbers are but still it does not count to the final number!

How to! 7) Count to 1,023 on your fingers

as promised, weekend post is here! Ok, so I learned this cool thing when I was on seminar in Hamburg. First I thought that someone is pointing middle finger at me for fun (you will see the reason soon) but it was actually counting method. Though you have only 10 fingers you can use them to produce all numbers from zero to 1,023 which is cool.

If you pay close attention and you know something about computers you know that the number 1,023 is very special. It is 1,024 but one smaller (1,024 is actually the special number).

The thing is that 2^10 is 1,024. And in computers you work in binary system with only 0 or 1  ….    on or off and you get the number of combinations that you can arrange binary system if you put 2 to the power of digits you have. On fingers you can not arrange 1,024, you will see why[1]:


Turn you palms towards you. Since in Europe we write from left we will start with left thumb (palms still towards you). Now make fists.. that is number 0

Rise your thumb, that is 1. (1000000000)
Put only your index finger up, that is 2. (010000000)Put your thumb and index finger up, that is 3. (1100000000)  –> the number of digits shows the number of fingers you have.

So basically if you have number lets say 17. You want to transef it into binary. You will do this by subtracting the highest 2^x power which is equal or less to the number itself.

The 2^x numbers go like this: 1,2,4,8,16,32,64,128,256,512,1024…

In the case of 17 you will subtract 16 which is 5th number in the row. 5th finger on your palm is your left pinkie so you will put it up. Then you are left with 1 which you again subtract by the highest 2^x number which is equal or less and this time it is 1. 1 is first number and left thumb on your hands.

If you want 349 you have to subtract 256 (9th number – right index finger)
You are left with 93-64 (7th number – right ring finger)27-16 (5th number – left pinkie)
9-8 (4th number – left ring finger)
1-1 (1st number – left thumb)

Now train a little bit and impress your friends 😉 The key is to remember the first nine numbers and at what positions they are. Also you can show others just counting one by one. Just do not turn your hands towards them, numbers 4,5,128,640 and other could be dangerous 😀


[1]The reason why you can not count to 1,024 is of course that you are starting with 0 not 1 so your right thumb stands for 2^9 and not 2^10. You can produce another binary digit with your tongue 😉