Subscribe to RSS Subscribe to Comments

go to Renderosity.com

More Merch: Black is back and so is color!

June 27th, 2007 by admin


Will be adding a separate page for all this, and for items offered for sale directly as well as through CafePress,  shortly but in the meantime here are a few more items you can stuff in your locker…

Comes in Black too!   also available in aqua and purple

also with red piping or black piping  

There’re also coffee cups and mugs, sweatshirts, more shirts, hoodies, etc.  I wish CafePress would get rid of the ugly yellow messenger bag though, and replace it with a decent backpack!


Posted in Site Updates, Uncategorized | No Comments »

Stop the presses!

June 26th, 2007 by admin


We have t-shirts!…and sweat shirts, and caps, and long-sleeve tees, and coffee cups and teddy bears, and… Ok - sorry, got a little carried away there. I have no idea why we have a teddy bear, but we do. Anyway - please take a look at our spankin’ new CafePress shop at http://www.cafepress.com/ambiguousarts and start buying!

Ambiguous Arts white baseball capAmbiguous Arts coffee cup

Ambiguous Arts hoodie Ambiguous Arts women's t-shirt These four are just a few samples of what’s in the store, and other colors are available too. Take a look here.


Posted in Site Updates, Uncategorized | No Comments »

WordPress 2.2.1 Released

June 21st, 2007 by Dougal


WordPress 2.2.1 is now available. Most of the changes are minor bug fixes, however there are some security fixes as well. We can't stress enough how important it is to upgrade your sites and keep them current so that you aren't open to attacks. Many people see these "minor" version updates and assume that they don't need to install them. Mainly it seems to be folks who worry about an upgrade breaking their theme or their plugins. But if the themes and plugins are written properly, this won't normally be a problem. So, if you are running any version of WordPress older than 2.2.1, go download the new version now.

If you're curious about what's changed since 2.2.0, read the list of changes on Trac. Or, you can view the source code changes for all the changed files.


Posted in Uncategorized | Comments Off

Perl geekery: building hashes

June 21st, 2007 by Dougal


Say we're writing a program in Perl, and we need to pass a lot of data back and forth between subroutines. Using global variables is bad practice, and we often use the slightly-less-bad method of passing around a big hash variable. But it's a pain to always use the values in the hash, so a lot of our code uses individual scalar variables, and stick them into (and pull them out of) the hash as needed. But when you have a lot of values to move around, it's a pain in the neck. You don't want a big, ugly block of code like this:


#...assume that we declared %hash, 
#   $foo, $bar, $baz, etc previously...
$hash{'foo'} = $foo;
$hash{'bar'} = $bar;
$hash{'baz'} = $baz;
# ...ad nauseum...

Surely, there's a more elegant way to do this, right? Of course there is. The mantra of perl programmers is TMTOWTDI (There's More Than One Way To Do It)! The first and most obvious approach that comes to mind is to use "variable variables", technically known as "symbolic references":


my %hash;
my @vars = qw(foo bar baz);
foreach my $var (@vars) {
  # This uses a symbolic reference. When $var is 'foo',
  # then saying $$var is like saying $foo.
  $hash{$var} = $$var;
}

The problem is that symbolic references are frowned upon, and will cause perl to get angry with you if you're running with use strict (as you should be). You can get around this by declaring the scope of $foo and friends as 'our' instead of 'my', and by using no strict 'refs' inside the foreach loop. I'm pretty sure that this wouldn't cause any memory leaks, but it's still an iffy solution because you have to change the scope of a bunch of your variables to 'our', which might have undesired side-effects.

The next refactoring is a nice improvement. The main difference is that it requires you to stick your list of values into a temporary array. Just keep in mind that this array will be modified (emptied) in the process:


my %hash;
my @keys = qw(foo bar baz);
my @values = ($foo, $bar, $baz);
foreach my $key (@keys) {
  $hash{$key} = shift @values;
}

Ah, much better! No problems running strict, and not too ugly. A final improvement, suggested to me by David Narayan, is to use a hash slice:


my %hash;
my @keys = qw(foo bar baz);
my @values = ($foo, $bar, $baz);
@hash{@keys} = @values;

That's about as succinct as it's going to get. The only disadvantage here might be if your list of key/value pairs was large, this would probably use a lot of memory. In that case, you'd probably want to use the foreach loop, as in the previous example.


Posted in Uncategorized | Comments Off

Commercial Jingles

June 20th, 2007 by Dougal


My wife was a Communications major in college. So she often makes observations about how organizations try to get their message out to their audience. One thing she remarked on recently was the decline in the use of musical jingles, as opposed to non-musical slogans, in advertising. Read more in her post, "Ask any mermaid you happen to see..."


Posted in Uncategorized | Comments Off

WP-Cache fix for Content-Type in feeds

June 19th, 2007 by Dougal


If you run a busy WordPress site, or even if your site just has a lot of processor-intensive plugins, then you probably already run the WP-Cache plugin (plugin directory, original announcment, recent security update info). Even though my site isn't super busy, my server is a little light in the RAM department, and using WP-Cache helps the box keep up with requests better.

