Xah Emacs Blog

You, put $5 in my patreon. https://www.patreon.com/xahlee

Xah Emacs Blog Archive

for keyboard fans, goto Xah keyboard Blog

Xah Talk Show 2019-01-19. Surface Pro, Programing Languages, Tutorials Industry Etc

on Surface Book, golang, haskell, beautiful languages, racket scheme lisp, clojure, java, enterprise coding, writing tutorial, cutthroat tutorial industry, money, and emacs!

Review of the Ultimate Hacking Keyboard

Xah Talk Show: Review of the Ultimate Hacking Keyboard. 2019-01-19

For detailed written review, see Ultimate Hacking Keyboard

Emacs: Open File in External App

xah-open-in-external-app code updated. now can be called from elisp. experimental.

Elisp: provide, require, features (minor update)

2019-01-16 todo. work in progress Emacs Lisp Script Examples

2019-01-16 todo. work in progress Elisp: Twitterfy code rewritten. still experimenting.

2019-01-16 todo create or add (require 'uniquify) to emacs init page.

remove and link it from Xah Emacs Blog Archive 2011-07

2019-01-16 todo. to post

reviewed and updated

2019-01-16 todo. consider add properties to my org markup tutorial Emacs: Org Mode Markup Cheatsheet

** travel :day1:
:ID: 6nSTF

those enclosed by colons are properties. they are key value pairs, associated with the heading. see https://orgmode.org/manual/Properties-and-Columns.html#Properties-and-Columns

also add tags. e.g.

** mom's birthday :family:


also, maybe add timestamp format

also, agenda priority mark

*** TODO [#A] Tim

Emacs: Open File Path Under Cursor

code update. now, on url that contains a parenthesis, will work.

incomprehensible doc/spec from official big corps/orgs

now, having studied the whole, the org APIs are pretty good. My mistake was finding and reading that org-element.el doc, which lead to complete incomprehension.

when coding for work, often, you got 10 protocols/lang/names you need to understand. For each, you found 10 docs and tutorials. First you need to decide which to read. if you lucky, your 1st read is a good one. if unlucky, hours or days of bad taste in your mouth.

if official doc/tutorial are good, we don't have this problem. Often, the official ones are lousy. When the lang/protocol is from big corps, such as html/css/js/unix/tcp protocols, the official doc/spec e.g. from W3C ECMA RFC are usually entirely worthless.

doc/spec from W3C ECMA RFC etc are lousy not because they need to be formal or encompassing or academic computer science jargons. Rather, they are incomprehensible due to politics, commercialism, corp/org interests.

See also: doc by dummies

Elisp: Parse Org Mode

now, the tutorial is complete. Read it in 10 min, and you can write elisp code that extract tree structure and output in another format, such as json or graphviz DOT.

#emacs read the org mode syntax spec https://orgmode.org/worg/dev/org-syntax.html

it's the worst syntax spec ever written on this earth.

badly written, sloppy. it's no where like an actually syntax spec. Rather, it tries to describe the syntax to humans. but even at that, it's so badly written, ambiguous. not surprising, e.g. markdown the original version don't have syntax spec neither.

for example, i have a hard time understand its “greater element”, “element”, “object”. and its mention of “context free”, is questionable, rather completely bogus or misleading.

org-element.el, Parser for Org Syntax is written by Nicolas Goaziou. Don't know who he is, but great job. it's 6k lines. The org mode syntax spec, don't know who wrote it, very bad.

emacs org mode maintainer 2019-01-15 Wskc3
emacs org mode maintainer 2019-01-15 Wskc3

#emacs org mode. this is odd. i thought the maintainer is Bastien Guerry https://bzg.fr/ for over 10 years @bzg2

Elisp: Lisp Symbol

Elisp: How to Write a Toggle/Cycle Command

reviewed and updated.

Elisp: Property List (updated)

Elisp: Symbol Property List (updated)

Elisp: Write grep (major update)

and See also, major updates

there's this package https://github.com/theodorewiles/org-mind-map , pretty lousy. errors. doesn't work.

See also: Intro to Mindmap, Gantt Chart, Graphviz

currently, looking at sacha's code for extracting org mode file's tree structure into elisp. http://pages.sachachua.com/evil-plans/ bottom. sweet

Emacs: Jump to Previous Position

Intro to Mindmap, Gantt Chart, Graphviz

Elisp: Move Image File

are there emacs written in Common Lisp or Scheme Lisp?

yeah. here's some old articles. 10 years old.

xah emacs tutorial good

xah emacs tutorial good 2019-01-08 d7539
xah emacs tutorial good 2019-01-08

thanks guys.

emacs tutorial update 2019-01-08 9ead9
emacs tutorial update 2019-01-08 9ead9

been working on my emacs/elisp tutorial in the past days. spent several hours a day, to review, and organize the pages. Today, this index about emacs key related topic, is much updated and reviewed.

Emacs Keybinding, Keyboard, Articles Index

i work on getting the emacs tutorial update sent to all buyers today.

xah emacs tutorial, new nav boxes and other updates

elisp tutorial nav box 2019-01-08 9b4a0
elisp tutorial nav box 2019-01-08 9b4a0

new nav boxes at Emacs Lisp Command Examples

and also added lots of other nav boxes at Practical Emacs Tutorial and other pages.

these nav boxes group pages of samiliar topic. They help organization.

also, updated Xah Emacs Sitemap

now 741 html pages.

there are lots more to do. As usual, i update the site and articles in a continuous style daily thru-out the years.

xah emacs talk show 2019-01-07 xah-html-mode vs org mode

xah emacs talk show 2019-01-07 xah-html-mode vs org mode

emacs talk: vim golf delete lines

new video. emacs talk: vim golf delete lines https://www.youtube.com/watch?v=XHfVYRkxxLQ am experimenting with video style. e.g. professional, focused, comedic, community building, nutjob as myself, heroic hacker, etc. lol. and lol style.

emacs talk: vim golf delete lines

Emacs in Microsoft Windows FAQ minor update

xah emacs nav box 2019-01-05 24ba5
xah emacs nav box 2019-01-05 24ba5

now, the Practical Emacs Tutorial has much better table of contents. Each topic grouped into a box. still working on it.

emacs talk show. workflow. command log mode, working with raw html

emacs talk show. workflow. command log mode, working with raw html

#emacs talk show. my video skill improved. still need to cut verbosity.

randomish topic discussed:

subscribe to my YouTube channel

xahlee YouTube 2019-01-04 a75e3
subscribe to my YouTube channel. https://www.youtube.com/channel/UCXEJNKH9I4xsoyUNN3IL96A Click the bell for notification.

video. The most efficient ways to switch window/app in linux, Mac, Windows.

The most efficient ways to switch window/app in linux, Mac, Windows.


comment on my YouTube or discuss on reddit https://www.reddit.com/r/emacs/comments/ach96l/most_efficient_ways_to_switch_windowapp/

a lot people like the style of type somethig to search. I think it began with the Mac app QuickSilver back around 2004. Then, it spread to MacOS, Microsoft Windows, Linux, and emacs (helm. was known as “everything”)

personally i don't like that workflow. (and actually don't use it in any OS nor in emacs)

with respect to switching windows/app, note that, the type something method is far less efficient. With function keys, it's just 1 key stroke. With the text search method, first a key combo to bring up the search box, then 3 or more letters. Though, it has advantage of being useful in general and no need setup. But i think its still better to set function keys. Can have both.

new organization block

whenever you see a block like that on my emacs tutorial site, that means, each page will have the same navigation block.

It's for grouping purposes. I have written many commands over the years, many pages it's hard to categorize. A page can be under elisp tutorial section, or be under html helpers, or under text transformation section, etc. So, this grouping helps. A page may have multiple groupings.

by the way, categorization has always been a major prolem. there's duodecimal system, library of congress system, encyclopedia britannica system. In general, things are not a tree. But rather, complex graph of connections. (by the way, this also means, Object Oriented Programing is idiotic.) there is also keyword taxonomy. by the way, Wikipedia has several articles about this i've checked regularly since 10 years ago.

on a different topic, i haven't sent out emacs tutorial update yet. it's on my todo. sorry about that.

Elisp: Chinese Character Reference Linkify (code update)

xah-find-replace-text to the rescue

xah find chinese dict ref 2019-01-03 6dcaf
xah find chinese dict ref 2019-01-03 6dcaf

a Chinese character etymology reference site's domain changed. #emacs to the rescue. 564 changes.

(xah-find-replace-text "http://www.chineseetymology.org/CharacterEtymology.aspx?submitButton1=Etymology&characterInput=" "http://hanziyuan.net/#" "/Users/xah/web/" "\\.html$" t t t t)

Emacs: xah-find.el, Find Replace in Pure Elisp

Emacs random chat. I talk about RSI, doing a typing game, rule the world.

Mac processing video .mov .mp4 YouTube slow

emacs videos 2019-01-02 497c1
emacs videos 2019-01-02 497c1

here's my emacs videos. i haven't looked into what's in .mov format, but it's about 9 times size of mp4. (by the way, webm is even smaller). everytime you convert to mp4, all cpu ramp up, takes 20 min or so to process 1 video. Then, you have to upload to youtube, another 20 min.

usually i write in emacs, copy, switch to browser, paste. All copy past select all switch are done with single key strokes. Actually, switching is mostly done with mouse hover auto-click. (partly due to lack of physical F keys in past 4 years) Want me to do a video to demo? that'd be good topic.

Happy 2019

in 2018 i met few new emacs friends. Happy 2019 to

hope a great emacs road in 2019.

emacs video hangout

am going to work in #emacs. come in to say hi, chat. https://hangouts.google.com/call/vk5h4A08VADHMgD-AEOLAEEE

emacs video, demo of image scale/crop/convert jpg/png commands

emacs video, demo of image scale/crop/convert jpg/png commands

Code at Emacs: Convert Image Files in Dired

Best Unicode Fonts for Programer (minor update)

emacs lisp processing files

wikipedia links 2018-12-26 a7c9a
wikipedia links 2018-12-26

changing all Wikipedia links to https. #Emacs xah-find.el Emacs: xah-find.el, Find Replace in Pure Elisp comes to the rescue.

most Wikipedia links page 2018-12-26 1fb1e
most Wikipedia links page 2018-12-26 1fb1e

the page with the most change is Writer's Words Writer's Words, More 188 Wikipedia links

See also, 7142 links to Wikipedia Links to Wikipedia from Xah Sites generated by a emacs lisp script. Elisp: Generate Web Links Report

i learned about gumroad, a site to control and make money for creators https://gumroad.com/

via sachachua http://sachachua.com/

sachachua has her sketch notes and learning emacs stuff free or by pay any amount if you like see https://gumroad.com/l/sketchnotes2014 and https://gumroad.com/l/VDxP

todo 2018-12-27, YouTube , xah-fly-keys modeline spacemacs

2018-12-26 todo put my YouTube vids on site https://www.youtube.com/user/polyglut/videos

2018-12-26 need to look at the modeline for spacemacs https://www.reddit.com/r/xahflykeys/comments/a7qczh/xah_fly_keys_ses_and_input_method_problems/

Emacs: xah-lookup.el, Lookup the Web

updated. changed xah-lookup-googlexah-lookup-web

random number algorithm in emacs

i wonder what algorithm emacs lisp (random) use. i bet it's a bad linear congruential generator of 80s. someone prove me wrong. (am on Mac, don't have access to linux now. ... maybe i should lookup the repo on the web)

