Showing posts from 2014

clojure problem: string not in core

string manipulation is the most important element in modern programing. This is the first thing you teach to beginners, about any language.But with clojrue, it's not core part of the language. You need to load it as a lib, or, go use Java's string stuff.Try to tell that to beginner. You either face the immense complexity of clojure namespace , or the immense complexity of dealing with a entire complexity bag the interoperation with Java.PS: actually, just prefix the namespace. ⁖ (clojure.string/upper-case "xyz").

One Weird Annoyance About Clojure: Java

one annoying thing about Clojure is that it runs on Java Virtual Machine. Clojure is actually a so-called hosted language, and this is by spec. (and JavaScript is a hosted language too. 〔➤ JavaScript Tutorial: Understand JavaScript in Depth〕). This practically means is that, Clojure isn't a “fixed” language. For example, when it's running on JVM, its regex is Java syntax, its string functions are Java language's string methods. When it runs in JavaScript world (as ClojureScript do), its regex is JavaScript's regex. 〔➤ JavaScript Regex Syntax〕But, that's not all. The MOST annoying thing is that, you actually need to know a lot about stinking Java in order to do any real world work with Clojure. (don't let any hacker type fanatics tell you otherwise) You need to know Java class/object system, its package system, its namespace scheme, Java Virtual Machine system, its compilation cycle, its tools and achive files. Even the official Clojure documentation, outright s…

show/edit zip file content in emacs

there's a patch for opening zip files in emacs. When opening a zip archive of a single file, emacs now can display its content (and you can edit it)See: 〈bug#1702: [PATCH]: feature request: correctly display single file zip archive〉 at's going to be in emacs 25.x. Thanks to Matthew Leach for the patch.

clojure parser instaparse, and excellency of clojure docs

A clojure parser lib, instaparse:, seems to be the topnotch parser. Instaparse is written by Mark Engelberg.It has excellent tutorial too. Clear, to the point.No juvenile unix humor.No puerile perl drivel. 〔➤ Perl Documentation: the Key to Perl〕No verbosity as GNU documentation, ⁖ emacs manual 〔➤ Problems of Emacs's Manual〕No academic mumbo-jumbo, a la Haskell's documentation. 〔➤ Idiocy of Computer Language Docs: Unix, Python, Perl, Haskell〕so far i've seen, clojure community's doc is top-notch. The official documentation is excellent. The lib/build manager Leiningen's documentation is excellent. 〔➤ Clojure Leiningen Tutorial〕And now the instaparse documentation is appears, a language's community pretty much follows the style of its leader. In this case, it's Rich Hickey. You can see Hickey's writings, his documentation style, in several essays titled “Reference Documentation” at…

most popular pages on

where to download emacs 24.4 for Microsoft Windows

many are asking where to download emacs 24.4 for Microsoft Windowsyou can get it here: prepared by Chris Zhengalso linked from my site here Which Emacs to Download for Windows and Mac?

Truly Ergonomic Keyboard: new models

Truly Ergonomic Keyboardthere's new model of the Truly Ergonomic Keyboardthey are switching from Cherry MX switch to Kailh keyboard switch. Kailh keyboard switch is just Cherry MX clones, made by a company in China. see I'm guessing it's not that much different from CHERRY MX.looks like quite a few keyboards are using the Kailh switch. Supposedly, the Cherry MX has supply problems.they also have some other minor changes. The ⇧ Shift key is now in conventional position. Ctrl is now at conventional keyboard's Caps Lock position. vim & emacs hackers overjoy! The HYPHEN-MINUS - and LOW LINE _ key are now in the middle, replacing the Tab ↹ there. The Tab ↹ is moved to the upper left corner. And upper right corner has a duplicated ⌫ Backspace key.Overall, the key layout changes are now more conventional. People really don't wantto change habit. The new layout makes it easier for people to adopt.

new monitor after 6 years

