I’ve seen tens, maybe hundreds of different plugins, all with different approaches at creating social profile links in WordPress themes via widgets, menus, shortcodes, and “insert this piece of PHP code in footer.php” and whatnot.
A few days ago I stumbled on what I think is the right way.
I’ve been using the Limit Login Attempts plugin for WordPress for quite a while. It basically logs failed login attempts and automatically blocks multiple attempts from a single IP address. A few days ago I’ve switched to fail2ban instead, which is pretty new to me.
Fail2ban is a fairly simple yet very flexible framework that monitors log files for certain patterns, and runs preconfigured actions upon certain events.
Out of the box fail2ban comes with many so called filters, which are sets of matching rules, for example SSH auth failure, vsftpd login failure and more. As well as predefined actions, like block the IP address via iptables, send an e-mail with the IP WHOIS info, etc.
I haven’t had too much time to play around with the configs, but I did manage to get it to work with my WordPress install on nginx, and here’s how.
Twenty Thirteen (the year, not the theme) is almost over, so I’d like to go back and review some of the things I had planned and the goals I had set for the year.
Here’s what happened in 2013.
You know WordPress 3.8 has arrived, right? It’s got a total of eight new and beautiful color schemes for you to choose from, and another eight (at the time of writing) in an official plugin called Admin Color Schemes, so sixteen total. How do you pick one? Easy.
Meet Color Schemes Roulette — a brand new WordPress plugin, that will randomly change your admin color scheme every time you hit that Publish button. It’s also a great motivator, proven to increase blogging frequency up to 170% right after activation!
Yup, this is my way to celebrate the 3.8 release. Although I haven’t contributed much this time, I’m still super excited to see it all come together. Thanks to Matt and the whole team behind 3.8, for making such a beautiful WordPress.
_n_noop() is one of the many functions overlooked by WordPress developers, probably because of it’s somewhat cryptic name, or perhaps due to lack of a good use case. Let’s see what the docs say:
Register plural strings in POT file, but don’t translate them.
Exactly. No, seriously, that’s what it does.
Around five months ago, I released Expound – a free magazine theme for WordPress. A few days ago, Expound has passed 100,000 downloads in the WordPress.org themes directory, which I’m super proud of. I have collected some thoughts along the way, which you may find useful.
Last week I attended WordPress Kitchen in Kiev, Ukraine – a little informal conference about all things WordPress. One whole day with around 70 attendees, 9 sessions and a great deal of fun.
I learned about WordPress Kitchen a few weeks before the event and immediately reached out to the organizing team to see what they were up to. The event was mostly organized by Pingbull, a web development agency scattered between Oslo, Stockholm and Kiev. They were all super friendly and nice.
The event was held in an anti-cafe called Besedniza. Nine sessions total, one in English, one in Ukrainian and the rest in Russian. The speakers were mostly developers, quite a few of them from Pingbull. They covered some interesting topics, most of which were directly related to WordPress, including a session about why one should not pick WordPress.
The after-party was at a bar nearby, with some food, lots of drinks, jokes, laughter and a boxing match between Klitschko and Povetkin — Klitschko obviously won.
This was my first time in Kiev and my first time in Ukraine. I stayed there for three days in quite a nice hotel called Alfavito. Walking around the streets felt a lot like Russia, especially Magnitogorsk – the city I lived in right before I moved to Moscow.
Huge thanks to everyone involved in making WordPress Kitchen happen. I hope to come back to Ukraine very soon for another WordPress event or two, hopefully leading up to the first WordCamp Ukraine in 2014.