Xah Programing Blog Archive 2013-03

wow, Richard Stallman got into a quarrel with Linus on stage in FOSS'13 London and a riot started.

am very happy, that i've settled on this Unicode symbol to represent “e.g.” or “example”. The name of that symbol in Unicode is THREE DOT PUNCTUATION. See bottom: Symbol, Semantics, Design: Unicode for “e.g.” (exempli gratia)


Language Syntax: Brackets vs Begin/End

A nice essay: 〈Programming Languages Have Social Mores Not Idioms〉. Added the link to the bottom of Programing: Why Idiomatic Programing Are Bad.

on its own page. Python Libs for Scientists

Using Voice to Code Faster than Keyboard 📺

Summary of My Typing and RSI Experience 1992 – 2013

slight facelift. Xah Java Tutorial

new. Apache HTTP Server Tutorial

3 articles on the statet of the onion. Perl is not dead, but is dead end.

Texinfo 5.0 in Perl By Dave Cross. At http://perlhacks.com/2013/02/texinfo-5-0-in-perl/

Perl is not Dead, it is a Dead End By Stevan Little. At https://speakerdeck.com/stevan_little/perl-is-not-dead-it-is-a-dead-end

Goodnight, Parrot By Chromatic. At http://www.modernperlbooks.com/mt/2013/02/goodnight-parrot.html

Microsoft Sculpt Comfort Keyboard. Space bar is now split into a ⌫ Backspace key.

diy ergonomic keyboard common 172 banner
the keyboard from outer space. image source

more at more fancy keyboards

more words added to the idiotic aspell. Go github at bottom to grab it. aspell sucks: Dismal Vocabulary Size

Tech Humor: Apache vs Node.js vs NGINX 📺

hot from the oven. learn ngnix in 1 hour!

xah java logo
Xah's Java logo

updated. Xah's Java Logo

added a photo of Commodore 64 keyboard. Keyboard: Control vs Capslock Position

Open Source Rewrites History: Why is Apache Named “Apache”?

MERCURY ☿ VENUS ♀ EARTH ♁ ⊕ MARS ♂ JUPITER ♃ SATURN ♄ URANUS ♅ ⛢ NEPTUNE ♆ PLUTO ♇. Added some interesting notes about these symbols, see bottom. Astrology Symbols ☿ ♆ ♋ 🌛 (you might need to refresh the page)

new collection. documentation idiocy collection

facelifted. Python Documentation Problems

updated. How to Improve Python Doc; Notes on Rewriting Python Regex Doc

After 8 years, Python doc haven't improved much. There are complaints about Python doc about every year in Python mailing list, and Python doc wiki constantly crop up, but the Python priests always flame and turn it down.

learned a new linux command. man lsmod. It shows the status of Linux kernel modules. Basically pretty print /proc/modules

eureka, i just found the name of my lang. laputa!


How to Diagnose Computer Networking Problems

contour RollerMouse Free2
new fancy pointing device. Contour Roller Mouse.

on its own page. Invisible Character from Twitter

REPL Jargon

on its own page. USB3 Drive Speed

typematrix keyboard 2030-29175-s TypeMatrix Keyboard Review

Docstring Convention: Python vs Emacs Lisp

updated on how to fix. Fix Defective Keys in Comfort Curve Keyboard

Tiny Space Bar on Japanese Keyboards

ASCII Jam Problem: HTML Entities

much more info about the OMeta lang at bottom: Proliferation of Computing Languages

started to work on Linux firewall tutorial. Linux: iptables Basics

another keyboard layout. qwpr Keyboard Layout. Also, the Workman layout has a much improved home page, with a active forum. See bottom: Computer Keyboard Layouts: Dvorak vs Colemak vs Workman

lol. Perl added a say in v5.10 . It's like print but adds newline at the end. But you have to use v5.10; first. Quote from perldoc -f say.

    say LIST
    say     Just like "print", but implicitly appends a newline. "say LIST"
            is simply an abbreviation for "{ local $\ = "\n"; print LIST }".
            To use FILEHANDLE without a LIST to print the contents of $_ to
            it, you must use a real filehandle like "FH", not an indirect
            one like $fh.

            This keyword is available only when the "say" feature is
            enabled; see feature. Alternately, include a "use v5.10" or
            later to the current scope.

these days, Perl monger remnants try to revive Perl from death bed, and talk about “modern perl”. LOL. the very name is funny. Am guessing the next step would be post-modern Perl? or should it be post-post-modern Perl?

learned a new Linux command: watch. For example, watch ls.

