Posts

11 Years of Writing About Emacs

Image
Emacs: Save Split Windows Configuration (updated.)There are about 6 hundred pages of tutorials on this site. About one third are emacs tutotial, half are elisp tutorial and commands or elisp scripts tutorial, and lots articles on keybinding and keyboard and Repetitive Strain Injury, and also commentaries and essays on emacs, emacs community, etc, such as:M-x Donuts 〔➤see Emacs Related Essays〕 I update them about daily. What's to update? lots of things.code update. Lots of them are enhanced commands, which i use and regulary improve. New features, or fixe bugs.emacs, like every other software, changes. I have to keep up. Command name changes, keys change, packages obsoletion, function obsoletion, new feature to do X. All these happens. For example, lexical scope, CL package, magit keys and commands kept changing, etc.Writing improvement. Correct typo, improve sentence, or change style, structure, or rewrite whole. Yes. Many tutorial pages began life as blog from a decade ago. Blog …

emacs M-x customize, good or bad?

Clément Pit-Claudel gave a great answer about why pulling stuff out of custom-set-variables to setq may not work. See comment at Emacs: Stop Cursor Going into Minibuffer Prompt#comment-2734992432also see comment by bhyde at Emacs's Customization Tutorial#comment-2663524352the bottom line is that, if you pull out lines from custom-set-variables and change it to setq, it may not work.i wasn't too pleased about this. This means, the defcustom is more complex than otherwise acting as defvar with a User Interface.on this subject, there's the question about whether emacs's customize system is a good thing. (it was controversial). I think it's a mixed bag.There's elisp, which is the core of all emacs and all customization. Why should we add a layer? Now, there are 2 ways to do the same thing. Also, the Graphical User Interface layer isn't complete, as not all customization can be done with it. (e.g. hooks, which is rather quite common and basic.) On the other hand…

emacs custom-set-variables vs setq

Something strange is going on. It seems, pulling things out of the custom-set-variables no longer works?Here's the test. Put the following in your init, nothing but just the following:(custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(minibuffer-prompt-properties (quote (read-only t cursor-intangible t face minibuffer-prompt))))Restart emacs. Then, M-x query-replace and hold left arrow key to see if cursor went over the prompt. Cursor will not move into the prompt.Now, delete that init, and use the following instead:(setqminibuffer-prompt-properties (quote (read-only t cursor-intangible t face minibuffer-prompt)))Restart emacs.But now, it doesn't work?This is emacs GNU Emacs 25.0.90.1please comment and let me know what happens on your machine, and emacs version. M-x versi…

Siri, Cortana, Ok Google, Are the Future of AI, the Embodiment of AI

talking to myself about Cortana, Siri for an hour. It's huge.They, going to be the AI. For vast majority of people, the general public, it is they, Cortana, going to be the window to tech. With a human female voice User Interface, it will also become intimate, in a natural way. That is, most people, are not tech savvy. They don't even know what a browser is. But Cortana (and Siri, ok Google), because it communicates with user via human language, and being a female, this will lead to natural connection, and making the user wanting more, and will thus push and push for Cortana to mature, and meet demand. (and there'll be porn aspects, a huge industry, but that's different topic. We focus on the average people and phone use here.). Cortana (Siri, similar services) , will become the Embodiment of Artificial Intelligence, as the populace have seen in movies. Most people are not into scifi or tech stuff, but it is via the interaction of human female voice that help daily thi…

xfce window focus bug

lots focus bug mouse hover to raise window, in xfce ubuntu 14.04. upgrading to xfce14.12, then you got wmctrl problem. 4 hours wasted.here's the detail.Activating a window from the taskbar doesn't focus it when 'focus follows mouse' https://bugs.launchpad.net/ubuntu/+source/xfwm4/+bug/1292122now, its supposedly fixed. See: http://git.xfce.org/xfce/xfwm4/commit/?id=1a20a88so, now you upgrade xfce to 4.12. Linux: How to Upgrade Xfcebut now, there's wmctrl problem. That is, when you use the wmctrl tool to switch window wmctrl -xa emacs, it won't focus, only raise.if you turn off mouse raise window, then the problem goes away. But, i want mouse raise window.sad face.

on the question of too many programing libraries

in the past 5 years, there seems to be a exponential growth of programing language libraries.this can especially be seen in JavaScript land.this is different from say 1990s, where, there is usually widely accepted “the best” lib for X.today, there are so many, that usually a programer never heard of.so, the question to me is, what to do about it?i'm the type that tend to know it all, alway keeping a eye on all things. But that has been impossible now, or even, impractical and meaningless.i want to think about this, as to have some kinda conclusion or closure on the situation.if i do nothing, then, libs will just grow without my awareness. This been the case for many years already. It can be likened to not knowning all latest movies, or all latest comic books published, or Japan comics books published in Japan, or say TV shows published in China, or not keeping up with gaming community, new games, etc. There are, thousands, millions, of them, things, you don't know. When you we…

sigil for my φvariable ξnames

fret about whether i should continue using funky sigil for my variable names. As in:xd.drawCircle = function (φcontainer, φcenter, φr, φstyle) { varξcir = document.createElementNS("http://www.w3.org/2000/svg", "circle"); ξcir.setAttribute("cx", φcenter[0]); ξcir.setAttribute("cy", φcenter[1]); ξcir.setAttribute("r", φr); if (φstyle !== undefined) { ( ξcir.setAttribute("style", φstyle)); }; if ( φcontainer === undefined ) { returnξcir; } else { returnφcontainer.appendChild (ξcir); }; };the problem, is people. Other people.you see, it's like the many english spelling reform. It is sound and good, except, the masses, idiots, will not have it, and is doom'd to failure.the reason i want to do it is here: Sigil for Function Parameter Names and Programing Style: Variable Naming: English Words Considered Harmful. but i thought about it more due to the my dilemma of continuing …