July 2nd, 2009
I just finished up version 0.5 of Plugin Wonderful, the WordPress plugin that makes it easy to add Project Wonderful advertisements to your blog. This version is almost a complete rewrite of the core of the plugin, with a full suite of unit and functional tests added (courtesy MockPress and PHPUnit). I’ve greatly improved compatibility with WordPress MU, and the plugin also takes advantage of the new WordPress 2.8 widgets API.
I want to extend a big thanks to beta tester Don Koch who helped with code and such (and made me realize that everything I had for widgets was wrong and needed rewriting). Go see the site he’s building using ComicPress.
Note: if you find issues with the plugin, file a bug over at GitHub. Comments here get lost too easily.
June 17th, 2009
I’ve spent the past few days getting all of the development work on ComicPress and ComicPress Manager up on GitHub. This also includes setting up automated documentation generation and regular Zip builds of the contents of the repositories. Check out the project pages and wiki pages, and if you want to help out, drop me an email!
June 5th, 2009
Since the code I was writing could be used with any PHP unit testing framework, and since “WordPress PHPUnit Mocks” doesn’t roll off the tongue like “MockPress” does, and because no one else is using the name for anything, my project for creating mock functions for simulating WordPress is now named MockPress. I’ve been slowly mocking up more WordPress functions as I need them. The documentation has moved, too.
May 14th, 2009
I’m working on a library for WordPress plugin and theme development that simulates as many of the core WordPress functions as necessary, for use in automated unit and functional testing. It’s a work in progress as I refine it during my refactoring work for ComicPress Manager. It should work fine in both PHPUnit and SimpleTest (I’m using PHPUnit for my WP plugin unit testing now). It also includes some helper functions for checking HTML output with SimpleXML and XPath. No official releases at the moment, so check out a copy of the Git repo if you want to try it out. You can also read the API documentation that is generated every so often.
May 8th, 2009
I’m working on an application for mobile phone and for desktop use that will help with prioritizing just about anything. I call it Prioritize Me!. The home page is a little rough, and I’d like to pretty up the UI a bit (right now it’s the standard iUI look, which is functional), but the core is solid. It handles an unlimited number of items to prioritize, it breaks ties, and it gives back percentages to show just how much you preferred one item over the other. It also runs 100% locally within your browser and sends no data back to the server, so it’s both fast and private. I even have a bookmarklet you can drop onto your Bookmarks Toolbar so that it’s always there, ready to help you prioritize. Give Prioritize Me! a spin and let me now what you think!
April 2nd, 2009
For a recent Flex project I have to work with a series of SWF files that need to be embedded into the output SWF. I also needed to be able to control the SWF files and be notified when they finish playing. Unfortunately, when you embed a SWF in the standard way:
[Embed(source="my_swf_file.swf")]
[Bindable]
public static var my_swf_file:Class;
and then try to work with it as a MovieClip:
var my_clip:MovieClip = new my_swf_file() as MovieClip;
all of the Timeline bits (including totalFrames and currentFrame) of the source SWF get stripped out in the embedding. To fix it, I took the idea from this blog entry and made it a bit more generic:
[Embed(source="my_swf_file.swf", mimeType="application/octet-stream")]
[Bindable]
public static var my_swf_file:Class;
var source:Object = new my_swf_file();
var my_clip:MovieClip;
if (source is ByteArray) {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function (e:Event):void) {
my_clip = MovieClip(loader.content);
});
}
Et voila! Embedded, controllable SWF files in Flex.
March 26th, 2009
Plugin Wonderful 0.4.4 just got updated by myself (who else?) You now have the ability to embed ads right in your blog entries, provided the correct option is turned on. So if you have an ad with the template tag of “in-the-story”, you can embed it using:
And now, a word from your sponsors:
PW(in-the-story)
Now, back to the article.
Plus, there was a small bugfix for when you have no ads available. Download it, and if you like it, go check out Dawn’s Dictionary Drama. The current run is almost over, so there’s plenty of comic to look at and enjoy.
March 22nd, 2009
I just spent a few hours today figuring out the most efficient method for broadcasting my drawing of A Moment of Clarity out to the world using Ustream. A lot of other comic artists do this on a regular basis, and so I wanted to join in on the fun.
I tried WebcamStudio, but it was way too much of a CPU hog on my system. It worked…kind of…but it too slow to be usable (sorry). So I moved on to trusty old ffmpeg and the x11grab video input driver.
This post on Ubuntu Forums got it all working for me. The vloopback driver from WebcamStudio is the one you want to use. and make sure you’re a member of the video group. For my own reference, here’s how I ended up recording the footage off my second monitor at 160×120 5 fps for Ustream:
ffmpeg -f x11grab -s 1280x1024 -r 5 -i :0.0+1280,0 -pix_fmt yuv420p -sws_flags lanczos -s 160x120 -r 5 -f yuv4mpegpipe -an - | mjpegtools_yuv_to_v4l /dev/video1
Unfortunately, audio capture is not working yet in Flash 10 for Linux, so I can’t talk while I draw.
March 15th, 2009
The Great Escape on IMDb
Synopsis: The Nazis really did think that it was a great idea to put all the best escape artists together in WWII in the same camp.
Pros: The escape and subsequent splitting of the action to the multiple escapees was very interesting and compelling.
Cons: Long. A bit longer than I was expecting.
Verdict: Finally, both Chicken Run and some of this bit from Dress To Kill make sense.
March 15th, 2009
Le Fabuleux destin d’Amélie Poulain on IMDb
Synopsis: Audrey Tautou does everything in her power to get this guy. Oh, and she does a lot of other really great things for the world.
Pros: The story’s very charming and uplifting, and the cinematography is gorgeous.
Cons: The special effects were just a little much at times. But not too much.
Verdict: I like, I like. I wish my French were better so that I could enjoy the movie even more.