Was trying to upload some photos and noticed that the captions I had set on the photos in Picasa showed up as titles in WordPress instead of as captions. Examining the core code, I found that it’s a known issue, but that fixing it in the core isn’t so easy, since WordPress has to support a number of different image editing programs and such. Different programs use the EXIF fields in different ways.

But I mostly use Picasa for photo management, so I don’t care about those other programs. So I wrote a quick plugin to fix the problem with WordPress and Picasa photos. Basically it just rejiggers the attachment when it’s added (but not when it’s edited) and puts the caption in the right place.

Plugin Name: Picasa Captioner
Description: Fix up WordPress to read Picasa Captions from EXIF info properly.
Author: Otto
Author URI: http://ottodestruct.com/

add_filter( 'wp_read_image_metadata', 'picasa_adjust_caption' );
function picasa_adjust_caption($meta) {
	if (empty($meta['caption']) && !empty($meta['title'])) {
		$meta['caption'] = $meta['title'];
		$meta['title'] = '';
	return $meta;

add_action( 'add_attachment', 'picasa_adjust_attachment' );
function picasa_adjust_attachment($id) {
	$attachment = & get_post( $id, ARRAY_A );
	if ( !empty( $attachment ) ) {
		$attachment['post_excerpt'] = $attachment['post_content'];
		$attachment['post_content'] = '';

The first release candidate (RC1) for WordPress 3.2 is now available.

An RC comes after the beta period and before final release. We think we’re done, but with tens of millions of users, a variety of configurations, and thousands of plugins, it’s possible we’ve missed something. So if you haven’t tested WordPress 3.2 yet, now is the time! Please though, not on your live site unless you’re extra adventurous.

Things to keep in mind:

  • With more than 350 tickets closed, there are plenty of changes. Plugin and theme authors, please test your plugins and themes now, so that if there is a compatibility issue, we can figure it out before the final release.
  • Users are also encouraged to test things out. If you find problems, let your plugin/theme authors know so they can figure out the cause.
  • Twenty Eleven isn’t quite at the release candidate stage. Contents may settle.
  • If any known issues crop up, you’ll be able to find them here.

If you are testing the release candidate and think you’ve found a bug, there are a few ways to let us know:

To test WordPress 3.2, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the release candidate here (zip).

Happy testing!

If you’d like to know which levers to pull in your testing, check out a list of features in our Beta 1 post.

I know you hate being criticized. Everyone does. But you don’t have to take it personally or even seriously every single time. Criticism is not something that should keep you from doing what you’re doing. The truth is there will always be people who want to stop you just for the sake of it. Sometimes you can deal with criticism in just one single step… check out my guest post at Lifehack.org to find out how.

How to Deal with Criticism in One Single Step

Focusing too much attention on absurd criticism destroys your productivity even more than answering emails does. I guess what I’m trying to say is that perfection is not such a brilliant idea as it may seem.

P.S. If you need some inspiration on having the right mindset check out what the Achuar Tribe can teach you about overcoming obstacles.

Related Posts:

Whether you think you can or you can't either way you are right.


Winners never quit and quitters never win.


Success is the ability to go from one failure to another with no loss of enthusiasm.


The best way to have a good idea is to have a LOT of ideas.


It does not take much strength to do things, but it requires great strength to decide what to do.


The journey of a thousand miles must begin with a single step.


We all die. The goal isn't to live forever, the goal is to create something that will.


I have not failed. I’ve just found 10,000 ways that won’t work.


Selling to people who actually want to hear from you is more effective than interrupting strangers who don't.


I’ve failed over and over and over again in my life, and that is why I succeed.


We are told that talent creates its own opportunities. But it sometimes seems that intense desire creates not only its own opportunities, but its own talents.



12 best quotations on success in plain text

“Whether you think you can or you can’t either way you are right” -Henry Ford

“Winners never quit and quitters never win” -Vince Lombardi

“Success is the ability to go from one failure to another with no loss of enthusiasm” -Sir Winston Churchill

“The best way to have a good idea is to have a LOT of ideas” -Linus Pauling

“It does not take much strength to do things, but it requires great strength to decide what to do” -Elbert Hubbard

“The journey of a thousand miles must begin with a single step” -Lao Tzu

“We all die. The goal isn’t to live forever, the goal is to create something that will” -Chuck Palahniuk

“I have not failed. I’ve just found 10,000 ways that won’t work” -Thomas Edison

“Selling to people who actually want to hear from you is more effective than interrupting strangers who don’t” -Seth Godin

“I’ve failed over and over and over again in my life, and that is why I succeed” –Michael Jordan

“We are told that talent creates its own opportunities. But it sometimes seems that intense desire creates not only its own opportunities, but its own talents” –Eric Hoffer

“You must do the thing you think you cannot do” –Eleanor Roosevelt

(images from Wikipedia)

Related Posts:

So you want to be a blogger… But what should be the topic of your blog? Is it OK to blog about your dog? Well, why not. Since people are finding success tweeting shit their dads say then why wouldn’t you be successful blogging about your dog…

Anyway, maybe doing a little research is a better idea after all, hence this post. To find out what I’m on about feel free to check out my guest post at YoungPrePro.

12 Audacious and Creative Niche Searching Ideas for Your Blog

Once you have your niche there are still some things yet to do. For example, you have to decide which domain is right for you, you have to find a WordPress theme (remember, free WordPress themes are evil), and last but certainly not least – you have to find some blog traffic sources.

Related Posts:

While looking at my backlinks today, I noticed a site in French had linked to my post about making photo galleries. He mentioned that the Google Translate wasn’t great. I took a look, and while I don’t know how good the text translation was, I did notice that Google strangely tried to translate the code as well, thus screwing it all up.

A quick search revealed that all one had to do was to add the “notranslate” class to any wrapping object to prevent its contents from being translated.

Now, I use the Syntax Highligher Evolved plugin to display code on my site (although I use an older version because I like the look and functionality of it better than the latest version). So I edited the plugin and found where it inserts the PRE tag, and added the notranslate class to it. And voila, now my code doesn’t get translated anymore.

Just a helpful tip for anybody who posts code on their sites.

Google rolled out their +1 button today. So I added it here. You’ll find it below all the posts. Try it out.

Here’s the simple-stupid plugin I wrote to do it. While you can just edit your theme, I like making these sort of things into plugins. That way, I can turn them off at will, and I know exactly where to go to change them without having to dive into my theme code. Also, if I change themes, the code still works on the new theme.

Plugin Name: Otto's Google +1 Button
Description: Add a +1 button after the content.
Author: Otto
Version: 999

add_filter('the_content', 'google_plusone');

function google_plusone($content) {
	$content = $content.'<div class="plusone"><g:plusone size="tall" href="'.get_permalink().'"></g:plusone></div>';
	return $content;

add_action ('wp_enqueue_scripts','google_plusone_script');

function google_plusone_script() {
	wp_enqueue_script('google-plusone', 'https://apis.google.com/js/plusone.js', array(), null);

I wrapped the button in a div so that I could style it. In my particular case, I’m floating it right and giving it a margin, same as the Twitter and Facebook plugins. One day, I’ll make all these little Google plugins more generic and configurable, and roll them into a Simple Google Connect plugin. :)

One thing I don’t like is that the +1 button only works for people who are logged into a GMail account. Sorry Google Apps users, you’re out of luck. Complain to Google until they fix it.

If you want to add more parameters to the plugin and reconfigure it, you can find out about the available parameters here: http://code.google.com/apis/+1button/#configuration

Just upgraded to the beta of 3.2. I like the new admin interface overall. Really, I do. But relatively minor things tend to bug me sometimes.

For example, I don’t much care for the Site Title being so tiny and hidden at the top of the admin screens. I like the site’s name to be big and prominent, as it’s a link to the front end of the site. On multi-site, it’s awfully nice to see at a glance what site I’m on. I often click that link to go to the front end of the site easily. So trying to navigate to the front end became difficult and hit or miss with this title being so tiny.

I also don’t like seeing the Page Title being so big and having a big ol’ icon there beside it. The Page Title strikes me as kinda useless. I mean, I know what screen I’m on.

So I wrote a quick tweak plugin to fix it. I’m posting it in case it bugs you as much as it bugs me. On a side note, it’s a quick little demo of how to modify the WordPress admin CSS quickly and easily.

Plugin Name: Embiggen Site Title for WordPress 3.2 beta
Description: Embiggen the Site Title in wp-admin. Debiggen the Page headers. Ditch the useless icon.
add_action('admin_print_styles', 'big_site_title');
function big_site_title() {
.wp-admin #wphead {
	height: 42px;
.wp-admin #wphead h1 {
	font-size: 28px;
	#font-family: "HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,sans-serif; #uncomment this if you want to go to the sans-serif font
.wp-admin #header-logo {
	background-image: url("images/logo.gif");
	background-size:32px 32px;
.wp-admin .wrap h2 {
	padding-top: 1px;
	padding-bottom: 0px;
.wp-admin .icon32 {

Feel free to tweak further as desired. Also, WordPress might change further before 3.2 is released, so this may stop working or need further tweaking.

The annual WordPress conference, WordCamp San Francisco (home of the very first WordCamp), is now accepting speaker applications. Past speakers have included core WordPress developers, people building successful businesses on WordPress, popular bloggers, people from related projects and businesses…you name it. In addition to Matt Mullenweg’s annual “State of the Word” address, WCSF has played host to talks by people like Mark Jaquith, Matt Cutts, Richard Stallman, Scott Berkun, Karl Fogel, Tim Ferriss, Tara Hunt, Chris Pirillo, and John Lilly. With 3 days of content this year instead of just one, the list of speakers should be even more impressive. If you think you’d make a good addition to this year’s roster, check out the WCSF Call for Speakers.

google alertsIf you haven’t been using Google Alerts before then let me tell you that you’ve been missing out… This is one of those Google tools that’s not that heavily advertised so some people don’t even know it exists. So please let me, just in one sentence, tell you what this tool can do for you.

Google Alerts can send you a notification WHENEVER someone mentions your name (or your business name) somewhere on the internet.

There’s no better way of getting various information on what people are talking about your products (or your services, or your company, or you personally, or even about what your competition is up to) delivered straight to your inbox or RSS reader. What it means is that you can monitor the online presence of your brand at all times.

This is a very powerful knowledge, I’m sure you understand this. If you know what people are saying you can always react to it with a proper message. You can put out fires around your accidentally flawed products, give discounts for every testimonial (as a surprise, of course, not as an incentive to receive one), or make it work for you in any other form.

(There’s a lot more interesting Google projects, so if you want to be up to date with what’s going on feel free to check these out: 10 Google Labs Experiments You Should Know, 31 Useful Google Blogs To Keep Yourself Up To Date.)

Now let’s get to the point and learn how to set up Google Alerts.

How to set up Google Alerts and make it work for you fulltime

Setting up Google Alerts is pretty simple. Start by logging in to your Google account. Go to: http://www.google.com/alerts and activate the service. What you’ll see is something like this:

how to set up google alerts

It’s a simple form, just a handful of fields. The first one (“Search terms”) is the most important. Simply input the term you want to monitor. You can use all the standard google search operators there. So for example, if I want to monitor the occurrences of my twitter username around the internet the simplest thing to do is to just input “carlosinho”. But since twitter actually does a better job at monitoring itself then I want to exclude the results coming from twitter.com, that’s why instead of a simple one-word phrase “carlosinho” I would use “carlosinho -site:twitter.com”. This will exclude all the results from twitter.com, and give me only what’s left. This is just an example.

You can use whatever term you like. It can be something as simple as your own name. Or your business name. Or names of your main competitors if you want to be up to date with what they’re doing.

I’m using Google Alerts primarily for monitoring my blog’s name, its URL, my own name, and the most important keywords for my blog.

I will get a little more in-depth into how this actually works in a minute, but for now let’s just focus on the other fields.

The second field is “Type”. The default setting for it is “Everything” and I advise you to leave it that way. It means that Google will keep an eye on every type of content (videos, blog posts, tweets, articles, etc.). Eventually, if you end up with too many notifications besieging your inbox you can switch to a little more targeted monitoring, but “Everything” is a good starting point.

The next field is “How often”. At the time of writing this post you can choose from three settings: “As-it-happens”, “Once a day”, “Once a week”. It’s Google asking how often you want to receive notifications. “Once a week” sounds reasonable because you don’t want to have your inbox flooded with alerts… this is what you’re probably thinking right now, but in reality “as-it-happens” is the best setting here. I will tell you why in a minute.

The next field is “Volume”. Two options here: “Only the best results”, “All results”. There’s not much for me to explain here. I don’t know the algorithm responsible for deciding what the best result is and what isn’t, so you’ll just have to test it yourself. You can start with “All results” and then switch to “Only the best results” if you find notifications not that strongly related to your search term.

Last field is “Deliver to”. This field provides you with two possible options: your gmail address, and “Feed”. The best choice here in my opinion is “Feed”. If you select this and press the “Create Alert” button you will be given a custom RSS feed. You can use this feed in your favorite RSS reader, or if you’re using Google Reader the feed will automatically appear there. This feed will contain notifications about the occurrences of your search term around the internet.

How alerts work

What happens behind the scenes in Google Alerts is actually simple. Google Alerts provide a kind of window looking inside the Google Search Engine. What Google Alerts basically does is it looks at the current Google index and monitors it for any new entries. When a new entry appears and it gets indexed for your desired search term Google Alerts lets you know about it.

It means that there’s only one flaw in this whole system. And that is you won’t be notified the minute something appears on the internet, but the minute Google stumbles upon it. Depending on the site where the mention actually happened the time difference between the mention appearing and Google finding it may be anywhere between 2 seconds and 2 months (a rough estimate). Despite this flaw the whole system is still working very well and providing valuable results.

Now let’s take a look at some clever examples of using Google Alerts.

How to create a RSS feed for a site that doesn’t have one

Yes, Google Alerts can help you with this one too. All you have to do is input the site address preceded by “site:” as your search term. For this blog it would be “site:newinternetorder.com”. Then choose “Feed” as the delivery method and hit the “Create Alert” button.

What you will end up with is an alert notifying you about every new page within a given domain. Quite similar to what a standard blog RSS feed actually is. There is a slight delay with this method though, as I was saying earlier.

You can use Google Alerts for some interesting things. Like, for example, monitoring how often Microsoft is mentioned on the Apple website (simply by using “Microsoft site:apple.com” as your search term), or monitoring every new squidoo lens on guitar playing (“guitar playing site:squidoo.com”), or monitoring what people are saying about a piece of software called Market Samurai on Warrior Forum (“market samurai site:warriorforum.com”), or what they are saying about Warrior Forum itself in various places online (“warriorforum -site:warriorforum.com”).

Or maybe you’re interested in some WordPress advice. You can try “wordpress ~advice”. The “~” operator gives you all terms that are similar to “advice” (like: tips, questions, tutorial). The possibilities are endless.

Here’s a challenge for you. You already know how to set up Google Alerts so now try to come up with an interesting search term for new alerts and then share it in the comments. I’m looking forward to seeing your ideas.

P.S. There’s more tutorials like this one on this blog. For example: how to install nofollow blogroll links on your WordPress blog, and how to create a YouTube background.

Related Posts: