HNHacker News
TopNewBestAskShowJobs

nirs

124 karma · joined February 21, 2007

submissionscomments
nirs··on Best Wiki Software?
MoinMoin is extensible and modular system. You can replace almost any part of the system by installing a plugin. It is the best system for a typical wiki hosted on your server, if you like to extend and customize the system, and you happen to like Python.

A wiki page can use any markup supported by the system parsers. MoinMoin comes with its own markup, rst, plain text and docbook parsers. Parsers for other markups created by the community are in http://moinmoin.wikiwikiweb.de/ParserMarket. You add your own parser that know how to parse the text and how to drive the formatter, which create the html. Parsers are also used for syntax highlighting. Moin comes with cplusplus, CSV, irc, java, pascal and python.

Formatter can create any output you like - the default create html, and the system provides other formatters for xml, docbook and plain text. You can add your own formatter if needed. Any page can be formatted in any exiting format, for example http://moinmoin.wikiwikiweb.de/?action=format&mimetype=t....

To create custom applications, you usually add both action and macro plugins. Macro is a plugin that execute when a page is rendered and return output. Action is a plugin that handle request to urls like /wiki/pagename?action=foo. Most of MoinMoin UI is implemented in terms of actions and marcos, so for example, if you want to have a different RecentChanges - you can simply install a modified RecentChanges macro in your wiki. You can find lot of actions and macros in http://moinmoin.wikiwikiweb.de/ActionMarket and http://moinmoin.wikiwikiweb.de/MacroMarket.

Formatted pages are compiled to Python bytecode, and literally executed when a page is visited. Static macros run when a page is compiled, and their output is compiled into the page. Dynamic macro are executed during page runtime, and are used to provide user, time or namespace dependent data.

MoinMoin let you have acl for entire wiki, evaluated before and after page acl. You can have a default acl applied to pages without acl, or page specific acl. See http://moinmoin.wikiwikiweb.de/HelpOnAccessControlLists. For greater control, you can use your own security policy object, implementing any security scheme you like. See http://moinmoin.wikiwikiweb.de/SecurityPolicy.

MoinMoin UI can be changed by a theme plugin. A theme is responsible for creating the stuff before an after a page or action content. You can provide multiple themes for single wiki, or your own customized theme. MoinMoin uses plain Python as "template" language - you can easily change the behavior by overriding few methods. See http://moinmoin.wikiwikiweb.de/HelpOnThemes. There are many themes created by the community in http://moinmoin.wikiwikiweb.de/ThemeMarket.

MoinMoin support Wiki-RPC 1 and 2 http://www.jspwiki.org/Wiki.jsp?page=WikiRPCInterface2. You can also add xmlrpc plugin to extend the system as you like.

MoinMoin can be deployed on any platform, either using plain CGI (slow), standalone or twisted Python server (e.g. behind Apache), or using FastCGI (recommended) or mod_python (more tricky).

There is a GUI editor - modified FCKEditor, which may be easier for common users, but it has issues.

Search is very powerful, supporting Google style modifiers, booleans and regular expressions. However, search become slow on big wikis. For typical wiki it is just fine. For bigger wikis it is painfully slow. See http://moinmoin.wikiwikiweb.de/HelpOnSearching. There is an experimental index search engine using Lupy. The next version will have a better search using http://www.xapian.org/.

MoinMoin has great Unicode support - anything can be unicode: page content, page names, group names, user names and even passwords. User names can also contain spaces, so users can register with their real name.

MoinMoin has the best Right to Left support. You can define a language and direction for whole wiki, single page, sections within a page, or words within a paragraph. Other systems either does not support this, or have partial support using raw html.

nirs··on Aaron Swartz: Perfectionism (and his new startup, Jottit)
This beta is amusing - while he talk about perfectionism, he is releasing a beta with severe XSS issues.
nirs··on Python 3000 Alpha 1 Released
Nice!

We use similar technic with hpy - you type in Hebrew Python http://nirs.freeshell.org/code/hpy/ , then each line is translated to Python and executed.

How do create more fancy links here?

nirs··on Aaron Swartz: Perfectionism (and his new startup, Jottit)
Looks a lot like infogami, just more broken :-)
nirs··on Please tell us what features you'd like in news.ycombinator
The problem is that each vote change the number of points, so if you happen to be the first down-voter, it will become zero. But if another user up-voted the same item just before you, then your vote change nothing.

I seems that reddit solved this problem by not showing the number of points for new messages.

There could be a "new" status, marked in a special way, which explain why you vote it not showing. After enough users voted, and using the editor vote to change the weight of other votes, move the item to voted status, and show its point count.

nirs··on Please tell us what features you'd like in news.ycombinator
You mean down-voting past 1 points? Why it add bias for future readers?

I also don't see why you need to reward the community. The right to down vote is not different from the right to up vote, and any user should have it. Up vote is simply "I want more of this", and down vote "I want less of this".

The same machinery used for up-votes of bad links can be applied to down-votes of good links, so you can protect the site from general stupidity.

nirs··on Please tell us what features you'd like in news.ycombinator
It is. When you make a mistake, you should be able to fix it, and there is no reason to prevent this.
nirs··on Please tell us what features you'd like in news.ycombinator
10-15 lines would be nice.

nirs··on Please tell us what features you'd like in news.ycombinator
Undo for voting, see reddit implementation.
nirs··on Please tell us what features you'd like in news.ycombinator
Use black text color for author comment text, the current gray is hard to read.
nirs··on Please tell us what features you'd like in news.ycombinator
100% font size for body text, relative size for other text. A user should get his preferred font size set in the browser.
nirs··on Please tell us what features you'd like in news.ycombinator
Vote down for any user, because it more useful to vote down, and for ranking it does not matter how a link count is reached, by voting down or up.
nirs··on [dead]
GreaseMonky does not seems to work with Safari. If the site used 100% font size, everyone would just get their preferred font size.
nirs··on Goodbye, Hacker News. I'm going back to Reddit.
I think it is a great idea that a human editor is involved, and site content being edited. A similar process happen on a good wiki, and I always enjoy when my prose is translated to English behind my back :-)
nirs··on Finally, voting without refresh
The amount of AJAX is indeed very little, actually zero :-)
nirs··on Finally, voting without refresh
There a stupid bug - after you vote, the arrow is hidden, but it will accept clicks :-) So you can continue to upvote many times, and the score text updates. When you refresh, the actual vote is restored.

Tested with Safari 419.3.

nirs··on Lefsetz Letter - Apple/EMI/DRM - "Why the fuck should they cost more?"
So you agree with me - this is a better product :-)
nirs··on Lefsetz Letter - Apple/EMI/DRM - "Why the fuck should they cost more?"
Better product, higher price?
nirs··on [dead]
Just ignore, I was trying the bookmarklet. Seems that there is no delete here.
← PreviousPage 2 of 2