making bbPress (and WordPress) work better!

random stuff

Google Apps for email (Gmail for your domain) blocks some legitimate mail by default

If you are using Google Apps for your domain name and gmail is your email service, then you aren’t getting important messages sent to “abuse” and “postmaster”.

Google intercepts all abuse@domain and postmaster@domain email and does NOT provide you with a copy by default! Thanks Google, ugh.

(more…)


Donate to OpenSSL

Virtually every open source OS and project on the web that uses encryption relies on OpenSSL. Yet they only get a few thousand a year in donations. Time to change that if we want better code: http://www.openssl.org/support/donations.html


zopfli gzip compressor – binary for Windows

Google recently opensourced an interesting little project in C called ZOPFLI to try to get the most compression possible out of gzip which is one of the only universal compression available in browsers.

This is useful for things that are compressed once and served many times, for example jquery, stylesheets, etc. But in my testing, Zopfli only does very slightly better than 7zip’s ultra gzip compression set at mx9, and zopfli takes much much longer. It’s an interesting experiment but perhaps pointless.

If you want to try it, you can get it at:
(more…)


Where is the Commercial section for WordPress Plugins?

WordPress Theme developers have a sanctioned place to sell themes:

http://wordpress.org/extend/themes/commercial/

so where is http://wordpress.org/extend/plugins/commercial/ ?

I want to sell “Commercially Supported GPL Plugins”

Some of my plugins might be worth $1 to for-profit blogs/forums.

The donation model clearly doesn’t work http://bbshowcase.org/donate/

Maybe it’s time for Matt to make the equal of an “app store” for WordPress/bbPress?


LoadAVG patch for more frequent logging and bug fixes

LoadAVG is a free, simple but very useful and lightweight load monitor for servers & VPS.

I encourage everyone to install it if you run a VPS because it will give you an easy snapshot of what is really going on with your server’s performance with virtually no impact otherwise.

It was written in 2006 in PHP by Doug Robbins of Labrador Data (with contributions by David Eshelman) then moved to Silversoft and finally released to the public on it’s own website under GPL – it is no longer updated, the final version came out in June 2010.

It does have a couple of bugs, some less than optimal calculations and inconsistent use of PHP, but nothing that is really a showstopper and it still works.

It’s basic design is to log every 6 minutes (10 times per hour) the server loads for 1/5/15 minute average, the amount of data transmitted and received, and how much memory has been allocated/reserved at that moment. Then it graphs the data using simple html and css on demand and also calculates high/low/averages for those numbers.

After using it for years I decided to finally fix some of the minor bugs (including the graph annoyingly doubling in height in certain conditions) and also increase the monitoring to every 3 minutes for more granular data – today’s servers/browsers can easy handle 20 datapoints per hour vs ten, and it’s important to find frequent load spikes that are even just a couple minutes long which are missed with only 6 minute logging.

So I’ve decided to share my replacement for calculations.php which has the bulk of those important fixes/changes.

view / download (save as/replace calculations.php)

Once you have that replaced, if you also want 3 minute updates instead of six, just change your crontab from */6 to */3

I’ve made the calculations.php backwards compatible with old data, so you won’t lose anything. You can replace it at anytime, but you do have to make one other tiny change after you do that, edit the display.css,
search for div.gr,div.bl,div.rd,div.wh,div.yl {
and change the width: 1px; to width: 2px;

That’s it. Then you will notice your old data is spaced apart by 1px but the new data will be a finer resolution.

Note that my update removes IE 5/6/7 support but IE9 should probably function (and maybe IE8 but why are you using IE ?).

If there is any further interest, I’ll eventually release my other improvements to this program since it’s GPL.

By the way, if you are using plesk instead of cpanel, etc. (more…)


Firefox 4 Mobile – first to support WYSIWYG Editors (contentEditable/designMode)

Firefox 4 Mobile was just released today and I have some incredible news that no-one else seems to have noticed (yet).

It’s the first mobile browser to support contentEditable!

What does this mean? Well TinyMCE, CKEditor (FCKeditor) and other rich, visual editors will now be able to work on your android cellphone (and a very few Nokia devices like the N900)

Check it out here: http://firefox.com/m

If you have Windows, Mac, or Linux on your desktop, you can see what the fuss is about through the developer versions:

http://ftp.mozilla.org/pub/mozilla.org/mobile/releases/4.0/

No other mobile browser to date does this trick. Not mobile Safari for the iPhone, not mobile Chrome for Android, not Opera Mini/Mobile, not IE Mobile. See my post from last week about this lack-of-support problem..


How web designers can test websites in IE9 on Windows XP

I’m a diehard Windows XP user and have no desire to upgrade to Vista or Windows 7. But this presents a problem now that Internet Explorer 9 has been officially released and in their (endless lack of) wisdom, Microsoft has decided not to allow it to run on Windows XP, to try to get people like me to upgrade.

So here’s how you can test your web designs on IE9 and make sure that everything is okay.

(the #1 problem I have found is that IE9 does NOT like or deal well with special IE6 fixes that are left over that were either ignored or did no harm in IE7 or IE8 – I will give you a solution for that following this)

First downloaded the free and legal Microsoft Windows 7 enterprise trial ISO (2.2GB)
microsoft.com x86fre_enterprise_en-us_EVAL_Eval_Enterprise-GRMCENEVAL_EN_DVD.iso
(you only need the 32bit version, it will run faster, if it won’t download it’s because of the refer, copy the link and paste it directly in your browser – download is speed limited so it will take at least 20 minutes)

Next install the free VMWare Player into Windows XP
http://download3.vmware.com/software/vmplayer/VMware-player-2.5.5-328052.exe
( or http://www.vmware.com/download/player/download.html you might actually need version 3+ for windows 7)

Last, use one of the free vmx generator tools to make a configuration for VMplayer ready for Windows 7 and set the Windows7 ISO as the CD drive

http://www.easyvmx.com/supersimple.shtml
(choose Vista, not Vista 64 – also, Windows7 needs a TON of space so choose 12GB at a minimum, I did 8GB and it’s already maxed out with nothing else installed – the file starts off small but will grow as needed)

Edit the vmx file and add these lines (removing any existing ide1:0 lines)

ide1:0.present = "TRUE"
ide1:0.deviceType = "cdrom-image"
ide1:0.fileName = "7600.16385.090713-1255_x86fre_enterprise_en-us_EVAL_Eval_Enterprise-GRMCENEVAL_EN_DVD.iso"

It should take 30 minutes to do all this, except maybe the ISO download which is huge and takes quite awhile.

The great thing about the enterprise trial is it lasts for 60 days, then you can “rearm” (google it) for a couple more times, but even when it’s expired, you can use it for an hour before auto-shutdown which is plenty of time to test pages in IE9

Okay now I promised a trick to help deal with IE9 – here’s my solution:

Most javascript that detects IE doesn’t detect the version, just if it’s IE or not. For example: isIE=/blah/; What we really need is something to replace that which is short and sweet and accurate.

So here’s what I came up with:

isIE=window.opera?0:parseInt((navigator.userAgent.match(/MSIE (\d+)/) || [0,0])[1]);

Then just replace any instance of

if (isIE) {blah}

With this:

if (isIE && isIE<9) {blah}

Hope that helps!