svn diff -x "-bw --ignore-eol-style"
is your friend when somebody decides to change the end of line style and strip all trailing whitespace from the files in your repo.
Higgs-Bugson
A hypothetical error whose existence is suggested by log events and vague reports from the users that cannot be reproduced in development conditions. QA and user support teams point to the Higgs-bugson as an explanation for the results they see in the field. Software engineers, however, often deny the existence of the Higgs-Bugson and offer alternative theories that often blame the user. » about 200 words
The WordPress Way
Plugin Development
Will Norris‘ talk at WordCamp PDX introduces WordPress coding standards, common functions, and constants to would be plugin developers (and smacks those who’ve already done it wrong). Also notable: functions, classes, variables, and constants in the WordPress trunk.
Custom Installations
Just as WordPress has a number of hooks and filters that plugins can use to modify and extend behavior, it also has a cool way to customize the installation process.
Extending The WYSIWYG Editor
TinyMCE, the WYSIWYG editor in WordPress has a rich API to allow adding buttons and stuff, but the docs are hard to get into. We can get a jump on that by looking at how it’s implemented in other WP plugins. This code creates the buttons, while the function that responds to the button click and does the work is defined within the plugin. The TinyMCE plugins in core are also informative.
WordPress 2.6 Plugin and wp-config.php Path Changes
Ozh’s tutorial explains the details, but the short story is that we’ll soon get WP_CONTENT_URL
and WP_CONTENT_DIR
constants. And this is more than just convenience, 2.6 allows site admins to put those directories anywhere they want, so the constants will be the only reliable way of finding that info.
bSuite 4 beta 2
I announced the bSuite 4 public beta not long ago, now I’ve just posted a new version to SVN that addresses some of the bugs and fleshes out some of the features. I have yet to update the bSuite page, but here’s a preview of what’s new or changed:
- Additional stats reports
- WP2.5-style tag input tools on the Page edit screen*
- WP2.5-style category selector on the Page edit screen*
- WP2.5-style excerpt input on the Page edit screen*
- For multi-author sites: ability to grant edit permissions by role for each page (with a configurable default)
- An “include” shortcode that makes it easy to show content from one post or page on another.
About the new shortcode, use it like this:
[inclu``de post_id=“1234” url=“a url to a post or page in your blog” field=“post_excerpt”]
One of post_id
or url
is required; field
is optional and defaults to post_excerpt
first, then to post_content
if there is no excerpt.
*Why would you want to input tags, set categories, or add an excerpt to a Page? They help readers find and explore our content. What’s so wrong with that?
bSuite 4 Public Beta
I’ve had a lot of features on the table for bSuite for a while, but this recently discovered comment from John Pratt (whose Smorgasboard.net is a lot of fun), kicked me into gear to actually get working on it again. The result is bSuite 4, which is probably what bSuite 3 should have been all […] » about 400 words
WordPress 2.1 + WPopac
I’ve been following WP2.1 development, but Aaron Brazell’s post in the development blog wrapped up a lot of questions all at once.
The short story is that 2.1 is going to bring some really good changes that will allow more flexibility and better optimization of WPopac. Of the four changes Brazell names, the last two, the addition of the post_type
column and a change in usage of the post_status
column, are where the money is.
I’m awaiting the final release of 2.1 before building the necessary changes into WPopac, but the benefits will be worth it.
Things I Need To Incorporate Into Various Projects
- memcached, a “highly effective caching daemon, …designed to decrease database load in dynamic web applications,” and the related PHP functions
- pspell PHP functions related to aspell and this pspell overview from Zend
- http_build_query, duh?
- current connected mysql threads * unix load average = system busy; reduce operations when $system_busy > $x
Q: Why Do Some Things Suck?
A: Because we compare them to the wrong things. I’m in training today for a piece of software used in libraries. It’s the second of three days of training and things aren’t going well. Some stuff doesn’t work, some things don’t work the first (second, third…ninth) time, and other things just don’t make sense. At […] » about 600 words