Xah Emacs Blog

Buy Xah Emacs Tutorial. Master emacs benefits for life.

Tips & Tricks for emacs and emacs lisp.

Keyboardio, Computer History Museum, SGI

the Keyboardio Keyboard is going to have a demo at Computer History Museum on . That's neighbor to Google Headquater Googleplex, in Mountain View, California.

If you want to touch it, register at http://www.eventbrite.com/e/tech-tinsel-holiday-product-demo-night-chm-tickets-19571449733

here's my analysis of its design. Keyboardio Keyboard Model 01 ⌨

by the way, the building that's Computer History Museum has a rich tech history. It was a brand new office building of SGI's headquarter. Do you know what SGI is?

sgi logo 2683m
SGI logo. 〔➤ SGI Logo Visual Illusion

SGI was the biggest name in computer graphics back in 1990s. They make IRIX, which is their version of Unix (which today we pretty much just have Linux). Irix, HP-UX, AIX, and even Apple, had a unix OS called A/UX. SGI also makes very expensive, bleeding-edge, computer hardware for creating 3D graphics (back then, desktop unix computer is called “workstation”. There's not much of a PC yet.). SGI also was the owner of Cray for a while, which is the world's most powerful super computer. SGI was the one who created the special effects of the movie Jurassic Park (1993). At the time, it was a break-thru.

SGI makes 3D modeling software, at various times called Alias, Wavefront, Maya. (now owned by AutoDesk, maker of AutoCAD)

When i was student around 1992, waiting for bus, i ogle at the buildings of computer companies, where, offices are filled with very expensive workstations, and lots of geek toys. I was thinking, when could i ever be able to work in such a place.

Since 2000s, PC becomes cheaper and powerful, and 3D modeling software sprung up left and right, and free Linux is spring up as unix server replacement. That killed SGI.

Today, the one thing from SGI that's still around is OpenGL, and, isn't particularly healthy.

The once brand-new building of SGI, changed owner a few times, and now it's Computer History Museum.

O, sweet history. Sun Microsystems, the creator of Java, once also reined the computing world with their Solaris OS and server hardware. Sun is also dead, bought by Oracle, which never had any cool factor.

Emacs: Hard Wrap Lines, fill-paragraph, unfill-paragraph (major update)

Logitech G710+ Mechanical Keyboard now has a MX Cherry Blue version!

though, also discovered, there's a problem of this keyboard under linux. It spams 666! (but works fine on Mac)

Logitech G710+ Mechanical Keyboard

if your main machine is linux, i don't recommend it because of this.

see my review for detail Logitech G710+ Mechanical Keyboard

If you are buying a keyboard or mouse, check out


The Latest Thinking on Computer-Related Pain By Ingfei Chen. @ http://www.nytimes.com/ref/health/healthguide/esn-repetitivestrain-expert.html?pagewanted=print〕 (local copy computer_use_hand_pain__David_M_Rempel_2008.txt)

great article. Note, it's published in 2008.

Linux: Mouse Hover-Click

Emacs Lisp: Insert Brackets by Pair (updated)

3D Modeling, Keyboard Design, Clojure, and Emacs

Matt Adereth - clojure core typing

truely enjoyed this video, at clojure conf. You see 3D modeling software, 3D printing, keyboard design/making, using clojure to control, and finally, emacs too!

see his blog at 〔3D Printing With Clojure By @Adereth. @ http://adereth.github.io/blog/2014/04/09/3d-printing-with-clojure/

reddit discuss at https://www.reddit.com/r/emacs/comments/3twqhh/3d_modeling_keyboard_design_clojure_and_emacs/

ergoemacs-mode on hackernews. https://news.ycombinator.com/item?id=10586791. Thanks lelf for posting.

Emacs: Split Windows Basics (new page, for beginners.)

Emacs Lisp: List vs Vector (on its own page)

Emacs Lisp: Copy Rectangle Region to kill-ring (complete rewrite)

Emacs: Edit Column Text, Rectangle Commands (old article. major update.)

Setting Up Emacs

lots minor updates and improvements.

Emacs: Set Color Theme (updated. 2 more screenshots)

in the movie 《Tron: Legacy》, there's not just emacs eshell, but also vi! Emacs eshell and vi in Movie TRON

thanks to https://disqus.com/by/michael_lockhart/ for telling me it.

Emacs: ParEdit, Smartparens, Lispy, and ErgoEmacs, xah-fly-keys (complete rewrite). Also see reddit https://www.reddit.com/r/emacs/comments/3sfmkz/could_this_be_a_pareditsmartparens_killer/

Emacs: Select Line, Block, in Quote, Extend Selection (major update)

Emacs: How to Define Keys (major update.)

keybinding, is the essence of emacs. In emacs, everything is a command, and the way you call them, is keys. Even when you type a letter, it calls a command self-insert-command.

A little emacs history. Old article. GNU Emacs and XEmacs Schism

emacs, restore opened files, remember cursor position, save minibuffer history

;; restore opened files
(desktop-save-mode 1)

;; save minibuffer history
(savehist-mode 1)

;; remember cursor position in file
(require 'saveplace)
(setq-default save-place t)

How to Set Emacs's User Interface updated.

new Unicode emoticon font, Google Noto. see Download Free Unicode Fonts

Keyboard Monster one thousand function keys.

Gnu Emacs New Leader: John Wiegley


Wiegley as maintainer was discussed in the gnu emacs dev mailing list for the past couple of months, hundreds of messages.

John Wiegley is the author of eshell〔➤ Emacs: M-x eshell〕, a compiler engineer for like 20 years coding in C++, and is now a professional haskell programer. He lives in emacs.

Here's a couple of video interviews of John. John Wiegley on Emacs Lisp and Haskell

John is a extreme emacs enthusiast, and his primary platform is Mac with strong desire to make emacs better on Mac too out of the box, and he is a very capable programer, and also a sociable person. I think John will bring a lot good things to emacs. Thanks John.

using 4 mouses at the same time is heaven.

xah mouses keyboard 20151102 062053
from left to right: { • CM Storm Recon, • Logitech Trackman Marble Mouse, • Logitech G600, • Logitech G700}. The keyboard is Truly Ergonomic Keyboard.

Emacs Lisp: Shrink Whitespace Command (minor update)

hands-on trackball review, for those of you Repetitive Strain Injury

hand-on mouse reviews. One Logitech G600 Gaming Mouse Review, and the other Logitech Trackman Marble Mouse

my mouse reviews are at my Xah's Programing Blog. Subscribe there if interested. thanks.

Emacs: Move Cursor to Brackets, Quotes

Updated code for moving cursor to quotes. You should give them a key, such as 【Ctrl+7】【Ctrl+8】.

in Xah Fly Keys, the keys are 【[】 【]】 in command mode.

Also, i got several complaints about the nav bar animation on this site. Now it's gone. Instead, the nav bar is at the bottom.

And, the home page ErgoEmacs is also cleaned up.

Emacs: Rename Files Interactively old feature. Super useful. I use it few times a day.

Does Lisp Macro Change Syntax? What's Lisp Reader?. A look at what Racket, Clojure, Common Lisp, says.

JavaScript in Depth

I like to push my JavaScript tutorial one more time.

I'm not afraid to proclaim, it is the best JavaScript tutorial in English language (possibly ONLY after the Rhino book, and ONLY that book.). In terms of clarity, concision, concreteness, correctness, and depth. And with code examples illustrating every point.

Tutorial, when done well, there are still many perspectives, approach, and writing style. Which one you like depends on your preference. Have a look at mine. Thanks.

emacs elfeed still have relative link bug in atom feed. ☹ https://github.com/skeeto/elfeed/issues/37

by the way, elfeed is a excellent RSS reader.

I've modified my blog so it uses full URL instead of relative links.

Emacs: Define Key Sequences (Create Prefix Key, Leader Key) (major update)

Emacs: Turn Off Auto Backup; Set Backups into a Directory; How to Delete Backup Files

Emacs Lisp: Make Backup of Current File (added a new function, that does backup and save together)

Emacs: New Empty Buffer. Minor updated page. Extremely convenient. Recommended.

for ido, you don't need extra package to make it display vertical. See Emacs: Switch Buffer, ido-mode (minor update)

Emacs: List Buffers. emacs basics. Minor update.

racket lisp language, and emacs racket-mode, is superb.

Racket: Using Emacs racket-mode

Emacs Lisp: Replace Invisible Unicode Chars

it's been a month! New version of tutorial is out.

Buy, recommend, Thanks! Buy Xah Emacs Tutorial.

Updated version will be sent out tomorrow.

search and highlight text in emacs

several updates.

Emacs: isearch Current Word. This is the most useful. It replaces isearch 50% of time.

Emacs: Search / Highlight Words (minor update)

learn racket scheme lisp in 5 minutes. Xah Racket Notes

Emacs: Dired Customization (updated. dired-hide-details-mode screenshots and how to set it as default)

reddit new subreddit, for emacs-fu

there's a new subreddit, for emacs-fu, vim-golf, like of topics. Such as, i do such and such this way, how do you do it?

if you use evil-mode, ergoemacs-mode, xah-fly-keys, god-mode, hydra, key-chord, etc, then it's for you.


learn a new thing. In dired, try dired-hide-details-mode.

thx to Rene Froger

see also Emacs: File Management (dired tutorial)

emacs kungfu fight-to-the-death!

xah-fly-keys x r keys 2015-10-03

Emacs: Move Cursor to Brackets, Quotes (updated)

xah-backward-left-bracket is my 20th most frequently used command.

here's my “keyfreq-show” output:

 1  468031   25.26%  self-insert-command
 2  127493    6.88%  next-line                                   t
 3  101031    5.45%  mwheel-scroll
 4   97262    5.25%  previous-line                               c
 5   89803    4.85%  subword-forward                             r
 6   77884    4.20%  subword-backward                            g
 7   72057    3.89%  xah-beginning-of-line-or-block              d
 8   51249    2.77%  xah-end-of-line-or-block                    s
 9   38704    2.09%  isearch-printing-char
10   33349    1.80%  xfk-command-mode-activate
11   33128    1.79%  yank                                        k
12   28310    1.53%  newline                                     RET
13   27811    1.50%  xfk-insert-mode-activate
14   27113    1.46%  delete-backward-char                        e
15   25247    1.36%  save-buffer                                 b
16   24240    1.31%  xah-cut-line-or-region                      j
17   22550    1.22%  xah-close-current-buffer                    <f14>
18   20460    1.10%  xah-backward-left-bracket                   m
19   20077    1.08%  subword-backward-kill                       .
20   15630    0.84%  xah-shrink-whitespaces                      ,
21   14205    0.77%  xah-fly-command-mode-activate               <home>
22   13218    0.71%  handle-switch-frame                         <switch-frame>
23   13191    0.71%  subword-kill                                p
24   12613    0.68%  backward-char                               h
25   12275    0.66%  open-line                                   o
26   12232    0.66%  isearch-repeat-forward
27   11897    0.64%  xah-fly-insert-mode-activate                SPC
28   11256    0.61%  undo-tree-undo                              f
29   10782    0.58%  forward-char                                n
30   10606    0.57%  isearch-exit
31   10100    0.55%  isearch-forward                             x g
32    9277    0.50%  xah-forward-right-bracket                   v
33    9234    0.50%  org-self-insert-command
34    8317    0.45%  xah-extend-selection                        1
35    7992    0.43%  xah-copy-line-or-region                     q
36    7781    0.42%  other-window                                w
37    7389    0.40%  delete-other-windows                        3
38    7068    0.38%  ido-exit-minibuffer
39    6628    0.36%  delete-char                                 u
40    6046    0.33%  set-mark-command                            y
41    5657    0.31%  xah-select-current-line                     2
42    5452    0.29%  xah-next-user-buffer                        <f12>
43    5295    0.29%  xah-html-wrap-html-tag
44    5219    0.28%  xah-select-text-in-quote                    9
45    5104    0.28%  xah-browse-url-of-buffer
46    4945    0.27%  exit-minibuffer
47    4935    0.27%  xah-select-current-block                    6
48    4718    0.25%  xah-open-file-path-under-cursor

Many emacs experts, use paredit, smartparen, ace-jump, expand-selection, and evil-mode, god-mode, hydra.

i don't use any of that. Just Xah Fly Keys

I openly challenge anyone to efficiency contest, in real time.

email me or tweet to me on social networks. We can setup a private video chat just to compare notes.

challenge, as in kungfu fight-to-the-death!

Emacs Lisp: Run Current File (updated code. Now, it'll prompt for save for non-file buffers)

Past Articles by Date


Like it? Buy Xah Emacs Tutorial.