2011-06-07

emacs keyboards

Perm url with updates: http://xahlee.org/emacs/blog.html

Major updates on 2 ergonomic keyboards. They are perfect for emacs or ErgoEmacs:

2011-06-06

emacs manual trivia

Emacs Manual Trivia

Updated my mirror of emacs manual and emacs lisp manual to version for emacs 23.3. Here:

My emacs tutorial links to them. e.g. Emacs Lisp Basics.

Here's some trivia:

• There are a total of 694 HTML pages (nodes) for the emacs manual.

• There are a total of 896 HTML pages (nodes) for the elisp manual.

• Occurrence of HTML Entities in the elisp manual:

FreqstringUnicode Char
847&&
529>>
442&lt;<
2427&nbsp; 
1&auml;ä
3&copy;©
561&ldquo;
561&rdquo;
1743&lsquo;
1743&rsquo;
2553&mdash;
70&minus;
4&ndash;
2&ouml;ö
1&uuml;ü
1180&rArr;

2011-06-05

Mac OS X Keyboard Layout, Keymapping, Keybinding, Tools

Perm url with updates: http://xahlee.org/kbd/Mac_OS_X_keymapping_keybinding_tools.html

Mac OS X Keyboard Layout, Keymapping, Keybinding, Tools

Xah Lee, 2011-06-05

This page is a collection of methods and utilities for keybinding, keymapping, for Mac OS X.

The list are from most simple to more advanced.

Swapping Modifiers

This is builtin. See: Mac OS X: How to Swap Control, Caps Lock, Option, Command Keys.

For more advanced modifier remapping (e.g. distinguish left Control vs right Control, remap Esc key, map Menu key, …), see: KeyRemap4MacBook @ Source pqrs.org.

Adding/Changing Keyboard Shortcut in a Specific App

Mac OS X since 10.4 lets you do that. Just go to System Preferences, Keyboard & Mouse, Keyboard Shortcuts. Then click the + sign at button. See: Mac OS X 10.5 Help: Creating keyboard shortcuts for applications @ Source docs.info.apple.com

Note: This mechanism is not very flexible. For example, it only lets you create a key for a action that has a menu. Also, once you created a hotkey, the original shortcut will be lost. You can't create a shortcut from any key on the numerical keypad. (that is, if you don't use the number pad to enter numbers, you can't turn them into extra function keys.)

App Launchers, General Key Macro Utilities

• Free: Quicksilver (software). A app launcher. Assign hotkey to launch/switch/open apps or files. The hotkey can be single key (e.g. F1) or combo-key (e.g. 【Cmd+F1】).

Keyboard Maestro @ keyboardmaestro.com A basic key macro software. Good, but a bit expensive.

• QuicKeys @ startly.com. (for Mac and Win). A comprehensive automation software, with key macro features, and also key macro recording abilities. I used it in 1990s for 10 years and find it the best. It was the number one most touted productivity enhancement software in Mac community. The company changed hand a few times over the years. The first Mac OS X version released around 2001 is not so good. Since then i haven't used it. Don't know how good it is today.

Microsoft IntelliType

Buy a Microsoft keyboard then use the bundled IntelliType Software. Note: depending on what keyboard model you buy, not all features of IntelliType will be available. But basically, if the keyboard cost $30 or more, or has many special keys, most features will be there.

Highly recommended. With this solution, you get a functional keyboard, and with a software that does all launcher/shortcut common needs. No need to spend hours tweaking keymaps or config files.

See: What Microsoft IntelliType Can Do and Cannot Do.

See Microsoft IntelliType Hacks for some advanced config hacking of IntelliType for Windows.

Setting Up Text Editor Keybinding Behavior; Hotkey to Insert Text

You can use Mac OS X's system-wide mechanism by creating a key config file DefaultKeyBinding.dict. See: Creating Keyboard Layout in Mac OS X.

Setting Up Key Layout for Typing Math Symbols, APL Keyboard, Unicode Characters

Use DefaultKeyBinding.dict. See: Creating Keyboard Layout in Mac OS X.

See also: How to Create a APL or Math Symbols Keyboard Layout.

Keybinding, Keymapping, in Emacs

If you use emacs on the Mac, see:

Advanced Key Interface Mapping; Low-Level Tools and Utilities

For Microsoft Windows, see: Keyboard Layout & Key Macro tools for Windows.

Firefox 4 for PowerPC Mac

Firefox 4 does not support PowerPC Macs. You can download TenFourFox, which is Firefox compiled for PowerPC. Download at: http://www.floodgap.com/software/tenfourfox/. Alternative choice is Camino.

Apple no longer supports PowerPC Macs. So, its Safari (web browser) is stuck at version 4, while current version is 5. Similarly, the last version of Opera that support PowerPC Mac is 10.6x. Current version is 11. (See: History of the Opera web browser.) Google Chrome doesn't support PowerPC.

With your PowerPC being obsolete, can't you install Linux? Well, Ubuntu no longer officially support PowerPC neither. Unless you are prepared to spend days, and days afterwards to maitain it, the best choice is probably stay-put with your Mac OS X 10.4.x or 10.5.x, and hope to buy a new machine soon.

Computer Keyboard: Home/End Key Cluster Arrangement: Horizontal vs Vertical

Perm url with updates: http://xahlee.org/kbd/home_end_key_cluster_arragement.html

Computer Keyboard: Home/End Key Cluster Arrangement: Horizontal vs Vertical

Xah Lee, 2011-06-05

This article discusses the pros and cons of the Home/End key cluster arrangement on computer keyboards.

There are 2 type of arrangement for the key cluster: Insert, Delete, Home, End, PageUp, PageDown. Traditionally, they are arranged in 2 rows, 3 columns. Since about 2000, some arrange it in 3 rows, 2 columns.

