If you like this site, I would appreciate a gift from my wishlist.

Shlomi Fish’s Homepage

About this Site

This is the personal site of Shlomi Fish. I am an Israeli software developer, and writer of stories, articles, essays and presentations.

You can explore the site using the navigation bar to the left. Alternatively, you can traverse it page-by-page using the arrows at the top. There’s also a news feed for what is new on the site, which is updated periodically.

Here are some of the things you can find here:

Humour

I enjoy writing large-scope humorous stories (novellas). My first and favourite one was The Enemy and How I Helped to Fight It, which is a political satire, inspired by mid-eastern politics, but with a more universal message. I also wrote The One with the Fountainhead, which is my funniest piece yet, and The Human Hacking Field Guide, which is a not-so-realistic realism about teenagers who are open-source enthusiasts, but with many jokes.

I have some other unfinished stories.

I have also written many shorter bits and maintain a large collection of fortune cookies by myself and others.

Articles and Essays

I am a Jew and an Israeli by nationality, an atheist by faith, and a “Neo-Tech” Objectivist by ideology. (Objectivism does not imply selfishness, by the way, but rather rational self-growth.) My expertise as a software developer (in many fields), and my interest in philosophy, history, software management, and other fields also provide fodder for my essays and articles.

Open Source Software

Links to software I wrote, and some resources with links to other software. Knock yourself out!

Presentations

I prepared several technical presentations. Especially recommended is the Perl for Newbies series introducing the Perl programming language to absolute beginners.

Puzzles and Riddles

I maintain some pages with Mathematical problems, with Logic puzzles and with other riddles. Some of these pages require a MathML-enabled browser.

Computer Art

You can find my lame attempts for art which I prepared, in the art section which includes graphic designs, photographs, and one piece of music.

There are many links on the site, but I also concentrated many of them in one place. Who doesn’t like links?

Enjoy!

I hope you enjoy my web-site. If you do, please link here or recommend it to your friends.

News

14-Jun-2012: New and Updated Material on My Homepage

Here are the recent updates for Shlomi Fish’s Homepage. There are quite a few changes this time.

The humorous document “It’s not a Fooware - it’s an Operating System.”, mostly written by me, was restored from the perl.net.au wiki which is currently down:

Lots of people heard Emacs haters complain that “Emacs is not an editor - it’s an operating system” or something along these lines. So here we're trying to concentrate other such programs that are no longer limited only to their original purpose, but rather expanded to cover lots of other stuff. So you'll know that Emacs is not alone.

I also added a a new aphorism:

We agree. But do we agree to agree?

There are some new Factoids:

If the mountain will not come to Muhammad, then Muhammad will go to the mountain. If the mountain will not come to Chuck Norris, then the mountain will suffer Norris’s wrath for not complying with his whims.

And there are also some new fortune cookies:

  • Su-Shee: SO I TURNED TO YOU FOR HELP IN TIMES OF DESPERATION…
  • Botje: desperation is for wimps
  • anno: prosperation?
  • Altreus: deprecation is an outdated concept and we prefer not to do it
  • Su-Shee: let’s deprecate deprecation.
  • alpha--: agreed.
  • alpha--: oh wait.
  • Su-Shee: that would be a deprecation
  • rindolf: Who will watch the watcher?
  • rindolf: Who will deprecate deprecation?
  • Su-Shee: shouldn’t someone deprecate the deprecator in that case?
  • * rindolf deprecates the deprecator who is deprecating deprecation.
  • Altreus: that's OK, it's not deprecated yet

I found many typos in the fifth part of the Perl for Perl Newbies series before and during giving the talk at the Tel Aviv Perl Mongers and also prepared some notes for it in Hebrew (which can be found in the series’s front page).

The Transcript of the Perlcast interview with Tom Limoncelli, about his book Time Management for System Administrators has been restored from the currently offline perl.net.au wiki:

Josh: Getting back to where we had started on that planning your day at the beginning of the day, before you check your email. You claim there, that whenever you're prioritising your activities, you really only need three categories and not, you know, a top-ten list, or anything like that. Could you explain that a little?

Tom Limoncelli: that comes from the fact that I used to try to really be specific about the priorities of my action items. So I put something in my to-do-list, and I'd say well, you know I'm ranking their importance from 0 is not important, and a 100 is the world is going to explode if I don't do it right now. And I spent so much time calculating "Wow, is this more like a 63 or a 67, is it a 67? Wow!". And I just spent so much time trying to get an exact priority. In some cases, the task would have been done already. You know I've spent too much time prioritising.

