Xah Programing Blog Archive 2014-11

linux systemd is wreaking serious havok in Linux community. Now Debian is forking. How i wish i can understand it, or, have any clue about system programing, or, how kernal, cpu, memory, assembly, etc low-level stuff works.

but life is short. I don't envision i'll ever go down this path. What remaining time i have in life i'll keep at high-level math stuff. Recursion theory, parser, math, proof systems, etc.

xah's rumination extempore: on Turing Machine being a misfit in terminology and ontology of theory of computation

(note: “xah's rumination extempore” is when i type as fast as i can of my brain flow for fun and profit)

when intro to “turing machine” in comp theory, the term is illogical, out of blue. For example, why not elephant, or ghosts? we want the ontology of things. what this “machine” thing relates to comp theory.

even “Turing model of algorithm” is bad, because the word “model”, like wtf is that?

ok, it's like this. Suppose we are discussing which restaurant to go to. I say McDonalds, some said Kenturkey Chicken, some say Donking Donuts, some said TGI Fridays, some said the local restauraunt, but then, somebody said pizza!

now, you see that's out of the blue. That doesn't fit. The fitting set are restaunraunt names, but out comes a food name. That's outside the system.

So, when discussing theory computation, introducing Turing Machine, is like that, in about 99.99999% of books. (assuming here we are following a logical style of a treaties on theory of computation).

note that, intuitively we understand it. As soon as people learned what Turing machine is, we can see how it fits into computer science. But, the point of this article, is that it is not a systematic logical approach of things.

what we want, is a ontology of things. So, when talking about theory of computation, we'd like to establish first that what it is. (that is, in more severe degree, we want a so-called mathematical formal definition. Or, in a extreme case, we want symbolic logic.)

once we know what it is, then, we may in due course introduce different topic, such as Turing Machine, and we can see, exactly, how it fits in. That is, ontology.

so, what's the relation of “turing machine” to theory of computation? we need to think about that. Remember, that we all intuitive know what the relation is. The problem, is to come up with explicit relation, which also means a lot explicit definition, thinking a lot about it.

in a few minutes, am thinking “turinig machine” is best termed “turing model of algorithm”. But that doesn't exactly work, because then what does “model” means? I also thought, “turing machine” is best characterized simply as “algorithm”, but that's not right, because that's not a specific algorithm or the general sense of algorithm; it is NOT a algorithm.

comment at https://plus.google.com/+XahLee/posts/T2J7ho9vFUY

PS: ah,a epiphany❗ theory of computation includes a hardware,of which algorithm works on,we call “machine”。That's how Turing Machine fits。yay❗

indicator function

comp sci terminology: a indicator function is a function f that returns either true or false, with true meaning the input is a member of a particular set.

the function f is either used as a definition that defines a set, or as problem of finding a way to construct the set. (the set may be well-defined yet we don't know its members. (For example, solution of a equation of 1 variable))

happy hacking keyboard pro japan 3143
Happy Hacking Keyboard Pro JP, with customized keycaps. (photo by Rick Cogley At https://plus.google.com/+RickCogley/posts/ZeLsRgiypjG. used with permission)

see The Idiocy of Happy Hacking Keyboard

idiotic linux aspell, doesn't understand the word “interoperation”. aspell sucks: Dismal Vocabulary Size

produce and production. nutty and nuts. 8 thousand fathoms into the realm of clojure. Clojure Tutorial: Calling Java

JDK1.0 Java8, Java 1.8, just wtf which? fuck Sun Microsystems. Jargons of Software Industry

Java Tutorial: Constructor (minor update)

ctags etags gtags: How to Find Where a Function is Defined or Called? (draft)

tweet a million

start to use markdown for real. It sucks donkey ass. it became popular because it's simplistic. I suppose it's better than plain text.

asciidoc is better than markdown. not gonna look into it.

A tool is kinda a propaganda machine. It shapes how people think. If u create a idiotic one, but with pop factor (For example, TV ads) unix C vi perl …

hackers beware❗ my tweets are for entertainment purposes only.

hackers hark❗ follow [2014-11-18 https://twitter.com/wolframtap ] to see what one-liner means. #perl #haskell #lisp #clojure

speaking of #perl is like talking bout history today. Nobody cares and u r strange. Perl One-Liner Screw Perl One-Liner Screw

regex haven't been unified, but rather diversified, in past decade. perl, python, ruby, java, JavaScript, emacs lisp, all have slightly different regex syntax.

regex should be ban'd anyway. PEG rules.

new index page: Xah Regular Expression Articles Index

What Can We Do about the Unnecessary Diversity of Notations for Syntax Definitions? —Niklaus Wirth on BNF, 1977


What is the Difference Between BNF, EBNF, ABNF?

logitech g502 mouse 2-s330x189
Logitech G502 Proteus Mouse

new Logitech mouse, widely praised. Currently the best wired gaming mouse from Logitech. Logitech G502 Proteus

now i haven't played games for years. Am a coder. But i will only use gaming mouse. I've written too much on the subject, not going to repeat here. If you haven't seen yet, see Mouse Reviews

new. Razer Naga Epic Rechargable Wireless MMO PC Gaming Mouse. Bad reviews on amazon.

Logitech G500 Gaming Mouse (Discontinued)

Logitech G9X Gaming Mouse (Discontinued)

new index page. Why Python Sucks. There's quite a few more articles that needs to be linked there, but this is a start.

when you name something “x” as experimental in your language or protocol, it'll stuck forever. java javax, mime type x-, …

Linux: Traverse Directory: find, xargs (updated again)

gorilla-repl plot
clojure user rejoice. Interactive Clojure Notebook: gorilla-repl

if you are Clojure beginner, you need to know something about Java too in real world projects. Java Shell Commands: javac java jar javadoc (first version)

Current Assessment: Wolfram Language ≻ Clojure ≻ Ruby ≻ Emacs Lisp ≻ Common Lisp ≻ Python ≻ Perl ≻ Java ≻ C ≻ C++

Which Languages to Learn? Perl, Python, Ruby, JavaScript, PHP, Emacs Lisp

steam punk sojourner keyboard
Steam Punk Keyboard

jargon “closure” should be named “enclosure”

What is Closure in Programing Language

more revamp of the page Lore of the Hacker Cult

new section:

to get serious with clojure, you also need to understand how leiningen compile things. Here's a excellent article.

[How Clojure Babies Are Made: Understanding lein run By Daniel Higginbotham. At http://www.flyingmachinestudios.com/programming/how-clojure-babies-are-made-lein-run/ , accessed on 2014-11-05 ]

to do clojure for real world, you must understand something about Java. I'm reviewing java myself. Java Tutorial: Package System in Java (minor update)

Linux: View Directory as Tree

How CPU Works

What is Docker?

Programing Jargon: Synchronous, Asynchronous (elaborated, on its own page)

There are 2 fundamental problems of lisp. One of them, the “cons business”, is now fixed by Clojure. Fundamental Problems of Lisp

Clojure Books

Python should be diced to a million pieces.

comment at https://plus.google.com/+XahLee/posts/WMEA5UBJbhE

Clojure Missing Docs

Technical Writing as Symbolic Logic: Clojure Intern Symbol