HNHacker News
TopNewBestAskShowJobs

calhoun137

1,201 karma · joined February 8, 2013

I am a builder, not a breaker.
submissionscomments
calhoun137··on Math Inspector: A Visual Programming Environment for Scientific Computing
Yeah homebrew has some major compatibility issues with tcl/tk used by math inspector. I ended up installing python from the website and removing the homebrew install to get everything to build properly. Hopefully this issue can be resolved with virtualenv moving forward.
calhoun137··on Math Inspector: A Visual Programming Environment for Scientific Computing
Thank you so much! I feel like there is a massive vacuum in the software ecosystem for a product like this.

I'd really like to support LaTeX in multiple ways throughout the app, and have plans to build a feature to automate the animation of equations. There is also another planned feature to try and create an integration with sympy[1], and it's likely there will be some overlap between the sympy and latex stuff. I don't think there is a good way to automate exporting functions to LaTeX, even using sympy, because its not 1-1 (not sure though).

I think having the kind of visual environment math inspector offers has a lot of potential when it comes to computational PDE's. At some point I want to draw the Lorenz attractor, which is something that probably won't work very nicely with the current plotting system in the app. It would also be amazing to do fluid dynamics simulations, but that is a really huge job for sure.

[1] https://www.sympy.org/en/index.html

calhoun137··on NumPy 1.20
getting on the front page like this was quite unexpected and has completely made my day =) =) =)
calhoun137··on Math Inspector: A Visual Programming Environment for Scientific Computing
Thank you so much! Well I tried to make it work so that literally any project you have sitting on your system can be imported into the app. In principle it should work, in practice the amount of block code elements can quickly become overwhelming.

At the end of wrapping up the beta version, I was using math inspector to create math inspector, this is how I wrote the TextParser[1] class, and there is a certain beauty to the way the files were synchronized, but since everything was still in development I finished up by running a test file from the command line instead, and have not had a chance to keep working on that aspect.

I think the more the app gets dog-fooded in this way, the more clear it will become what the optimal UI/UX is. Math Inspector is not an IDE, but it does create an additional visual layer that is kind of helpful during development, especially for quickly testing/iterating any changes

[1] https://github.com/MathInspector/MathInspector/blob/master/m...

calhoun137··on Math Inspector: A Visual Programming Environment for Scientific Computing
Project author here. I have been working so hard for the past 3 months on this app, and last year tried to submitting the alpha version to hacker news a few times but that version was a lot less polished and didn't get much attention. The response today has been really wonderful, and has been so encouraging!

Feel free to ask me any questions or request new features.

Everything is still very much in active development and it would be amazing if anyone is interested in contributing the source code[1]. I just took a few days of rest and am gearing up to begin posting a bunch of math education video's on my youtube channel using all the new features which I built just for that purpose. I will be adding new features as I need them during the video creation process. Most importantly, coming soon there is going to be a feature to export animations to mp4.

[1] https://github.com/MathInspector/MathInspector

calhoun137··on NumPy 1.20
Great question! The plotting library is it's own stand alone module, and there is a `plot` function which accepts an arbitrary number of arguments. This is how the app is able to plot multiple graphs at the same time.

Using tuple/list for points/lines makes it easy to plot points and lines at the same time, with a single function call, without any nasty keyword arguments.

For example

>>> plot((0,0), (1,1), [(0,0),(1,1)])

The other reason was it makes the code a lot nicer in some places. I tried using a keyword argument at first and there was a lot of additional logic to keep track of.

calhoun137··on NumPy 1.20
Python is very well suited for being mapped to a block coding environment because it has such a large number of helper functions which enumerate all the things each module/object/function can do.

I have considered doing a similar project for javascript, but I had assumed it would require an entire new codebase for each programming language given how different every language is under the hood.

calhoun137··on NumPy 1.20
oh whoops! I saw that error earlier and forgot to fix it. The idea was to replicate sublime text's feature for highlighting words with ctrl+d, but there is some kind of error for detecting when ctrl is being used as a modifier key in windows. I'm going to fix that later today and upload a new build. Thanks for the heads up

EDIT: problem should be fixed now. I have just uploaded a new windows build to the website and pushed the changes to master on GitHub. Tested it on my windows machine and it looks like the fix is working properly. Re-downloading the installer file and installing again should resolve the issue.