One minor annoyance, however, is that with WP-Cache enabled, my syndication feeds aren't delivered with the correct Content-Type. They are all cached with a "text/html" type. Again, this is only a minor annoyance, since I haven't run across a feed reader yet that cares very much about the Content-Type header. But the Feed Validator does. If it sees an Atom feed delivered with content type "text/html" instead of "application/atom+xml", it gives you a warning. It still checks the validity of the actual feed content, but there's that big ugly warning at the top.

But not any more. I dug a little bit into the WP Cache plugin to try to figure out what was going on. The plugin does attempt to preserve the correct content type of pages when it caches them, but the output buffering that it uses to capture the content gets in the way. You can't get to the generated headers until after you flush the buffer. But you don't want to flush the buffer until you've got all of the data to write into the cache meta files. It's a catch-22. (Actually, it might be okay to flush the buffer at the point where you need the headers, but I'm not sure without further analysis, and I just don't have the time right now. I'll leave that as an exercise for someone else. ;) )

So, if you're a stickler about minor things like the Content-Type of your feeds, and you're using WP-Cache, feel free to check out my patch: WP-Cache Feed Content Type Patch. Note that the changes to the wp_cache_get_response_headers() function don't actually work for me. But I left them in the patch in case anybody else wants to examine that section more closely. It might just be something that works in some combinations of Apache/PHP versions and not others.


Posted in Uncategorized | Comments Off

2.2.1 Release Candidate

June 16th, 2007 by Ryan


WordPress 2.2.1 is almost ready. 2.2.1 fixes bugs in widgets, xmlrpc, atom feeds, and other areas. 2.2.1 also addresses security issues found in xmlrpc and phpmailer. We’ll have more on that in the release notes.

A release candidate is available for testing. Try it out, and drop a comment letting us know if you have any problems with it.

All changes made since 2.2 can be viewed here. A list of all bugs fixed in 2.2.1 is here.

Assuming no nasty bugs are discovered in the RC, 2.2.1 should be released within the next couple days.


Posted in Uncategorized | Comments Off

Another new start

June 13th, 2007 by Dougal


Free IQ - The Marketplace for Ideas

About two weeks ago, I started a new job (which explains at least part of my blogging lull, you see). I'm working on Free IQ, which is a streaming media site for entrepreneurs. There's more to it than just the streaming media (you can upload video, audio, PDF files, PowerPoint presentations, etc.), but I'm still learning the ins and outs, so I don't know the full scope yet.

When I interviewed, they were favorably impressed by the fact that I'm a WordPress developer. This is something that our industry is seeing more and more of -- involvement in open source projects is often a good selling point in your resume. Several people have come by to ask me WordPress questions, and more than once I've been asked, "you're the WordPress guy, right?" I haven't actually done anything WP-related, yet, but I think that might come down the pipe one day.


Posted in Uncategorized | Comments Off

WordPress Schwag Cache

June 11th, 2007 by Ryan


If you’re in the Silicon Valley area, grab your GPSr and navigate to N 37° 11.329′, W 121° 50.846′. There you will find a geocache filled with WordPress schwag. Two .50 caliber ammo boxes hold WP stickers and t-shirts. You have your choice of black or red t-shirts.

IMG_3422

To get there, start at the Mockingbird Hill entrance of Almaden Quicksilver Park at N 37° 11.594′, W 121° 50.191′. There is a big parking lot here as well as water and restrooms. Grab a map at the trail head and head out on New Almaden Trail. Take New Almaden trail approximately 1.4 miles until you reach N 37° 11.475′, W 121° 50.832′. From there, head uphill along an unmarked but well-used trail that runs between New Almaden trail and Randol trail. There’s no sign post, but the trail is easy to spot. Take this trail a quarter mile to get to the cache. If you want a big hint as to where to look (cheater), this gives it away. The cache consists of two ammo boxes. Make sure to check them both. Shirts are available from S to XXL in both men’s and women’s sizes. Please don’t bankrupt the cache. Take only one shirt per person. Stickers I have plenty of, so feel free to take extra stickers. Before leaving, make sure everything goes back in the ammo cans and that the cans are fully latched. From here, you can keep heading uphill for some nice views of Almaden Valley, Santa Clara Valley, and the Santa Cruz mountains. Use your new t-shirt to wipe the sweat from your brow as you climb.

Beware of Western Poison Oak while on your hike. It is everywhere. There are usually plenty of opportunities to observe wildlife. Be on the watch for deer, wild turkeys, California quail, birds of prey, lots of lizards, and gopher snakes. Mountain Lions live in this area, but they are a rare sighting. I’ve spotted a few coyotes in nearby parks, but never in Quicksilver.

Here are some photos of the route you will take, and here are photos from all over Almaden Quicksilver. Enjoy your hike, and leave a comment on this post if you visit the cache.


Posted in Uncategorized | Comments Off

GNOME goes WordPress

June 10th, 2007 by Ryan


Jeff dropped a note mentioning that GNOME has gone with WordPress µ on blogs.gnome.org. I used to contribute bits and pieces to GNOME before being consumed by WordPress full time. I found out about WordPress through some GNOME developers. I took some of the GNOME philosophy with me to WordPress and found that Matt shared much of it. So I’m glad to see GNOME using WP and hope they will be as happy with it as I have been with GNOME.


Posted in Uncategorized | Comments Off

« Previous Entries

Based on FluidityTheme Redesigned & Widetized by Ambiguous Arts © 2007. P.O. Box 2312, Carmel, CA 93921 831.917.5027 All rights reserved.