Hover to pause slideshow, click arrows to navigate, click to open.


Drupal development, project updates, occasional knee / head slappers

Mar 29, 2013

If you're coming to DrupalCon Portland and need some skillful training, come join BuildAModule and over a dozen Drupal experts to take a big chunk out of the learning curve. It will be an awesomely good time, and in addition to the expert help, you'll get a free 4-month pass to BuildAModule.

If you have a Drupal team that needs to get up to speed fast (universities, non-profits, government, we mean you!), consider sending the whole group. Because the training plugs into the larger curriculum of BuildAModule, it's the perfect way to take your team at whatever level they're at and give them a boost that will continue long after the training is over.

Here's a short 3-minute video introducing the training, and here's where you can register for the course.

It would be great to see you there.

Feb 12, 2013

This week we roll out the first batch of videos in our "Advanced Site Building for Drupal 7" collection. These videos address the growing importance of the 'site builder' in Drupal site development, what administration tools can help speed up the building process, and how we can quickly set up a prototype site on our local machine. There will be more to come, but if these videos don't get you excited about the power of site building, then ... well, try watching them again on double-speed.

Welcome to "Advanced Site Building"

In this video, we give a quick introduction to the new video series and describe the set of modules we'll be covering, including Panels, Display Suite, Views, Feeds, a slew of administrative tools and more.

About our project and how project roles work

In this video series we build a practical Drupal site for a company called GiftOfGeek, one of those businesses we all wish we worked at that specializes in geeky products like USB-powered phosphorescent Zen gardens. We also take a look at how tasks are typically split across a web team.

What a "site builder" is and the powerful tools they work with

Throughout this series, we'll be focusing on the role of 'site builder'. In this video we explain where that role begins and ends, and the kinds of tools they use to get their work done.

What wireframes are and where to find them in our resource pack

If you talk to anyone who's had to work with clients to build a web site, they'll tell you how dangerous it is to start with a design. Instead, if you distill the major informational components into a black and white 'wireframe', you give the client a sense of what goes where, without issues like colors and padding getting in the way. In this series we begin with some wireframes, and this video shows you where to find them.

Identifying the components in our blog home page wireframe

The first wireframe we look at is our blog home page. Although it's unassuming and seemingly fairly simple, it touches on a number of techniques and Drupal modules that we'll have to understand in order to make it happen. In this video we discuss the various components of the page briefly and link them up with the modules that will help us build it.

Reviewing our blog post and review page wireframes

Our client site is focusing on two major features: a blog and product reviews, and now that we're hopefully getting into our wireframe groove, we wrap up by looking at our blog post and review page wireframes. These wireframes will set a good foundation for us to explore some different ways of laying out content as we work through this series.

About our step-by-step approach

Thinking about our project in terms of modules and tasks can get overwhelming. We're instead going to take a do-one-thing-at-a-time approach that works well in the real world as long as you don't have too many site building coworkers working on the same project. In this video we talk about that approach.

How to set up our Drupal installation with Acquia Dev Desktop

In previous videos we've talked about installing a default Drupal site with Acquia Dev Desktop, but we're also not ones for skipping steps. So in this video we set up our Drupal site exactly the way you're going to see it for the rest of the series.

About the administration modules we'll be using

Before we start building out our site, we're going to install a few modules to help make the building faster and easier. In this video we briefly talk about the modules we'll be installing and why.

How to install a module the traditional way and configure the Administration Menu module

Throughout this series, we're going to be installing a lot of modules. If you're new to Drupal, we're going to illustrate in this video the traditional way to install a module by downloading it and moving it to your module folder. But there's better ways, and we'll be talking about those next. In this video we also configure the Administration menu to replace our existing top-of-the-page menu with a slick drop-down.

How to install a module using Drush, and how we approach installing modules in this series

It's okay to be afraid of the command line, but at BuildAModule we've put together a series of videos that should help you get over that fear. The payoff is that you get to use Drush to speed up many time consuming tasks like installing modules. In this video we show you how you can shave a minute or so off of each module installation, and a bit about how to make sure Drush works properly with our Acquia Dev Desktop installation. From here on out, whenever we install a module, we're going to flash a screen up with information about the module so you can choose whatever method you're comfortable with to install it.

