xahlee
This article got submitted i believe because this morning i tweeted my new keyboard blog on twitter, and my keyboard blog mentioned this 6 years old rant. And somebody submitted that here.
For over a decade 1997 to 2007, when my website is most popular, linked all over from universities and schools at, I did not have any ads nor ask any donation.
I despise those so-called "hackers", because people like you. I don't know who you are, but there are handful who will badmouth me whever my name appears. In the past I have simply ignored them. But, i'm getting old, and feel like responding, for what's worth.
I didn't buy a domain to put a rant. I had a website since 1995, had domain since 2000, and my website had several thousand links from math department of universities, educational institutions, printed books, math journals.
Das was primarly marketing to programers, but recently they are marketing to gamers. (disclaimer: opinion only.)
I mentioned that old article recently in my new keyboard blog. I think that's how the rant resurfaced.
Matthew Fidler introduced a theme system, so you can change any key you don't like, or disable the Windows style shortcuts. He's also quick to answer questions or fix bugs. Almost always within a day.
PS Matthew Fidler has been working on the project in the past 4 years. It's also part of GNU Elpa. :D
by the way, there's earlier hackernews discussion at https://news.ycombinator.com/item?id=695893
When i begin in elisp, i ALWAYS stick with this form of using local var:
(let (x y z)
(setq ...)
(setq ...)
(setq ...)
...
)
This makes it easier to read all local variable names. Especially when readers are beginners, non-professional programers, scientists, writers.If we always use this simple style of let, what possible problem can it create?
• Does it creates algorithmic problem? • Does it slow down programs? • Does it violate some computer science principles? • Are there science based proof, or statistics, that shows this style does some damage, such as more difficult to maintain?
The only thing i can think of, is a matter of esthetics.
later on, sometimes i use this form
(let (x (y 3) (z 4)) body)
with the condition that, if i set the variable in the let parameter, it must be constant. The value never changes in the body. And now sometimes i also use the (let* ...) form.These variations are just sugar syntax. Not really important. It's a bikeshedding problem.
The thing is, in emacs lisp, there's no way to declare constants. And also, it is unnatural to code elisp or even Common Lisp without lots of setq or setf or similar.
In JavaScript, the issue is much worse. JavaScript Name Hoisting and One-Liner Functional Style http://xahlee.info/js/javascript_name_hosting_and_one-liner_...
the only borrowed code i can think of now, now named xah-extend-selection in xah-fly-keys, by Nikolaj Schumacher, fully credited in the inline doc still. (and that function is also in ergoemacs-mode, fully credited still, now lead by Matt F.)
Any code, that possibly may be considered borrowed, i'm painstaking to give credit, often taking sometimes a hour to find the person's REAL NAME correctly (as opposed to nicknames) (if public), personal site url or blog url or social network url if any, to link to, painstakingly ask the which url he prefers, and often ask permission too when it is clearly not necessary. One can find lots of “i learned this from xyz” in my website.
I learned emacs lisp, starting in 2005, the first 5 years with much help from comp.emacs or gnu.emacs.help newsgroup, and freenode's irc emacs channel, and emacs wiki. This is also fully credited. Xah's Emacs Tutorial: Acknowledgment http://ergoemacs.org/emacs/thanks.html linked at the bottom of my emacs tutorial.
I know lisp before. Read entire Scheme r4rs and 75% of SICP in 1998, 1999. These can be verified in newsgroup. I coded Wolfram Language for 6 years before 1999, and worked at Wolfram Research for half a year. I have several eassys documentinging these facts. For example: Xah Lee's Computing Experience (Impression Of Lisp from Mathematica) http://xahlee.org/PageTwo_dir/Personal_dir/xah_comp_exp.html
personally, i generally don't borrow code, because i'm rather one of those weird or aloof guy with meticulous control of things, down to every character placement. In my elisp life since 2005 to today, i must have stolen ideas, concepts. I can't recall explicitly which at the moment, but i can say in good faith that any non-trivial concepts i've used in my project i've given acknowledgement.
Note: i've been considered a troll in comp.lang.lisp and other newsgroups from about 2000 to 2010. There were many heated arguments, and there are some who will say negative things about me wherever my name is mentioned. I do not think of myself as a troll, and have written many essays on this. Netiquette Anthropology: a Tale of Tech Geekers http://xahlee.info/Netiquette_dir/troll.html
PS unrelated but instead of a separate post: I want to thank many people who have helped a year ago. That was a big help. Thank you. I do dish-washing part-time, and am ok.
though, i do have a question about this ...sometimes i find 1 normal link (do-follow) on a page is approprate for my reader (e.g. the content match, and i approve the site), so in that situation i would like to sell link (and absolutely with a CLEAR "sponsored link" text in plain view but not with “rel="no-follow"”. Afaik google doesnt approve do-follow sold links in anyway. I find this a bit problem because good links from commerial activity could be just as appropriate that benefits my reader.
any advice, or perhaps furture plans, on this?