see random number

Linux: Make CapsLock Do Home Key

UHK 20181214 split 0dfd2-s289x216
xah-fly-keys with Ultimate Hacking Keyboard

Elisp: Read/Write File
new page on its own.

Elisp: Buffer Functions

Emacs: Dired Sort File by Time, Size

code update. now works with macOS

real time emacs lisp coding, a command to add br

Manuals is a thing of the past

Manuals is a thing of the past. They are replaced by intuitive UI design, with on-the-fly tips or inline tips or web search based answers.

Most major software stopped printing manual since y2k. And no manual at all since 2010s, with onset of web app phone app software.

context https://twitter.com/magit_emacs/status/1076119139578728450

emacs fill/unfill rant

on reddit https://www.reddit.com/r/emacs/comments/a6ncl0/what happened to emacswiki/ec7s5zj/

if one just want simple solution, it's here

Emacs: Hard Wrap Lines Emacs: Hard Wrap Lines

you can see here on stackoverflow 2011, Steve Purcell answered it with link to my site, and said he made it into a package. https://stackoverflow.com/questions/6707758/inverse-of-m-q-an-unfill-paragraph-function

(by the way Steve Purcell is a very nice guy, runs MELPA, and a better coder than me.)

there are earlier answers of the same question on stackoverflow using my code. you can tell by the magic number i used

