As you may have heard, Automattic recently secured the rights to operate the sale and registration of .blog — a new top-level domain, which is currently in the Sunrise period, where trademark owners can apply.


The Landrush period, where anyone can apply for their desired .blog domains, is scheduled for November 2nd, and public launch is expected on November 21st. However, a few select bloggers were granted the possibility to get .blog domains sooner as part of the Founders Program, and I was very lucky to be one of them.

Welcome to konstantin.blog — a new home for my archive of almost eight years worth of writing on many topics, including SEO (yeah…), AWS, Twitter, robotics, Linux, PHP, WordCamps and WordPress.

I admit I have neglected this place for a while, haven’t posted as much as I should have, and I can probably come up with plenty of excuses. But this new domain comes with a little string attached — I have to write more frequently, which I intend to do, so watch out for fresh thoughts, ideas, tips and hacks, and a lot of WordPress of course.

If you’re looking for your own .blog domain, head over to get.blog for more information and updates.

Dave Winer's Commenting Proposal

Based on a recent post by Dave Winer (RSS pioneer) called Proposal: A new kind of blog comment system. And a follow up has been posted here: Why I like comments. Briefly, the idea behind the new commenting system it is the following:

  1. Disable commenting on posts older than 24 hours
  2. Comments are invisible to other commenters until the 24 hour period expires
  3. Commenters can edit their comments during the period
  4. Length limit of 1000 characters

So jumping back to my mail inbox and the comments folder with over a 100 unread and unresponded (and spam) messages, I decided to give it a go, starting from point one. I fully agree with Dave about the reasoning behind all the points, but personally think that 24 hours is too harsh, so I started off with 7 days, keeping in mind that this has to be decreased.

This means that when a post is published, you (my readers) have 7 days to comment. Don’t worry, commenting on support pages for my WordPress plugins has not been switched off.

I’ll hopefully be implementing the rest of the features throughout September, and will keep you posted on Twitter (@kovshenin). Cheers!

Update: Due to some temporary WordPress limitations, I had to switch comments back on for a while. Will probably write a short snippet on how to achieve such functionality without having to do it from within your WordPress settings, which applies to pages as well.

Posterous vs. Tumblr

I’ve seen a lot of people using Posterous and Tumblr for quite some time, and most of them seem happy enough with the level of customization which is available at both services. I decided to give it a go a few days ago and here’s a short revision of what I’ve been through.

I started out with Posterous. It looked great, the standard theme suited me best, there weren’t any major changes to the whole setup, but one thing that I didn’t like is the auto-post to Twitter and the rest. I mentioned a few times on Twitter that I dislike having to click twice for a link to open. I mean if you re-post a link to an article you liked to your Posterous, tweeting about it is cool, but please, link to the article directly, not to your “click here to visit the link” page in your Posterous. That’s not user friendly.

I also liked the feature where you can select the image you’d like to use for your links, comment it and add a couple of tags. It makes it pretty easy to navigate afterwards. I didn’t like writing actual posts on Posterous, perhaps it’s too simple. Tumblr seems a little bit nicer in this field. Both services support posting via email, bookmarklets, mobile apps, etc, some of which are pretty useless ;)

Tumblr is very user friendly, but I was disappointed to find out that my username is already taken, then browsing to kovshenin.tumblr.com I found a 404 page, wha? I was confused so I went with the custom domain. Surprisingly it took around 2 minutes to recognize my DNS change and update all the links, unlike Posterous which made me wait for ~ 15 minutes.

The posting features on Tumblr are very neat, you get to pick from Text, Photo, Quote, Link, Chat, Audio and Video. The Chat post type is pretty sweet, you can post conversations from Twitter, IRC, IM, etc. Something funny perhaps ;) Theming functionality for Tumblr seemed a little bit nicer to me, a wide range of options, editable page template and CSS, although I picked the most simple theme – black and white, without any graphics. It now looks like a scrapbook where I can post anything I want, any thoughts, perhaps personal notes, and maybe a little bit of humour. And get the feeling that nobody’s ever going to read it, y’know, sort of what Google Notebook used to be ;)

