Recent Posts

Subscribe to Recent Posts 455 posts found

posted 12 years ago
admin 63 posts

Forum: Instiki – Topic: Bugs

Indeed.

 
posted 12 years ago
admin 63 posts

Forum: Instiki – Topic: nlab

I suppose there is a marginally higher probability that a ‘merge’ will succeed with some lines commented-out, instead of deleted.

But I expect that it’s a small effect; hardly worth obsessing-over.

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Bugs

This is probably related to that last one. Is the black square inserted at the end of a proof also done by javascript? If so, that might be worth thinking about whether or not it makes the same assumption. In particular, if a proof ends with a bit of displayed maths then the square gets inserted into the containing div which is centred. This looks a little odd.

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: nlab

Back on the CSS thing. I’m going to experiment with taking it out on my course wiki (safer than on the nLab). Since it’s in the main instiki file I guess I have to take it out system-wide (though I could put it back on a per-web basis, I guess). What’s the safest way to do that given that this is a file in the VCS? Should I comment out the line, or delete it?

(I want to avoid - as much as possible - breaking things when I do a bzr pull)

 
posted 12 years ago
distler 123 posts

Forum: Instiki – Topic: Bugs

Ah. I see.

Thanks.

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Bugs

What are you using to show the source? My default is Firebug, though I also use the “View Source Chart” addon. Here’s what Firebug says it sees:

<div id="thmA" class="num_theorem">
<p>
<span class="theorem_label">Theorem</span>
<span>. </span>
Correct behaviour
</p>
</div>
<div id="thmB" class="num_theorem">
<ol>
<span class="theorem_label">Theorem</span>
<span>. </span>
<li>A list, with</li>
<li>Incorrect behaviour</li>
</ol>
</div>
<div id="thmC" class="num_theorem">
<div style="float: right;">
<span class="theorem_label">Theorem</span>
<span>. </span>
<p>A comment to one side</p>
</div>
<p>The theorem</p>
</div>

In particular, note that the second theorem label is a child of the <ol> element.

If I just do the naive “View Source” then this is what I see:

<div class='num_theorem' id='thmA'>
<h6 id='theorem_1'>Theorem</h6>

<p>Correct behaviour</p>
</div>

<div class='num_theorem' id='thmB'>
<h6 id='theorem_2'>Theorem</h6>

<ol>
<li>A list, with</li>

<li>Incorrect behaviour</li>
</ol>
</div>

<div class='num_theorem' id='thmC'>
<h6 id='theorem_3'>Theorem</h6>

<div style='float: right;'>
<p>A comment to one side</p>

</div>

<p>The theorem</p>
</div>

So you’re right and wrong. What I’m seeing on the page is not an artefact of Maruku. Since the source sent by Instiki is correct, my guess is that it is Javascript that is converting the <h6> to a <span> and is inserting it as a child of the first element. (In my opinion, it should do so only if that first element is a <p>, otherwise it should be in a block element all of its own.)

 
posted 12 years ago
distler 123 posts

Forum: Instiki – Topic: Bugs

Sorry.

Maruku’s HTML output looks perfectly OK (ie, as expected) in your example(s). (View the XHTML source, and tell me what you think is wrong with it.)

What you are complaining about is that the CSS doesn’t produce the desired appearance of the output.

Since you’ve been mucking about with the CSS of the Theorem Environment, why don’t you muck about some more and get it to format your example correctly.

 
posted 12 years ago
Andrew Stacey 118 posts

edited 12 years ago

Forum: Instiki – Topic: Bugs

Here’s a maruku bug; I guess I’m noting it as much for when (if!) you change engines as for hoping that it’ll get fixed now.

In a theorem or proof environment, the conversion of the h6 element to a label doesn’t always work correctly if the following element is a block-level one (list or a div, for example).

I’ve been trying to post an example here, but failing miserably. Even the correct syntax doesn’t seem to be working. So I’ve stuck an example at the top of the Sandbox in the nLab:

http://ncatlab.org/nlab/show/Sandbox

