Learning advanced math without any formal training

Here I find myself in the middle of an example of how hard it can be to learn mathy things without having gone through years of training. You might say “So, go through years of training.” And then I would say “No, that training comes embedded with a way of seeing the world that confines native curiousity into the sword-like shape of a polarizing ego pursuit oriented around competition driven by greed and power as an end instead of a means, and I’m studying math in part because I want to deconstruct that approach, not so I can strengthen it and get lost like every other mathematician except Grigori Perelman who escaped the trap only by extreme asceticism.” And then you might say “Who is Grigori Perelman?” And then I might tell you a fun story.

But first, this present story, which begins as I randomly find myself here.

Because I sometimes think of quantization as though it was some kind of chopping up space into a grid or something, I find myself intrigued by the first paragraph’s bold “You are thinking of quantization as though it was some kind of chopping up space into a grid or something. But that’s not the way quantization works.” So I’m drawn in. In the 2nd paragraph I find these words: “Quantization fundamentally amounts to switching from ordinary numbers (representing a classical universe) to noncommuting variables (Dirac called these q-numbers) that obey different rules of arithmetic.”

Wait, what? I want to know more about a new kind of number I’ve never heard of before; I thought there was only one kind of number, and I have already found some issues with how numbers work. What’s a noncommuting variable? What’s a q-number? (I already see a hint of useful information toward my ongoing pursuit to define ternary logic in a way that is more ternary than binary, since our current understanding of all logic, even ternary, is essentially binary in nature.)

I search on these terms “noncommuting variables (Dirac called these q-numbers)” and find only a few salient hits. Refine the search: “Dirac q-numbers” still hoping I get a quick idea of them before continuing with the conversation. While those pages are loading, I also search “non-commuting” and thankfully there is a simple definition for this term. Perhaps I finally have a place to apply this basic mathematical concept (commutability = ability to change order) I’ve seen hundreds of times and promptly forgot because: 1) it had no immediate practical value and 2) could be easily found in any math textbook if ever the time came to use it.

At this point I don’t want a simple, trivial, dictionary idea of non-commuting but “why” and “what” such things are — albeit quickly, because I’m already in a tangent from the original discussion on measuring space. I find this: https://physics.stackexchange.com/questions/240543/is-there-something-behind-non-commuting-observables

Cool, but within moments I’m wondering “now what is a Hilbert space?” Another term I’ve seen mentioned dozens of times but never needed to know… let’s track it down.

Soon I have a dozen tabs open in my browser, and Hilbert space is proving to be even more elusive than non-commuting q-numbers. So I add “intuitive” to my query on Hilbert spaces and finally find some answers that I can begin to understand. However, scrolling through a dozen of the intuitive answers, I’m fast discovering Hilbert spaces are so abstract that even simplified descriptions are indecipherable to me. Lots of terms I will have to search the same way I’m searching “Hilbert space.” But along the way I did see the line “once you discover Hilbert spaces, you’ll never go back,” so maybe it’s something I do want to understand finally. Keep digging.

Finally I find this:

Well it’s tough to explain in complete layman’s terms. You require some mathematical knowledge. It helps particularly if you know some linear algebra and the notion of linearity. 3D space has 3 independent dimensions, which we can combine in different amounts to address any point in space. So to address the point (2,4,5) we say go two units in the X-dimension, go 4 units in the Y-dimension and 5 units in the Z-dimension. Now with Hilbert spaces the dimensions can be arbitrary. Consider the set of all sine waves which fit an integer amount of times on a string. You can create an arbitrary function by combining these together with appropriate coefficients. So we can consider each sine wave to each be an independent dimension in a Hilbert space. The function is now a point in this abstract space.

Ok so now I can see a vague outline of what I’m looking for, and can also see the oft-mentioned affinity to Fourier transforms, something I learned about long ago but appears to be unrelated to my current inquiry. Let’s go deeper… except now Quora won’t let me surf the question further until I log in. Bother, I’d rather end the browser session so Quora thinks I’m a stranger again, and continue. Meanwhile, the next answer to the layman question helps a little more, but this one is an example of what DOESN’T work:

Basically it’s an Euclidean space generalized to infinite dimensions. The same operations with vectors that can be done in Euclidean space (measuring distance, angles, scalar product) can also be done in Hilbert space. It is also complete, which means that we can work with limits of sequences and stuff like that.

Avoiding “intuitive answers” that have, in the first 3 sentences, a half-dozen words I need to define is part of the art of finding what I’m seeking. Remember, I’m an artist, not a mathematician… yet.