My monitor died this morning. The power won't come on. After some searching, i assume it's old or fried capicator problem. “VIZIO E241i-B1 24-Inch 1080p 60Hz Smart LED HDTV” amazonas emergency measure, asked my roommate to drive me to Walmart and got's really a monitor designed for TV.Vizio turned out to be a US company founded by Chinese in California in 2002, and it's popular for selling TV screens.For me, it's a upgrade. My old served me good 6 years. It was LG L227WTG, 22″, 1680×1050. Not LED. 〔➤ Why I'm Switching from Mac to Windows〕now it's 1920×1080 and 24″ and's got what's called Smart TVfor my record, here's spec VIZIO E241i-B1 monitor/tv Spec Video Screen Size24″ Screen Size (Diag.)23.54″ Backlight TypeRazor LED Resolution1920×1080 (1080p) Effective Refresh Rate60 Hz Aspect Ratio16:9 Viewable Angle (H/V)170°/160° Number of Colors16.7 Million OSD LanguageEnglish, Spanish, French Audi…

rule of conduct of a 4chan philosopher

in hacker discussion, there's one thing i despise the most. If you know something, say it loud, swear, insult, that's all fine. If you don't know something, but insist and put on a air, that is the MOST mfkg despicable in my book.i often post random rants and stuff on computing in social networks. The seriousness of it is made plain in the writing style. When in discussion, you try to put on a air on something that you are idiotic of, be prepared for my wrath. (and btw, usually one has too go out of his way to invoke that. So, you don't need to worry.)also, typically my posts are on programing topics but is not a technical issue that has a straight-forward answer. To illustrate, consider the question “how does y work in lang x”. Vast majority of coders knew this for some x. You and i can goto stackoverflow and get 100% satisfaction. But rather, i usually post subject about, syntax design, semantics, idioms, engineering practice. The discussion quality can be measured t…

twitter spambots talking to themselfs

looks like spam bots mentioning my name are talking to themselfs now, on twitter.Web Spam, Scam, Blackhat SEO Collection

computer language: mixed list & hashtable

these days, some lang has array/list and hashtable mixed into one. It is popularized by php.php started that way probably due to a hack. The lang doesn't have arrays, but what it calls array is a mix of hashtable. When used like array, the keys are automatically filled with 0, 1, 2, etc. 〔➤ PHP: Array Basics〕JavaScript is a different story, but also hack and incompetence. It did NOT intent to have mixed array/hashtable, but rather, in order to be simple, it's array is implemented as hashtable (which is its object), so it pretent to be array. 〔➤ JavaScript: Understanding JavaScript Array〕.nobody liked these, because they are even less than a design decision. The JavaScript here is simply fk'd up.though, i heard lua is also mixed array/hashtable. Anyone know if it's really good?

Google Chrome to Replace Gtk+ with Its Own Aura

old news from 2014-03. Announcement by Elliot Glaysher at!topic/chromium-dev/Zpu9801pPRc. Quote:We aim to launch the Aura graphics stack on Linux in M35. Aura is a cross-platform graphics system, and the Aura frontend will replace the current GTK+ frontend.discussion on reddit

Google Chrome to Kill Plugin

netscape back in 1990s created a plugin API architecture, called NPAPI. That's what allows you to have (Macromedia) Flash, Apple's QuickTime (for video), display MathML, use Java applets, and hundreds of others. Now, Google is killing it, and pulling it out of Google Chrome.This means, no more Java Applets. By the way, the Flash bundled with Google Chrome isn't using NPAPI.Google cites security reasons for killing NPAPI.〔Saying Goodbye to Our Old Friend NPAPI2013-09-23 By Google. @〕some discussion on chromium-dev here:!topic/chromium-dev/xEbgvWE7wMk

Do Not Use Dart or CoffeeScript