this is useful when you want to run some command regularly and itself doesn't have auto-update.

thx to Ryuutei Sebastien BLANC

see also Linux: Most Frequently Used Shell Commands

I don't know much about Operating System. I was just wondering whether or why the networking component is part of the kernel. Then, found this fantastic map. Linux Kernel Map.

learning notes. Linux: What's Netfilter, iptables, Their Differences?

Linux networking. iptables man page.

ACCEPT means to let the packet through. DROP means to drop the packet on the floor.

Note that we drop it to the floor, not, river or lake, as Microsoft might.

Xah's Edu Corner of the Day

there are 2 types of firewalls. Complicated and Uncomplicated. Linux supports the uncomplicated type, called ufw, short for Uncomplicated Fire Wall. Type man ufw in terminal to read its doc.

the complicated type is related to the math concept of complex number.

PS this post is of import due to its affinity to the field of linguistics, category theory, the theory of archetype, and ontology.

Razer BlackWidow mechanical gaming keyboard
Razer BlackWidow Gaming Keyboard


Levetron Mech Gaming Keyboard (added a video review)

added domino tiles, mahjong tiles. Sports Emoji ⛷ ⛸ ⚽ 🏁

Unicode Symbols for Alt Key and Control Key

recently discovered proper symbol for the Alt key, and few others. Example:

btw, when you plugin a Mac keyboard into PC, or PC keyboard into Mac, you'll notice that Mac's ⌥ option = PC's Alt, and ⌘ command = ❖ Window. I always wondered if the keys send the same signal or perhaps it's the OS that's doing the remapping. Answer: The keys send the same signal. So, this means the keys are just difference in key label, and the physical positions are swapped.

you can see all these at Unicode Keyboard Symbols ⌘ ⏎ ⌫.

heard a new language OMeta. Home page at http://tinlizzie.org/ometa/

from a comment at Pattern Matching vs Grammar Specification

now complete. Unicode Music Symbols 𝄞 ♩ ♪ ♫ ♬ 🎸 🎹 🎻 🎷

Linux: Chinese Input Setup

playing cards in Unicode. Sports Emoji ⛷ ⛸ ⚽ 🏁

Linux: View Directory as a Tree

A Emoji Tale: Good Night Gone Bad …

learned today that Apple's color font, is actually color font technology, not secondary step of replacing fonts by images. See screenshots here: Food Emoji 🍕 🍒 🍺


Unicode is such a beast. Y'know, it encompasses all written languages, including ancient dead ones. But that's not all. When you dig into Unicode symbols, you see the thousands of math symbols, printer's symbols, forgotten punctuations, ancient astronomy symbols…, some of which we use today but don't have any clue of their origin. For example: ….

you might be curious, and started to read about what they are for. I started that way some 5 years ago. First due to my love with math symbols. After few years doing it casually, you realize, to really understand all the symbols, their origin, history, can take you few years to decades. Not even counting the alphabets of dead writing systems.

Unicode Characters ☯ ⚡ ∑ ♥ 😄

Unicode 6 Font for Linux

Unicode 6 added over 2k chars. 600 of them are emoticons, and many others are icons, pictographs. Unicode 6 came out in 2010, but there's still not that many fonts supporting all those pictogram. On Mac, it's most beautifully done. See screenshots at bottom of Food Emoji 🍕 🍒 🍺. On Window, Microsoft came up with Segoe UI Symbol-12, in 2012, as part of Window update. On linux, nada, but you can download the free font Symbola, which is very high quality. See bottom here: Unicode 6 Emoticons and Supporting Fonts.

to install font on Ubuntu, just unzip it, and double click it should do.

all i ever needed to know about keyboard, i didn't learn in kindergarten. Three hundred fourty images of keyboards. Keyboard Image Index

JavaScript App for Unicode

wrote a JavaScript app. Goto Unicode Emoji 😄 😱 👽, hover your mouse over (or click if you are on tablet). Unicode name and char number will show.

also created the following pages.

python tip. To get image dimension (width and height in pixels), you can do:

# -*- coding: utf-8 -*-
# Python

import Image

print Image.open("/home/xah/pictures/cat.jpg").size

but for Python 3, the image library isn't there yet.

updated. Unicode: Keyboard Symbols, Computing Icons

《Prosody, Symbols, Idiosyncrasy》, added to Symbol, Semantics, Design: Unicode for “e.g.” (exempli gratia)

Apple iMac Keyboard A1242
updated. Apple Computer Keyboards Review

Kinesis has a new generation of their split keyboard, Freestyle 2. 2-Piece Split Keyboards