Posts

10 years at Acquia

April 18, 2011. I’m taking breakfast at a hotel in Woburn, MA. In front of me, there’s a guy on his phone. I could swear I saw him somewhere. Turns out I knew him from Drupalcon pictures. For the next few years, Tim Millwood would become my fellow Supportian, echo chamber, and trusted ally to hold the fort with me during EMEA hours.

Quick and easy way to automate installing Drupal 9 with Lando

It’s that time again! Drupal 9 will be released later this year and it’s never too late to test patches and contribute. Thinking about it, I wondered how to quickly test patches and install Drupal 9 from my local Git checkout. When I say quickly it means it really should be dead simple, by typing one command only. The idea being to make sure I’d always install Drupal from the 9.0.x branch at the latest commit to follow changes.

Playing with the drupal quick-start command

The other day I was reviewing my read later items and stumbled upon the New command line tool to install & run Drupal change record I had completely forgotten about. This was timely because I was extensively testing the excellent Acquia Developer Studio for work and was trying to think about how it could help me review core changes quickly or contribute more easily. Turns out, you can’t ask for a tool to do everything and sometimes it’s important to get back to finding the right tool for the job. And in this instance, quick-start has no equivalent that I know of in terms of ease of use and required dependencies.

Reverse engineer freelancing platforms to find talent

For the past few months, I’ve been working on a very exciting side project related to knowledge management I had in the back of my mind for years. I’ve reached a point where I need to find talent to help me build new features and get the app closer to being ready for production. My constraints are as follows:

So long, Twitter

I really, really don’t like social networks. I managed to stay away from Facebook for all these years, but have to confess I enjoy Twitter because it makes me better at my job. It brings instant updates about tech news, blogs, tips and tricks from the field and overall info that I’d never be able to know about otherwise. Leaving Twitter is hard and painful. So was ditching the Mac. But at the end of the day it’s all about values and consistency. When you wake up in the morning and you no longer feel good about something, then it’s time for a change.

How I see the web with uBlock Origin

Countless times a day, you’re working with a certain number of apps, clicking on news feeds and shared links. Without realizing it, the amount of visual pollution you’ll be faced with and the wasted bandwidth usage that goes with it can be maddening. For many, Adblock Plus was a solution. I have to admit I never really got into it as my ISP’s DSL router has built-in ad-blocking capabilities.

Rebuilding my blog with Jekyll

There we go again. After Drupal, Grav and (managed) Ghost I wanted to try something new so I started exploring different Open Source flat-file CMS options. Drupal is very dear to my heart but I work 40 hours a week on it and certainly don’t want to manage the complexity of a database, modules, caching, reverse proxy, etc. for my simple blog. I love Grav and Ghost very much for blogging needs but wanted to try something new. Oh, and also, managed Ghost is quite expensive and I can’t quite justify this.

I have a dream that company emails would be a thing of the past

I’m sick of emails, but more importantly, I’m sick of always using its common pattern which goes something like:

Using Drupal Configuration Management to build an app

There’s a lot to say about Drupal Configuration Management. Many contrib modules have emerged to address the shortcomings in core and I agree that most of them are clearly solving a need. I even have colleagues claiming “there’s a CM-related article every week on Drupal Planet!”. Here’s one more :-)

Is it time to switch your Open Source community to a modern chat system?

Chat tools have evolved dramatically in the past few years. Several popular Open Source projects like CiviCRM have already jumped to a more modern chat infrastructure, but many others are still using good ol’ IRC. Most of the time the reasoning is Open Source communities want to use an Open Source chat system to federate their user base. And that makes sense. But have Open Source alternatives to IRC been evaluated?

Working with the CLI? You should probably start using asciinema!

Whether you’re a sysadmin, a developer or simply using the CLI as part of your day job, there are many reasons why you might be willing to share what you see on your terminal. What comes to mind immediately is to create a screencast or jump on Google Hangouts to share your screen.

How to monitor memcached

There are several ways to retrieve stats for your memcached daemon, and to confirm all is well with how it works. Most of the time you’ll want to monitor cache HITS and MISSES, so we’ll primarily focus on this aspect.

How to rebase a GitHub pull request

I find it surprisingly confusing to work with GitHub pull requests while I’m primarily used to contribute to drupal.org and its own contribution mechanisms. So I thought I’d write a step-by-step for rebasing a PR and stop looking it up.

Improve Ansible tasks by debugging them

Say you’re working on the below task.

We should all have a Kenny in our lives

Let me tell you a story. When I joined Acquia in April 2011, the Support group was a small pool of passionate and talented drupalists working day and night to service our customers. And there was Kenny, aka webkenny. The vocal, outspoken and hilarious personality that was going to accompany Tim Millwood and I every morning when we were holding down the fort during EMEA hours, as the company was scaling up.

From $conf to $config and $settings in Drupal 8

With Drupal 7 we were used to leverage $conf to set variable overrides. Unfortunately this was sub-optimal. The Configuration override system documentation page says it best:

How to find PHP code in Drupal nodes

Before Drupal 8 was released, the PHP Filter module was part of Drupal core and allowed site builders and developers to create a PHP filter text format. While very convenient for developers and themers, this was also very risky as you could easily introduce security or even performance issues on your site, as a result of executing arbitrary PHP code.

Useful PHP tools you might not know about yet

PHP short array syntax converter

How to effectively search the Git log

Searching the Git log can be approached quite differently whether you’re willing to find a specific bit of code that was committed or trying to find a change in a commit message. With this in mind you can come up with two personas:

How to script Yakuake with KDE

Yakuake is a drop-down terminal emulator based on KDE Konsole technology. It’s also a very powerful and scriptable application we can configure to best suit our needs. In this article we’ll see how to configure it such as it starts with an arbitrary number of tabs and split screens.

How to audit Drupal 8 to determine the number of active users

When drupal.org reached 1 million registered users, I wondered what was the percentage of really active users.

Porting the Page Load Progress module to Drupal 8

Back in 2012, my colleague Mariano released the Page Load Progress module for Drupal 7. This is not a widely popular module but I love it. Simply put, it will display a spinner when a page is taking too long to load, to prevent your users from clicking around or leave the page. It excels for time-consuming form submissions.

How to return the path to an enabled Drupal module or theme

In Drupal 7, it was fairly easy to retrieve the filesystem path for, say, enabled modules.

How to manage Docker images

Pulling an image from the index

How to monitor and tune APCu

Have you already been confronted to APCu memory exhaustion issues like below?

How to find which Drupal module implements a given hook

With Drupal 7, you’d use the below Drush call:

Building a lightweight and portable knowledge base for fun and profit

So, you want to create your own, private knowledge base? Maybe you’ve already tried (and adapted) a proprietary solution such as Evernote, Google Docs, Google Keep or Confluence? Maybe you’ve simply decided storing plain/rich text files in your Dropbox, OwnCloud or Spideroak Cloud storage was enough? Or maybe you’ve tried instead to leverage a full-featured CMS such as Drupal or Wordpress?

The road to becoming a better consumer is paved with obstacles

There are times in your life when you think it’s time for a change. Whether it’s a new job or house, this is something that we’ve all taken for granted and that is part of our everyday. On the contrary, changing habits is difficult. There’s an excellent book called The Power of Habit by Charles Duhigg which can help if you’re trying to make a radical change in your life. But what changes are we talking about exactly? I’d say those that make you get out of your comfort zone and which would make you immensely proud of yourself if you managed to really change them for good. I feel like I haven’t been in the correct mindset to accomplish anything meaningful in years. Then, once I felt ready, I managed to achieve one simple goal and all seemed doable. This is that experience I want to share with you today.

Productivity with the KDE environment

If you’re following this blog, you’ll already know about my Surviving without a Mac blog post and it won’t come to you as a surprise that I’ve switched to Linux last summer. I’ve tested numerous distros, work environments, file managers, etc., but no matter what I do, I always come back to Kubuntu, or if you will, Ubuntu + the KDE environment. There’s a good reason for that and it fits in one word: productivity. If you like to automate things as much as possible, if you like that your desktop environment can do everything you want and much more than you can even ask for, then it might be time for you to consider using KDE.

How we could prevent our $5 Twitter usernames from being stolen

