Share your knowledge at the LQ Wiki.
Go Back > Blogs > Unpopular Positions: One Geek's Take
User Name


A space to ponder, discuss, speculate, disagree, and learn.

Expected topics include:
  • Technology
  • Politics
  • Defense
  • Philosophy
  • Humanism and Transhumanism
  • The Future
Rate this Entry

Oddmuse Musings

Posted 06-09-2013 at 04:17 PM by ttk
Updated 06-09-2013 at 04:36 PM by ttk

After a brief battle with OddMuse spambots, I found 33 regular expressions which seem to block spamming attempts .. for now. I'm glad OddMuse makes it so easy to revert updates and block spam via regular expressions.

Blocking the IP addresses of the spambots can't hurt either. I've got a little over a hundred blocked now (via "reject" rules in routing table).

This weekend I changed some things that bugged me: Instead of putting the name of the page in a huge "<h1>"-tagged search link at the top of the page, I "<h2>"-tagged it, made it not a link, and put the search link at the bottom of the page (with "References" for link text). It looks a lot nicer, imo.

I've also deployed some changes which I'd made last month, to make OddMuse scale better with content. Originally, when a page is created, the page text is saved in a file with the same name as the page, under a subdirectory named after the first letter in the page name. This works okay when there are only a few thousand pages in the wiki, but even XFS starts to balk when hundreds of thousands of files get stuck in the same subdirectory.

I fixed this by creating an extra layer of subdirectories, and naming the subdirectories after the first few bytes of the MD5 hashes of the page names. Thus, instead of "HomePage"'s text getting saved as page/H/, it is getting saved as page/fb/89/ This means there are up to 256 subdirectories under page/, with up to 256 subdirectories in each of those subdirectories, so that the content files are getting spread across up to 65536 subdirectories (instead of just forty or so), as well as the diff files in keep/. This should enable OddMuse to handle a few hundred-millions of pages before things start getting hairy.

Anyway, I deployed the changes, and immediately ran into some bugs which my unit testing failed to catch. Well, that's why it's good to dogfood one's software. Those bugs have been fixed, and things are looking smooth again.

Some other features I want to implement next:
  • an installer script (to auto-populate $WIKIDIR, $DataDir, etc),
  • improve upon the login code,
  • allow page background images,
  • allow "~~~~" to insert name and date, a la MediaWiki,
  • embed the markup help image in the page edit page

Once that's done, I think it should be ready to replace my military tech website and take several gigabytes of new content. The 1990's-style website format just wasn't scaling for all the new content I have to add.

These OddMuse hacks will likely be the first project to migrate to GitHub, but I need a name. DrunkFay perhaps? Will ponder.
Posted in Technology
Views 1205 Comments 0
« Prev     Main     Next »
Total Comments 0




All times are GMT -5. The time now is 04:13 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration