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.

Back to Livejournal

I did a bit of posting in Livejournal’s community related to my hometown and received more comments that I accumulated at deadprogrammer.com in a couple of years. The posts are in Russian, but I believe they will be interesting to a significant portion of my readers, especially the comment part where I debate merits (or lack thereof) of speedos, man purses, and other things.

Одесские наблюдения



Два вопроса


The rest of you please enjoy these two pictures from one of the posts:

State of the blog 2008

A while ago Merlin Mann gave a pretty neat definition of what makes blogs good:

” 1. Good blogs have a voice.
2. Good blogs reflect focused obsessions.
3. Good blogs are the product of “Attention times Interest”
4. Good blog posts are made of paragraphs.
5. Good “non-post” blogs have style and curation.
6. Good blogs are weird.
7. Good blogs make you want to start your own blog.
8. Good blogs try.
9. Good blogs know when to break their own rules. “

My list would have been very similar, and I am pretty sure deadprogrammer.com is a good blog. God knows I try :)

On the other hand, I seem to have about the same thousand readers I had 4 years ago. I was kind of hoping that my writing and photography would work on their own, bringing me a steady stream of new readers. It does not seem to be working. Every time I try to put some extra effort into a post, my hopes of somebody linking to it, digging it, twittering about it, or even just leaving me a thoughtful comment are dashed. After a few years of this, it gets harder and harder for me to write. My posting frequency is not what it used to be.

Several hundred readers still subscribe to my blog from Livejournal. The majority of the rest resulted from a single Boing Boing post. I don’t really think it’s the most interesting post I ever wrote, but to this day it brings in about 25% of my search engine traffic, and the majority of outside links.

Back then I actively tried submitting my posts to Boing Boing. Boing Boing submission form can rival magazine publisher’s black hole. I finally practically begged Cory Doctorow in a personal email to take a look at at the Starbucks post (which the submission form vaporized previously), and I did get that link.

I tried to get Jason Kottke interested in my blog, especially since it seems to me that a lot of the stuff that I write about is very much up his alley, but after a chat or two I got tired of pitching. It just does not fell right for me to buttonhole busy A-list bloggers – hey, look, I wrote this, you might like it.

Anyhoo, what’s the point of all this? Apparently I suck at PR and self-promotion, and I would really like some help here from the audience. Do you know somebody who’d enjoy reading Deadprogramemer.com? Please, tell them, especially if it’s an A, B, C, D or E list blogger. Please?

7 Things You Can (Mostly) Do Without in Your Web Business

I’ve spent a lot of time in meetings about websites. Not as much as I’ve spent building websites, but a sizable chunk of my career. I mostly spent that time listening and not being listened to. But now that I’m older, have “Sr” in my title (it stands for Senor), a beard, those cool designer glasses, and have a lot more weight in meetings. Mostly due to the fact that I got pretty fat.

Previously I wrote about the evils of redesigns in The Russian Tea Room Syndrome, and about how web developers are like cooks and prison inmates. Restaurants are a notoriously difficult businesses to run, mostly because there are a lot of amateurs who do not understand what is not important. It’s not what’s important. Everything is important. It’s knowing what can be cut, especially in the beginning, that makes some restaurants succeed when others fail.

Here’s my list of 7 things that seem like they are important in websites, but really aren’t. These are not deal breakers. These are the things to think about last.

1) Looks. It’s nice to have a clean and beautiful design. But making a site pretty is not going to make you more money. Just look at plentyoffish.com – probably the ugliest dating website in existence. It does not stop its maker from raking in 10 mil a year without any hard work whatsoever.

2) SEO. SEO is the alchemy of the web business. I’ve seen more sites get sandboxed by Google than gain pagerank from SEO efforts. Most big url rewriting efforts create broken links, which are bad no matter how you look at it. Don’t break urls, if you can – make them descriptive, and try to make your site linkable (i.e. GET instead of POST search forms), but that’s about all that might help you. Spending a lot of money on SEO is just plain stupid.

3) Performance. Everybody hates slow and crashing websites. But unless this lasts for years, it’s not a deal breaker. Twitter suffers from worst imaginable performance trouble. Livejournal went through a long stretch of bad performance. Even the big dogs like eBay and Amazon have a slow spell or outage or two. MS Windows became the most popular OS in the world not because of its stability. Of course it’s currently losing market share to Apple, but this precess took decades. If anything, it looks like Twitter outages make its users miss the service so much, that when they get back in the twitter their brains out after bitching about the outage for a bit.

4) Good branding. A good name, url, and logo are not going to make you more money. They are just not that important. As long as it’s not too embarrassing, like therapist.com it’s going to be ok. If you look on Alexa, icanhascheezburger.com has almost as much traffic as tvguide.com.

5) Pure CSS markup and web standards compliance. I’m sick and tired of being told that “tableless” design is somehow important. It’s not, it’s not, it’s not. Go to google.com, amazon.com, ebay.com, nytimes.com and view the source. You will see tables galore. Wasting time eliminating tables is just plain stupid. And all-div completely web standards-compliant XHTML markup is not going to make you any more money. I refuse to feel bad about using tables. And perfectly validating XHTML is only going to help page scrapers.