Posterous however can be used to post interesting reads, things you come across RSS feeds, posts on Twitter. The Posterous implementation in Feedly is pretty smooth (Tumblr is okay too), though it still makes you click twice ;)

I was also surprised how easy it was to link both Posterous and Tumblr to my Facebook account, I guess that’s a huge shoutout for Facebook Connect and the Facebook Platform. Literally – three steps, three clicks and you’re done. All posts to Tumblr and Posterous get posted in your Facebook profile feed.

Not really sure whether I’m going to use Posterous or Tumblr for anything, but it was fun playing with them both. I might say that I liked Tumblr a little bit more that Posterous, but both products are quite similar and if you don’t care about how to post, where to post, when to post, as long as you post, then you’ll be fine with any of the two ;) My first thought was – I’d rather use a new category in my currently self-hosted WordPress blog ;)

A List of Awesome WordPress Blogs to Follow

Whether you’re a WordPress expert, beginner or simply a blogger running WordPress, WordPress MU, BuddyPress or any others, here’s a little list of WordPress blogs that you should definitely follow (not mentioning the WordPress Development Blog and Matt Mullenweg’s Blog, and maybe #wordpress on Twitter, I assume you’re following them since your first ever WordPress installation ;). These include themes, development tutorials, plugins, SEO and publishing tips, customization techniques and much more. Ordered by my preference.

Weblog Tools Collection

Over 15,000 subscribers, plugin and theme releases lists and news, WordPress video tutorials, code snippets and much more. Running around by the name of @weblogtooltips on Twitter. Here’s a quick list of some of their posts:

WP Recipes

With over 6,000 readers WpRecipes.com is one of my favourite blogs for “Daily recipes to cook with WordPress”, known as @catswhocode on Twitter. Here are some posts from WP Recipes:

WordPress Tavern

Sweet blog with tonnes of tips and tricks, WordPress events, also covering WordPress MU, BuddyPress and bbPress. @wptavern on Twitter.

WordPress for Beginners

If you’re a beginner in WordPress then you should definitely follow this blog. Very nice tutorials about customizing WordPress.

Lorelle on WordPress

For WordPress news, events. Not much tutorials here, but being up to date with what’s happening around WordPress is always a great idea. On Twitter: @lorelleonwp.

Theme Playground

Hosted by Ryan Imel Theme Playground is definitely a must-follow blog for WordPress themes & plugins, reviews, code snippets and giveaways.

WordPress Hacks

5000 readers of WordPress hacks enjoy blogging tips and tricks, wordpress guides, themes, plugins, frameworks and more! Known as @hackwordpress on Twitter.

Theme Lab

These guys haven’t got much readers – a few over a thousand, but the theme reviews they publish are so cool! Their latest “Theme Battle” series is awsome, plus they’ve got a list of nice WordPress resources every week. This is a must-subscribe, @themelab on Twitter.

WPMU Tutorials

Everything you need to know about WordPress MU and BuddyPress. Installation tips, modifications, hacks, tricks and explenations. Here’s the latest:

That’s about it, some other less popular (or less fortunate ;) blogs you may find interesting are:

And of course if you’ve anything to add to this list, please share via comments.

While Everyone's Been Waiting for WordPress 2.9

I’ve been using it! Okay, so I’m not going to talk about all the great stuff coming up in 2.9, all the bugs they’ve fixed, all the features they’ve added, no. I’d just like to tell you about my experience running a step ahead of everybody else. When WordPress has made the switch from 2.7 to 2.8 I’ve decided to risk it and take the 2.9 path. I’m not sure why everybody’s talking about that new beta testers plugin being released, but I bet that a “beta tester” or at least somebody who wants a ride at the 2.9 branch do know how to use their FTP client. More advanced “testers” do this via shell. Oh come on, I mean how difficult could it be to locate one single file, download it, edit and upload back to your server? I could bet $20 that it’s way faster than installing that plugin.

Anyways, back to my WordPress 2.9. Nightly updates are being released every day, I make sure to update at least once every two weeks. And everytime I felt the blog apocalypse coming, although I do have daily server backups, but downtime to me is so crucial. The best part of it is that I’ve never seen anything crash, really, all the plugins are working like a charm, my theme has (almost) never been broken, so I hope it stays that way. In case you’re experiencing any problems, make sure you report to the plugins and themes authors, and do state you’re running a development version, I’m sure they’ll note it down and get back at you a few weeks before the release ;)

