Xah Programing Blog Archive 2018-01

Open Source, worst suck of the century

[Why There Will Never Be Another RedHat: The Economics Of Open Source By Peter Levine. At https://techcrunch.com/2014/02/13/please-dont-tell-me-you-want-to-be-the-next-red-hat/ ]

[RethinkDB: why we failed By Slava Akhmechet. At http://www.defmacro.org/2017/01/18/why-rethinkdb-failed.html ]

Tab vs Space in Source Code

my day schedule for the next 3 months looks like this

programer's canvas reverse y-axes

one very annoying thing when coding a 2d grapher is the reversed y-axes in programer idiot's coordinate.

In svg, either u do (ymin+ymax-y) for every point, or,

g.setAttribute("transform", `translate(0 ${ymin+ymax-y}) scale(1 ${-1})`

but, your text get flipped. what a fing pain.

why programer's canvas reverse y-axes? not looking into history, but i surmise, cuz 'was just easy in the early days, like unix f and opengl f. Its ok to realize necessity, but the programer idiots is such that they see it as good. Every lang design, you run into such idiotic problems.

from unix to c to java to opengl (or whatever gl fk). and these idiots say, well but it is fast! it's efficient! the problem with these fheads is that they don't really understand math or meaning of efficiency, they just know micro-tuning and memory address.

I think the hard-ware based mindset is slightly going away today. Because , new generation dunno it anymore. And, langs like haskell golang, are teaching people to unstand the separation of efficiency and abstraction.

1 example of pseudo-efficiency trumps language design is Bitmask Used as Boolean Parameters. See Hack of Bitmask as Boolean Parameters

typical hacker get confused by this, and defends it vociferously.

this happens for languages up to about 2005, but not after.

See also:

high resolution monitor

time to buy a high resolution monitor. 2560x1440. You. See more, sans fidgeting with scroll swipe.

find out your screen resolution size JS: Find Window Size

lots opinions on coding, eg coding style, what makes productivity etc. Most pop blog posts r drivels, thrive for a few years, then buried. This is the best book on programing opinions, based on statistics. I read parts in 1990s. the book is now old.

Code Complete: A Practical Handbook of Software Construction by Steve McConnell Buy at amazon

Idiocy of Computer Language Docs: Unix, Python, Perl, Haskell

Angular.js History

software testing, is one of the wart product of eXtreme Programing (that became agile). The effect is, even less understanding of programing languages, math, design, but more trial n error, speed prototype, churning, Cuz, there's test!

On Meta Syntax, Formal Language, and Logic (minor update)

Clojure Lisp Has Failed

i'd have to say, clojure lisp has failed, due to, complex intermix with java/jvm, and the clojure community as a cult refusing to listen. While, golang , @kotlin are thriving. The kotlin actually replaces clojure, with 10x more users.

it's funny, that the clojure head Rich Hickey emphasize simplicity, and makes a fuzz about simple may appear hard. But that's a tinted glass look of simplicity. Clojure, the way it forces intermix with java, is more complex than ANY programing language.

See also:

safari don't have favicon in tabs

safari don't have favicon in tabs? what extreme idiocy. I was switching to it, but now i don't think so.

https://www.reddit.com/r/apple/comments/4sm2d1/its_2016_why_do_we_still_not_have_favicons_in/

having favicon in tabs makes it easy to identify tabs. When you have 10 tabs, not having favicon is a major problem.

xah comp sci growth roadmap

of my personal comp sci growth roadmap, there's few thnigs i like to horn. In no particular order:

golang syntax not composable

here's systactic complexity of golang.

slice type is declared like this:

var name []type

but map type is declared like this:

var name map[type]type

you see, there's a inconsistency.

That is, there is no single form for both. Basically, every semantic thing in the language has its own ad hoc syntax. The syntax is not composable.

see

See also:

islamic 8bits 16bits 27456
islamic 8bits 16bits 27456

xah reddit channel

been posting to my reddit r/Xah. see https://www.reddit.com/r/Xah/

just trying it out. If you are reddit user, find my post on reddit as convenient, vote up my posts. If i don't see much user, i'll stop doing it.

also, since i have blogs on emacs, JavaScript, programing, and other topics, do let me know what you want to see, so i can shape up what kinda things i post there.

brave browser annoyances

.@brave browser allow/deny notification bar is annoying. It pops up for fullscreen, notification, and others. If you ignore, the bar don't go away but adds up space to the top of the browser. And when there's multiple, you might click the wrong allow/deny button.

another thing @brave browser is annoying is that when you hover mouse over a tab, it shows that tab's content temporarily (and in grayish fog). Very annoying and confusing, especially if you have hover tab/dwell on in OS.

xahlee info popularity ranking 2018-01-15

XahLee.info site traffic, 2017 to 2021

how to become a mathematician for programers

xah's edu corner extempore! episode №20180115122340 on math courses, and how to become a mathematician for programers

for young coders out there, the proper order of learning math is: highschool algebra, trig, pre-calc, calculus, linear algebra, then optional intro diff equations. These are basics. Must be in that order. These are basic needed for engineering. But are not math major basics yet.

for math major (to become mathematician), you need abstract algebra, real analysis. Order doesn't matter. After you had these, you are acquainted with math “language”, or math maturity. i.e. the way mathematician talks. These are typically 3rd year math major.

after that, you may have the following in arbitrary order: complex analysis, different geometry, topology, set theory. After studying these, you can consider yourself mathematician. You know what math is about, or know where to go. All the above, are traditional main math courses.

for programers, you might wonder, where is graph theory, type theory, game theory, logic, combinatorics, statistics. These are not typical main courses of MATHEMATICIAN. These are called discrete math, sometimes as comp sci. (while statistics n probability r applied math)

the discrete math, they do not have the elaborate pre-requisite sequence as analysis/algebra. Anyone can start to learn graph theory, game theory, combinatorics, number theory, etc. But you don't get deep without the years of analysis/algebra of real mathematician stuff.

See also: Free Math Textbooks

What is the Definition of Operator in Computer Language?

Logical Operators, Truth Table, Unicode (updated)

Logic Operator as Control Flow (updated)

Proliferation of Programing Languages there are so many in past 5 years, that people don't care anymore. Certainly, i stopped listing new ones. #elmlang #purescript #TypeScript #haskell

Math Notation, Programing Language Syntax, and Thought

ask Xah, 2018-01-07

https://www.patreon.com/posts/16282546

[CoffeeMiner: Hacking WiFi to inject cryptocurrency miner to HTML requests By Arnau Code. At http://arnaucode.com/blog/coffeeminer-hacking-wifi-cryptocurrency-miner.html ]

seems like a good article.

See also: Linux: Firewall, iptables Tutorial

History of Programing Languages in 1 Sentence

pop stars and programer stars

pop stars, quietly drops out every decade or 2. And this is also true for programer stars. A star everybody knows and talks about, but you don't know or recall who is in previous decade.

classes of the rich, and classes of programers, and you don't know nothing

when something is beyond us, we can't distinguish the level. e.g. some are millionairs, but some r billionairs. To us, we don't comprehend. We group them as just “rich”. To them, it's 1 thousand times diff, literally. This goes for pop stars, to politicians, businessman.

Similarly, in programing, to outsiders, we all smart nerds beyond their comprehension. But to us, there r script kiddies, and “web designers”, to those who wrote google search engine. This applies to any field or community u r not familiar with. which basically means, everything.

intel chip bug Meltdown and Spectre

just read a few articles/papers about the intel bugs Meltdown and Spectre. Meltdown require OS kernel patch, cause 5% to 30% slow down for system call intensive apps (networking/file). and Spectre is unfixable.

We are screwed. by next week, nobody will remember the problems, except hackers and gov. But have a cookie, you are screwed already anyway with ur phone and USB and ssh etc.

if you are not a computer nerd, here's the gist: hackers discovered one very big hole to your password, and there is nothing you can do.