PHP Project Updates

So it's one of those coding binges again! Aren't you all excited? What's that? *crickets* Oh.

Well if anyone is at all interested, I've spent some time doing some updates and cleanup to my PHP projects. If you don't know what they are, that would be QSFP, Quicksilver Forums, PDNS-Admin and Sandbox. Although Sandbox hasn't had much touched this time around.

Nothing overly major in the end, more minor cleanup really. Although the big thing is that QSFP now enjoys Akismet protection on a level roughly equal to that of Sandbox. Before this last week, QSFP was only able to deal with basic spam filtering of user registrations and abuse of the email form. However the bots got around that, and I discovered a number of them hiding amongst the regular users of my sites with signatures filled with spam links. So that was the first thing to hit. Signature edits are now verified through Akismet.

As if on cue, a bot adjusted its tactics the next day and spammed the site with an actual forum spam post. Nobody saw it of course because the bot was stupid enough to do it while I was around. So I spent the rest of that day and part of the next implementing forum post protection and a moderator's panel to deal with any flagged posts. Bots, your days of spamming QSFP are numbered. You may slip the registrations, but you aren't likely to slip the signature edits or the forum posts. Akismet is not that dumb.

Quicksilver Forums got a much needed update to bring it in line with QSFP's advances. This also included adding the Akismet protection, which for QSF had never existed before. Since I still use that software on the site I figured it was about time to deal the death blow to the spammers who had been lying in wait. Plus I figured it was time to get its default skin up to code and deal with the insane number of other issues that were left pending, like the bbcode parser that PHP has been filling my logs with complaints about for months.

PDNS-Admin hasn't been left out either and got a couple of user suggested ideas added as well as some minor skin cleanup and the resolution of the only reported bug. Since it doesn't have posts, signatures, or even a way for users to register, it doesn't need Akismet watching over it.

Sandbox picked up a couple of minor bugfixes, the only public facing one being the bbcode size tag that was totally screwed up. Big news for Sandbox is that I've moved the SVN repository over to Google Code. At least that way if what few people use it (there are a handful, mostly defunct) they can report issues and stuff. It had to be done either way, bots were choking the life out of Apache by insisting on deep crawling the old websvn access locally.

All of these are probably going to get a few more nudges before the urge dies down and I resume getting Faregyl ready for it's 2.0 launch.

If anyone knows anything about javascript btw, it's ridiculously annoying to not have the textbox return to the cursor position once a selection is wrapped and tagged. Your name in lights if you can help out here!

The gory details of everything that's been done:

QSFP Repository
Quicksilver Forums Repository
PDNS-Administrator Repository
Sandbox Repository
"It is pointless to resist, my son." -- Darth Vader
"Resistance is futile." -- The Borg
"Mother's coming for me in the dragon ships. I don't like these itchy clothes, but I have to wear them or it frightens the fish." -- Thurindil

Well. I guess that's that then.

« End of Days?
KFC is Awesome »

Posted on Jan 13, 2011 8:25 pm by Samson in: | 60 comment(s) [Closed]
Sounds like great stuff to me! Faregyl can wait a little longer without the residents getting violent, I'm sure. ;)

Now if I could just figure out how to recover that damned hard drive long enough to salvage a nice full backup from it, I think it might even finally be time to catch up on those QSFP and Sandbox updates. :lol:

I had figured that after the disaster of Oct 8, 2007 that anyone aware of what happened here would not doom themselves to repeat it. :P

Backups people, have them, and make sure you know where they are! I've been religious about keeping them almost since that fateful day. Databases backed up weekly, my whole collection of sites once a month. Files stashed on my drive are burned off to DVD when there's enough of them to fill one up.

It never hurts to have more than one storage option too, which is in part why I wanted those repositories on someone else's server. Just in case. Between local storage, my servers, and Google Code, it should theoretically be impossible to lose what's been accomplished. Even if I end up having to close things down here, the projects themselves will still have homes.

My Oblivion stuff is way larger than DVDs can hold though, so that all gets to sit on external USB drives when I start feeling nervous about how long it's been since a backup.

