WordPress plugin : Google XML Sitemaps 4.0 significant changes

One of the most popular WordPress plugins – Google XML Sitemap – has recently been upgrade to version 4.0, with some significant changes.  Here is the quote from the changelog:

New in Version 4.0 (2014-03-30):

  • No static files anymore, sitemap is created on the fly!
  • Sitemap is split-up into sub-sitemaps by month, allowing up to 50.000 posts per month!
  • Support for custom post types and custom taxonomis!
  • 100% Multisite compatible, including by-blog and network activation.
  • Reduced server resource usage due to less content per request.
  • New API allows other plugins to add their own, separate sitemaps.
  • Note: PHP 5.1 and WordPress 3.3 is required! The plugin will not work with lower versions!
  • Note: This version will try to rename your old sitemap files to *-old.xml. If that doesn’t work, please delete them manually since no static files are needed anymore!

Cloud computing price war

Now this looks like a straight up war!  Less than a day apart, both Google and Amazon announced yet another price drop on their services.  TechCrunch sums up Google’s price drop as following:

Google Compute Engine is seeing a 32 percent reduction in prices across all regions, sizes and classes. App Engine prices are down 30 percent, and the company is also simplifying its price structure.


The price of cloud storage is dropping a whopping 68 percent to just $0.026/month per gigabyte and $0.2/month per gigabyte/DRA.


BigQuery, Google’s database for doing big data analysis, is getting the largest price drop at 85 percent. The team reduced per-gigabyte storage pricing from $0.08/GB to $0.026/GB, a 68 percent drop, and interactive queries now cost $5/TB instead of $35/TB. Batch queries now also cost $5/TB instead of the previous $20/TB.

Amazon Web Services Blog provides comparison tables between old and new prices, which are quite similar.  And they also notice the following:

If you’ve been reading this blog for an extended period of time you know that we reduce prices on our services from time to time, and today’s announcement serves as the 42nd price reduction since 2008.


Every system is terrible, if you look at it long enough

As I was reading through the rant on why your previous developer was terrible, I kept nodding my head in agreement. It’s all true.

It’s what I call the “curse of the present.” When you, as a developer, look at the choices used to build a particular application, you’re blown away at the poor decisions made at every turn. “Why, oh why, is this built with Rails when Node.js would be so much better?” or “how could the previous developer not have forseen that the database would need referential integrity when they chose MongoDB?” But what you may not realize is that you are seeing the application as it exists today. When the previous developer (or team) had to develop it, they had to deal with a LOT of unknowns. They had to make many decisions under a cloak of opacity. You are cursed with the knowledge of the present, so the system seems like a hackjob of bad decisions.

But as true as it is,  it’s incomplete. It’s not only about the previous developer. It applies to pretty much all systems that you can access as a user. Things just constantly don’t make sense. And while there are many cases of a developer being inadequate, in many more cases IMHO what you are staring is a bunch of unknowns.

It is easy to assume that the guy who did this (this being anything at all) is just a stupid idiot. But that’s only because you don’t know or care. Who’s decision was it? You might think it was a developer, when in fact it was a clueless boss. Or maybe this was the most feasible approach. Or maybe it was the only possible one at the time. How much resources were allocated for this development? Anybody can do better you say, but could they be as good in 15 minutes only – cause that’s how much time was given. Do you know which technology was used and why? These are usually very transparent.

It’s easy to judge without knowing. And I guarantee you that any system can appear terrible if you stare at it long enough. But who needs all this negative energy? Nobody. Look around, try to understand, try to improve the system and learn something new in the process, and the world will surely become a better place.

Happy 20th birthday, UFC!

The most exciting spectator sport – Ultimate Fighting Championship – celebrates its 20th birthday this year. That’s a long time, of course, so it’s natural that many of the current fans (yours truly included) missed some of the earlier epic battles. Gladly, UFC is addressing this with the selection of top 20 knockouts and 20 submissions on their UFC 20th Anniversary website.

UFC 20th Anniversary

Visa free travel to UAE

Cyprus Mail reports:

The United Arab Emirates (UAE) has instituted visa-free travel for the 13 remaining EU member states, including Cyprus.

The newly exempted countries are Bulgaria, Croatia, Cyprus, Czech Republic, Estonia, Hungary, Latvia, Lithuania, Malta, Poland, Romania, Slovakia and Slovenia.

The visa-free travel became effective on Saturday.

Not that I am planning a trip any time soon, but it’s good to know.

The world of PHP nightmare

I had a dream today. In fact, it was a nightmare that woke me up at 3am and kept me up for the next three hours or so. And I tell you honestly – this kind of things don’t happen to me all that often. In fact, I don’t even remember when was the last time I had anything similar.

I dreamed that the whole world is somehow written in PHP. A few bits were alright, but it mostly sucked. There were constant ground tremors.  Buildings were shaking in the slow soft waving motions. Things that were supposed to be soft were plastic hard. Things that were supposed to be hard were bumpy soft. Road tarmac felt like a gentle green grass field.

At some point of those tremors opened a long,  deep crack in the ground. The resulting vibration tore a nearby skyscraper in half, like it was a wet baguette, and the top part of the building slowly fell and disappeared in that crack (hi,  dr. Fraud). That was rather unpleasant to watch.

After a few scenes of apocalypse, the nightmare movie was cut to action, where I was a part of the task force that was supposed to fix the world. And, I tell you, we tried hard. We’ve refactored parts of the code,  migrated a few most critical systems to CakePHP, upgraded PHP to 5.6 and even tried all those high performance tricks from Facebook (hi, Hack). Things were getting better but not nearly enough. The world was still awkward, unstable and slow.

PHP wasn’t the only thing we were looking at. There was a lot work around databases and tuning servers. We’ve tried every profiling, monitoring and analytics tool we could get our hands on. But, to no avail.

The really horrifying part of the nightmare was when we finally realized that PHP won’t cut it and we’ll have to rewrite parts of the world in C.  We also somehow were missing a C compiler. I bet you can guess the epicenter of the nightmare now. Yes, indeed. We started writing a C compiler in PHP. That’s when I woke up in cold sweat, screaming “Noooooo!” through my lungs. That was more than I could bear.

For three hours after I tried not to Google or think if that was at all possible. Apparently, I love the world the way it is now – screwed up in a billion ways, but NOT written in PHP. With that peaceful thought and a beautiful sunrise I fell asleep.