6) Keeping the site ad-free. Site users are ok with ads. They really, really are. If you have what they want they will suffer through the biggest ads you can throw at them. “Half Page Godzillas”, “Skyscrapers”, “Page Killas”, “Shrieking Flash Sound Diddlers” – whatever you call your most annoying ad – despite heated assurances from the users, it’s not going to make most of them leave. Some will and more will follow, but it’s not as drastic as you might think. If you have something unique. I’m not advocating horrible Flash ads. “Flash Sound Diddlers” are not more effective in selling stuff than tasteful Adsense ads which will not have anybody at all leave. You can use ad money to buy more servers, more content, ads of your own. This will bring in more users.

7) Widgets. If your entire web strategy is based on building widgets, well, you are in trouble. You are entering an frenzied and very crowded market. Widgets are the bastard child of old school web “badges” and “push technology.” Widgets sometimes work great for increasing pagerank, just like the “web awards” that were given out by some sites in Web 1.0 times. They might get people to link to you, especially if these people are Myspacers that are constantly looking for shiny things to line their pages with. But in the big scheme of things widgets are not a great way to spend ttime and money.

Oy, Again With The Moving…

Using Dreamhost is quickly turning into nightmare. It’s a cheap, full featured and generous web host, except only good for websites that do not matter (and I think that mine do). There is no upgrade path to a virtual private server (which is one step below a dedicated machine both in price and performance), their overall uptime is not something I’d trust, and their blog is just driving me nuts. At the suggestion of a friend I’m moving over to Webintellects.

As a web developer I specialize in content management systems. I have wasted many years of my career on Microsoft technologies, although my personal website was always built using open source tools. In recent years, when faced with the twin horrors of Sharepoint and MS CMS, I just could not go on any more. I just can’t imagine an entrepreneur who would willingly use this stuff to build a business. I quit my job of almost 6 years, took some time off and went on to a job that allows me to use open source tools. We’ve had quite a bit of success with Drupal, a leading open source CMS.

WordPress is a great tool for blogs, but it makes good sense for me to start using Drupal for my own sites, as well as at work. Drupal grows at an astronomical rate, improving in leaps and bounds. I have a couple of modules almost ready for contribution (once I make them a little neater and better documented). Drupal is very scalable, very well designed and has a huge following. I could not be happier with it as a developer.

In the five years that my website existed in blog format I moved 3 times. Livejournal -> Movable Type -> WordPress. Now it’s Drupal‘s turn.

I apologize in advance for any annoying symptoms of the move, like refreshing of the RSS feed where already read articles might show up as new, etc. Please bear with me.

The Nutcracker Season

This holiday season finds me once again working in the Rockefeller Center. This time I am in the building with the funny neon sign.

Most of the lesser Rockefeller Center buildings put up gaudy X-mas decorations up front: a giant present box, a huge mound of ornaments, and a scary animatronic jack-in-the-box riding a train. My building has giant nutcracker statues.

While giant copies of their CO stand outside, in the lobby a trio of toy soldiers sing carols and gesticulate. They seem to be enjoying themselves, well, as much as three costumed men in makeup can enjoy singing carols to an endless procession of salarymen, suits, techies, administrative assistants and other denizens of corporate America.

I, for one, is very thankful for a pleasant and interesting new gig and many exciting opportunities, but my thoughts are with those in terrible jobs. Those of you who aren’t happy – there’s always the Internets with wonderful sites like the Joel on Software job board.

Still, those of you who think that you are unhappy, I’d like to leave you with a haiku that I made by lightly editing a very real lament of a Burger King worker that I found on Livejournal’s bkstories community. I count BK as one syllable, not two which is probably wrong.

Holiday season.
I work at BK near Walmart.
Shoot me in the face.

What Do I Know About What People Like?

As you might have noticed, for all my ranting about redesigns, I went ahead and redesigned my own site. It took me all of 3 hours. I changed the template a bit, fixed a nasty WordPress search bug that inserted unsightly escape characters into search strings, changed all the urls for more search engine friendly ones (while preserving all the original ones) and made navigation arrows a bit more consistent. Fascinating stuff, isn’t it? This is all a part of my effort to finally get over the thousand reader mark on the Feedburner counter. It stands at 915 today (and I used that counter graphic as one of my Optimus Mini’s applets).

I get a lot of Google and Google images traffic, as my humble blog is the second search result for “starbucks logo”. After reading my article about the Starbucks Melusine, most visitors just scamper away. I realized that I need some kind of a hook at the end of the page. I added the easy subscribe buttons, links to del.icio.us , Digg, Reddit and Netscape and a sampling of what I think are some of my better posts.

What I think are my better posts are, probably is not what you, the readers, think. So, if I may be so bold, please tell me what posts do you think should make “Best of Deadprogrammer” list, as well, as which particular post made you subscribe to my rss feed (or to bookmark my site). Also, in an effort to overcome the 1K reader barrier, I will even stoop so low, as to ask all of you for a link, if you can spare one. The thousand reader barrier must be broken.

Speaking of statistics, here’s a comparison of Feedburner’s breakdown. Since 2005 I went from 47 readers to 915. I am surprised to see a decrease in Livejournal readers since I quit it. Well, what can you do. I think I should give up my blog and move to Myspace. That’s where all the cool kids are and where most of my image traffic is coming from, even after I played a bit of a trick on them.

Starbucks Moonshine

Livejournal has the best community blogs. I frequently read baristas even though it’s often full of petty grievances, tean angst and other Livejournal-flavored posts. But some are absolute gems. Like this story of an old lady who asked baristas to give her empty syrup bottles. After a month of getting the empties, someone curious asked her about how she was using them. Her response too honest for her own good, as she got no more bottles. It turned out that she was giving the bottles to her daughter for bottling moonshine.