User talk:GrafZahl

sessions
Is there something wrong with the way session data is being stored? If I log in, I'm just logged in for one page view, and clicking anything returns me to not logged in. It seems to work for wikipedia, so I don't think it is a setting with cookies in my browser. Kingdon. 97.73.64.167 01:38, 29 August 2010 (UTC)


 * Hmm, WFM. I haven't changed anything regarding the Wiki configuration. Except for the recent OOM problem and reboot, nothing out of the ordinary happened. I see nothing in the server logs, too. Have you changed the cookie settings of your browser recently? Like accidentally clicking "disable cookies from this domain" or something? I have four cookies:,  ,  , and  . Maybe checking "keep me logged in" on the login page helps? I've enabled MediaWiki's debug mode for now. If this problem persists, we may find something in the debug log.--GrafZahl 09:03, 29 August 2010 (UTC)


 * Does it matter that every request comes in from a different IP address? If so, it is (presumably) peculiar to the internet connection that I'm on for the next few days, which would explain why it just started happening. If this is the deal, seems worth trying to cater to people on such connections, even if in my own case it is only temporary. 97.73.64.174 12:05, 29 August 2010 (UTC)


 * I don't think it should. After all, the cookies should be in your browser and should be sent on every request regardless of your IP. But then, maybe there is some security mechanism in PHP to guard against session hijacking. Anyway, I've disabled MediaWiki's cookie check. That won't help you, though, if your cookies are really, truly lost. I also don't know what Wikipedia does different from Wikiproofs that could prevent your cookies from working here, while they work there. Any ideas on how to change the MediaWiki configuration to keep session loss from happening to you without jeopardising user security are appreciated.--GrafZahl 15:20, 29 August 2010 (UTC)


 * I'd only expect the IP address to matter if something were explicitly checking for it. I didn't see any settings at or  to do that, so maybe the changing IP address is unrelated. I did verify via ngrep that my browser is sending cookies (wikidbUserID, wikidbUserName, wikidbToken, and wikidb_session), so it seems to have something to do with whether the server is accepting them and finding a session with them. As for $wgDisableCookieCheck, I can't really tell what that one does from the manual. I did have another idea: perhaps there is some kind of firewall (either at my host's house, or his ISP) which sometimes strips cookies (or something like that)? There would have to be something about it which is specific to wikiproofs rather than the other sites I've tried (linkedin, meetup, at least), so I'm not sure how likely that is. I think I'm out of obvious ideas, so I think I'm at the point of "see if it goes away when I'm on a different internet connection". 97.73.64.171 19:08, 29 August 2010 (UTC)


 * Tunneling the connection through an SSH connection to an ISP account of mine does solve the problem. So I guess it is some kind of firewall/proxy/etc (?). Anyway, thanks for your help and I guess we can consider this resolved. Kingdon 20:42, 29 August 2010 (UTC)


 * I'm also out of ideas. Nice to hear that you have a means of making it work for you again. I'm re-enabling the cookie check. According to some MediaWiki mailing list entries, it's a convenience check only, to inform users of cookie loss as soon as possible. Apparently, this check can misfire with certain browser/OS combinations. The debug log is pretty useless because it's lacking timestamps, but I finally found . (The relevant code is on line 817 in  .) I have not investigated why these didn't match in your case. Wikipedia uses a different set of cookies due to SUL. Hence our problem might not apply to Wikipedia. It might also be some PHP session problem at Wikiproof's end.--GrafZahl 10:45, 30 August 2010 (UTC)

publicity
I had a nice talk with an old professor of mine, Michael Henle, and he thought that if I wrote a two paragraph summary of wikiproofs for the journal he edits, they'd likely publish it. Sounds like a good idea to me. The pitch would likely be as something to use in education. The only reason I can think of not to do it is if we want wikiproofs to be more "ready" first, but I was thinking of pitching it in terms of contributing to wikiproofs being the educational thing. I figure the more people hear of wikiproofs, the greater the chance that one of them will have the time to fix definitions, or get set theory moving faster, or prove all those compass-and-straightedge geometry theorems which I kind of doubt I'll have time for. (At least in the US, geometry is perhaps the most obvious hook for educational use of the site, as that is where they teach proofs - although the axiomizations of Hilbert, Tarski, or Birkhoff might be a bit far from the way things are taught in Euclid, or modern textbooks). For more on the journal, see "Media Highlights" at.

