Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.

Follow @CodeOpinion


MySQL InnoDB Tablespace

As with my other databases it should be no surprise that when using MySQL InnoDB as your database engine, the system tablespace (ibdata files) never release space back to the operating system. The filesystem space will increase as needed, if defined by the autoextend property but will never reduce. What is surprising, is there is no tool to shrink or release the free space back to the operating system. In Microsoft SQL Server, they have a shrink utility, in MongoDB you have the repairdatabase statement. With MySQL InnoDB your option is to dump and restore the database.

PHP Upload Large File Bug

After spending an hour trying to debug a strange issue with PHP & handling large (2GB+) file uploads, I figured I should post the resolution in case someone stumbles upon this post. Most people are aware that they need to set the the upload_max_filesize and post_max_size directives to handle large file uploads.  However, there is bug within PHP that does not handle files larger than 2GB, even when these directives are set to a higher value. Problem You have the PHP directives set properly to handle the a 2GB+ file size however the $_FILES[x][‘error’] will be set to 1 (UPLOAD_ERR_INI_SIZE), indicating that the file size exceeded the… Read More »PHP Upload Large File Bug

SharePoint: List does not exist

Problem: When trying to “Add new Item” to a SharePoint 2010 list (document library, task list, etc), and you receive this very helpful error. Cause: Alternate Access Mappings.  It displays this error message when I cannot resolve the URL. Solution:  Add the mapping.  Example: You are acessing the site via:, however you do not have an Alternate Access Mapping for