calhoun137··on NumPy 1.20
There is! I didn't build and codesign the linux version yet (just ran out of steam and needed a few days of rest), but I set up everything in a VM and got it working on my mac through x11.

If you follow the instructions in the install.sh[1] script (which is for doing VM testing with Vagrant), it should hopefully be simple to install from the source code on your system.

https://github.com/MathInspector/MathInspector/blob/master/i...

calhoun137··on NumPy 1.20
Thank you!!! I worked so hard on this project, and really appreciate the kind words
calhoun137··on NumPy 1.20
A really great way to learn more about numpy is with Math Inspector[1]. It creates a block coding environment which works with the entire numpy/scipy stack, it also has an interactive 2d and 3d plotting library that updates the functionality in mathplotlib. Also, I made it =) Just spent the past 3 months working day and night and released a massive update a few days ago. Check out the youtube video on the bottom of the page for more in depth information.

[1] https://mathinspector.com/

calhoun137··on I am an 80 column purist
Very interesting article!

I try to stick to 80 but often times find the code is more readable when some particular lines are longer than 80. I dont see any reason to impose an arbitrary historical constraint when it will make the code harder to understand.

calhoun137··on MathInspector: Open-source release GNU GPL V3
Project author here! Please let me know any feedback you have about this project. I wanted to make a free open source math program that was better than any other product on the market.

How did I do?

calhoun137··on Algorithm solves NP-Complete Problems in P time
I apologize for my hostile response. You have been extremely helpful and this was out of line.

Please see this recent HN post from today which is extremely relevant: https://news.ycombinator.com/item?id=22839035

Also please consider that in newtonian mechanics the potential energy of interaction assumes an instantaneous propagation of signals between 2 particles, and there is no issue in practice with this approximation, because the speed of light is so large compared to the time scales of macroscopic phenomenon. The ideas we have been discussing is the same type of regime where its an asymptotic limit, and where these types of assumptions are quite physical and very realistic.

I have been working so hard for the past 3 weeks on a generalization of John Conways The Game of Life and he just died so I am pretty emotional right now.

I'm sorry we had to come to this point, where you have provided enough information for me to continue my work, but had to have such a confrontational fight over who understands the theory of relativity better. I can assure you, I understand the point you are making about the speed of light.

Let me remind you, the constant speed of light is only constant in a vacuum. In air the speed is not the same as water, and gravitational fields can bend the path of light.

I hope in the future we can have a physics discussion as equals instead of getting into a fight when I have been crying over the death of one of my absolute greatest personal heroes

calhoun137··on Algorithm solves NP-Complete Problems in P time
> It's the rather trivial limit. I mean, it's pretty clear the limiting maximum for my walking speed is also the speed of light

I was very intrigued that you were using relativistic arguments to support your point of view. I thought this was a very insightful approach and assumed you knew what I meant by "speed of light in the human body"

In [1]Landau volume 2 on the theory of relativity, chapter 1, section 1, it states:

"experminent shows that instantaneous interactions do not exist in nature. Thus a mechanics based on the instantaneous propagation of interactions contains within itself a certain inaccuracy"

The entire theory of relativity, which forms the basis of your arguments involving the speed of light as far as the real world is concerned, involves this concept of maximum limiting velocity very seriously.

You can speak, and the sound travels at the speed of sound. In many parts of physics, there is a "speed of X" based on the properties of the medium.

I don't appreciate you talking down to me about the theory of relativity, or the physics of light. I don't think you appreciate that I am a serious experimental and theoretical physicists and have published papers on my original research in PLR on applications of bio-physics to experimental nanotechnology.

> That short summary appears to violate the conservation of energy.

Because the cells in the human body consume protien for energy. Both of my parents are biologists and research scientists so thats where I learned about all of this.

> Can you point to any of the evidence? Especially evidence which shows it's unbounded?

I explicitly stated in my previous question (direct quote)

"I believe you have made an extremely strong point about the speed of light and the nature of the reasons this kind of approach needs to be bounded in a strong form or else will clearly not work"

I guess you didn't read that?

> Your analogy doesn't support the ability to add new CPUs, only new objects.

Thanks for all your help. Your condescending attitude is not helpful anymore. I think you are being very close minded and I have appreciated your point of view and we can agree to disagree