Prof. Henle also showed me the historical marker to Quine which is now sitting outside the building where his office is, which was quite a welcome surprise, since I'd vaugely been thinking of looking up the Quine paper which is cited in metamath.

Anyway, let me know what you think about the journal. Kingdon 21:07, 30 August 2010 (UTC)


 * I read a few articles of the free first 2009 issue of the journal (no Media Highlights were available for free, however) and it looks interesting.
 * Indeed, one of my motivations for creating this site was educational in nature: the ability to write down a machine-verifiable theory with the possibility of inserting explanatory wikitext everywhere. This is mentioned briefly on mw:Extension:JHilbert, but it should get at least a paragraph or so on WP:ABOUT and possibly the Main Page. It's one of the things intended to enhance the metamath experience. In metamath, you only get an introductory text and then one whole database item in one chunk. The other important educational factor is, as you mention, the ability to contribute new theories and proofs. I think that both aspects are very important.
 * Alas, these features are far from being ready yet. Core issues aside (the currently implemented definition mechanism is broken, no denying it), both JHilbert input and output are in need of certain improvements in order to be of real educational value. The JHilbert renderer is, at this point, merely a glorified syntax highlighter. Metamath is miles ahead of Wikiproofs in this respect. Ideally, the output should display the top of the expression stack after each statement step, and have some JavaScript gizmos to explore the entire proof state on request. As for input, I like Raph's "instant gratification" idea (to be even more instant in proof checking than pressing the preview button, also with JavaScript). In total, the JHilbert integration with MediaWiki is still very, very ad hoc.
 * Nevertheless, I don't think we should miss this opportunity and try to publish your short article. However, for the sake of honesty, I think we should highlight at least the following points:
 * currently unfixed core bugs, including an unsound definition mechanism,
 * the current, unfinished, state of JHilbert's tools regarding contribution and presentation makes the site more interesting for educators willing to take up some of the tasks and meta-tasks which must be completed to make Wikiproofs a worthwhile educational experience, rather than for educatees.
 * What do you think?


 * Finally, I thank you once again, for taking the initiative to increase public awareness of Wikiproofs at a time when I myself have but little time to contribute. Thank you! I also understand that Prof. Henle has taken the time to have a glance at the Wikiproofs site, so I thank him, too.
 * As for Quine, let me tell you an anecdote about a revelational moment in my life. I've been casually interested in the foundations of mathematics since my first university semester. It didn't take very long until I found Nicod's article A Reduction in the number of the Primitive Propositions of Logic, where he builds the classical propositional calculus from one connective, one axiom and one rule of inference. One day, I worked through the entire paper. It wasn't too easy. I scribbled a veritable stack of papers full, redoing the proofs. But it wasn't too hard, either. It took me the whole day, but not longer. Therefore, I was very surprised that there was sort of a small controversy about the correctness of Nicod's paper. The (partially justified) criticism was that Nicod's proof style was rather terse, and sometimes did not follow the logical order. One Prof. Jörgensen attempted to re-render Nicod's proof in a style similar to what you would feed a modern proof verifier. Alas, he got confused by some of the abbreviations and made improper substitutions in the proof of . (The error actually made it into a textbook.) I checked my notes and found I had not made such an error. The error was finally cleared up by Quine in 1932, when he wrote a paper with the sole purpose to correctly re-render the proof of   in PM style. So I wondered: why did it take the great Quine to explain Nicod's proof to the general public, twelve years after it was published, when the same proof became clear to me within a single day? The answer is, I believe, hindsight. Before I got Nicod's paper into my hands, I had already read several expository text books and course scripts on formal logic. In fact, it was in a footnote in one of the course scripts where I found the reference to Nicod's article. These beginner's texts had taught me how formal mathematics works, had warned me about common fallacies, before I even knew of the existence of Nicod's axiom. The people in the 1920s, when formal logic was still a very new thing, didn't have these advantages. To grasp a genuinely new idea such as Nicod's must have been much more difficult for people back then than it is for us beginner's-exposition-spoiled folks today. It's also one reason why I believe in the importance of an educationally valuable presentation. It saves time and is less likely to leave you with misconceptions.


 * --GrafZahl 17:30, 31 August 2010 (UTC)


 * In two paragraphs I won't have the space to go into any details on what's missing from wikiproofs, but I'll see if there is a natural way to work in the bit about mixing informal text with the proofs (which I agree is important, including diagrams, see for example the SVG diagram under Pasch's axiom at Interface:Tarski's geometry axioms, without which I certainly can't follow all the u's and v's). I figure the whole thing is pretty tentative until I hear more about their style guidelines, a somewhat more solid statement of whether they want to run the piece, etc, but I have written back to Prof. Henle to keep the ball rolling. Kingdon 03:47, 1 September 2010 (UTC)


 * OK, thank you very much! Also thanks for updating WP:ABOUT!--GrafZahl 09:49, 1 September 2010 (UTC)