Do not use Dart or CoffeeScript. Just use plain JavaScript. If you must use something fancy, use TypeScript.Dart is basically JavaScript with Java syntax & semantics. Java is bad. Goole do it because Google can't divorce Java.CoffeeScript is no good because it's a layer of complexity, with ad-hoc syntax, and benefit isn't big enough. It will never be standard.TypeScript is acceptable, because it's JavaScript compatible, with benefit of type system (math foundation❕),not hacker whims of idioms & styles & patterns & OOP crud.see also What do Microsoft, Apple, Mozilla, say about Dart?

Poetry in Chinese vs English

月不圆花不好… 浮云散明月照人来,团圆美满今朝最。清浅池塘鸳鸯戏水,红裳翠盖并蒂莲开。双双对对恩恩爱爱,这园风儿向着好花吹。柔情蜜意满人间。🎶 周璇 ⭐〈月圆花好〉 🎶Poetry in Chinese, is far deeper than English can possibly ever go. Chinese language,… here's a brief random Xah Edu Corner brief: Chinese language, is such that, not going with formality n all, but for ya American monolinguists to get a sense of Chinese, u can think of stringing together similar words that are on the ballpark of your meaning. And that's how Chinese is. In a sense, every phrase is a idiom. Note the word Every. So, when you study Chinese, you are actually study history. Chinese lang, is rather terrible for any science or engineering work. But for poetry, a english saying is that poetry is like honey, but in Chinese, it's like honey injected directly into your bloodstream.

JavaScript Web Development = No Documentation Hell

Heavy work on JavaScript tutorial in past month again. Hope you like it. Xah JavaScript Tutorial.there are lots JavaScript tutorials or blogs out there. Typically, they are either too basic, covering the syntax and not much else, often misleading info. Or, they are far advanced, blogging about latest ecma standard news or new libraries & frameworks for those who worked with JavaScript professionally for years.JavaScript is not like emacs lisp, where there is a nice juicy reference manual. JavaScript doesn't have any documentation (there's the spec〔ECMAScript Language Specification - ECMA-262 Edition 5.1〕, but written for implementers). Worse is that to write web apps, the DOM & BOM, again has no readable documentation. (BOM is entirely not documented)〔JavaScript: Browser's Window Object, What's Browser Object Model (BOM), Document Object Model (DOM)〕I hope my JavaScript tutorial gives a good help.for web development tips & tricks, subscribe Xah's Web Dev Blog. Than…

browser extension development explained: Google vs Firefox

for Google Chrome, you go to their tutorial, in 20 min, you know how to write one, how to pack it, and have a good overview of the API. Pure JavaScript HTML CSS.for Firefox, there are meta-guide old and new on mozilla blogs, then there are 3 frameworks, one requires to download a SDK that runs python that it asks you to run its random bin/activate fk bash script with instruction about how to untar a tarball, and one is “bootstrap” fk, and another is XUL fk, each fk has their own introduction page, with one thousand links & jargons & guides &warnings & preface & idioms guides. In 1 hour, u still dunno a thing about it.

completely replace emacs one thousand keys, part 2.5

a few months ago, i started to design a keybinding set that completely replaces the entire emacs 1k+ keybinding.i've been using it for a few months now. I want to publish it nicely, but just haven't got to, am just pushing it out as its current state, here:, i'm pushing out in its current chaotic state, hoping some keyboard hackers will pick it up, in case i never use it, you need:is a emacs lisp a keyboard is currently for dvorak. so, if you are not using dvorak, you'll need to remap yourself.the code is not nicely packaged up into a lunchbox. (but, it's not complicated neither. it's very simple)here's a bit detail to help along:there are 2 types of command: fast-repeat command and none-fast-repeat command.the fast-repeat commands are moving cursor, delete characters, etc, where it makes sense to hold down a key and have it repeat. Typically, …

xah rumination extempore. hatred of idiots

