Maintenance notice: at about 6pm Pacific, we’re going to be offline for a short time while the database is moved to a disk partition with more space. It should take only a few minutes, so remember: don’t panic. UPDATE at 10/24/08 6:15:07 pm: Say it loud. We’re back and we’re proud. Database ...
Oops. Massive Attack: Half A Million Microsoft-Powered Sites Hit With SQL Injection. A new SQL injection attack aimed at Microsoft IIS web servers has hit some 500,000 websites, including the United Nations, UK Government sites and the U.S. Department of Homeland Security. While the attack is not necessarily Microsoft’s fault, ...
Here are some statistics from our database server that I find exceptionally gratifying; this post can also be viewed as an open thread if you’re not in the mood for stats. These numbers indicate a very healthy server running at close to peak efficiency, which is why I’m so darn ...
Hey, anyone notice how much better LGF is behaving? The hamsters haven’t even hiccuped all week, and response time is greatly improved overall. The Safari browser has a cool Web Inspector that shows all kinds of stats about a web page as it loads, and it reports that loading the ...
Here’s an open thread for Monday morning; the latest tweaks to the database layer have made a big difference today, as traffic did its usual Monday morning surge. According to mytop, more than 70% of our database requests are being served out of the cache, which makes our MySQL server much ...
After scratching my head, pulling out my hair, consulting the Necronomicon, and Googling like a fiend for terms like “persistent connections” and “query cache bug,” I’ve made some changes to the LGF Blog Engine database layer that seem to have greatly improved performance. I didn’t want to say anything ...
I’ve just discovered a problem that was causing serious slowdowns at LGF, and fixed it. As soon as I implemented the fix, the site started reacting much faster. So here’s an open thread... (Geek note: I needed to add an index to one of our MySQL database tables, for a very common ...
I’m about to start that index rebuilding process I mentioned earlier, so we’ll be going into “placeholder” mode in a few minutes. As the man said, we’ll be right back...
More than 60% of LGF readers agree that the hidden hand of Ron Paul was behind our server’s hard drive crash last weekend: [Poll] Unfortunately, as I’ve been cleaning up the mess, I’ve discovered something that will make it necessary to take LGF offline for a few hours: the indexes for the ...
We took the site offline for a few minutes because there are still some things that need to be tweaked and/or fixed after our so-called “hard drive failure.” We may need to do this once or twice more, but Stinky B. says he’ll try to keep the downtime to a ...
I still have quite a bit of work to do to clean things up around here (with Stinky’s help of course) after the hard drive crash. Lots of virtual nooks and crannies that need to be inspected. And we all know how painful that can be ... so here’s an ...
It’s amazing that hard drives don’t fail more often; a metal disk rotating at close to 200 miles per hour, with a read-write head floating above it by less than the thickness of a human hair. It’s like flying a 747 an inch off the ground, for years. Well, on Saturday ...
This post is going to be totally geeked out, so feel free to tune out if you wish. I ran into something odd in the last few days while experimenting with MySQL’s query cache, and I’m wondering if any of our DB ninjas might know the reason; Google has been worthless ...
Ooo. We have a new server tonight, a third spanking new prison for some unlucky hamsters. I’m rubbing my hands in diabolical glee. Since I know we have a whole lotta geeks reading (or at least 5), I’m going to open the floor for opinions on the best way to use ...
In a big improvement, the LGF poll application now uses Ajax (Javascript and PHP) techniques to let you vote and see the results without reloading the page. The ‘Show’ button will still take you to a separate page, where you can view and vote on any LGF polls that are currently ...
LGF, Technical Info, Database, MySQL, Abstraction Layer, PHP, Refactoring, Polls, Olmert, Israel, Winograd
Another piece of the LGF Blog Engine’s MySQL makeover was completed over the weekend—our polling application. This was kind of a tough one to convert from flat files; had to rethink the entire data model in SQL terms, and ended up with a complex but very flexible multi-table design that ...
LGF, Technical Info, Database, MySQL, Abstraction Layer, PHP, Refactoring, Polls
When I rebuilt the LGF Blog Engine to use MySQL, and revamped our login and authentication code to be more secure and more Web 2.0-ish, one of the features that didn’t survive the change was our old preferences page that let you choose which fonts were displayed for the main ...
LGF, Technical Info, Database, MySQL, Abstraction Layer, PHP, Refactoring, Comments, Login, Ajax, Security, Preferences
Yes, it’s another in the long-running series of updates and announcements about our new Ajax-driven login system. The latest enhancement makes the system much more secure. Previously, your password was being transmitted in plain text when you clicked the log in button. (In fact, it’s been this way for years at ...
LGF, Technical Info, Database, MySQL, Abstraction Layer, PHP, Refactoring, Comments, Login, Ajax, Security
Because I’m getting a bit weary of answering emails about why the login system isn’t working, from people who’ve set their browsers to refuse cookies, the requirement to have cookies enabled for logging in is now strictly enforced. Before this rule was put in place, if you turned cookies off you’d ...
LGF, Technical Info, Database, MySQL, Abstraction Layer, PHP, Refactoring, Comments, Login, Ajax, Security, Cookies
The login system has reached a fairly stable point in its development, so here’s one more post describing the changes and/or enhancements that happened over the weekend. 1) The operation of the ‘Remember me’ checkbox has been completely revamped for a) extra security for us, and b) extra convenience for you. ...
LGF, Technical Info, Database, MySQL, Abstraction Layer, PHP, Refactoring, Comments, Login, Ajax, Security
Here’s an open thread for Sunday afternoon (that’s what these login notes threads all turn into anyway). Again I’m tweaking and revamping things in the login system, so don’t be surprised if something behaves oddly. The new feature I’m working on is not fully tested yet, but it’s a change in the ...
LGF, Technical Info, Database, MySQL, Abstraction Layer, PHP, Refactoring, Comments, Login, Ajax
What have I been doing all day? Wrestling with Javascript variable scopes and JSON encoding, that’s what. Our login system is now fully integrated with the Ajax back-end server. The login form that you see (when you’re not already logged in) at the bottom of a page of comments will now ...
Login, Refactoring, Abstraction Layer, MySQL, Database, Ajax, PHP, Comments, Technical Info, LGF, JSON
I’m going to be tweaking and playing with the Ajax login system today, so please bear with me if something behaves oddly. I’m trying to keep as much of the work as possible on the offsite server, but some of it will need to be tested in a live environment. UPDATE ...
LGF, Technical Info, Database, MySQL, Abstraction Layer, PHP, Refactoring, Comments, Login, Ajax
Ajax is back in our login form tonight. Now when you log in, the system uses Ajax techniques to communicate with our server and authenticate you in the background, nearly instantly, without requiring a page reload. One hitch: I’m still working out some issues around the comment form with Ajax ...
LGF, Technical Info, Database, MySQL, Abstraction Layer, PHP, Refactoring, Comments, Login, Ajax
The login system is working very well, but we’ve had a problem with login sessions timing out too rapidly. By modifying the source code to the PEAR HTTP_Session module, I believe I’ve finally put a stake through this bug’s heart. I wasn’t using the problematic “idle” setting, so now it’s ...
LGF, Technical Info, Database, MySQL, Abstraction Layer, PHP, Refactoring, Comments, Login, Timeout, PEAR