Yeah, I know, I really should've learned.. and I thought I was keeping backups better, but my biggest problem is that, as you suggest, I was waiting til I had enough of a backup to fill a DVD, which only happens about annually for me (or less often) usually, so my last back-up was a year old, unfortunately, it was also partially overwritten. :facepalm:

I guess I need to go back to CD, instead of DVD, for backups once I do get things restored or mostly rebuilt from the older backup if I have to go that route (but that route is closer to three years old). :sigh:

Maybe I should look into google code as a backup?

Google Code works well if you have something that can live as a repository. I'm not sure how they feel about non-open source projects though, and you'd have no way to bar the public from seeing what you put there.

I'm probably going to move the AFKMud repository up there soon as well and I floated the idea once before of putting the SmaugFUSS stuff up there too but Kayle didn't quite go for it.

Oh, Google Code only works for fully public accessible open source projects? Nope, that wouldn't work then. :sigh:

So that's 3 down, one to go. Sandbox, QSFP, and QSF have all been updated and new versions released. Still working on PDNS-Admin, it's being stubborn about the upgrade script.

If the mood strikes I might just take a whack at a Wordpress->Sanbox converter.

I snagged a copy of Sandbox and QSFP (I was very surprised at how small both of them were), but I can't honestly say I'd have a use for QSF or PDNS personally. :shrug:

Considering talking Dwip into trying out Sandbox instead of Wordpress? ;)

More of a general enticement kind of thing. If one can convert from Wordpress easily, one who uses it is more inclined to take a chance.

Of course, in true MS fashion, the Wordpress database schema looks like a tangled web of obfuscated tables that only loosely relate to each other.

That makes sense.

Yet, somehow, Wordpress still manages to hold pretty much top slot for popularity. Go figure, eh?

I bet Dwip would be thrilled to know he can make a blog post with 4GB of content in it, with a 64KB title. If he so chose. The DB wouldn't crash, but come on, who the hell would do something like that?

You know, I could see someone blowing out a huge post title, but even for that 64k would be insane.. but a 4GB blog post?!? OMG! That'd be a full novel in itself. :facepalm: :stare:

I will agree that it's nice to know you couldn't crash the database even with all that, but.. :shudder: can you really imagine?? :lol:

To give you an idea: Feature-length films average about half a gig, (well actually ~650k), so that would be 8 movies worth of blog-post.

Oh, I've got a pretty good idea just how huge that really is. Back in the '80s, when I was still in school, they used to say that 1k was roughly a full page, type-written, single spaced. Thus 4 gigabytes would be roughly 4,000,000 full, single spaced, type-written pages. That's roughly 353 copies of the entire Wheel of Time series, right? (Given that the page count for that series is book pages rather than full sized typewriter paper, it's probably more like 400+ copies, but that might just be quibbling...) :crazy:

Remember when 64k was considered a "large" file?

Put it another way we can relate to. Giskard and False Accusations clocks in at roughly 25KB according to Windows if I paste the entire contents of the post into an editor and then save it.

How often does anyone see posts that big anywhere? How long would it take to write 4GB worth of text and then paste into a form?

Let's be realistic, PHP won't even give you time enough to do that. The script execution timer would expire. The OS might not even give you enough allocated memory to hold it. Realistically you'd probably have died before ever coming close to attempting it. So WTF is MySQL doing giving people text types large enough to hold the world?