Jan 9, 2013

I got this letter today from someone trying to figure out whether Drupal is a good place to start. I thought it might be good to share the question and also my answer so anyone who's interested can also contribute some thoughts:


How valuable would it be for me to begin to specialize in Drupal development? I've been looking for a specialty as well as a community to contribute to. I have looked at Python, Perl, PHP, and JavaScript communities and projects. I have knowledge of them all, but I don't know anyone from any specific project or language. You are the first to take some time to give insight, which I appreciate very much. What are your thoughts about PHP and Drupal?


Hi _____,

Great questions. They're hard to answer objectively, since I've been involved with Drupal for a while and of course I want everyone to use Drupal and participate in the community now. But, which I shifted from doing general PHP development for clients to doing Drupal, I did so for a couple reasons. The first was that I believed it would speed up the process of developing sites and provide a standard that other developers could plug into, either as part of a team with me, or as someone taking over the project later. In general, I think I made a good decision in that respect. I was able to take some ideas that I'd developed in my work on a custom CMS and contribute these as modules, and that also helped me get started in the community and get the ideas out there, which felt good.

The second reason I chose Drupal was because of the community. I was able to connect with a couple people locally and we started a local meetup, and I started participating online in a variety of ways. I also went to a few Drupal camps which was a great investment in terms of the people I was able to connect with. Since then, I've known people from several different software communities, and they all say that Drupal has a fantastic community. It has mature leadership, great events, and a way of contributing and sharing that other communities aspire to.

Drupal also has some great momentum. The people I know who know a bit of Drupal get picked up quick by companies who do Drupal work or use Drupal in-house. There's still more people that want to use Drupal than there is talent to implement all the projects that could be done. Of course, you never know where things are going to go in the next 5-10 years, but there really is a ton of growth in the area.

For me, moving to Drupal was great. It got me out of the bubble I'd been in by being a solo freelancer with their own custom CMS, and it got me into a community of people that I still really enjoy.

One thing I hear from the outside is how PHP maybe isn't the best technology to centralize on, which is a tricky one. Real developers tend to wish that PHP would fade out and be replaced by something more fun and efficient. But, I've never been a real developer, and have been able to get what I need done done within the confines of PHP, and Drupal has helped accelerate most projects.

I hope that helps. I'm going to go ahead and post this in an anonymous way so you can get some other feedback, though, as well.


Jan 4, 2013

I'm writing this at 4am after my 2-year old woke me up because he was cold and hasn't figured out how to put a blanket on himself yet. Surely, if he knew the kinds of pains I go through every day to plan the future and make a living without losing my sanity, he'd learn how to put on his own blanket. This is also after waking up at 3am when my 4-year old climbed into bed between my wife and I. There was more room in his bed, so from 3-4 that's where I slept.

It's my fault, I suppose, for deciding to have kids - something I'd been planning for long before I had any. I started teaching myself programming and graphic design 12 years ago because I wanted a viable skill set that would allow me to support a family and spend a significant amount of time with that family. After numerous career steps, I eventually founded BuildAModule, in a large part as a way to leverage work-related time more carefully. And you'd think that by now I'd have balance, but even after over a decade of practice I struggle every day with juggling work time and family life with everything else that comes packaged with typical human existence.

So I write this as a way to connect with any of you out there who also feel like you're trying to figure out how to straddle multiple worlds without ripping your pants. There's a few things that have helped me, and I'm hoping to hear some voices chime in on this as well. Some of this stuff you've probably heard before, but all of this I've tried putting into practice, and this is a summary of my experiences. This is also partially a response to a question about post-child life in a Drupal world.

There is always something amazing happening you will never know about

I've started to realize that no matter how much time I spent learning, consuming and observing, there will always be more awesome things happening than I can possibly ever even hear about, much less dive into. Even in the microcosm of Drupal, I'll never have enough time to learn it all, or keep abreast of everything that's happening.

The cool thing about this is that it means that everyone else is in the same boat. Chances are that if I choose a small niche to develop skills in or stay current on, that I'll know something or contribute something that will help other people, and that's really what it's all about, right? We learn in order to help others in some way, sometimes as part of our living, sometimes as our life's work.

