Xah Programing Blog

syntactic obsession, imperative despisal, unicode love ♥, hacker hate

History of OCaml and Haskell Syntax, and The Next 700 Programming Languages

google AlphaZero beats best chess software stockfish. And AlphaZero only learned the game from scratch, in 4 hours.

Then, in 2 hours it learned shogi (Japanese chess (much more complex)) and beat the best shogi software.

scary AI is happening.


augment protein bacterium fee5e
“It's a 3D model of a protein from a bacterium. This one is called TolC, and is used by E. coli to get rid of compounds it doesn't like (including antibiotics). Our lab seeks to understand how bacteria resist antibiotics and cause infections.” from https://twitter.com/Allister_Crow

ASCII Table (minor update)

Computer Language: Predicate Function, Terminology, and Naming Convention

removed comment system on my site

just removed disqus comment on all my sites for now. They are now forcing image ads. And their ads are those low quality sensational types. To opt ad free, would be $10/month. But, comment takes 30min/day to reply, and 95% are garbage. (i have 5 thousand pages on my sites) might add back, we'll see. let me know what you think.

Unicode Flags 🏁 (major rewrite)

Unicode User Interface Icon Becomes Emoji

unicode emoji should be ban'd. Extremely annoying to show a symbol it becomes a emoji.

if you have , the last becomes a emoji.

Adding U+FE0E does not always work.

And in MacOS, it has a bug forcing emoji tiny, same size as a letter. It ignores CSS font size spec.

and which symbol will become emoji is unpredictable. On twitter, both become emoji.

ok, the whole thing is pretty fkd.

see 〔 Apple did not invent emoji By Eevee. At https://eev.ee/blog/2016/04/12/apple-did-not-invent-emoji/

and see replies at https://twitter.com/xah_lee/status/926994405046722560

the problem of computerizing math, began with: THERE EXIST , and FOR ALL . #haskell #coq #typetheory

Leon Chwistek, a Founder of Type Theory

Leon Chwistek portrait 1931 by Witkacy 35657
Leon Chwistek portrait 1931 by Witkacy

Leon Chwistek (Kraków, Austria-Hungary, 13 June 1884 – 20 August 1944, Barvikha near Moscow, Russia) was a Polish avant-garde painter, theoretician of modern art, literary critic, logician, philosopher and mathematician.

Starting in 1929 Chwistek was a Professor of Logic at the University of Lwów in a position for which Alfred Tarski had also applied. His interests in the 1930s were in a general system of philosophy of science, which was published in a book translated in English 1948 as The Limits of Science.[1]

In the 1920s-30s, many European philosophers attempted to reform traditional philosophy by means of mathematical logic. Leon Chwistek did not believe that such reform could succeed. He thought that reality could not be described in one homogeneous system, based on the principles of formal logic, because there was not one reality but many.

Chwistek demolishes the axiomatic method by demonstrating that the extant axiomatic systems are inconsistent.[2]

2017-11-03 Wikipedia Leon Chwistek

Plants Emoji 🌵 🎄 🌷 (added a macOS screenshot)

xah edu corner extempore! episode №20171101042745, ban recursion in programing languages

1 with regards to computer science, recursion should be ban'd in programing languages.

2 it's got the chicken n egg problem: before it's defined, it's calling itself. Like russell's paradox, or 1st order logic in twilight zone

3 But in math, we have recursive relation, and comp sci recursive theory. How to resolve that?

4 in math, nth term is defined by previous term, and f[1] is defined non-recursively. so, it's well defined. In a sense, no “recursion”

5 in most programing langs, body of recursive f use “if” to check input. So, “no recursion” really. But chicken n egg remain in defining f.

6 some lang, (Mathematica, haskell), can define f(1) and f(n) separately. So, no chicken n egg recursive definition problem.

7 actually chicken n egg recursive definition problem remain. With respect to order of evaluation.

need to think about this more

Quiz, Write a NestList Function

Quiz. write a function r(f,x,n) that returns a list [f(x), f(f(x)), ...], length n. write in your fav lang.

f is function (e.g. f(x) = x+1), x is a number, n is a number ≥ 1. we want [f(x), f(f(x)), ...]

#haskell #javascript #golang #clojure

Someone asked why is this useful? For example, factorial function, or fibonaci sequence. In math it happens often. Check out logistic map or iterated function system or dynamical systems, mandelbrot set.

comment at




programing language popularity 2017

programing language popularity 2017 24350
programing language popularity 2017


wait, why is haskell on the left side?

unicode search ear 2017 10 24 87644
Unicode name search “ear”

Unicode search at Unicode Characters ☯ ⚡ ∑ ♥ 😄

Empirical Analysis of Programming Language Adoption

programers and docs

remember, boys n girls, there's no lang that has rigorous math-like doc or spec. None.

2, in programing, if you spend 1 min with with good doc, you spend 1 hour without, or even 10. When there's no doc, 10 days.

3, but then why programing community don't appreciate or have good doc? because

4, ① the nature of code, changes all the time. Docs usually don't keep up.

5, ② it's hard to convert how-to into what-is, the latter is math style doc/spec.

6, ③ doc in software are literally useless, in some sense. It adds nothing to the software behavior.

7, ④ programers, partly due to above, don't know how to write well.

programers and good docs 25957
programers and good docs

there's no lang in practical use that has rigorous math-like doc or spec

been reading math 2 hours a day in past months. what a joy. In contrast of reading programing doc n lang specs. Programers are such idiots.

programers don't appreciate good docs. n they have this nasty concept of “grok” (from unix fkheads), n in a flash they'll tell you to dig the source code.

there's no lang in practical use that has rigorous math-like doc or spec. #Haskell? #Ocamel? lol, they've the worst “grok it” doc and spec.

