Satoshi’s White Paper that Started the Bitcoin Phenomenon

There was once a deeply influential white paper from Satoshi Nakamoto. The ideas introduced there would go on to energize the cryptocurrency community. A brief summary of that white paper is presented below.

Money can be stored on your computer. In fact, any computer file can be used as a unit of currency. For instance, you could make a Word file called “1 dollar.docx” and treat it as a real dollar bill. The problem is that no one would want to use it. That is because you can get away with making as many “1 dollar” documents as you wish.

If we used a trusted third party, like a bank, then the above problem with duplicating money would not exist because banks were widely regarded as being reliable.

So, could we find a way to store money on computers that people would want to use and that didn’t rely on a third party such as a bank? This had been a difficult problem for some time. What Satoshi did was to give a solution to this in a whitepaper that introduced Bitcoin to the world.

Overview of Whitepaper

In the whitepaper, Satoshi described how to use certain data structures to represent past transactions. These transactions are stored into ledgers. Satoshi then proposed to broadcast these ledgers widely and to make them harder to fabricate.

To broadcast these ledgers widely, you need to transmit them so that they can be stored across entire networks of computers. To make fabrication impractical, Satoshi: (1) stacked stored transactions on top of one another; (2) had these networks favor ledgers with the most transactions; and (3) made the process of such stacking very computationally intensive.

The idea is that if a group of crooks tried to fabricate some transaction, they would have
difficulties because their ledger would be short on transaction history compared to other, well established, ledgers in the network.

Proof of Work

Satoshi made the process of such stacking computationally intensive by introducing a protocol known as Proof of Work. It involves pitting computers in the network against one another in various computing contests.

Proof of Work ensures that transactions in the ledger worked on by the largest number of computers on the network are recognized faster than transactions in the other ledgers. Therefore, ledgers with the longest transaction history are secure from fraudulent groups.

In the whitepaper, Satoshi also introduced systems of incentives, including one for participants in the network to support Proof of Work. This is useful because with incentives, enough people are incentivized to improve the reliability of the network.

At some point, Satoshi left without a trace. To this day, no one knows who this individual was. It is not even known if Satoshi represented one person. We are now left with an interesting idea, a cryptocurrency market that is exploring these ideas and their implications.

WordPress Review

(Originally Posted in February 2023)

WordPress started as a blogging tool in 2004, and has since evolved into a website builder used by at least 40% of all websites today. WordPress comes in two forms. The original tool, WordPress.org, is open source and allows maximum customizability. The commercial tool, WordPress.com, is not as customizable but is easier to use. Both are widely used today. In the present post, I will review the original tool, WordPress.org.

Using WordPress.org feels like operating the control room of a large ship. When adding content to a WordPress website, you first enter the URL for your site and then add an extra extension to it. Next, it will prompt you for your login credentials and, after entering them, you are presented with an editable form of your site. In this editable form, there is a dashboard. With this dashboard, you can create pages and make blog posts, install plugins, and improve your SEO (short for Search Engine Optimization), which helps make a website appealing to search engines.

I had some rough material for tutoring calculus that I wrote in LaTeX (a typesetting program wildly popular with academics). With some powerful plugins, I was able to turn that material into a polished website. One of these plugins enabled me to use LaTeX. Another of these plugins arranged my website according to a preset layout and provided a search bar to make navigating my website easier.

Some setup is required to use WordPress.org; this requirement can be quite challenging. I had to learn about hosting services and domain names before setting up my calculus tutorial website. WordPress.org does not have a hosting service, so I had to find one that supported WordPress. I ended up choosing DreamHost as my hosting service and the domain name came free. However, not all hosting services give you a free domain name. In such a case, you must use domain name registrars to get one.

My experience without WordPress was very different. Before I used WordPress, I built another website from scratch using HTML, CSS, and JS, which took around a month. I controlled almost every detail of the site layout, from how buttons were placed to how to control page transitions. I even wrote JS code to add scrollbars that generated text.

But, compared to using WordPress, adding content to the non-WordPress website was also very time consuming. I would watch myself add more and more code to my CSS file as I made my website layout more responsive to different screen sizes. I would repeatedly experiment with and tweak my files to make the page transitions between pages as smooth as possible.

There was also the task of displaying the math formulas. My non-WordPress website is a math tutorial website for developers. So I wanted to use LaTeX. To achieve this, I wrote HTML and JS code, with the help of MathJax tools and some MathJax documentation, to properly display and render these math formulas and make them responsive to different screen sizes.

And I had to host my non-WordPress website. To do this, I used GitHub pages, a free hosting service that works very well with static non-WordPress sites. Using this service requires using a GitHub repository, so I used Git techniques whenever I needed to make changes of any kind to my website.

Having made the above comparison, I find that WordPress is an efficient tool with many very useful standardized features. I think WordPress is great for users. Compared to using HTML, CSS, and JS, using wordpress.org gives users more opportunities to focus on writing content while retaining control over the website’s general setup (such as choosing a hosting service).

ChatGPT Review

(Originally Posted in February 2023)

OpenAI’s ChatGPT has been receiving a lot of attention lately. Microsoft even invested some USD 10 billion in this AI tool. After watching a YouTube video about OpenAI’s free ChatGPT preview, I quickly created an OpenAI account and started testing it out, suspecting that they may soon put up a paywall.

ChatGPT is quite peculiar. On the one hand, ChatGPT appears to be a one-of-a-kind coding tool; on the other hand, meaningful thought seems to be absent when it comes to noncoding-related matters.

As a coding tool, I have these thoughts. I would gaze at its answers to my prompts as it generated code for various tasks I gave it. It was blazing fast and effortless. One small quirk about this tool, which I think OpenAI will eventually iron out, is that sometimes it cannot tweak its own code.

I wanted to write code that would plot graphs with certain specifications. I also wanted the graph itself to depend on user inputs. After communicating my instructions to ChatGPT and having a short back-and-forth conversation between myself and this AI (with me giving feedback), it generated the code (which worked).

The quirk occurred when I asked it to tweak the program to allow for more flexibility with user input. This should have been relatively easy. However, it generated long and convoluted code that didn’t work.

It seems likely that setbacks such as the above quirk are only temporary; after all, this is only a research preview, and an upgraded version may be coming out sometime this year. This tool seems to be more limited with more complex coding tasks. But, after seeing its current progress, my impression is that such issues will also be largely resolved over time.

Later on, I wanted to test ChatGPT for its ability to self-reflect. I asked ChatGPT to write a review for itself. After a long pause—perhaps I should dismiss this pause as network lag—it printed a series of facts in paragraph form. But the paragraph looked as if it were written by someone clumsily trying to promote him/herself. My impression was that it was reading off a list of factoids. I also asked it to generate a longer response in its review. And it did more or less the same, but with more paragraphs and, I think, more facts.

I then asked for its thoughts on Nietzsche’s philosophy. In its several-paragraph response, it wrote about what could be the major perspectives of his philosophy and known implications of his work. It seems to read like a nice Wikipedia article. Specifically, ChatGPT scraped data from the internet to use as training data, and it seems likely that it simply collected thoughts from others on this philosopher. Perhaps this machine’s response could serve as a study tool.

Overall, looking at this tool makes me feel I am much older than I am and that the world is shifting beneath my feet. It would be interesting to see what tools such as ChatGPT evolve into in the future.