i've spent significant part of my life arguing with idiots. Mostly, the hacker type of programer idiots. When in argument, most of the time, i know what they are talking about, they dunno what am talking about. That is the thing.when did this start to happen? i think it's around year 2000. Before that, one could consider i'm a learner. A eager one. Read all the stuff i can get my hands on. Have lots questions. Often frustrated by those who don't know what am asking.after 2000, when i'm master of perl and unix tech, servers, networking stuff, i started to lash out at the hacker idiots. That's when, people started to call me a troll.i introspect a lot. that is to say, to a degree that's considered pathological. (it's one of the characteristics of schizoid personality) So, on this issue, i've considered, to extremes, from whether i'm a idiot, or they are, or, what exactly is happening, why does it happen. Like, a deep analysis, of all facts and fac…

Emacs Lisp: Change Current Word to Wikipedia Link

(defun xhm-word-to-wikipedia-linkify () "Make the current word or text selection into a Wikipedia link. For Example: 「Emacs」 ⇒ 「<a href=\"\">Emacs</a>」" (interactive) (let (linkText bds p0 p1 p2 wikiTerm resultStr) (if (region-active-p) (progn (setq p1 (region-beginning)) (setq p2 (region-end))) (progn (setq p0 (point)) (skip-chars-backward"^ \t\n") (setq p1 (point)) (goto-char p0) (skip-chars-forward"^ \t\n") (setq p2 (point)))) (setq linkText (buffer-substring-no-properties p1 p2)) (setq wikiTerm (replace-regexp-in-string" ""_" linkText)) (setq resultStr (concat"<a href=\"" wikiTerm "\">" linkText "</a>")) (delete-region p1 p2) (insert resultStr)))in Emacs: Xah HTML Modethis and Emacs: …

on the realism of space battle of Star War vs Star Trek

the most realistic space battle is depicted in Star Wars, where massive ships loom large by inertia, plasma bolts fly like raining swords, and the giant explosion only possible in outer space. On the other hand, Star Trek is not realistic in just about every way. The oddly shaped ships are not space-dynamic, and teleportation has unsolved philosophical issues, the aliens are humans with horns, and silly evasive maneuver, wrap-drive, time travel, holodeck, lol, figment of desire of scifi nerds.

how Model M keyboard sounds

IBM Model M keyboard buckling spring soundIBM Model M keyboard, Unicomp

Knowledge is Power my Hindquarters

they say, knowledge is power. But that's humanity speaking. Take you, for example. Suppose you study math, and is god at it. What's your fate? You'll be a professor at some university, at best. A javascript web monkey will make more than you. Say, you are top of the game, you won prestigious math awards. Thy power will be below a joe blow at Google, who have better car than thee.lets put superhuman powers in you. Say, you not only is a genius of math, but is a master of world history, politics, humanities, sciences, arts, equivalent to say 10 university degrees. Well, there are quite a lot people like that. Ever seen the Jeopardy show? they are house wifes or mob toilets at McDonalds.

geek + hack = geekhack, on keyboard & keybinding

these days, when seeing so so many whizbang ergonomic mechanical keyboard out there, now i'm more daring in thinking that any keyboard that's traditional PC shape is idiocy of the idiocy.have you seen geekhack or deskthority? There, is where keyboard creatures live… drilling down every detail on keyboard, makers history, electronic schemas, molding of key plastics, key cap shape design schemas, with a million photos and drawing boards.yesterday i was reading this, typical of hackers, usually they are lame on keybinding. In fact, you don't find much info about keybinding layout anywhere on the web. All you EVER hear about keybinding, is emacs vs vi, and Swap Caps Lock and my study of keyboarding, one surprise is that, a programer typically type more keybinding than letter input 〔➤ Emacs's Command Frequency Statistics〕So, this means, Qwerty vs Dvorak vs Colemak vs NEO… key layout is less important for programer…

A Old Friend, on the Run for 14 Years, Captured by FBI

