ANN: My Transition From Software Developer to Writer/Entertainer/Amateur Philosopher/Internet Celebrity
I'd like to make an announcement: after some serious thought, I decided that from now on, being a software developer (which I am not too bad at) will only be the means (but the absolutely necessary ones) to me being a writer / entertainer / philosopher / Internet celebrity (a little bit of all those and then some) whose main pride and passion is his personal web site, which is full of a lot of material, and various pages and material is constantly added to it.
Note: I am not going to "quit" from the Perl world or am going to stop programming completely. In fact, programming in HTML, XHTML, CSS, XSLT, Website Meta Language, Perl 5, Bash, Vim/gvim, and many other general purpose and/or domain-specific languages, is absolutely necessary for what I do on a daily basis. Furthermore, I have little patience for laymen who do not wish to learn HTML, and just require more and more of our (= my peers and mine's) time to be wasted in a typical "Parable of the broken window" fashion. I think even most of our sisters, mothers (and yes, I'm being facetiously sexist on purpose, because a lot of the most clueless people we can think of are male), etc. can learn some basic programming skills and even be good at that with the right attitude. When put in a corner, they will be forced to learn it. and that programming is becoming more and more essential for everyone to know. Furthermore, clients who wish to remain ignorant (and often hostile) forever should be avoided, with a clear honest and sincere explanation telling them why and how to improve.
Anyway, as is evident from my first story, I have already made a gradual transition from being a mathematician and a mathematical logician, to being a software developer and web developer, so now it's another transition. It took me a lot of time to hone my skills as a writer of stories, screenplays, aphorisms, Chuck Norris/etc. factoids, etc. etc. so it's now much easier for me. It took me over a year to write my first story, but now I can whip up text fairly quickly, and find it enjoyable. Moreover, I now also have not one - but two ideas for new stories - both of which I have not started writing.
One implication is that I decided to transfer the maintenance of XML::LibXML to someone else, because while I believe I proved myself of utility in maintaing it, I find it hard to keep with its ongoing maintenance. One can easily fork its bitbucket repository, or given enough motivation, one can set up a similar one on GitHub or wherever (I recall receiving several patches with "--git" there) so if you have the skills, time, and motivation - just do it, and I'll just upload the archives on your behalf (and eventually ask for giving you COMAINT). I have mentioned some ideas about what I have in mind for XML-LibXML elsewhere and you can always ask me on IM or IRC.
"Putting all the cards on the table - 2013"
I have started to write an essay on my "Unarmed but still Dangerous" blog titled "Putting all the Cards on the Table" - I start from the Technion, M.I.T., the film Silver Linings Playbook and its lead actress - Ms. Jennifer Lawrence (♥!) and goes on to discuss lots of other stuff including David vs. Goliath, computer networking, the second major battle that Chuck Norris lost, and to why we should initiate action (any action) instead of letting things go from bad to worse on their own, and there is much more to come. Hopefully, it will be amateur philosophy ( where amateur is someone who: 1) Loves what he does. 2) Is not professional. 3) Does not play by the same rules as professionals. - i.e: what we often call today as "hackers") at the best I can do.
My main issue is that I felt the truly amateuristic intellectuals like me have been speaking too much in riddles, and that even I have been lying to myself and hiding many things from other people, and I want to offload everything I know as of March, 2013 (and it may be very different 10 years from now or even a year from now). And I want to do it in a truly honest, sincere, and putting all the cards I have now on the table fashion. There is a lot of humour in the essay, and a lot of personal analogies and references, some sex talk, (even sexism) and personal reflections (and my typical self-promotion), but it's still serious, honest, and sincere, and hopefully enjoyable.
Please comment on it on the blog, where you should be able to register using any OpenID provider, but anonymous comments, that are not spam, and where you give a link to identify yourself can also be done (just please preview the comment before sending it). I am planning on working on further publicity.
How to Achieve World Domination
A lot of people think that the proper way to achieve world domination is to create an architecture that will solve the whole world's problems and then some. We've been seeing quite a few of them since Joel on Software wrote this article: Ruby, Google Go, Node.js, Mozilla's Rust, Clojure, Scala, Perl 6, etc. Some of them have or will mature to something truly nice, or have inspired a lot of features in other languages, but it's hard for plain-old-single-you to compete with them, and here is something interesting: not too many people want them.
What do people want? Chuck Norris/etc. factoids, lolcats and other captioned images, funny cat videos, parodies of My Little Pony: Friendship is Magic (♥), photos of attractive (or even not too attractive) men and women, screencasts of games or other programs (including many open source programs), photos of scenery, new and improved recipes for preparing food (and of course - tasty food itself), new, old or renovated jokes, and some interesting tales and anecdotes from your life. And naturally - programs that can will scratch an itch - however small.
Some people told me that my solver for Freecell and other solitaire games, simply called Freecell Solver is useless, but it's not - it's just a niche program. And I received hundreds of E-mails about it. Furthermore, given that Freecell is (or used to be) a big phenomenon in Israel, where many boys and girls starting from 18 found themselves playing it on the Israeli military computers out of boredom, then the fact that I have written a solver for it, has impressed many people I talked with or met, including some attractive (both physically and intellectually) young ladies (or what people may refer to as "hot chicks"), and they ended up asking me about how it was written, and which algorithms it employed.
So Freecell Solver was one of my most successful programs, not despite being a niche program, but because of it. Niche programs own. Not only that, but niche everything is great. Many people whom I referred to my stories helped themselves to the screenplay Star Trek: "We, the Living Dead" because it contained Star Trek in the name, and because there are quite a few fans of the Star Trek franchise and worlds.
The more of a niche artwork you write, the more a large subset of those who like it, are likely to pay attention to it, try it out, and enjoy it. For more information, see Eric Sink's excellent and inspiring essay "How to get people talking about your product". For example, DuckDuckGo was originally marketed as a search engine by Perl geeks, and for Perl geeks, and it was a good marketing decision because the Perl community is small, cohesive and is at a good strategical position to influence other communities. Now, many people who are not Perl programmers, are using it, as well as, or even in preference to Google, but choosing Perl was a good strategical decision. We can expect that with the future growth of DuckDuckGo, that it will use more performant technologies than Perl more and more, but it will still owe some of its initial success to be a Perl product.