January
Well, you whetted my appetite when you said you might get some wikiproofs time early this month. You looking for any projects? The obvious one is doing something about definitions (I assume we need something like defthm, but I'm even less sure I understand the ghilbert prototype when I try to read about how it decides that a defthm has "proved" a definition). Upgrading mediawiki also springs to mind (I was hoping to give levitation-perl a try but it wants the 0.4 rather than 0.3 version of the mediawiki dump). Or whatever else might strike your fancy, of course. Let me know, of course, if there is anything I can advise on. I appreciate the server upgrade of a month or two ago; I have not been having problems of an out-of-memory nature since then. Hope you had a happy holiday break. Kingdon 03:35, 5 January 2011 (UTC)


 * Currently, my goal is creating a "kernel library" for JHilbert which contains only the bare bones of the logic (including some working definition mechanism). The intention is to have one single kernel for all applications of JHilbert and JHilbert-like systems. This should make it possible not only to coordinate our efforts with parallel projects such as Raph's Ghilbert, but also to implement JHilbert at several levels of Wikiproofs, say, as an external, server-independent application, in a Javascript-driven preview-window, and, finally, on the server itself. I've already started to write some code (in C, as that appears to be the most flexible language around, in terms of embedding). Naturally, this is nothing which I can (or should) do all by myself, for, at the very least, we have to decide on a common definition mechanism. In order to share my coding-in-progress, I thought of trying to get the hang of this github thingy you are using for your proof development.
 * I'm not sure what you mean by upgrading Mediawiki. Wikiproofs has version 1.16.0 installed, and I'm going to install yesterday's security patch today, so that the most recent version will be present on the server. I don't know levitation-perl, but standard Wikimedia tools should work, methinks.
 * --GrafZahl 13:41, 5 January 2011 (UTC)


 * As for the mediawiki version, you're a miracle worker! You have already fulfilled my request (I didn't go through the old xml dumps to figure out exactly when it happened, but the January 5 dump has version="0.4" at the top).
 * For your library, are you starting from scratch or starting from Shullivan (a ghilbert verifier written in C, although it doesn't as far as I know have the 2010-ish changes like defthm)? I do recommend putting your code up on github. One way to get a feel for git would be to start by running "git clone git://github.com/jkingdon/jhilbert.git", which will create a directory called "jhilbert" in the current directory (unless you can't bear the thought of ever again looking at jhilbert source code :-)). gittutorial(7) looks like a decent introduction to the git features you'd use (although you can probably ignore the parts about branches and FETCH_HEAD at least for a while). There are a lot of git documents out there which make it sound very complicated, but that is generally true only if you are trying to do complicated things. For simple uses, it doesn't need to be very complicated.
 * As for what features would go into this proof verifier, the definition mechanism does strike me as the hardest part. I'm not sure I have much to add right now beyond what I've said at Wikiproofs talk:JHilbert definition soundness (especially the bit about wanting automatic abbreviations without dummy variables, as well as whatever definition mechanism we provide). But do ask if there is anything I can advise on. Kingdon 04:01, 6 January 2011 (UTC)