Even when free time is cut in half or quarters by the addition of children into the picture, I've found that the same rules apply. Freaking out about how much I don't know just saps the energy I need to do something worthwhile with the time I do have. And when I can find joy in what sometimes feels like the most minor contributions I make in this world, I tend to want to make even more.

There is a difference between the amount of time you want to spend with your kids, and the amount of time they need

As I was prepping for family life - building skills, saving money, trying not to annoy my wife too much - I wanted to make sure that eventually I could be available to my kids as much as I wanted to be, and as much as they needed. Now that I have kids, I realize that there are actually two separate things. How much time I want to spend with my kids is not necessarily the same as what they need.
Before I had kids I thought that I would be happy spending all day, every day with them. Now that I have them, I think the idea of staying sane in that scenario is a little wonky. The stay-at-home parents I know all feel a little nuts, and judging from time I've spent with my kids solo for long periods of time, I completely understand. They're awesome in every way except that they have a completely different agenda than I do and operate at a very different pace than adults. It's endearing at first, it even helps me see things in a fresh, youthful way, but after a while it becomes impossible to feel like a normal person around it. Even though part of me really wants to want to spend all my time with my kids, there's some other part of me that really needs outside input, and if I don't get that input, I'm not going to be very awesome with my kids.. And I've noticed my kids are the same way. Without more diverse input from other people, I drive them crazy, too.

If my goal as a parent is to make sure that my kids develop normally (even amazingly) and don't experience unnecessary trauma, then they actually need to spend a good bit time with other adults and kids, because what I can offer them is relatively limited when compared to what a community can offer. As a parent, though, I can offer consistency and stability from day to day. I can be a fixture, whereas the community is fluid, and I don't think it takes that much time to function as that fixture when you're present nearly every day.

The ideal time ratio between work and family

In our current balance of work and family life, I spend 3-4 hours with the family in the evening, and then I'm around most of the weekend, with maybe a 4-hour break during the weekend to do some introspection or play some games. Every 2-3 months I end up taking a week or two off, and during that time I spend the bulk of my time with the family. Even though I'm grateful for this time and I feel like I get the opportunity to spend more of my time with my family than a lot of people do, it often feels like it's not enough.

Something interesting happens when I'm around the family more. Things that are normally stresses - kids having tantrums, silly bickering between the adults - tend to fade away. We all still have moments, but the extra time also seems to build a buffer of understanding and compassion. I tend to be happier, and so does everyone else. It's that effect that makes me wonder what would happen if I didn't work as much on a regular basis. It makes me think about how different work ethics are in other places around the world, and how maybe those families might potentially be a lot happier on the whole.

Even within this country, I get the feeling that each person's comfort level around the work and family life ratio is enforced by their individual communities as well. If you hang out with people who work a lot, you'll probably be more comfortable working more, and more thankful for small breaks to be with family. If you're surrounded by stay-at-home parents, you'll probably feel like work is keeping you from immersing yourself in family life. I have a little bit of both, since I work at home and also hang out with some pretty hard workers. So, I go back and forth between feeling bad about not spending enough time with the kids, and not spending enough time with work. Sometimes I'm right in the middle, which is what I'm attempting to cultivate more of.

Employeeship, freelancing, and product-based businesses

I pursued a freelancing career a few years after graduating from college so that I could work from home and maximize income. Ideally, I wanted to make enough to work part-time when I had kids. I got a job in a campground that afforded me the time to learn what I needed, and the isolation to keep distractions away. I think I got pretty lucky there.

A couple years ago I shifted my focus to work on a product-based business, which - I learned from The 4-Hour Workweek - was maybe the only way to break through an income ceiling that comes from working hourly. Since making the shift, I significantly increased my income, and have been able to take large chunks of time off with family, which is exactly what I was hoping to do from the start.

For those who crave more time with their families and are currently employees, I have a hard time thinking of another way to move forward besides starting to work for yourself. Freelancing comes with less risk than attempting a product-based business right off the bat, and gives you enough wiggle room to start building a self-funded product while also giving you the same wiggle room for family. Lowering your financial requirements can also add flexibility. I've given a couple talks on this subject, and if you're thinking about making some steps forward, definitely post something here so I can add a few words of encouragement.