I'm not sure where I picked this up, but someone recommended three priorities: A - it's due today; B - it's important; and C - everything else. Generally, if it's a day where I have any A's at all - that's all I'll be working on. And the way projects go, I'm generally working on that for the whole day. So that's sort of the exception. Most of the time I'm working on B's, which are things that are important, and C's are sort of those would-be-nice-kind-of-things.

And the nice thing about breaking it into this a simple A, B, C priority scheme is that first of all, you're spending less time picking your priority. And secondly, when you're planning your day, in that 5-minute planning period, you can look at your tasks and say "You know, I wanna work 8 hours today, I have one hour of meetings, so I'm down to 7 hours", and then you can look at your tasks and say "Is this more than 7 hours worth of work?". Because it's written, I can start actually doing this kind of planning, and say "That's more like 14 hours worth of work, so those C priorities and B priorities - I'm gonna move them to the next day's to-do-list." Or maybe, OK, I have time for my A's and my B's and the C's get moved.

The third version of my essay, “The Case for Drug Legalisation”, is now live, with several major improvements. They are in large part, thanks to someone who commented on my essay, and allowed me to use their text, and who chose to remain anonymous.

I have set up project pages for MikMod, a module files player, which I now maintain, and for Website META Language, a sophisticated HTML preprocessor, which I have also been maintaining and recently released its 2.2.0 version.

Also in the software section is a How to Contribute to my Projects sub-section with a concentrated and ongoing “HACKING” document.

And, naturally, there are also many smaller enhancements, such as new links, fixes for broken links, new <meta name="description" /> tags, and corrections of typos. I’ve also moved the site’s version control repository from a Subversion repository that required a username and password to access to a publicly-accessible Mercurial repository. More details can be found on the Site's Source Code page.

See comments and comment on this.

19-Feb-2012: Fifth Part of Perl for Perl Newbies and New Humour Items

Here are the recent updates for Shlomi Fish’s Homepage. I know I have not posted an update to this blog in a while, and in part it’s due to the fact that I have not done as much work on the site as I have before the previous update. But there is still some new things to look forward to.

There are some new items on the original aphorisms page:

Sophie: I’m hungry today.
Jack: well, wait until tomorrow - maybe this feeling will pass.

I’m now mirroring the “English is a Crazy Language” bit I found somewhere.

The fifth installment in the Perl for Perl Newbies series of presentations is now available online. This part covers good programming practices such as using a version control system, writing automated tests, and using accessors for objects. As with the previous parts, this talk is licensed under the Public Domain/CC-Zero.

There are new factoids in the factoids collection:

Larry Wall can make shit up, and the computer will understand what he means.

