Older blog entries for shlomif (starting at number 690)

Putting all the Cards on the Table (2013) - 2nd public draft

OK, I am really tired of having truly intellectual people like me “speak in riddles”, so I'll put all the cards I have now on the table. There will likely be more into the future.

My biggest mistake - playing the invisible

For a long time now, I wanted to achieve greatness: be extremely famous, have my stories be read, have my web-site be visited countless of times, and become a household name, and also earn a lot of money in the process (to allow me to travel, be able to afford going out, etc.). However, having read in several places that “The Invisible Hacker is the most powerful” (a hacker is a talented worker that bends the rules, and for what “hacker” means, see “How to become a hacker” and Paul Graham’s The word “Hacker”), I decided to play it the invisible. So I remained a relatively unknown Tel Aviv, Israel-based software developer, who studied Electrical Engineering in who was constantly looking for jobs, and who found a lot of joy in working on his personal web site, various pieces of open source software, and has been doing a lot of one-to-one, one-to-many and many-to-many communications on the Internet. I was happy, but constantly had periods of hypomanias.

I gradually felt that I was controlling everything behind the scenes, and finding trends right before they became mainstream, and having slowly gain popularity by word of mouth, and influencing people, but I kinda hated it. Some people can be quiet and benevolent value producers doing ordinary things. But not me - I want to be very good, not play “The Invisible”. I am not a follower of trends - I set trends. And I want to be recognised for the truly great accomplishments that I have accomplished, am still accomplishing, and am planning on continuing to accomplish.

Note that this is not about being what Americans call “a winner” and win 1st place at some silly competition of who has the highest grade average or the highest television rating ever. I don't care about that too much, but I do care about being acknowledged. My stories are not perfect, but it is their imperfection and sometimes sloppiness that makes them perfect.

The Technion and the American concept of “Loser” and “Winner”

The Technion in Haifa, Israel, where I studied for my Bachelor of Science degree, is overall a fine institute to study in, but it has several problems. One problem is that it's "90% work / 10% play" instead of say "70% work / 30% play", because there's a strong discipline to study and only that. But an even graver problem is the fact that the staff prefers the scores of their tests to be an approximate normal distribution (or Gaussian) which makes many people who studied hard frustrated at their low grades. A better strategy would be to give a solid workload during the semester, and then to have a relatively easy test, so people who studied hard during the semester will easily pass with a high score, while the slackers will still fail.

It seems like there's a similar problem with M.I.T., but whereas in MIT they have a major problem with suicides of people who had straight A's in high school and became C average students in M.I.T., I have yet to hear of a Technion student who committed suicide because of low grades. Why? Because Israelis don't have the unhealthy obsession about not being a “loser” that Americans do. Technion students know best to realise that their low grades are not their own fault, but rather the fault of the institute's general policy.

I received some flak due to this. One Technion professor (who graduated from M.I.T.) once asked me why my grade average was relatively low. I told him I had better things to do with my time, and did not want to invest the much extra time in getting perfect scores, and that I never took a course or a test again if I got a passing grade (no matter how low). I spent many hours in my Technion studies working on my homepage and on open source software, interacting with my fellow students, browsing the web for information and knowledge, etc. and they later on provided fodder for my works of fiction, humour and philosophy. So I knew that I was right in trying to enhance my general skillset instead of just my grades.

Some Americans may think I’m a “loser” for finishing with an average grade of only 84.6% (which still made me a cum-laude student) and not being able to persist in the same job for a long time since. But I’m not competing like an Olympic athelete at some silly race on life. Life is meant to be enjoyed - it is not a silly race.

Silver Linings Playbook

A good friend recommended me to watch the film Silver Linings Playbook, and said it discussed a man who had Bipolar disorder (or “Mania-Depressia”), which is something I have been suffering from as well. I watched the film and found it imperfect: slow starting, irresponsible, and a little depressing at times. But it was a great film, with some great acting, many jokes and many awkward and funny situations, and many details I could relate to. So it was perfect simply because it was imperfect. Films that are too perfect are too boring.

Anyway, the theme of the film was that you can be happy and content even if it appears you are a “loser”. Despite the fact that I am still living with my parents at 35, that I've never been in a relationship with a girl (and I am a straight guy), that I had a hard time keeping a job as a programmer, and it's been a while since I've gone out of Israel, I am not a loser, and neither probably are you.

That put aside, I still want fame, recognition, money, and becoming a household name. It's just what I want and what I think I can do. That's part of who I am, and part of what I think I can do.

Jennifer Lawrence

And Silver Linings Playbook brings us to Ms. Jennifer Lawrence, who played a lead role there and won many awards including the Academy Award for best actress (a.k.a the Oscars) at the young (for an Academy Aware winner) age of twenty-two (22). I was quick to dismiss her due to previously playing in the dystopian The Hunger Games (I dislike dystopian stuff) but I loved her on Silver Linings Playbook. Although attractive, Ms. Lawrence is certainly not the most beautiful woman I met or saw, and I'm sure she has some personality quirks (like we all do), but thanks to playing her card rights, she is now a much coveted Alpha Female, who can have the rest of her life (and I wish her a very happy and long life) go in a direction she chooses.

The Importance of Human Networking

While being an Objectivist, I am going to make a surprise statement: Ayn Rand’s books The Fountainhead and Atlas Shrugged have a tragic ending. Yes, in The Fountainhead, unlike in my parody and modernisation of it which I called “The One With The Fountainhead”, World War II is not prevented, and the characters each end up unhappy. On the other hand, in my parody, Dominique Francon becomes the president of the United States, Roark is her husband and father of her children and decides to pursue a career in paleontology (having reached saturation as an architect), Toohey starts a new career as an excellent saxophone player, and Gail Wynand transforms his newspaper empire into something more benevolent.

Furthermore, it is clear from the Fountainhead that like Howard Roark, Ayn Rand expected fortune and success to come to her at the time without her doing anything about it. In Atlas Shrugged on the other hand, all the characters including the protagonist Dagny and the antagonist John Galt, are constantly travelling and networking. Like it should be. Today you can do the same using mostly (but certainly not exclusively) Internet means.

And that was also my problem, which I've decided to avoid now.

David and Goliath

The Israelites and the Philistines schedule a large battle. The philistines have far superior equipment with armors made out of cast iron, which the Israelites don't have. Eventually, Goliath, a tall Philistine giant, steps forward and asks for an Israelite man worthy enough to fight him and determine the fate of the battle (something quite common in the Near East). The Israelites seem like they will lose the battle.

Out of nowhere, a young Israelite boy whom hardly anyone knew about steps forward with a sling and a few pebbles. Goliath thinks this is ridiculous and ridicules him. However, the boy quickly puts a pebble in his sling, and after rotating the sling to achieve a very large velocity (not unusual with slings) hurls it with great accuracy (also not unusual, because shepherds in the Near East effectively used slings to kill lions and other predators to their flock) into Goliath's face, which was uncovered to allow him to see. Even if Goliath's shield bearer wanted, he could not have lifted the huge shield in time, and Goliath was completely not agile in his suit and armor. The sling's rock smashes Goliath brain, and he falls to the ground dead. The Israelites have won the battle.

