WordCamp Moscow 2016

I’m Konstantin Kovshenin, a WordPress core contributor, ex-Automattician, public speaker and consultant, enjoying life in Moscow. I blog about tech, WordPress and DevOps.

I do code review, training and consulting on WordPress performance, scaling and security. Schedule a call if you’re interested.

Subscribe to my newsletter and follow me on Twitter.

Recent Blog Posts

Pro Web 2.0 Mashups

Finally, I got the book about Remixing Data and Web Services and read about 3 chapters. It seems that everyone is already mixing up all kinds of data from sources like Google Maps and News, Flickr photos, delicious bookmarks, last.fm charts and others. The very first mashups like Housingmaps.com are brilliant, and with Yahoo! Pipes coming along, things seem to get much easier for people without...

A Robot Playing Ping Pong!

Woah. This is wicked! I wrote a ping pong game that had an AI player about two or three years ago in C++, the algorithm isn’t very difficult to figure out, but here’s one built-into a robot! RoboCup claims that they’ll win the international soccer championship by 2050, and I think table tennis will be much easier (because japanese are the best in robotics AND table tennis ;)

FeedBurner and Google AdSense

All of you know what RSS is and why feeds should go through FeedBurner. Most of you also heard that Google has aquired FeedBurner so you shouldn’t be scared when FeedBurner will ask for your Google account details. Anyways, I’ve been using FeedBurner for quite some time now and I definately don’t regret it. Some writers don’t like posting full articles to FeedBurner for...

Removing Comments Author Links

Askimet (the anti-spam plugin for wordpress) is great, but when it comes to readers commenting posts and leaving backlinks to their sites, Askimet doesn’t count that as spam unless the message doesn’t look like one. Yeah, wordpress marks them with a ‘nofollow’ attribute, but search engines aren’t the worst case in this situation. It’s pretty good if readers...

I Got my Flickr Account!

Yeah, I finally got my Flickr account and would like to share my photostream with everyone, so if you’re interested feel free to add me to your contact list: flickr.com/people/kovshenin. By the way, I haven’t got a camera – I use my cellphone to take pictures so the quality isn’t very good, sorry. Anyways, I’ve found a great way to upload images directy to Flickr...

WordPress – Social Networking

I’m currently building a tiny social network for vector artists to post their artwork and get feedback. Anyways, I’ve been doing that for almost a year already and still can’t get it finished :) I’ve got design, I’ve got code concepts, but it’s all too complicated for a one-man-team. So this is where wordpress comes in… I’ve tried the WordPress MU...

More Google SEO Tips

“What are some simple ways that I can improve my website’s performance in Google?” Yeah, they are simple enough… I bet you’ve been following the Google webmaster central blog and have seen the post about their new SEO starter guide. Well, as they said, everybody knows this stuff already, but they just wanted to remind us all with one handy little guide. That’s...

Thinking Subversion

Since I had to clean up all the mess in my SVN repo today, I’d like to show you some nifty tricks ;) First of all, I encourage all Windows users to forget about TortoiseSVN and all the other GUI versions, cause there’s nothing better than the good old plain-console subversion client. Just add it to your %PATH% system variable and you’ll be able to use svn commands from anywhere...

NetBeans IDE 6.5 RC2

I’ve finally got a chance to run the new NetBeans IDE (I’m talking about the “Early Access for PHP” version). I’ve been running 6.1 ea-php for quite some time now. I haven’t had problems with 6.1 on my Fedora 9, but my Windows XP distro sucked at running NetBeans 6.1, and that’s bad cause I have to use Windows at work. I’ve been experiencing...

Simple Watermarking with PHP

Here’s a pretty code snippet for watermarking images with php. <?php header('Content-type: image/jpeg'); $watermark = imagecreatefrompng('watermark.png'); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); $image = imagecreatetruecolor($watermark_width, $watermark_height); $image = imagecreatefromjpeg('photo.jpg'); $size = getimagesize('photo.jpg'); $dest_x...