Category: Machine Learning

eternity.py: what it is and how it happened

Writing has been a passion for me ever since I started reading the short stories that I found in my father’s library in our basement. At that time I was supposed to put in everything in my disposal towards landing on one of the sought after seats of one of the “Ivy League” universities in Tehran. With a maximum of four universities on the roster, each admitting a few thousand fresh students and about a million students competing for the prize, this was not a task to be taken lightly. That is how it started: I would read and reread my high school books for hour after hour. In between that activity I would indulge myself in our garden or spend some time with a book.

I had been sent to a room in the basement so that I was safe from the daily deluge of the main floor, where my smaller sisters would be living their usual lives that included the TV and other sources of distraction. In the silence of the basement I did take the mission seriously, and yet, at the same time, I developed a love affair with the written word. Coincidentally, the room that I was dispatched to also contained my father’s collection of leftist books and contemporary short stories in Farsi.

The plan worked. I got admitted to a top engineering school in Iran and I packed up and returned to the surface. The books, too, followed me. And they stayed with me until I left Iran thirteen years ago.

Passion towards the act of writing is a curious business for an immigrant, whose communication skills are one of the first casualties in the new home.  How could I write when the mechanism for writing was alien to me? I did insists, though. First, writing in Farsi for a long while at Persian Kamangir. That effort was interjected by attempts at writing in English, a project that reincarnated itself a number of times before landing here, at English Kamangir. I also did a sizeable amount of “serious” writing, on matters related to data clustering and signal processing and also on Iran’s lively quest for democracy and freedom. Those were both pleasurable experiences, and yet, neither was sustainable. My work on mathematics and machine learning was soon cordoned off from the public through subsequent non-disclosure agreements (NDA) that were a basic requirement for my paycheque.  Around the same time, I started to have misgivings regarding the subliminal function of the Internet in closed societies. Books such as The Net Delusion were a major contributor to the fact that I started to have serious concerns about “The Dark Side of Internet Freedom”. Was the Internet a means of colonialism in the digital age, disguised under the innocuous facade of cute cats and hashtag activism?

There was only one way to know. I had to retreat to the basement and work on it. I enjoyed and cherished working on mathematical problems during the day and writing about them for employers and receiving a properly sized cheque in return. That activity, therefore, was going to persist. I was, on the other hand, going to quit writing about democracy and human right until I had a better understanding of the dynamics of the digital world and its relation with the power dynamics of late capitalism.

The closure of my breathing channels garnered the ideal environment that after a few experiments resulted in eternity.py. eternity.py, as its name implies, is a script written in Python and although I used the Anaconda platform, the story of eternity.py shares nothing with the tale of the large snake in the Amazonian wilderness. Since parting ways with the dying alternative Matlab, I had been using Python on a daily basis, in order to experiment with mathematical concepts and to build machine learning models, amongst other tasks. A sizeable portion of these usages occured in Jupyter Notebook, which is a browser-based platform for combining code that is executed with text that may be read by a flesh machine. Breathing day in and day out in this environment, it is no wonder that I started to write my short pseudo-novel on Jupyter and in Python.

eternity.py is the story of a Python script that starts its execution on the eve of the departure of its author. The script has access to half a million dollars in cash, that it uses to throw parties every year on the same day. The script spends the rest of its time assessing and analyzing the activities of the list of 256 people who have acquired its copies on the social media. At the end of that excruciating period, a subset of the 256 people are considered to be intellectually alive and are invited to the festivity. The details of the implementation of eternity.py that allow it to shoulder this task constitute the bulk of the human-friendly text of the script. The rest of it is the actual implementation of those ideas.

eternity.py is also responsible for maintaining itself. It creates a backup copy of itself every time that it is modified and it publishes its 256 copies. And that is a unique feature to that script; there can only exist 256 copies of eternity.py and these copies are all created by the script itself. Practically speaking, after the script executed, I was left with 256 html files that I had to print on an Epson LX-350 impact printer that I had acquired for the purpose of printing the copies of the script. I had also sourced continuous paper, that I purchased as heavy boxes, each of which provided the material for about 70 copies. I also purchased black printer ribbons that I could use for printing 20 copies until the ink faded. I would then roll the copies and send them to the individuals who acquired them on the social media or through Amazon. Here is a snapshot of the list of files that were created.

Each one of these unique files contains an engraved ID and looks like below. Click on the image to enlarge.

At the time of writing of this text, 91 copies of eternity.py have been acquired. From these, 59 copies have been shipped and 52 copies have been delivered. Except for Africa, eternity.py has arrived in every other continent, in total to 12 countries. Click on the image to enlarge or visit the flattened map here.