Perm URL with updates: personal just happened. In 1986, in Montreal, when is was 16 and a street juggler, i met this guy, named Andrew Allen (who later changed name to Neil Stammer). He is a renowned world-class juggler, holding some world records in juggling. He is a street guy, wandered about from country to country, speak and read/write several languages, including Chinese and Old English (and German, French...).i know him only briefly for about a year, but we are somewhat very close. But i left Montreal Canada in 1989 (when i was 21), and we haven't been in contact.about a decade ago (around 2001 or about), i discovered from juggling forums, that he's been arrested and charged for pedophilia related things.I recall, he is a nice guy, and when he was with me, he… (i rather not say), but we haven't had sex (of any sort), nor did he forced or anything in any way. (i am not gay, but he is bise…

KTVA Charlo Greene Reporter quits Live on air with style “F it I Quit!”

KTVA Charlo Greene Reporter quits Live on air with style “F it I Quit!”

list comprehension, python, semantics & syntax, and the hacker idiocies

Guido wants to remove {lambda, map, reduce} in python. He wants us to use list comprehension exclusively. see Lambda in Python 3000.if you don't know what list comprehension is, see Python Tutorial: List Comprehensionlist comprehension is no good. see Computer Language Design: What's List Comprehension and Why is It Harmful?still, the python hacker idts defend it by “its faster”. In which, python compiler idcy comes forward to defend python language idcy, like a snake eating its tail.however, there's one important semantic advantage of list comprehension. That is, using expressions to build complicated list. The advantage is seen especially with multiple variables (⁖ nested array n levels deep, each level has different number of nodes.). This would be nested map, which is cumbersome. This is also why, Mathematica has the Table[] construct, which is a functional form of list comprehension. (in Common Lisp, the analogous i…

xah's rumination extempore: on bike sheding problem

xah's rumination extempore: on bike sheding problem(xah's rumination extempore is when i type as fast as i can, you rip the incumbent fruit)there's a problem called bike shed problem. that is, people tend to spend dispproportional time on trivial stuff.the story is roughly this: nuclear power plant has lots decisions to make, but the problem most people spend time and argue about, is the design and size of the parking lot. Because it's a issue everyone can understand and have a opinion. (you can Wikipedia for detail)this is quite interesting. worth a laugh. but it's also true. (is it scientifically true? as can this be verified or already confirmed in social science? i don't doubt it's true, but that's another topic)so, it's quite a interesting issue. am thinking, how to classify, or address, this? like, first of all, is it a problem? if so, how can we solve it? has this problem plaque humanity throughout? like, you'd want overall view of the is…

Linus's new keyboard: CM Storm


what's the best coding style?

Emacs: Tabs, Space, Indentation Setup#comment-1595298993any coding style guide or concern should be ban'd. The only valid coding style advice is when it makes a algorithmic difference. Anything else, is hacker idiocy (to the extreme), and language idiocy, and the downward spiral and dead keyboard & keybinding, the best hope is waiting for death to take care of the problem. (as Steve Jobs and Douglas Crockford said.)the only tool allowed for formatting related coding style, is one where you press a button and the entire file or directory is reformatted. (golang does it). Anything else, such as paredit, or most “lints”, is hacker idiocy.the most idiotic programers, are the hacker types. The types that read hackernews, reddit, stackoverflow, (and graddaddy slashdot) etc everyday, and don't hesitate to tell you what you should do, about idioms & styles.the worst language, is a language that has lots of tricks & idioms. Perl is the dad, but went out of juice. Now Python…

programing pains and idiocy: trim whitespace

in emacs, there's a command that trim whitespace. But, wouldn't it be great if when a file is saved, the command auto runs? But then, when working in a team, if you do that, and commit, people will frown upon, as consequences of diff and log all become spurious. Thus, born is various whitespace clean packages, that trim only if the file before edit is whitespace clean, or trim only on the lines you's, like, becoming, idioticer and idioticer.there are several problems here. The core is the most idiotic concept, that code are based on lines of 70 chars or so, which originated from punch cards, and insisted by unix C idiots, and glorified by hacker idiots about style guides and style guide checkers banana.spurious software complexity that spun out of nowhere. Like, these days, you spend most of the time on the side things of coding. Time to learn the tools, work around the tools, follow new rules due to tools.Programing Language Syntax Soup

