Recent Posts

Subscribe to Recent Posts 339 posts found

posted over 1 year ago
distler 81 posts

Forum: Instiki – Topic: Instiki website

The instiki.org website is a hopeless mess, on many levels. Alas, I don’t control it, so I can’t do much about it (except to send the occasional plaintive email message to Matthias, which he ignores).

Instead, point your browser at my website, which contains both up-to-date information and (as best as I am able to assure) is spam-free.

 
posted over 1 year ago
Francesco Ta... 6 posts

Forum: Instiki – Topic: Instiki website

Hi all, there are several pages on the site http://www.instiki.org/ that need attention:

  • both links in the export page are not working, HTML with “Internal Error An application error occurred while processing your request.” and “No webpage was found for the web address: http://golem.ph.utexas.edu/wiki/instiki/export_markup” for Markup

  • the three sandboxes links (http://instiki.org/textilesandbox/show/HomePage http://instiki.org/markdownsandbox/show/HomePage and http://instiki.org/rdocsandbox/show/HomePage) give an internal error

  • the following page http://instiki.org/show/Textile is nonsense/spam

  • the homepage is spammed too: http://instiki.org/show/HomePage (rev 240)

  • the News in homepage (http://instiki.org/show/HomePage) are not up to date

 
posted almost 2 years ago
user 1 post

Forum: Instiki – Topic: instiki features

hello!

I would like to know if i can use in instiki:

1) WYSIWYG editor like: ckeditor.com or tinymce.com 2) chart, flowchart, etc designer like: http://www.diagram.ly/ or http://diagramo.com/editor/editor.php 3) table designer, with sortable columns, filterable rows and columns, etc 4) treeview organizer like: www.jstree.com 5) ‘mouse over’ events that show popups, etc

thanks!

 
posted almost 2 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Bugs

I just tried on a completely fresh install and found that it happened just as you described: the name used was the old name (and it gets swept twice). That was a sqlite3 database.

I’ve tried to install mysql on my mac to test this there, but get to a crash when I run instiki. Not sure why, seems to be related to the gem not finding my mysql lib files but it’s taken too much of my time already to try to fix it to test further. I can try it on my linux machine later.

However, the evidence certainly suggests that there is a difference between mysql and sqlite3 on this one.

 
posted almost 2 years ago
distler 81 posts

Forum: Instiki – Topic: Bugs

Sorry, I follow exactly the steps you outlined, and it’s adequate+subcategory (and its variants) that get cleared from the cache, not adequate+subcategory+>+history.

The scenario you outline (involving the old name being forgotten before the cache gets swept) is exactly what the before_save action is supposed to avoid. Then the cache gets swept again in an after_save action.

Now, the only thing I can think of is that I tested this under SQLite3, rather than MySQL. Perhaps the driver for the latter does something funky. But that seems unlikely…

 
posted almost 2 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Bugs

I know you don’t believe in the Cache Bug …

I had a page on the nLab which I renamed. Looking at the logs, then I see the save command. It ends with:

 "alter_title"=>"1", "new_name"=>"adequate subcategory > history", "author"=>"Andrew Stacey", "web"=>"nlab", "id"=>"adequate subcategory"}

The next log items are:

24808: 2012-10-18 14:22:26 +0400: Reading page 'adequate subcategory' from web '
nlab'
24808: 2012-10-18 14:22:26 +0400: Page 'adequate subcategory'  found
24808: 2012-10-18 14:22:26 +0400: Checking DNSBL 214.7.76.192.bl.spamcop.net
24808: 2012-10-18 14:22:26 +0400: Checking DNSBL 214.7.76.192.sbl-xbl.spamhaus.org
24808: 2012-10-18 14:22:27 +0400: 192.76.7.214 added to DNSBL passed cache
24808: 2012-10-18 14:22:27 +0400: 192.76.7.214
24808: 2012-10-18 14:22:27 +0400: Reading page 'adequate subcategory' from web 'nlab'
24808: 2012-10-18 14:22:27 +0400: Page 'adequate subcategory'  found
24808: 2012-10-18 14:22:27 +0400: Maruku took 0.148016386 seconds.
24808: 2012-10-18 14:22:27 +0400: Maruku took 0.165203678 seconds.
24808: 2012-10-18 14:22:28 +0400: Expired fragment: views/nlab/show/adequate+subcategory+>+history (0.3ms)

There are then a slew of more expirations, the first ones being adequate+subcategory+>+history. The last ones are also adequate+subcategory+>+history.