[1] https://books.google.com/books?id=X18PF4oKyrUC&printsec=fron...

calhoun137··on John Conway has died
May he rest in peace, and may his place be among the great mathematicians of all time
calhoun137··on Algorithm solves NP-Complete Problems in P time
> The nervous system does not work at the speed of light

I think it's ok to call a limiting maximum velocity for the transmission of signals by definition "the speed of light in the human body". Your point is well taken about the actual speed of light and how fast the nervous system works

> I don't know what that means. Exponent in what dimension? Time? What's the exponent? Do you have any demonstrable evidence?

I meant exponential in time, and yes I have evidence. It's theoretical physics energy calculations I did on the work done according to the principles of theoretical physics as a result of cell self-replication. (Consider a single particle to have kinetic energy 1/2mv^2, and then allow for self replicating particles) What I did was read a lot of biology text books and look at the experimental evidence of how the human body actually works. Hopefully I didn't make any major mistakes in these calculations, but to me its quite clear that all of the experimental evidence has tended to show that the human nervous system is capable of expending an exponential amount of energy in time

> Again, I don't follow. > I am not aware of humans being able to solve NP-hard problems in polynomial time

I understand the nature of your objection to involve arguments about the nature of this being unrealistic. I have tried to show why I believe this is quite realistic, and explain why I feel so strongly this is a practical question for a computer program I am writing so I can figure out the best way to design the software.

When I said "not also a major issue for the human nervous system?" what I meant was this:

Make an analogy where the human brain is a master CPU, and it has an object oriented programming language where each cell is an Object, and self replication is the new operator.

I felt like your objections about "not being realistic" could be objected to on the basis that these ideas come from physics and have real world applications in engineering for a new type of self-replicating 3d printer. In my view, it would be rather useful to further develop the theory of these types of systems

I believe you have made an extremely strong point about the speed of light and the nature of the reasons this kind of approach needs to be bounded in a strong form or else will clearly not work

Hope that clears it up!

calhoun137··on Algorithm could solve NP Complete problem in P time
I agree with everything eesmith has said to me so far in our discussion. I apologize for not communicating how seriously I take all of his replies to me, or how helpful this is for my research

I am working on a very fun project making a 3d computer game in unity, its got a beautiful user interface where you can play with the parameters of a single self reproducing machine and it lands on a fake planet and you can do (fake/simulated) physics experiments with imaginary "programmable self-replicating 3d printers" and its all running a physics simulation of what a real planet might be like, but you can adjust these parameters in the game too.

It's inspired by John Conway's The Game of Life. It's quite fun! I believe I have discovered an infinite family of new 3-dimensional self reproducing machines, and own the website selfreproducingmachines.com for the purpose of releasing this game as a free open source program when its finished

Thank you so much for keeping me in line and helping me with these ideas. It means so much to me.

I did not post on this website so heavily because I didn't want to be mercilessly dragged by people like eesmith who know much more about this than me

I have many questions about a "fake math" theory I made up, where its kind of like theoretical physics, but its about the mathematical theory of life, evolution, dna; but from first principles

I have discovered the existence of mathematical laws which relate the properties of the environment, and the local encoding of a single self reproducing programmable machine, and the way these types of systems tend to evolve

Clearly, I am very likely making a large number of conceptual mistakes at this time. This is the purpose for my posting these articles on here. Any advice is most welcome

calhoun137··on Algorithm solves NP-Complete Problems in P time
How interesting. You have given me quite a lot to think about it. I am still unable to get past the following, but I will continue to consider everything you have said in our discussion very carefully.

Issue: I carried out theoretical physics energy calculations on the work done by cells as a result of cell self-replication in the human nervous system (recall the nervous system primarily functions to send signals at ~the speed of light from one part of the body to another)

The thing I am unable to get past for arguments of the type you made, e.g. when you stated:

> "There are fewer than 10 billion people in the world. That's a finite number. Even a quadratic problem remains quadratic if there is a bounded number of compute resources"

The issue is: the human body does not completely fall apart, it all works fine and there are no issues like this, there is some kind of bound from being a physical object in the real world, but physically and quite practically for all purposes the human nervous system is capable of expending an exponential amount of energy

Question: Since the human body does not fall apart despite the fact that its doing cell self-replication, given how theoretical physics shows there truly is an exponential level of energy expended during cell-replication, how are these types of issues that you raise, quite legitimately from a pure-math/theoretical comp-sci perspective, not also a major issue for the human nervous system?