(I originally noticed this on my course wiki.)

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Bugs

I was on 759. I’ll upgrade today.

I was also probably doing something more complicated than I described, only I can’t remember all the steps, since I was moving content from one page to another and renaming them. I thought I’d described the important ones, but there may have been something that I’d missed.

I’ll try to be more observant of my own behaviour in case it occurs again!

 
posted 12 years ago
distler 123 posts

Forum: Instiki – Topic: Bugs

Are you using the current revision of Instiki? ‘Cuz that’s not the behaviour I see, when I follow the steps above.

 
posted 12 years ago
Andrew Stacey 118 posts

edited 12 years ago

Forum: Instiki – Topic: Bugs

Looking at the log, what I see is the following:

Processing WikiController#save (for 2001:700:300:1470:862b:2bff:fe9b:c741 at 2011-09-21 14:32:27) [POST]
  Parameters: {"_form_key"=>"809867e64bcc18bbdd650af99b67f93dd935dfad", "content"=>"A load of content",
"alter_title"=>"1", "new_name"=>"norm for continuous functions on the interval", "author"=>"Andrew Stacey",
"web"=>"mathsnotes", "id"=>"continuous functions on the interval"}
Reading page 'continuous functions on the interval' from web 'mathsnotes'
Page 'continuous functions on the interval'  found
2001:700:300:1470:862b:2bff:fe9b:c741
Reading page 'continuous functions on the interval' from web 'mathsnotes'
Page 'continuous functions on the interval'  found
Maruku took 0.002904876 seconds.
Maruku took 0.002353689 seconds.
Maruku took 0.310123551 seconds.
Maruku took 0.301577887 seconds.

At that point, I get lots of Expired fragments, all of which refer to the new page name (or to lists). Then at the end, I see:

Redirected to http://mathsnotes.math.ntnu.no/mathsnotes/show/norm+for+continuous+functions+on+the+interval
Completed in 789ms (DB: 18) | 302 Found [http://mathsnotes.math.ntnu.no/mathsnotes/save/continuous+functions
+on+the+interval]

Seconds later, I go back to the tab with the original page in it and click “reload” to get:

Processing WikiController#show (for 2001:700:300:1470:862b:2bff:fe9b:c741 at 201
1-09-21 14:32:39) [GET]
  Parameters: {"web"=>"mathsnotes", "id"=>"continuous functions on the interval"}
Reading page 'continuous functions on the interval' from web 'mathsnotes'
Page 'continuous functions on the interval' not found
Cached fragment hit: views/mathsnotes/show/continuous+functions+on+the+interval (0.1ms)
Filter chain halted as [#<ActionController::Filters::AroundFilter:0x00000003585248
@kind=:filter, @method=#<Proc:0x00000003585680@/home/stacey/current/others/instiki/vendor/rails/actionpack/
lib/action_controller/caching/actions.rb:64>, @identifier=nil, @options={:only=>#<Set: {"show", "published",
"authors", "tex", "s5", "print", "recently_revised", "list", "file_list", "source", "history", "revision",
"atom_with_content", "atom_with_headlines"}>, :if=>#<Proc:0x00000003585888@/home/stacey/current/others/
instiki/app/controllers/wiki_controller.rb:13>, :unless=>nil}>] did_not_yield.
Completed in 3ms (View: 0, DB: 1) | 200 OK [http://mathsnotes.math.ntnu.no/mathsnotes/show/
continuous+functions+on+the+interval]

In other words, the cached version is there.

(Edit: “A load of content” is a substantial amount.)

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: itex2MML – Topic: Bugs

Once again: thank you very much!

 
posted 12 years ago
distler 123 posts

Forum: Instiki – Topic: Bugs

I’m not so sure I understand.

  1. I created a page, “Foo”.
  2. I edited the page, “Foo”, and changed the name to “Bar”.
  3. I removed the [[!redirects Foo]] directive, and saved the page.

All instances of “Foo” were successfully removed from the Cache.

