Showing posts from September 5, 2010

emacs dynamic abbrev feature

Little very useful tip i think is underused.Type 【Alt+/】 to expand a word that is already in the buffer. Type that again to switch to the next possibility.Suppose your are coding in python. You have defined your own function “getStringInFile”. Now, when you need to type that again, just type “ge” then press 【Alt+/】. If the word is not you want, press that again.You can see all available choices by pressing 【Ctrl+Alt+/】.I used emacs daily since 1998, but didn't learn this command until about 2008.

rss, webfeed, feedreader, trends

Some juicy news.〈Facebook users have low self-esteem〉 (2010-09-09)〈The Death Of The RSS Reader〉 (2010-09-10) by Joseph Tartakoff. Source〈Twitter Has Killed RSS Readers -- Traffic To Google Reader Down 27% Since Last Year〉(2010-09-11) By Henry Blodget. At: SourceSee also:Advantages Of FeedBurner And Some Web Feed HistoryAtom Webfeed Basics

movie subtitle files “.sub”, “.srt”, “.ssa”, “.ass”

Discovered SubRip. It's a software used to extract subtitles from movie files, by using optical character recognization. Also, it saves its file in a plain text format with suffix “.srt”. This is extremely useful when you want to read the dialog of a movie. The format is supported by most video editors or players, including youtube.A more advanced but still widely supported subtitle format is SubStation Alpha, with suffix “.ssa” or “.ass”. It is also a plain text format.A older subtitle format is MicroDVD with suffix “.sub”. Also a plain text format. There are more. See: Category:Subtitle file formats.See also:Intro to Video Streaming and Video Audio CodecsSoftware for Video Capture and Screencasting

new programing langs: pure, vala, genie

New programing languages.Pure (programming language) @ (a pattern matching, term-rewriting lang.)Vala (programming language) @ (improved C)Genie (programming language) @ (like Vala, but python-like syntax)For a brief overview of major new langs, see: Proliferation of Computing Languages.

emacs tutorial accolades

Got this email last week:Dear Xah,I read much, but don't post. I've been aware of you for years. (Emacs user since it was written in (gasp) Teco. 1977? Probably.)I just got saved by your valuable article "The Confusion of Emacs's Keystroke Representation." Thank you.About ten times per day recently, I've solved problems and learned things from your tutorials. Thank you, (great emphasis) for writing them and making them available.I became curious about you and so I read a lot of read fast, read alot.You are famous, I see, as I recall, for being a troll. I do not understand (for some reason) how your "giving" side ( seriously helpful articles) and your "poking at the morons" side live in the same guy, but my not knowing is okay.I relate to a lot of the feelings you write, too. I should thank you for those writings, too, but that's one of my weird areas. I'm not going to do it now.Anyway, Thanks!—EirikurI…

new Clojure lisp books

