Author Archives: Ian Dunn
Troubleshooting Slow MySQL Queries
Ian Gilfillan’s article on using indexes in MySQL has a good explanation of how to use the EXPLAIN statement to analyze a query, and what to look out for. You can also check out Jesse Farmer’s optimization tips for a primer on more advanced techniques.
Updating OpenDNS With a Dynamic IP From an Endian Firewall
Z-Index Stacking Contexts
Troubleshooting IIS 400.x Access Denied Errors
David Wang writes about troubleshooting 400.x “Access Denied” errors in IIS. The first step is to pull the substatus code out of the logs, which will give you more information on what’s going wrong and narrow down the list of causes.
Alternatives to Select/Multiple
Ryan Cramer details some of the problems with select/multiple and a few good alternatives. It’s useful in certain circumstances, but unintuitive and error-prone. Instead, you can create a list of checkboxes inside an element with overflow:auto set, or use a jQuery plugin he developed.
Automated FTP Uploads/Downloads
ISINC has a writeup on how to pass a batch file of commands to Window’s command line FTP client. You can then create a Scheduled Task to automate them.
CSS Selector Browser Compatbility
kimblim.dk has a chart showing browser support for various CSS selectors, including pseudo selectors. It includes CSS versions 1 through 3 and all of the major browser versions.
PHP Error Logs with Virtuozzo
Troubleshooting htaccess
Making Coding Mistakes Obvious
Joel Spolsky wrote an interesting article on ways to make coding mistakes obvious, like using semantic prefixes on variable names. If you have unfiltered data from the user, you can make the variable something like $usFoo so that you always remember that the data is unsafe, and won’t output it unfiltered (therefore preventing malicious code injection).
Firewalling an OpenVZ node and containers
Content Above Anchors Disappear
Working with Qmail’s Queue
Relaying Qmail Through a Spam Filter
Memorable IP Address
If you’re troubleshooting a network’s uplink to the Internet and want a memorable external IP address to ping, then you can use 4.2.2.2, which is one of Verizon’s DNS servers.
Skipping Disk Check When Rebooting Linux Server
If you don’t run a disk check on a Linux server in awhile and you reboot, it may force a disk check, which can take 30+ minutes, and it’ll be offline the entire time. You can reboot and skip the check with shutdown -fr now or force a check with shutdown -Fr now. (via go2linux.org)
Natural Sorting for MySQL
URL Parameters for Google Maps
Mapki has a detailed list of URL parameters for Google Maps. Setting daddr is useful when you want to create a link for a user to get directions. You can also control the zoom level, type of map (normal, satellite, terrain, etc), overlay information and lots of other things.
CMSMS Skeleton Module
Skeleton is a CMS Made Simple module you can use as the base for writing a new module. It has all the basic code in place already.