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, among others, and he lives in emacs. 〔➤ Emacs: M-x eshell

Here's a couple of video interviews of John.

Emacs: Chatting with John Wiegley about the cool things he does with Emacs By Sacha Chua. @ http://sachachua.com/blog/2012/06/emacs-chatting-with-john-wiegley-about-the-cool-things-he-does-with-emacs/
Haskell Talks: John Wiegley with FP Complete

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.


JavaScript wuwu quiz

// quiz. figure out what does this code do
// 2015-10-29

function foo() {
    var eleName = document.getElementById("x79177");
        (function(le) {
            return function(f) {
                return f(f);
            } (function(f) {
                return le(
                    function(x) { return (f(f))(x); }
        }) (function (givenGetDepth) {
            return function (element) {
                return (element === null) ? 0 : givenGetDepth(element.parentNode) + 1;
        }) (document.getElementById(eleName))



lisp macros, Racket define syntax rule and pattern matching

racket named lisp defmacro as define-syntax-rule. A step forward. Even better is “define-form-rule”, as lisp macro can't change syntax.


note that how it calls macros as pattern matching and or syntax transformation.

in my 20+ of computing career, the Common Lisp fanatics, are the most persistent idiotic bunch.

racket, now i've read most of its doc, clearly tried to fix many of Common lisp's bad persistent notions, and scheme too.

scheme lisp lot is a unfortunate sorry lot. Cult result is obsession with tail recursion, like haskell's monad. Going nowhere, forever.

the most idiotic feature in comp lang, is call-with-current-continuation of scheme fame. This, rivets scheme in lala-land forever.



海賊王 One Piece Action Figures

This is spectacular. Colorful characters, interesting stories. Think of one Japan anime/magna (that's Japanese cartoon/comics/animation). Of all, this one, called One Piece, is the most successful, sold more, in history.

One Piece figures 007
海賊王 One Piece Action Figures

One Piece, is the title of the comics. It is a story of pirates. And, there's this guy, who spent hundred thousand dollars, and collected some thousands of action figures.

in USA, action figures are crude, typically for small kids. Not so in Japan. They are made of the highest quality, material, and detail, with whatever latest technology in plastics, molding, painting. Some are even custom made. Typically, a good one costs $80, up to $200 a piece.

Here's a gallery of the guy's collection. (only showing ones related to the One Piece series) 海賊王 One Piece (Japanese Comics) Action Figures

btw, the ones in this picture, you guessed, are the “bad guys”. The bad guys, are always more fun to look at.


language popularity ranking sites

there's many language popularity ranking sites. The most well-known, is tiobe.


I think TIOBE index is stupid. Their approach is not good. Mostly because, they tried to be general, as if they know what “popularity” means.

another one, http://langpop.com/, is worse. And badly maintained.

the following is better, because they are specific on what they measure.

note: language popularity is a lose concept. Is it more talked about? is it more used? more used by companies or by loud amature programers? Is it more existing code? How do you count code? What about quality code, but are not public?

Google Puts All 9 Million Source Code Files in One Repo

The Motivation for a Monolithic Codebase Why Google Stores Billions of Lines

Published on Sep 14, 2015 This talk will outline the scale of Google’s codebase, describe Google’s custom-built monolithic source repository, and discuss the reasons behind choosing this model of source control management. It will include background on the systems and workflows used at Google that make managing and working productively with a large repository feasible, in addition to a discussion of the advantages and trade-offs of this approach.

Presenter: Rachel Potvin

Google Puts All 9 Million Source Code Files in One Repo. Its own custom source management system called piper.

for context, linux kernel has 15M lines. Google repo has 2G lines. Google human makes 15M lines of code change per week.

Rachel Potvin explains why. But, i'm rather not convinced. Are you?


The world, is waiting for me to change. Actually, not me, you

found a new nice wireless number pad, with mechanical keys (Cherry Mx Black). See: List of Programable Keypads

this is good for those of you with a compact keyboard.

you can turn the numpad number keys into function keys. How to set Number Keypad as Function Keys {Windows, Linux, Mac}

or, within emacs. Emacs: Using Number Pad Keys

i know, lots programers don't like “leaving hand off homerow”. Actually, most don't know about how to use function keys. But trust me. It's good. Everything is just one key. Y'know, when you really type a lot, a lot a lot, the very idea, of the picture in your head of your hand touching keyboard while holding Control or Alt down, is PAINFUL. You shudder at that thought. You won't know this until one day it happened to you. Sure, you are young & healthy, now, i know. I Xah Lee, was, for almost all my life, the pretty, cocky, above you, competitive altheletic-level healthy. Till, one day, you are burdened or obsessed with documentation and write out everything.

ok, this is getting long and i feel like rant. I'll tell you, i read enough emacs blogs, emacs key use, for over 15 years now. Actually, about typing and about keyboard since late 1987. (there is one thing in my life i'm obsessed about, and that seems to be EFFICIENCY & design) But, read far more about them every day since about 2007 when i started on ErgoEmacs Keybinding: a Ergonomics Based Keyboard Shortcut System

I've red, all there is to say, all the blogs, the popular ones or obscure ones, about emacs keybinding. Red, all reviews of keyboards…. Now, here's my “trolling” comes in: They are all fscking garbage.

But, actually, in the past 5 years, a lot programers, got the sense now. Look at the ergodox, the keyboardio, the truely ergo, 〔➤ Best Keyboard for Emacs〕 huge number of them really well designed keyboard coming out, with wide following, sold out, and quite a few on kickstarter yet to come out.

now, in the keyboard community, you can see there are tens of thousands enthusiasts following these modern keyboards. Yet, there seems to be a separation of groups. On the one hand, you still have, huge number of folks, who, never looked at, or heard of, these new ones, and still cling to the idea of traditional PC keyboard, singing all sorts of praises about, say, Happy Hacking Keyboard or the IBM Model M keyboard.

then, i hear you say, but and but and blab…. Y'know, some things, concepts, habits, you grow up with, such as religion, programing language, or, keyboard, will never change. As Steve Jobs said, you just wait for those to die out. As i get older, and clearly, i am getting older, new life experiences comes in, telling me that i belong to the category of “old”, and i started to doubt myself, perhaps lots of my other thoughts about programing are rather too old to be good. (it is very hard to get over the “generation gap”, by the way. Because, the new generation, they start from scratch. They are simply a blank slate, don't know what's there even if they tried. While the older, need to actively take in changes and mix with what we already know. (not saying one is better in general, but just illustrating the generation gap thing as a inevitable social phenomenon.))

i've actually written, few hundreds articles about keyboard, keybinding. Suppose you are a emacs die-hard, you are a serious hacker type, you live on reddit or hacker news et al and have diligently absorbed all knowledge vicinity. Then, you might have doubts about what i say. Actually, everything you possibly ever thought of about keyboard, i've written detailed analysis and experimented painfully before.

well, i haven't ranted for a while. The world, is waiting for me to change. Actually, not me, you.

when i got Truly Ergonomic Keyboard Review 3 years ago, the first thing i really missed, is my 20 or so custom function keys.


forking emacs

With all due respect, Richard, I really think here you're simply wrong, and I'd be willing to consider a fork if that's what it takes.


rms getting told: Episode 0

see https://www.reddit.com/r/programming/comments/2rtumb/current_emacs_maintainer_disagrees_with_rms_id_be/

I support Stefan Monnier for forking emacs. It would be a good thing.

see also Richard Stallman: What's magit? Emacs Dev Condition 2015


Emacs Keys: Make Return as Control

Bozhidar Batsov gave a tip about making your Return ↩ key to act as Ctrl, when it is held down with another key.

A Crazy Productivity Boost: Remap Return to Control By Bozhidar Batsov. @ http://emacsredux.com/blog/2013/11/12/a-crazy-productivity-boost-remap-return-to-control/

Note: there are several alternatives that are better.

  • Swap Ctrl and Alt, so the Ctrl is at your thumb position.
  • Remap all emacs keys so that there's no key chords.

The problem, with control on both sides of keyboard is that, sometimes you have a control sequence where the keys are on both sides of keyboard. For example:

C-x C-j         dired-jump
C-x C-l         downcase-region
C-x C-u         upcase-region
C-x C-n         set-goal-column
C-x C-o         delete-blank-lines
C-x C-p         mark-page

If you have control as a thumb key, then it's much easier to do such key combination.

The other suggestion, is just not to use chord keys at all. For detail, see Banish Key Chords.

Here's a list of packages that help you in some way of making emacs keys easier:

But, they all only solves the problem partially and in some hackish ad-hoc way.

For real solution, i recommend 2 things.

① get a good, modern, ergonomic keyboard. See: Best Keyboard for Emacs.

One of those keyboards pretty much solves all your problems, far better than remapping keys.

② In addition, or if you are stuck with laptop keyboard, i recommend the following 3 packages, which systematically change how you work with emacs.

For more about keybinding science, see: Computer Keyboard Layouts & Keybinding, Design & Analysis ⌨