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.
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❗
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))
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 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?
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)
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++
jargon “closure” should be named “enclosure”
What is Closure in Programing Language
more revamp of the page Lore of the Hacker Cult
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
Python should be diced to a million pieces.
Clojure Missing Docs
Technical Writing as Symbolic Logic: Clojure Intern Symbol