I just tried on my course wiki. Here are the steps I took:

  1. Edit a page and change it’s name.
  2. Remove the automatically-inserted redirect.
  3. Save the page.

Result: the expiration sweep does not include the old name and includes the new name twice.

I’m wondering if this could be the culprit: app/controllers/revision_sweeper.rb:

  def before_save(record)
    if record.is_a?(Revision)
      expire_cached_page(record.page.web, record.page.name) 
      expire_cached_revisions(record.page)
    end
  end

I notice that in the save post data then the name is the new name and the id is the old name. Could it be that the record object is populated with the new name before this action takes place? I’m not very good at tracing through ruby code, but if my guesses about what happens are right then the before_save action takes place just before the save action is executed in page.revise. If so, then by this time the name is the new name and the old name has been forgotten: in wiki.rb then the call is page.revise(content, new_name, revised_at, author, renderer) and very early on in the revise method then I see self.name = name.

Perhaps the revise should save its name in old_name and then the before_save can use that if it differs from the current name?

 
posted almost 2 years ago
20tsed56 1 post

Forum: Instiki – Topic: Debugging uninterruptible sleep

that is huge data to handle …

 
posted almost 2 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Debugging uninterruptible sleep

Agree completely.

The processes that were handling the list call were entering uninterruptible sleep and were using a large amount of memory - of the order of 300Mb to 500Mb. The system would get bogged down if there were more than one of them, but even one would take a reasonable amount of time to complete.

My suspicion is therefore that it relates to writing the file to disk for caching. So I suspect that there really is a problem with the hardware and that having several processes trying to write the same file was exposing it.

(There was a change in hardware underpinning the VPS recently.)

 
posted almost 2 years ago
distler 81 posts

Forum: Instiki – Topic: Debugging uninterruptible sleep

It looks as though it is the “All Pages” request that is clogging up the works, … at 7000 pages then it’s a bit cumbersome, to say the least,

I have no idea why that would be an issue.

It’s not as if Instiki has to do anything with those 7000 pages, apart from retrieving an alphabetical list of their names (and URLs). If that’s indeed your problem, it would be nice to know why.

 
posted almost 2 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Debugging uninterruptible sleep

I’ve added the timestamps and process ids to the logs and that’s made things a lot clearer. It looks as though it is the “All Pages” request that is clogging up the works, and there appear to be some spiders that don’t respect robots.txt and find “All Pages” fairly early on in their crawl.

You’ve mentioned before the possibility of adding a pageinate routine to “All Pages”. Would that help me, do you think? Or is it easier just to disable it (at 7000 pages then it’s a bit cumbersome, to say the least, so I’ve no compunction at simply disabling it altogether).

Incidentally, I found I’d forgotten that bzr doesn’t set permissions so some stuff in public was unreadable. That might explain why the SVG editor wasn’t working for me as there were a couple of files from that affected.

 
posted almost 2 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Debugging uninterruptible sleep

I strongly doubt that it is due to instiki itself, but it would be nice to isolate exactly what causes the problem. Thanks for the link.

After watching top all day, I think things are going into D state far more than I would expect so I’m going to contact our server provider.

To help in debugging this, I’m going to add the process pid to the logging messages as that’ll make it easier to link what I see in top to what I see in the production.log.

 
posted almost 2 years ago
admin 57 posts

edited almost 2 years ago

Forum: Instiki – Topic: Debugging uninterruptible sleep

Attach gdb to the process and try to figure out where it’s stuck. It would be interesting to me if there was an Instiki-specific reason these processes were getting stuck.

But, so far, there’s no evidence for that.

 
posted almost 2 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Debugging uninterruptible sleep

I’m getting a slew of processes getting into “uninterruptible sleep” and staying there. They sit there, eating CPU and memory, until the system slows down enough that folks complain.

Do you happen to know how to debug these? From what I’ve read, this is likely to be something getting stuck on I/O.

One thing that occurred to me was that all the processes are logging to the same file. Could they get stuck in some sort of queue for that?

(Also from my reading around, it would appear that the root cause of this is more likely to be at the kernel end, and thus an issue with drivers and hardware, than with instiki. Still, I’d like to know what it is that is triggering the sleep.)

 
posted almost 2 years ago
distler 81 posts

Forum: Heterotic Beast – Topic: MathJax 2.0

The latest commits, to Heterotic Beast, upgrade it to MathJax 2.0 (from 1.1). This loads (a little) faster, and also sports a SVG rendering option (selectable from the context menu).

 
posted almost 2 years ago
distler 81 posts

Forum: Instiki – Topic: MathJax 2.0