HTML 5: no need for “type="text/css"” attribute in “style” element

when using the “style” tag in HTML page, you can omit the type="text/css" part. Just write <style>…</style>.

does linux tiling window really suck? a challenge

a coder i respect highly, Yuri Khan, commented on my article about tiling windows.i know at least that Yuri is expert at python and JavaScript, and also a master of keyboard config, like myself. He has commented on my blogs for over a year, and that's how i know. Often, i learn something from him, either something technical in a language, or history, Russian programing keyboard or typing issues, etc.sometimes we disagree. He loves python, i hate python.anyway, he commented on my tiling windows rant on how he finds it useful. (as a lot hackers do. I despise tiling windows, as i despise most hacker's love, such as the The Idiocy of Happy Hacking Keyboard)i updated my tiling windows article, to include a alternative workflow, and i challenge anyone to use it for a week, and see if they still find tiling window or workspace Why Tiling Window Manager Sucks (xmonad, ratpoison, dwm, …)if you don't know how to set the keys, just ask me by leaving a comment there.

plane curves, java applet obsolete, need JavaScript

just remembered, that i had a dream few days ago, that the plane curves website at St Andrews University (Scotland) converted their Java curve applet to modern JavaScript. Which is something i've been planning to do for my Visual Dictionary of Special Plane Curves old rival beats me!

crackpot letters

crackpot letters

John Baez's sample of crackpot letters he received.


now and then i receive them too, i guess because i've been desperate to sell how smart i am on my websites for almost 2 decades now.

it's kinda strange and interesting that there are these people around. Sometimes you wonder if they are sincere or hoaxing, but apparently at least many of them are, as one can easily read tons of literature about UFOs and occult and conspiracy theories. (you can read Wikipedia for days on it.)

i'm a logical person. So, sometimes i give a hard try to read what they have to say, thinking that i'll have a solid analysis of the situation. But, basically it's just bizarre and doesn't make sense. Try to read what John posted and you'll see.

sometimes, some of these people are my readers or fan. So, that puts me in a awkward situation. If i show any hint of displeasure or disbelief, then perhaps i'd jeo…

F9 is for switch to emacs

my F9 is switch to emacs.
my F10 is switch to terminal.
my F8 is switch to Firefox.
my F7 is switch to Google Chrome.

this is superb. you should, too. Tiling window is no good.

for how, and related tips, see:

How to Set Key to Switch to Browser
Computer Keyboard: Increase Productivity Using Function Keys
Computer Keyboard: Using Number Keypad as Function Keys
Programable Keypads: Add Extra Function Keys to Your Keyboard

a typical todo list for part of my day

go thru this, make sure all latest articles are scheduled to tweet
Xah's Programing Blog

go thru this, make sure all latest articles are scheduled to tweet
Xah's Web Dev Blog

• add new linux keyboard articles to
at linux section.

• on this page
Linux: How to Swap Caps Lock & Escape Keys?
make the capslock without kbd tag, in the question section

• review this pgae
Command Line Tool to View Comments in Image Files

• clean up, create archive for
Xah Emacs Blog

• schedule one tweet from

what switch mechanism does Space-cadet Keyboard use?

i learn that, the Symbolics lisp machine's Space-cadet Keyboard uses Honeywell Hall Effect key switch, which is the highest quality key switch.Space-cadet KeyboardAccording to: in 1968, Micro Switch (a division of Honeywell) adapted their Hall effect switch technology to work in keyboards. These switches are among the highest quality ever produced by any keyboard switch company, with reliability being paramount to their design. For increased reliability, there are both 3 pin and 4 pin designs of the switch. The 4 pin are +5, GND and dual open-collector outputs, allowing wired-or of the X, Y keyboard matrix. These switches are naturally bounce-free!The patent itself originates from 1969, but the design is aesthetically very different from the produced switches.The Honeywell Hall Effect switch is most famous on some Symbolics keyboards, as well as the Space-cadet keyboard.Keyfeel: Smooth linear switch, makes Cherry MX Blac…

