PHP Project Updates
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 SmaugMuds.org 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 arthmoor.com 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.
The gory details of everything that's been done:
Quicksilver Forums 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.
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.
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.
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?
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.
If the mood strikes I might just take a whack at a Wordpress->Sanbox converter.
Considering talking Dwip into trying out Sandbox instead of Wordpress?
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.
Yet, somehow, Wordpress still manages to hold pretty much top slot for popularity. Go figure, eh?
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??
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...
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.
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.
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
This ruleset covers Cobl (Common Oblivion) and related mods.
My bashed patch is something like8mb by the way, but that has probably a lot to do with using COBL.
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