Thanks again! This discussion has been enlightening

calhoun137··on Algorithm solves NP-Complete Problems in P time
> What if they are not able to do so?

Good question! Since you have already corrected one of my mistakes, I don't want to start off by disagreeing lol

In my head, this is just a silly word problem, the purpose of which is to show the mathematical theory of computation requires a new axiom

Here is a map which describes my idea:

Party with infinite number of mathematicians --> theory of computation

a mathematician --> Turing Machine

getting a new piece of paper --> a new axiom that gives Turing Machines a new self-replication feature

According to this new theory of computation which I am trying to invent, and which I have named The Theory of Self Reproducing Machines, it would not be an issue that "because the number of new people you can reach within a minute goes from quadratic towards linear"

As a counter example to your idea: consider twitter and the abstract concept of a social network graph where it's quite possible to send messages instantly for all practical purposes

Curious for your thoughts

calhoun137··on Algorithm solves NP-Complete Problems in P time
Thanks for this. After much research I have concluded that your reply here is accurate and my previous reply contained either misleading or wrong information. Your comments about space and high-level excution frames are on point imo. Thanks for taking the time to explain your thinking here, I really appreciate it!

I only care about the execution time for my research purposes. See this Math SE post where I explain this algorithm as a people type algorithm system. Curious for your thoughts?

___ Imagine there is a party with an infinite number of mathematicians at it, and I walk up to my friend with the following instructions:

"every 1 minute, find 1 person at the party who has not been told this message yet, and repeat this message to them"

It's clear that after N minutes, provided these instructions are followed exactly, there will be 2^N people who have heard this message.

I will now describe an algorithm which can solve the boolean satisfiability in N variables in N minutes.

1 - find 2 people at the party, hand one of them a paper that says "True" and another a paper which says "False" and has a boolean expression on it

2 - tell them these instructions "in 1 minute, find 2 people at the party who have not been told this message yet, and repeat this message to them, give 1 of these people your paper but add True to the list, find a new piece of paper and copy over the list + expression from the paper I gave you, but add False to the list"

3 - after N minutes, whoever has a piece of paper in their hands has to compute the solution of the boolean expression (we are assuming since all the people at the party are mathematicians, they can all check this in less than 30 seconds) and if its solvable they have to shout out "ITS SOLVABLE EVERYONE"

Then given any boolean expression involving N variables, I can use this algorithm to solve the boolean satisfiability problem in N minutes and 30 seconds

[1] https://math.stackexchange.com/q/3605352/1417

calhoun137··on Algorithm solves NP-Complete Problems in P time
I disagree, did you run debugging tools to check how many frames this code takes to execute? On what basis are you claiming it takes O(2^N)? You just are just asserting that, but my code is running in time O(N) according to the debugger so im not sure why you are claiming that
calhoun137··on Self Replicating Computer Programs
my life's work is the continuation of von neumann's research on self reproducing machines. I just had a major breakthrough after 15 years and am just free writing a massive series of articles right now

i watched that video briefly and skipped around, it looked like it was based on cellular automata? I have never heard of this specific application, but am aware this type of application is possible for them. Cellular automata were used by John Conway in the game of life, and I have studied this subject pretty deeply and this is a major source of inspiration for what I am doing now

calhoun137··on Self Replicating Computer Programs
author here! very interested to find out if anyone has any comments or questions or objections. going to start writing the next article shortly
calhoun137··on Math Inspector: Alpha Test Registration Is Open
Project author here! I have been working on Math Inspector for the past year and recently got featured on Mathologer for one of my youtube comments so I decided to launch the math education channel I have been dreaming about and start the process of releasing the tool I got carried away making when I decided to roll my own software for creating animations for math eduction videos
calhoun137··on Math Inspector: A visual programming environment for the scipy stack
Project author here. I have been working on Math Inspector for the past year and decided to finally make the first video to get the word out about it. One of my youtube comments was featured by Mathologer as the basis for his latest episode from yesterday[1], so I decided to finally make this video and to release it in an alpha-state. Will be getting the website up in a few days hopefully, and depending on how much interest there is may do a closed-alpha and open-beta release before releasing the full product for free.