I kept reading the How I Lost My $50,000 Twitter Username story over and over again since it got published. It’s infuriating in so many ways it takes time to digest every bit of it. At the same time, there’s no surprise and we can very well imagine it could happen to every one of us. I’m not even blaming GoDaddy and Paypal. They’re unprofessional and unethical in so many ways (Why? GoDaddy / Paypal) this is just one more evidence you should ditch them completely.

Standing desks, beyond the fuss.

First it looked like something only the cool kids would do. Then, more and more people from all ages started shifting from regular desks to standing desks. Mostly in startups, I guess, but the movement is probably broader now. I’ve always been intrigued by that and have slowly evolved from “get a life!” to “I need one!”. Shamelessly.

Delete local and remote Git tags programmatically

It’s surprising to see how a git repo can become messy as time goes by. Supposedly, you shouldn’t have to do any cleanup since tags are just points in history for your git repository. But what if you do want to delete them? And more, what if you have an awful lot of them and want to delete them programatically? Let’s see how it works.

Manage the Drupal core issue queue efficiently

Imagine how a new drupalist would feel by trying to work in the Drupal core issue queue or even to catch up with the changes, when a dozen comments are posted every day? It takes a while to get used to the issue queue and you’d better check updates every day if you’re following a hundred issues, or else you’ll quickly feel overwhelmed.

Vertigo with the Cloud

Until 2010, I was working as a System, Network and Security engineer. Needless to say the upcoming promises of the “Cloud” were a huge excitement. Instead of worrying about hardware issues and scaling challenges with physical machines, I could focus on doing DevOps tasks instead. Instead of handling 600 large mailboxes (we’re talking about an average of 10G per mailbox), a Cloud webapp could do it for me and there was no outage that I had to fix on Christmas day. Game changer.

The Drupal community and Effective Fundraising

Not sure exactly when or why it started, but in the past few months the Drupal community started using Gittip to allow any individual to sustainably fund drupalists for their outstanding work. One of the highlights of this has been Alex Pott’s Funding my work on Drupal 8 blog post for sure. Overall, this is a great idea, and we, as an Open Source community, should really value the hours, hard work and passion that so many people are putting into Drupal.

Install Drupal 8 on Acquia Cloud Free

I’ve had several people already asking me about this so I figured I should add some details here. But first, let me be clear about this: Acquia does NOT yet support Drupal 8. It’s a work in progress and there’s much testing and brainstorming, currently, on how to provide the best Drupal 8 experience on Acquia Cloud. When we say it’s ready, it really will. Stay tuned.

Acquia Cloud for the rest of us

You might already know about the Acquia Cloud offering and maybe you’re also an Acquia customer already (thank you!). If you’re not and/or if you’ve always wanted to know more about what kind of Drupal hosting Acquia provides, I highly encourage you check out Acquia Cloud Free. Yes, it’s a completely free Drupal hosting. There are a few limits and one of them is you cannot have a live site running on it. But it’s perfect to discover the product or even play with dev sites and leverage great tools such as the Acquia Cloud development platform but also have access to QA Tools (Acquia Insight), hosted Apache Solr search (Acquia Search), Mollom (content moderation) and the Acquia knowledge base.

Fun with Bash and Drupal 8

Now that everybody’s looking into virtualization, VMs, and even containers to speed up devs, I wanted to step back a little and go back to the basics by creating a simple bash script to set up a dummy Drupal 8 environment on Linux or Mac OS. Since only Drush 8 is compatible with Drupal 8 anyway, this is by far the easiest and quickest way to set up a sandbox site without installing any additional package or tool.

Surviving without a Mac

In my quest to switching to FOSS (well, as much as possible), the hardest part was to realize that I’d have to ditch my Mac (after 13 years), iPhone and iPad. It has become a joke with my colleagues because I was trying to explain I was strongly motivated to do the move to Linux and Android but there was always “something” that was preventing me from doing so. It’s been going on like that for the past year until I forced myself into doing the move back in August. That “thing” has a name: productivity. The Mac ecosystem is great at bringing you every single productivity app you need. Among all of them, I’ll name only three that are unavoidable:

subscribe via RSS