emacs 23, modernization

On Jul 31, 9:20 am, skyspace wrote:
> On Jul 28, 10:25 am, Xah Lee wrote:
> > recently ran into this guy:
> http://en.wikipedia.org/wiki/Jakob_Nielsen_%28usability_consultant%29
> > interesting. I think emacs could use some advice there.

> Indeed nice.
> and interesting idea.
> How you would start?

after reading some of the criticism links, i think that guy is somewhat kooky. His user interface expertise is mostly web only i think ...

As for emacs... i think there are few user interface changes emacs could use. Emacs 23, released yesterday, has visual line arrow key movement and highlight text selection, which are great. There are few i think emacs could go after. e.g. have typing or delete key replace selection automatically (delete-selection-mode). This comes naturally when you have text selection on.

For those interested, please see

• The Modernization of Emacs

∑ http://xahlee.org/


how to set Windows env var with PowerShell?

How to add a Windows envirenment var permanently with PowerShell?

The PowerShell Cookbook by Lee Holmes says this:

$oldPersonalPath = [Environment]::GetEnvironmentVariable("PATH", "USER")
$oldPersonalPath += ";d:\tools"
[Environment]::SetEnvironmentVariable("Path", $oldPersonalPath, "User")

however, when i do

[Environment]::GetEnvironmentVariable("Path", "User")

nothing is returned. Piping it to get-member returns the error: Get-Member : No object has been specified to get-member.

I can do the following but it's just per session.

$env:path = $env:path + ";C:\Users\xah\PowerShell scripts\"

A quick search in this group doesn't seems to find answer.


∑ http://xahlee.org/


Larry__Weiss wrote:
> Read this article and especially note the caveat regarding restarting PowerShell.



> > [Environment]::GetEnvironmentVariable("Path", "User")
> > nothing is returned.

apparantly my problem was the wrong variable. There's no “Path” env var of User category on my machine.

I now try:

[Environment]::GetEnvironmentVariable("Path", "system")

but that's a error. Apparantly the name is not “system”. What should i put for the second param? It's not clear to me where i'd find this info. Am still grobing Windows system and docs...

∑ http://xahlee.org/


Xah wrote:
> > I now try:
> > [Environment]::GetEnvironmentVariable("Path", "system")
> > but that's a error. Apparantly the name is not “system”. What should i
> > put for the second param? It's not clear to me where i'd find this
> > info. Am still grobing Windows system and docs...

Larry__Weiss wrote:
> Read the error message in its entirety. Doesn't it tell you what the valid
> values are for that second argument?

Doh! Thanks.

> Were you able to get to the text of this article?http://www.microsoft.com/technet/scriptcenter/resources/pstips/dec07/...

Yes. Did read the whole thing. Thanks.

∑ http://xahlee.org/

which lisp to learn?

On Jul 27, 12:32 pm, Dom wrote:
> I have some time on my hands, and I'd like to teach myself LISP. Any
> recommendations on a free download? I've seen PICO Lisp, but I really
> know nothing about.

Try emacs lisp. Just download emacs and it's there, all integrated.

emacs lisp is most practical. You might check out my tutorials:

• Xah's Emacs Tutorial

• Xah's Emacs Lisp Tutorial

Here's my argument for emacs lisp, as opposed to Common/Scheme Lisp:

• What Is Your Favorite Lisp

∑ http://xahlee.org/

device bandwidth comparison

i wouldn't rely on usb for video. The bandwith is simply not sufficient. Tricks of compression might passably make it work... but that prob means other side effects such as maxing out your cpu.

Here's informative link about device bandwidths:

it used to be simpler where you can get a feel of comparative speed of different devices (scsi, usb, firewire, ethernet, vhs, dsl, pci, ram etc). But now the page is quite rich and categorized and detailed but harder get a over view.

Here's a simpler table i compiled in the past:

• Digital Communication Bandwidth

∑ http://xahlee.org/


powershell get-alias doesnt work for get-help?

I have a little question about aliasse.

When i do:

get-alias -name get-help

i expect it to return “help”, but i got this error instead:

Get-Alias : This command cannot find a matching alias because alias with defini
tion 'get-help' do not exist.
At line:1 char:10
+ get-alias <<<< -definition get-help
+ CategoryInfo : ObjectNotFound: (get-help:String) [Get-Alias], I
+ FullyQualifiedErrorId : ItemNotFoundException,Microsoft.PowerShell.Comma

I tried using

get-alias -definition get-help

but same result.

If i just type “get-alias”, then “help” is returned as one of the item, so apparantly help is a alias to get-help.

What's going on?

∑ http://xahlee.org/


how to display utf-8 encoded files in Windows Console?

How to display utf-8 encoded files in windows console?

when i do

get-content some-utf8-file.txt

the unicode chars in that file displays as gibberish.

I did some search on window console, it seems it can display unicode but didn't find the exact solution. The chars in question is chinese chars and some math symbols. They display fine in IE and notepad.

the option -encoding for get-content seems to be output only.


∑ http://xahlee.org/

Xah Lee wrote:
> How to display utf-8 encoded files in windows console?