A lot more could be said about eternity.py. Some of it is documented in the @Kamangir channel on Telegram. Instead of dwelling on this completed work, however, I will be spending my time on a second project that is still in its infancy. wish.mp3 will be a larger text, to be printed both in the conventional book format as well as the limited script style. It contains 1+11+1 chapters with the middle chapters acting as semi-independent narratives. The book utilizes an elevated regime of automation, with a separate Python script providing the back-end. While eternity.py resided on a linear scale of 0..256, wish.mp3 takes the readers to a three-dimensional space that utilizes encryption in order to protect the script IDs.

I will be posting additional information on wish.mp3 on its tracker and also in @Kamangir.

High Correlation: Or why you should not pay for marijuana using your credit card


You have spent the past 15 minutes in the back room of Café 66 on Fort York Boulevard in Toronto in utter fascination, staring at jar after jar of the green substance ever so beautifully packaged and presented on the shop shelves. You are now informed by the hip, young man behind the counter that “the seventh gram is on the house.” Indeed, this shop, at least on the surface, does not appear categorically different from any other shop wherein goods are exchanged for money. And that is how you might treat the upscale marijuana dispensary south of Toronto—like any other establishment. If you pay for your weed using your credit card, however, you have committed the most dreadful carelessness of the age of Machine Learning: you have provided the machine with a “link.”

A very good friend of mine took me on a tour of the “café”, and as she spoke at length with the shopkeepers about the properties of the high caused by different strains of weed, I tried to grasp the true nature of the place I was in. The roof was covered with closed-circuit cameras. Above the only door to the room with the product was a monitor showing the video feed of the camera installed just outside the room. Soon I also noticed the weak sound of a buzzer and realized why we had to ring in and wait for the mechanical click of the door lock.

My friend received a pitch–black, childproof bag, inside which individual pitch–black, childproof bags contained the different strains that she had purchased. She then reached for her purse and paid in cash. I had seen her use her credit card in shadier places. As we left, I could not stop myself from asking her if she was really concerned, for example, that news of her purchase might reach her insurance company. “There are strict privacy laws in this land, you know!” I said. “I would like to believe that you are right,” she replied. “However, that is only the most obvious way that this purchase can cost me dearly.” She then continued, under her breath, “and probably the most benign.”

Imagine a list of a few hundred million people, and imagine that linkage has been made between the credit card purchases of everyone on the list and the “unfortunate events” that have afflicted those individuals. An “unfortunate event,” in this context, can refer to anything from being involved in a car accident, to declaring bankruptcy, to getting a divorce. Now, imagine that privacy measures have been taken into account and that purchases are anonymized. In other words, given any individual of interest, one can only know that this individual spends her money on products and services offered by businesses A, B, and C; one does not know what line of business these establishments are in. For example, A might correspond to Café 66, B might correspond to Istanbul Café, and C might correspond to the gas station at the corner of Dundas and Church. So, any customer of Café 66 who has used her credit card in that premises would be linked with business A; however, no one knows what business A actually represents. Can this situation be considered “hazardous”?

Let’s assume that marijuana usage is correlated with risk-taking. If that is, in fact, the case, it is possible to imagine that the rate of occurrence of “unfortunate events” is significantly higher within the customer base of Café 66. This is where the link between Jane Doe and A becomes valuable to the machine for deriving an inference: because “unfortunate events” are assumed to be more likely between individuals linked with A, and although every other piece of information indicates that Jane Doe is a good driver, a careful spender, and in a happy relationship, for example, Jane’s link with A points to a heightened probability of future trouble. Therefore, Jane Doe is to be handled cautiously. When she applies for a mortgage, she is considered a higher-risk individual, and her insurance premium may rise ever so slightly.

The scenario depicted above is not the worst case, however. The situation becomes more concerning when the more cautious of the risk-takers start taking notice of the activities of the silent silicon surveyors and change their payment method in Café 66 and similar establishments. Such an imaginable and, frankly, optimal strategy will then strengthen the significance of a link with A. In other words, those linked with A are the ultimate risk-takers; they are the ones who take more brazen risks. And so increases the penalty of the mistake of paying at Café 66 with your credit card.

During his stay in Zion, Neo went on a midnight stroll with Councillor Hamann. While observing the marvelous machinery of the Engineering Level, Hamann queried Neo on his understanding of the concept of “control.” Hamann had trouble accepting the fact that life in Zion was only possible because machines tended to the needs of the occupants of the last human city on planet Earth. To him, it was only ironic that other machines were digging in in order to destroy the underground covenant. In response, Neo opined that one controls an entity only as long as one can turn that entity off.

The time for turning Machine Learning off has long passed, and the justification for doing so is even more distant. The situation is, in fact, even more ironic than Matrix Reloaded. One may argue that, today, one needs to start thinking the way the machine does in order to survive. And this, ironically, completes the circle. Humankind aspired to replicate its own cognitive abilities in order to delegate menial tasks to its creation. It now appears, however, that man is forced to adopt the machine’s way of “thinking” in order to survive the reign of its own creation.

Acknowledgment: This text has been proofread by A. I wish to thank her.