(fill-column 90002000)

i've since removed it. people complain that it should be

(fill-column most-positive-fixnum)

of course, am not the first one who wrote unfill. I remember seeing it on emacswiki.org , and elsewhere before.

The new one:

Emacs: Toggle Line Wrap Emacs: Toggle Line Wrap

does do better, because it toggles.

and the other version:

Emacs: Reformat Lines for Source Code Emacs: Reformat Lines for Source Code

is good because it can be reliably used for source code that are so called Whitespace Insignificant programing languages. [see What Does it Mean When a Programing Language Claims “Whitespace is Insignificant”?]

Dear SpacemacsMasterRace, thanks for reading my site though. :D seriousness aside.

what am i supposed to do? get inline and package stuff into a lunchbox and get rich quick?

well, there is more to it. emacs should have unfill builtin. it was a major criticism and frequently asked questions since at least 20 years ago. (i vaguely recall something like that happened in recent years. i did a quick apropos but apparently it's not there. Perhaps it was in some package, maybe in org mode.)

and the terminology should be changed. It's not fill/unfill bananas, it's hard wrap/unwrap. This touches on linguistics and communication efficiency, the art and science of jargons.

and, programers should be ban'd from this fill thing. The tradition of “truncating lines”, came from punch cards, and the damage was championed by unix geeks (note: not lisp geeks. unix geeks and lisp geeks were at war). and i have one thousand articles about it.

down the rabbit hole. am hopeless.

Emacs: Evaluate Elisp Code

minor update

See also: Emacs: narrow-to-defun, eval-defun, bug

xah-fly-keys issue on reddit SES and Input Method problems, Mode-Line Config, TTY Caps Lock → Home Key.

https://www.reddit.com/r/xahflykeys/comments/a7qczh/xah fly keys ses and input method problems/

Why Emacs Keys are Painful (updated old screenshots)

Elisp: Get Dired Marked File List (on its own page)

Emacs: Reformat Lines for Source Code

update code. Now put cursor at the end when command is done.

actually, just reverted it back. undecided

Microsoft sculpt ergonomic keyboard 73760-s328x191
Best Keyboard for Emacs


Emacs and RSI, Charlie Stross

emacs rsi Charlie Stross 2018-12-15 83bca
Emacs RSI Charlie Stross 2018-12-15 https://twitter.com/cstross/status/1073958017975140353

got this Ultimate Hacking Keyboard

Just did a unboxing video, and already configured it to use with xah-fly-keys. Been using it for a day now. Going to update that page in the coming weeks.

emacs, RSI, nomads and monads

comes the day, someone heard of me because their dad told them. A living legend!

nomads and monads by beatrix 2018-11-30 c8209
[Software Engineering and the Scientific Imagination: Past, Present, and Possible Futures, or, How to Stop Building Faster Horses By Beatrix. At klebe.blog ]

Emacs: 1 Key for M-x (on its own page)

Emacs: Use Alias for Fast M-x (updated)

on xah-fly-keys vs evil, chinese

an online friend, comment on xah-fly-keys vs evil

[xah-fly-keys 使用总结 By Pengpengxp. At https://pengpengxp.github.io/emacs/summary_of_xah_fly_keys.html ]

Thanks a lot to many people this year using and supporting Emacs: Xah Fly Keys 谢谢大家支持

latest version of xah emacs tutorial

sorry guys, i haven't send it out the update yet. Will do in next couple of days.

#emacs. integration of xah-fly-keys with spacemacs


i hope it gets in. Am going to spend some time with spacemacs and see if i can help in anyway.

Emacs Lisp Naming Convention

from last year, now on its own page

Elisp: Print, Output. updated.

Emacs: xah-find.el, Find Replace in Pure Elisp updated. added back printing a “done” at the end.

Emacs: URL to Link Command

xah-html-url-linkify now grabs url or filepath instead of line.

also updated in Emacs: Xah HTML Mode

Xah Emacs Blog Archive

If you have a question, put $5 at patreon and message me.
Or Buy Xah Emacs Tutorial
Or buy a nice keyboard: Best Keyboards for Emacs


Emacs Lisp