How to solve Facebook’s error 1366027

Sometimes, Facebook silently fails when you upload a new profile picture.

After clicking Upload Picture, message indicating “your changes have been saved” is displayed. However, the new picture does not appear on your profile. Further, the string success=0&errornum=1366027 is appended to the URL.

This error means the image you uploaded is too small. You need to use one that is at least 190px wide.

Globe and Mail + Nanos = Infographic fail

A month ago, The Globe and Mail ran an article entitled Most Canadians want Elizabeth May at leaders’ debate, poll shows. It presented the results of a poll showing most Canadians supported Elizabeth May’s inclusion in the leaders’ debate. The article was unremarkable.

The chart that accompanied it, however, was remarkably bad:

First, the graph uses a donut chart — which is basically a pie chart — which is a terrible idea to start with. The chart is made worse by using only two colours: dark green and light green.

  • Dark green represented “support.”
  • Light green represented “somewhat support,” “somewhat oppose,” “oppose” and “unsure.”

If you casually glanced at the graph—and the headline—you’d get the impression 52% of Canadians opposed May’s inclusion in the debates. Not only does this contradict the article’s headline, it’s also false. In fact, only 28% of Canadians opposed May’s inclusion in the debates.

A small tweak conveys the message better:

Your hiring process is broken

Job ads are usually terrible. Both boring and bland, they’re typically written by some HR functionary who is totally disconnected from the actual work being done.

Requirements are ridiculous, and often impossible to meet (hint: in 1997, no one had 10 years of Java experience!). The emails I get from recruiters are generally poorly written, overly obsequious and terribly targeted.

Organizations frequently say they want to change the world. They claim to strive for excellence. If a company can’t manage to do event a decent job of hiring, how can I trust it to save the whales, build a web site or even bake a decent brownie?

Your job ad is often your first impression. Make it count.

37signals recently hired an administrative assistant. Their job ad listed typical tasks instead of vague qualities. That’s pretty good.

A few months ago, The Kojo Nnamdi Show discussed the DC-area startup scene. While the companies themselves were definitely interesting, the segue into the hiring process caught my ear. The show contrasted iStrategyLabs’ Social Experience Producer ad with one from the federal government.

From iStrategyLabs:

At iStrategyLabs you will be responsible for supporting our various client projects/campaigns, while interacting with other strategists/project managers/designers and developers. You’ll create killer digital and experiential campaign concepts for Fortune 500 brands, startups, non-profits and for internal projects.

You must think and act like a producer.

You must have a deep understanding of social media. Seriously – if you’re not a Facebook/Twitter/Blogging fanatic please don’t apply. We also don’t care if there are pictures of you on Facebook doing keg-stands…but please…don’t have a sparkly Myspace page. That’s just gross.

You must also have a deep understanding of online to offline promotions – with a heavy focus on in-real-life experience design. If you understand how people live, work, play and shop in the real world and can translate online to offline interaction and vice versa…this gig is for you.

And from Uncle Sam:

This is an occupational band three job in the Defense, Civilian, Intelligence, Personal System, DCIPS. Band three duties are at the full performance level and are equivalent to those of the GSGG 11, 12 and 13.

“he selectee’s salary will be set within the band equivalent to a GSGG grade based on the selectees qualifications in relation to the job. If you’re claiming five points veterans preference, you must submit a copy of your DD214, Certificate of Release or discharge from active duty or other documentation that supports…

And Kojo asks the obvious question: which job would you rather take?

If you think iStrategyLabs’s job ad is nice: it is. But it can’t hold a candle to this work of art from the Sarasota Herald-Tribune:

We want to add some talent to the Sarasota Herald-Tribune investigative team. Every serious candidate should have a proven track record of conceiving, reporting and writing stellar investigative pieces that provoke change. However, our ideal candidate has also cursed out an editor, had spokespeople hang up on them in anger and threatened to resign at least once because some fool wanted to screw around with their perfect lede.

We do a mix of quick hit investigative work when events call for it and mini-projects that might run for a few days. But every year we like to put together a project way too ambitious for a paper our size because we dream that one day Walt Bogdanich will have to say: “I can’t believe the Sarasota Whatever-Tribune cost me my 20th Pulitzer.” As many of you already know, those kinds of projects can be hellish, soul-sucking, doubt-inducing affairs. But if you’re the type of sicko who likes holing up in a tiny, closed office with reporters of questionable hygiene to build databases from scratch by hand-entering thousands of pages of documents to take on powerful people and institutions that wish you were dead, all for the glorious reward of having readers pick up the paper and glance at your potential prize-winning epic as they flip their way to the Jumble… well, if that sounds like journalism Heaven, then you’re our kind of sicko.

For those unaware of Florida’s reputation, it’s arguably the best news state in the country and not just because of the great public records laws. We have all kinds of corruption, violence and scumbaggery. The 9/11 terrorists trained here. Bush read My Pet Goat here. Our elections are colossal clusterfucks. Our new governor once ran a health care company that got hit with a record fine because of rampant Medicare fraud. We have hurricanes, wildfires, tar balls, bedbugs, diseased citrus trees and an entire town overrun by giant roaches (only one of those things is made up). And we have Disney World and beaches, so bring the whole family.

That, my friends, is how you kick some ass.

What to do when you get a new credit card

As soon as you get that shiny new credit card, do the following:

  1. Activate the card. Call the 800 number on the sticker and answer the IVR prompts or convince the human that you’re real.
  2. Sign the card.
  3. If you haven’t already, call customer service and opt out of everything: phone, mail and email solicitations; list sharing; affiliate sharing. Be sure to opt out of “SuperChecks” or balance transfer checks. You’ll probably still get one or two of these. Ugh. Ask if there’s anything else you can be opted out of.
  4. Sign up for electronic billing.
  5. Set up email and text alerts to remind you when your bill is due; when you’ve hit a certain spending threshold; etc.
  6. Add the new credit card to your personal finance software (mint.com, Quicken, etc.) Enter the username and password you used in step (4), when you set up your account on the card’s web site.
  7. Set up online bill payment. Do one of both of these, as your card allows:
    • Log in to your bank’s web site, and add the credit card as a bill/payee.
    • On your credit card’s web site, add your bank account. Then, come bank in 2-3 days and confirm the deposit amounts to prove ownership of the account.

    Once you’ve done this, make a small test payment — say, $10. That way, you can be sure payments will work properly in a month, when it’s time to pay your bill. You don’t want to find out something went wrong 24 hours before payment is due.

HOWTO count words in JavaScript

Here is a handy JavaScript function for counting words:

String.prototype.countWords = function(value) { // remove html tags var cleanedText = this.replace(/< .[^<>]*?>/g, ' ') // remove numbers and punctuation .replace(/[–—.(),;:!?%#$‘’“”'"_+=\/\-]*/g, '') // remove/coalesce space chars .replace(/(&nbsp;|&#160;|[ ])+/gi, ' '); // don't split "" into words, as you'll get 1 ([""]) if (cleanedText === "") { return 0; } // count words return cleanedText.split(/\W/).length; }