It’s a great idea to use specific ssh-key key pairs per service (or per repository even). Even if your keys are compromised, they don’t allow your attacker to access any other services. Unfortunately, these services often assume you’ll use the default key pair (id_rsa).
A comparison of the top content delivery networks for web content in 2014 with my recommendations. I'll be focusing on the needs for encryption and static html content.
Many RSS validators and aggregators (including Planet Drupal) do NOT work over HTTPS. If you're using CloudFront to serve your site exclusively over HTTPS, I'll show you how to configure an additional behavior to switch specific URL patterns back to HTTP.
Google and other search engines penalize content plagiarized from other sources. However, if you're using S3 as an origin server for CloudFront, you may be in danger of the duplicate content penalty! This post explains two strategies to combat this problem.
I've just setup this blog using an S3 bucket as the origin server, CloudFront as my CDN, and SSL for under $10. Since there were so many articles to read along the way, I'm gathering up what worked for me all in one place.
I've put together a checklist of some DO's and DON'Ts that I've learned that help me review someone else's code or even my own code before forking over the big bucks to a translation company.
A how-to guide on creating a public-facing menu using hook_menu(). We'll also talk about why hook_menu is so bad, 2 techniques for nesting menu items, and how to put a menu item into the menu of your choosing.
At my day job, we've been using the Domain Access module with Drupal 6 for 5 years. Recently, we've decided it's time to rethink our approach to Drupal multisite. In this article, I'll share some of ideal use cases and pitfalls for the Domain module and some alternatives for you to consider.
I'm sharing lessons learned from my experience using Drupal 6 and i18n for translation. The long story short: Make translation easier by keeping things simple. Don't use the t() when you can keep translatable strings fully in the database, and don't break up individual strings into multiple t().