Xah Programing Blog
syntactic obsession, imperative despisal, unicode love ♥, hacker hate
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.
ASCII Table (minor update)
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 (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.
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.
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 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)), ...]
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.
programing language popularity 2017
wait, why is haskell on the left side?
Unicode search at Unicode Characters ☯ ⚡ ∑ ♥ 😄
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.
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.
programers and math jargons
#math if you haven't studied group theory before, do so now. Wikipedia article is very good.
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
- 1, due to my public website since 1995, i've talked to lots people, coders, geeks, and many weird people. (same ilk attract)
- 2, Usually, they know me, but i don't know/remember people. (plus, they are often anonymous)
- 3, It has happened quite a few times, in argument about coding or other, something ticked me off, and my screed turned supporters/fans to stone.
- 4, am a schizoid. That basically means, loners, or, people with very little emotion. Any attachment, relationship, trouble us greatly.
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.
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.
See also: Xah Clojure Tutorial
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.
See also: Practical git in 1 Hour
[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 ┌ ┬ ┐
Jargon Lambda in Decline (expanded for the general public.)
Western Propaganda on Chinese Nushu Script
Unicode 10 is released last week.
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.
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!
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.
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)
Unicode Books, from Version 1 to Version 9
See also: Unicode Characters ☯ ⚡ ∑ ♥ 😄
Ask me question on patreon