There are also many new UNIX-like fortune cookies:

  • buu: PKRUMINS
  • rindolf: pKrumins
  • pkrumins: BYY
  • rindolf: pkrumins: BUU
  • rindolf: pkrumins: buu is back.
  • pkrumins: rindolf: i know
  • rindolf: pkrumins: he said he was close to disappearing.
  • pkrumins: WHAT
  • pkrumins: buu, is that true
  • rindolf: pkrumins: he was sick.
  • pkrumins: HE WASNT
  • buu: =[
  • buu: I was
  • pkrumins: HOW
  • buu: Genetic defects!
  • pkrumins: OH NO
  • pkrumins: OH NO NO NO
  • mauke: substance abuuse
  • buu: Owch
  • buu: That joke almost qualifies as abuse
  • mauke: now that I've hurt mst and buu, my work for today is done
  • pkrumins: you still havent hurt me
  • rindolf: mauke: hold on! You haven't hurt me yet.
  • buu: haha
  • * rindolf is hurt that mauke didn't hurt him.
  • rindolf: Oh wait.
  • mauke: just as keikaku.
  • rindolf: mauke: OK, now your work for today is done.
  • pkrumins: NO

I have added a review of Kent Beck’s Test Driven Development: By Example to the recommended books page.

The ABC Path game's generator module is now being mentioned in the Games ABC Path page, and the solver and generator were also ported to JavaScript.

More prominent editors and IDEs were added to the editors and IDEs page.

And as usual, there are many additional links on various pages of the site.

See comments and comment on this.

23-Jul-2011: New Translations of Stories

Here are the recent updates for Shlomi Fish’s Homepage. The first highlight is that I’ve gone over the site and converted most ASCII single quotes and double quotes I could find to their Unicode equivalents. In the process, I corrected many typos, XHTML validation problems, and other issues.

There are new fortune cookies:

The worst way to waste your time is to never waste it.

There’s a translation of the of Human Hacking Field Guide to Written Arabic. This was done by Vieq - thanks!

The Hebrew translation of the screenplay Humanity - the Movie is now complete.

Furthermore, the XML-Grammar-Fiction page was enhanced with examples and links.

There’s a new Test.pm to Test::More partial converter, which may be of interest to programmers maintaining legacy Perl code.

See comments and comment on this.

27-May-2011: Translations of Stories to Hebrew (For the Alternative Book Week)

Here are the recent updates for Shlomi Fish’s Homepage. Most of these are ongoing translations of various English stories to Hebrew. These were done in preparation for the “Alternative Book Week” in Tel Aviv University (see its Facebook page). It is going to take place on Tuesday, 31 May 2011 between 09:30 and 16:30 in Tel Aviv University, next to the Gilman building, the department of Humanities. Several indepentant writers are going to read from their prose there, including me. You are welcome to attend, listen to the participating writers, and provide us with welcome support and input. Hope to see you there!

There’s a new joke in the aphorisms and quotes page:

In Soviet Russia, cats own you. No, wait! Cats own you everywhere.

I posted the first part of my Selena Mandrake - The Slayer screenplay to its place in FanFiction.net where one can rate it and post comments. There is some new text in the ideas for the future document.

I started preparing a Hebrew translation of my Humanity - The Movie screenplay.

There are two new fortunes in fortune collection.

We now mirror the web parody “Uncomfortable Questions: Was the Death Star Attack an Inside Job?” (via Websurdity and Debunking 911).

The various screenplays in English in the stories section now have better capitalisation, punctuation and grammar, and their visual style was also improved. There are also many grammatical corrections to the story The Human Hacking Field Guide and a lot of progress was made in its Hebrew translation.

The XML-Grammar-Fiction page now contains coverage of Screenplay-Text and Screenplay-XML, as well as examples for the grammars and their outputs.

Enjoy!

See comments and comment on this.

13-May-2011: “Selena Mandrake” and Improvements to Other Stories

Here is what’s new on Shlomi Fish’s Homepage since the last update. It’s been a month and there are many major changes.

A new work-in-progress screenplay titled Selena Mandrake - The Slayer can be found in the stories section. This is a supernatural dramedie, that is a parody/tribute/spin-off of Buffy the Vampire Slayer and some other works of fiction and non-fiction. I have a pretty good roadmap for what I’d like to write there so I hope to get the first draft soon.

Selena: This reminds me. I really should update my Mandriva system at home. I have not in several days, now. And to think I originally had my friend Aaron install Mandrake Linux for me, because I thought it was cool that it was called the same as my last name.

Jessica: Heh, maybe you should become Selena Mandriva now.

Jonathan: Or Selena Mageia.

[ Selena bursts out laughing. ]

Selena: That sounds like a name of a vampire slayer… or a vampire.

Jonathan: Or both.

Selena: Yeah. I told you about how I was nicknamed “Puffy” and then “Buffy” during one summer camp, right?

Jessica: Yes, many times.

Selena: Yeah, I found it amusing at the time. For a while afterwards, I insisted that my friends call me “Buffy” until I realised it was silly, and reverted back to “Selena”.

I’ve also began translating the second version of my novella The Human Hacking Field Guide to Hebrew. One can find the ongoing Hebrew translation and its Fiction-Text source, under CC-by-sa - same licence as the English original. In addition, I can say that the story is being translated to Modern Standard Arabic in the OpenDocument format by an Egyptian enthusiast of open-source software, and more translations will be welcome.

In addition to all that, version 7 of my novella The Enemy and How I Helped to Fight It, in Hebrew and English, with many improvements is now available online. I especially would like to thank Miriam Erez Translations for providing some copy-editing work.

Moreover, I explicitly marked many of the the works of fiction on the site, the essays, and the software resources with a Creative Commons licence. Share and enjoy!

There are some style tweaks, I’ve documented the use of the EvilPHish emblem, and there are some new fortune cookies:

  • rindolf: Mithaldu: I think most contemporary T.V. kinda sucks.
  • rindolf: Mithaldu: it seems very phony.
  • Mithaldu: rindolf: same, i haven’t actually switched on my tv in five years
  • rindolf: I prefer a YouTube video of a kitten riding on a turtle.
  • rindolf: Mithaldu: :-)
  • Mithaldu: :D
  • rindolf: Mithaldu: yes.
  • rindolf: Mithaldu: there is one, BTW.
  • Mithaldu: oh i do not doubt that
  • rindolf: Don’t know if it’s authentic.
  • rindolf: I saw a friendly cat today, and he purred after I scratched his head.
  • rindolf: I like Friendly cats.
  • rindolf: I think lolcats are very subversive.
  • rindolf: Or were.
  • rindolf: “Ceiling cat is watching you”
  • Mithaldu: cats are the definition of subversive
  • Mithaldu: they adopt you
  • rindolf: Mithaldu: heh.
  • rindolf: In Soviet Russia, cats own you!
  • rindolf: In Soviet Russia, cats are your master!
  • rindolf: Well, in Soviet Russia and everywhere.
  • kent\n: rindolf: you got it backwards.
  • kent\n: In soviet russia, cats are actually your pets.
  • Mithaldu: hahaha
  • rindolf: kent\n: heh.
  • rindolf: kent\n++
  • rindolf: I feel better now.
  • rindolf: Empowered but calm.
  • rindolf: Thanks to the cats jokes.
  • Mithaldu: world healing by cat jokes
  • rindolf: Hopefully, I’ll sleep well tonight.
  • kent\n: Next on the agenda. DICK JOKES!
  • rindolf: Mithaldu: cats are good for healing I think.
  • rindolf: kent\n: NO!!!!!
  • kent\n: ( don’t worry, this won’t take long )
  • Mithaldu: yes, as long as you do not own cables
  • Mithaldu: kent\n: you mean it won’t BE very long
  • Mithaldu: hurr hurr
  • rindolf: kent\n: I’ve got 99 problems but kent\n ain’t one.
  • kent\n: ;)