There are several new books for Clojure, for you lisp fans.《Programming Clojure (Pragmatic Programmers)》 By Stuart Halloway. amazon《Practical Clojure (Expert's Voice in Open Source)》 By Luke VanderHart. amazon《The Joy of Clojure: Thinking the Clojure Way》 By Michael Fogus, Chris Houser. amazonThere's also a new Common Lisp book coming, scheduled to arrive next month.《Land of Lisp: Learn to Program in Lisp, One Game at a Time!》By Conrad Barski M.D. amazon

The End of Emerald; What Viewer to Use?

Perm url with updates: Viewer Banned by Linden Labs; What Viewer to Use?Get your Xah Particle Maker today! Xah Lee, 2010-09-08, 2010-09-09, 2010-09-10Emerald has just been ban'd by Linden Labs, effectively today.〈Emerald Viewer to be Blocked From Second Life〉 (2010-09-07), by Joe Linden, at: blogs.secondlife.comI've been wondering why the change. Can Emerald dev team be trusted? Apparently not. See these articles from The Alphaville Herald:〈Nelson Jenkins: Why Would Anyone Trust These Emerald Guys?〉 (2010-08-24)〈Was Vivox Chat p0wned by Emerald Developers?〉 (2010-08-30) Labs requested the Emerald team to remove these developers: Lonely Bluebird, Skills Hak and Discrete Dreamscape. Within the remaining Emerald team, Lonely refused to resign. The outcome is that Jessica left Emerald, and Linden Labs ban'd Emerald.Why would Linden Labs request these people off Emer…

multi-language cheatsheet

A great site comparing the basic syntax and constructs between Common Lisp, Scheme, Clojure, Emacs Lisp. If you know one of them, this site lets you learn the other very quickly. Am particularly interested in Clojure.〈Lisp: Common Lisp, Scheme, Clojure, Emacs Lisp〉 actually also have other sites.〈Scripting Languages: PHP, Perl, Python, Ruby, Smalltalk〉〈Scripting Languages: Bash, Tcl, Lua, JavaScript, Io〉〈Platform Languages: C, C++, Objective C, Java, C#〉〈ML: Standard ML, OCaml, F#, Scala, Haskell〉

Google's 「rel="nofollow"」 Rule

Perm url with updates:'s nofollow RuleXah Lee, 2010-09-08, 2011-02-03Am somewhat pissed by google's rel="nofollow" rule. Notice that the rel="nofollow" used in links actually passes w3c's validator. However, am not sure it is in any of w3c's html spec. Also, the nofollow seems to be a gimmicky by-product designed for companies that do search engines; it really have nothing to do with the goal of html as a communication format.Quote from Nofollow:The concept for the specification of the attribute value nofollow was designed by Google’s head of webspam team Matt Cutts and Jason Shellen from in 2005.[1]The nofollow HTML attribute was originally designed to stop comment spam on blogs. Believing that comment spam affected the entire blogging community, in early 2005 Google’s Matt Cutts and blogger’s Jason Shellen designed the attribute to address the problem.[2]The specification for nofollow i…

programer hand toys

Perm url with updates: Your Hand When Not Actually TypingWhen in a active type session such as coding or writing, perhaps more than 50% of the time your hand is actually not punching the keyboard. You constantly take a pause to read or think. This pause can be 1 second to 10 seconds or more. However, for many people, their hands are still tensed up during these times, ready to type. This is one major cause of RSI.Remind yourself to check your hands when you are not actually in action of typing or using the mouse. See if your hand is not completely relaxed.It's a good habit to develop to even remove your hand from the keyboard or mouse when you are not actively typing, even if the duration is just few seconds.Hand ToysHere's some fun toys i use that give my hand something to do, to take them away from the same muscle usage for typing or mousing.So when i'm reading or thinking, it's a habit to pick these toys up and play wit…

are you a persecuting moralist?

Wikipedia article Sideshow. Quote:Interest in sideshows declined as television made it easy (and free) to see the world's most exotic attractions. Moreover, viewing “human oddities” became distasteful as the public conscience changed, and many localities passed laws forbidding the exhibition of freaks. The performers often protested (to no avail) that they had no objection to the sideshow, especially since it provided not only a good income for them, but in many cases it provided their only possible job. The sideshow seemed destined for oblivion, until only a few exemplars of the ten-in-one remained. A greater number of “Single O” attractions still tour carnivals.That's a example of moralist doing harm to society. So, if you are such a moralist, e.g. you are the bleedingheart concerned about feminism, children, the poor and have-nots, chances are, you are doing more harm than good, and you are doing it to satisfy the fundamental psychological itch for having a worth in life.Se…

elisp tip: message and apropos-command

Tip for elisp coders. Often, while still writing your program and in the debugging process, you might put 「(mesage mystr)」 to print some variables. However, if your “mystr” happens to contain “%” char such as in url, then you'll get a mysterious error “Not enough arguments for format string”. Took me some time to trace a bug to this extraneous debug line. So:;; don't do this (message mystr) ;; do this (message "%s" mystr) Also, you know about apropos-command 【Ctrl+h a】 right? Useful to find the command you want. However, remember that it only list commands, not functions. When you are looking for the function you want, you can do a 【Ctrl+u】 first, so that apropos-command will also list functions.

chinese word for fuck

The correct word for fuck in chinese is 肏 (cao4). People often write 操, same sound, but incorrect word. Possibly this incorrect usage began as euphemism.The word 肏, is made up of 2 words. The top is 入 (ru4), meaning “enter”. The bottom is 肉 (ruo4), meaning flesh.

Emacs, RSI, My Experiences

Perm url with updates:, RSI, My ExperiencesXah Lee, 2010-09-05Recently, i had starting symptoms of RSI (repetitive strain injury). (For detail see: Left Wrist side-to-side Motion Pain; vi Esc key Syndrome) This page is some practical emacs and keyboarding advices i learned due to this experience. Keyboarding Advices Are Qualitatively Different Depending on Typing DurationI learned that typing advice matters depends on just how much one types a day. If you just type less than 1 hour a day like vast majority of computer users, qwerty or bad habits or bad keyboard is completely healthy! You could do this for 10 years and never have any problem.Big difference from coders who actually actively have fingers pressing keys a accumulated total of 3 hours a day, to some who have 10 hour sessions and actually type 6+ hours a day, and compared to data entry clerks who has fingers pressing keys for ~8 hours a day fast and non-stop.For the …

spread ErgoEmacs

Created a ErgoEmacs online forum invitation, like this: Join ErgoEmacs's Discussion Forum! Email: If you are a ErgoEmacs user, please join. You can subscribe with abridged or digest format with 1 email per day. Many webfeed are available at you like ErgoEmacs, you can place the following on your website or blog to spread ErgoEmacs. <tableborder="0"> <tr><td> Join <ahref="">ErgoEmacs</a>'s <ahref="">Discussion Forum</a>! </td></tr> <tr><td> <formaction=""> Email: <inputtype="text"name="email"> <inputtype="submit"name="sub"value="Subscribe"> </form> </td></tr> <tr><tdstyle="vertical-align:middle"> <imgsr…

lisp macros and Practical Common Lisp

Perm url with updates: Macros and Practical Common LispXah Lee, 2010-09-05Xah Lee wrote:... and i think the Practical Common Lisp book is idiotic.Sometimes when i post to tech geeker groups, some spice is added on top of my opinions to make it more pungent.No doubt, such also garner bad rap for me, and distanced many who otherwise might be friends.Peter Seibel, the author of 《Practical Common Lisp》, will probably see my message (if not already), and think i'm a troll. And if the person in question has some social standing or good sense, typically they just ignore me, but otherwise, often the geeker (fledgling student or nameless old fart) will mark me red and chase me here or there online.Hehe. That's called: the human nature.After being such a person for about 10 years now, i admit that some of my words is quite off color, and not true, or in literary words: offensive hyperbole.O well but a troll is a…

emacs diredPlus mode

Installed the “Dired+” mode, by Drew Adams. It's a very nice enhancement to dired. See its home page at DiredPlus for many screenshots and features. To installed, just place the file at 〔~/.emacs.d/dired+.el〕, then put this code 「(require 'dired+)」 in your emacs init file. Optionally, byte-compile it to make it load and run faster.Initially, i needed a way to omit some files in a dired buffer. DiredPlus does the job. If you don't know what dired is, see: File Management with Emacs (dired tutorial).