The latest commits, to Instiki, upgrade it to MathJax 2.0 (from 1.1). This loads (a little) faster, and also sports a SVG rendering option (selectable from the context menu).

 
posted almost 2 years ago
admin 57 posts

Forum: Instiki – Topic: S5 vertical alignment

I don’t know of a totally robust way to do it. My CSS-fu is weak.

But

Test Vertical Alignment
------------------------

This is centered on the slide
{: style="margin-top:25%;text-align:center;}

is a pretty good approximation to what you want.

 
posted almost 2 years ago
admin 57 posts

edited almost 2 years ago

Forum: Instiki – Topic: Bugs

And another one, this time in how maruku parses its meta-data.

This was actually only a problem for IALs attached to <li> elements. Fixed in the latest Maruku.

(This commit gives the complete solution. Its predecessor was only a partial fix.)

(N.b.: Maruku is now unvendored, so a

ruby bundle update

will pull in the latest version from Github.)

I’m unable to run the inbuilt SVG editor on my computer (running Mac OS X, Lion).

Works fine for me under Lion. (I haven’t updated to Mountain Lion, so I can’t make any promises about that. But I’d be surprised if there were any OS dependence of this; it ought to be a function of the Javascript engine in your browser. Or perhaps I misunderstood: were you running the server on Lion, or just the client?)

 
posted 2 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Bugs

And another one, this time in how maruku parses its meta-data. It would seem that not leaving a space at the end of {: #identifier} means that the } gets into the identifier.

Presumably this is the case here as well:

  • What’s the id of this element?

I get:

<ul>
<li id='list}'>What’s the <code>id</code> of this element?</li>
</ul>

in the source.

 
posted 2 years ago
Andrew Stacey 118 posts

Forum: Instiki – Topic: Bugs

I’m unable to run the inbuilt SVG editor on my computer (running Mac OS X, Lion). The window launches but none of the icons are present and although the buttons highlight when I hover over them, nothing happens when I click on one.

This is with Firefox, Chrome, and Safari. Not sure what additional information you would like on this.

 
posted 2 years ago
cameron smith 1 post

Forum: Instiki – Topic: S5 vertical alignment

I apologize if I missed it somewhere else, but how do you specify that the content on each slide in an S5 slide show should be vertically centered?

 
posted 2 years ago
jl345 6 posts

Forum: Instiki – Topic: Bugs

I tried a little test case…

$ cat subtest.rb                                                                                                                                                               
#!/usr/bin/env ruby
puts '/some/other/string'.gsub( '/some/other' + File::SEPARATOR, '' )
puts '/some/other/string'.gsub( Regexp.escape( '/some/other' + File::SEPARATOR), '' )
puts '/some/other/string'.gsub( Regexp.new( Regexp.escape( '/some/other' + File::SEPARATOR ) ), '' )
$ ./subtest.rb                                                                                                                                                                 
string
string
string
$ ruby --version
ruby 1.8.7 (2012-06-29 patchlevel 370) [x86_64-openbsd]

I believe that my first and third examples are both correct and equivalent, going by official docs. The second example works, too, in this case, because a forward slash is apparently not one of the characters escaped by Regexp.escape(), which is curious, because now I am unable to reproduce the error that occurred in the rake task before I altered the code. So I’m more and more confused.

 
posted 2 years ago
distler 81 posts

Forum: Instiki – Topic: Bugs

Hmmm. Both look wrong. What I think we want is:

table_name = f.gsub( Regexp.new(Regexp.escape(Rails.root.join('dump','fixtures').to_s + File::SEPARATOR)), '').gsub('.yml', '')

The point being that the output of Regexp.escape is a (properly-escaped) string which is suitable as input to Regexp.new.

 
posted 2 years ago
jl345 6 posts

edited 2 years ago

Forum: Instiki – Topic: Bugs

--- instiki-0.19.4/lib/tasks/fixtures.rake.orig Sat Jun 30 19:40:02 2012
+++ instiki-0.19.4/lib/tasks/fixtures.rake      Wed Jul 18 01:33:06 2012
@@ -74,7 +74,7 @@
     task :import_all => :environment do
       ActiveRecord::Base.establish_connection
       Dir.glob(Rails.root.join('dump','fixtures',"*.yml")).each do |f|
-        table_name = f.gsub( Regexp.escape(Rails.root.join('dump','fixtures').to_s + File::SEPARATOR), '').gsub('.yml', '')
+        table_name = f.gsub( Rails.root.join('dump','fixtures').to_s + File::Separator, '').gsub('.yml', '')
          puts "Importing #{table_name}"
         import_table_fixture(table_name)
       end

That’s what I have anyways, but be careful, because somehow I got File::SEPARATOR in the wrong case in my bumbling around. I guess I got lucky: File::Separator is defined too, so no harm done.

 
posted 2 years ago
distler 81 posts

Forum: Instiki – Topic: Bugs

If you’ve found a mistake in the rake task, please send me a patch.

 
posted 2 years ago
jl345 6 posts

Forum: Instiki – Topic: Bugs

Ahh!

I figured out what went wrong with my PostgresQL import. The tables were just fine in fact; just the last sequence numbers for all the primary keys had all gotten set to one for some reason. It worked fine once I got the sequence numbers adjusted to the last row in each table, so now my installation of Instiki appears to be working great on PostgreSQL.

Again, Instiki is an awesome wiki, and I’m already using it to take math notes and such for stuff I have to learn.

 
posted 2 years ago
jl345 6 posts

Forum: Instiki – Topic: Bugs

Hi!

I was experimenting around, trying to migrate this wiki to PostgreSQL 9.1.4, following your instructions, and I think there was a little bug in instiki-0.19.4/lib/tasks/fixtures.rake, line 77, where it looks like a string was escaped for a regular expression, but then it was being matched as a literal string with all the extra backslashes. After I think I more or less fixed this, I was able to run

$ env RAILS_ENV=production bundle exec rake db:migrate --trace

$ env RAILS_ENV=production bundle exec rake db:fixtures:import_all --trace

Now my database has all the tables in it, populated with rows, and I can view the pages, but when I try to edit a page, there is an error, because it looks like the primary keys were not set up properly on these tables, so I’m still trying to figure this out. Any ideas? (I think I need to make sure there is utf8 support, too…)

Thanks!

 
posted 2 years ago
jl345 6 posts

edited almost 2 years ago

Forum: itex2MML – Topic: weird math fonts

I didn’t mean to do that, but you like to make the forum better and better, so all’s well that ends well, I hope…

With the STIX fonts, those letters do all look the same, in the curlier script. *** However, I think part of the problem is that the calligraphic BEFHIKLM live in a totally different area of Unicode than the other calligraphic letters. Your ”ℬ” at U+212C certainly doesn’t immediately follow the ”𝒜” at U+1D49C. The very next symbol after ”𝒜” is ”𝒝” (undefined), followed by ”𝒞” and ”𝒟”, because the Unicrats who designed these things in their infinite wisdom ensured that only a portion of the “calligraphic” alphabet was put in a different codepage on an alternate plane of existence, where some fonts may or may not even have glyphs, and the glyph may very well look different, because there is absolutely no assurance in Unicode of any consistency in the way fonts are going to be applied across such vastly different planes of the code space. Why isn’t it possible to put real ASCII letters in a calligraphic font? Seems like it should work but it doesn’t, in my browser anyways:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"
"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Probability Space</title></head>
<body>
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <mfenced>
    <mi>Ω</mi>
    <mi mathvariant='script'>F</mi>
    <mi mathvariant='double-struck'>P</mi>
  </mfenced>
</math>
</body>
</html>`
 
posted 2 years ago
distler 81 posts

Forum: Heterotic Beast – Topic: MySQL Gotcha

If you’re going to use Heterotic Beast in production, you need to be running MySQL 5.5.3 or later, and follow the advice in this blog post.

Otherwise, the lack of support for Unicode will come back to bite you.

 
posted 2 years ago
distler 81 posts

Forum: itex2MML – Topic: weird math fonts

P.S.: Congratulations on figuring out how to make this page ill-formed! It took a bit of work to fix the issue.

 
posted 2 years ago
admin 57 posts

edited 2 years ago

Forum: itex2MML – Topic: weird math fonts

Perhaps you need to install the STIX fonts (see here for some slightly out-of-date, but still useful instructions).

I see those calligraphic letters all set in the same font. And, moreover and are set upright (as, for that matter, are 𝔸 and 𝕓).

Alas, what you see is strongly-dependent on what fonts you have installed.

In more detail:

On my system, ℬ (U+212C) is available in STIXGeneral, Apple Symbols and Arial Unicode MS. But 𝒜 (U+1D49C) is only available in STIXGeneral. In current versions of Firefox, I believe the default value of font.mathfont-family is

MathJax_Main, STIXNonUnicode, STIXSizeOneSym, STIXSize1, STIXGeneral, Asana Math, Symbol,
   DejaVu Sans, Cambria Math

so the version in STIXGeneral is what I see.