Xah Programing Blog

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

Xah Programing Blog Archive

remove assignment 2020-06-29 w7cpd
remove assignment [Functional Programming is Easy, and Good for You By Matthias Felleisen. At https://felleisen.org/matthias/Presentations/11GS/gs.pdf ]

why is python popular

python is pop only because circumstantial. and it's mostly because google. twice. once in y2k when google chose it, 2nd time in 2010 with machine learning fad.

Why Python Sucks

Computer Languages Characters Frequency
updated golang

Mac Startup Chime Idiocy

R Melts Brains -- An IR for First-Class Environments and Lazy Effectful Arguments

The R programming language combines a number of features considered hard to analyze and implement efficiently: dynamic typing, reflection, lazy evaluation, vectorized primitive types, first-class closures, and extensive use of native code. Additionally, variable scopes are reified at runtime as first-class environments. The combination of these features renders most static program analysis techniques impractical, and thus, compiler optimizations based on them ineffective. We present our work on PIR, an intermediate representation with explicit support for first-class environments and effectful lazy evaluation. We describe two dataflow analyses on PIR: the first enables reasoning about variables and their environments, and the second infers where arguments are evaluated. Leveraging their results, we show how to elide environment creation and inline functions.

[R Melts Brains -- An IR for First-Class Environments and Lazy Effectful Arguments By Olivier Flückiger, Guido Chari, Jan Ječmen, Ming-Ho Yee, Jakob Hain, Jan Vitek. At https://arxiv.org/abs/1907.05118 ]

Facebook Embedding Tracking Data Inside Photos You Download

history. StackOverflow Gamification

Perl: POD is not Literate Programming

old misc articles. left panel removed. So it's more focused. Not the modern please stay on my site link spam.

Write All If Statement as If Expression

part of Syntax Soup series.

Mac OS X Misc Command Line Tips

following needs review, and nav bar.

Are You Intelligent Enough to Understand HTML5?

Unicode 12 New Characters

Why I'm Switching from Mac to Windows old post. frequently asked. which to use, Windows, Mac, or linux?

Proliferation of Programing Languages
added more logos.

Concepts and Confusions of Prefix, Infix, Postfix and Lisp Notations

mentioned on reddit. but i don't quite get his point. https://www.reddit.com/r/compsci/comments/h9qa9k/a_review_of_concepts_and_confusions_of_prefix/

Programing Language and Its Machine
minor update

Goodbye side nav bar 2019

this nav bar, is now going away.

screenshot 2020-06-12 6yfcd
xah lee site nav bar, began in 2017 or 2018, end life in 2020-06-12

you'll find similar topic list at

Computing and Its People

am making my site design, navigation, simpler.

The Idiocy of Mechanical Sympathy

Programing: Why I Hate C
added a excerpt from C. A. R. Hoare

random articles and minor update

Intro to Mathematica Pattern Matching for Lisp Programers

screenshot 2020-05-25 k66xk
“xah lee, the most irritatingly useful person on the internet” —AdmiralBumbleBee
golang at work 2020-05-25 vw2tt
golang at work 2020-05-25

Golang: Find String (grep)
minor update

Convert Video from Different Formats
minor update

massive python code at work

Python: Find Replace in a Dir

much update on PowerShell tutorial

git Frequently Asked Questions

Copy Git Repo Dir to USB Drive

todo, work in progress

i have a git repo, of 20k small files. I need to copy it to usb drive. How do i compact the git so it's just few big files, and just copy over the .git dir?

alternative is temp move out the .git then zip the dir so i have 1 single file to copy. But, temp moving .git is tedious. also, zipping is time consuming.

I have a git repo, of tons of small files. I want to copy it to a usb drive. Only 32gb capacity. The problem is, my repo, is over 32gb. Because, having a .git double the size. Because it's the size of the .git plus the dir size. Also, transferring tons of small files is extremely slow. What i want, is some way, to make them 1 single binary file or just a few. So, i can easily copy. So far i do not have easy solution. One solution is, try to compact the git, then, copy over the git. On target i can git checkout. Second solution is, temp move the .git out. Then, either zip or tar gz the dir. This is also very tedious. Plus, either way, it's time consuming to compact git or zip/tar.gz. That's what i want to do.

Practical git in 1 Hour

git archive idiocy

The idiotic git archive command, creates a tar or zip that does not have a parent dir. You get tar bomb when you expand. Fuck the unix idiots

Git Archive

todo. review, update. work in progress

todo, work in progress

The shape of the circumflex was originally a combination of the acute and grave accents (^), as it marked a syllable contracted from two vowels: an acute-accented vowel and a non-accented vowel (all non-accented syllables in Ancient Greek were once marked with a grave accent).[2][citation needed] Later a variant similar to the tilde (~) was also used.

[2020-05-14 Wikipedia circumflex]

power syntax caret vs double asterisk 2020-05-14 3xgv5
which syntax do you prefer for power operator, circumflex or double asterisk 2020-05-14

XahTV 2020-05-11 Unix, AIX HP-UX, AU/X, Unix, Irix, Posix, Linux, Xenix, NTFS

Programing Exercise, Validate Matching Brackets todo


Xah Java Logo


History of the JavaScript script Tag

todo Great Software for Microsoft Windows

my twitter xah_lee got ban'd by twitter on 2020-05-05. Thinking, quit twitter. join my xahlee discord.

misc updates

xah thanks 2020-04-29 4rgyn
xah thanks 2020-04-29

ultra master perl code, y2k.

xah perl code 2020-04-27 mvr9w
xah perl code 2020-04-27

Learn Perl in 1 Hour

worked on these pages for hours.

also, updated my unicode pages. Now font is bigger, and the popup is activated by mouse hover, and on phone it can dismissed by clicking anywhere.

random articles of the day

join xahlee discord. colorful people, fantastic opinions.

random articles of the day

random articles of the day and past few days

lost in explanation: programing problem, transition of maps

Complexity and Tedium of Software Engineering

Doc by Dummies.
New navigation panel.

Why Opera Browser Sucks

OOP Dot Notation, Dot Before Data or After?
random article of the day.

Wait for wayland? lol. the unix folks been trying to fix i11 since 1980. see The X-Windows Disaster

random articles of the day

now, dedicated nav panel on the left.

HTML Validation, History and Politics

Xah Discord Artwork

unicode replacement character complexity

unicode faak 2020-04-07 gmgj2
unicode faak 2020-04-07

walk dir in perl python golang


The Idiocy of Python's Function Parameter Specification

Complexity of SVG

On Horizontal Ruler and Unicode

i also used to use this for a few years for my site

⁂ ⁂ ⁂

See also:

random tech tutorial of the day:

Interactive Shell/REPL vs Notebook Interface

Python 3 in 1 Hour

all you need to know about unicode in python Python: Unicode Tutorial 🐍

If you have a question, put $5 at patreon and message me.