If you like this site, I would appreciate a gift from my wishlist.
Shlomi Fish at Cortext: HTML, UNIX and Perl - oh my!
Table of Contents
Document Information
How I started Working for Cortext
One qualm I had about working at Elpas was that my pay was very low. At first I received minimum wage (which in Israel is even lower than in Europe or in the United States), and later it was raised a bit. However, my friend told me on a phone talk with him that programmers earned much more, because there was a genuine lack of them. He later on introduced me to Ran Eilam who was about to found Cortext.
Ran had long hair with huge strands (he still does), and he sat next to a Silicon Graphics Instruments (SGI) Indy computer, that ran IRIX (a flavour of Unix that ran on SGI computers), and he was busy editing some code. We started talking. I already knew about Berkeley sockets, from my then work, where I started working on TCP/IP. Ran said one can write a Berkeley sockets client in Perl in 10 lines and a Berkeley socket’s server in 20 lines. This sounded very impressive to me. As I looked at the Perl code he wrote, I could not understand it.
Ran accepted me to the job, and said I could start working in a few weeks, when they moved to their office in Southern-Middle Tel Aviv (Near Migdal Shalom, in Herzl street). Ran said “It takes 10 years to learn UNIX - I want you to learn it in a month”. So I set out to learn both UNIX and Perl.
Preparations
Ran instructed me to buy a Linux CD-ROM and play it, and I went to a computer store down town and bought a CD. I partitioned our 800 MB drive using the given DOS utility and installed the Slackware of that time (1996) on the freed 200 MB. Retrospectively, I can say it had a lot of junk on it, and since my computer had a relatively small amount of memory - 8 MB, it quite crawled, and more so when I started the X Window System.
It still came with version 4 of the perl interprter, not version 5, which was what I needed. Also since my primary system was a Windows 3.11, I had to download a suitable Perl for it and for DOS could also only find perl 4. I started reading about Perl from a monolithic PDF that contained what was then known as “the perl man pages” and now also known as perl*.pod or the perldocs. This was a long and exhausting read, and, since they referred to many UNIX idioms that I were not familiar with, I didn’t fully understand them. And I believe that if I hadn’t had a lot of programming and computing background back then, and general good intuition, I would have had a much harder time.
I had to practically work “on dry”, because I only had perl 4 at home. I also started experimnting more with UNIX. I experimented previously with UNIX on my ISP’s servers, and at Elpas. As it turned out, I didn’t learn UNIX to a level that my boss could have hoped I would learn in a month (or in 10 years), but it turned out to be enough to be productive there.
The Story of The Enemy
My work at Cortext proved to be a catalyst for my writing of the story The Enemy and How I Helped to Fight it. I’ve told the more complete story here, but I’d like to tell it from a more Cortext-oriented perspective. Before going to Cortext, I had spent some time reading the Neo-Tech book my father had bought when I was in the 9th grade. Neo-Tech is highly enlightening, but very easy to misunderstand at first and I misunderstood it to a large extent back when I still worked for Elpas, but it started sinking in at Cortext. While Neo-Tech is technically primarily based on Ayn Rand’s Objectivism, but takes a different approach in conveying it, and deviates on many points.
When I was in Cortext, I also read some introductory pages about the original philosophy of Ayn Rand herself, which I also found enlightening (that was a long time before the Wikipedia really took off and even Google did not exist yet, which made research back then more difficult). Moreover, my boss, Ran, referred me to the story The Bastard Operator From Hell which I read (originally as a giant MS Word document) and loved. It proved to be the main literary inspiration for my The Enemy story, with some secondary previous inspiration from Kafka’s The Metamorposis which I had to read and learn in high-school.
I originally got the idea for my story during a trip my family took to Britain. I told my father about it, and he said it was a good idea, but I still kept planning it. From some reason, I was so excited (I had an Hypomania - a state below mania), and eventually could not function very well. I was so glad to be at home next to the computer and started writing the story on my home computer - using the Windows MS Write / MS WordPad program, if I remember correctly.
After I had most of the story written, I printed it, and took the printed sheets to my friend who said it was funny but not overly so. I immediately understood why he thought so, but it took me a long time to revamp it, and then several months later in the Israeli winter (when I no longer worked for Cortext), I wrote the first part of the story in a large notebook I had, and when I read it to this friend and his younger brother (whom I was also friends with), they gave a pretty good review and it served as the basis for all further versions of the story.
The Enemy and How I Helped to Fight it proved to be the first really serious story that I wrote, and was followed by other stories and screenplays, which other people seem to have liked, or liked to a large extent. I think it had to do with me reaching a certain kind of personal philosophy that enabled me to be really creative and is actually reflected to a large extent in them.
The Cortext Computers
Cortext was quite an operation. The main computer I worked on was a Pentium I (about 100 MHz - can’t remember the exact number), that first ran Linux and was later converted to a FreeBSD installation. I used it as a UNIX workstation to write code on. Most of the other Cortextuals used the vi editor, but I could not get used to it and so installed Emacs (under /usr/local I think) and tried to learn it. I didn’t get too far (and until this day could never really get used to Emacs). However, I ended up watching a different Cortext worker use an editor which he said was called “joe” (Joe’s Own Editor) and after installing it was able to become accustomed to it, and had been using it for a long time since as my default terminal editor.
At Cortext, we consistently used the tcsh shell, but back then I didn’t notice a lot of difference between it and GNU Bash that I had at home on my Linux system, despite the fact that they are radically different (I now wouldn’t recommend tcsh for any use).