Hope you enjoy the new stuff on the site and stay tuned for more.

See comments and comment on this.

05-Apr-2011: New and Improved Stories, Screenplays, Aphorisms and Bits

Here are the recent updates to Shlomi Fish’s Homepage since the last update. A long time has passed and there are many big and small changes, and I hope this summary will compensate for it.

There are new English and Hebrew versions of my story, The Enemy and How I Helped to Fight it, and some text was added to the front page. An even better version is currently being worked on in the Mercurial repository of the story.

There’s new text in the screenplay Star Trek: “We, the Living Dead”, in both parts of “The One with the Fountainhead” and in the Hebrew story “The Pope died on Sunday”:

[ Cut. End Credits. Phoebe is sitting on the coach reading the Fountainhead. ]

Phoebe: wow, I forgot how great the Fountainhead was. So what did Rand do afterwards?

Ross: well, she wrote the screenplay for the movie adaptation of the Book that starred Gary Copper…

Phoebe: oooh, yummy…

Ross: yes, well, and then she worked on Atlas Shrugged.

Phoebe: [in a lyrical fashion] “Atlas shrugged from side to side. ‘Alas, my end is near!’ the lady cried.”

Monica: ehmm… Pheebs? That’s “The mirror crack’d from side to side”.

Phoebe: oh! Ayn Rand wrote “The Mirror Crack’d” too?

Ross: no, Phoebe. That was Agatha Christie.

Phoebe: Oh! Everybody knows that Ayn Rand wrote all of Agatha Christie’s stories.

Chandler: [tongue-in-cheek]I can totally believe that, Pheebs.

After an almost complete lack of inspiration since its inception, there are now new Larry Wall Factoids:

Larry Wall does know all of Perl. However, he pretends to be wrong or misinformed, so people will think he’s not as awesome as he really is.

And as usual, there are also some new Chuck Norris Facts:

Chuck Norris once wrote a 10 million lines C++ program in Microsoft Notepad without having to use the backspace key. And it compiled without errors or warnings, and was 100% bug-free.

There’s now a script for displaying an individual quote of the UNIX-like fortune cookies with a random feature.

Speaking of fortune cookies, there are some new fortune cookies, and many of them have fixed typos:

Real programmers use a nice editor and a nice programming language and get it done in less than O(N!).

