WordPress is a waste of time

As a software engineer, whenever I wanted to make a personal website, I’d spend way too much time tinkering with the server, than producing actual quality content.

Unhappy with the lacking content produced, I decided to try out a popular free blogging platform: WordPress.com

I was hoping, with the skilled developers at WordPress, I’d not have to worry about server uptime, optimizing HTML, or any other typical minute task.. and I’d just focus on content production.

Out of the box, WordPress provided an easy to use GUI for writing articles.

However over the next few days getting acclimated to the platform, I got the impression that wordpress is a waste of time.

WordPress doesn’t like that you using their product for free.

Every time I open up WordPress, I get this wonderful notification:
It appears like a notification that I have to close..
Happens every time I open WordPress, pretty annoying.
I’d write up a Tampermonkey script against this thing if I were to keep using WordPress.

As soon as I made a new WordPress account, I started getting these emails:

But, I was fine with these minor annoyances. It’s a free service after all, right?

Oh yeah, did I mention WordPress automatically places ads on the blog?

Using the site, I started seeing more and more features that were only available to paying customers. Want to modify the design of your blog? Pay.
Want to add some extra functionality on your blog? Pay.

Up till now, this hasn’t really bothered me.. I am a software engineer.. I thought, anything I need, I can just code up myself in javascript or css.

I was mistaken. I’ve made an animated gif below showing my frustrations:

wordpressWordPress actively removed any of my attempts at trying to add any type of styling or scripting on my page. To be able to write such code, they were forcing me to upgrade..

That is horrible. I’d understand a business model where the free account doesn’t get added features, but I completely disagree with intentionally adding code that purposely removes something that can otherwise be done for free.

So, good bye WordPress.
Hello Blogger.

Blogger another free service, just without all these pushes to buy a paid account.
I can do whatever scripting or styling I want. Oh, and no ads!

I’ve started working on a long project involving grading food intake research articles.

You can check it out here:


Factorial Triangle

               2     1
            3     1     2
         4     1     1     6
      5     1    2/3   3/2   24
   6     1    1/2   2/3    3   120
7     1    2/5   3/8   8/9  15/2  720

This triangle has fascinated me for some time.
Since discovering it, I’ve been prying at all its little details, one by one.

First, how to build it? Let me start by going over the “columns” of the triangle.

Let the diagonal column from left to right be called column K, start from 1:


Let the diagonal column from right to left be called column C, start from 0:


Finally, let each row R start from 1:


Alright, now given K and C, we know the row R:


K + C = R

Alright now.. How do we build this thing?

Start off at C=0 and C=1, with the numbers 1,2,3,4,5,… and the number 1:


The algorithm for generation is:
For each top left number t, the bottom right number b will be:

b = t * C / K

(C and K are for b‘s position.)

Here are a few examples:


The generating function for any number becomes:

K C – 1

Now that we have the function for this triangle, what’s so special about it?

Starting with K=1, if we add the reciprocal of all the values together, we get the well known sum:
1 + 1 + 1/2 + 1/6 + 1/24 + 1/120 + 1/720 + … = e

If we sum the reciprocals of K=2, we get an interesting result:
1/2 + 1 + 1 + 2/3 + 4/12 + 8/60 + 18/360 + … = e2 / 2

For K=3, we get:
1/3 + 1 + 3/2 + 9/6 + 27/24 + 81/120 + … = e3 / 3

This can be generalized to:
The sum of the reciprocal of numbers from C = 0 to infinity is:


Alright, if a sum was possible for all numbers in one column, perhaps we can come up with the sum of all numbers in the other column?

And indeed, the sum of the numbers from K = 0 to infinity is:

C! * Zeta(C – 1)

where Zeta is the Riemann zeta function

As an example, at C=3:

6 + 3/2 + 6/9 + 6/16 + 6/25 + …    =   3! * Zeta(2)   =   π2

Cool, eh?

But the fun doesn’t stop there..

Let’s look at the products of individual rows:


Very interesting that the product of all these rows always equals 1.
This means the product of numerators equals the product of the denominators:

The product of n! from 1 to x
The product of (x – n + 2)n-1 from 1 to x

So for row 7 for example:
1! * 2! * 3! * 4! * 5! = 60 * 51 * 42 * 33 * 24

This isn’t very trivial, at least not to me, so I’ll show a proof:

The product of n! from 1 to x = G(x + 2)

where G(x) is the Barnes G function.

Using a known equivalence for G(x):

1! * 2! * 3! * 4! * … * x!
G(x + 2)
(x + 1)!x + 1
K(x + 2)

where K(n) is the K function.

I’ll use row 7 as an example, but this logic can be applied to any row:

1! * 2! * 3! * 4! * 5!
11 * 22 * 33 * 44 * 55 * 66

We need to prove that the product of (5 – n + 2)n-1 from 1 to 5 is equal to this.

60 * 51 * 42 * 33 * 24
11 * 22 * 33 * 44 * 55 * 66

To make things easier, let’s get rid of 11 and 60 as these equal to 1.

51 * 42 * 33 * 24
22 * 33 * 44 * 55 * 66

Multiplying the denominator by both sides:

22 * 33 * 44 * 55 * 66
51 * 42 * 33 * 24

Reverse the positions of the numbers, for easier readability:

22 * 33 * 44 * 55 * 66
24 * 33 * 42 * 51

These numbers can now easily be multiplied together:

26 * 36 * 46 * 56 * 66

Which is true! QED.

Thinking that’s all we can do with this triangle? Well think again!

We’ve found the product of each row, can we get the sum of each row?

I couldn’t figure out a formula for the sum of each number (let me know if you can!)

But I was able to come up with a formula for the sum of the reciprocal of each number.


Sum reciprocal of all values in a row R
Round((R – 1)! / ΩR))

Where Ω is the Omega constant.

As an example, at R=7, the sum of the reciprocal would be:
Round(6! / Ω7) / 7! = 38149 / 5040

If you’re wondering where the Omega constant came from, it has to do with the smallest number in each row.

Each row has a smallest number:


If you follow these set of numbers to an infinite row, the ratio of the position of the smallest number in the row will converge to:

Ω + 1

…the constant equals about 0.36.

Once again, Ω is the Omega constant.

And from the right side of the triangle, it converges to:

Ω + 1

Since this position converges linearly, we can say that the smallest number in any row will be at positions:

C = Round(R * Ω / (Ω + 1))


K = Round(R / (Ω + 1))

With all of these wonderful findings, you might wonder, is there a “binomial expansion” analog for the Factorial Triangle?
Is there some function that expands and uses the triangle values as coefficients?

Yes, somewhat. Check out the series expansion of:ln.. as n approaches n->0.
Here’s a wolframalpha link

The series follows the reciprocal triangle pattern:


I find this triangle quite fascinating.

If you find any other interesting curiosities with this triangle, please let me know!

Judge a coin toss

It is difficult to analyze a person’s thoughts through surveys.

In order to have enough curious visitors fill out the whole survey, there need to be very few questions asked.

Each question needs to be simple, yet very specific.

With such restrictions, I’ve failed multiple times, to get any useful data.
Until now.. An analysis on how people make choices with chance.

I gave this survey for people to fill out on Reddit: https://docs.google.com/forms/d/e/1FAIpQLSetGo6za0c0keg5n6mibPJmQn0WFOy3t5vHqhYi5QXzCdFfJA/viewform

The questions here were carefully engineered to look very simple, yet to ask a complicated question: How do people judge chance?

These series of questions go over various scenarios of people accepting or rejecting a bet for a coin toss.
In the first two questions, both Heads and Tails are portrayed as wins.
The last two questions, are meant to be portrayed as an obvious losses.

It was built this way for people to get used to and understand the series of questions, how they relate to each other.
It prepares them for the less simple questions, where there is no obvious answer.

An important factor for these questions is to assume there is only one toss. No retries.
$5 was chosen as the reward, due to it being a small enough that it didn’t significantly impact most people’s finances, yet its sufficient enough to buy a small snack.

I got back 125 responses.

As expected, the first two questions were answered Yes:



Next question, there is still no loss, most people still answered yes:


Now here come the more interesting scenarios and responses:


From an economics standpoint, although there exists a $1 loss, the $5 win should be sufficient for you to always say Yes.


Once again, the $5 win out-ways the the $2 loss, so this should also always be a “Yes”.


The $5 win continues to be better than a $3 loss, so from a rational economics standpoint, this should have still been a 100% Yes.


$5 win is still better than $4 loss, so this still should have been a 100% yes.


Here, $5 win and $5 loss is even. From a rational economics perspective, this should have been an even 50% Yes, 50% No. Even though you just get one try.

As expected, the last two questions were answered No:



This just gives a glimpse into how people think about chance.

The results however show me two things:

  1. Loss aversion
  2. Priming: By showing the previous available bets, people seem less likely to accept relatively worse bets, even though the bets are still good in absolute terms.

Unfortunately these results are inconsistent.. They vary depending on the audience answering the question. People more versed in economics provide answers closer to what is considered “rational”.

Although there is probably no way to predict how a specific individual would answer such questions, I wish there were a way to predict how people will answer as a whole.

The Israel-Palestine Problem