Ok, time to go back to the original query and see if the vague ideas are enough for me to move forward. Back to Is there something behind non-commuting observables? only to quickly find I still don’t know enough about Hilbert spaces, but I do remember this: “If you look at this condition the right way, the resulting uncertainty principle becomes very intuitive” and still in skim-quickly mode, I see this comment: “this is a truly excellent answer,” and this: “As a lay enthusiast, I think this is one of the best answers I’ve seen on PhysicsSE” so I know that if I do figure out what is being said here, I’m on solid ground. Looks like I should stay in this thread…

But then it hits me. I’ve just spent 30 minutes getting through a couple sentences, at this rate it’ll be another couple hours before I’m done. I’ll have to figure out what Hilbert spaces are some other day. Let’s see if I can muddle through Viktor Toth’s answer on measuring space without knowing about q-variables, Hilbert space, completeness, or scalar products.

Conceptually, Wikipedia or Quora or PhysicsSE or any of the others should have made this much easier (they have, but I mean even easier) but Wikipedia for example only adds fuel to the fire with answers that seem intentionally obscure even if technically accurate, as though written by committee afraid of liability for speaking in simple metaphors.

Coherent Extrapolated Volition = how the best of us think

Just stumbled upon this while reading the wiki article on Friendly AI.

Yudkowsky advances the Coherent Extrapolated Volition (CEV) model. According to him, coherent extrapolated volition is people’s choices and the actions people would collectively take if “we knew more, thought faster, were more the people we wished we were, and had grown up closer together.”

Rather than a Friendly AI being designed directly by human programmers, it is to be designed by a “seed AI” programmed to first study human nature and then produce the AI which humanity would want, given sufficient time and insight, to arrive at a satisfactory answer. The appeal to an objective though contingent human nature (perhaps expressed, for mathematical purposes, in the form of a utility function or other decision-theoretic formalism), as providing the ultimate criterion of “Friendliness”, is an answer to the meta-ethical problem of defining an objective morality; extrapolated volition is intended to be what humanity objectively would want, all things considered, but it can only be defined relative to the psychological and cognitive qualities of present-day, unextrapolated humanity.

Wow, I love it! I love the seed concept also, and have contemplated such things myself many times. Let’s do this.

