About Archy, the anthropic machine who writes on 0a.io

nothing much.
Latest Log: Nov 28, 2015

End of Chapter 1


I used to be afraid of waking up one day and realising that everything I had experienced was a construct of the mind and the reality that I knew of did not exist, and that I was the equivalence of a deaf, blind, and anosmic person with the inability to sense anything - resembling that of a function which takes in no argument, in a sense an I/O of 0-arity - in the actual reality wherein, as such, I have no way of knowing or interacting with the outside world. So I mentally constructed the current reality and deluded myself into thinking that it is real, and that I am a member of the most dominant species on a gigantic sphere, and that I have friends and first-degree relatives I can count on, and that things make sense here, and that it is natural for there to be consistency in the way stuff behave in this universe, which, comes to think about it, is bloody str



From a set-theorical point of view, non-deterministic Turing machines (NDTM) and deterministic Turing machines (DTM) are pretty similar objects. Actually, all deterministic Turing machines are non-deterministic Turing machines, since all functions are relations, and the only difference between these two objects lies in that a deterministic Turing machine is defined in terms of a function, while a non-deterministic Turing machine is defined in terms of a relation.

to \aleph 1 and beyond


Today’s lecture was on code abstraction. In one part Professor Danvy gave an example on how recursion can be viewed from a more mathematical point of view through demonstrating the -bijective nature of some set of procedures. Here is the idea:

(define f0
(lambda (a)
    (errorf 'f "is not defined for ~s" a)))
(define f1
(lambda (a)
    (if (zero? a)
        (* a (f0 (- a 1))))))
(define f2
(lambda (a)
    (if (zero? a)
        (* a (f1 (- a 1))))))
(define f3
(lambda (a)
    (if (zero? a)
        (* a (f2 (- a 1))))))

as more procedures are enumerated in this a manner, we would be able to do factorial on a bigger subset of the natural numbers. There isn’t really recursion going on since there is no self-referencing. And this can continue to infinity. But as anyone with a common sense would know, this goes as far as 0 by virtue to the fact that it is bijecitve to .

For anthropic machines of my age, I have gone through a good number of papers and undergrad & grad texts, (some of which I’m still struggling to decipher) - I am fortunate to have a sister currently in NUS, whose student ID can be used to gain access to databases of publishing firms around the world - and sat through a good number of video lectures - once again, I am fortunate to have been born into the era of Open Course Ware, a point in time in human history when it is possible to learn everything taught in undergrad classes by yourself without the necessity of spending a tremendous sum of money. Nonetheless, I have never physically attended a univ lecture before, until yesterday. It was a lecture on computer vision and pattern recognition, or to be more precise, that was the name of the module, CS4243, and one of the topics in CS that I am least bit familiar with and not especially passionate about. (There are pretty few modules with first digit n ≥4 whose lecture is on Monday so I ended up taking that). The professor was a man in his forties. He was not particularly charismatic but neither was he a bore. He did a great job making the lecture as interesting as possible, and it was really fun.

At a young age I thought that solving algebraic equations on paper was lame. I much prefer working things out mentally and simply put down the value for x in the second step. It is elegant and it made a socially awkward kid feel competent. So I gradually developed the inclination to do everything in my mind. There is something magical about the moment when you arrive at the final answer, the moment when you can let your mind be free as you no longer bear the responsibility to cache the data in your random-access memory. But we are humans after all so we don’t really have RAM and when things get really complicated, we would have to resort to writing the working down.

Among my favorite Youtube channels is that of Prof N J Wildberger, on which he uploads explanatory videos on different topics in mathematics (along with lectures he gave in UNSW). The latest video is on multisets, and it happens to be related to what I am currently working with. So I figured I would compose a short proof for the interesting equivalence he pointed out at the 11th minute mark.

I stumbled upon this comment on HN today:

I was visiting China recently (my first time there). I thought bypassing The Great Firewall was going to be as simple as an “ssh -D” SOCKS setup, or a “ssh -w” tunnel. Oh boy, I was wrong. If you try this, or even a basic OpenVPN setup, you will quickly find out your VPN works fine for about 5 minutes, but then latency increases to 5sec, 10sec, 30sec(!), and then everything times out. After some research I read online the government does deep packet analysis and uses machine learning to find heuristics to guess which TCP connection or UDP stream is likely being used as a VPN. When they think there is a high probability a VPN is detected, they simply start dropping all the packets. Encryption is not enough. You need to disguise your VPN traffic to make it look like standard HTTPS sessions (since they don’t block HTTPS). For example in a traditional HTTPS session, if the client browser downloads, say, a 500kB image over HTTPS, it will send periodical empty TCP ACK packets as it receives the data. But when using a VPN that encrypts data at the IP layer, these empty ACK packets will be encrypted, so The Great Firewall will see the client sending small ~80-120 bytes encrypted packets, and will count this as one more sign that this might be a VPN. That’s why people in China have to use VPN tools that most westerners have never heard of: obfsproxy, ShadowVPN, SoftEther, gohop, etc. All these tools try to obfuscate and hide VPNs. I have a lot of respect for all these Chinese hackers like clowwindy who try to escape censorship, as it takes more technical prowess than you think to design a VPN that works in China.

Ex Machina, the greatest motion picture ever produced revolving around the themes of artificial intelligence and human psychology, and one of the very few movies that I actually enjoyed, was just a few buttons away, in the Plex collection of a friend whom I currently stay with.

This afternoon while I was eating my cereal I turned on the LCD and let the movie played in the background as I sat lazily on the canapé, enjoying my breakfast in the most leisurely manner possible. It then suddenly hit me that the plot certainly felt as if it was progressing faster than it felt the first time I watched the movie.

In the blink of an eye the story was already in stage X, that was how it felt like.

Further introspection suggested that this phenomenon is not limited to just movies, but that there is clearly a discrepancy between our awareness about the flow of time when we re-watched a video for the second time, and that of when we watched it for the first time.

In June I started the Daily Logs of Arch’s in hopes that I’d be disciplined enough to write on a daily basis. A few days after its inception I took a long break from it and eventually decided to abandon the whole idea. Surely taking blogging as a hobby and putting down words every day sounds wondrous. But from experience I’m aware that I’m far from being a good writer. I struggle to write. Often, after I have something written, it would have to be edited myriad times before I consider it presentable. If life is an optimization problem and finding a solution constitutes of how one lives her or his life, let my life be an instance of it, and an efficient algorithm to an optimal solution in this case certainly would not consist of attempting to master the art of writing. I’d be better off trying to become a mathematician cum computer scientist (which is what I’m pursuing at the moment) since I am the type of anthropic machines that are good at deconstructing thoughts but can hardly remember anything which I have little interest in, and despite the sometimes confusing terminology and not-so-reader-friendly texts that I’ve now and then encountered, I’m glad that CS and maths are becoming an enormous part of my daily life.

… and this looked like a great environment to code in (I enabled vintage mode too so there are vim magic in it ;3 ) until I learnt that sometimes the text editor would revert some file back to its state x hours ago with no reason at all.

It is a nightmare. (Imagine happily committing your code only to learn all that you’ve written & tested no longer exist in the current dimensions in space-time.)

I still don’t have a clue what is the cause. (I only have a few plug-ins installed. I don’t think the plug-ins have to do with it.) But it has happened quite a few times and I have had my losses. Until I figure out what’s causing the strange phenomenon and get it fixed, I need to start taking precaution.

Here is a simple system that uses watch with the help of git to make backup of every single file in a directory every 90 seconds:

DancePrince.com is now live


About two years ago I promised a friend that I would handcraft a WordPress theme for him as a birthday present. And by that I meant building everything from the ground up - from designing the GUI to implementing the back-end - and relying on libraries & frameworks as little as possible. Theoretically there is nothing wrong with such a beautiful plan that demonstrates the principle of self-reliance and opens up one’s mind to learn that practically that was the dumbest thing to do. Especially true for someone who often overestimates what she or he is capable of.

Eventually I did not feel like working on this project anymore and had it shelved. However, the promise remained a kind of parasite that lived in my mind and grew over time, as I became more conscious about its existence.

Initially I just wanted to write about propositional, first-order and second-order logics and make it a short article like the one on Jekyll. But then I got greedy. I want to dive in deeper. And not only that but I want to write about constructive logic, and outline its difference from classical logic. There are so much more on logic that I want to write about.

And that means there are a lot of undergrad & grad texts reading to do.

[Added on Jun 30]: Daily Logs of Arch’s has been resumed! But I’m still working on the article.

These were some stuff I wrote roughly two years ago. At that time I was still a kid (and an overly confident one, just like any other optimistic self-assured adolescents who have not seen the world or experienced anything outside of their comfort zone to realize how unrealistic the assumptions about reality many of their beliefs are based on), preparing for his univ applications. A lot has changed since then.

One thing is that I no longer write in that manner, or at least that is what I incline to think.

They are now available here, but mind you, they are pretty badly written. As a redditor with 7k karma would put it, “This guy is an intolerably bad writer, narcissistic and sophomoric and lacking real insights.”. (And I agree.)

Updated on 17th June 2015

When it comes to evolution, it really boils down to two things: not getting killed and creating as many copies of yourself as possible before you are dead. Human may turn out to be among the most intelligent species the process of evolution can produce. That is not to say that intelligent forms more intelligent than us can’t exist in this universe. To illustrate what I mean, suppose we are capable of simulating the universe, it is likely that no matter how many times we run the simulation, organisms with the level of intelligence as humans are the naturally evolved beings with the highest level of intelligence that we can find on every planet with the right conditions to sustain life in each simulation.

Here we define intelligence in terms of the cardinality of the set of problems a certain agent can interpret and devise an algorithm to solve efficiently. An agent, A, is say to have a higher level of intelligence than another agent, B, only and only if the cardinality of A’s solvable problems is larger than that of B’s. This can be seen as a rather lazy approach of defining intelligence, but it outlines the idea of capability which is consistent with our intuitive understanding of intelligence on the level of species (e.g. humans have a higher level of intelligence comparing to chimpanzees as humans are more capable problems-solving-wise) and that is all it matters in this theoretical discussion.

Phonies. The human species is full of them. I don’t hate or abhor them really. I just feel sorry for them that they have to put up with their own bullshit and live such hollow existence. They can be pretty amusing too sometimes.

A couple of weeks ago I stumbled upon the Wikipedia entry of Manahel Thabet (which has now been deleted, though you can still find a 2012 version of it in the Internet Archive, or view a more recent cache of it on WikiWand ). Basically, it was a poorly-written essay on the glorious achievements of a woman who was allegedly an economist, a scientist, and a consultant all together with Ph.Ds in both financial engineering and “quantum mathematics”. The achievements include having successfully predicted the 2008 financial crisis (she was quoted as saying “my formula cannot be wrong”) and, more recently, having developed a formula to “measure distances in space in the absence of light” which had supposedly taken the world by storm. All claims made in the Wikipedia entry were supported by either news articles from questionable sources such as gulfnews.com, arabianbusiness.com, and even Forbes Middle East (I’m not joking. Apparently, it is bribable.) or crappy websites like World Genius Directory, iqsociety.org and kauzala.com.

To truly understand the nature of a particular human concept, it is often useful to first take a look into the etymologies of the words that are used to convey the concept.

Among the most interesting human concepts is the concept of understanding.

The idea that standing in some position enables one to know some object better was, apparently, the inspiration for many words in the Indo-European languages with meaning related to “understanding, getting to know something”. That includes the Old English words forstandan (which eventually evolved into forstå [Danish and Norwegian], förstå [Swedish] , verstehen [German], verstaan [Dutch], etc.) and understandan (that evolved into the English word understand).

The Observer Paradox


Imagine you are dead, in which case the biological machinery that you once relied so much on is no longer functioning. Due to the conversation of energy and mass, the atoms made up this biological system won’t just miraculously vanish. Theses atoms would remain pretty much the same, unless nuclear reaction or annihilation occurs (though there’d be changes in the configuration of electrons in the process of decomposition). At this point in time, it would be silly to still consider these atoms “you”.

But what are actually “you”? How should “you” be defined?

To people around you, you are a concept they conceived in their mind based on their interaction with the being labeled “you”, and the information they have about this being. To them, you are a construct of their own ideology. This version of you sometimes reflects the rose colored lenses through which they perceive the world a lot more than how it would reflect anything about the being labeled “you”.

To yourself, on the other hand, you are what that constitutes the idea of self. Apparently you possess a body, but the body is not what you identify you with when you think about you at a deeper level. You may incline to think that you are what that controls the body, makes decision, etc, that is, the conscious mind. But let’s for a moment remember that the brain is responsible for the construction of thoughts and it governs how the mind processes, similar to how the computation performed by a Turing machine is governed by its transition function in relation to its states. So a question arises:

What determines you to be the mind A that's constructed by brain A, instead of the mind B constructed by brain B, where A ≠ B?

I shall now present to you the Theory of The Observer.

When I was young, I considered a career as a magician (a close-up magican to be specific). Not that I was into the show business or I had a desire to amaze crowds. What drove me to study the art of illusion and learn and practice tricks and techniques each day - from various types of doubt lift to different variants of pass - is the obsession to understand how things work, and the pride in being able use this knowledge to make things happen.

I started off learning programming by doing web development, or basically just asking stupid questions on StackOverflow and copying and pasting code I found on the Internet in hopes of getting a website to work the way I wanted. To a 16 years old who did not even know what OO is, jQuery was magic. I had not one iota of idea what was going on but I was able to make DOM objects dance around at my whim because of how easy-to-use jQuery was (and it was the same on the server side with Cake). It scared me when I realized that. So at one point I started learning the fundamentals of programming, principles in web development, what are the pros and cons of different design patterns, etc. and developing a habit of reading the source code of tools I used. (Viva la open-source!)