If you need to see all svn:externals in a directory structure, this is your huckleberry:
svn propget -R svn:externals .Logging this here for my own future reference.
Popularity: 1% [?]
Posted in: Development
If you need to see all svn:externals in a directory structure, this is your huckleberry:
svn propget -R svn:externals .Logging this here for my own future reference.
Popularity: 1% [?]
Posted January 16th, 2010 @ 11:55 PM
I agree that it’s needed but I disagree that it should be necessarily be built as Open Source (unless there is a full-time developer/malevolent dictator driving things – in which case, it could just as easily be built as a commercial app). Singularity of vision is too important in this type of product creation.
Posted in: Society, Technology
I’m a bit baffled by all of the late night TV shuffling, arguing, debating, etc. Are there still people that watch TV (besides sporting events) at their broadcast time?
I’ve had a DVR since 2002 – I can hardly fathom watching TV another way.
Popularity: 1% [?]
Posted January 16th, 2010 @ 12:43 PM
Great iPhone v. Android summary from Corey.
Posted in: Crowd Favorite, Development, WordPress
I recently put new releases of my Twitter Tools plugin – basically patches so that it would work in WordPress 2.9 on versions of PHP prior to 5.2. This is an interesting situation, where I hadn’t really done anything wrong in the plugin and the WP core team hadn’t really done anything wrong in the way they implemented their JSON functionality for versions of PHP prior to 5.2. It just happened that the bits of code weren’t compatible with each other.
Sure it was frustrating. I was in a situation where there was a bit of public outcry about my plugin being “broken”. All of a sudden, something that used to work fine didn’t (for some). The result? I spent a good deal of time debugging an issue with my plugin that I didn’t cause and couldn’t reproduce.1 However when you step back and look at the situation, I’m not sure there is a clear-cut target to blame here. Everyone’s intentions were pure. The point is, this is an interesting case study and one that both the WP plugin and theme devs and the WP Core devs can learn from.
Versions of PHP prior to 5.2 do not include native functions for encoding and decoding JSON formatted data.
The solution in Twitter Tools prior to the releases last weekend: include a PHP library (Services_JSON) along with the plugin, wrap it in a check to make sure that it isn’t already included, and use it instead of the native PHP functions.
The solution in WordPress 2.9: define the equivalent versions of the native PHP encode and decode functions in the core, include a PHP library (Services_JSON) in those functions and load it if needed.
So we had a situation in some WordPress server configurations where my plugin loaded the library, then WP core tried to load the same library and PHP didn’t like that very much.
The WP 2.9 solution provides us with an interesting situation. I still wanted to support versions of WP prior to 2.9, which means I still need to include my copy of the library. However I also don’t want it to break in 2.9, so I need to make my inclusion of the library compatible with the WP 2.9 approach.
Use the same approach in my plugin that WP 2.9 does. WP 2.9 checks to see if the PHP function json_encode(), etc. exists, and defines it if it doesn’t. If Twitter Tools does the same thing and loads after the WP version (which is loaded from compat.php), it will only define those functions and include the library as needed. Based on feedback, this approach is working for both pre-2.9 versions of WordPress and WP 2.9.x.
Plugin/theme devs, be careful when including a compatibility library that might get added to WP core in the future. Try to structure your code in such a way that it will continue to work even if this happens.
WP core devs, when adding a library consider the plugins that might already be including that library and do so in a way that lets everything continue to work.
Why wasn’t this caught in beta testing of WordPress 2.9? It’s pretty simple – even though I tested some of my plugins in pre-releases of 2.9, I did not test them with older versions of PHP (required to trigger this bug). I’m guessing that most of the developers that were beta testing were also running new versions of PHP. A true application testing matrix is not realistic for WordPress + plugins + themes.
Take a look at the diff for an example, I think this technique is portable to other plugins that may experience this same problem.
Also, I created a ticket in Trac to try to make this work a little more smoothly going forward. Thanks to the core team for accepting the patch.
Popularity: 1% [?]
Posted January 13th, 2010 @ 9:21 AM
Posted in: Software
I’d love to have a keyboard shortcut that would set focus on the first visible field. Y’know, for web apps/sites that don’t set focus properly when the page loads.
My simple jQuery snippet works well for this – how easy would it be to turn that into Chrome and Firefox extensions?
Little project for someone?
Popularity: 2% [?]
Posted January 12th, 2010 @ 9:39 PM
Child theme support has landed in SVN for Carrington. The way it is implemented allows child themes to add templates to the parent theme (adding more supported conditions for post types, comments, categories, etc.), not just replace existing templates. If you are building themes on Carrington, check this out and provide feedback before it’s tagged and released.
Posted in: Crowd Favorite, News, WordPress
Version 2.1 of my Twitter Tools plugin is now available. Twitter Tools creates a two-way integration between your Twitter account and your WordPress blog. You can send your blog posts to Twitter and bring your tweets back to your blog for display, archiving, or creating posts from them.
This version has a bunch of changes including a fix for the issues with WordPress 2.9 and PHP < 5.2.
The download and more information are available on my WordPress Plugins page.
If you have any trouble with this, please contact the WordPress HelpCenter (303-395-1346) or you can try the WP Support Forums.
Enjoy!
Bit.ly plugin
Exclude Category plugin
Hashtags plugin
In version 2.0 I added the ability for Twitter Tools to be extended via plugins and created the plugins included in the default plugin. Other folks are creating plugins for Twitter Tools as well. You can find more Twitter Tools plugins here.
Have you created a plugin for Twitter Tools? Let me know so I can add it to the list.
Popularity: 1% [?]
Posted January 9th, 2010 @ 4:48 PM
Based on the feedback from my previous post, I think I know what the issue may be between Twitter Tools 2.0 and WordPress 2.9.
I have a new version available that may address the issue that some people were having saving posts with Twitter Tools enabled in WordPress 2.9.
I believe the cause of this issue is as described in this ticket. Basically, a change in WordPress core in 2.9 was incompatible with some plugins that included the same JSON library.
I have not been able to fully test this and would like your help in doing so. If you have experienced these problems, please download this testing version, and let me know your results in the comments. Thanks!
UPDATE: Get version 2.1.x which has the same fix.
Popularity: 1% [?]
Posted January 8th, 2010 @ 3:36 PM
This is the personal web site of Alex King, a web developer in Denver, Colorado USA. More...
Crowd Favorite is my software and web development business.
We build web applications, design and develop custom WordPress themes and plugins, and build custom sites using WordPress as a CMS.
I also have a tumblog that aggregates my online content from other services (Twitter, Flickr, del.icio.us. etc.).