The Boy's name was David.

Why do I think it's important here? Because David was a hacker (see Paul Graham’s “The Word ‘Hacker’”) - he knew the rules, and played by them, but knew how to bend them, in order to earn his victory. There were many other hackers since, and there are a lot of them today even if some of them think that “hackers” only mean no goodnick and malevolent computer intruders. Hackers come in all shapes and sizes - and many of them (including Ayn Rand and Jennifer Lawrence) were or are female.

Was David Jewish and Goliath a Philistine? Did the battle actually happen in its form? What really happened to David next? That is hard to know, because in a true open source fashion, the peoples of the Near East gladly borrowed legends and memes from other people and improved them, or adapted them to their whims. This is similar to how we now create fan fiction by the droves. (Only now it's in much greater speed and capacity.) Moreover, in a way, the tale of David and Goliath is obscured by the mentality of the times, and its context within the larger epos of the Bible.

The Machines That Can Give You Questions

Back when Pablo Picasso asked for commenting about computers, he said “But they are useless. They can only give you answers.” and in a sense he was right, because most computers at his time were used for one-off (and time-consuming) calculations and simulations. But there was another use of computers that was still in its infancy then and unknown: computer networking. But as technology improved, it became more and more powerful and pervasive.

The 1986 film Jumpin' Jack Flash Starring Whoopi Goldberg (which I highly enjoyed and can recommend) exemplified the power of early computer communications, though it was still in its infancy. The early popular Internet around the late 90s, with the so-called “Web 1.0” was a hodgepodge of static web sites (often at Geo Cities), lots of useless or incomplete information, search engines that were still not very good, and naturally, lots of fan pages of Buffy and Sarah Michelle Gellar (who was the Jennifer Lawrence of the time).

If you wanted an interactive many-to-many discussion, you had to use Usenet, or mailing lists, or Internet Relay Chat (IRC), or Slashdot, or whatever.

That has changed significantly, with the fact that JavaScript matured, wikis, web forums and blogs became popular, search engines (most notably Google) became better, and, later on, we've seen the rise of web-based social networks such as Facebook, Twitter or Google Plus, which provide a more integrated experience and a quicker and easier one.

That does not mean that all the old Internet mediums are dying - mailing lists , IRC, and even some Web 1.0 sites (including my own) are still alive and kicking, and people now are increasingly using Jabber/XMPP/GTalk/GChat.

Anyway, because computer networking allows humans to communicate with other humans, they can provide you with questions. Lots and lots of questions. So I think Pablo Picasso would have loved the Internet (and other means of online communications such as SMSes, phone calls, mobile phone calls, etc.) of 2013.

Chuck Norris

Which brings us to Chuck Norris, who reportedly lost only one fight - to Bruce Lee - from the time he became a professional fighter, until now when he is old, has a malfunctioning left leg, and can be beaten relatively easily by some of the most competent of his younger peers. However, I am sure this is not the only battle that Chuck Norris has lost, because we all had many disappointments in our lives, and things that didn't work like we wanted to, people we liked or even loved that hated us, moved out of our reach or died, and opinions we thought or proclaimed that turned out to be mistaken. Chuck Norris had those too. These lost battles are part of who we are as human beings and a natural part of life on Earth.

That put aside, Chuck Norris recently lost a much bigger battle than the one with Bruce Lee, because the seemingly silly and popular Internet meme, the Chuck Norris facts (and other memes that they span) have become a much bigger and better fighting machine than he has ever have been. Only it is not a physical war - it is a gentle and subversive (but equally as powerful) psychological war. And despite common beliefs, a good psychological war is not won by intimidation or "defeat", but by Saladin’s method of respecting your adversary, showing mercy towards him, even supporting him by what appear to be his mistakes, forgiving him and trying to reach a common ground.

Many people were easily indoctrinated into the Chuck Norris facts meme. I recall this conversation on Freenode’s #perl in June 2006, shortly after Randal L. Schwartz (a really great guy, whose relationship with me started on the left foot, but that we're now on good and even friendly terms with one another) told me about the Chuck Norris Facts Internet "meme" and I was quickly able to come out with my own fact. After collecting a few original facts like that, I set up a page for them on the humour section of my homepage having figured out that even if I had a silly quirk of writing such factoids about people and things, then people will still take me more seriously due to my longer stories and screenplays and my longer and more serious essays.

But the reason why Chuck Norris/etc. facts are so powerful is because they are so accessible and easy to create, not in spite of it. Chuck Norris facts like “Guns don’t kill people. Chuck Norris kills people.” or “There is no theory of evolution - only species of animals that Chuck Norris allow to live.” or my own “Chuck Norris read the entire English Wikipedia in 24 hours. Twice.” or “A is A and A is not not-A — Unless Chuck Norris says so.” highlight some major problems and assumptions about our existence, and makes us think. They give us questions. A lot of them.

We all have a master, and should be humble

A Jewish tale tells of a mighty emperor, supposedly a “king of kings” who conquered so many nations and people, that he believed and proclaimed that he was unstoppable and not even God (the real “King of the Kings of the Kings”) could stop him. God did not like him. So what did he do? He let a fly enter the emperor's head and keep buzzing. The emperor could not stand the fly buzzing in his head, and ended up being driven to insanity, and then committing suicide. So his Hubris (= excessive human pride) caused him to be killed by a creature as insignificant as a fly.

While this is a folk tale, it illustrates the fact that we as humans are still at the mercy of forces beyond us. As the old thought experiment goes, tomorrow Linus Torvalds, who created and still maintain the Linux kernel, and is the poster child of the open source movement (and a really smart hacker, and a father to three daughters) can get hit by a bus. I am almost certain the Linux kernel development and the open source world in general will survive this shock, but a wonderful and beautiful life will be lost forever. I can also get hit by an automobile, and so can Chuck Norris, who may now be old enough to have a heart attack or any other deteriorating health problems due to old age. We are all fragile, and must realise we should not succumb to Hubris, because even if God does not exist, then Hubris will make us do some really silly stuff, which will end up causing our downfall.

As surprising as it sounds, even God has a master: logic. Ever since Aristotle codified logic in his Organon (which back then was not so taken for granted - “A is A, and A is not not-A? Of course A can be not-A. What kind of drugs is he on?”), which mathematicians, scientists and engineers have used to construct greater and better technology - both physical and “concrete” (like the tall buildings in various cities around the world, land, air and space travel, and naturally - computer and computer networks) and mental (like the various philosophies, idea systems, and mythological systems, up to this very essay and very word), logicians have proved that some tasks are impossible to perform and true omnipotence is not possible. Perhaps the most famous is “Can God create a stone so heavy that he cannot lift?”. However, a more recent and more important one is the Halting problem, which specifies that one cannot write a program which will finish within a finite time, that will determine if any other arbitrary program will terminate or alternatively run forever. While the formal proof is complex, there is a short and informal proof that most intelligent people can understand. So the King of the Kings of the Kings, as mighty and wonderful as he is, also has a master.

“Put your faith in Allah, but tie your camel”

The tale (a Hadith) tells that Muhammad saw a shepherd going to pray, while keeping his Camel untied. He asked the shepherd why he kept his camel untied and the shepherd told him: “I put my faith in Allah, that the Camel won’t escape”. So Muhammad told him (and I paraphrase) “Dude, it doesn't work that way. Camels can escape due to nature’s whims. So: put your faith in Allah, but, for the love of God - tie your Camel.” (I am an Israeli, agnostic, non-religious, Jew but I think I can borrow useful memes from Christianity, Islam, or whatever, if I think they have merit, right? See Ad-hominem).

As much as I admire God for his wonderful creation, I still have to help myself, and help him help me. I also am not sure whether I will continue to live after I die, so I'd rather not risk it. God's creation is wonderful, but there's always a risk I'm being toyed by some evil genius and that reality is not what it seems to be (see Descartes’ “I think therefore I am” thought experiment, and naturally The Matrix concept from first Matrix film, which I have yet to watch). Alternatively, it is possible that God does not exist, and reality is simply whimsical and random, but still enabled the creation of life, intelligence, and finally - human consciousness. So it may sound farfetched to you, but I don't want to die - not now, not in a thousand years - not ever. Maybe it's a scary thought, but I have accepted it now, and wish to enjoy youth rejuvenating biological immortality. And I don't want me or any of the living heroes I admire in the present, both those that I know and those that I have only heard about (including some people I have a feud with, but still know are mostly good people), to ever have to die due to old age, accidents, or misfortune.

Hackers Own The World

Hackers like David are the true holders of power in the world. In the Jewish Bible, the myth of David is muddled by him later becoming a tragic hero, and that his only true love, the sexy, and likely minded, female hacker Michal becoming barren and supposedly jealous, but there are plenty of other hackers, both living and fictional, in the world whose story had a happy ending. And here's the thing: this is what an Action Hero is all about - he defies the rules, bends the rules, and eventually wins. A tragic hero on the other hand is bounded by many invisible rules, and cannot win. So Action is the exact opposite of Tragedy. (And to truly see why this is true, you should watch and listen to the 1m43s-long trailer for Shakespeare’s Hamlet starring Arnold Schwarzenegger from the excellent film [the] Last Action Hero.) I also guarantee you that this very essay is not perfect, and that’s OK, because I’m a hacker and like to bend the rules, and while I care about quality, I also care about getting something - anything - out of the door quickly. With the help of editors, I can always fix the essay later, in case a prestigious magazine such as Time Magazine or Playboy would wish to publish it, but if I wait until it is letter perfect before I publish and announce it, then it will be a big waste of time.

I also realised that even though I placed my stories and screenplays under the /humour/ part of my homepage, they were also almost always stories of action. Many action films now contain a lot of humour, and humour films and even dramas are often action films in disguise (and that includes Silver Linings Playbook). Many people complained that each and every popular Hollywood film now contains a mixture of action, love and sex, humour, drama, and naturally - a happy ending. However, my stories also have all that, and during writing them, I wasn’t trying to make their “ratings” higher - just to write what was on my mind, and to make the story as fun as possible. And as surprisingly as it sounds, some of the most ancient myths (e.g: the stories in the Hebrew Bible, or those of the Greek mythology) also contained all that in their own old and now antiquated way.

Many people will think I'm being blasphemous by paraphrasing the story of David and Goliath, or the Hadith about Muhammad, and spicing them up a little, but the thing is - it makes these stories something alive and dynamic because our times are different. Shakespeare’s plays were narrated as they were during his times, but reading them now is boring. And that is because our times are different (and hopefully better).

Hackers Make the Best Warriors

I once read a feature in an Israeli adolescents' magazine about the Navy SEALs, who are the chief commando unit of the United States Navy, and they said there that while many very muscular young men (which they called “a Rambo and a half”) approached them about joining, they didn’t survive for too long in their training, and that those who did were those with a “high I.Q.” and a great character. The United States has an unnatural obsession with I.Q., which is not a good measurement for intelligence (for many reasons), but the point is that they are intelligent and competent.

And what is the recipe for such intelligence and competence? The answer is having a mostly happy childhood, being open-minded and knowledgeable about all sorts of small things, getting a lot of information, knowledge, understanding, and insights, and being a whole rounded person. The world’s greatest warriors such as Chuck Norris or Bruce Lee were not overly muscular, and Chuck Norris had a happy and supposedly uneventful childhood. He also was aware that he has to stand for himself, and take decisive action (“The Gods help them that help themselves”) instead of letting life lead him in its own way ("Go with the flow" or "Be a product of your environment"). So did most of the Navy SEALs.

A murderous villain can shoot to all directions and perform a lot of killing, but a good warrior requires precision, accuracy, intelligence and competence. This involves being a well-rounded, happy and benevolent person. Saladin was the greatest physical warrior of his time, and he was extremely noble, and spared and cared for the lives of the Knights Templar (who were really crazy people), to say nothing of that of innocent men, women and children who came in his way. Whenever I run into a moral dillema, I think to myself “What would Saladin do?” and then do exactly that.

A lot of people believe that the children of today are unusual because they don't have the patience to read anything longer than a twitter utterance ( see Noise to Signal’s “TL;DR” cartoon), but I recall that most of the youth of my generation (I am 1977-born), also did not read any books, or read most of the history and other textbooks of my class (like I did too), , and instead spent a lot of time playing with friends or watching television or whatever, and they turned out fine eventually. Nowadays, many kids are bound to do things that will make some of us as grown-ups think that “the generation is diminishing” but naturally, this is folly (see the Noise to Signal’s “Fire” cartoon and the comments about it), and is just indicative that you are growing more cynical.

As a matter of fact, newer generations can build on the work, knowledge, and wisdom of older generations (“Standing on the shoulders of giants”) and achieve dazzling new heights. During Helenistic times, many people believed that philosophy was a useless mind exercise, that philosophers were contaminating the youth, and that they were parasites who make problems where none exist. That was all well and nice, until the Romans had a lot of pain and casualties, conquering the island of Archimedes due to the many devices and inventions he came up and that were used to protect it.

And like I said, there are many other ways to wage war that do not involve bloodshed or even violence.

In my screenplay Selina Mandrake - The Slayer, Selina runs into three vampire warriors (“The Three”) dressed as Klingons, who tell her that “Every mighty Klingon warrior has watched Sesame Street” to which she exclaims: “Mighty Klingon vampire warriors who have watched Sesame Street… this decade royally sucks!!”, but most of the best American warriors of the relatively recent past (of all kinds) have watched Sesame Street, because they loved it as happy children (and later as adults).

The New Alexandrias

Alexandria used to be the “It city” of the Helenistic period. While some inland cities like Jerusalem and Damascus had a good strategical position and were important religious centres, almost all the great philosophers lived and operated in Alexandria. Why Alexandria? Because it was a port city and close to the sea. It is well known that many of the peoples of the Near East lived by and loved the sea: the Greek, the Phoenicians (which the Israelites referred to as Canaan), etc. The Israelites (who are now the Jews) started as a kind of sub-culture and fashion among the Canaanites (and Archaelogists witness a transition in Palestine and other parts of the Levant from the Canaanite period to the Israelite period) but they later on were heavily influenced by both the Phoenician and the Greek, by culture, ideals and even by blood. Even in the Bible, the tribe of Dan is described as “setting sail to ships”.

Today there are many Alexandrias: New York City, Boston, Los Angeles, San Fransisco, London, Barcelona, Rome, Rio-de-Janeiro, Hong Kong, Singapore, Shanghai - even (and for us Israelis - especially) Tel Aviv. And even Alexandria, in its more modern form, after at least a single destruction, is the second largest city in Egypt, and probably more vibrant than Cairo, which is the inland capital.

Here's the thing about human life: it's not preserved automatically. It must be kept alive by effort. Often a lot of effort. You must fight death, irrationality and stagnation, from within and from without. Often it involves some pain, but usually fighting for your life is fun and rewarding, and gives you a lot of joy. It is well known that of the Seven Wonders of the Ancient World only the Pyramids of Giza still stand. But while the other wonders were marvels of aesthetical beauty, the Pyramids were just giant, unaesthetic, graves, which no one would like to live in. Even the Mayan pyramids in Yucatan look more pleasing than them.

My second biggest mistake: not accepting who I am.

Throughout most of my adulthood, I have been criticised for various things I believed in or liked: the fact I was a pro-life, and non-cynical person (or Aristotlean), the fact that I liked ponies, Ewoks, and smurfs (so cute!), the fact that I hated being Mr. Macho in real life (and was instead a gentleman among females), the fact that I didn't have a relationship yet, the fact that I placed photos of scantily clad females on some of the wallpapers on my desktop at home (and people claimed I was treating females as sex objects), the fact that I got into hypomanias (literally "below-manias"), the fact that I didn't consume caffeinated or alcoholic beverages at all, the fact that I found porn disgusting instead of arousing, the fact that I chat a lot on IRC, the fact that I listen to mostly pop music, and so on and so forth.

However, I now realise that these are some of the things that make me who I am, and I shouldn't try to be someone else. Geeks and hackers come in all shapes and sizes, and there is no need to try to fit better among fellow computer hackers, just due to the portrait of J. Random Hacker in the Jargon file. I do not mind people who deviate from my preference in some or all respects, but no two people (including not two identical twins) are alike. You should accept who you are too.

Please all → Please none

Aesop (who was most likely an ancient Greek meme, similar to today’s Chuck Norris facts) tells the story of an old man, his grandson and a donkey who walk from one city to another and no matter how they utilise the donkey (without anyone on it; putting only the grandson on the donkey; putting only the grandfather on the donkey ; both riding the donkey; etc.), people criticise them for the situation. The conclusion was “Please all and you shall please none”.

How is it important? Some people, especially those that are jealous or envious of you are bound to complain. You smiled while performing a sad song? Someone will complain. You’re wearing prescription glasses? (Like I do.) Someone will label you as “half-blind”. You wrote some Star Trek fan fiction? Someone will tell you it’s lame. You wrote Chuck Norris facts or lolcats? Ditto.

You're thin? Fat? Chubby? Look too normal? Plump? Someone is bound to complain.

So just be happy with who you are. Naturally, if enough people complain, and/or you think their criticism has some merits, you can try to improve in some respects (without making a fuss about it). But be happy with what you have and who you are, despite all the haters.

Don’t Just Go with the Flow - Act Now!

I read somewhere, that while the survival mechanism of animals and plants operates automatically, the survival mechanism of humans operates by choice. We must choose to use our consciousness (which some people refer to as “sentience” to distinguish from awareness) and see what we do now. “Going with the flow” (like only dead fish do!) or claiming you are just “a product of your environment” is not a good idea: act now, move something, make decisions, because the worst possible mistake is to not do anything at all. Initiate stuff.

If I didn't take the time to work on my home site, it would have not grown to a tenth of the size it is today. And I started with some spartan pages written in very old HTML with some mathematical riddles, and a C.V. and stuff. Now my home site is positively huge and people can spend days on end reading everything I've placed there, and also adding more and more stuff there is easier for me out of practise. A lot of people have been jealous (i.e: wishing what I created was created by me) or envious (i.e: wishing to destroy what I did) but I knew better than to be permanently set back by them.

You too can have a wonderful home page, or become a good martial artist, or write great fiction, or learn how to cook very well, or simply lead a happy life full of wonder, love, and happiness. But it means you have to lead your life by choosing to think, making decisions and acting - not let nature take you in its random ways the way it sees fit.

Even if consciousness is just an illusion, and we don't truly have free will, we should play by this illusion, because not playing by it will make matters very much worse. Those that don't think enough, become terminally ill with mysticism (= mental laziness) and become lazy (despite appearing to constantly work intensively in sedantry work), incompetent, lying, needy, envious and unhappy people who expect everyone to feel sorry for them and obey their orders blindly (up to actual genocide or killing 100 million of their own citizens). Like Adolf Hitler, or Benjamin “Bibi” Netanyahu.

What should be done now?

As you may have guessed, superb hackers who have ascended into Qs and stuff, are the true “Kings of Kings”, and I am one of them, and not only that but the actual honest-to-God Messiah!. I am a bit disappointed by people not seeing beyond my words and understanding that they should become Messiahs too, and compete with me, but maybe that is the price I am paying for the fact that I had been playing the Invisible until now.

So what should be done now?

  1. The Iranian government is at the risk of getting an atomic bomb and dropping it on Israel or wherever. They must be stopped. Send unmanned planes to bomb the site where the bombs are prepared and make sure that no one leaves or enters it in one piece.

  2. Every Iranian soldier must proceed to: 1. Read my story The Enemy and How I Helped to Fight it or at least only its first chapter, or one of its translations (which should be worked on), and: 2. Proceed to put the Iranian adminstrative buildings under seige. Disobey your commanders if necessary by telling them “No! I can think on my own, thank you.”.

These are the pressing things. As you shall see below, there is much more. Orders from above! Orders from the mother fucking “David fighting Goliath” of Messiahs!


People who are into the Internet world have probably ran into the recent trend about “openness” - open source software (such as the Firefox and the Google Chromium browsers, the VLC video player, various Peer-to-Peer programs, etc.), open and documented protocols and specifications, large-scale and small-scale open "content" collaborative projects (most notably the Wikipedias, many other wikimedia projects, and many other wikis), and lots of other stuff. Yet, openness is also mostly a synonym for such things as “honesty” and “sincerity”: not lying, being direct, and not hiding things. It also means not playing games with people and being happy for their happiness and success, rather than being consumed with jealousy or (God help me) envy (which means you wish to destroy these values, rather than coveting them for your own).

So why is it important? Because you should be honest in everything you do. Do you like a member-of-the-appropriate-sex (MOTAS) that already is in a relationship? Admit it to him or her, but be happy for them, and tell them you can be on the rebound or if they have any friends who are looking for a significant other. That put aside even the most noble gentlemen (and ladies) and those that are happily married and possibly even have children, are allowed to flirt with other MOTAS.

Did your friend, spouse, a celebrity of some sort, or a complete stranger you heard of, who seems nice, get a good opportunity? You can admit you are jealous, but try to keep it at bay, and be happy for them.

Here’s what I wrote when two of my best friends - a great male software developer (and a great hacker) called Omer, and a wonderful female software developer (and a great hacker) called Chen (a Hebrew first name meaning “grace” or “loveliness” which is common among both boys and girls) got married:

Hi Omer! Mazal Tov on Chen and yours marriage. It reminds me of a quote from Charlotte Bronte’s Jane Eyre:

“At this period she married, removed with her husband (a clergyman, an excellent man, almost worthy of such a wife) to a distant county, and consequently was lost to me.”

Well, in your case I can say that both of you are almost worthy of each other. Congrats again!

As much as I was attracted to Chen (and she likes a lot of the stuff I created too), I didn’t try to break their relationship, and have her for myself, and wished them happiness. And I did it, because I knew there were plenty of wonderful female hackers (including those that are still not very good at computers, or even hate them) and I can eventually find a good one of my own. And I also knew that coming between Chen and Omer, will make both of them unhappy, and that's not what I want.

People may appear to not appreciate you being sincere with them, but believe me, that it will pay in spades later on, also because you'll feel better about yourself, and be happier, more peaceful, and more competent.

The same thing applies to jobs and work. You shouldn't lie on your job interview. Is the company developing in Java and you don't like Java a lot? Admit it. Say that you prefer not to work long hours because people are more productive working during sane hours. If you contribute to the wikipedia or to open source software, admit it, because workplaces that dislike such things about their employees, will likely not be places you'd like to work with. And yes, it means that you should be able to freely talk and admit everything about you (that you are an Israeli, a Jew, a Black person, a Catholic, a Muslim, straight, gay, anti-religious, homophobic, or whatever) instead of the silly laws that try to prevent discrimination and wish to “streamline” the interview while deliberately going against the liberty of speech.

Fact of the matter is, you are allowed to discriminate, even in accepting positions. I did not get many jobs despite feeling that I have done extremely well on the Interviews, yet I would not dream of suing the workplace for not accepting me. Whatever reasons they had they were OK. Furthermore, sometimes I was fired or laid off based on various reasons, and I also accepted my fate and moved on, because working for a certain workplace was not something I was entitled to - it was a privilege.

The Importance of Seizing Opportunities

A good hacker knows better than to create imaginary problems. If an opportunity comes into your way - seize it, and don't read into the minds of those who offer it, and their motivations. You were invited to give a talk? Go for it! It doesn't matter if you were invited because you are female/black/Indian/Japanese/young/old/whatever. Were you offered to write a guest post on a weblog? Go for it! Again - it doesn't matter why. A member of the appropriate sex asked you on a date and you like them and find them attractive? Go for it!

The end result of being cynical and not seizing opportunities and not allowing people to open doors for you is becoming something like the pitiful and tragic character of Captain Nemo in Jules Verne’s excllent novel “Twenty Thousand Leagues Under the Sea” who roams the seas, causing a lot of destruction of lives - all in the name of his own incompetence. The end result of seizing opportunities as you run into them is being happy, and eventually standing on your own. Perhaps up to the point of becoming a superhero such as Saladin, Sir Isaac Newton, Henry Ford, Walt Disney, Albert Einstein, or Aristotle Onassis, who despite their many faults (which were often not uncommon in their times) were incredibly noble, led a happy life, and died as accomplished and highly-admired people. I hope the living heroes and heroines I admire today will not have to die, or if they do, that their reputation won’t be tarnished by many people who are jealous or envious of their success and competence.


This work is licensed under the Creative Commons Attribution-NonCommercial licence version 3.0 (or any later version). See my interpretation of it.

Syndicated 2013-03-08 23:07:00 from shlomif

Sherlock Holmes about the Awk Programming Language

I enjoyed reading some of Sir Arthur Conan Doyle’s writings about the fictional detective Sherlock Holmes when I was younger, which were entertaining (although possibly distanced from the way actual crime investigation actually works), and interesting. I vividly recall one excerpt from the very first Sherlock Holmes story A Study in Scarlet:

His ignorance was as remarkable as his knowledge. Of contemporary literature, philosophy and politics he appeared to know next to nothing. Upon my quoting Thomas Carlyle, he enquired in the naivest way who he might be and what he had done. My surprise reached a climax, however, when I found incidentally that he was ignorant of the Copernican Theory and of the composition of the Solar System. That any civilized human being in this nineteenth century should not be aware that the earth travelled round the sun appeared to be to me such an extraordinary fact that I could hardly realize it.

"You appear to be astonished," he said, smiling at my expression of surprise. "Now that I do know it I shall do my best to forget it."

"To forget it!"

"You see," he explained, "I consider that a man's brain originally is like a little empty attic, and you have to stock it with such furniture as you choose. A fool takes in all the lumber of every sort that he comes across, so that the knowledge which might be useful to him gets crowded out, or at best is jumbled up with a lot of other things, so that he has a difficulty in laying his hands upon it. Now the skilful workman is very careful indeed as to what he takes into his brain attic. He will have nothing but the tools which may help him in doing his work, but of these he has a large assortment, and all in the most perfect order. It is a mistake to think that that little room has elastic walls and can distend to any extent. Depend upon it there comes a time when for every addition of knowledge you forget something that you knew before. It is of the highest importance, therefore, not to have useless facts elbowing out the useful ones."

"But the Solar System!" I protested.

"What the deuce is it to me?" he interrupted impatiently; "you say that we go round the sun. If we went round the moon it would not make a pennyworth of difference to me or to my work."

(Chapter 2 of A Study in Scarlet by Sir Arthur Conan Doyle, under the public domain in most countries.)

Conan Doyle was naturally exaggerating here in portraying the ideal of Sherlock Holmes (as few, if any, human beings can forget that the Earth revolves around the Sun), but the principle still stands: we need to make a conscious decision of how to manage our memory, because there is a limit to how many different aspects can put inside our resident memory, or otherwise we'll forget more important stuff.

So what does it has to do with the Awk programming language? Many decades after A Study in Scarlet, Eric S. Raymond had this to say in his book The Art of Unix Programming:

A case study of awk is included to point out that it is not a model for emulation; in fact, since 1990 it has largely fallen out of use. It has been superseded by new-school scripting languages—notably Perl, which was explicitly designed to be an awk killer. The reasons are worthy of examination, because they constitute a bit of a cautionary tale for minilanguage designers.

The awk language was originally designed to be a small, expressive special-purpose language for report generation. Unfortunately, it turns out to have been designed at a bad spot on the complexity-vs.-power curve. The action language is noncompact, but the pattern-driven framework it sits inside keeps it from being generally applicable — that's the worst of both worlds. And the new-school scripting languages can do anything awk can; their equivalent programs are usually just as readable, if not more so.

For a few years after the release of Perl in 1987, awk remained competitive simply because it had a smaller, faster implementation. But as the cost of compute cycles and memory dropped, the economic reasons for favoring a special-purpose language that was relatively thrifty with both lost their force. Programmers increasingly chose to do awklike things with Perl or (later) Python, rather than keep two different scripting languages in their heads.[90] By the year 2000 awk had become little more than a memory for most old-school Unix hackers, and not a particularly nostalgic one.

Falling costs have changed the tradeoffs in minilanguage design. Restricting your design's capabilities to buy compactness may still be a good idea, but doing so to economize on machine resources is a bad one. Machine resources get cheaper over time, but space in programmers' heads only gets more expensive. Modern minilanguages can either be general but noncompact, or specialized but very compact; specialized but noncompact simply won't compete.

(Emphasis mine.)

(Case Study: awk in minilanguages in The Art of Unix Programming by Eric Steven Raymond, text available under the Creative Commons Attribution-NonDerivatives licence, and hopefully quoted here (with attribution) under fair use auspices.)

Back in 1996, after I first learned Perl and started working on Unix, I asked one of my co-workers if I should learn Awk and he said “Forget it! Perl can do everything Awk does and more, and is a much better language”. (That was some time before other of the so-called “scripting languages” that gained popularity after Perl, were notable and/or mature enough to be considered by most sane people.) While I was not entirely convinced, and also ended up using GNU awk (gawk) to write a small text processing script for Microsoft Windows at one point (because I preferred not to investigate how to make the perl executable more self-contained). For a while, I felt guilty about not being fluent in Awk, until I read what Raymond said, when I realised why he, my co-worker, and Conan Doyle’s words of Sherlock Holmes, have been right all along.

Some people take more radical approaches to managing their memory. A friend of mine mostly converted from Perl 4 to Python, which due to syntactic limitations is not very suitable for one-off scripts on the command line, as his scripting language. He told me that whenever he has to perform a text processing or a similar task from the command-line, he edits a new file in his text editor, which also gives him some boilerplate to write his script, edits it, saves the file, and finally calls it from the command line. If I did something like that whenever I wrote something on the command line, I would quickly become extremely unhappy, but I suppose it is a useful approach if one is most comfortable with Python for such tasks.

Awk is not completely useless, and may sometimes need to be used for extra portability when old, antiquated or kept-minimal-on-purpose Unix systems, are involved, and is of important historical significance. However, in my case, I don't see a point in knowing it. If I need to learn it, I learn it enough to write what I need, and, like Sherlock Holmes, try to quickly forget it because I know I won't readily need this knowledge.

Naturally, this extends to other fields aside from computing. One of my pupils for private lessons testified that he had photographic memory, and for the history matriculation examination, he memorised the entire books, and during the exam wrote an paraphrased answer based on his memory, and as a result, got a very high grade, and eventually forgot most of it. Similarly, my sister, who now studies medicine, told me that she and her fellow students often memorised a lot of material in preparation for the examinations, only to forget it and then learn it again for a different examination, that also covered the same material. This makes me question the effectiveness of the methodology behind medical education, but still reinforces the original point.

The Other Side of the Coin

On the other hand, your knowledge and understanding of it should not be too specialised either, because one can infer many parallels from different fields of knowledge, and reach conclusions, because all knowledge is contiguous. By learning a little of everything and anything, you can often handle situations and have clearer thinking and greater creativity.

In my screenplay Star Trek: “We, the Living Dead”, I describe an optimal situation of this in the “Planet of the Hebrews” where scholars each take different units of study and learn any that they want, and eventually are judged based on the number of units they learned, and the amount of useful contributions they have done. And you still shouldn't rule out that someone less experienced, younger, or less qualified, than you will be able to do as well, or even better than you (see what Paul Graham wrote about “amateurs” in “What business can learn from open source?”).


This document is Copyright by Shlomi Fish, 2006, and is available under the terms of the Creative Commons Attribution License 3.0 Unported (or at your option any later version of that licence).

For securing additional rights, please contact Shlomi Fish and see the explicit requirements that are being spelt from abiding by that licence.


Despite enjoying captioned images for a long time, I am late to the game of creating them. You may know them as lolcats, and they are also sometimes called “memes”, although the term “meme” is used for any unit of thought and more than just. However, I recently created three of them using Wikimedia Commons, or Google Image Search, as well as GIMP and Inkscape, and realised it is incredibly easy to do. I now truly understand why their low barrier to entry - almost everyone can take a photo of a cat or whatever and caption it - makes them so subversive, and why the Cheezburger network is being blocked by both Iran and China.

I have done some work on Star Trek: “We, the Living Dead” (which is now close to being in a mostly usable state) and “Selina Mandrake - The Slayer”, which combines a Buffy the Vampire Slayer parody and tribute (with a conscious and constant referencing of the original show) with many more elements. An Indian software developer, with whom I talked on the Internet, and who did not watch Buffy, said it was still very funny, so there may be hope for me yet.

Cheers, all.

Syndicated 2013-02-14 17:47:19 from shlomif

Joke: “NSA Facts”

Yesterday, I had the idea of creating some “facts” about the NSA - the United States National Security Agency, similar to the Chuck Norris Facts meme. And I got some pretty good factoids so far, which I will share here:

  • The NSA doesn't publish. They perish.
  • The NSA employs the largest number of mathematicians with Ph.D. And the most stupid and incompetent ones.
  • The NSA has a patent for an efficient process for collecting a lot of information and doing nothing with it.
  • The Bajoran scholars have positively identified Benjamin Sisko as The Emissary. They also positively identified the NSA headquarters as The Dungeon.
  • One of Buffy the Vampire Slayer’s episodes took place in the NSA headquarters, but had to be destroyed, because all of the test audience had uncontrollable panic attacks.
  • The NSA knows what you did last summer. But no one, in the NSA or outside it, knows why they should.
  • The more the NSA think, the less they want to be able to think. So they think less and less.

Hope you enjoyed it and naturally - “ha ha, only serious!”. Now the ball is in your court - can you think of more? Put them in the comments below.

Happy NSA bashing!

Syndicated 2013-02-06 06:28:51 from shlomif

Invitation for the Israeli Perl Workshop 2013 - 25 February 2013

Israeli Perl Workshop 2013 - 25 February 2013

(The Hebrew text will be followed by an English one).

סדנת הפרל הישראלית לשנת 2013 תתקיים ב-25 בפברואר, 2013. זהו כנס יומי שיתקיים במכללת שנקר ברמת-גן. לעיונכם נתונה רשימת המצגות שתינתנה בסדנה, בה יהיו שני מסלולים.

הפעם יידרש תשלום עבור הכנס, כדי לכסות את ההוצאות, ויש צורך להירשם, אז הקדימו להירשם היום. בנוסף, אם אתם, או חברה מסחרית אחרת שאתם מכירים מעוניינים לתת חסות לסדנה, אנא פנו למארגניה.

הפעם סימן הכנס הוא "פרל מעשית" (Perl in Practice) ואנו מקווים שרוב ההרצאות בכנס תהיינה על יישומים מעשיים שנכתבו או יכתבו בשפת פרל.

פרל הינה שפת תכנות דינמית וחזקה שנמצאת תחת פיתוח פעיל, ושיש לה מאגר הרחבות פעיל ופורה בשם CPAN (Comprehensive Perl Archive Network). דף הבית של שוחרי הפרל הישראליים מכיל מידע נוסף וקישורים נוספים לגבי הפעילות של חובבי השפה בישראל.

הפעם יתארחו בסדנה מספר אורחים מחו"ל וביניהם לארי וול, הידוע כיוצר שפת פרל (ומספר מיזמים חשובים מוקדמים וביניהם הגרסה הראשונה של תוכנת ההטלאה patch) שגם יציג בכנס; אליו תתלווה רעייתו גלוריה. בהמשך נעדכן את שמותיהם של האורחים הנוספים.

English Version

The Israeli Perl Workshop of 2013 will take place at 25 February, 2013. It will be a daily conference which will take place in Shenkar College in Ramat Gan. One can view the list of talks that will be given in the conference, where there are going to be two tracks.

‎This time the conference will cost some money in order to cover the costs and, so there is a need to register. Therefore, please register as soon as possible. In addition, if you, or a different company that you know, are willing to sponsor the workshop, please contact the organisers.

Perl is a dynamic and powerful programming language which is under active development, and which has an active and comprehensive extension repository called CPAN (Comprehensive Perl Archive Network). The home page of the Israeli Perl Mongers contains other information and more links about the activity of Perl's Israeli enthusiasts.

This year's conference will sport some guests from abroad, including Larry Wall, who is known as the creator of the Perl programming language (and some earlier software projects such as the original patch program for UNIX), and who will give a talk at the conference; he will be accompanied by his wife, Gloria. We will publish the names of the other guest speakers as we learn about them.

Everyone are welcome to attend.

Syndicated 2013-01-24 18:47:03 from shlomif

Announcing the Vim Beginners’ Site

I am glad to announce that I, along with some help from some other people, have set up the Vim Beginners’s Site - http://vim.begin-site.org/ (or Vim-Begin for short). It aims to be a centrally managed, yet fully open content/open source site, for concentrating the Internet’s best material for learning about the Vim text editor and expanding one’s knowledge. The site was inspired by the Perl Beginners’ site (or “Perl-Begin” for short), and I set up the domains begin-site.org (and begin-site.com as a future redirect) to concentrate other similar high-quality sites introducing people to various technologies and topics. So if you want python.begin-site.org, emacs.begin-site.org, linux.begin-site.org, dotnet.begin-site.org, cooking.begin-site.org etc. then contact me and I’ll see what I can do.

The site is incomplete, and there's still a lot to do, but we have a Bitbucket mercurial repository, an issue tracker there, a TODO list, and we accept pull requests. The text for the site’s pages is under the Creative Commons Attribution 3.0 licence (unless noted otherwise) and whatever original source code is found there is under the MIT/X11 licence, and both were chosen to allow for maximal reuse. Nevertheless, we may mirror, restore, or link to, resources under different licences.

Cheers, happy new year, and happy Vimming!

Syndicated 2012-12-30 12:48:39 from shlomif

What’s New on Shlomi Fish’s Homepage

Here are the recent updates for Shlomi Fish’s Homepage. Most of the work this time was done on the look, feel, and infrastructure of the site, such as the navigation menus, but there is still some new (and hopefully interesting) content. So without further ado, here is what is new:

  1. The main navigation menu to the right now comprises of most of the pages that were navigable and previously were present only in the section navigation menus. Since its HTML markup was quite excessive, I decided to load most of the content using an AJAX (= “Asyncrhonous JavaScript And XML” or “XMLHTTPRequest”) fetch of a JSON document, while keeping a smaller subset still usable as plain HTML for browsers with JavaScript disabled and for search engines and other web user agents.

    I made sure that the expansion state of the navigation menu is preserved between the pages. Moreover, the much maligned section navigation menus are now hidden by default, but can be enabled using the button and should remember their state between pages.

  2. There is a new HTML Tutorial in Hebrew under work. Currently, there is only one section, and some aspects of it are lacking.

  3. There is a new list of text processing tools and a list of networking clients in the software resources section.

  4. I added new quotes to the fortune cookies collection:

  7. Yaakov: It's on offer half price today.
  9. Yaakov: The regular price is free of charge.
  10. rindolf: Yaakov: oh nice.
  11. * rindolf buys Yaakov's GREAT HUGE LOVE.
  13. The third version of my essay “Open source, Free software, and Other Beasts” is now live. It was converted from DocBook 4 to DocBook 5 and greatly enhanced.

  14. Also new is the countdown program which is similar to the UNIX sleep command, only displays the amount of time remaining.

  15. There’s a new and open source solver for the so-called “Binary Puzzles”. It is still incomplete.

  16. There is a new geek song parody (under work) titled “Can I SCO Now?” sang to the music of Jennifer Love Hewitt’s “Can I Go Now?”:

    Can I SCO now?
    Sue who you wanna sue,
    it doesn't matter anyhoo,
    it's time to litigate.
    Can I SCO Now?
    Say what you wanna say,
    we don't care anyway,
    we're going to inflate.

    Can I, can I, SCO now….

  17. I now mirror The Fountainhead’s parody “The Fountainhead Starring Skull Force”, whose original link went offline, but which I was able to find a mirror of. Enjoy.

  18. There are now a page with some links against Java and a page with some links against “SOAP”.

  19. Support for the MathJax JavaScript library was added to the pages in the MathVentures section enabling most modern JavaScript-enabled browsers to pretty view the mathematical formulae there.

  20. There are some new additions to the original Aphorisms and Quotes page:

    The English Wikipedia: now you don’t see it - now you do.

  21. I restored the display of the images in my “There are Too Many Ways to Do it” lightning talk.

Syndicated 2012-12-28 07:50:29 from shlomif

Tech Tip: Overriding the Audio Track of a Video using ffmpeg

In this tip I will cover how to use ffmpeg to override the audio track of a video from a different audio track (such as the one in a WAV, an OGG or an MP3 file). To do that use the following recipe (based on this out-of-date blog post and some help from ubitux on #ffmpeg, with a lot of trial and error):

ffmpeg -i in_audio.wav -i in_video.ogv -map 0:0 -map 1:1 -shortest \
    -c:a libvorbis -q:a 7 -c:v copy output.ogv

Some of these files are not needed if you're not dealing with Ogg Video files. -shortest is useful for making sure that the length of the output is trimmed to that of the shortest input.

I ended up using this command for the latest screencast I prepared. Cheers, and happy holidays.

Syndicated 2012-12-10 16:59:01 from shlomif

Freecell Solver 3.16.0 was Released + New Screencast

Freecell Solver version 3.16.0, has been released. Freecell Solver 3.16.0 is available in the form of a source archive, from the download page. Freecell Solver is an open source framework (library and some command line applications), for automatically solving several variants of card Solitaire / Patience games, including Freecell.

This new release took about a month to prepare, and also contains less profound changes than the previous release, but still quite a lot to look for. It features the -l micro-finance-improved and -l qualified-seed presets, which improve upon the average solution length (at the expense of speed). The --flares-choice flag was added and one can specify --flares-choice fcpro to choose based on the lenght of the Freecell Pro moves. Another additional flag is --flares-iters-factor which multiplies the time the flares run at by a factor for a speed/solution-length trade-off.

Finally, the inidividual flares are now recycled and their memory is reused when they are no longer needed which yields a RAM optimisation in certain cases.

More information about all these can be found in the distributed documents of Freecell Solver.

In addition to all that, a new screencast of PySolFC solving Freecell using Freecell Solver is now available on YouTube. Make sure you expand the details for all the credits of the software and other material that was used for its creation.

Enjoy and happy holidays.

Syndicated 2012-12-10 13:19:00 from shlomif

Why I Don’t Trust Non-Open Source Software

Today I’m going to explain in a dedicated entry, why I do not trust programs that are not Free and open-source software (FOSS) and instead are more restricted. I have previously told that story as part of a different essay, but it was easy to miss.

In any case, the BitKeeper version control system is now quite obscure, due to the advent of quality distributed open-source systems such as Git and Mercurial, but some years ago it was used by many developers of the Linux kernel, and the demise of its gratis version was in fact the impetus for the creation of Git, and later Mercurial. Some time, before Linus Torvalds adopted it, I ran into a limitation of CVS, an open-source version control system, that was then popular, and was looking for an alternative, and after reading an out-of-date article about BitKeeper (which said its source was available under a mostly open source licence), decided to use it and its bkbits.net service.

At first, I was quite happy using it for some of my projects, but then I posted a question to the mailing list, asking where I can find the source, which was implied to be available on the BitKeeper site. Larry McVoy (BitKeeper's main creator and maintainer) answered by saying that they decided for removing the source code, because some users modified it to remove the restrictions, and allowed them to abuse the licensing of the gratis version and prevent them from paying for the commercial version. He also noted that availability of source, meant that, in practice, your software was Public Domain, and that they provide the sources for people they can trust, in private.

At that point, I figured out that I don't have an immediate need for the source, and that perhaps in the future, I can win BitMover (= BitKeeper’s parent company) trust and gain access to it. So I continued using BitKeeper.

That changed, however, when Mr. McVoy announced a licence change to BitKeeper (while requiring all users of the gratis version to upgrade) that I found unacceptable, and caused me to seek a different alternative. This caused an unpleasant exchange between me and the BitKeeper developers, and made me lose some of the repositories I hosted on bkbits.net.

From that moment on, I realised that I cannot really trust non-open-source software, because even if I am allowed to continue to use its previous version after a licence change, then it may accumulate bugs or stop being runnable on my systems, or stop being supported, and I cannot risk it. To quote Richard Stallman: “Every non-free [= non-FOSS] program has a lord, a master — and if you use the program, he is your master”.

The end of the BitKeeper story, was that after evaluating a few open-source alternatives, I settled on using the open-source Subversion, and later on also started using Mercurial and Git. Furthermore, from then on, I often refused to look at and evaluate proprietary programs. Lately, many open-source developers have been infatuated with Sublime Text, but I am not willing to even try it, because it is not open-source, so I will never have to depend on it.

Despite all that, I still license my original software under non-Copyleft licences, because the GPLv2 and the GPLv3 are incompatible, both with one another, and with many other open-source licences, and because I know of at least three different interpretations to the GPL ( GNU’s one in the GPL FAQ, the Linux kernel's one, and the draconian Nmap interpretation), and because I want my code to be of the maximal available use without the need to consult a lawyer, and because I don't want to be worried about how it will possibly be abused, when I don't care if it will. I'm still using GPLed software, in the hope that I won't get sued.

To sum up, I do not wish to rely on non-FOSS, because it may mean these software applications later becomes unavailable to me, in a similar manner to what was the case with BitKeeper. I hope you can relate to that, and if not, you may likely run into a similar situation in the future, as well also the case for the Linux kernel project, with the demise of the gratis BitKeeper altogether.

Syndicated 2012-11-19 10:34:13 from shlomif

Freecell Solver 3.14.1 was Released

Freecell Solver version 3.14.0, shortly followed by Freecell Solver 3.14.1, which fixed a build problem on Microsoft Windows, have been released. Freecell Solver 3.14.1 is available in the form of a source archive, and a Win32 self-installing executable, from the download page. Freecell Solver is an open source framework (library and some command line applications), for automatically solving several variants of card Solitaire / Patience games, including Freecell.

This release features several new features: we added a 6th Best-First-Search weight of the inverse of the number of cards not above parents, which has proven useful. We now also allow test groups inside the --tests-order and --depth-tests-order with the random-dfs scan to be ordered using the function =asw(…) based on those BeFS weights.

As a result, the preset -l amateur-star or -l as for short has been added, that uses that and is our fastest preset yet. Another new preset is -l micro-finance (or -l mf for short), which yields especially short solutions.

There are also some not-as-major features: input boards can now contain a leading colon (":") at the beginning of the line of columns, so they can be copy-and-pasted directly from the output of fc-solve with the -p flag. The dbm_fc_solver and depth_dbm_fc_solver now store the positions more compactly (which aided in researching two-freecell deals), and the core libfreecell-solver code was made more 64-bit enabled and many of the limits were converted to 64-bit friendly ones.

A final note: we have dropped support for building Freecell Solver with Microsoft Visual C++ and other non-GCC compatible compilers, which do not support the newer C standards, and other useful features of GCC. Building Freecell Solver with GCC, clang and other compatible compilers will be continued to be supported on Microsoft Windows as well as on Linux and other UNIX-like systems.

More information about all these can be found in the distributed documents of Freecell Solver.


Syndicated 2012-11-04 16:22:00 from shlomif

681 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!