17 private links
Why Study Emacs Lisp?
Although Emacs Lisp is usually thought of in association only with Emacs, it is a full computer programming language. You can use Emacs Lisp as you would any other programming language.
Perhaps you want to understand programming; perhaps you want to extend Emacs; or perhaps you want to become a programmer. This introduction to Emacs Lisp is designed to get you started: to guide you in learning the fundamentals of programming, and more importantly, to show you how you can teach yourself to go further.
This page contains snippets of code that demonstrate basic EmacsLisp programming operations in the spirit of the O’Reilly cookbook series of books. For every task addressed, a worked-out solution is presented as a short, focused, directly usable piece of code.
All this stuff can be found elsewhere, but it is scattered about in libraries, manuals, etc. It would be helpful to have here in one spot.
These recipes should be pastable into the scratch buffer so that users can hit ‘C-j’ and evaluate them step by step.
There’s going to be some overlap with CategoryCode, obviously. Just link to more elaborate pages when appropriate. Should this page grow too large, we’ll split it up later.
Key chords is the bane of keyboarding.
There are 3 types of keyboard shortcuts to invoke commands in software:
- ① Single key ➢ for example: 【F1】, 【⇞ Page △】.
- ② Key chord ➢ for example: 【Ctrl+c】, 【Ctrl+⇧ Shift+z】, 【Alt+F4】.
- ③ Key sequence of single keys or chords. ➢ for example: on Microsoft Windows, 【F10 e c】 for copy, or 【Alt+Space c】 to close window.
of these, in terms of efficiency and hand health (Repetitive Strain Injury), the single key is the best. Key sequence of single keys is second best. Key chord is the worst.
Key chord is the most hard on hand health, but is also conceptually the most convoluted.
i remember in around 1991, when i first learned about key chord on the Macintosh Classic. I remember thinking, it's strange. You have to hold ⌘ Cmd first, then press the key c, then, release c, then, release ⌘ Cmd. It must be in that specific order.
A more natural way is either key sequence, or real chords. Real chords, meaning, pressing several keys together but you don't have to worry about which to hold or release first. Stenograph machines are like that.
(A Net Ethology / A Troll's Confection)
When a person's sanity is at balance,
when human passion is raging,
no etiquette must get in the way.
—Xah Lee, 2001.
The internet has changed society deeply. It has indirectly changed nations, catapulted sciences, deeply imbued the daily lives of men, and as well affected writings and have created a culture one of a kind, among which is FAQ (Frequently Asked Questions), Netiquette, and Trolling. Netiquette refers to Net Etiquette. It is the implicit rules in online communities, widely purveyed in the early days of internet (pre-1997) but faded quietly with the mainstreaming of internet. Troll roughly refers to someone who posts a message that solicit outwardly or indirectly a huge usually chaotic following. In these pages, are collected essays on these phenomena.
I as a troll is rather special because i tend to put a final say on things, in contrast with one-liner trolls i myself despise. (In a sense i'm an anti-troll, untroll, or an atrocious atroll.) At first i balked at being branded a troll. Now i revel it. I as a troll is rather recent, beginning and getting worse about in 1998. I have been using online forums since 1990. Perhaps one day i'll write “how i became a troll”. It is bound to be a tragedy.
—Xah Lee, 2002.
I'll find a day to massacre them all, And raze their faction and their family…
—William Shakespeare, in Titus Andronicus
This page is a index of tutorials and essays related to computing and its people. There are over 1 thousand articles. Use the search box at top to find what you are looking for.
Emacs makes frequent use of the Control key. On a conventional keyboard, the Control Key is at the lower left corner of the keyboard, usually not very large and is pressed by the pinky finger. For those who use emacs all day, this will result in Repetitive Strain Injury. This page lists some tips on avoiding this pinky problem.
StumpWM is a tiling, keyboard driven X11 Window Manager written entirely in Common Lisp.
If you're tired of flipping through themes like channel-surfing, and going from one perfect-except-for-just-one-thing window manager to another even-more-broken-in-some-other-way then perhaps StumpWM can help.
StumpWM attempts to be customizable yet visually minimal. There are no window decorations, no icons, and no buttons. It does have various hooks to attach your personal customizations, and variables to tweak.
- Hack the good hack
- Debug your good hack
- Customize your window manager
While it's running That's right. With a 100% Common Lisp window manager there's no stopping the hacks. Just re-eval and GO!
I've got it. There is a utility called xbkeys for setting accessibiltiy options for xorg.
From xbkey manual:
To switch sticky keys on or off, and optionally set or reset:
() two keys pressed at the same time stops sticky keys;
() a modifier pressed twice will be locked:
[-]{sticky|st} [[-]twokey|[-]latchlock]...
I ran this:
$ xkbset sticky -twokey -latchlock
That command can go in .xinitrc
# turn on stickykeys. don't let two keys pressed at the same time disable it.
# don't turn on "latch lock", ie pressing a modifier key twice "locks" it on.
xkbset accessx sticky -twokey -latchlock
# don't expire these settings. (run xkbset q exp for details.)
xkbset exp 1 =accessx =sticky =twokey =latchlock
All i wanted, is to make Space and Tab and Newline chars visible.
However, the emacs whitespace-mode does much more than that. It is designed for tech geeking control freaks to tune every aspect of white space in his source code. The mode is filled with bells and whistles. It distinguishes tabs mixed with spaces, EOLs mixed with spaces, EOLs at beginning of file, EOLs at end of file, run on spaces at end of line, lines that has nothing to do with white spaces but is simply longer than 80 chars, etc. Each of these is rendered with different foreground, background, colors, so that they cannot possibly escape the notices of control freaks.
This page tells you how to setup emacs's whitespace-mode
(in emacs 23 or later), and how to use it.
whitespace-mode
renders {spaces, tabs, newlines} characters with a visible glyph. This feature is useful for working with “tab separated values” (TSV) that's commonly used format for importing/exporting address books or spreadsheets. It's also useful in whitespace-significant languages such as Python.
To use it, call:
whitespace-mode
→ toggle on/off, for current file.global-whitespace-mode
→ toggle on/off globally for current emacs session.
There is also whitespace-newline-mode
and global-whitespace-newline-mode
. They only show newline chars.
Emacs has a spell checking feature (flyspell-mode), that check spelling errors while you type, much like all other modern editors, word processors, email programs, or text box in browsers. However, emacs's spell checking feature is much worse than the spell checker in browsers or any commercial editor.
Experimental film by Adam Cooley about a talk show host who interviews suicidal people, but his show is getting low ratings. So, he falls in love with a guy who is trying to kill himself but can't (and is slowly turning into human feces); torn between love and trying to get him to be on his television show, what will this talk show host do, even after realizing there's no reason to exist? I mean, does it even matter what he decides to do anyway? A hilarious black comedy -- it's a riot!
Get CyanogenMod for the Nexus 4
CyanogenMod is a customized, aftermarket firmware distribution for several Android devices (See above for supported devices & how to install CyanogenMod on said devices). Based on the Android Open Source Project, CyanogenMod is designed to increase performance and reliability over Android-based ROMs released by vendors and carriers such as Google, T-Mobile, HTC, etc. CyanogenMod also offers a variety of features & enhancements that are not currently found in these versions of Android.