On Facebook Advertising

Two things happened recently: Facebook’s IPO fizzled and there was a slew of articles and blog posts about how Facebook ads are ineffective. The majority of the articles follow the same song and dance: we spent $250, got some likes from random people and nothing changed. The one standout it GM dropping Facebook ads. GM’s budget was 10 million dollars, and the way I understand it, this is their equivalent of $250 for a small business.

While I personally dislike Facebook tremendously and want it to fail, I think that the FB ad-bashing articles are off base. Facebook ads are a great deal. I am not an advertising professional, but I drank with a lot of them and I think picked up a reasonable amount of knowledge about the industry. I also stayed at … hmm, can’t remember the name of the hotel, but this is a reference to the TV ads where people say “well, I’m not a [professional that has to be very smart and skilled] but I stayed at [name of the hotel]”.

There are many, many bad deals in advertising. There are big-name websites that have “respectability” plus a huge saleseforce. These guys can charge $15, $20, $30, sometimes even $50 per 1000 banner impressions. cost for 1000 impressions is called CPM: cost per M where M is the Roman numeral 100. At the higher price you get gigantic custom ads known by a variety of names: browser crashers, godzillas, superskyscrapers, page fuckers, etc. There are also “sponsorships” where dumb companies buy little badges on new sites with next to no traffic.

How do these things get sold? Well, the agency people who control how the ad budget is spent are often young and get a lot of free drinks. Also, ad sales people are very good at what they do.

Then there are cut rate ad networks that have 5-20 cents CPM. The traffic for these comes from all kind of low quality sites: lyrics websites, guitar tab sites, all kinds of web farms, dating sites, porn and near-porn sites and the like. Big sites sometimes buy traffic from these sources when they don’t have enough “inventory”, but they’ve already sold a lot of high CPM ads. These are a pretty bad deal, and I suspect much of the traffic is simulated by bots. It is cheap and there’s a lot of it though. Targeting options are pretty weak with the exception of plentyoffish.com: POF allows for very detailed targeting. If you want to target only Canadian redheads between the ages of 18-22 – you can.

Google ads are a better deal: you are targeting people that are searching for something. Google has pretty sophisticated algorithms for detecting fraud, but I suspect click fraud is still rampant. Google’s predominant model is charging per click instead of per 1K impressions, and you have to compete with other people for hot search keywords. For instance, ambulance chasers pay ridiculous money for “mesothelioma” keyword. Mesothelioma is a type of cancer caused by asbestos, and layers apparently can make crazy money suing on behalf of people who have it. A click on an ad can fetch as much as $10 or more. There are many other expensive keywords where even a single click is worth paying actual humans to click on them from time to time. There are also pity clicks and punitive clicks: sometimes people click ads to support sites that they like and to punish ones advertisers they don’t like.

Facebook ads by my estimation cost about 1/10th of Google’s, almost in the low quality network territory. The targeting is amazing though: Facebook knows a lot about what people are interested in and lets you have a sniper-like precision of putting your ad in front of them. Do you want New Yorkers who are into planted aquariums, fishing and knife sharpening? If there are 10 people like that you can reach them on Facebook for a few bucks. Unlike Google users who are searching for something, Facebookers are there for ogling hot people and playing Farmville. They tend to ignore the ads, but you can get an even better deal by buying CPC ads. Massive click fraud is difficult on Facebook, most of these clicks are real.

