Xah Programing Blog
syntactic obsession, imperative despisal, unicode love ♥, hacker hate
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 ☯ ⚡ ∑ ♥ 😄
in the recent “is clojure dying” crisis, saw this. that's esr. I don't like esr, but this Phil MV is a scumbag in my book.
the worst atrocities in history are done by those who think they are morally superior.
Why Clojure is Dense (repost)
Java Shell Commands: javac java jar javadoc (minor update)
Java: Working with Jar File (minor update)
HISTORY of Java Logo! Xah's Java Logo (added Java mascot Duke)
ImageMagick Tutorial (added how to change transparency/alpha to white)
Java: Unicode in Java (minor update)
Reasonably Programmable Syntax
My thesis introduces typed literal macros (TLMs). TLMs take the tedium out of constructing and pattern matching over composite data structures by allowing library providers to define new type-specific literal forms (think list literals, set literals, HTML literals, regex literals, SQL literals and so on.) These literal forms come equipped with powerful abstract reasoning principles -- clients can reason about program text directly, rather than about the underlying literal expansion, and they need not worry about syntactic conflicts. We are in the process of implementing TLMs in Tidy.
I design programmable front-ends for typed functional programming languages. My goal is to take the tedium out of writing clean, compositional code.
by Cyrus Omar
see also Syntax Algebra
Linux: Traverse Directory: find, xargs (added a screenshot)
PowerShell: List Alias, Find Alias (updated)