What am I missing?

 
posted 12 years ago
admin 63 posts

edited 12 years ago

Forum: itex2MML – Topic: Bugs

It’s a matter of the precedence rules that you expect not being respected by itex2MML

 \lim_{n\to 0}

is set with an <munder>. But, when you type

\displaystyle \lim_{n\to 0}

the precedence of the ”_” is not treated as being higher. The above is treated as equivalent to

{ \displaystyle \lim }_{n\to 0}

which is set with an <msub>. Putting in the grouping explicitly:

\displaystyle { \lim_{n\to 0} }

gives you what you were expecting.

I think this is confusing. Probably, you were expecting \displaystyle to behave more like \color{red} does (compare the definitions of COLOR and of DISPLAY, respectively, in itex2MML.y).

Update:

Let’s see: lim n01n=0

lim n01n=0\textstyle \lim_{n\to 0} \frac{1}{n} = 0

Yup. itex2MML 1.4.8 works as you’d expect.

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Bugs

Talking about cache bugs (nlab thread), I think I just came up against another incarnation of The Dreaded Cache Bug of Bexhill on Sea. I was reorganising pages on my course wiki. I had a page that used to be a single page and now I wanted to split it into several. The stuff on that page was to go on one of the sub-pages, so I renamed that page. But I wanted to use the original page name as the main page. So I removed the automatically inserted redirect. Then I saved the page. The original page was still in the cache. As I wanted to create that page anyway, I manually entered the “new/page name” URL and that worked (“edit/page name” did not).

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: itex2MML – Topic: Feature Requests

Here’s an anti-feature request. itex2MML should never implement \newcommand (or any of its variants). Here’s my reasoning:

  1. If done properly, it leaves one open to the \newcommand{\a}{\a}\a bug. If that isn’t allowed, then it won’t be close to LaTeX’s \newcommand and people will get trapped by the difference.

  2. It would make it harder to truly collaborate. Every page with more than one editor is going to require reading the preamble just to find out what the local conventions are and that’s going to make it harder to edit something that someone else started.

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: itex2MML – Topic: Bugs

(Repost from the other discussion as this looks bug-like to me.)

Okay, let’s try this here. Compare and contrast:

How it ought to look:

lim n01n=0\lim_{n\to 0} \frac{1}{n} = 0

With a \displaystyle at the start. In LaTeX, this is to ensure that the subscript to \lim is underset.

lim n01n=0\displaystyle \lim_{n\to 0} \frac{1}{n} = 0

Now with a bit of grouping to help.

lim n01n=0\displaystyle { \lim_{n\to 0} \frac{1}{n} = 0 }

Somehow, the <mstyle displaystyle="true"> is getting inside the \lim processing, turning the <munder> in to a <msub>.

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: nlab

No, no! Thank you. Let’s see if this makes Urs a little happier!

 
posted 12 years ago
distler 123 posts

Forum: Instiki – Topic: nlab

Given the number of links that Urs has on some of the nLab pages…

It’s the number of inbound links that matters, but yeah.

If the page name doesn’t change, surely then you don’t have to expire any of the pages that refer to it?

You do, for a newly-created page… but not, I agree, for a revision of an existing page. I was, somewhat crudely, not distinguishing between those cases. It occurs to me that I can use an after_create hook to distinguish between those cases.

Thanks.

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: nlab

I want it all (hey-yeah)
I want it all (hey-yeah)
I want it all
And I want it now!

Given the number of links that Urs has on some of the nLab pages then I think this might well be a case for optimisation. If the page name doesn’t change, surely then you don’t have to expire any of the pages that refer to it? So it’s not a “don’t have to expire twice”, it’s a “don’t have to expire once”, isn’t it? Or am I missing something.

 
posted 12 years ago
distler 123 posts

Forum: Instiki – Topic: nlab

It seems to be the list and recently_revised ones that get expired several times in a row.

That would be a consequence of

  1. When a page is saved, expire all pages that reference that page.
  2. When you expire a page, also expire the corresponding “index pages’ (list, recently-revised, atom feeds).