(Vanguard in Freenode’s ##programming)

Some of the aphorisms now have Hebrew translations:

אלהים נתן לנו שתי עיניים ועשר אצבעות, כדי שנקליד פי חמש יותר ממה שאנו קוראים.

Likewise, there’s now a hebrew translation of “Ways to do it according to the programming languages of the world”:

  • Perl - יש יותר מדרך אחת לעשות זאת.
  • C++‎ - ישנן חמש דרכים לעשות זאת. שלוש מתוכן לא אמורות לעבוד.
  • Visual Basic - הדרך היחידה לעשות זאת היא להשתמש ברכיב צד שלישי.
  • ANSI C - יש, בדרך כלל, דרך אחת לעשות זאת, אבל יש יותר מדרך אחת לבצע אופטימיזציה.
  • Java - יש בקושי דרך אחת לעשות זאת. (אבל בניגוד ל-C++‎, היא בטוח תעבוד.)
  • Python - יש דרך אחת לעשות זאת. הדרך האחת האמיתית לעשות זאת. וישנן גם דרכים אחרות.

The funny bit “The S Stands for Simple” (about SOAP) is now mirrored on the site. I have also placed the stories by a writer by the name of Oded C. that he had sent me in the past (in Hebrew) on the site, and converted them to OpenDocument Text and to HTML using OpenOffice.org.

The Copyrights Page now spells out my interpretation of the various Creative Commons licences that I’m using:

The Public Domain / CC-Zero

If the work is marked as public domain, then you can freely redistribute it, modify it or build upon it, even without giving me credit. If you wish you may consider the work as licensed under the MIT/X11 licence, the CC-by licence (see below), or any other licence. What you cannot do is claim that you originated the original version, or sue me for any damages caused by using or misusing the information.

All of that put aside, if you find works under this licence useful, you are encouraged to credit me; share them under similar liberal licences; make a small donation, either in money for me and/or for a good cause, or by buying me interesting books, cool T-shirts, or alternatively audio or video files (only as digital files, for I lack the energy for pesky circular physical media), and naturally by sending me an appreciation note that you enjoyed them or found them of value. But I’m not forcing you to.

I’m using this licence for most of my photos (but not all of them), for some of my presentation material, and for some of my old code, or code that I find useful to dual-licence under it and the MIT/X11 licence.

The solver for the game ABC Path (by Otto Janko) is now available in the software section.

The XML-Grammar-Fiction homepage was improved with new content and some links to the similar efforts of Celtx and AsciiDoc.

There’s a new FAQ about the “EvilPHish” emblem in the top-left corner of this screen.

The technical talk “There are Too Many Ways to Do it” now contains notes in Hebrew which have been prepared in advance when giving it to the Tel Aviv Perl Mongers.

The main navigation menu on the left was revamped and converted to use JavaScript (which is not required to operate it). I’m planning to do further work on tweaking it in the near future. Moreover, there’s now a language switching widget on such pages as the “Ways to do it According to the Programming Languages of the World”.

Finally, I added some description of my psycho-medical condition to my Bio.

Hopefully, you enjoy these changes. More are upcoming.

See comments and comment on this.

06-Jan-2011: Essays about Bipolar Disorder and Open Source, new open source programs, and new humour items

I’m sorry for not updating the site’s news feeds for a long time, and as expected there’s quite a lot new.

There’s a new humorous bit in the Aphorisms collection:

Shlomi’s Father: If you don’t sort the dishwasher, the dishwasher won’t be sorted.

Shlomi: No, it won’t be sorted by me.

Shlomi’s Father: No, it won’t be sorted at all. We will throw away the dishwasher.

Together: Along with all the dishes.

There’s a new Chuck Norris fact:

Chuck Norris can make the statement “This statement is false.” a true one.

There are new fortune cookies.

Due to an incident where one of my domains was blocked by a anti-spam blacklist, we now have an anti-spam Policy

I have a new page about me mentoring others in the world open source and/or open content. Also related is the new page about how to start contributing to open-source software.

I have made my essay titled “Dealing with Hypomanias” live and previously announced it on my non-technical blog. Also see a recent related post on the Just 1 Random Guy comics/blog about his experience as a person with Bipolar disorder.

There’s a a new greasemonkey script for expanding the descriptions of Freshmeat.net.

The Black Hole Solitaire Solver page now includes a description of the tables in the SQLite dump that collected the data from running the solver on the first 1 million deals of PySolFC.

There’s a new solver for Kakuraso which is a puzzle game that can be found on the Brain Bashers site. That solver was written in Python using lp_solve.

Another new project is Module-Format, which is a Perl 5 module to perform bulk operations on the various notations fo Perl modules.

The Linux Kernel “make xconfig” enhancement patch was updated for the newly released 2.6.37 kernel.

There are some new links in the pages against bad software.

I’ve also updated my resumes.

The site’s building instructions were updated but may still be incomplete.

See comments and comment on this.

Old News Items