So I was thinking about finding a way to help out the fine folks that maintain the project_* family of modules for drupal.org again and was chatting with the folks in IRC about the status of the drupalorg_testing profile which is designed to help one mimic the setup of drupal.org and provide sample data for testing new features. In the process aclight pointed out some patches to the profile that need to be applied (detailed below) to prepare it for use. I was surprised that these haven't been committed yet, only to find out it's due to a small issue which I have been trying to get resolved for some time now. It's truly funny how things come back around to you after awhile sometimes.
Anyway, currently to test the drupalorg_testing profile, download it from here, and follow it's installation instructions on dependencies, but before installing the profile, check out the patches from here and here. Then install the profile, and let it do it's thing. If your experience was anything like mine, you may be greated by some serious whitescreen issues when trying to check out your new installation. If so, check out the patch here by webchick.
So for sometime now, I've been doing Drupal/PHP development on my local machine. I'm a Mac user, and I use Growl quite a bit to keep aware of whats going on. Honestly at times its probably a productivity killer to know that I have 22 new emails, I was pinged in IRC, and my feeds were just updated, and the latest track in iTunes is something that I probably don't want to hear. So I've been spending some time thinking about how to best put this cool tool to work for me, and I kept coming back to growlnotify, a command line tool to post notifications.
My first though was, how to get this to tail some server logs for me, and how to take care of letting me know when servers had issues. But then I got to thinking that isn't really all that useful. Servers shouldn't go down, and if they do, they should notify me by email (which if I'm at the computer, Growl will pick up) and server logs? I just don't need that. The next logical conclusion was maybe to do some local tasks, like I don't know...say the PHP error log while I"m developing? That might actually be useful when I do something stupid, like get tired and call $node['body'] ( PHP Fatal error: Cannot use object of type stdClass as array).
Anyway, lo and behold, someone else has already done this for me. Check out the snippets here for more info on how to make this work. It's a bit tricky since growl won't send a notify until an end of file is reached, and tail -f just sends newline characters. The solution is to use a small python script to read the stdin, and then conver that into a full growlnotify command, and execute it.
Thanks to this tip I now get notifications like this:
.
You may need to play with your error level to keep from getting splattered with notices, but I find this quite useful (especially for catching notices with Drupal 6).
Did you know that you can set your email subscription for regression testing notices for patches you've committed? I didn't.
At least not until today. I was off editing my subscriptions because I noticed new issues in the queues of a couple of modules I maintain, and I realized that I hadn't been notified by mail. Realizing that my subscription status to issues queues is all over the place I went to edit it at http://drupal.org/project/issues/subscribe-mail, and when I went to save the form, what did I see at the bottom? A subscription option for regression testing notices! This is going to be very important in the upcoming months as Drupal strives for 100% test coverage.
So, I've been having a lot problems keeping track of the Drupal issues that I want to participate in, and help out with. It seems like everyday, I see at least one issue that I think to myself, "HEY SELF, this has GOT to be in the next version of Drupal!!" And then I never think about it again until I read the release notes for the next major Drupal release (6, 7, 14* whatever...). This is not a very effective way to help out. I need to be able to get quick access to a list of Drupal issues, categorize them, and then view and update those categories quickly.
So, enter del.icio.us. Now many of you up-to-date, hooked on the next-best-thing will be expecting my to discover framsets and cgi counters for the web next. Nay, I have known of del.icio.us for many ages, but have never been much of one, for applications on the web, that work better on the desktop. I 'got' it but I didn't 'get' it for personal use until recently.
Time to help out where it counts. The developers of the project module from Drupal.org are in need of funding to attend This would enable them to work together in person, rally troops, and get serious-work-done™ on the module. This is critical to Drupal.org as it facilitates the development of all projects including Drupal itself and all contributed modules on Drupal.org. If you ask me they are every bit as important as the core developers of Drupal itself. They need to be, there, so Chip in what you can, and look forward to seeing them there!
It's that time of my life when I'm sitting back and reflecting on many different things. Like how exactly I got into this business (pick either of them) and what it means now that I'm here. While reflecting on the road to get here many times we seem to forget just how early we get the twinges of will later be our career. Is it as a teen, adolescent, or even a grade school child? Sometimes it could be all of those, or even younger. My parents once told me that I had a tendency to play with anything that resembled rope, or string, or anything of the nature, and pretend that it was a 'cord' that I was using to hook something up. I also used old cardboard boxes, markers and lots of imagination to make control panels for whatever device or equipment I could dream up. This was the start of something before I had even reached pre-school.
After that it only exploded. Seen to the right, is a picture of my with my first ever audio mixer. The remote controls for radio cars next to it, were actually setup to control the light switches in the room I was hiding in, to enable me to make my own light and sound show, hidden from view. Surely I was on to something here.
So I took some time to run some benchmarks on my little VPS here, and the results seemed to be far more interesting at first that what they now appear. I really should throw it all in a big spreadsheet and make pretty multi-colored charts to see if anything stands out.
Mainly I was testing to see what memory could be saved with an opcode cache for PHP, as well as any speedup in page serving times, or reqs/sec. For all the tests, Drupal page caching was set to basic, and the MySQL query cache was enabled. The page loaded was the front page of this site.
All of the benchmarks are in the attached text file. Results from top are pasted in, followed by the results from ab for each test. Hope this helps someone.
So when I do alot of my development, I prefer to use something to mount a remote servers filesystem directly for editing and such. For this job I usually reach for afp via netatalk on my server, vs. samba, although many times I enable samba with similar shares for my non-Mac OS X enabled friends. Turns out that Apple disabled the ability to use clear text passwords in 10.5 and the default Debian and Ubuntu packages for netatalk doesn't include any other option. There are ways to setup Leopard to allow this again, but I figured the better way to fix this would be to actually enable encrypted passwords, so I did, after finding the following link:
I didn't even know what the problem was, since OS X 10.5 was giving an extremely unhelpful error -5002. I had to google around to find this page which pointed me in the right direction.
Well I won't lie, I get a little chuckle out of the current captcha on groups.drupal.org lately. To be honest I think it could include audio help in the form of this song that I end up singing to myself everytime I complete it.
And there are plenty more examples pn youtube as well.