On Jul 26, 12:37 pm, Larry__Weiss wrote:
> Maybe this article is related to that?
> http://blogs.msdn.com/powershell/archive/2006/12/11/outputencoding-to-the-rescue.aspx

On Jul 26, 2:57 pm, Joel Bennett wrote:
> You can't. The console can't display most unicode characters, even
> though you can do whatever you want with them in scripts.
> That's the main reason why the PowerShell team created ISE.
> I don't know, off the top of my head, what the level of Unicode support
> is in the third party consoles like PS+ or PowerGUI -- it should work ok
> in my PoshConsole though ;)

Thanks a lot to both! That solved the problem.

In summary, set:

$OutputEncoding = New-Object -typename System.Text.UTF8Encoding

then, to display a utf-8 file, i do

get-content -encoding utf8 myfile.txt

Now, chinese shows as squares instead of gibberish. Some math symbols shows correctly though.

After little research, i tried to set the console's font to Lucida Console, still no go, even though the file displays fine in notepad which uses Lucida Console.

But the Windows PowerShell ISE solves the problem! I'll be using ISE now.

a little puzzle though... according to the blog

he seems to display chinese fine. Maybe the script output in the blog is from ISE too.

∑ http://xahlee.org/

emacs file encoding: with-signature?

when using set-buffer-file-coding-system
(emacs 23), i get the following choices with utf-8:

Possible completions are:
utf-8-auto utf-8-auto-dos
utf-8-auto-mac utf-8-auto-unix
utf-8-dos utf-8-emacs
utf-8-emacs-dos utf-8-emacs-mac
utf-8-emacs-unix utf-8-mac
utf-8-unix utf-8-with-signature
utf-8-with-signature-dos utf-8-with-signature-mac

what is the "with-signature" mean? is it the unicode BOM marker?
and what about "emacs"? Is that the emacs 22's internal encoding system?

∑ http://xahlee.org/

I got the answer. Just do list-coding-systems and result will answer with short description. Basically yes to both above.

∑ http://xahlee.org/

open source; basic economics

On Jul 26, 7:33 am, "Dr. Brian Leverich" wrote:
> No, actually, FOSS is about taking innovation directly
> from the creator to the masses, cutting out the parasitic
> commercial middleman.

This gotta be the most ignorant statement in this thread.

I recommend any open source idiots to read this book:

Basic Economics, by Thomas Sowell.

Convenient Links:

http://www.amazon.com/Basic-Economics-3rd-Ed-Economy/dp/0465002609 (3rd ed)

http://www.amazon.com/Basic-Economics-2nd-Ed-Citizens/dp/0465081452 (2nd ed)



notes, summary, reviews


See also:

• On Microsoft Hatred

• The Microsoft Hatred FAQ

• Communism, American, and Open Source

∑ http://xahlee.org/


popularity of PHP & Python