tablet friendly website, responsive design, css3

my website is now tablet friendly. More specifically, in portrait mode, the side bar doesn't show.
here's a sample page. 〈Xah CSS Tutorial〉

for this to happen, it's very simple. See:
〈CSS: Media Query (Responsive Design)〉

however, took me about 5 hours. Why O Why? that's how things are. We are not talking about old browsers or Internet Explorer 8. I'm designing only for “real modern” browsers. But, still, the pain won't go away. Why my paragraph width got shrinked on this modern Motorola Xoom super Android cynogenmod browser? Then, download Google Chrome browser, seems to work there. Then, try to find a way to determine just what browser is that one running in cynogenmod. Then, try CSS variations, then, try to read the spec. Then, try CSS variations, then, try to read the spec, more carefully. Then, rub ya gloss. Then, rub ya eyes. Why O Why this isn't expect. You know what i mea…
GLONASS (Russian: ГЛОНАСС, IPA: [ɡlɐˈnas]; Глобальная навигационная спутниковая система), acronym for “Globalnaya navigatsionnaya sputnikovaya sistema” or “Global Navigation Satellite System”, is a space-based satellite navigation system operated by the Russian Aerospace Defence Forces. It provides an alternative to Global Positioning System (GPS) and is the only alternative navigational system in operation with global coverage and of comparable precision.

What's the Use of the ▤ Menu/App Key?

Perm URL with updates: ▤ Menu key is just fantastic. Now, in Firefox, you can press 【▤ Menuc】 to copy, and 【▤ Menup】 to paste. Also works in terminal, desktop (file manager) to rename, etc.this is particularly nice when your keyboard has a nice positioned ▤ Menu key. For me, on the Truly Ergonomic Keyboard, that's the left space bar.or, you can make your Caps Lock to be the ▤ Menu key.On Linux, use xmodmap. 〔☛ Linux: xmodmap Tutorial ⌨〕.On Mac OS X, use “PCKeyboardHack”. 〔☛ Mac OS X: Keyboard Layout, Keymapping, Keybinding, Software ⌨〕.On Microsoft Windows, use AutoHotkey. 〔☛ Windows Programing: AutoHotkey Example Scripts〕and, of course, in my emacs setup, some 90% of my commands calls are all assigned to a key sequence, starting with the ▤ Menu key. 〔☛ Ergoemacs-vi ModeBanish Key ChordsKeyboard Shortcut Design: Repeatable vs Non-Repeatable Commands and KeysErgoEmacs KeybindingHow to Avoid the Emacs Pinky ProblemBad…

Can you install Linux on Chromebook

am looking to buy a laptop.Apple's out, because the price/meat ratio is about 3 times higher than, that leaves Chromebook and normal Windows laptop.first question about Chromebook is, can i install full Linux? am not much interested in ChromeOS. Am gonna use this for dev, python ruby database, html, javascript, node.js etc.Can you install Linux on Chromebook?yes, but not the normal way.You have to go thru unsupported hackery process such as turn on developer mode, which adds 10 secs to boot time, then other hackery process to get going. Or, another option is booting up with Chrome OS and run Linux on top, again, not can read about the complexities here:How to install Ubuntu on Acer's $199 C7 Chromebook: ChrUbuntu is kind of a mouthful, but helps you get your money's worth.2012-12-09 By Andrew Cunningham. @ to Install Linux on a Chromebook and Unlock Its Full …

emacs's “describe-” commands

emacs's “describe-” commandsemacs has describe-function command, and many other that starts with “describe-”. They are in general giving you help or default, there are 2 keys to invoke them, 【F1】 or 【Ctrl+h】. ⁖describe-function → 【Ctrl+hf】describe-function → 【F1f】〔☛ Emacs Keys Overview: How's Emacs Keys Organized?〕here's my own usage, ordered roughly in frequency of use. (with my own keys, plus a few of my own commands)hourly:<menu> h f describe-function <menu> h k describe-key <menu> h 3 man <menu> h 9 lookup-word-definition <menu> h 8 lookup-wikipedia <menu> h 7 lookup-googledaily: <menu> h 4 elisp-index-search <menu> h c describe-char <menu> h m xah-describe-major-mode <menu> h v describe-variable <menu> h e view-echo-area-messages monthly:<menu> h a apropos-command <menu> h l view-lossage <menu> h s describe-s…