That said, starting a business can also be a bigger time-drain than being an employee, depending on how you approach it. I gave myself a 6-month window of time to get to a certain level of stability with my business before going back to freelancing. If it hadn't have worked out, I would have needed to give myself some time to re-connect with the family.

Talk to yourself

It's hard to find the right people to talk to at just the right times when if you're trying to figure out how to slice the work and home life pie. And usually I don't even know what questions to ask. Luckily, there are two of me. Or at least, there's two parts of my brain that can talk to one another to some degree. So, when I'm feeling a bit lost, I'll start writing (there's a nice, distraction-free program called Writeroom that I use), and usually after 30 minutes or so, I begin making progress. I start being able to articulate the problems and think about some possible re-orientations or re-organization that I could try. 

There's been plenty of research into how words affect our thoughts, and I've noticed that whenever I start using language more in my life - either talking to other people, writing blog posts or journaling - that my thoughts also become clearer. I'm not sure if this works as well for other people, but it's definitely a key technique in my arsenal, and what I use whenever I'm trying to re-balance family and work life.

Meditation on the meaning of work

It's been easy in the past for me to take the idea of work for granted. If we want to sustain a certain standard of living, we need money and thus have to work. But a few other things come into play that affect how much we decide to work. 

Through work we can potentially impact lots of people and affect world around us, and that can be a very powerful draw, one that sometimes conflicts with being present as a parent (or any other role, for that matter).

For me, it's helped to think about what my life would look like if I no longer had to worry about money. This allows me to recognize the distinction between the desire for financial stability and the desire for other benefits that work brings, like challenge and positive impact on other people.

Because financial troubles tend to cause a huge amount of stress in families, I think it makes sense to trade the time I could be spending with my kids to achieve the goal of financial stability. But when I have that foundation set, it gets a little more difficult to draw the line between work and family life when it comes to the other benefits associated with working hard. 

At what point do the more meaningful aspects of work become less or more important than spending time with my family? That answer changes all the time for me, but I know that I only have a few more years before my children start to have richer lives in the community with school and activities, which means less time at home, so I feel like there's something special in the next few years that I don't want to miss out on. Most of us only get to be parents once, right?

I try to take time regularly to think about the benefits of pursuing work versus spending more time with family. It's easy to fall into a pattern of work and family life and forget why I established the pattern in the first place, and sometimes when I'm working through the thought process around it, I remember something important that completely changes what I do or why I'm doing it.

Put the oxygen mask on yourself first

Most parents will suggest that you have to take care of yourself before fretting over your kids (beyond their basic needs, of course), because if you become compromised in some way by forgetting yourself, your kids will suffer. When I find myself going nutso over kid meals and activities and cleaning, and I re-orient myself to think this way, it can make a big positive impact. Usually when I'm on the more happy side of the emotional meter I end up being a much better parent (or at least feeling like I am). Also, kids are pretty dang resourceful and all of their mechanics are bent towards self-preservation. So even if you forget to feed them because you're reading a book or building a lego sculpture, they'll give you a heads up before they get even close to passing out.

To me, this means that if I'm getting a lot of satisfaction from work, and it's important for me to focus on it to keep a certain amount of mental and emotional momentum - or that I'll feel some resentment by having to give it up - then my kids are going to be fine if I keep that focus. But as I mentioned before, the more time I spend with them, the better we get along and understand each other, so when things start getting a little too stressful in our relationships, I'll put aside work for a while until the family is running a bit more smoothly.

Kids brains know what they need to learn, so relax

This took me a while to figure out, but it's taken a lot of stress out of parenting and also frees me up to optimize the time I do spend with the kids. Research shows that kids know when a part of their brain is ready to develop, and all we have to do is take queues from them and do what we can to support it. This is much, much easier than trying to get up to speed on everything kids are meant to be learning at different stages, and trying to force it. There are still lots of things that I've initiated, like reading aloud and singing songs, but I don't feel like I'm a complete failure if they don't pick up on it.

Any random kid is funnier than virtually any adult

I've laughed more since having kids than I did for the previous 15 years. I've noticed that when I view my child as a comedic relief, rather than a responsibility, I can derive a lot more enjoyment from them. This perspective doesn't work all the time, but sometimes it's perfect, and with me finding it funny when they spill the milk for the 5th time today, they end up having a lot better time with their own foibles, too, making us have a much better time with each other.

Kids also make excellent fodder for humor, and I actually think about certain comedians a lot when I'm with my kids, it helps me not take it too seriously. Louis CK and Bill Cosby are the two I find the most helpful.

The role of exercise

Exercise takes time. But for many of us it also will extend our lifespan. So, save the time now and potentially kick the bucket earlier? Or hit the gym every day for an hour or two and miss out on making progress on some front, whether it's family or work?

Part of the answer might be had with a treadmill desk. I've been using one for 4 years when I work. It can be cheap and doesn't negatively impact focus. I've turned on a  few people on to it over the years, and most have lost a significant amount of weight as a side effect and feel a lot better since using it. I find it helps me focus, much like a stroll outside would. This isn't really the cardiovascular workout you'd need to meet the requirements for exercise by certain measurements, but it's way better than nothing, and it feels pretty awesome.

I also go in and out of phases of exercising or going the route of using that time for work or family. But I do find that when I'm exercising, I have a noticeable increase in the amount of energy after work for playing with the kids and being more interactive with them. I'll also go back and forth on if I take this time from my work day or if I take it from family time.

Avoiding burnout by finding focus

The demands of a household are infinite. You really can occupy a team with everything that could be done in a home. And working in Drupal feels the same way. There's always something new to learn, a potential client to pursue, an awesome idea to make a reality. There are about 400 items on my list of things that I'd like to do if I had the time. Maybe half are Drupal-related, and the other half has to do with family and other skills I'd like to develop, or things I'd like to learn. I have to go back and forth between Drupal and family and focusing on other aspects of personal development because if I didn't, I'd start to resent whatever was keeping me from everything else. In order to stay active at all with Drupal, I have to find a balance, and I do that by focusing. 

I really want to release a new Evernote module, I desperately want to climb the core contrib ladder, I crave participating in IRC and I want to hit up twice the camps I do. But, I'm focusing now on building a really good learning resource for Drupal, and that might be all I'm able to get to for a little while, because I also really want to be around when my kids do amazing things.

I think it's important to want to do more than you can do, but also to somehow be okay with your own limitations. I focus on a couple things at a time, and I've found that pattern works the best for me.

Oct 18, 2012

I've been working on some updates to BuildAModule and have a sea of files open as tabs in Komodo. I've been using the extension as an identifier, which takes a ridiculously long time for my brain to parse. I've solved this problem in Firefox by using Colorful Tabs, so I did a quick search for something that might be similar for Komodo. Sure enough, there is! It colors tabs based on file extension, which will give my eyes enough to work with.

This made my day, thank you dafi!

Sep 29, 2012

This is the command line command you need if you're so foolish as to not add the .DS_Store file to your .gitignore before committing:

(as per this discussion on StackOverflow)

Sep 26, 2012

I really enjoyed this article on parenthood. It's been about a month since I read it, and the parts that stick out are the points where the author really seemed to capture moments of frustration and injustice, but also brought up the real reasons why we're doing this thing.

Sep 26, 2012

It's called Parallax, and you can find a jQuery plugin that does this cool trick hereGithub has a nice one for their 404 page. The original DrupalCon Denver page, made by the talented Ken Woodworth is also pretty awesome, and one of those examples I want to dig into to figure out exactly what's going on.

Sep 26, 2012

The fellow who created PinPoint, the software I use for that cool red arrow pointer in my BuildAModule screencasts, also works on a treadmill desk, but his is mechanical. I always thought that style wouldn't work so well because with the electric version, it requires a reaction not to fall off, whereas if you get lost in thought on a mechanical one, I would think your feet would just stop moving.

Anyway, Renaud says it works pretty well, but with a slight modification. He added a hanger as a waist-bar so he can push himself with his stomach, which I would think could add some additional physical benefits to the process.

Here's some pics:

Sep 26, 2012

An unfortunate bit of randomness that my wife was subjected to.

Syndicate content Syndicate content Syndicate content Syndicate content Syndicate content