github
Hi, I got your message about setting up github. (I'm replying here because github's message thingie doesn't seem to getting along particularly well with my browser at the moment). To answer your question about generated files: if you don't want to check them into the repository (leaving them out is, generally speaking, a good idea), just put their names in a file named .gitignore and check in .gitignore. You can see some examples of .gitignore at (which I have now updated to include both your version 9 changes and the changes I had made in git a while ago - which are pretty small but include a unit test or two and a few little things). Kingdon 02:35, 14 January 2011 (UTC)


 * Thanks for the  hint. I checked in a buildable skeleton of the library yesterday. Only a few functions are implemented, and there a a few unit tests. At home, I've got code for the equivalent of ,   and the dependency machinery required for   and the like. I'll check that in in small portions over the next few days. I don't do it in one large chunk because I'm rewriting my container library implementation on the way. Previously, I used a C-preprocessor based approach. While this approach was quite automatic, it turned out hard to debug (gdb does not seem to expand macros), so now I'll generate the relevant header files with sed (and check them in for those people who do not have sed).--GrafZahl 17:25, 17 January 2011 (UTC)

import/param broke everywhere
Any page which imports an interface (via import or param) seems to currently be broken. The message is the following:

import (CLASSICAL Interface:Classical_propositional_calculus  Unable to import parameter CLASSICAL(Interface:Classical_propositional_calculus)[]+: Unable to load module Interface:Classical_propositional_calculus

Every part of the site that I checked has this problem (not just Interface:Classical propositional calculus but others too). I don't see anything in Recent Changes which would explain it, so I'm assuming it is a jhilbert or mediawiki problem. Let me know if there is anything I can do to help. Kingdon 01:14, 16 February 2011 (UTC)


 * Hi, the problem should be gone now. Apparently the following happened: yesterday at around 20:20 UTC the hosting system underlying the virtual server had some kind of problem (probably crashed) causing the virtual server to crash. At exactly 21:00 UTC my provider sent me an e-Mail stating that the virtual server had crashed due to a "software error in the kernel", and that they'd start investigating the problem within a few minutes. They didn't mention the hosting system, but attempts to query its status returned "unspecified problem", so I guess it crashed. When at 23:00 UTC the server was still down, I went to bed (I have no influence whatsoever on the hosting system). According to the logs, the server came back on at 23:50 UTC. The SQL server recovered properly but for some reason the web server fcgi communication failed. I've got lots of errors of the form  and  . As a result, the JHilbert subsystem received lots of HTTP 500 responses upon API queries. Between 5:00 and 6:00 UTC the web server was restarted in the course of regular log rotation and the problem went away.
 * I'm not exactly sure what caused the communication problems. I'm hoping it was due to the failed hosting system and does not occur again.
 * --GrafZahl 09:37, 16 February 2011 (UTC)


 * Glad to hear that the outage was relatively brief. It looks OK now. Kingdon 02:20, 17 February 2011 (UTC)

Main page
Did you have any thoughts on Wikiproofs:Tearoom? If there are no objections, I can install the home page draft I showed there. Kingdon 13:10, 26 February 2011 (UTC)

JHilbert fixes
Hi, I submitted some changes to JHilbert back in August, but accidentally submitted them to my own github account rather than yours. They are at https://github.com/jkingdon/jhilbert/pull/1 which should also have some explanation of what is there (just ask if you have any questions, though). Also let me know if there is anything I can do to make it easier to review and/or pull them (from the git command line, I think it would just be

git pull git://github.com/jkingdon/jhilbert.git wiki

if you want all of the changes). Kingdon 01:56, 24 October 2011 (UTC)

Fix to perpendicular character
Have you had a chance to look at https://github.com/jkingdon/jhilbert/pull/1 ?

I just added another change there, which is to make ⟂ (perpendicular) a legal character within the name of an atom. Wikiproofs.org currently disallows it (because the version of java in use is based on unicode 4.0 and this character was introduced in 4.1). Avoiding this character does not strike me as a particularly good solution, as it is a fairly basic piece of notation in geometry contexts. Kingdon 02:55, 16 November 2011 (UTC)


 * Thank you for your contributions to the JHilbert source code. In particular the I/O read thing appears to be an important bugfix. I'm currently in the process of reviewing the other stuff. You made quite significant contributions, so you should add your name in the copyright blurb whenever appropriate. To that effect, do you know if there is a method to add the git changelog automatically to the source files? Like the  tag in RCS? If not, it might be easiest to change the author line to "The JHilbert authors" or some such, and then add a line "Use git-log to obtain a list of individual contributions".--GrafZahl 17:39, 17 November 2011 (UTC)


 * I don't think there is anything much like  (and I guess my opinion is that   tends to get fairly verbose fairly quickly anyway). What to put in copyright notices is at least potentially separate, and kind of depends on how serious you are about registering and enforcing copyrights. I guess if you want my two cents it would be to not worry about it too much (which I guess would argue for keeping detailed authorship attributions in the git logs, or in a centralized file like CREDITS). As for the code itself, just ask if there is anything you want to discuss. We could probably get into fairly detailed discussions about how to structure java code, but I don't want to complicate matters by trying to answer questions which you might not even be worried about. Oh, and thank you for deleting the duplicate copies of my post. The site was slow and it wasn't clear that it had posted the first time. Kingdon 02:08, 18 November 2011 (UTC)


 * I moved the author information to a new file called  and renamed the   file to avoid any confusion. The licence blurb at the top of each file now contains git-log instructions. Please do not hesitate to offer me some pull requests if you want anything added/changed. I've yet to try the   mode, and as for the code structure philosophy, well, there will always be differences between developers, but right now, none of these differences appears to be worth bickering about.
 * About site speed: quite belatedly I realised that my provider not only restricts memory but also some other resources. In particular, socket buffer size limits for UNIX sockets are quite tight. I've changed the FastCGI setup to run over the loopback now, and suddenly the site appears to be much more responsive and less prone to the infamous internal server error. Still, CPU speed is a problem, but that cannot be helped right now. A dedicated server would simply be too costly. Anyway, I hope it's a bit more fun now editing.
 * --GrafZahl 21:47, 21 November 2011 (UTC)


 * That the extreme site slowness (and frequent 500 errors) had an easy fix (or at least apparent fix) is very good news. I can work around it, in the sense that  lets me write and verify proofs locally, but in terms of hoping that others will at least browse the site, it is nice to have it responsive. At least at the moment, the site seems to be doing OK, so the CPU speed (or whatever other limitations might be there) doesn't seem like it is the same kind of severe problem we've been seeing the last few weeks. Kingdon 13:10, 24 November 2011 (UTC)

Categories not working
If I try to go to http://wikiproofs.org/w/index.php?title=Category:Categories I get a 500 error. As far as I can tell, this is true for all categories.

I've been working on various things lately, such as axiomizations of first-order logic and Interface:Restricting all quantifiers. Kingdon (talk) 13:41, 19 May 2012 (UTC)


 * I've installed a new version of Extension:CategoryTree. I think that fixed the problem. Thank you for all your work. I'm quite busy with my new job, and it will stay that way for the next weeks. I'm sorry I can't devote more time to Wikiproofs right now.--GrafZahl 23:34, 19 May 2012 (UTC)


 * I do appreciate what little time you do have for it, for example in fixing the categories. They do seem to work for me now. Kingdon (talk) 00:27, 20 May 2012 (UTC)

spam flood
I see you've been mass-deleting the spammy user pages. I've been deleting some pages and blocking the users (by hand), but unless this is more automated, it is too labor-intensive. Perhaps would help? Or even just setting some of the settings at https://www.mediawiki.org/wiki/Manual:Preventing_access. Kingdon (talk) 04:55, 4 May 2013 (UTC)


 * Thank you for blocking some of the spambots. I've already installed mw:Extension:ConfirmEdit, and recently switched it to ReCaptcha. This has reduced the number of registrations of new spam accounts, but there are still a lot of spam accounts lingering. I've also installed the mw:Extension:SpamBlacklist but it doesn't appear to be very effective. The ConfirmAccount extension seems to be a good idea for now, thanks for the heads-up. Meanwhile, I'll just block a few of the remaining spam accounts whenever I see them, in the hope that the active ones will soon be gone.--GrafZahl 10:16, 4 May 2013 (UTC)


 * Account creations still are getting through. See for example Kzqrsxomy, PerryFran, and Sled40rex. Also, OK with me if you bring back a math problem for signup (we had a calculus problem for a while. Like a Captcha, can have both false positives and negatives, but I'm open to trying things which might keep out the spam). Kingdon (talk) 13:29, 4 May 2013 (UTC)