JavaScript: never use 「delete」 to remove element in array

Note: splice is the general way to add/remove elements. You should never use 「delete」 to remove elements in a array, because that creates a sparse array.// example of how delete creates a sparse array varaa = ["a", "b", "c"]; delete aa[1]; console.log(aa); // [ 'a', , 'c' ] console.log(aa.length); // 3see JavaScript Array Methods

where is client library at?

decidedly frustrated with me detail the issues.first, there's no clear indication what it's supposed to be. Sure, it's clear it's a lib on top of WebSocket protocol, with added feature that if browser doesn't support WebSocket, it'll automatically use other means (aka transports) such going thru Flash, XMLHttpRequest, hidden iframe, etc.but, Does it require Node.js? There's a server and client part. How are they related?the home page is extremely simple, but those simple examples hide a confuse ball. Nowhere it tells you it's relation to Node.js, or how server/client are related, or independent. And its FAQ, or its github pages, don't say neither. (instead, it has one hundred other links, none of which answers)Answer: is 2 JavaScript libs, socket server and socket client. But also, it is a protocol, on top of WebSocket. So, other langs can implement it too without using Node.js or JavaScript.Answer: has socket se…

mixed Chinese and English writing and punctuation

当写英中混合时,发现,英中标点符号混杂,没办法讲定规。要不就一率用英文式或一率用中文式。When writing mixed Chinese and English, i realized that, it's hard to have a uniform rule for using English punctuation or Chinese punctuation. Perhaps, a solution is then to always use English punctuation, or all Chinese punctuation.Intro to Chinese Punctuation for English SpeakersUnicode Full-Width CharactersUnicode: Punctuation & Printer's Symbols † ¶ © ® ™ ☙Emacs Lisp: Convert Punctuation Between English/Chinese FormsShould You Type Space After Comma? and Tiny Space Bar on Japanese KeyboardsEmacs Chinese Input for Studying Chinese

emacs moving to git, we hope!

ground-breaking news. It seems, emacs repo would move to git in the near future.thanks to, the controversial head Eric S Raymond. See the thread here: time i dip into emacs dev list, it pains me to see the utter inefficiency and arguments there. Everybody argues. Argue, and argue, philosophy waxing, and argue, and you see one hundred weird utterly stupid wild ideas (excuse me) on everything, from dinosaurs of the 1980s insisting their ways, to clueless FSF fanatics who haven't wrote a single line of code but is gung-ho about emacs. In between is every cock who think only he knows how things should be, meanwhile, those who have written respected software or contributed tons of elisp, are treated just like nobody — a complete egalitarian dystopia.emacs, sucks the weirdos of the world. Count me in.On this, we must also thank John Wiegley, who daringly and humbly pushed for git 9 months ago. See http://lists.gnu…

Mac OS X File Resource Fork Changes

Mac OS X 10.7 (released in 2011) deprecated the command line syntax to access file resource fork. Before, you do ls -l filename/rsrc but that no longer works. The new syntax is ls -l filename/..namedfork/rsrc.see Mac OS X Resource Fork and Command Line Tipsthanks to Marius Piedallu van Wyk

linux: show files opened by apps

some quick tips about viewing files associated with process.lsof -h → show a short help filelsof fpath → show all associated with file fpathlsof -i → list files associated with internet (⁖ browser process)lsof -u name → login/uidlsof -p pid → pid. 123,^456lsof +d dir → by dir path dirlsof +D dir → by dir path dir, also show all dir's childrenlsof -c cmd → show files opened by command whose name starts with cmd