yet the haskell fkheads's like, “algebraic” data structure and monoid and suff. Each one sounds like superior mathematicians. Monad ya ass.

homotopy, a continuous function between 2 functions. How can such topology, differential geometry notion, be tied to logic, set theory, foundation of math? that's the story of homotopy type theory. Absolutely fascinating.

Homotopy Type Theory

programers and math jargons

#math if you haven't studied group theory before, do so now. Wikipedia article is very good.

Group theory

after Wikipedia #math group, read http://xahlee.info/Wallpaper_dir/c0_WallPaper.html

when programers use math jargons, they dunno which side is ass, which is mouth. #haskell #lisp

if a programer mention idempotent monad directed graph, n they can't talk basic abstract algebra, tell them 2 shut piehole #haskell #lisp

programers talking garbage math jargon happens, from 1990s perl and sql to 2000 lisper homoiconicity to today js haskell category idiots.

programers and mathematicians are very distinct communities. The 2 basically don't communicate, not unlike engineers and lawyers.

mathematicians, in general look down on programing. They dunno what's a subroutine, function, object, class.

programers, usually lookup and idolize math, yet, have 0 clue. you wouldn't have a clue of math unless you had 3 years worth of undergraduate MATH MAJOR.

now n then we see hacker idiots discuss how important is math to programing. that's, like, guys in bar on the tao of quantum cosmos.

xah lee, schizoid

Google Doodle? Never click it

you see those Google Doodle? Never, ever, click it or read about it. If you do, your brain is tainted. This is similar to never watch TV.

Google Doodle was fun in 2000s. It's casual, non-intentional. Today, it's commercialization plus propaganda.

Moto G5 Plus


there's a idiotic program called pngquant.

it reduces png file size by a lossy compression.

if you want lossy, goto jpg or webp

in September, i'll be blogging on my patreon account only.


If you like my stuff, i hope you patreon me there.

to my patreon supporters, new article https://www.patreon.com/posts/13809835

golang's choice of tab for indentation

golang's choice of tab for indentation is the correct one. However, emacs golang mode forcing it to be DISPLAYED as 8 spaces, is the most idiotic. It undo the correct thinking.

See also: Programing: Tab vs Space in Source Code

golang is superb

golang is truly a simple superb practical language. + Real functional programing features. And fast! Puts clojure haskell in shame.

despite my supreme love for functional programing, i'd say, clojure is a complex idiocy, on so many levels. And Haskell too.

my golang tutorial is coming in shape.

learn golang in 10 minutes 2017 08 03
learn golang in 10 minutes

See also: Xah Clojure Tutorial

xahlee info site ranking 2017 08 02
xahlee info site ranking

my site ranking, i think that's the highest.

find some sites you know, and let me know what you get. On twitter, Google Plus.

Python 3 Adoption

git detecting dir rename 2017 07 29
git detecting dir rename

See also: Practical git in 1 Hour

programer hieroglyph

gitlab artwork 2017 07 29
beautiful gitlab artwork

[see Egyptian Hieroglyph 𓂀]

be my first patreon

now i have a patreon account. be my first patreon. see first post at https://www.patreon.com/xahlee

Java: Unicode in Java (minor update)

drawing a maze with Unicode. Unicode Box Lines, Shapes ┌ ┬ ┐

Screenshot Tracking Watermark

xah js sigil color 2017 07 14
my JavaScript TypeScript syntax algebra by sigil. haskell emacs xah-js-mode.el n xah-ts-mode.el

Jargon Lambda in Decline (expanded for the general public.)

What is the difference between emoji, emoticon, pictograph?

Western Propaganda on Chinese Nushu Script

Unicode 10 is released last week.

[see Unicode 10 New Characters]

New, is the oblete Nushu script, used in China, created and used by women.

On researching this writing system, you find an article from Gardian published in 2005.

The page is gone, but here's screenshot from WayBackMachine.

chinese nushu script Guardian article 2017 06 29
Gardian propaganda on Chinese Nushu script

Note, the word used: forbidden, women, minority, forced arranged marriage.

You see, Guardian spins it so that the now obsolete script appears to be related to suppression and Western gender issues.

Almost all English language news about Chinese are of this nature. They sell what you want to hear, American liberal or conservative. Pretty much, it's about how China doesn't have democracy, that Chinese people want it, and human rights abuse, that it's ancient civilization struggling with modernity, such and such. All very easy to take in and sympathize!

Unicode 10 New Characters

writing system design and culture

When you study world's scripts (writing systems), at first it's fascinating, because it's novel, and you are introduced to many aspects of designing a writing system. But after a while, you find most of them boring, dreary, idiotic. Basically, Random symbols derived from scribbles. There's no math/logic/design/architect value, but just cultural histories.

if you are interested in anthropology or ethnology, then it's a different story.

if you are interested in design/architecture aspect of writing systems, you look up to scifi, math, logic, communication theory, or perhaps neuroscience.

How to Input Unicode

Billionaire Peter Thiel's startup book Zero to One: Notes on Startups, or How to Build the Future

Brown University PLT group has a new lambda logo! (racket scheme lisp, python pyret)

Brown University PLT lambda logo 2017 06 23
Brown University PLT lambda logo, 2017-06-23 http://blog.brownplt.org/

A Lambda Logo Tour (and why LISP languages using λ as logo should not be looked upon kindly)

Unicode Books, from Version 1 to Version 9

unicode books 37530
i bought and read the v3 one in ~2001, cover to cover. 〔image source https://twitter.com/ken_lunde/status/872532216592584704

See also: Unicode Characters ☯ ⚡ ∑ ♥ 😄

Unicode for Programers, Index

Ask me question on patreon