So what’s the big deal about running ahead? Well, if you’re a WordPress plugin developer then you know what the big deal is. Whenever an update comes out you see your plugins crashing and malfunctioning and “a few weeks” may not be enough sometimes, though WordPress warns about checking all the plugins compatibility before upgrading, theme compatibility, blah blah blah. Users don’t do that. They upgrade and that’s it. If your plugin stopped working, they go find themselves one that’s okay. There, you’ve just lost a client.

When running a step ahead you’ve got all the time to test and debug your work and get it ready for the upgrade. But why not locally? Motivation, motivation, motivation. Whenever something doesn’t work locally, you go have a snack, lie on the couch, watch some tv, play some video games.. I could go on. When your online blog stops working, you sit all night and fix it. Well at least that’s what I do ;) but be careful not to forget about back compatibility, as you don’t want to be stuck at 2.9 while it hasn’t yet been released, and everybody running 2.8 get those nasty error messages! Also be careful playing with the new features and try to stick to the current stable release as much as possible.

One more interesting thing about using a higher branch than the stable, is that when the WordPress guys find out a critical bug in the current stable (just like in 2.8.3 for instance) there’ll be loads of people searching for 2.8.3 blogs and trying to hack them of whatever, but yours wouldn’t count ;) perhaps breaking a development version would be too easy for them “hackers” ;)

Anyways, I hope the testing goes well, 2.9 is released and I’ll finally be able to make my switch to 3.0, which is already marked in the WordPress Core Trac Roadmap. I’ve tried switching the branch to 3.0 today but with no luck, back to 2.9-rare after the nightly upgrade.

So, good luck may the power of WordPress be with you! ;)

Multiple Sites Driven By One WordPress Installation

This is early experimental. And, I’ve also marked this post into the “personal” category, because you wouldn’t want your clients to have too much access, especially if they share a single WordPress installation. Now I know there’s the WordPress MU project, but I guess I can’t use it in this case, because WordPress MU assumes your URLs will be within the same domain (either subdomains or directories).

The reason I want multiple sites to be driven by one single WordPress installation is because I’m really tired of upgrading everytime. Upgrading the WordPress Core once in a while is okay, but when you’ve got a list of 30 plugins, it’s a pain in the neck upgrading two or three every day on every single blog and website you run. Automatic updates is not a choice, as I want to take a look at what I’m updating to before actually doing it, at least once.

I won’t be doing this from scratch. I’ll start by merging this blog and the Foller.me blog into a single installation. Single doesn’t mean they share the same database, all they share is the WordPress core files, plugins and themes. Yes, this may be dangerous, because not all the plugins store the data in the database (though I believe they should, at least when they’re capable of doing that). Now imagine the Next Gen Gallery (or perhaps any other gallery plugin) being shared over two websites within one WordPress installation. The albums are stored in one folder called gallery. So there might be a conflict if two albums have the same name. There might be an option to store the files in a different directory, and hope that option is stored in the database, will check on that later.

One more issue.. Remember I said personal projects? And assigned the post to the personal category? If you’ve got some clients who are hosted on WordPress, and you’re doing some admin things for them but they DO have admin rights in their admin panels, then I wouldn’t go with this stuff, as it’ll be quite difficult to restrict them from changing eachothers themes and plugins that they share. Get my point?