There are many things about advertising in general that are mysterious: starting with the “if I almost never click on ads then who does” to “do tv and magazine ads actually make me buy anything”. Are funny ads where you remember the joke but not what was advertised worth the money? Are people swayed by car commercials? How about those Coca Cola billboards? How about those ads in New York taxi cabs and ads that annoy in general – are they effective? QR codes ( http://wtfqrcodes.com/ ) – are they the advertising equivalent of “free public wifi” zombies? I have a hunch, but I don’t really know.

What I do know is that compared to other options FB advertising is a pretty good deal at current pricing.

On Learning to Code. Or Not.

Alert! Jeff Atwood wrote an excellent post about the “learn to code” movement.

He starts with a tirade full of incredulity about Mayor Bloomberg’s New Years resolution to learn to code with Codeacademy.

“Fortunately, the odds of this technological flight of fancy happening – even in jest – are zero, and for good reason: the mayor of New York City will hopefully spend his time doing the job taxpayers paid him to do instead.”

Let’s put aside the princely sum of $1 that His Honor collects from the job. Let’s even put aside that Mayor Bloomberg is doing exactly what he’s supposed to be doing – promoting New York’s bustling tech industry. More to put aside: our Mayor happens to be a technology pioneer with a ridiculous IQ.

This all comes down to a very difficult question: should people learn nerdy things when they have little use for them, just for the sake of learning.

I remember a Livejournal discussion that was hashed over and over in the Russian-speaking community. A math teacher was stumped by a question from his student: why was she supposed to learn about trigonometry when she wanted to become a beautician. The teacher did not come up with a good answer, but the livejournalers did dig up some awesome reasons. One well meaning pro-education-for-the-sake-of-education zelot said something to this effect: well, if you work with nail polish, tangents and cotangents figure prominently in formulas that deal with reflectiveness of thin films. That will lead to a greater understanding of how and why nail polish looks the way it does.

On the surface it may seem that Mayor Bloomberg has about as much need to know how to code as much as a beautician needs to know about sines and cosines.

There’s more: executives who learned a little bit about writing code at some point tend to say the following phrase “oh, I don’t know much about writing code, just enough to be dangerous”. They say it with this look on their faces:

Jeff takes this further with the plumbing analogy: since almost everyone has a toilet, should everyone take a course at toiletacademy.com and spend several weeks learning plumbing?

Normally I’m against education for the sake of education. I once argued for a whole hour with a co-worker who felt that _any_ education is worth _any_ amount of money. I did not know at the time that he held degrees in Psychology of Human Sexuality, Biology, Sociology and Communications. He must have been on to something: he made an amazing career while mine took a nosedive soon after that discussion.

Here’s where Jeff is wrong (I know, this is shocking, Jeff being all wrong and such): it is better to push people to learn incongruous things then to tell them that this is a bad idea. Steve Jobs learned calligraphy in college and it turned out to be super useful. He might not have become a master calligrapher, but man, did that piece of esoteric knowledge change the world.

When I was in college I badly wanted to take a scientific glass blowing class, but did not. I deeply regret that.

Are there people who learned plumbing from This Old House annoying contractors? Yes. Are self-install refrigerator ice maker lines causing millions in water damage? Yes. Is the world better off because Richard Trethewey taught it some plumbing? Absolutely.

If anything, attempting to learn to code will make people more compassionate towards coders. I do believe that people who are not already drawn to programming are not likely to become programmers, more than that, they are not likely to sit through a whole RoR bootcamp or worse. Learn to code movement is not likely to lure in bad programmers, but it might give people some understanding of what coders go through and maybe be more hesitant to have loud yelling-on-the-phone sessions near their cubes. Mayor Bloomberg, who enforces open workspace policies everywhere he works, might understand why programmers need offices. Jeff, let His Honor code a bit.

Varnished WordPress

As this blog comes closer to the 10th year anniversary, my blogging software choices continue to change. So far the path has been: Livejournal -> Movable Type -> WordPress -> Drupal 5 -> Pressflow Drupal 6. Since I had some time on my hands lately, as an exercise, I decided to upgrade to Drupal 7, but after a few hours gave up in complete disgust. Drupal community is very proud for keeping its technical debt very low, but they rarely talk about who pays it.

It turned out to be quicker to export everything to the latest version of WordPress. I still like Drupal, but latest WordPress has some really nice features. I also took the time to install Varnish and trick out my sites with reasonably advanced caching via Memcached and APC. I also switched to Percona MySQL just for kicks.

Webmaster Tools Crawl stats

I’m still working on theming the blog, and tweaking, so things will break from time to time.

Catching the Vintage Train

New York Transit Museum operates a special subway train made out of a ragtag selection of vintage trains.  Normally these trains are used as a stationary exhibit, sometimes as a vehicle for special events (like the Old City Hall station tour), but sometimes all straphangers are in for a treat: the train operates on normal subway lines.

Most people view subway trains as uniform utilitarian objects, stainless steel worms that swallow them in point A and if everything goes well spit them out in point B. But in reality the modern NYCTA system is made out of a hodgepodge of different train models, a legacy of three different subway systems. Many old train models have been retired, like the beloved “Redbird” trains. And by retired I mean dumped into the ocean to become artificial reefs in NJ. I remember riding redbirds, and sometimes used to encounter other old trains before they have been scrapped in favor of the more technologically advanced, but poorly designed R160-style trains. The museum train is a special case of this.

The rivets and a mishmash of large windows and steel panels give the old R1 cars look of living prehistoric creatures. Graffiti writers of the 70s hated these cars because they did not have a lot of flat surface to cover in paint and called them “ridgys”. Modern train cars mostly do away with the front windows, cutting off the whole front for a spacious machinist’s cab.

This unfortunate design decision leaves less space for passenger and does not allow kids of all ages to get “machinist’s view”.

 

These trains don’t sound like the new ones: they don’t make the “ding-dong” sound when the doors are closing, but produce a pleasant “ksssht-pfft” noise of a pneumatic actuator. Instead of whining a few melodic notes like the R160s, R1s roar like propeller planes.


One unique feature is the lack of large plastic American flag stickers that were added to all trains after 9-11.

Helvetica was not dominating the typography of the subways yet. In fact, it was not yet created.

The alternate reality feeling permeates the cars. Dangerous looking ceiling fans, exposed incandescent lightbulbs and vinyl seats were from an era less concerned with vandalism.

State of the art pre-war climate control: rider-accessible vents

and futuristic fans

 

The tiny little rattan seat behind the machinist’s cab and the completely different design of the hand strap.

One of the biggest difference with the modern trains is how the conductor works. He operates the train with the two hand grips while standing precariously between the cars.

 

Here’s a video that shows this a little better

One of the coolest parts is the fact that you can ride between the cars (something that is against the modern MTA rules. “<a href=”http://www.deadprogrammer.com/looking-at-the-things-flashing-by/”>Looking at the things flashing by</a>” normally gets you a ticket, even if it’s an amazing experience.

 

Here’s a video:

Gold and pinstripe “CITY OF NEW YORK” signs are gorgeous, but the ad reproductions are more entertaining than authentic.

A friend of mine who remembered these trains from his youth told me that the part that he hated the most about them were the rattan seats: they tended to fray and fragment into pin-sharp pieces of fiber. Rattan seats look beautiful and are extremely comfortable when new, but I indeed sat down on one seat that had a broken section that was uncomfortably sharp. On the other hand all of these trains feature “conversation-style seats” turned 90 degrees to each other instead of the horisontal rows of benches that are the standard today.

Some dubious advice, although I’ve seen this happen.

I’m pretty sure this patent ran out by now.

Currently this train operates every Saturday through January 19th. This page lists the schedule of departures. A round trip to Queens takes about an hour. The best way to catch the train is to arrive on 2nd Avenue stop of the F line in Manhattan. The train spends about 10-20 minutes standing in the station there, so it’s easier to catch. In Queens it does not stand on the platform, but the departure times are pretty accurate. If it’s more convenient, you can just spend a 15 mintues to half an hour waiting along the weekday M train stops, like 47-50th Street/Rockefeller Center.

Apple Store at Night

The Apple store is eerily empty at night. It’s only populated by reflections from the other side of the street.

apple-store-reflections

A typical Mac user is camping out even though there is no special event tomorrow.

typical-mac-user

How To Speed Up the Web (And Gain A little Privacy)

Let’s face it: Facebook “like buttons” are dragging the pageload speeds down. They are just the pits, and they are slow mostly because the Great Zuck want to know what you are up to. Screw that – install WidgetBlock for Chrome, your pages will load faster, your browser will crash less, and Zuck will know less about you.

This has been a public service announcement. Also, don’t forget to back up – hard drives only live for a few years.

[update] I seem to be singling out Facebook buttons. And I do – they are the worst offenders in terms of performance. On the other hand Widgetblock works for all kinds of widgets.

Love,
Deadprogrammer