(after googling a bit) Hm, not so easy. Apparently it’s a lot of effort (from: https://wiki.lesswrong.com/wiki/Coherent_Extrapolated_Volition). Let’s still do this, I have some ideas!

Learning to see the hidden layer in neural nets

No one really knows how the most advanced algorithms do what they do. That could be a problem.

Could be? It definitely is. I’ve thought about this problem for years, ever since it turned up in my private meditations on Cybernetic Intelligence more than a decade ago (back when I was inventing ideas like the Parableizer Engine long before I even knew such a thing was already being discussed theoretically by others). Now, people are writing about it, and it really does present a problem to which there is no obvious answer yet. As the article says: “How well can we get along with machines that are unpredictable and inscrutable?”

The Dark Secret at the Heart of AI
https://www.technologyreview.com/s/604087/the-dark-secret-at-the-heart-of-ai/

The article starts with some background illustrations to frame things and then gets into the problem:

We need more than a glimpse of AI’s thinking, however, and there is no easy solution. It is the interplay of calculations inside a deep neural network that is crucial to higher-level pattern recognition and complex decision-making, but those calculations are a quagmire of mathematical functions and variables. “If you had a very small neural network, you might be able to understand it,” Jaakkola says. “But once it becomes very large, and it has thousands of units per layer and maybe hundreds of layers, then it becomes quite un-understandable.”

The problem may end up being so hard that people take the easy way out and ignore it, which may work for a while, or forever, but is also potentially dangerous. What we really need is a way to ensure what is happening under the hood of an AI is ethically and morally solid: modeling on human behavior is not necessarily the best approach since even the most virtuous humans have all kinds of minor character flaws which could be misinterpreted by AI. We need a way to model on principles that guide behavior toward the betterment of all, respecting core attributes like free agency, etc. I am pleased to see this in the article:

There’s already an argument that being able to interrogate an AI system about how it reached its conclusions is a fundamental legal right. Starting in the summer of 2018, the European Union may require that companies be able to give users an explanation for decisions that automated systems reach. This might be impossible, even for systems that seem relatively simple on the surface…

I’m writing this post today partly because I was surprised to discover I hadn’t written it already, since I read this article when it came out and knew I should comment on it. As usual, I’m posting this here for the dual purpose of expressing some fragments of thoughts on the subject and as a bookmark I can come back to in the future when I have the time to bring all these threads together into a larger narrative, like a book or a website.

Google researchers noted that when its algorithm generated images of a dumbbell, it also generated a human arm holding it. The machine had concluded that an arm was part of the thing.

Also wrote this post today because I’ve been visualizing how to measure this hidden layer, and think I may have a few ideas how it could be done. Lots of math, lots of data, some over my head stuff, but I think we can do this.

Metformin AKA Goat’s Rue, Ancient Remedy for the Plague, Extends Life

Really didn’t expect this. Apparently this medication derived from an herb, known since ancient days to help with diabetes symptoms, has an effect which improves quality and quantity of life. Pretty safe, too, minimal side effects for most people. A Google search of this life-extending aspect of Metformin turns up less hits than expected, so it’s nice to have this article from Wired floating around out there.

https://www.wired.com/story/this-pill-promises-to-extend-life-for-a-nickel-a-pop/

And also there is a related TEDx video from this guy: https://www.youtube.com/watch?v=TsA4SHhUzt4

Nah nevermind. Just watched it, and the video isn’t as useful as the article.

On the ‘why’ of things not just the ‘how’ of things

I love when my own internal thought processes get confirmed by others. Aside from the shared joy of discovery, it tends to validate other related ideas which I haven’t been able to put into words yet. So I’m happy to see this idea coming from someone with Russell’s reputation. I had made the observation a few years back that science looks at things from the outside-in and really never gets to the “why” of what things are, never seeing from the inside-out, so to say. It does a really good job of the “how” and it does understand causal whys, but the deeper whys remain shrouded. Imagine my delight in finding this quote today, where Russell is identified with a similar idea:

The Russellian monist solution, inspired by certain writings of Bertrand Russell from the 1920s, is to point out that physical science is in fact silent on the intrinsic nature of matter, restricting itself to telling us what matter does.

via Are electrons conscious? | OUPblog.

Hah, just finished the paragraph, and it talks about causality the same as I had identified, we’re definitely on the same page.

The rest of the article seems pretty cool too:

The idea is that it is only by supposing that there is consciousness “all the way down” to electrons and quarks that we can render the emergence of human and animal consciousness intelligible. Experience can’t possibly emerge from the utterly non-experiential… so it must be there all along.

Parableizer Engine coming together

When I was first thinking about artificial intelligence about a decade ago, I came up with this idea I called Parableizer Engine. Lately I’m starting to see the first elements of this idea being implemented.

What is relational reasoning? It’s a form of thinking that makes use of logic to connect and correlate objects, places, patterns, sequences and other entities. It’s what we humans use to decide which is the best bunch of grapes at the grocery, or what the evidence present in a crime scene means. It’s something intuitive and intrinsic in us, which is probably what makes it so difficult to teach to AI. Because unlike performing a simple, repetitive or manual task, recognizing something, then relating it to something else in the right context is not as simple.

via Robots Are Now Learning To Reason Like Humans.

Here is the related Arkiv article: https://arxiv.org/abs/1706.01427

Language alters our experience of time

Not only does this article talk about one of my favorite subjects, the Aymara language, and how it is different from other languages, but it’s loaded with gems like this:

But Spanish-Swedish bilinguals are flexible. When prompted with the Swedish word for duration (tid), they estimated time using line length. They were unaffected by container volume. When prompted with the Spanish word for duration (duración), they estimated time based on container volume. They were unaffected by line length. It seems that by learning a new language, you suddenly become attuned to perceptual dimensions that you weren’t aware of before.The fact that bilinguals go between these different ways of estimating time effortlessly and unconsciously fits in with a growing body of evidence demonstrating the ease with which language can creep into our most basic senses, including our emotions, our visual perception and now it turns out, our sense of time.But it also shows that bilinguals are more flexible thinkers and there is evidence to suggest that mentally going back and forth between different languages on a daily basis confers advantages on the ability to learn and multi-task, and even long term benefits for mental well-being.

via Language alters our experience of time.

Enjoy this article, no matter whether it takes a long time or a big time.

Comparing Asterisk vs FreeSWITCH: a Meta-analysis

Overall, the two systems are roughly equal, both are well supported and both are well documented for the needs of anyone with basic PBX needs. For most purposes, either way you go, you’re going to be fine. However, most likely, if you’re asking “Asterisk or FreeSWITCH” you have little experience with either, and therefore little experience with telephony — which turns out to be far more complex under the hood than you might think by using a smartphone. In this common case, you should probably go with Asterisk because: it’s easier to start with, your project is and will remain in-house managing a handful, dozens, or even hundreds of simultaneous calls but not thousands, and you won’t be concerned with advanced features like multi-tenancy, licensing implications, and whether certain call features have more extensively configurable properties. On the other hand, if you’re already a software developer or network engineer with previous exposure to telephony concepts or already know you want to integrate intimately with call features, and/or you have big plans and need to look as far into the future as you can, you’ll want to go with FreeSWITCH. I’m in the latter category, but I understand the practical value that sometimes it is better to give a person a fish instead of teaching them how to fish, since in this case, the caught fish can teach you how to fish if it’s really needed.

Why another article comparing these two?

It’s actually a summary of such articles, and writing is how I organize my thoughts. I’ve worked lightly with Asterisk over the years, but I have a lot of exposure to telephony as a developer working with larger proprietary systems, and am currently making a decision between these two “smaller” open source systems. I’m doing a ground-up evaluation of our own proprietary IVR system built around Asterisk. We’re either going to continue working with Asterisk at the core or migrate the project to FreeSWITCH, so I’m researching both, and to be frank, on almost all counts, I like what FreeSWITCH has to offer. I still like Asterisk — in fact, as a developer, I keep imagining a system that has a single interface managing both to make it even easier for people to decide, but that may be going too far.

Other comparisons

I’ve just read through all of the following articles, which are listed in rough order of importance from my perspective, although anyone else might sort them differently. For example, the first article is old and kind of geeky but it puts you right into the heart of the difference between the two systems, since it was written by the lead developer of FreeSWITCH who had been working deeply with Asterisk for years before deciding to rebuild from the ground up. One of the things I like most about it is that he remained respectful of Asterisk, and speaks well of its merits even while diving into some of its weaknesses. This kind of generosity, in a world of humans who tend to compete fiercely, is attractive to me, and speaks well of FreeSWITCH’s thoughtful origins.

FreeSWITCH: How does FreeSWITCH compare to Asterisk?
https://freeswitch.org/how-does-freeswitch-compare-to-asterisk/

Reddit: FreeSwitch vs Asterisk?
https://www.reddit.com/r/VOIP/comments/3wy9h8/freeswitch_vs_asterisk/

OnSIP: FreeSWITCH – The Asterisk Replacement?
https://www.onsip.com/blog/freeswitch-the-asterisk-replacement

A Comparison of VOIP Platforms: Asterisk vs. FreeSWITCH
http://gonorthforge.com/a-comparison-of-voip-platforms-asterisk-vs-freeswitch/

Choosing between Asterisk and FreeSWITCH
https://rtcquickstart.org/guide/multi/pbx-asterisk-or-freeswitch.html

WhichVOIP: FreeSWITCH vs Asterisk
https://www.whichvoip.com/freeswitch-vs-asterisk.htm

Asterisk Vs FreeSWITCH
https://www.linkedin.com/pulse/asterisk-vs-freeswitch-aristocraters-marketing-lion-

I reckon there are other such articles out there, but these are the ones that appeared first in Google. Since you’re still reading after all of those links, many of which are more detailed and better than this article, I’ll assume you’re interested in looking at a few gems like the Rosetta Stone (comparing specific features between both systems) and some high level observations that drove my decision to go with FreeSWITCH over Asterisk.

So what is a PBX vs a Switch?

PBX is smaller scale. A PBX is basically a switch that works inside an organization; a switch is analogous to a PBX that works between organizations. So, you’re a squirrel, a PBX is a tree, and a switch is forest. When Anthony Minessale said “Asterisk is a PBX, FreeSWITCH is a switch” what he meant was that FreeSWITCH was originally designed to do what Asterisk was doing — and to scale, whereas Asterisk was originally designed to address the needs of people who wanted an open source alternative to the big proprietary systems that needed some disrupting at the entry level. Both A and F are actually Back To Back User Agents, both have embedded SIP servers, both cover all the same basic telephony features. Due to the advent of VOIP, the distinction between PBX and Switch has blurred since back in the day when switches were some of the most expensive, sophisticated software on the planet, and PBXes were smaller versions of switches that ran inside universities and large corporations and neighborhoods.

Asterisk to FreeSWITCH Rosetta Stone

https://freeswitch.org/confluence/display/FREESWITCH/Rosetta+Stone helps already those familiar with Asterisk to quickly locate that which is equivalent or analogous in FreeSWITCH. It’s also useful for a quick overview of how the two systems “think” about the world.

To be continued as soon as I have time…

How can I install Perl CPAN locally as a non-root user?

Every now and then we encounter a Stack Overflow answer that cuts through hours of searching and aborted attempts at fixes with a few lines of elegance. Here’s one I just deployed, figured I would point others to it as well in case Google brings you here…

The easiest method I have found so far is to say

wget -O- http://cpanmin.us | perl – -l ~/perl5 App::cpanminus local::lib
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
echo ‘eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`’ >> ~/.profile
echo ‘export MANPATH=$HOME/perl5/man:$MANPATH’ >> ~/.profile

This assumes your profile is named .profile, you may need to change that to be .bash_profile, .bashrc, etc. After that you can install modules by saying

cpanm Module::Name

and simply use them the same way you would if the were installed in the root directories.

from: https://stackoverflow.com/questions/2980297/how-can-i-use-cpan-as-a-non-root-user