PHP is popular because it is geared for the server-side web scripting lang, and simpler and easy to use, than popular free alternatives at the time (such as Perl and Java's JSP).

Python became popular primarily because its ease-to-read syntax.

Btween the two, PHP is much easier to use, and much a pleasure to program in. Python is a pain in the ass.

PHP is functional. The language is not elegant, lots of inconsistancies. However, it's a joy to use for any practical task in its web scripting field. PHP has one of the best documentation among open source computer languages, i'd say top 5.

Python is a twist, with half-assed lambda, a culty community thinking "computer science R us", and it has this OOP obsession. The Guido guy do not understand functional programing, but has the pleasure to actitively badmouth it.


• Language, Purity, Cult, and Deception

• What Languages to Hate

• Lambda in Python 3000

• Python Documentation Problems

• Examples Of Quality Documentation In The Computing Industry

• Xah's Perl and Python Tutorial

• Xah's PHP Tutorial

∑ http://xahlee.org/


powershell: how to out-file to unix line ending

how to get a output to have unix styled newline?

I wanted to do something like this:

get-content $inputFile | select-string 'something' | ... | out-file -Encoding utf8 -width 999000 log_report.txt

I'm hoping that out-file has a option something like “-newline unix”, but doesn't.

I tried this:

get-content testFile.txt | &{$input -replace "'r'n","'n" } > testFile2.txt

but that doesn't work. Apparently, the > operator again made it DOS line endings.

am unix sys admin & programer for years. New to Windows. Thanks.

∑ http://xahlee.org/


ssh to remote unix from Windows

what's the typical way to do ssh login to a remote unix on Windows Vista?

in unixes, typically one just launch a terminal app, then type ssh xyz@example.com. Typically i use a text terminal to login to remote computers to do sys admin.

I'm aware that on Windows there's a terminal app PuTTY, which is a third party software. But i wanted to know typical Window people's ways for this. e.g. or people at Microsoft, when they need to login to a remote unix based machine, what do they use/do?

as far as i know, cmd.exe or powershell doesn't include a ssh command line utility.

(am a long time unix admin (solaris, OSX). Recently switched to Windows as personal machine at least. I have cygwin and all installed, but wanted to pick up Window's practices and tech)


∑ http://xahlee.org/


emacs inserting unicode chars

On Jul 17, 11:51 am, Alberto Simões wrote:
> Hello
> Is there any way to visit an unicode table from within emacs? Or, for
> instance, inserting the caracter using its name.

don't think it is possible to insert a unicode char by its unicode name. (Florian gave code for that i guess)

though, there are several ways to easily find and insert unicode chars you want in emacs, by ascii markup, by your personal frequently used char set, by particular lang's input methods, by code point, etc.

this page gives some detail.

• Emacs and Unicode Tips

i think it'd be useful for emacs to have some visual char map that lets you select or view a category of chars for easy insertion.
(as in OS X's Character Pallette or Windows Character Map)
Shouldn't be diffucult to write one in elisp but as far as i know it havn't been done.

∑ http://xahlee.org/


syntax coloring your own comment syntax in emacs

On Jul 15, 4:37 am, gento wrote:
> Hi All,
> I'm using emacs to edit journal text files *.jou, for which the
> commented lines
> starts with the character "/".
> I got two working solutions to have emacs recognize the "*.jou" files
> and
> apply the corresponding comment syntax automatically.
> Namely I add to the .emacs file either
> (require 'cl)
> (push '("\\.jou$" . (lambda () (text-mode) (setf comment-start "/")))
> auto-mode-alist)
> or
> (add-hook 'find-file-hooks
> (lambda ()
> (when (string-match "\\.jou$" (buffer-file-name))
> (setq comment-start "/")
> )
> )
> )
> For the moment I'm using the latter macro.
> Now I would also like to enable the syntax highlighting for comments.
> Does anybody know how I can modify one of the previous code snippets
> in order to turn the text of the commented lines into red ?
> I appreciate any help.

for syntax coloring comment, and if your comment syntax is simple as used in most popular langs, then, all you have to do is to setup emacs's syntax table for the comment chars, then syntax coloring will automatically work on comments.

like this (code untested):
(modify-syntax-entry ?/ "< b" jou-mode-syntax-table)
(modify-syntax-entry ?\n "> b" jou-mode-syntax-table)

for detail, see:

• How To Add Comment Handling In Your Major Mode

The best thing i think in your case, is just to create a mode for your .jou file. It's pretty easy. This tutorial may help:

• How To Write A Emacs Major Mode For Syntax Coloring

your code plus the syntax coloring and commenting command should be no more than 50 lines. Prob 20 will do. Once you have a mode, say jou-mode.el, than you can have this code associate the mode with .jou files:

(add-to-list 'auto-mode-alist '("\\.jou\\'" . jou-mode))

try my tutorial and let me know if it solves your problem.

∑ http://xahlee.org/

ergoemacs update

Hi all,

i just created a google group for discussing ergoemacs at:

Please join and post your questions, suggestions, complaints.

if you have a bug report, please feel free to post a issue at

also, just released a new version 4.3.10 for dvorak and qwerty. This new version features the following updates since last public release of 4.3.6 few months ago. Also, there's a new version for Colemak layout, thanks to “vockets”, “postivan”, Graham Poulter.

;; version 4.3.10, 2009-06-14 • fixed a previous/next reversal for f11/f12 keys in rcirc-mode-hook. • diff-mode uses some bindings in M-‹key› space. Fixed by adding a diff-mode-hook. (thanks to lwarxx)

;; version 4.3.9, 2009-06-14 • unbind C-x 3 (use Alt+@ for split-window-horizontally) • unbind C-M-% (use Alt+% for query-replace-regexp). • unbind C-@ (use Alt+SPACE for set-mark-command). • unbind M-{ (use Alt+U for backward-paragraph). • unbind M-} (use Alt+O for forward-paragraph). Thanks to marciomazza

;; version 4.3.8, 2009-06-14 • added 【】 to select-text-in-quote.

;; version 4.3.7, 2009-05-27 • ibuffer's M-s changed in emacs 23, such that M-s is now a prefix. For Dvorak users, M-s should be isearch. This is reclaimed to be isearch. For qwerty users, M-s should be other-window. Fixed.

2 weeks ago it was mentioned in hacker news

and there was a number of issues/ideas/suggestions posted at google code. I didn't notice the new issues until after several months (since afaik google code doesn't provide notices for new issues posted). So i thought a discussion group could be helpful now. Good for announcement of new versions, or any questions, discussions.

∑ http://xahlee.org/


emacs: how to find out a major mode's keymap name

On Jul 13, 12:38 am, Florian Kaufmann wrote:
> Hello
> How do I find out the name of the current major's mode key map? Say I
> want to add a new keybinding that I can use in the "find-file"
> minibuffer.

your question and your example doesn't match. When you are in mini buffer, a minor mode is in effect. In this particular case, it is minibuffer-local-map.

anyway, here's a page describes exactly how you findout a major mode's name and its key map name (if any), or what key map it actually uses. Also a example about minor mode.

• How To Reclaim Keybindings In Emacs

∑ http://xahlee.org/


emacs on Windows dired don't known Z gunzip

On Jul 12, 12:29 pm, Eli Zaretskii wrote:
> > From: Xah Lee
> > Date: Sat, 11 Jul 2009 22:14:33 -0700 (PDT)
> > when using emacsW32, in dired, i press Z to uncompress a file, but i
> > got this error:
> > apply: Searching for program: no such file or directory, gunzip
> > any idea how to fix that?
> Make sure gzip.exe is in some directory mentioned in exec-path (inside
> Emacs) or in Path (outside Emacs).
> > I have cygwin installed. “which gunzip” shows “/usr/bin/gunzip”.
> There's no such thing as "/usr/bin/gunzip" on Windows: every absolute
> file name must begin with a drive letter or two slashes. Cygwin hides
> the drive letter (and possibly also a few leading directories) to
> pretend there's a Posix-standard directory tree on your machine, but
> that's an illusion that only Cygwin programs can share. EmacsW32,
> being a native Windows program, cannot.
> > Manually gunning gunzip or gzip -d with shell-command works fine.
> Probably because your shell is set to the Cygwin shell. But Z invokes
> gzip via call-process, which bypasses the shell, so you need to play
> by the Windows rules.

thanks a lot. very informative.

after looking into this with your help, i think my problem is about emacs unable to execute unix shell script.

pressing Z in dired to compress a file is no problem. The problem is with uncompressing. The gunzip is located at


however, it is just a shell script, the content is:

exec gzip -d "$@"

So, it seems to me, dired of emacs on Windows is unable execute this unix shell script as is...

any suggestion on getting emacs to call gzip -d directly?

at this point, a easy practical solution is just to define the key Z in dired and hook it to my own function that parse file name to determine to compress or uncompress than call shell-command with gzip... modding dired elisp file seems will take much longer ...

thanks for any thoughts.

∑ http://xahlee.org/


emacsW32 can't find gunzip?

when using emacsW32, in dired, i press Z to uncompress a file, but i got this error:

apply: Searching for program: no such file or directory, gunzip

any idea how to fix that?

I have cygwin installed. “which gunzip” shows “/usr/bin/gunzip”. Manually gunning gunzip or gzip -d with shell-command works fine.

GNU Emacs (i386-mingw-nt6.0.6002) of 2009-05-28 on LENNART-69DE564 (patched)

∑ http://xahlee.org/


why post on comp.lang.lisp

Don Geddis wrote:
> So, why do you post on this newsgroup, c.l.l? It's clearly for people who
> are interested in Lisp. If you're not, why are you here?


• Why do I Rant In comp.lang.lisp?

In the past, i wouldn't have answered your idiotic question, because it is off topic and all. But now i do, taking it as a chance to speak for myself. Why? See:

• How Shall I Respond?

On retrospect of the article “Why do I Rant In comp.lang.lisp?”, i ask myself whether i have achieved something about creating a book length collection of my ideas and opinions. I must say yes i have. For example, especially in the past few years, usually when i argue with the tech geekers online, i can usually pull out a collection of some 5 or 10 essays of my opinions or tech expositions on a some particular argued topic. For example of this, recent debate about lisp1 vs lisp2 in this very thread, i pulled out 10 essays about jargons:

• The Importance of Terminology's Quality In Computer Languages

• Jargons of Info Tech Industry

• Why You should Not Use The Jargon Lisp1 and Lisp2

• The Term Currying In Computer Science

• What Is Closure In A Programing Language

• What are OOP's Jargons and Complexities

• Interface in Java

• Math Terminology and Naming of Things

• Politics and the English Language

btw, your idiotic reply:
> So, why do you post on this newsgroup, c.l.l? It's clearly for people who
> are interested in Lisp. If you're not, why are you here?

is actually wrong, and is a common response to me in the past 10 years. People say that to me on Perl, Python groups, as well. I guess i could spend few hours now and write another essay focused on expounding this issue... and creating a addition to my essay collection. Not sure i feel like that now though. But to quip, why are YOU not interested in lisp?? if not, why r u here?? arn't u trolling?

Thanks for your troll, cause, without trolls like u, i wouldn't have the chance, the spur, to have created my essays in the past decade.

∑ http://xahlee.org/


lisp vs prolog vs haskell?

On Jun 23, 7:18 pm, Jon Harrop wrote:
> !!!@!!! wrote:
> > I'm not trying to start a flame war about which one is the best. Could
> > anybody explain me each of these languages features and strong points ?
> Common Lisp is strict evaluation, dynamic typing with macros (to rewrite
> code at compile-time) and run-time code evaluation. Was a pioneering
> functional language decades ago but has long since been superceded. Has no
> particular strengths today and, hence, is very rare. Main weaknesses are
> baggage, poor performance, bad implementations and a really backward
> community. The only notable development around Lisp for a decade is the new
> programming language Clojure that runs on the JVM. In particular, Clojure
> addressed many of Lisp's major problems by dropping the baggage, building
> upon a performant VM with a concurrent GC and stealing all of the
> intelligent members of the Lisp community.
> Haskell is non-strict evaluation and static typing. Is a research language
> used to implement many radical ideas that are unlikely to be of any
> immediate use. Main strength is that it abstracts the machine away
> entirely, allowing some solutions to be represented very concisely. Main
> weakness is that it abstracts the machine away entirely, rendering
> performance wildly unpredictable (will my elegant program terminate in my
> lifetime? who knows...).
> I know little about Prolog except that it was designed specifically for
> logic programming (i.e. solving problems by specifying relations and
> searching for solutions) and that some of our customers use it.

i heartily disagree.

In my opinion:

• lisp = useless old shit.

• haskell = useless academic shit.

• prolog = useless old and academic shit.

• Qi Lisp = Academically confined. Esoteric. Abtruse. Unreadible. Doomed.

• Clojure lisp = of little future due to competition.

• Mathematica = Widely used. Wildly successful. witness A New Kinda Science & Wolfram Alpha.

• OCaml = Widely used. Wildly successful. Almost all formal proof systems that are actively used are written in OCaml. And Microsoft giant's version of OCaml, the F#, with .NET, is about to wipe out the planet of imperative monkies.


• Language, Purity, Cult, and Deception

• Proliferation of Computing Languages

• What Languages to Hate

• Xah's OCaml Tutorial

∑ http://xahlee.org/

emacs, problem with Return shortcut

On Jul 9, 7:27 am, Miles Bader wrote:
> Alan Mackenzie writes:
> > Hey, stop being so enigmatic! I think the OP only wants Shift Return
> > for his own use, which should be OK. So please tell him (and me) what
> > this other complexity is.
> He's just looking for an excuse to flog his screeds...
> -Miles

Thanks Miles. ^^

Well, perhaps just a sentence or two to answer Alan.

Basically, for good or bad, emacs does not capture the key by itself, but goes thru ascii representation in its implementation... my phrasing here is not exactl but don't want to spend too much time writing this. Basically, the end result is that when people want to map keys like Tab, Return, or with modifiers, it has many complexities. Many threads asked or discussed these in the past year or two here.... another example comes to mind is that emacs is unable to capture Ctrl+Shift+key combos in terminal. Perhaps historically justifiable... but today's apps that goes thru network don't have this limitation...

∑ http://xahlee.org/

On Jul 9, 10:21 am, des...@verizon.net wrote:
> Xah Lee writes:
> > On Jul 9, 7:27 am, Miles Bader wrote:
> >> Alan Mackenzie writes:
> >> > Hey, stop being so enigmatic! I think the OP only wants Shift Return
> >> > for his own use, which should be OK. So please tell him (and me) what
> >> > this other complexity is.
> >> He's just looking for an excuse to flog his screeds...
> > Well, perhaps just a sentence or two to answer Alan.
> > Basically, for good or bad, emacs does not capture the key by itself,
> > but goes thru ascii representation in its implementation... my
> > phrasing here is not exactl but don't want to spend too much time
> > writing this. Basically, the end result is that when people want to
> > map keys like Tab, Return, or with modifiers, it has many
> > complexities. Many threads asked or discussed these in the past year
> > or two here.... another example comes to mind is that emacs is unable
> > to capture Ctrl+Shift+key combos in terminal. Perhaps historically
> > justifiable... but today's apps that goes thru network don't have this
> > limitation...
> I'm not sure what this is all about, I never saw the original post.
> But binding something to shift return doesn't seem to be a big problem.
> Try evaling this:
> (define-key global-map [(S-return)] 'compile)
> It works for me.
> I don't expect it would work in a TTY, but that's an issue with the TTY
> not emacs. For some TTY programs even that can be fixed.

Yes. That touches the point.

here's a example to illustarte what i was saying:

(define-key global-map (kbd "RET") 'forward-word)

now press Ctrl+m, you see that it also does forward-word.

To a emacs geek, perhaps this is natural, however, to any average programer or logically, pressing Return key certainly is not the same as pressing Ctrl+m.

This is what i was saying about keybindings involving Return, Tab (and few others) has some rather unexpected complexities in emacs, and, i was saying, these complexities has to do with how emacs implemented the key capture, and i was saying that in modern apps, usually they don't have this problem.

emacs being a old app, is what it is. I'm trying to communicate a few facts here as mentioned by this thread.

This emacs issue, certainly is not optimal. I don't know if it is worthy a fix. But i feel it should be known.

∑ http://xahlee.org/

Erik Naggum and the phrase RIP


it is curious, that over the web, you see Erik's obituaries are almost all titled like “RIP ...”. e.g.

“Erik Naggum, R.I.P.” Kent Pitman

“RIP, Erik Naggum” by Zach Beane

“My Dinner with Erik” by Ron Garret

“RIP Erik Naggum” by Rolf Marvin Bøe Lindgren

“Erik Naggum” (2009-06-20) by Hogne Bø Pettersen

“Erik Naggum (1965-2009) RIP” by “Kjetil”

“Erik Naggum, 1965-2009 RIP” by Ruben Olsen

“Erik Naggum, 1965-2009 RIP” by Tim Bray

When i was writing a memorial of Erik, i also needed a title, and thought about it.

“RIP ...” is a customary phrase to indicate someone just died. It is a euphemism of sorts. RIP stands for Rest In Peace. Digging into it, the phrase Rest In Peace implies some belief in a soul, that when a person dies, this “soul”, or perhaps the dead body, would take the action of “rest”, with the hope of “peace”.

on writing this, i looked up Wikipedia

oh, so it actually is latin in origin, standing for “Requiescat in pace”, but basically just means rest in peace too. However, the article did not give any etymology from social aspects. That is, why did people say “Requiescat in pace” when a beloved died. Was this a custom? When? in what region?

When writing, my question is, why should we follow this customary phrase, other than the sake of tradition? For example, a obituary, or memorial, could be titled “Beloved Erik Naggum is Dead”, “In memory of Naggum”, etc.

For me, when i wrote my essay on Erik, i thought about this, and in the end decided to title it “Death of a Troll”. To me, this is quite a fitting title for Erik. The title suits my style of writing as well. (me, am known as a troll; my newsgroup style of writing, is catered to irritate a particular group of people who are tech-savy but socially illiterate, of which i term the tech geekers). My title is fitting because Erik is, perhaps, best known as a Troll. One may have many definitions for the word troll, or that the word is too much abused and has become just a derogatory epithet... but in any case, Erik is known, perhaps best known, as a troll, possibly even the biggist one in newsgroup history, and now he's dead. Thus: “Death of a Troll.”. In obituaries, usually there's a tacit convention to avoid the term “death”. For example, instead saying directly “John is dead”, people say “passed away” or “1950-2001”. The invocation to the concept of soul or even religious beliefs, and the euphemism aspect of these conventional obituary titles, annoy me. Erik, being a direct, confrontational, type of person (at least his online persona), and being not religious, am pretty sure these phraseologies are probably not something he'd be fond of neither.

I dig into these seemingly trivial details of english usage, because i'm a independent thinker, and perhaps also due to the fact that English is not my native tongue. Of Erik's writings, perhaps the aspect i appreciate the most, is his english writing style and diction usage. They are quite unusual and unique, that showcases a mastery. This is what i appreciate Erik the most — his independent mind.

∑ http://xahlee.org/

Erik Naggum's collective writings?

I'm thinking that there should be a archive of all Erik's writings, at least all his newsgroup writings.

in a sense it is all in newsgroup archives, but am thinking perhaps someone would collect them so it's easier to access?

Also, erik's own website

am not sure how much info he has on his website. (have browsed it over the years, it appears to me not many, but anyway.)

i'm hoping, perhaps someone, or perhaps his family, friends, would want to do this, of collecting all his writings in one place?

my guess is that Erik probably have merticulously saved all his postings himself. My guess is that he wouldn't mind to share them. At least, it shouldn't be a problem to republish all his public postings in one place.

i don't know who's Erik's legal benefactor that inherits all his belongs... don't know if this person knows about computing. If not, i could help out to kinda sort them or put them online, and am sure many Erik's friends would be willing to help on this.

∑ http://xahlee.org/

On Jul 9, 12:18 pm, Marek Kubica wrote:
> On Thu, 9 Jul 2009 07:24:47 -0700 (PDT)
> Xah Lee wrote:
> > my guess is that Erik probably have merticulously saved all his
> > postings himself. My guess is that he wouldn't mind to share them. At
> > least, it shouldn't be a problem to republish all his public postings
> > in one place.
> Google Groups has a record of his posts, how about this?

google group search function is pretty broken since about this year or last year.

if you search Erik Naggum, or by 2 of his widely known email variations, or any parameter in google search, and save all result pages, i'd guess less than 50% of his posts turns up.

asides from missing posts or the problem of finding them, it is also inconvenient to use.

it'd be better if there's a website that collects all his writings. e.g. many socially important people has such website, e.g. people done that for Edsger Dijkstra, Bertrand Russell, Emily Dickinson... etc. Erik may not have such status, but still, am guessing many people in the lisp community would like to see his collected rants. I certainly would.

∑ http://xahlee.org/

On Jul 16, 1:21 am, Nicolas Neuss wrote:
> Xah Lee writes:
> > I'm thinking that there should be a archive of all Erik's writings, at
> > least all his newsgroup writings.
> > in a sense it is all in newsgroup archives, but am thinking perhaps
> > someone would collect them so it's easier to access?
> Hi,
> I just learned (in a mail of Franz' tech corner) that Zach Beane has
> collected a lot of them:
> http://xach.livejournal.com/221433.html
> Thanks, Zach! I'll think I'll (re)read one a day.
> (Today, it was which I didn't know.
> Very nice.)
> Nicolas

Zach's site collects less than 100 of Erik's posts. They are less than 0.1% of Erik's public posts. Zach's collection is great for a glimps of some of Erik's better tech rants.

I'm hoping this thread gets passed around to those close to Erik.

For those of you who are really interested to see such comprehensive collection, perhaps it should be made known publically. Here, or on your blog etc.

Also, am pretty sure some old timer must have archived the entire comp.lang.lisp during the time he's reading. Perhaps such person would have a interest to make it public? With that, it's then very easy to filter and form a collection of all Erik's posts, at least for comp.lang.lisp. (if you know such person candidate, please let them know about this)

∑ http://xahlee.org/

shift-return in emacs

this is a weak point in emacs. For detail, see:

• The Confusion of Emacs's Keystroke Representation

several people have given you answer on how to represent shift-return.

i wanted to add that, key combo like Shift Return is better avoided, because there's another complexity in emacs with the Enter/Return key, somewhat tied to Ctrl+m in complex ways. The upshot is that when trying to define keys with return, you migth run into all sort of problems or puzzles.

∑ http://xahlee.org/


mac vs pc

Xah Lee wrote:
> • Switching from Mac/Unix To PC/Windows
> http://xahlee.org/mswin/switch_to_windows.html

Kenneth Tilton wrote:
> You just discovered PCs are cheaper?
> The funny thing is that that is Microsoft's answer to the Apple Mac-PC
> ads, they show people shopping for computers and just comparing hardware
> and price as if this is some kind of breakthrough. But I understand:
> they have no answer to Windows being such a nightmare and the Mac being
> such a joy.

well, i've been owning Macs for over the past 19 years. From a dedicated fan thru-out the 1990s, to still fan in early of 2000s with debut of OS X.

Mac prices in comparison to PC has gone up and downs. In the early 1990s for example, it is maybe 4 times more. Lowest is probably in the mid 1990s, where 3rd party companies are licensed to producing clones, and that happens to also be a period that Mac OS is the worst, crashing few times per day, similar to Win 95 and 98. I think in the early 2000s the price gap came closer, and since maybe 2005 it start to increase again.

for someone like me, i've read all the pros and cons of Mac vs PC. I've read, for instance, basically all MacWorld and MacUser mags in the early 1990s until they become defunct. (and often MacWeek too) Not to mention the huge amount of websites, especially in the late 1990s where there are a number of high profile dedicated mac fan sites. I also have often attended the yearly Mac World Expo, eagerly antipating Steve Job's “O, one more thing...” etc... and etc and etc. As a hyperbole, i've prob read more Mac vs PC argument from newsgroup users combined. LOL

as to the price comparison... a better metric is value/price ratio. I think, over the past 20 years, the value/price ratio of Mac compared to PC, namely:


is going down, starting with Windows NT 4, and going downhill quickly with Windows XP, and Vista, .NET.

as far as SOFTWARE technology goes, Apple's falling lamer and lamer from its 1990s mountain top of lisps and hypercards and desktop publishing stuff. Microsoft Windows, starting from MS-DOS moronicity, today, with its .NET, F#, PowerShell, is quite beyond Apple's perpetual diddling with its prettification of OS X.

∑ http://xahlee.org/

switch from unix to Windows

Dear unixers & lispers,

i've been using Mac for the past 19 years, and been a professional sys admin or web app developers on the unix platform, since 1998 (maily Solaris, Apache, Perl, Java, SQL, PHP). In june, i bought a PC (not for the first time though), and made a switch to Windows, for the first time, in the sense as a developer instead of just a casual PC user i've been.

In the past month, i've spend about 5 hours a day digging into MS Windows tech, in particluar, read over 200 Wikipedia articles in detail related to Windows technology. (192 of them linked)

Here's a write up of the whole story, my experiences, including some tech introduction to MS Windows from a sys admin or programer point of view.

• Switching from Mac/Unix To PC/Windows

Some slightly noteworthy subsections are:

• Removing HP/Compaq Software

• Installing Cygwin Tutorial

• Mac and Windows File Conversion

• Unix And Windows File Permission Systems

• Introduction to Windows Scripting

Some articles (not shown above) are still work in progress, such as VBScript tutorial and PowerShell tutorial. Hoping to complete in the coming months or years.

comment & feedback welcome, esp if you are a Windows expert and answer some of my unanswered questions on the page.

∑ http://xahlee.org/


lisp code formatting

On Jul 2, 8:41 am, Marc Tfardy wrote:
> Xah Lee schrieb:
> > you might try the latest version of ergoemacs
> WTF is ergoemacs??? :-o
> >http://code.google.com/p/ergoemacs/

Hi Marc,

There were numerous huge flame wars in the past couple of years regarding this. Perhaps you are a new comer. :D

> http://ergoemacs.googlecode.com/files/ergonomic_keybinding_qwerty_4.3...
> Who really need this? And what is better in you own key bindings
> compared to standard emacs? (except for your private preferences of
> course.)
> BTW:
> - bad parens
> - poor indent
> - too long comments lines

Here's some answer to your skeptism.

The Reason for ergoemacs is:

• Why Emacs's Keyboard Shortcuts Are Painful

> - bad parens
> - poor indent
> - too long comments lines

The reason that my elisp source code's formatting not always being have 100% lisp convention is because partly lazy and partly consider this formatting issue is a major myth that causes major harm to the industry. Here's some essays about it:

• Fundamental Problems of Lisp
(see the section “Automatic, Uniform, Universal, Source Code Display”)

• The Harm of Hard-wrapping Lines

• Tabs versus Spaces in Source Code

The following essays are on some feature that could've been:

• A Simple Lisp Code Formatter

• A Text Editor Feature: Extend Selection By Semantic Unit

∑ http://xahlee.org/

email address changing pain

On Jul 2, 2:13 pm, Tim Bradshaw wrote:
> On 2009-07-01 10:07:38 +0100, r...@rpw3.org (Rob Warnock) said:
> > But to do this "properly" would require starting with a *very* much
> > longer list, and then aggregating all of the obviously-identical people.
> Yes, for instance I had different addresses before around 1999, and
> after around 2004 as well.
> And of course Xah is actually me.

Thank you.

To add me too, me too have changed my address although i really don't like that.

from 1995 to 2000, i'm xah@best.com in newsgroup posts, before i had my own domain name.

from 2000 to about 2008, i'm xah@xahlee.org.

When google mail (gmail) came out, i have a account xahlee@gmail.com. But didn't use it until 2 or 3 years after. When google group came out, i have xah@xahlee.org as the account name. Over the past decade, google gradually rolled out now their tens of online services. (gmail, blogger, orkut, picassa, google code, web master services, igoogle, analytics, youtube... almost all doesn't provide a account merge at least in the early years of the service. Sometimes, when there's a major upgrade such as happened with blogger, they require you to create a new account.) So, i end up with xah@xahlee.org or xahlee@gmail.com or others when using various google services, and has to remember which is used on what, quite confusing and a pain in the ass.

but got tired of switching or relogging my google group accounts, and tried to consolidate it. So now my google newsgroup post is mostly xahlee@gmail.com.

Some misc notes regarding this:

Date: Sun, 8 Jun 2008 01:02:48 -0700 (PDT)
Subject: merge google accounts

∑ http://xahlee.org/


On Jul 2, 11:31 am, Mike Samuel ‹mikesam...@gmail.com› wrote:
› 2009/7/1 Xah Lee ‹xah...@gmail.com›:

› › Hi Mike,

› › Thanks a lot for the answer.

› › is it possible for prettify automatically replace the ‹› chars to
› › entities?

› No. Since prettify reads the HTML, the input has to be properly
› formed HTML, not plain text.
› There are two exceptions:
› (1) You can try using XHTML in which case you could put code in
› ‹![CDATA[ ]]› sections. This will work unless your code contains the
› string "]]›"
› (2) In regular HTML, some tags, like ‹xmp› have content that is not
› escaped. You can put your code in an ‹xmp› block instead of a ‹pre›
› block, but in that case your code can't contain the string "‹/xmp"
› case insensitively.

Thanks. Very informative.

This is informative to me because ‹![CDATA[ ]]› provides a workaround of the need to pre-process the text in xml/xhtml.

› › cause i was thinking, if people have to pre-process their source code,
› › even as trivial as replacing ‹ to <, prettify lost one of its major
› › attraction.

› It is almost that trivial. You have to replace & with & and then
› ‹ with <.

I understand. But to quibble a bit, the beauty of Google Code Prettify (GCP) for me was that the user don't need to pre-process the text. But if he has to encode even just few chars such as “‹ › &”, i feel this thwarts one main advantage of GCP because:

(1) not all programers are intimately familiar with HTML/XML's encoding/entities spec. Technically, what char needs to be encoded and in what situation is quite non-trivial. (e.g. “‹” don't need to be if there are spaces e.g. “x ‹ y” but needs to in “x‹y”.)

(2) in practice, almost all code will contain one or more of “‹ › &”. So this mean, pre-process must be done.

(3) For a seasoned programer, if he needs to pre-process the code, he might as well call a span based htmlizer script to automate the process.

(4) if the code needs to be preprocessed, one GCP advantage is lost because now the code can't be readily edited. One needs to undo the pre-processing before editing the code, then pre-process it again to display on the web. (e.g. change “<” back to “‹”, edit, then change “‹” back to “<”.)

(5) complications follows from above, because if your code is php, python, perl, html, css, these are among top 10 most used langs, most often they contain code to parse html/url or contain raw html/url itself, the encoding gets quite complex (e.g. the ampersand in url sometimes must be percent-encoded to %26. And if the code process html, your code are likely to have regex that tries to parse this sequence of chars “<”, so now you end up with ugliness such as &lt; to feed to GCP) If the code contains slightly complex regex, manual encoding/decoding is error prone.

› I agree that it's a burden, but it's an architectural limitation to
› doing it client side, unless you were to use an iframe to embed a
› plain text file. And in that case you'd be at the mercy of browser
› content-type sniffing.

› › PS do you have a write up somewhere about how the js coloring works?
› › it seems pretty magical. i.e. i don't think it actually replace the
› › lang code into span wrapped html.

› It should be better documented. I'm not quite sure I understand your
› question. Can you elaborate?

a silly off-topic question from me. I was wondering about the js technology used to implement the google code prettify.

e.g. suppose i have

a b c

and i want to use js to say make b red, how to do this in js?

the way know how is by having js replace the “a b c” with “a ‹span class="redclass"›b‹/span› c”. But that's apparently not how google code prettify works, or am i mistaken?

∑ http://xahlee.org/