mu.nu - It's mackerel stewed in chocolate!
July 14, 2006
Has it been a month already? (Checks.) Yes.
I've just finished converting Minx from the proof-of-concept CGI version to the production-ready CherryPy version. I was kind of ducking this issue, because it required me to make a couple of hundred changes to the code (mostly small changes, but lots of them), and I had to make them all at once. I like to work on an incremental change/test cycle, and this was the opposite of that. So I ended up spending two days messing around and not achieving anything useful, one day working out how to make it work, one day making the changes, and then a solid day debugging. But it works! Yay! (Uh, mostly. I'm having a little difficulty getting it to co-operate with out main Apache installation, which is why Minx is currently sitting on port 81.) Other things I've been working on are comment registration, the caching system, and double-dynamic templates. Comment Registration With a community like munu, and even more so with the new site, this is the only way to go. A single login will work across all the munu blogs. We'll have to work out how banning will work; the new site will have a sophisticated dickhead-filtering system, but I haven't even started on that yet. There will be cool toys for registered users; I'll start working on those next week. Caching Minx is already fast enough for munu. We serve something like 100 to 200 pages per minute; Minx can do up to 1500 (if they're complicated pages with inline comments, more for simpler pages). But if you get Instalanched/Slashdotted/Digged/whatever, you don't want the server grinding to a halt. The caching system keeps a copy of pages generated. The first version of caching just saved the copy and served it up again if the page was requested again in the next five minutes. The new improved version actually tracks if new posts or comments are made, and rebuilds the page as needed. With caching, Minx could potentially serve 15,000 pages per minute on the munu servers. Though at that rate, we'd run out of bandwidth pretty fast. Double-Dynamic Templates! The problem with caching is that there are some things that you want to change depending on who is looking at the page. If you have a welcome message, like "Hello Pixy Misa, welcome to Munuviana!", you really don't want that to show for everyone who looks at the page for the next five minutes. The solution to that is Minx's Double-Dynamic Templates. Actually, they're sort of triple-dynamic... Here's how Minx generates a page: First of all, it finds out what blog you are looking at. That ?blog=14 bit is what tells it right now; I'll be fixing that up so that it works it out from the domain name. Then it goes to the database and finds the Page template for that blog. If there isn't one, it fetches the default Page template, which lives on blog number 1. The Page template has instructions like [posts:here] which says, well, put the default number of posts (currently 20) at this place in the page. For the posts it looks up the Post template; you can specify an alternate template, or you can use the generic [posts] ... [/posts] structure and put all the details in the main Page template. For each post, and similarly for each comment, Minx can apply a series of filters to the text. This includes things like smilies, macros, bbcode, HTML sanitising, Textile, WikiText, smartquotes, and so on. Once the text from the post or comment is mangled to your satisfaction, it gets slotted into its place in the template, specified by [post.text] or [comment.text]. Finally, after pulling up all the posts and comments and other details, Minx puts together the complete page. It saves that page in the cache for posterity. And then it processes it again, for a second set of tags. Right now the only one that works is the performance stats block at the bottom of the page. You can tell Minx where (or if) to place the stats blog using the [magic.stats] tag, but that really only replaces that tag with a [final.stats] tag. And that tag gets processed even if the page is read from the cache, in a second template pass. That's how it can say:Processing 0.08 seconds.and then, when the exact same page is reloaded, come back with:
45 queries taking 0.06 seconds, 141 records returned.
Page size 86 kb.
Powered by Minx/MT 0.6.1.0a.
Retrieved from cache, processing time 0.0 seconds.This gives Minx the flexibility to do, well, pretty much anything. The reason I say that it's sort of triple-dynamic is that bbcode and macros both hvae the ability to process template tags right into your posts. I still haven't decided whether that's a good thing... But it does mean that I can do this:
Page size 86 kb.
Powered by Minx/MT 0.6.1.0a.
Next up: The interactive stuff. Comment editing (one of the benefits of user registration). Um, the user registration itself. Posting. Private messages. Searches. And then, the retromingent spam filter! Update: Tee hee hee!Processing 0.01, elapsed 0.0302 seconds.
22 queries taking 0.0227 seconds, 49 records returned.
Page size 32 kb.
Powered by Minx 0.8 beta.
Posted by: Pixy Misa at 01:57 AM | Comments (42) | Add Comment | Trackbacks (Suck)
Posted by: David Boxenhorn @ at July 14, 2006 02:47 PM
Posted by: David Boxenhorn @ at July 14, 2006 02:48 PM
You want to let people fix typos, while preventing people acting in bad faith going back and changing their words.
Posted by: Pixy Misa @ at July 14, 2006 06:57 PM
Posted by: janice @ at February 02, 2011 11:30 AM
Louis Vuitton Outlet,Louis Vuitton online,Cheap Louis Vuitton bags,Louis Vuitton Shop,Louis Vuitton sale
¡ñ
Chanel outlet store,Cheap Chanel bags,Chanel online,Chanel bags,Chanel Shop,Chanel sale
¡ñ
Gucci outlet store,Cheap Gucci bags,Gucci handbags,Gucci Shop,Gucci bags sale,Gucci outlet online
¡ñ
Chanel Outlet store,Chanel bags,chanel bags online,
¡ñHerve Leger's exterior and sedate style will finish the warm spring and continue to play an important role in this hot summer. Concise, straight and not drab give a person the feeling of nobility. Summer can be perfect.To provide you with the following site:
herve leger outlet,herve leger on sale,herve leger dress,herve leger dress sale.
Posted by: herve leger on sale @ at April 20, 2011 03:16 PM
Posted by: ray ban @ at April 21, 2011 03:51 AM
Statement necklaces, with no pandora canada shortage of charms or chain links pandora jewelry , are huge go-to pieces. Similarly pandora store , big cuffs in addition to large pandora charms, eye-catching tropical drink rings pandora charm are developing, the same as pandora beads big earrings, particularly the chandelier pandora bead look. Use Metal: Metal pieces cheap pandora charms are super big and the cheap buy pandora charms air max may be used in cheap pandora charm a number of ways.You can unite pandora charms 2011} by purchasing the seasons chunky pandora bracelets charms coins. Whether youre looking for pandora charms canada the necklace potentially a belt, pandora beads canada using steel could be easy technique silver pandora beads to purchase trendy piece which pandora beads 2011 can be worn with many different outfits.
Posted by: pandora canada @ at May 05, 2011 05:07 AM
Posted by: louboutin @ at May 13, 2011 01:53 PM
discount louboutin
Christian Louboutin Boots
cheap christian louboutin
cheap christian louboutin shoes
cheap louboutin
christian louboutin sandals sale
christian louboutin discount
discount christian louboutin
Christian Louboutin
Christian Louboutin Sandals
Posted by: louboutin @ at May 13, 2011 01:57 PM
louboutin discount
Christian Louboutin
Louboutin outlets
louboutin cheap
christian louboutin shoes on sale
Christian Louboutin
Louboutin Slingbacks
Posted by: louboutin @ at May 13, 2011 01:59 PM
Posted by: louboutin @ at May 13, 2011 02:03 PM
the best christian louboutin boutique the best ever exist for people!
Posted by: Wholesale blog @ at May 20, 2011 03:00 AM
Posted by: Wholesale blog @ at May 20, 2011 03:23 AM
Posted by: ray ban @ at June 03, 2011 06:30 AM
Normal
0
7.8 °õ
0
2
false
false
false
MicrosoftInternetExplorer4
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:ÆÕͨ±í¸ñ;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
Many years in bbs, in network, in my whole
life, i thought there was no more things can move me; never thought to come in
sight of such ingenious and incomparable thing like this. Floor lord, it is you
that let me comprehend there are skies beyond our skies. Thank you! www.nikeshoeslocker.com
Posted by: cheap nike shoes @ at June 04, 2011 02:12 AM
Posted by: hermes birkin @ at June 08, 2011 02:54 PM
Posted by: longchamp outet @ at June 23, 2011 07:42 AM
Posted by: thomas sabo wholesalers @ at June 23, 2011 09:07 AM
http://mohawk-valley.cybervillage.com/
http://www.travelpod.co.uk/dashboard/
http://www.us.splinder.com/myblog/
http://annysi.blog.com/
http://www.blogs.amlaan.com/
http://wenxiaoxie.blog.com/
http://www.classprofile.com/
http://www.bbhighway.com/
http://www.travelblog.org/
http://jiayoutui.livejournal.com/
http://www.podomatic.com/publish/
http://xiexiaowen.wordpress.com/
http://community.atom.com/
http://www.free-blog-site.com/
Posted by: sunny @ at June 25, 2011 04:23 AM
Posted by: mulberry alexa @ at June 28, 2011 04:51 AM
Posted by: faxian @ at June 28, 2011 09:11 AM
that fit rightly and are great in any kind of weather or for all
seasons.
Posted by: Supra Shoes @ at July 02, 2011 03:28 AM
Posted by: franklinew @ at July 04, 2011 07:30 AM
Normal
0
7.8 °õ
0
2
false
false
false
MicrosoftInternetExplorer4
st1\:*{behavior:url(#ieooui) }
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:ÆÕͨ±í¸ñ;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
This beautifully designed white designer handbags was conceived and
crafted in Italy.
Very charming and stylish for any occasion.
There are a limited number of pieces available for this wholesale handbags, so don't lose
your chance to own one of the most sought-after cheap designer handbags to your
personal collection. wholesale
designer handbags new with tags, 93%-cotton, 7%-elastane¡£Welcome to our discount designer handbags store. Have
a good day.cheap handbags for you
!
Posted by: cheap hanbdbags @ at July 07, 2011 06:34 AM
am sure that this post will be very much helpful for people.
usbonlinegroup
Thank You p90x workout online cheap sale
Posted by: p90x workout @ at July 11, 2011 02:48 AM
ÏÑÏÔÉ ÚÑÇÞíÉ
ÏÑÏÔÉ
ÌÇÊ
ÔÇÊ ÇáÚÑÇÞ
ÔÇÊ ÚÑÇÞí
ÔÇÊ ÚÑÇÞí
ÌÇÊ ÚÑÇÞí
ÌÇÊ ÇáÚÑÇÞ
ÌÇÊ ÚÑÇÞí
ÏÑÏÔå ÚÑÇÞíÉ
ÏÑÏÔå ÚÑÇÞíå
ÌÇÊ ÚÑÇÞí
ãæÓæÚå ÇáÚÑÇÞ
ãæÓæÚÉ ÔåÑÒÇÏ
ÏÑÏÔÉ ÇáÚÑÇÞ
ÏÑÏÔÉ ÚÑÇÞíå
ÏÑÏÔå ÚÑÇÞíå
ßíãÒÑ
ÞíãÒÑ
gamezer
ÏæÑå ÇÍÊÑÇÝ ÇÎÊÑÇÞ ÇáãæÇÞÚ æÇáãäÊÏíÇÊ
ÏæÑå ÇÍÊÑÇÝ ÇÎÊÑÇÞ ÇáãæÇÞÚ æÇáãäÊÏíÇÊ
ÈÑÇãÌ åßÑ
ÈÑÇãÌ ÇÎÊÑÇÞ
ÇÈÑÇÌ
ÏÑÏÔÉ ÇáÚÑÇÞ
ÏÑÏÔå ÚÑÇÞíå
ÏÑÏÔÉ ÚÑÇÞíÉ
ÏÑÏÔÉ ÇáÚÑÇÞ
ÏÑÏÔÉ ÚÑÇÞíÉ 100
ÏÑÏÔÉ ÚÑÇÞíÉ ÑæãÇäÓíÉ
ÏÑÏÔÉ ÚÑÇÞíå
ÚÑÇÞ
ÚÑÇÞíÉ
Ïáíá ÇáãæÇÞÚ ÇáÚÑÇÞíÉ
IraqI Directory
Iraqi CHat
ÚÑÇÞ ÇÈ
ÚÑÇÞ ÇÈ
ÚÑÇÞ ÇÈ
ãæÓæÚå ÔåÑÒÇÏ
ãÑßÒ ÊÍãíá ÕæÑ ÇáÚÑÇÞ
ÝÏíæ
ÇÛÇäí ÚÑÇÞíÉ
ÇáÚÇÈ
ÇáÚÇÈ ÝáÇÔ
ÏÑÏÔå ÚÑÇÞíÉ
]v]am uvhrdm
äÊÇÆÌ ÇáÓÇÏÓ 2011
ÏÑÏÔå ÚÑÇÞíÉ
ÚÑÇÞäÇ
ÏÑÏÔÉ ÚÑÇÞäÇ
ÔÇÊ ÚÑÇÞäÇ
ÏÑÏÔÉ ÚÑÇÞíÉ ÔÇÊ ÚÑÇÞí
ÏÑÏÔÉ ãÕÑíÉ ÔÇÊ ãÕÑí
ÏÑÏÔÉ ÌÒÇÆÑíÉ ÔÇÊ ÌÒÇÆÑí
ÏÑÏÔÉ ÇÑÏäíÉ ÔÇÊ ÇÑÏäí
ÏÑÏÔÉ ßæíÊíÉ ÔÇÊ ßæíÊí
ÏÑÏÔÉ áíÈíÉ ÔÇÊ áíÈí
ÏÑÏÔÉ ãÛÑÈíÉ ÔÇÊ ãÛÑÈí
ÏÑÏÔÉ ÚãÇäíÉ ÔÇÊ ÚãÇäí
ÏÑÏÔÉ ÞØÑíÉ ÔÇÊ ÞØÑí
ÏÑÏÔÉ ÓæÏÇäíÉ
ÏÑÏÔÉ ÓæÑíÉ ÔÇÊ ÓæÑí
ÏÑÏÔÉ ÊæäÓíÉ
ÏÑÏÔÉ ÇãÇÑÇÊíÉ
ÏÑÏÔÉ íãäíÉ ÔÇÊ íãäí
ÏÑÏÔÉ ÓÚæÏíÉ
ÏÑÏÔÉ ÈÍÑíäíÉ ÔÇÊ ÈÍÑíäí
ãæÓæÚÉ ÇáÎáíÌ
ÏÑÏÔÉ ÓÚæÏíÉ
ÔÇÊ ÓÚæÏí
ÏÑÏÔÉ áíÈíÉ
ÔÇÊ áíÈí
ÏÑÏÔÉ ÇãÇÑÇÊíÉ
ÔÇÊ ÇãÇÑÇÊí
ÏÑÏÔÉ ÈÍÑíäíÉ
ÔÇÊ ÈÍÑíäí
ÏÑÏÔÉ ãÕÑíÉ
ÔÇÊ ãÕÑí
ÏÑÏÔÉ ÚãÇäíÉ
ÔÇÊ ÚãÇäí
ÏÑÏÔÉ ÓæÑíÉ
ÔÇÊ ÓæÑí
ÏÑÏÔÉ ÞØÑíÉ
ÔÇÊ ÞØÑí
ÏÑÏÔå ßæíÊíÉ
ÏÑÏÔå ÝáÓØíäíÉ
ÏÑÏÔÉ ÇáäÌÝ
ÔÇÊ ÔåÑÒÇÏ
ÏÑÏÔÉ ÇáÚãÇÑÉ
ÏÑÏÔÉ Ïåæß
ÏÑÏÔå ÇÑÈíá
ÏÑÏÔÉ ÇáÍáÉ
ÏÑÏÔå ÇáÇäÈÇÑ
ÏÑÏÔå ÚÑÇÞäÇ
ÏÑÏÔå ÇáÓãÇæÉ
ÏÑÏÔå ÇáÈÕÑÉ
ÚÑÇÞ3
ÏÑÏÔÉ ÇáÍáÉ
ÏÑÏÔÉ ÚÑÇÞ3
ÏÑÏÔÉ ÓáíãÇäíÉ
ÏÑÏÔÉ ÇáÇäÈÇÑ
ÏÑÏÔÉ ÇáÑãÇÏí
ÏÑÏÔÉ ßÑÈáÇÁ
ÏÑÏÔÉ ÇáäÇÕÑíÉ
ãÑßÒ ÊÍãíá
ÇÓÊÖÇÝÉ ÚÑÇÞíÉ
ÈæÇÈÉ ÇáÚÑÇÞ
ãäÊÏì
Auto-Submitter-Seo By Mr.php ==> ashq7a@att.net
Posted by: ÏÑÏÔÉ ÚÑÇÞíÉ @ at July 11, 2011 10:55 PM
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
pandora uk pandora
uk
oakley sunglasses oakley sunglasses
thomas sabo thomas
sabo
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
nhl jerseys nhl
jerseys
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
Chiffon bridesmaid dresses Chiffon
bridesmaid dresses
Posted by: pandora beads @ at July 12, 2011 07:02 AM
Processing 0.01, elapsed 0.0302 seconds.
22 queries taking 0.0227 seconds, 49 records returned.
Page size 32 kb.
Powered by Minx 0.8 beta.