Installing mod_pagespeed on CentOS (cPanel/WHM)
This month, Google announced the release of an Apache module to optimize rendering times called mod_pagespeed. They've long been on to the optimization wagon: last year, they released "Page Speed", a Firefox extension to help developers optimize their pages and embed most of mod_pagespeed's diagnostics in their Webmaster Tools platform. If you want to install mod_pagespeed on your CentOS server running cPanel and WHM, you might have a few problems since the mod_pagespeed RPM depends on the httpd 2.2 package and it usually isn't installed when running cPanel/WHM since those app want to be able to control versioning themselves and not through YUM, so we'll do it manually. This guide is intended for 32bit CentOS servers where you have superuser privileges on and run cPanel and WHM. If you're running a 64bit, simply adapt the various paths and files used throughout this article.
What you need to do is rather simple and safe. It does involve modifying the Apache configuration files though, so make backups of every file mentioned in this article if you feel the need to.
Change localized strings in the WordPress admin
The other day, I ran into an interesting issue with a feature on a WordPress-powered site I was building for a client. Essentially, we're using the WordPress' default structure and functioning of posts, categories and tags in order to make it something different. Think of it like this lyrics site where categories are artist names and post titles are song titles. It's one of the reason WordPress implemented custom post types. Since the platform I'm building for this client doesn't really allow for other types of posts, I decided not to add a layer of posts on top of hiding the default things,
I wanted to rename the "Posts" menu in the WordPress admin.
In the example I've described above, I wanted to rename the "Posts" to "Songs" and "Categories" to "Artists". The problem with that is that those are hardcoded in the a WordPress file and no hooks are defined, so we can't dynamically change it. It's also useless to manipulate the $menu variable which contains the admin sidebar items since "Posts" is also displayed on pages and at a bunch of other places. So how to efficiently turn that into a different string without hacking up the core?
The solution I came up with was to use WordPress' built-in localization mechanism. When theme and plugin developers want to output a string, they can enclose it in the__('string'); function, which calls up a gettext parser to translate. I'm not a fan of the system, it obliges you to compile a new language file for every version of your theme/plugin - and add one more for every language. But it's what WordPress uses, so we'll deal with it.
New Look
I got tired of the previous design - aside from the fact that it was cool and up to date in 2002, it did its time. I've accumulated much WordPress knowledge since that setup was thought of, and I felt it was time. So here goes, a brand new design. I've kept several elements from the past one, such as the Disqus comments and WP-prettyPhoto, but it brought more interesting features not only in terms of display but also in terms of embedded plugins. The author of the theme hardcoded (obviously with function_exists checks) to ensure good compatibility, such as Yoast Breadcrumbs, PageNavi and others. So I got to play with a bunch of new toys and hack this theme up a bit.
I've also incorporated ads into this design. Yes. This blog is amazingly popular for mobile-related stuff (mostly Cydia), and well I'd be stupid not to monetize it. There's one ad unit in the sidebar that's low enough to be unobtrusive and another more obvious one at the top of single posts. I've discovered why my blog has been showing public service ads for the last 2 years and fixed that (shows how much I care).
Ideally, I'll start posting interesting stuff here eventually about WordPress, Mobile and general development. Stay tuned, and thanks for your loyalty - I still don't understand why anyone would read this blog, but whatever floats your boats.
How to use Twitter @replies
Okay, I've had it with "Social Media Experts" being openly clueless about the way one of the main system of their field of expertise works. Let me explain to you how Twitter replies work, it's not rocket science.
Back in the days, @replies would simply be another tweet. The user you were replying to would see it appear in its @mention and the whole process was pretty much client-side. About two years ago, that changed. A lot of you "social media experts" apparently weren't around then. The way @replies work now is much better. When you @reply to a user, only that user will see it in its @mention tab, whether he follows you or not. Everyone else that follows you will not see it. That's a great implementation to avoid having your stream filled with customer service replies, among other things. The kicker here is that everyone that follows you and the user you're replying to will see it as well. It promotes discussion and people jumping in to comment on a "private discussion" you were having.
So please. If you want to reply to a specific user, the first thing in your tweet should be a @reply. Not a "Hi @user". Got it?
If you claim to be a social media expert, don't let anyone catch you doing this or this. Thanks.
Thoughts on Diaspora
Diaspora, the open-source Facebook clone, was publicly released yesterday, September 15th. All technical stuff aside, it's interesting to see their strategy. They're a very small group of people, releasing a clone of something that literally revolutionized the Internet. Facebook is a weird target to go after, all things considered. The only motive anyone has of hating them all started from that whole privacy fiasco a few months ago. It all went down from there, to numerous privacy redrafting to compromising IM conversation Zuckerberg had years ago. Facebook had a decently good rep before that. Diaspora aims to be another Facebook, without the whole "we own your data and we can sell it to whoever we want" philosophy. Question is will they succeed? Aside from privacy-related mistakes (or rather bad moves), Facebook is (or should be) very respected in the open-source community. These guys have collaborated to several open-source projects such as Apache (with Cassandra, Hive and Hadoop) and PHP (with HipHop, phpEmbed, phpsh, XHP & XHProf), it'll be hard to eclipse that much contribution.
Announcing MobileCamp Montreal 2011
The MobileCamp Montreal project idea arose right after PodCamp Montreal 2010. We thought the timing was a perfect fit with the current state of the mobile industry. So many questions are left unanswered simply because most people do not know who (or how) to ask. That’s why we decided it was time to have a gathering of mobile experts, enthusiasts and users so that we can give an overview of the current state of things, what the options are and what’s hot or not.
We are currently in the organizational stage of the project and there are lots of things left to figure out. We need volunteers - that's one thing we know for sure. Should you have interest, do not hesitate to contact us with what you think you can bring to the organization. Keep checking the site and MobileCamp Montreal's official Twitter account for updates!