kay, now the trick will be in the wp-config.php file. We’ll basically look at the incoming address using some regular expression or whatever. If it’s based on kovshenin.com, then we connect to database 1, otherwise, if it’s based on blog.foller.me we connect to the 2nd database, and so on. Pretty simple, huh? If you’re a total freak you might wanna try changing just the prefix, thus having multiple websites, one WordPress installation, one database and a bunchload of tables ;)

I’ve no idea if this will alter the overall performance, but keeping total visitors under ~ 20,000 per day should be just fine ;) I’ll get back at you with another post next week, hopefully with some tests and some results. Cheers!

SquareSpace, Thesis and Back to WordPress

Yup, that’s the way it generally goes. I finally got myself an account at SquareSpace to play around with, and I poked the Thesis Framework a couple of months ago, so I now got to a conclusion – I’m not satisfied with any of those. There’s absolutely nothing wrong with SquareSpace, it’s a very neat and highly customizable blogging platform. I liked playing around with it, but it took me less than a few minutes to realize, that “play around with it” is all I can do. SquareSpace is not free, and neither is Thesis. But don’t get me wrong, WordPress is not free either (I’ll tell you why in a couple of minutes)! Everything depends on what you’re looking for.

Blogs, blogs, blogs. Everybody’s a pro-blogger today, especially in the world of Twitter. Everybody needs a place to discuss the perfect formula of “gaining 2000+ followers in one week”, then sell ads & get cash or perhaps donate to some charity of their choice. Anyway, this is not my point.

My point is that there are so many blogs out there, they’re so different, and yet so similar. And this is where the blogging platform comes in and I like to divide this into three steps (while the third one might also be a step 0 for some people).

Step 1: Just get out there and blog!

Blogger, WordPress.com, LiveJournal – these platforms are for busy people. For people that want to blog. Generally not techies. They don’t even care about how their blog looks, as long as the content is delivered to their readers (oh yeah, there are those that don’t give a damn about their readers too, but that’s a different story). People might spend some money for extra functionality on these platforms from time to time such as ad removal, custom CSS, etc. There are much more blogging platforms of this type than mentioned above, and even not so well-known networks of blogs created by people using Multi-User WordPress, Ning, buddyPress and others.

These types of platforms are generally free of charge and require no special knowledge. One-click sign up and you’re ready to blog. Most of them (the blogs) don’t live very long though, they get abandoned in a few months.

Step 2: Time to customize. Look at the new me!

As I said before, SquareSpace is cool, really. It may actually be the next step in your blogging adventure – customizing your look & feel and the readers interaction, making you different from your partners/competitors. People don’t like their blog to look like their friends’ blogs. WordPress.com blogs look all similar, Google Blogger too and that may get very annoying after a few months blogging. SquareSpace lets you customize the look of your blog without any programming skills at all (unlike Custom CSS on WordPress.com for instance). Watch this short video presentation.

Pretty cool eh? Take a look at the Features List for more info. The video on their website has a male voice btw, that’s strange… I prefer this female one ;)

Alright. We finally got here. Thesis from DYI Themes. Oh jeez. I don’t wanna talk much about Thesis, honestly, it’s starting to get on my nerves. First of all, they’re asking me to pay for a “Theme Framework”. What on earth is a “Theme Framework“? Lemme tell you. It’s just a bunch of functions, that limit your WordPress capabilities and make your website look rediculous. I like to refer to WordPress as a Framework, because it does have all the functionality and flexibility to be called one. Now, why do you need a framework on top of a framework?

Oh god, take a look at the Thesis showcase, they all have the same look. That Thesis look, which is kinda cool when you see it for the first time, but makes you wanna vomit when you came across 20 similar blogs a few hours ago. I can’t believe that people are actually giving away their money for this. And the developers license… Wow, you really wanna become a “Thesis Theme developer”? Heh, I’d go with WordPress if I were you.

