Xah Programing Blog 2014-10
am going to stop blogging for the next 4 days. Start again on next Monday,
in bash, Ctrl+u = delete to beginning of line. Linux: Bash/Terminal Keys (updated)
How Are Books Made in 1950? Video of Linotype Machine in Action
Best Unicode Fonts for Programer (updated)
Xah Java Logo (updated)
read this, and you'll understand OOP deeper than ever. OOP's Jargons and Complexities
wee, now i have java installed. haven't had that banana for a decade. Java Tutorial
major update of the index page. Hacker Cult
most popular pages on xahlee.info
- JavaScript: Get Elements by ID, Tag, Name, Class, CSS Selector
- Unicode Arrows →
- The Idiocy of Happy Hacking Keyboard
- JavaScript Tutorial: Understand JavaScript in Depth
- CSS: Line Wrap Tutorial
- Python: Read/Write to JSON
- Python: File Path Manipulation
- Keyboard Symbols ⌘ ⏎ ⌫
- Unicode: Brackets, Quotes «»「」【】《》
- Truly Ergonomic Keyboard
- Keyboard: Layouts, Hotkeys, Macros, RSI ⌨
- Visual Dictionary of Special Plane Curves
- Keyboards without Numeric Keypad
- Ergonomic Keyboard Layouts
- Useful AutoHotkey Scripts
- ∑ Xah Code
- Why LD_LIBRARY_PATH is bad
- List of HTML Self-Closing Tags
- Evolution of Laptop Keyboard
- Emoticons on Social Network: Facebook, Twitter, Sina Weibo
- HTML Framset Tutorial
- JavaScript: Change CSS
- HTML Frameset Index
- Unicode Search 😄
- Difference Between Apple and PC keyboards
- HTML Frameset References
- HTML: Split Windows; Frameset
- Geometry: Gallery of Surfaces
- Java Tutorial: The “extends” Keyword
- OCaml Tutorial by Example
- Best Ergonomic Keyboards, Xah Pick
- Apple Keyboards ⌨
- Microsoft Natural Ergonomic Keyboard 4000 Review
- AutoHotkey Key Syntax
- Pure CSS Table
- Mac OS X Resource Fork and Command Line Tips
- Equiangular Spiral
- Keyboard Key Switch Mechanisms
- HTML: Split Windows; Frameset
- JavaScript Floating Box Following Scroll
- Unicode Emoji 😄
- HTML: Split Windows; Frameset
- http://xahlee.info/smart/ReportMain.htm
- Java Tutorial: The Power Function
- Ergodox Keyboard Review
- PowerShell: View/Set Environment Variables
- Xah Programing Blog
- Python: Make System Call
- Great software for Tilings, Patterns, Symmetry
- Visual CSS
this is one of the most popular article on my site. Why LD_LIBRARY_PATH is bad

if a programing language doc or tutorial starts with a eloquently written tale or intro, throw it in the trash bin immediately.
Truly Ergonomic Keyboard: new models

there's new model of the Truly Ergonomic Keyboard
they 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 http://deskthority.net/wiki/Kaihua_PG1511_series. 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 CapsLock position. vim and 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.
theory of the century from C hackers: 1+1 is faster in machine code than any language.
just had a relevation. call-by-reference and lazy-evaluation can be thought as the same thing. The value is determined when needed. #python #java #haskell
What's immutable, what's mutable? If i didn't change it, it is immutable, else its mutable. Anything else, is idiocies of the hacker type. Programing Language Syntax Soup #lisp #python #haskell
is Python more clean or Ruby? These two comparison tells: Python: Complex Numbers vs Ruby: Complex Numbers
when you write a opinion piece, if it's not full of color, it's no good.
Paul Graham's ideal language is a lang that's hackable (and he created arc lisp). Actually, the ideal is unhackable lang. Every time you hack, you get a shock. Paul Graham's Infatuation with the Concept of Hacker
oldie goodie State of Theorem Proving Systems 2008
computer language: mixed list and 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. [see 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. [see 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?
The Over Flowing StackOverflow
StackOverflow… although useful, but i hesitate to participate in depth. Like all such forums (except usenet), soon it picks up gazillion policies, rules, and cult communities of the subject, where you can't really express a particular view. And, things like, if you don't use the site in a particular way, the community don't consider you good even if you contribute lots answers (not necessary by a policy, but by the behavior of the members.). And, there's this bunch of badges and score shit. On the surface, they are a bit fun for everyone, but mixedin is really a addiction touch, and of course, the site owners know it precisely, that's why they are there. Its called commercialization.
of course, big congregated sites like that make millions, for themselfs, while the open source fanatic idiots, get nothing, defend the site, yet themselfs work for non open source companies making thousands a month, but has the audacity when some poor sob doesn't open source stuff. fk the open source scums. 'its they, gets us today's web, where most news sites are garbage filled with lurid ads, individuals and creative people get nothing, and we must sing ode to open source. 'tis how communism rose.
IDEOLOGY
found this excellent essay: [Why I No Longer Contribute to Stackoverflow By Michael T Richter. At http://michael.richter.name/blogs/why-i-no-longer-contribute-to-stackoverflow , accessed on 2014-10-15 ]
google plus discussion https://plus.google.com/+XahLee/posts/KqpkVPb41fb
PS: personally am very thankful of at least one of the Stackoverflow's founder.
Whatever programmers think about themselves and these towering logic-engines we've erected, we're a lot more superstitious than we realize. We tell and retell this collection of unsourced, inaccurate stories about the nature of the world without ever doing the research ourselves, and there's no other word for that but “mythology”.
read and weep. Language Design: Should Array Index Start at 0 or 1?
glorious photos of the DEC VT100 Terminal
Linux: xmodmap Tutorial (updated)
Kinesis Advantage2 Keyboard Review (updated the layout diagram)
Closure in Python and JavaScript
from function point of view, closure is function with state, therefore, equivalent to using global variables.
Semicolon vs Apostrophe Frequency in Computer Languages (minor update)
Backspace Key: Key Label's Influence on Key Purpose (minor update)

Intro to Mathematica Pattern Matching for Lisp Programers (updated)
Best Unicode Fonts for Programer (updated)
Yuri Khan explains why exception is needed in Haskell. See bottom: Why I Hate Exceptions
Sackoverflow's like, 90% of questions you don't know the answer of, while the 10% you never get a chance to answer.
If you have a question, put $5 at patreon and message me.