nek 4000 2 wnm keyboard home cluster2

Left: Traditional arrangement of Home/End, keys. Right: Vertical arrangement.

If you read a lot keyboard review comments online, you'll find there's no universal agreement on which is better.

I used the old arrangement for 15 years (1990 to 2005) on many keyboards. (See: Computer Keyboards Gallery.) Then, i used the new arrangement for 2 years on a new keyboard. (Microsoft Wireless Natural Multimedia keyboard) Initially, i hated the new arrangement, but after using it for 2 years, i got used to it. Then, i got a new keyboard again that has the traditional arrangement (Microsoft Natural Ergonomic Keyboard 4000), and i find the traditional arrangement annoying, till a month of adjustment.

So, i must say it's really a habit, and doesn't really matter in any significant way.

Reasons for the New Arrangement

Arguably, the new (vertical) arrangement is logically better. The Home key moves cursor to the beginning of line and End to end of line. So, Home and End side by side is more intuitive. The Insert key is a defunct key today, not used in vast majority of applications, even for programers. So, it's good to have useless key removed.

Reasons for the Traditional Arrangement

However, there are also reasons that the older arrangement is better. On Apple's computers (Mac), the Home key is for moving to the top of document, and End to the bottom of document. So, for Mac users, Home/End in the traditional arrangement of top/bottom, is more natural.

Also, for many programers, more key is better, because we can use keyboard macro software to assign functions to extra keys. (example of keyboard macro software includes: IntelliType, AutoHotkey, emacs, Quicksilver, Keyboard Maestro, QuicKeys, … etc.) For me, personally, i assign the Insert key in Emacs to switch windows (what emacs call “frame”), and in Second Life i use the Insert key for throw grenade in combat. I would dearly miss this extra key if it is not available. Without this key, i'll need to use key combinations, which is less convenient. (all my F1 to F12 are used up …, even if not, they are not good choices for a extra key at the navigation key cluster position for purposes that are related to nagivation.)

2011-06-04

Computing Culture: What's Hacker?

Perm url with updates: http://xahlee.org/Netiquette_dir/whats_hacker.html

Computing Culture: What's Hacker?

Xah Lee, 2011-06-04

Xah Lee wrote:

(i despise hacker culture, where these “hackers” idiotic-namesake prefer to go by “handles” or abbrevs (e.g. “RMS”, “ESR”, “JWZ”) or whatnot insider-fashion fuck. But that's just me.)

“Pascal J. Bourguignon” 〔p...@informatimago.com〕 wrote:

If you despite hacker culture why do you stick with us all the time? Are you masochist?

Shut down you computer and go meet other people with another culture!

There is a substantial number of programers in this world, who truely enjoy programing, and all sorts of computing technologies, hardware and or software, digging into their innards. This group of people, some are computer scientists, some pro programers, some amature programers, very diverse. This is a group i belong to.

Now, in this group of people, there is a sub-group, who share certain styles, personalities, propensities, in their activities or outlook in computing. This group is the “hacker” subculture i refer to.

Note that there's no clear-delineated definition. But roughly: Richard Stallman generation at MIT, people who thrive with {perl, unix, C}, usually fall into this group. It's hard to come up with even a rough definition, but the best i can think of is: those who enjoy the word “hacking” or “hacker”. e.g. they like to call a enjoyable programing session as hacking, they refer esteemed peers as “hacker”, they simply enjoy all connotations afforded by that word, but they absolutely hate how journalists or laymen use the word “hack” to mean what they would call “crack”, and often go at lengths to speak against such usage.

Here's what Wikipedia has to say about the term “hacker”: Hacker (term). Here's a excerpt:

Hacker is a term that has been used to mean a variety of different things in computing. Depending on the context, the term could refer to a person in any one of several distinct (but not completely disjoint) communities and subcultures:[1]

• A community of enthusiast computer programmers and systems designers, originated in the 1960s around the Massachusetts Institute of Technology's (MIT's) Tech Model Railroad Club (TMRC) and MIT Artificial Intelligence Laboratory.[2] This community is notable for launching the free software movement. The World Wide Web and the Internet itself are also hacker artifacts.[3] The Request for Comments RFC 1392 amplifies this meaning as "[a] person who delights in having an intimate understanding of the internal workings of a system, computers and computer networks in particular." See Hacker (programmer subculture).

• The hobbyist home computing community, focusing on hardware in the late 1970s (e.g. the Homebrew Computer Club[4]) and on software (computer games,[5] software cracking, the demoscene) in the 1980s/1990s. The community included Steve Jobs, Steve Wozniak and Bill Gates and created the personalcomputing industry.[6] See Hacker (hobbyist).

• People committed to circumvention of computer security. This primarily concerns unauthorized remote computer break-ins via a communication networks such as the Internet (Black hats), but also includes those who debug or fix security problems (White hats), and the morally ambiguous Grey hats. See Hacker (computer security).

Today, mainstream usage of “hacker” mostly refers to computer criminals, due to the mass media usage of the word since the 1980s. …

The first definition is in our context. Wikipedia has a dedicated article on that: Hacker (programmer subculture), which elicits the Jargon File, and also has sections on “Ethics and Principles”, “Artifacts and Customs”.

It is this group of people, i despise. More accurately: i despise their general style and outlook. I despite them. Fuck them. FUCK hackers. FUCK their hacking. Fuck their mothers. Scumbags.

These hackers, a large percentage of them, also are what i call Tech Geekers. Here are related articles about tech geekers and hackers.

Xah

[This is originally posted to comp.lang.lisp newsgroup. groups.google.com]