Step 3: Time for a fresh start

Back to WordPress. This is the final step before you get all frustrated with blogs and decide to build your own social platform (with blackjack, and hookers ;) Why is it “back” to WordPress? Well, because this is where most people start and feel that WordPress (I’m talking about standalone WordPress blogs, not the ones hosted on WordPress.com) is not good/powerful/easy/flexible enough and doesn’t suit your needs. And this is the place where people start to look out for paid themes (yeah, and frameworks too) and other blogging platforms. I mentioned that it’s not free, remember? What I meant was that if you want a high-quality, good-looking WordPress blog, find yourself a loot WordPress junkie and pay him to do some theme customization (or perhaps build one from scratch), plugins customization (or perhaps build some from scratch, lol) and setting it all up.

Yes, this may cost a little more, but this is the only guarantee that you will get whatever you’re asking for, and it’s generally a one-time fee and maybe some small charges from time to time to stay up to date (get up a “happy christmas” version of your theme, extend functionality, etc).

In conclusion, I just wanted to say that you should stop wasting your time and stick to the right option straight away, during the start. You don’t wanna be jumping from one platform to another every month. Yeah, I know there are so much handy export/import tools but it still is a waste of time.

WordPress Junkies: Blogging via iPhone

I wrote about offline blogging with Windows Live Writer some time ago, and now I realized that it’s not that fun! Alright, I have two good news. The first one’s that I received approval for my second wordpress plugin (Related External Links) to be hosted at the official WordPress Plugin Directory. I commited the first beta a few minutes ago so go ahead and vote it up: Related External Links (thanks!).

The second news is… Y’know I’ve been dreaming about it since it was first announced. Yeah, I finally got myself an Apple iPhone!! Woot! It’s so sad that Moscow hasn’t got 3G internet yet (MTS announced it for the end of 2009) but I’ve got Wi-Fi at home and office plus EDGE everywhere else, so I guess I’ll survive. The first thing you definitely have to install on a brand new iPhone is TwitterFon. Get it for free from the iTunes Application Store (via iTunes on PC or App Store on your phone) and you’ll be tweeting 24/7, sending TweetPics along with your iPhone GPS coordinates. Jeez I’m so excited (BTW follow me!).

Anyways. Back to WordPress. I really appreciate that the WordPress team made this iPhone App. You can get it for free at the iTunes Application Store. It’s very user friendly and all the functionality you’d need is plugged into this little app. I’ve made some screenshots (thanks to @CMoz) to show you the whole process. Make sure you read the comments to each shot.

One more thing. If you’re into iPhone, you should definitely check out: Apps and Hats. It’s a brand new video blog about iPhone apps, which is launching 20th of March. Make sure you subscribe to their RSS feed and/or follow the Apps and Hats Twitter account. I think they’ll be using TwitterFeed to tweet their blog updates. Cheers!

WordPress: Theme Design Tips & Tricks