It's very important to to me that this is free, there are already other tools out there that cost a lot of money, and the math software problem won't go away until there is a free tool on the market. My hope is that Math Inspector will be that tool.

[1] https://www.youtube.com/watch?v=DjI1NICfjOk

calhoun137··on Kramnik and AlphaZero: How to Rethink Chess‎
I guess the word "theorem" is a little strong, since it depends on the real world. I stand by the statement that it's literally impossible to decide this in practice. If we are allowed to say in a few lines of code you could formally compare any chess engine to a theoretically optimal one, then obviously it is possible to decide by just comparing.

Without being allowed to compare a given engine to a theoretically optimal one which is based on brute forcing the full game tree, and being careful about the problem statement, I suspect it would be possible to prove something along these lines

I would argue something like: "Gods evaluation function" takes as input a chess position and returns whether the position is a forced win, lose, or draw. The rules of chess are so complicated that to go from a continuous evaluation function to a discrete one like that would require an infinite number of steps (this last statement is the one that needs to fleshed out)

I will stop calling it a theorem until I remember why I started calling it that. This situation exists in many non-linear optimization problems, a subject I find really interesting, and in many cases in practice there is no way to decide if a given solution is optimal. For some reason I thought there was a theorem in non-linear optimization theory that was directly relevant here

calhoun137··on Kramnik and AlphaZero: How to Rethink Chess‎
I am 1000x more interested in chess engine's and "a search for some maximum of abstract skill" than I am in getting good at chess. During my research into this topic I discovered many facts which led me to conclude that there exist multiple chess strategies which humans can use which are currently unknown and which are far more powerful than anything currently used by grand masters or chess engines. This was all before alphazero was released, and I feel strongly that alphazero proved the hypothesis that chess strategy theory will continue to improve and there is still so much to learn.

Chess theory is "always getting better". This is because chess has the property that the skill curve is so extreme and the game so deep that it is seemingly always possible to continue to improve and find new ideas.

Chess engines play a fundamental role in modern human chess. There is a causal relationship between the state of the art in chess engines and the play styles of the top pro's. This is because better engines can find new idea's in positions previously thought to be completely explored. It happened recently with an alphazero game in a spectacular way iirc

There is a theorem which says that given any chess engine, it's impossible to decide if that chess engine is playing in an optimal way. So when you say "in terms of the likelihood of being the best-performing entity at that game", I think its important to be very precise about what we mean, even though in spirit I agree with that statement =)

I started working on a project to build a chess engine that is specifically designed to beat other chess engines by playing in a non-optimal way specifically tailored to find and exploit bugs in the opposing chess engine code/flaws in its algorithm.

I also once proved that any chess engine based on the principles of stockfish will necessarily contain positions where it can be exploited into making bad moves. If you fixed the algorithm to make it not exploitable in that specific position, the theorem says there would exist another position where it would be exploitable. This is what I call the theory of "exploitative chess engines" (in the sense of maximizing the possible gain), as opposed to ones which attempt to play in an "optimal" way (minimizing the maximum loss)

calhoun137··on Kramnik and AlphaZero: How to Rethink Chess‎
Meh. I dont believe we have even come close to finding the best chess strategy for humans and strongly disgagree with the premise of this article that chess strategy for humans is at some kind of ending and we need to change the rules or else it will never get better.

In fact, I have done a lot of research into chess engine theory and believe flaws in the stockfish algorithm directly contrubute to the "boring" chess we see today, since all pros use engines to train now. The old engines cant see lines that alphazero sees which involve long term positional sacrifices, and use a linear evaluation function which in principle can never capture the strong non linearities inherenit in chess. (alphazero uses a non linear evaluation function, which is its nueral net)

Considered as a mathematical space, the universe of possible chess strategies is an extremely large order of infinity. There are also many aspects of time management in relation to the computational complexity of the position which modern engines dont model at all.

I believe that modern engines are overly materialistic and that aggresive positional sacrficies in the style of Tal and alphazero are the future of chess strategy for humans

calhoun137··on Man Loses Home After Failing to Pay $8.41 in Property Taxes
I question how "easy to apply" the law is. It's necessary to have a set of facts before deciding "what the law says", however one of the (many) reasons it's so difficult to apply the law in practice is that establishing "the facts" for real world situations is hotly contested by lawyers for each side.
← PreviousPage 2 of 10Next →