Israel’s Declaration of Independence states that the State of Israel will:

...ensure complete equality of social and political rights to all its inhabitants irrespective of religion, race or sex.

This means Jewish and Muslim citizens should have exactly the same rights in Israel.

Yet Israel is maintained as a safe-haven for Jews.
Jewish holidays are national holidays.
Money is minted with the Jewish calendar year.
Being Jewish is a sufficient reason to be granted citizenship.

A Muslim living in Israel may feel unwelcome.
Isn’t this supposed to be a free and equal state for anyone, regardless of religion?

The Israeli government needs to stop being secretive, and officially declare what’s going on. It should either:

  • Do what it says. Be free and equal to all citizens regardless of race. Remove all forms of Favoritism towards Jews. Integrate people of all religions together. Make sure Jewish and Muslim communities get the same kind of National funding.
  • Officially declare Israel as a Jewish State. Remove the freedom of religion. Revoke citizenship of all Muslims.

If Israel does not choose one of these options, and continues to be “Open to everyone” officially, but give special privileges to Jews, the violence will continue.

Annoying Microsoft Link Bug

Do you use a variant of Firefox?

When you click a link in Outlook or OneNote, do you get this message?:

Your organization’s polices are preventing us from completing this action for you. For more information, please contact your help desk.

After upgrading to Waterfox, I kept on getting this annoying message.
Links in OneNote stopped working.

Unfortunately, online, Microsoft’s solution involves changing the registry in a way that partly made Internet Explorer the default browser.

Looking through the registry changes I figured out the proper fix.

In HKEY_LOCAL_MACHINE > Software > Classes, add in the following Key structure:
FirefoxHTML > shell > open > command

So in total, the Key structure will be:
HKEY_LOCAL_MACHINE > Software > Classes > FirefoxHTML > shell > open > command
No need to actually set any values inside. Don’t set the “Default” to anything.

There is a bug in Outlook and OneNote with regards to how it perceives opening files.
It looks for a match for exactly “FirefoxHTML”, while it should have looked for “FirefoxHTML*”.
Simply adding in the exact match to the registry, satisfies a check inside of Outlook and OneNote.
After the check is satisfied, it will match on “FirefoxHTML*”, and read the firefox directory, correctly opening the file.

Producing vs Consuming

The only time we really think about our consumption is with money.

Should I buy this $1 app?
Buy organic grass fed eggs for $5, or stick to the $2 regular eggs?
Perhaps wait till there is a coupon available?

People go out of their way to amass as much capital as possible, yet be very cautious about their spending.

Consumption goes way beyond simply the dollar amount spent.
It is rather the amount of time spent and its purpose.

Imagine gaining access to a highly additive game, for free.

Instead of paying for the app with money, people pay for it with time.
This is a form of consumption that people usually don’t care about as much as money.

On social platforms like Reddit or Youtube, there are:

  • The producers – The posters of information or videos.
  • The consumers – People reading or watching the content.

Given enough content, consumers can spend many hours of their lives reading or watching the content.

Consumption, on its own, is not bad.
Spending money, on its own, is not bad.
It just depends on the purpose of the purchase.
Will the $1 app be used to produce something?
Or will that consumption be wasted?

I like learning, I like researching, I will always consider myself a student.

Over time, I have amassed a lot of knowledge and wisdom.
I use this knowledge to live my every day life.
However very little of this knowledge is publicly visible.
Most of what I produce is private. My life, my job, my relationship with people.

I feel, because there are so few specialized places were I produce, my production is limited. And any time I don’t produce, I consume.

There have been a lot of instances in my life where I consumed a lot of information to find out something, then when I finally found it out, I’d keep it to myself.. and potentially forget it over time.
It’s not like it was secret information. I have found out what I wanted to find.. Why waste time writing up what I’ve learned?

I’ve realized, by not sharing my findings, most of my consumption becomes wasted.
Sure, I learn from the experience, but much of the finding will be lost to history. Someone else, researching the same thing as me, would not be able to reference my work… ending up with further consumption on someone else’s behalf.

Hence the purpose of this blog.
I want to document my discoveries, my research, anything I’ve learned in life.

A platform like Reddit is not good because it is more of a “news” media.
I want my posts to be used as a form of reference. Something that people can go to when doing research.
A permanent set of information.

Whenever consuming, I have to ask myself, will this help with my producing?

I want this to be a change in my life. This is not just blogging.

Will my consumption help me produce more in my relationship?
Will my consumption help me produce more in my job?

By being mindful of the purpose behind my consumption, I hope to produce more.

Focusing more on my production, I hope to improve my life both publicly and privately, and become a better person.