Greets. If you never did a WordPress theme before, then this post is for you. As you may already know, I released my very first wordpress theme a couple of weeks ago and it’s the one you’re looking at right now (unless you’re reading this from last year’s archive). I can’t say it was very easy developing it, but I noted down some tips that would make the process quicker for you whenever you decide to create one yourself.

  • Get yourself some paper and a pencil and start sketching. You may skip this, but you’ll regret it!.. Unless you’re a photoshop genius, master of disaster, creator of a devil..
  • Imagine your theme while you sketch – not about the look, but about how it will work. You must keep in mind the menu, posts, posts headers, meta, content. You may also try to imagine the sidebar along with some widgets and don’t forget about the footer – don’t make it too complicated (and yes, you should include a “wordpress driven” link – it rocks!).
  • Think about your future theme. If your posts and pages and main post-roll look alike, you are ready to draw your sketches on computer (photoshop or whatever). If they don’t then I suggest you sketch your other pages on paper. If your main page is done it shouldn’t take much time.
  • Ready? So your theme’s on computer now and you’re ready to slice it…? No, you’re not. You wouldn’t want your mates to tell ya “it’s okay, but it could have been better” right? Feedback! Feedback! More and more feedback! Upload your drawing somewhere and post it around asking for comments, likes and dislikes. Don’t listen to everybody though, only those who you agree with (there are tonnes of pseudo-designers out there who’d like to spoil your work). Make changes, ask for more. Make sure you don’t get into an infinite loop, two or three times is quite enough.
  • Coding time! This is the step where you want to slice your theme into one (or two) XHTML file (don’t forget about the CSS stylesheet). Don’t mix this up with wordpressizing. This is the time where you can make some final minor changes. Now, put on your sunglasses and get ready to rumble! 8)
  • WordPress. Wha?! Okay, take off your sunglasses, I was joking… I hope you’ve got a local webserver up and running with a copy of wordpress installed with the default theme. If you don’t, stop right here. Go get some XAMPP Web Servers package for Windows or install Apache, PHP and MySQL on Linux, then setup WordPress on your machine, cause working with a remote server through FTP WILL be a pain in the ass. Done? Fine, make a copy of the Default wordpress theme into a new directory and start editing it file by file: style.css, header.php, index.php, sidebar.php, footer.php, post.php, comments.php, page.php, … That’s the order I like. Hope you got my idea…
  • So you didn’t get my idea…? Remember the XHTML file you have? Split it up into four parts: the header, the footer, the sidebar and the content and fill in your wordpress files. Remember that you have to use the WordPress Template Tags, so keep your WordPress Codex nearby.
  • Polish. Widgetize. Promote.

The last step is all about debugging. Install some plugins, see how they work (or don’t), make corrections – that’s called polishing. Mine were almost all in the CSS stylesheet, mainly for youtube videos, image alignment, etc. Once your theme is complete, show off! Write about it, tell your friends, post into galleries, submit on CSS galleries (if you think it’s good enough). I’m not saying that you should make the theme available for free download (I didn’t! Yet..), no, just post screenshots or live previews. Get more and more feedback comments that generate new ideas. You’ll be ready for version 2 development in no time. Once version 2 is up and running, you can publicize your first theme, making your second one exclusive!

Threaded Comments in WordPress 2.7

This was pretty quick and easy, really, you don’t even have to do much code, it’s more about styling the nested comments. First of all you have to switch them on in Settings – Discussion, then some slight theme modifications in header.php and the comments.php section. I don’t want to write about them here because it’s already written in the WordPress codex over here: Enhanced Comment Display.

Make sure you don’t skip the javascript modifications section, though I managed to get threded comments without it, but javascript makes it alive. It’s the code that is responsible for putting the reply form just below the comment you want to reply to on the fly, i.e. without having to reload and render a new page.

Now use Firebug to create and modify CSS on the comments page – just use your imagination and make it look good. The issues I had are:

  • The textarea box was ~700px wide and it overlayed my sidebar when I tried to reply to someone. Changed that to 100% – looks good now
  • The comments and replies are actually different elements. The comments are OL (ordered list) and the replies are UL (unordered list). The UL with the classname ‘children’ should have the margin-left, don’t mess that up.
  • Threded comments can be lost without borders. I don’t really like how they look in the default theme, but my variant is a little bit of padding-left and border-left for the UL/OL commentlist/children LI elements.
  • The ‘Reply’ anchor is not part of the comment and is not within the P tags, so I had to margin-left that separately.
  • The comment form in a reply needs a margin-left, but doesn’t when you’re starting the thread. You can use something similar to this (.comment indicates that it’s a reply and #respond is the actual form):
    .comment #respond { margin-left: 42px; }

I guess that’s it. Questions and suggestions are welcome in the comments.