Dude, I still remember when it was all but unheard of for a full application to take more than 2-3 floppy diskettes with 360k capacity (and something big enough to take 3 such disks would be huge like Peachtree Accounting, though most common other applications like MultiMate, VisiCalc, and WordStar only took a single DD 5.25" diskette each.) and data wasn't stored on a hard drive but on 110k floppy disks most of the time. (Ok, now I feel old again.)

That's for just the initial post? I think the whole page as it currently sits with all 505 comments and all the images and such from the rest of the page weighs in at just under 1.5 MB according to Opera.

You don't, who'd type that much for a blog? Let's face it, if you're going to write that much up, you're writing a huge book series, not a single post for anything.

Well, PHP might not since you're not writing it in a text field but pasting it there, but still, the rest of your statement I'll generally agree with, at least in sentiment. I don't think you'd exactly die from old age trying to write 4gb worth of material, but most folks computers couldn't handle all that in buffer and even if it could no one would bother posting it. Talk about getting responses of tldr... :lol:

No, the initial post is all I was talking about. That's a single field in the database column for blog posts. That's 4GB in Wordpress. I figure I'm being generous by increasing it in Sandbox to hold 16MB, since I can see it being conceivable for an initial post to creep close to 64K.

Each comment in Wordpress is 64KB each.

You want to talk about feeling old? One comment fully filled out in Wordpress would fill an entire Commodore 64. Or 2 of them if you went by the 38K user memory limit on them.

That's probably still a bit overkill at 16 MB, but I suppose if someone decided to post, say a full university thesis project... 64k would be a HUGE blog post, but I suppose I can honestly see it happening, but 16 MB, let alone 4 GB, is just craziness.

Ok, so a given comment can be up to 64k or it auto allocates 64k like a really bad OS would do for sectors?

I hear you, man, I was actually thinking about my original Zenith/HeathKit Z100 color computer back in 1978 when I posted those links about the old software on low capacity floppies though. It ran a CP/M COBOL-80 based OS called zDOS and, my particular Z100cc, had a single 8" drive and two 5.25" drives. Back in those days you literally would take the disk out of the drive and reinsert it turned over to access the other side if you were using the new double-sided diskettes. :lol:

Actually, my batched patch is 4gb. (It's now officially my largest single mod :p )

You'll certainly understand, given how frequently I've mentioned in the past my download limitations, if I won't be even considering downloading a copy of that one... :headbang:

How could you possibly manage to make a bashed patch that big?

Like this?

Check Mods
This is a report on your currently active/merged mods.

Active Mod Files:
• 00 Oblivion.esm

• 01 All Natural Base.esm [Version 1.0]

• 02 Cobl Main.esm [Version 1.72]

• 03 Oscuro's_Oblivion_Overhaul.esm [Version 1.33]

• 04 Kvatch Rebuilt.esm

• 05 Better Cities Resources.esm

• 06 DLCShiveringIsles.esp

• 07 Better Cities .esp

• 08 Natural_Habitat_by_Max_Tael.esp

• 09 All Natural.esp [Version 1.0]

• 0A All Natural - SI.esp [Version 1.0]

• 0B Immersive Interiors.esp [Version 0.7]

• 0C Immersive Interiors - Lights Addon.esp [Version 0.7]

• 0D Enhanced Water v2.0 HD.esp

• 0E All Natural - Real Lights.esp [Version 1.0]

• 0F ClocksOfCyrodiil.esp

• 10 ClocksOfCyrodiil_BC_OBC_OC_OCLR_Vanilla.esp

• 11 My Voice Extender.esp

• 12 Enhanced Economy.esp [Version 4.2.1]

• 13 Streamline 3.1.esp

• 14 Map Marker Overhaul.esp [Version 3.8]

• 15 Map Marker Overhaul - SI additions.esp [Version 3.5]

• 16 DLCHorseArmor.esp

• 17 DLCHorseArmor - Unofficial Patch.esp [Version 1.0.5]

• 18 DLCOrrery.esp

• 19 DLCOrrery - Unofficial Patch.esp [Version 1.0.3]

• 1A DLCVileLair.esp

• 1B DLCVileLair - Unofficial Patch.esp [Version 1.0.5]

• 1C DLCMehrunesRazor.esp

• 1D DLCMehrunesRazor - Unofficial Patch.esp [Version 1.0.4]

• 1E DLCSpellTomes.esp

• ++ DLCSpellTomes - Unofficial Patch.esp [Version 1.0.1]

• ++ MaleBodyReplacerV3.esp

• 1F FF_Horse_Whistle.esp

• 20 DLCThievesDen.esp

• 21 DLCThievesDen - Unofficial Patch.esp [Version 1.0.5]

• 22 DLCThievesDen - Unofficial Patch - SSSB.esp [Version 1.0.4]

• 23 Cobl Glue.esp [Version 1.72]

• 24 Cobl Si.esp [Version 1.63]

• ++ Cobl Tweaks.esp [Version 1.44]

• 25 Oscuro's_Oblivion_Overhaul.esp [Version 1.33]

• 26 EM_CompInnsleeping.esp

• 27 Adventures Gear.esp

• 28 BrotherhoodRenewed.esp [Version 1.0.4]

• 29 Kvatch Rebuilt.esp

• ++ Kvatch Rebuilt - OOO Compatibility.esp

• 2A Lem - The Spire of Apparitions.esp

• 2B Cyrodiil Travel Services.esp [Version 2.0.1]

• 2C DLCBattlehornCastle.esp

• 2D DLCFrostcrag.esp

• 2E DLCFrostcrag - Unofficial Patch.esp [Version 1.0.4]

• 2F Knights.esp

• 30 Knights - Unofficial Patch.esp [Version 1.0.9]

• 31 road+bridges.esp [Version 4.5.8]

• 32 Natural_Vegetation_by_Max_Tael.esp

• 33 Harvest [Flora].esp [Version 3.0.0]

• ++ Harvest [Flora] - Shivering Isles.esp [Version 3.0.0]

• ++ Harvest [Flora] - DLCVileLair.esp [Version 3.0.0]

• 34 Harvest [Flora] - DLCFrostcrag.esp [Version 3.0.0]

• 35 AutoBookPlacer.esp

• 36 Duke Patricks - Basic Hypothermia.esp

• 37 MidasSpells.esp

• 38 Midas OscuroGems.esp

• ++ Midas Betterholy.esp

• ++ Midas Reduced Costs 3 Quarters.esp

• ++ Midas PowDur3x.esp

• ++ Midas Eldrich Power 2.5x.esp

• ++ Midas Tigernolevel OBSE.esp

• 39 Midas BeastFortify Fix OBSE.esp

• 3A Spell Failure Chance.esp

• 3B Useful Houses.esp [Version 2.0]

• 3C 1em_Vilja.esp

• 3D Cobl Races.esp [Version 1.52]

• 3E Better Cities Full.esp

• 3F Better Cities - VWD of the IC.esp

• 40 Better Imperial City.esp

• 41 Better Imperial City FPS Patch.esp [Version 4.7.0]

• 42 Better Cities - COBL.esp [Version 2.1]

• 43 Better Cities Full FPS Patch.esp

• 44 Better Cities - No LEYAWIIN Flooding.esp

• ++ TF_timemod1-10.esp

• 45 Real Hunger, Cobl.esp [Version 1.6.1]

• ++ Cobl Filter Late MERGE ONLY.esp [Version 1.53]

• 46 Cobl Silent Equip Misc.esp [Version 01]

• • • All Natural - Indoor Weather Filter For Mods.esp [Version 1.0]

• • • 1em_Vilja OOO FCOM Fix.esp

• 47 1em_GiveAGift.esp

• 48 Bashed Patch, 0.esp

Cobl Rules
This ruleset covers Cobl (Common Oblivion) and related mods.

I don't see how that could possibly approach 4GB. Not to mention, Python on Windows can only address 2GB. That patch is nowhere near what mine covers, and mine is just barely over 4MB. Which by ESP standards is pretty big.

Well, does that make it concerning that the esp for The Eastern Peaks is already over 6mb (without accidentally compiling scripts or anything like that)?

My bashed patch is something like8mb by the way, but that has probably a lot to do with using COBL.

Edited by prettyfly on Jan 18, 2011 12:42 am
Landscaping is generally larger than most other things. If you're covering a lot, it's not surprising you'd be up to 6MB. Though considering the CS, alot of that could be dirty edits too.

Back to the projects... chances are PDNS-Admin is sewn up and ready now. One of the new DB modules it supports generates a corrupt file for some reason. I know my installer is sound because the two modules I can test both query properly and I have no reason to suspect the 3rd module isn't also sound since it's just the queries that have never been tested under fire.

I'll let it stew for awhile, maybe a kind soul who knows PHP and SQLite3 will show up and offer some gems of wisdom :P

Edited by Samson on Jan 18, 2011 12:55 am
<< prev 1, 2, 3 next >>
Comments Closed
Comments for this entry have been closed.

Forgot Password?

2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31