The first is further-complicated by the facility for renaming pages. That means we need to expire all the pages that refer to the old page and all the pages that refer to the new page.

I guess that could be optimized better for the case where the page doesn’t change names, as we don’t have to expire the same pages twice. I think the current procedure was motivated by complaints (from y’all) that, in some circumstances, pages were not being expired when they should.

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: nlab

On occasion an expiration takes longer than 0.2ms, and when the number is in the thousands then the likelihood of that happening increases considerably, so 10 5 is an overestimate. The largest number that I see in my slightly refined test is about 6000. That takes about 3s normally. In this log run, I had one taking 7s with 1400 expirations.

What are the rules for which pages need fragments expiring when a page is saved? I’m getting a heck of a lot of expired fragments in the logs. Looking a little further then the above figures are underestimates because they don’t take into account the fact that the logs might be split over several files, or be separated by the logs for other requests.

I have one log file consisting of 16876 lines. 15581 of them are ‘Expired fragment’s. There appear to be quite a lot of duplicates as well: In that lot, then views/nlab/list/people gets expired 28 times in a row. It seems to be the list and recently_revised ones that get expired several times in a row.

 
posted 12 years ago
distler 123 posts

edited 12 years ago

Forum: Instiki – Topic: nlab

On my machine, each Expired fragment takes 0.1-0.2 ms. So to get 10-20 s, you’re talking about expiring ~10 5 fragments?!

Wow! That’s impressive.

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: nlab

Okay, so I just did a crude time count. I do have some lists totalling in the order of seconds. I get one at 20s, three at 10s, and about 30 over 1s. (Usual caveats that I can’t tell that all of these are from the same request. They occur concurrently in the logs.)

 
posted 12 years ago
Andrew Stacey 118 posts

edited 12 years ago

Forum: Instiki – Topic: Bugs

Just saw the following in the logs:

ActionView::TemplateError (can't convert nil into String) on line #25 of app/views/wiki/atom.rxml:
22:       else
23:         xml.content('type' => 'xhtml', 'xml:base' => url_for(:only_path => false, :web => @web_name,
                       :action => @link_action, :id => page.name) ) do
24:           xml.div('xmlns' => 'http://www.w3.org/1999/xhtml' ) do
25:             |x| x << rendered_content(page)
26:           end
27:         end
28:       end
 
posted 12 years ago
admin 63 posts

Forum: Instiki – Topic: nlab

The “Expired fragment” log-entries all have times (in ms) attached to them, so you would be in a better position than I to tell how long they took to execute.

But, yes, when you ask for new features (like source views for every revision), that means more pages to expire, when an edited page is saved.

 
posted 12 years ago
Andrew Stacey 118 posts

edited 12 years ago

Forum: Instiki – Topic: nlab

Urs is complaining about slow times again …

Looking at the logs, I see a heck of a log of “Expired fragment”s. Do these add to a page’s rendering time? Or does the cache sweeper act non-synchronously (or whatever it’s called)?

For example, in the logs I see 815 lines saying “Expired fragment:” and the request that it seems to be a part of (can’t be totally sure due to several processes running simultaneously) takes about 6s to render. A more systematic search of the logs shows it’s not guaranteed, but often the case that the following request is slow - and the times when it isn’t could be due to it being a parallel process (would need a more sophisticated search).

 
posted 12 years ago
distler 123 posts

Forum: Instiki – Topic: Bugs

I’m a little baffled. It should work. Sometimes it does (saving the file triggers the cache sweeper); sometimes it doesn’t. I can’t see what the difference is.

Will have to investigate further …

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Bugs

I’m on the latest version (758) on my course wiki and this still didn’t work (I thought that it did work just recently, though, did you undo something?). I uploaded a few files, then reloaded the page, and it had the greyed-out-with-question-mark look again.

 
posted 12 years ago
Andrew Stacey 118 posts

Forum: Heterotic Beast – Topic: Bugs

This place just remembered who I am. So that seems to be working now.