development

Full Stack Basics for the Non-Developer (The Complete Post)

Let's visualize and talk about the "full stack" of web development. From a developer's standpoint, we're probably talking about the layers of code involved in delivering a website to an end user. But let's back up further for a moment and just talk about a stack of things.

Quick Tip: Dive Into Drupal Objects with Search Krumo

If you've done any signifigant development with Drupal, you're probably (deeply) familiar with a little function called dpm(). I think it stands for Drupal Print Message. If you aren't familiar, dpm() is available through the Devel module and it's a great tool to dive into any Drupal code you might be working with. You can examine available variables, the node object, etc. It even prints out in a nice compact bundle in the 'Messages' area.

Example of dpm() run on a node

A beginner's guide to GIT BISECT - The process of elimination

The slowest, most tedious way of finding a bad git commit is something we've all done before. You checkout some old commit, make sure the broken code isn't there, then checkout a slightly newer commit, check again, and repeat over and over until you find the flawed commit.

Using git bisect is a much better way. It's like a little wizard that walks you through recent commits, asks you if they are good or bad, and narrows down the broken commit. In this blog post, I encourage you to create a fresh git repository and walk through each step. Hopefully, you'll gain an intrinsic understanding of git bisect by the end of the exercise.

Learning Better Dev Skills by Programming in Public

Learning to develop professionally involves a lot more than just writing code. Major required skills include keeping code stable long-term, sharing tasks within a team, and building understandable interfaces so your code can be connected to and run from other programs. Learning these skills is going to involve a lot of mistakes, but fortunately there are tools out there to help you get you ahead of the curve before joining your first team.